原来的台式机上用的是天敏电视精灵I电视卡看电视的. 后来用了其 UT800 的播放程序, 觉得有些快捷功能操作还是可以的, 但 TVBABYI 的老版播放程序并没有提供, 而新版的播放器又将暂停功能 (暂停画面, 声音还在, 而且 cpu 占用率降为 0) 给取消了, 播放窗口也有些累赘. 所以还是对老版的播放程序做些简单的修改. 由于其原来程序结构的限制, 只能有 3 个键可以使用, 即 "+-*", 都是数字小键盘上的. 所以, 将它们分别赋给 "画面暂停", "返回刚才的频道" 和 "最顶端显示" 等三个功能.
下面是些相关的简单的代码分析和修改:
VideoPlayer.exe, 10Moons TV Baby 8.7, 258048 Bytes
0041F9C3 |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0041F9C6 |. 8B42 08 MOV EAX,DWORD PTR DS:[EDX+8]
0041F9C9 |. 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
0041F9CC |. 8B4D E4 MOV ECX,DWORD PTR SS:[EBP-1C]
0041F9CF |. 83E9 60 SUB ECX,60 ; 数字小键盘 '0' 开始
0041F9D2 |. 894D E4 MOV DWORD PTR SS:[EBP-1C],ECX
0041F9D5 |. 837D E4 0E CMP DWORD PTR SS:[EBP-1C],0E ; '0'-'9', '*+/-.'
0041F9D9 |. 0F87 96020000 JA VIDEOPLA.0041FC75
0041F9DF |. 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C]
0041F9E2 |. FF2495 7EFD410>JMP DWORD PTR DS:[EDX*4+41FD7E]
....
0041FC75 |> 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0041FC78 |. 817A 04 000100>CMP DWORD PTR DS:[EDX+4],100 ; WM_KEYDOWN ?
0041FC7F |. 0F85 E4000000 JNZ VIDEOPLA.0041FD69
0041FC85 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0041FC88 |. 8B48 08 MOV ECX,DWORD PTR DS:[EAX+8]
0041FC8B |. 894D E0 MOV DWORD PTR SS:[EBP-20],ECX
0041FC8E |. 8B55 E0 MOV EDX,DWORD PTR SS:[EBP-20]
0041FC91 |. 83EA 25 SUB EDX,25 ; VK_LEFT 开始
0041FC94 |. 8955 E0 MOV DWORD PTR SS:[EBP-20],EDX
0041FC97 |. 837D E0 03 CMP DWORD PTR SS:[EBP-20],3 ; 四个方向键: <Left>,<Up>,<Right>,<Down>
0041FC9B |. 0F87 C8000000 JA VIDEOPLA.0041FD69
0041FCA1 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
0041FCA4 |. FF2485 BAFD410>JMP DWORD PTR DS:[EAX*4+41FDBA]
....
0041FD69 |> 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0041FD6C |. 52 PUSH EDX
0041FD6D |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
0041FD70 |. E8 89C90000 CALL <JMP.&MFC42D.#4208>
0041FD75 |. 5F POP EDI
0041FD76 |. 5E POP ESI
0041FD77 |. 5B POP EBX
0041FD78 |. 8BE5 MOV ESP,EBP
0041FD7A |. 5D POP EBP
0041FD7B /. C2 0400 RETN 4
0041FD7E . E9F94100 DD VIDEOPLA.0041F9E9 ; '0'
0041FD82 . 24FA4100 DD VIDEOPLA.0041FA24 ; '1'
0041FD86 . 61FA4100 DD VIDEOPLA.0041FA61 ; '2'
0041FD8A . 9EFA4100 DD VIDEOPLA.0041FA9E ; '3'
0041FD8E . D9FA4100 DD VIDEOPLA.0041FAD9 ; '4'
0041FD92 . 16FB4100 DD VIDEOPLA.0041FB16 ; '5'
0041FD96 . 53FB4100 DD VIDEOPLA.0041FB53 ; '6'
0041FD9A . 8EFB4100 DD VIDEOPLA.0041FB8E ; '7'
0041FD9E . CBFB4100 DD VIDEOPLA.0041FBCB ; '8'
0041FDA2 . 05FC4100 DD VIDEOPLA.0041FC05 ; '9'
0041FDA6 . 75FC4100 DD VIDEOPLA.0041FC75 ; '*' ;
0041FDAA . 75FC4100 DD VIDEOPLA.0041FC75 ; '+' ;这四个键其实无效
0041FDAE . 75FC4100 DD VIDEOPLA.0041FC75 ; ; 保留着只是编码的方便
0041FDB2 . 75FC4100 DD VIDEOPLA.0041FC75 ; '-' ;
0041FDB6 . 3DFC4100 DD VIDEOPLA.0041FC3D ; '.'
0041FDBA . C5FC4100 DD VIDEOPLA.0041FCC5 ; <Left>
0041FDBE . ABFC4100 DD VIDEOPLA.0041FCAB ; <Up>
0041FDC2 . 17FD4100 DD VIDEOPLA.0041FD17 ; <Right>
0041FDC6 . B8FC4100 DD VIDEOPLA.0041FCB8 ; <Down>
; 下面这个子程主要对上面的按键进行处理
00414520 /. 55 PUSH EBP
00414521 |. 8BEC MOV EBP,ESP
00414523 |. 6A FF PUSH -1
00414525 |. 68 49F04200 PUSH VIDEOPLA.0042F049
0041452A |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00414530 |. 50 PUSH EAX
00414531 |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00414538 |. 83EC 64 SUB ESP,64
0041453B |. 53 PUSH EBX
0041453C |. 56 PUSH ESI
0041453D |. 57 PUSH EDI
0041453E |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
00414541 |. 817D 08 110100>CMP DWORD PTR SS:[EBP+8],111
00414548 |. 0F85 62020000 JNZ VIDEOPLA.004147B0
0041454E |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00414551 |. 8945 DC MOV DWORD PTR SS:[EBP-24],EAX
00414554 |. 8B4D DC MOV ECX,DWORD PTR SS:[EBP-24]
00414557 |. 81E9 14040000 SUB ECX,414
0041455D |. 894D DC MOV DWORD PTR SS:[EBP-24],ECX
00414560 |. 837D DC 0B CMP DWORD PTR SS:[EBP-24],0B
00414564 |. 0F87 46020000 JA VIDEOPLA.004147B0
0041456A |. 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
0041456D |. 33D2 XOR EDX,EDX
0041456F |. 8A90 E3474100 MOV DL,BYTE PTR DS:[EAX+4147E3]
00414575 |. FF2495 D747410>JMP DWORD PTR DS:[EDX*4+4147D7]
0041457C |> E8 3F370100 CALL VIDEOPLA.00427CC0
00414581 |. 833D 702B4500 >CMP DWORD PTR DS:[452B70],0 ; 此 dword 为单位数频道标记
00414588 |. 74 24 JE SHORT VIDEOPLA.004145AE
0041458A |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
0041458D |. 81E9 14040000 SUB ECX,414
00414593 |. 51 PUSH ECX
00414594 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00414597 |. E8 D4020000 CALL VIDEOPLA.00414870 ; 该子程进行频道设置
0041459C |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
....
00452B18 CurTune (所有频道数-1) ?
00452B1C 当前频道号
00452B20 FurTune 刚才的频道号
00452B24 TotalTV 所有频道数
00452B28 可能是 "喜好频道" 数
; 预想的快捷键增添:
; * "最顶端" 切换
; + "暂停/运行" 切换
; / 控制面板的显示切换
; - "返回前一频道"
; 这四个功能被调用时的 ECX, 内容在 00442570 和 00442598 处存在
; 应该从 00442570 处获取, 因为竟然没有搜索到对 00442598 的引用
;
; 代码大致可以设计为:
; 00430070 dd 00420F80, 00422D60, 004211B0, 00429670
; 00430080: 833DC000430000 cmp d,[000452BC0],000
; 00430087: 7518 jne .0004300A1
; 00430089: 83EA0A sub edx,00A
; 0043008C: 8B0D70254400 mov ecx,[000452BC0]
; 00430092: FF149570004300 call d,[000430070][edx]*4
; 00430099: FF05C0004300 inc d,[000452BC0]
; 0043009F: EB0A jmps .0004300AB
; 004300A1: C705C000430000000000 mov d,[000452BC0],000000000
; 004300AB: E9B9FCFEFF jmp .00041FD69
;
; 开始时是以 004300c0 双字单元作为标记的, 虽然在 OllyDbg 中是正常的, 但在独立
; 运行时, 发生异常, 播放器退出. 看了 DrWatson 的些记录, 很是不解. 想想也是
; 的, 不应该啊. 停了几天, 终于还是安装了 WinICE, 才发现是 004300C0 这里是不
; 可写入的. 所以, 就只有暂借 VK_DECIMAL (频道位数切换功能键) 的标记单元了
; 从这个也可以看出 vc 的异常处理是多么的不堪!
; 下面的子程是 "返回前一频道"
00429670 /. 55 PUSH EBP
00429671 |. 8BEC MOV EBP,ESP
00429673 |. 83EC 44 SUB ESP,44
00429676 |. 53 PUSH EBX
00429677 |. 56 PUSH ESI
00429678 |. 57 PUSH EDI
00429679 |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
0042967C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0042967F |. 83B8 801A0000 >CMP DWORD PTR DS:[EAX+1A80],0
00429686 |. 74 1C JE SHORT VIDEOPLA.004296A4
00429688 |. 833D 242B4500 >CMP DWORD PTR DS:[452B24],0
0042968F |. 74 13 JE SHORT VIDEOPLA.004296A4
00429691 |. 8B0D 3C2C4400 MOV ECX,DWORD PTR DS:[442C3C]
00429697 |. 51 PUSH ECX
00429698 |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
0042969B |. E8 40200000 CALL VIDEOPLA.0042B6E0
004296A0 |. 85C0 TEST EAX,EAX
004296A2 |. 74 02 JE SHORT VIDEOPLA.004296A6
004296A4 |> EB 11 JMP SHORT VIDEOPLA.004296B7
004296A6 |> 8B15 202B4500 MOV EDX,DWORD PTR DS:[452B20]
004296AC |. 52 PUSH EDX ; 待设置的频道序号
004296AD |. B9 78534400 MOV ECX,VIDEOPLA.00445378 ; ECX 指向...
004296B2 |. E8 B9B1FEFF CALL VIDEOPLA.00414870 ; 设置
004296B7 |> 5F POP EDI
004296B8 |. 5E POP ESI
004296B9 |. 5B POP EBX
004296BA |. 8BE5 MOV ESP,EBP
004296BC |. 5D POP EBP
004296BD /. C3 RETN
; 下面的子程是 "最顶端". 这个是由上面的 "返回前一频道" 返回在 msvcrt 中找到的
00420F80 /$ 55 PUSH EBP
00420F81 |. 8BEC MOV EBP,ESP
00420F83 |. 6A FF PUSH -1
00420F85 |. 68 59F94200 PUSH VIDEOPLA.0042F959 ; SE handler installation
00420F8A |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00420F90 |. 50 PUSH EAX
00420F91 |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00420F98 |. 83EC 50 SUB ESP,50
00420F9B |. 53 PUSH EBX
00420F9C |. 56 PUSH ESI
00420F9D |. 57 PUSH EDI
00420F9E |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
00420FA1 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00420FA4 |. E8 C9B80000 CALL <JMP.&MFC42D.#492>
00420FA9 |. C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00420FB0 |. 6A EC PUSH -14 ; /Index = GWL_EXSTYLE
00420FB2 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; |
00420FB5 |. 8B48 20 MOV ECX,DWORD PTR DS:[EAX+20] ; |
00420FB8 |. 51 PUSH ECX ; |hWnd
00420FB9 |. FF15 C0184300 CALL DWORD PTR DS:[<&USER32.GetWindowLon>; /GetWindowLongA
00420FBF |. 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
00420FC2 |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
00420FC5 |. 83E2 08 AND EDX,8
00420FC8 |. 8955 E4 MOV DWORD PTR SS:[EBP-1C],EDX
00420FCB |. 837D E4 00 CMP DWORD PTR SS:[EBP-1C],0
00420FCF |. 74 75 JE SHORT VIDEOPLA.00421046
...
004210D2 |. 5F POP EDI
004210D3 |. 5E POP ESI
004210D4 |. 5B POP EBX
004210D5 |. 8BE5 MOV ESP,EBP
004210D7 |. 5D POP EBP
004210D8 /. C3 RETN
; 下面是 "显示/隐藏控制面板" 子程
004211B0 /$ 55 PUSH EBP
004211B1 |. 8BEC MOV EBP,ESP
004211B3 |. 6A FF PUSH -1
004211B5 |. 68 79F94200 PUSH VIDEOPLA.0042F979 ; SE handler installation
004211BA |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
004211C0 |. 50 PUSH EAX
004211C1 |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
004211C8 |. 83EC 4C SUB ESP,4C
004211CB |. 53 PUSH EBX
004211CC |. 56 PUSH ESI
004211CD |. 57 PUSH EDI
004211CE |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
004211D1 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
004211D4 |. E8 99B60000 CALL <JMP.&MFC42D.#492>
004211D9 |. C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
004211E0 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
004211E3 |. 81C1 84000000 ADD ECX,84
004211E9 |. E8 90B90000 CALL <JMP.&MFC42D.#3393>
004211EE |. 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
004211F1 |. 837D E8 00 CMP DWORD PTR SS:[EBP-18],0
004211F5 |. 74 48 JE SHORT VIDEOPLA.0042123F
004211F7 |. 6A 43 PUSH 43
004211F9 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
004211FC |. E8 6BB60000 CALL <JMP.&MFC42D.#3447>
00421201 |. 6A 00 PUSH 0
00421203 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00421206 |. 81C1 84000000 ADD ECX,84
0042120C |. E8 DDB80000 CALL <JMP.&MFC42D.#4951>
00421211 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00421214 |. E8 4DB60000 CALL <JMP.&MFC42D.#880>
00421219 |. 50 PUSH EAX
0042121A |. 68 E9030000 PUSH 3E9
0042121F |. 6A 00 PUSH 0
00421221 |. 68 E9030000 PUSH 3E9
00421226 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00421229 |. 8B48 7C MOV ECX,DWORD PTR DS:[EAX+7C]
0042122C |. E8 9BBC0000 CALL <JMP.&MFC42D.#3561>
00421231 |. 6A 00 PUSH 0
00421233 |. B9 78534400 MOV ECX,VIDEOPLA.00445378
00421238 |. E8 B1B80000 CALL <JMP.&MFC42D.#4951>
0042123D |. EB 5B JMP SHORT VIDEOPLA.0042129A
0042123F |> 6A 44 PUSH 44
00421241 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00421244 |. E8 23B60000 CALL <JMP.&MFC42D.#3447>
00421249 |. 6A 05 PUSH 5
0042124B |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
0042124E |. 81C1 84000000 ADD ECX,84
00421254 |. E8 95B80000 CALL <JMP.&MFC42D.#4951>
00421259 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
0042125C |. E8 05B60000 CALL <JMP.&MFC42D.#880>
00421261 |. 50 PUSH EAX
00421262 |. 68 E9030000 PUSH 3E9
00421267 |. 6A 00 PUSH 0
00421269 |. 68 E9030000 PUSH 3E9
0042126E |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00421271 |. 8B49 7C MOV ECX,DWORD PTR DS:[ECX+7C]
00421274 |. E8 53BC0000 CALL <JMP.&MFC42D.#3561>
00421279 |. 8B15 98534400 MOV EDX,DWORD PTR DS:[445398]
0042127F |. 52 PUSH EDX ; /hWnd => 00000474 (class='#32770',wndproc=5F490453,parent=000002F0)
00421280 |. FF15 E8184300 CALL DWORD PTR DS:[<&USER32.IsWindow>] ; /IsWindow
00421286 |. 85C0 TEST EAX,EAX
00421288 |. 74 10 JE SHORT VIDEOPLA.0042129A
0042128A |. A1 ACA54300 MOV EAX,DWORD PTR DS:[43A5AC]
0042128F |. 50 PUSH EAX
00421290 |. B9 78534400 MOV ECX,VIDEOPLA.00445378
00421295 |. E8 54B80000 CALL <JMP.&MFC42D.#4951>
0042129A |> C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
004212A1 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
004212A4 |. E8 B1B50000 CALL <JMP.&MFC42D.#684>
004212A9 |. 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C]
004212AC |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX
004212B3 |. 5F POP EDI
004212B4 |. 5E POP ESI
004212B5 |. 5B POP EBX
004212B6 |. 8BE5 MOV ESP,EBP
004212B8 |. 5D POP EBP
004212B9 /. C3 RETN
; 下面是 "暂停/运行" 切换功能
00422D60 /$ 55 PUSH EBP
00422D61 |. 8BEC MOV EBP,ESP
00422D63 |. 6A FF PUSH -1
00422D65 |. 68 99FA4200 PUSH VIDEOPLA.0042FA99 ; SE handler installation
00422D6A |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00422D70 |. 50 PUSH EAX
00422D71 |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00422D78 |. 83EC 54 SUB ESP,54
00422D7B |. 53 PUSH EBX
00422D7C |. 56 PUSH ESI
00422D7D |. 57 PUSH EDI
00422D7E |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
00422D81 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422D84 |. E8 E99A0000 CALL <JMP.&MFC42D.#492>
00422D89 |. C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00422D90 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
00422D93 |. 50 PUSH EAX
00422D94 |. 8B0D 942B4500 MOV ECX,DWORD PTR DS:[452B94]
00422D9A |. 51 PUSH ECX
00422D9B |. E8 AC970000 CALL <JMP.&DSStream.DSStream_IsCapturing>
00422DA0 |. 83C4 08 ADD ESP,8
00422DA3 |. 837D E8 00 CMP DWORD PTR SS:[EBP-18],0
00422DA7 |. 74 14 JE SHORT VIDEOPLA.00422DBD
00422DA9 |. C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00422DB0 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422DB3 |. E8 A29A0000 CALL <JMP.&MFC42D.#684>
00422DB8 |. E9 BC000000 JMP VIDEOPLA.00422E79
00422DBD |> 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
00422DC0 |. 52 PUSH EDX
00422DC1 |. A1 942B4500 MOV EAX,DWORD PTR DS:[452B94]
00422DC6 |. 50 PUSH EAX
00422DC7 |. E8 FC960000 CALL <JMP.&DSStream.DSStream_GetStreamSt>
00422DCC |. 83C4 08 ADD ESP,8
00422DCF |. 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX
00422DD2 |. 837D E0 00 CMP DWORD PTR SS:[EBP-20],0
00422DD6 |. 0F85 8E000000 JNZ VIDEOPLA.00422E6A
00422DDC |. 837D E4 00 CMP DWORD PTR SS:[EBP-1C],0
00422DE0 |. 75 45 JNZ SHORT VIDEOPLA.00422E27
00422DE2 |. 6A 00 PUSH 0
00422DE4 |. 68 14800000 PUSH 8014
00422DE9 |. 68 11010000 PUSH 111
00422DEE |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00422DF1 |. E8 8E9A0000 CALL <JMP.&MFC42D.#4475>
00422DF6 |. 6A 4B PUSH 4B
00422DF8 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422DFB |. E8 6C9A0000 CALL <JMP.&MFC42D.#3447>
00422E00 |. 6A 00 PUSH 0
00422E02 |. 6A 00 PUSH 0
00422E04 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422E07 |. E8 5A9A0000 CALL <JMP.&MFC42D.#880>
00422E0C |. 50 PUSH EAX
00422E0D |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00422E10 |. 81C1 04120000 ADD ECX,1204
00422E16 |. 51 PUSH ECX
00422E17 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00422E1A |. 81C1 E8000000 ADD ECX,0E8
00422E20 |. E8 3B9A0000 CALL <JMP.&MFC42D.#1032>
00422E25 |. EB 43 JMP SHORT VIDEOPLA.00422E6A
00422E27 |> 6A 00 PUSH 0
00422E29 |. 68 13800000 PUSH 8013
00422E2E |. 68 11010000 PUSH 111
00422E33 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00422E36 |. E8 499A0000 CALL <JMP.&MFC42D.#4475>
00422E3B |. 6A 4A PUSH 4A
00422E3D |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422E40 |. E8 279A0000 CALL <JMP.&MFC42D.#3447>
00422E45 |. 6A 00 PUSH 0
00422E47 |. 6A 00 PUSH 0
00422E49 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422E4C |. E8 159A0000 CALL <JMP.&MFC42D.#880>
00422E51 |. 50 PUSH EAX
00422E52 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
00422E55 |. 81C2 04120000 ADD EDX,1204
00422E5B |. 52 PUSH EDX
00422E5C |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00422E5F |. 81C1 E8000000 ADD ECX,0E8
00422E65 |. E8 F6990000 CALL <JMP.&MFC42D.#1032>
00422E6A |> C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00422E71 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
00422E74 |. E8 E1990000 CALL <JMP.&MFC42D.#684>
00422E79 |> 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C]
00422E7C |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX
00422E83 |. 5F POP EDI
00422E84 |. 5E POP ESI
00422E85 |. 5B POP EBX
00422E86 |. 8BE5 MOV ESP,EBP
00422E88 |. 5D POP EBP
00422E89 /. C3 RETN
00424E80 /. 55 PUSH EBP
00424E81 |. 8BEC MOV EBP,ESP
00424E83 |. 83EC 48 SUB ESP,48
00424E86 |. 53 PUSH EBX
00424E87 |. 56 PUSH ESI
00424E88 |. 57 PUSH EDI
00424E89 |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00424E8C |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00424E8F |. 50 PUSH EAX
00424E90 |. 8B0D 942B4500 MOV ECX,DWORD PTR DS:[452B94]
00424E96 |. 51 PUSH ECX
00424E97 |. E8 B0760000 CALL <JMP.&DSStream.DSStream_IsCapturing>
00424E9C |. 83C4 08 ADD ESP,8
00424E9F |. 837D F8 00 CMP DWORD PTR SS:[EBP-8],0
00424EA3 |. 74 02 JE SHORT VIDEOPLA.00424EA7
00424EA5 |. EB 21 JMP SHORT VIDEOPLA.00424EC8
00424EA7 |> 6A 00 PUSH 0
00424EA9 |. 8B15 942B4500 MOV EDX,DWORD PTR DS:[452B94]
00424EAF |. 52 PUSH EDX
00424EB0 |. E8 5B760000 CALL <JMP.&DSStream.DSStream_SetStreamSt>
00424EB5 |. 83C4 08 ADD ESP,8
00424EB8 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
00424EBA |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] ; |
00424EBD |. 81C1 04120000 ADD ECX,1204 ; |
00424EC3 |. E8 78D6FDFF CALL VIDEOPLA.00402540 ; /VIDEOPLA.00402540
00424EC8 |> 5F POP EDI
00424EC9 |. 5E POP ESI
00424ECA |. 5B POP EBX
00424ECB |. 8BE5 MOV ESP,EBP
00424ECD |. 5D POP EBP
00424ECE /. C3 RETN