Function at 0x456640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5776e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
push ebx
push ebp
push esi
push edi
mov ebx, ecx
push 0x410
call sub.MFC42.DLL_CWnd::GetDlgItem
mov edi, eax
push 0x412
mov ecx, ebx
mov dword [esp + 0x2c], edi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov esi, eax
push 0x4c6
mov ecx, ebx
mov dword [esp + 0x30], esi
call sub.MFC42.DLL_CWnd::GetDlgItem
xor ebp, ebp
mov dword [esp + 0x38], eax
cmp edi, ebp
je 0x456b4b
cmp esi, ebp
je 0x456b4b
cmp eax, ebp
je 0x456b4b
mov dword [esp + 0x44], 0x409
mov dword [esp + 0x48], 0x40a
mov dword [esp + 0x4c], 0x40b
mov dword [esp + 0x50], 0x40c
mov dword [esp + 0x54], 0x40d
mov dword [esp + 0x58], 0x40e
mov dword [esp + 0x5c], 0x48f
mov dword [esp + 0x60], 0x931
mov dword [esp + 0x64], 0x93e
mov dword [esp + 0x68], 0x941
mov dword [esp + 0x6c], 0x947
mov dword [esp + 0x70], 0x943
mov dword [esp + 0x74], 0x945
xor esi, esi
mov eax, dword [esp + esi + 0x44]
mov ecx, ebx
push eax
call sub.MFC42.DLL_CWnd::GetDlgItem
cmp eax, ebp
mov dword [esp + esi + 0xcc], eax
je 0x456b4b
add esi, 4
cmp esi, 0x34
jl 0x456717
push 0x91e
mov ecx, ebx
call sub.MFC42.DLL_CWnd::GetDlgItem
cmp eax, ebp
je 0x456752
push ebp
mov ecx, eax
call sub.MFC42.DLL_CWnd::EnableWindow
mov ecx, dword [esp + 0x110]
mov esi, dword [ecx + 8]
cmp esi, ebp
mov dword [esp + 0x34], esi
jg 0x4567b7
mov ecx, dword [esp + 0x2c]
push ebp
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
mov ecx, dword [esp + 0x38]
push ebp
call sub.MFC42.DLL_CWnd::EnableWindow
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
lea edi, [esp + 0xcc]
mov ebp, 0xd
mov esi, dword [edi]
push 0
mov ecx, esi
call sub.MFC42.DLL_CWnd::EnableWindow
mov edx, dword [esi + 0x20]
push 0
push 0
push 0xf1
push edx
call ebx
add edi, 4
dec ebp
jne 0x456792
jmp 0x456b4b
push 0x439
mov ecx, ebx
call sub.MFC42.DLL_CWnd::GetDlgItem
mov dword [esp + 0x40], eax
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x48]
mov dword [esp + 0x44], ebp
mov byte [esp + 0x14], al
rep stosd dword es:[edi], eax
mov dword [esp + 0x15], eax
cmp esi, ebp
mov dword [esp + 0x19], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1d], eax
jle 0x456a18
mov edi, 1
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x110]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x24]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + ecx]
mov ecx, ebx
push eax
call fcn.00457010
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [ebx + 0x110]
push edx
call fcn.00459380
mov esi, eax
cmp esi, 0xffffffff
je 0x4569fd
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x1e]
push eax
lea edx, [esp + 0x21]
push ecx
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x27]
push eax
lea edx, [esp + 0x2a]
push ecx
lea eax, [esp + 0x2d]
push edx
lea ecx, [esp + 0x2e]
push eax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x35]
push edx
lea ecx, [esp + 0x3b]
push eax
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x110]
push edx
push esi
call fcn.004588e0
test al, al
je 0x4569fd
lea eax, [esp + 0x20]
lea ecx, [esp + 0x1f]
push eax
push ecx
mov ecx, dword [ebx + 0x110]
push esi
call fcn.00458720
xor eax, eax
lea ecx, [esp + 0x44]
mov dl, byte [esp + eax + 0x14]
test dl, dl
je 0x4568ba
inc dword [ecx]
inc eax
add ecx, 4
cmp eax, 0xd
jl 0x4568b0
mov dword [esp + 0x78], vtable.CObject.0
push ebp
lea ecx, [esp + 0x80]
mov dword [esp + 0x10c], ebp
call fcn.004ef1f1
lea ecx, [esp + 0x84]
call fcn.004f7110
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xa8]
mov byte [esp + 0x108], 1
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x78]
mov byte [esp + 0x108], 2
mov dword [esp + 0x78], vtable.CGXStyle.0
call fcn.004ef5b5
mov eax, dword [esp + 0x88]
mov dword [esp + 0x108], 3
and eax, 0x3fffffff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
mov ecx, eax
shr ecx, 0x18
cmp cl, 0x40
jbe 0x45695c
cmp cl, 0xfe
ja 0x45695c
mov edx, 3
jmp 0x456964
mov edx, ecx
and edx, 0xff
mov esi, dword [esp + 0x84]
and edx, 3
shl edx, 4
and esi, 0xffffffcf
or edx, esi
cmp cl, 0x40
jbe 0x45698f
cmp cl, 0xfe
ja 0x45698f
and ecx, 0xff
mov eax, 0xfe
sub eax, ecx
jmp 0x456994
and eax, 0xffffff
mov esi, dword [esp + 0x7c]
and edx, 0xff
shl eax, 8
push 5
push edi
or eax, edx
or esi, 0x10
push 5
push edi
lea ecx, [esp + 0xc4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x8c], esi
call fcn.004f5182
mov edx, dword [esp + 0x40]
push ebp
push 2
push ebp
mov eax, dword [edx + 0x40]
lea ecx, [edx + 0x40]
push ebp
lea edx, [esp + 0x88]
push ebp
push edx
lea edx, [esp + 0xcc]
push edx
call dword [eax + 0x20]
lea ecx, [esp + 0x78]
mov dword [esp + 0x108], 0xffffffff
call fcn.004ef704
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
add esi, 4
inc edi
mov dword [esp + 0x10], esi
lea eax, [edi - 1]
cmp eax, ecx
jl 0x456801
mov ecx, dword [esp + 0x2c]
push 1
call sub.MFC42.DLL_CWnd::EnableWindow
mov ecx, dword [esp + 0x38]
push 1
call sub.MFC42.DLL_CWnd::EnableWindow
mov esi, dword [esp + 0x28]
mov ecx, esi
call sub.MFC42.DLL_CWnd::IsWindowEnabled
test eax, eax
jne 0x456a46
push 1
mov ecx, esi
call sub.MFC42.DLL_CWnd::EnableWindow
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
xor esi, esi
mov edi, dword [esp + esi + 0xcc]
push 1
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esp + esi + 0x44]
test eax, eax
je 0x456a74
mov edx, dword [esp + 0x34]
xor ecx, ecx
cmp eax, edx
setne cl
inc ecx
mov eax, ecx
mov edx, dword [edi + 0x20]
push 0
push eax
push 0xf1
push edx
mov dword [esp + esi + 0x54], eax
call ebp
add esi, 4
cmp esi, 0x34
jl 0x456a4e
push 0x91e
mov ecx, ebx
call sub.MFC42.DLL_CWnd::GetDlgItem
test eax, eax
je 0x456b4b
cmp dword [esp + 0x6c], 1
sete cl
mov byte [esp + 0x28], cl
mov ecx, eax
mov edx, dword [esp + 0x28]
and edx, 0xff
push edx
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [ebx + 0x114]
mov ecx, dword [esp + 0x24]
mov edx, dword [0x5889a8]
push ecx
mov eax, dword [eax + 0x84]
push edx
mov eax, dword [eax + 0xd4]
mov ecx, eax
call fcn.00423d00
mov esi, eax
test esi, esi
je 0x456b4b
push 0x91e
mov ecx, ebx
call sub.MFC42.DLL_CWnd::GetDlgItem
mov edi, eax
test edi, edi
je 0x456b4b
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x78]
push eax
push ecx
lea edx, [esp + 0x18]
push 0x5edb84
push edx
mov dword [esp + 0x118], 4
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, edi
push eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
lea ecx, [esp + 0x10]
mov dword [esp + 0x108], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xfc
ret 4