Function at 0x429f00
Capabilities:
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x56a521
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebp
push esi
mov esi, ecx
xor ebp, ebp
cmp esi, ebp
jne 0x429f26
xor eax, eax
jmp 0x429f29
mov eax, dword [esi + 0x20]
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push edi
push 0x2749
push eax
call ebx
mov edi, eax
cmp edi, ebp
je 0x429f6c
push ebp
push 0x100
push ebp
push 0x2749
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::ModifyStyle
mov eax, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push edi
push eax
call fcn.00487e80
cmp esi, ebp
jne 0x429f74
xor eax, eax
jmp 0x429f77
mov eax, dword [esi + 0x20]
push 0x274a
push eax
call ebx
cmp eax, ebp
je 0x429f96
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x429f9e
xor eax, eax
jmp 0x429fa1
mov eax, dword [esi + 0x20]
push 0x274b
push eax
call ebx
cmp eax, ebp
je 0x429fc0
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x429fc8
xor eax, eax
jmp 0x429fcb
mov eax, dword [esi + 0x20]
push 0x274c
push eax
call ebx
cmp eax, ebp
je 0x429fea
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x429ff2
xor eax, eax
jmp 0x429ff5
mov eax, dword [esi + 0x20]
push 0x274d
push eax
call ebx
cmp eax, ebp
je 0x42a014
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x42a01c
xor eax, eax
jmp 0x42a01f
mov eax, dword [esi + 0x20]
push 0x274e
push eax
call ebx
cmp eax, ebp
je 0x42a03e
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x42a046
xor eax, eax
jmp 0x42a049
mov eax, dword [esi + 0x20]
push 0x274f
push eax
call ebx
cmp eax, ebp
je 0x42a068
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x42a070
xor eax, eax
jmp 0x42a073
mov eax, dword [esi + 0x20]
push 0x2750
push eax
call ebx
cmp eax, ebp
je 0x42a092
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x42a09a
xor eax, eax
jmp 0x42a09d
mov eax, dword [esi + 0x20]
push 0x2751
push eax
call ebx
cmp eax, ebp
je 0x42a0bc
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
cmp esi, ebp
jne 0x42a0c4
xor eax, eax
jmp 0x42a0c7
mov eax, dword [esi + 0x20]
push 0x2752
push eax
call ebx
cmp eax, ebp
je 0x42a0e6
mov edx, dword [esi + 0x2f8]
lea ecx, [esi + 0x2f0]
push eax
push edx
call fcn.00487e80
mov eax, dword [esi + 0x80]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x5d1190
push ebp
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x80]
push 0x5d1258
push ebp
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x80]
push 0x5d1250
push ebp
push 0x143
push edx
call edi
fld qword [0x58d870]
fld qword [0x58d868]
call sub.MSVCRT.dll__CIpow
call sub.MSVCRT.dll__ftol
push 0x42c
mov ecx, esi
mov dword [esi + 0x320], eax
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov eax, dword [eax + 0x20]
push ebp
push 3
push 0xc5
push eax
call edi
mov eax, dword [esi + 0x320]
mov ecx, dword [esi + 0x7a0]
push eax
push ebp
push 0x46f
push ecx
call edi
push 0x42d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov edx, dword [eax + 0x20]
push ebp
push 3
push 0xc5
push edx
call edi
mov eax, dword [esi + 0x320]
push eax
mov eax, dword [esi + 0x740]
push ebp
push 0x46f
push eax
call edi
push 1
lea ecx, [esi + 0x138]
push 0x3e8
push 0x64
mov dword [esp + 0x64], ecx
call sub.MFC42.DLL_CSliderCtrl::SetRange
mov ecx, dword [esi + 0x158]
push 0x64
push ebp
push 0x417
push ecx
call edi
mov edx, dword [esi + 0x158]
push 0x64
push ebp
push 0x415
push edx
call edi
mov eax, dword [esi + 0x158]
push ebp
push 0x64
push 0x414
push eax
call edi
push 1
push 0x64
push 0xffffffffffffff9c
lea ecx, [esi + 0xd0]
call sub.MFC42.DLL_CSliderCtrl::SetRange
mov ecx, dword [esi + 0xf0]
push 0x64
push ebp
push 0x417
push ecx
call edi
mov edx, dword [esi + 0xf0]
push 0x64
push ebp
push 0x415
push edx
call edi
mov eax, dword [esi + 0xf0]
push ebp
push 1
push 0x405
push eax
call edi
mov ecx, dword [esi + 0x158]
push 0x64
push 1
push 0x405
push ecx
call edi
mov edx, dword [esi + 0x80]
push ebp
push ebp
push 0x14e
push edx
call edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x14], ebp
mov eax, dword [0x5ed8c0]
mov ecx, 0x5ed8c0
mov byte [esp + 0x6c], 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0x5c], ecx
call dword [eax + 4]
mov eax, dword [0x5e5d30]
mov bl, 2
cmp eax, ebp
mov byte [esp + 0x6c], bl
jne 0x42a2dd
cmp dword [0x5e5d2c], ebp
jne 0x42a2dd
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x54], eax
cmp eax, ebp
mov byte [esp + 0x6c], 3
je 0x42a2b2
mov ecx, eax
call fcn.00464f50
jmp 0x42a2b4
xor eax, eax
mov ecx, dword [0x5cf938]
mov byte [esp + 0x6c], bl
push ecx
push 0x41dab0
mov ecx, 0x5eafa0
mov dword [0x5e5d2c], eax
call fcn.00406600
mov dword [0x5e5d30], 1
mov edx, dword [0x5ed8c0]
mov ebx, dword [0x5e5d2c]
mov ecx, 0x5ed8c0
mov byte [esp + 0x6c], 1
call dword [edx + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0x44]
push ecx
push ebx
call dword [eax + 8]
test eax, eax
jl 0x42a416
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x42a416
push 0x5d1240
lea edx, [esp + 0x18]
push eax
push edx
call fcn.00427500
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x42a416
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
call dword [ecx + 0x34]
test eax, eax
jl 0x42a354
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x80]
push ebp
push eax
push 0x14e
push ecx
call edi
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jl 0x42a37c
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0xf0]
push edx
push 1
push 0x405
push eax
call edi
mov eax, dword [esp + 0x14]
lea ebx, [esi + 0x328]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jl 0x42a416
mov ecx, dword [ebx]
xor eax, eax
test ecx, ecx
setne al
mov dword [esi + 0x71c], eax
mov ebp, dword [ebx]
xor ebx, ebx
lea edx, [ebx + 0x2749]
push ebp
push edx
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
inc ebx
cmp ebx, 0xa
jl 0x42a3a8
push ebp
push 0x2748
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x2747
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x2753
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x2754
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov eax, dword [0x5ed920]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 4
mov dword [esp + 0x5c], ecx
call dword [eax + 4]
mov eax, dword [0x5e5cb8]
mov bl, 5
cmp eax, ebp
mov byte [esp + 0x6c], bl
jne 0x42a496
cmp dword [0x5e5cb4], ebp
jne 0x42a496
push 0x380
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x54], eax
cmp eax, ebp
mov byte [esp + 0x6c], 6
je 0x42a46b
push ebp
mov ecx, eax
call fcn.00414650
jmp 0x42a46d
xor eax, eax
mov ecx, dword [0x5cebb0]
mov byte [esp + 0x6c], bl
push ecx
push 0x406a50
mov ecx, 0x5eafa0
mov dword [0x5e5cb4], eax
call fcn.00406600
mov dword [0x5e5cb8], 1
mov edx, dword [0x5ed920]
mov ebx, dword [0x5e5cb4]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 4
call dword [edx + 8]
cmp ebx, ebp
je 0x42a917
mov dword [esp + 0x10], ebp
mov eax, dword [0x5ed920]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 7
mov dword [esp + 0x5c], ecx
call dword [eax + 4]
mov eax, dword [0x5e5cb8]
mov bl, 8
cmp eax, ebp
mov byte [esp + 0x6c], bl
jne 0x42a537
cmp dword [0x5e5cb4], ebp
jne 0x42a537
push 0x380
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x54], eax
cmp eax, ebp
mov byte [esp + 0x6c], 9
je 0x42a50c
push ebp
mov ecx, eax
call fcn.00414650
jmp 0x42a50e
xor eax, eax
mov ecx, dword [0x5cebb0]
mov byte [esp + 0x6c], bl
push ecx
push 0x406a50
mov ecx, 0x5eafa0
mov dword [0x5e5cb4], eax
call fcn.00406600
mov dword [0x5e5cb8], 1
mov edx, dword [0x5ed920]
mov ebx, dword [0x5e5cb4]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 7
call dword [edx + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0x10]
push ecx
push ebx
call dword [eax + 0xbc]
test eax, eax
mov eax, dword [esp + 0x10]
jl 0x42a908
cmp eax, ebp
je 0x42a908
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebp
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x30]
mov eax, dword [esp + 0x2c]
cmp eax, ebp
jne 0x42a59c
mov cl, byte [esi + 0x324]
test cl, cl
jne 0x42a59c
mov eax, dword [0x5eb09c]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x58]
push eax
call fcn.00557900
mov dword [esi + 0xcc8], 1
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
push ecx
push eax
mov edx, dword [eax]
mov byte [esp + 0x74], 0xa
call dword [edx + 0x20]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x38]
push edx
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x34]
push edx
push eax
mov ecx, dword [eax]
mov byte [esp + 0x74], 0xb
call dword [ecx + 0x40]
mov eax, dword [esp + 0x34]
xor ebx, ebx
cmp eax, ebp
mov dword [esp + 0x54], ebx
jle 0x42a8eb
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
push ebx
mov ecx, dword [eax]
push eax
mov byte [esp + 0x78], 0xc
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x20]
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + 0x1c8]
push ecx
push ebp
push 0x143
push edx
mov byte [esp + 0x7c], 0xd
call edi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x42a8c1
mov edx, dword [esi + 0x1c8]
push ebp
push ebx
push 0x14e
push edx
call edi
mov eax, dword [esp + 0x20]
push 0xffffffffffffffff
push eax
call fcn.00406d70
add esp, 8
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0x74], 0xe
mov edx, dword [ecx]
call dword [edx + 0x24]
test eax, eax
jl 0x42a797
mov eax, dword [esi + 0x2f8]
mov dword [esp + 0x1c], ebp
cmp eax, ebp
jle 0x42a8b0
mov eax, dword [esi + 0x2f4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
push edx
call sub.MFC42.DLL_CWnd::FromHandle
mov ebp, eax
test ebp, ebp
je 0x42a77b
push 1
push 0xe
push 0xfffffffffffffff2
mov ecx, ebp
call sub.MFC42.DLL_CSliderCtrl::SetRange
push 0x5c
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov byte [esp + 0x6c], 0xf
je 0x42a6f6
mov ecx, eax
call sub.MFC42.DLL_CToolTipCtrl::CToolTipCtrl
mov dword [esp + 0x48], eax
jmp 0x42a6fe
mov dword [esp + 0x48], 0
mov eax, dword [esi + 0x30c]
lea ebx, [esi + 0x304]
mov dword [esp + 0x50], eax
inc eax
push 0xffffffffffffffff
push eax
mov ecx, ebx
mov byte [esp + 0x74], 0xe
call fcn.004eced0
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
push 0
push ebp
mov dword [eax + edx*4], ecx
call sub.MFC42.DLL_CToolTipCtrl::Create
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], 0
test eax, eax
je 0x42a77b
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x42a77b
mov ecx, dword [esp + 0x4c]
mov eax, 0xae147ae1
imul ecx
sar edx, 5
mov ecx, dword [ebp + 0x20]
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 1
push 0x405
push ecx
call edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x2f8]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x42a6a8
jmp 0x42a8b0
xor ebp, ebp
mov ebx, 0x5d0d00
mov eax, dword [ebx]
mov edx, dword [esp + 0x38]
push eax
push edx
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x42a7c4
add ebx, 0x2c
inc ebp
cmp ebx, 0x5d10c8
jl 0x42a79e
jmp 0x42a8b0
mov eax, dword [esi + 0x2f8]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x42a8b0
lea eax, [ebp + ebp*4]
lea ecx, [ebp + eax*2]
lea edx, [ecx*4 + 0x5d0d04]
mov dword [esp + 0x50], edx
mov eax, dword [esi + 0x2f4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
push edx
call sub.MFC42.DLL_CWnd::FromHandle
mov ebx, eax
push 1
push 0xe
push 0xfffffffffffffff2
mov ecx, ebx
call sub.MFC42.DLL_CSliderCtrl::SetRange
push 0x5c
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
mov byte [esp + 0x6c], 0x10
je 0x42a833
mov ecx, eax
call sub.MFC42.DLL_CToolTipCtrl::CToolTipCtrl
mov dword [esp + 0x48], eax
jmp 0x42a83b
mov dword [esp + 0x48], 0
mov ebp, dword [esi + 0x30c]
lea ecx, [esi + 0x304]
push 0xffffffffffffffff
mov byte [esp + 0x70], 0xe
lea eax, [ebp + 1]
push eax
call fcn.004eced0
mov edx, dword [esi + 0x308]
mov ecx, dword [esp + 0x48]
push 0
push ebx
mov dword [edx + ebp*4], ecx
call sub.MFC42.DLL_CToolTipCtrl::Create
mov ebp, dword [esp + 0x50]
mov eax, 0xae147ae1
mov ecx, dword [ebp]
imul ecx
sar edx, 5
mov ecx, dword [ebx + 0x20]
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 1
push 0x405
push ecx
call edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x2f8]
inc eax
add ebp, 4
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x50], ebp
jl 0x42a7ed
mov edx, dword [esp + 0x5c]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ebx, dword [esp + 0x54]
xor ebp, ebp
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 0xc
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x34]
inc ebx
cmp ebx, eax
mov dword [esp + 0x54], ebx
jl 0x42a600
lea ecx, [esp + 0x38]
mov byte [esp + 0x6c], 0xa
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x3c]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov byte [esp + 0x6c], 4
je 0x42a917
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [0x5ed920]
mov ecx, 0x5ed920
mov dword [esp + 0x5c], ecx
call dword [eax + 4]
mov eax, dword [0x5e5cb8]
mov byte [esp + 0x6c], 0x11
cmp eax, ebp
jne 0x42a996
cmp dword [0x5e5cb4], ebp
jne 0x42a996
push 0x380
call sub.MFC42.DLL_operatornew
mov ebx, eax
add esp, 4
mov dword [esp + 0x54], ebx
cmp ebx, ebp
mov byte [esp + 0x6c], 0x12
je 0x42a969
mov ecx, ebx
call fcn.00478dc0
mov dword [ebx], vtable.CComObjectNoRef_class_CKMPPlayer_.0
jmp 0x42a96b
xor ebx, ebx
mov ecx, dword [0x5cebb0]
mov byte [esp + 0x6c], 0x11
push ecx
push 0x406a50
mov ecx, 0x5eafa0
mov dword [0x5e5cb4], ebx
call fcn.00406600
mov dword [0x5e5cb8], 1
mov edx, dword [0x5ed920]
mov ebx, dword [0x5e5cb4]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 4
call dword [edx + 8]
cmp ebx, ebp
je 0x42aab8
mov eax, dword [0x5ed920]
mov ecx, 0x5ed920
mov dword [esp + 0x5c], ecx
call dword [eax + 4]
mov eax, dword [0x5e5cb8]
mov byte [esp + 0x6c], 0x13
cmp eax, ebp
jne 0x42aa36
cmp dword [0x5e5cb4], ebp
jne 0x42aa36
push 0x380
call sub.MFC42.DLL_operatornew
mov ebx, eax
add esp, 4
mov dword [esp + 0x54], ebx
cmp ebx, ebp
mov byte [esp + 0x6c], 0x14
je 0x42aa09
mov ecx, ebx
call fcn.00478dc0
mov dword [ebx], vtable.CComObjectNoRef_class_CKMPPlayer_.0
jmp 0x42aa0b
xor ebx, ebx
mov ecx, dword [0x5cebb0]
mov byte [esp + 0x6c], 0x13
push ecx
push 0x406a50
mov ecx, 0x5eafa0
mov dword [0x5e5cb4], ebx
call fcn.00406600
mov dword [0x5e5cb8], 1
mov edx, dword [0x5ed920]
mov ebx, dword [0x5e5cb4]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 4
call dword [edx + 8]
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
push ebx
call dword [eax + 0xa4]
test eax, eax
jl 0x42aab8
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x42aab8
mov edx, dword [eax]
lea ecx, [esp + 0x5c]
push ecx
push eax
call dword [edx + 0x50]
test eax, eax
jl 0x42aa8c
mov edx, dword [esp + 0x5c]
mov eax, dword [esi + 0x80]
push ebp
push edx
push 0x14e
push eax
call edi
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x54]
mov dword [esp + 0x54], ebp
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
test eax, eax
jl 0x42aab8
mov eax, dword [esp + 0x54]
mov ecx, dword [esi + 0xf0]
push eax
push 1
push 0x405
push ecx
call edi
push ebp
push 0x40c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x42c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x4ba
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x40d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x42d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x4bb
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov dword [esp + 0x40], ebp
mov dword [esp + 0x24], ebp
mov edx, dword [0x5ed920]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 0x16
mov dword [esp + 0x5c], ecx
call dword [edx + 4]
mov eax, dword [0x5e5cb8]
mov byte [esp + 0x6c], 0x17
cmp eax, ebp
jne 0x42abbc
cmp dword [0x5e5cb4], ebp
jne 0x42abbc
push 0x380
call sub.MFC42.DLL_operatornew
mov ebx, eax
add esp, 4
mov dword [esp + 0x54], ebx
cmp ebx, ebp
mov byte [esp + 0x6c], 0x18
je 0x42ab90
mov ecx, ebx
call fcn.00478dc0
mov dword [ebx], vtable.CComObjectNoRef_class_CKMPPlayer_.0
jmp 0x42ab92
xor ebx, ebx
mov eax, dword [0x5cebb0]
mov ecx, 0x5eafa0
push eax
push 0x406a50
mov byte [esp + 0x74], 0x17
mov dword [0x5e5cb4], ebx
call fcn.00406600
mov dword [0x5e5cb8], 1
mov edx, dword [0x5ed920]
mov ebx, dword [0x5e5cb4]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 0x16
call dword [edx + 8]
cmp ebx, ebp
je 0x42ae07
mov eax, dword [0x5ed920]
mov ecx, 0x5ed920
mov dword [esp + 0x5c], ecx
call dword [eax + 4]
mov eax, dword [0x5e5cb8]
mov byte [esp + 0x6c], 0x19
cmp eax, ebp
jne 0x42ac5c
cmp dword [0x5e5cb4], ebp
jne 0x42ac5c
push 0x380
call sub.MFC42.DLL_operatornew
mov ebx, eax
add esp, 4
mov dword [esp + 0x54], ebx
cmp ebx, ebp
mov byte [esp + 0x6c], 0x1a
je 0x42ac2f
mov ecx, ebx
call fcn.00478dc0
mov dword [ebx], vtable.CComObjectNoRef_class_CKMPPlayer_.0
jmp 0x42ac31
xor ebx, ebx
mov ecx, dword [0x5cebb0]
mov byte [esp + 0x6c], 0x19
push ecx
push 0x406a50
mov ecx, 0x5eafa0
mov dword [0x5e5cb4], ebx
call fcn.00406600
mov dword [0x5e5cb8], 1
mov edx, dword [0x5ed920]
mov ebx, dword [0x5e5cb4]
mov ecx, 0x5ed920
mov byte [esp + 0x6c], 0x16
call dword [edx + 8]
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.0047a3d0
test eax, eax
jl 0x42ae07
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x42ae07
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push 0x5d1230
push eax
call dword [ecx]
cmp dword [esp + 0x24], ebp
je 0x42ae07
push 1
push 0x4ba
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
push 0x4bb
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push ebp
push 0x2710
push eax
push ecx
call fcn.00565710
push ebp
push 0x3e8
push edx
push eax
call fcn.00565710
mov ebx, eax
cmp ebx, ebp
jg 0x42ad8d
push 0x4ba
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov edx, dword [eax + 0x20]
push ebp
push 1
push 0xf1
push edx
call edi
push 1
push 0x40c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
push 0x42c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x40d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x42d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
neg ebx
mov dword [esi + 0x218], ebx
jmp 0x42adff
push 0x4bb
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov eax, dword [eax + 0x20]
push ebp
push 1
push 0xf1
push eax
call edi
push 1
push 0x40d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
push 0x42d
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x40c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
push 0x42c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov dword [esi + 0x21c], ebx
push ebp
mov ecx, esi
call sub.MFC42.DLL_CWnd::UpdateData
mov al, byte [esi + 0x324]
pop edi
test al, al
pop ebx
je 0x42ae1d
mov ecx, dword [esp + 0x50]
push ebp
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x64], 0x15
cmp eax, ebp
je 0x42ae30
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x38]
mov byte [esp + 0x64], 4
cmp eax, ebp
je 0x42ae43
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x20]
mov byte [esp + 0x64], 1
cmp eax, ebp
je 0x42ae56
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
mov byte [esp + 0x64], 0
cmp eax, ebp
je 0x42ae69
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x3c]
pop esi
cmp eax, ebp
mov dword [esp + 0x60], 0xffffffff
pop ebp
je 0x42ae81
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
add esp, 0x60
ret