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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 8]
sub esp, 0xc
push ebx
mov ebx, ecx
mov ecx, 0x898
push esi
push edi
cmp eax, ecx
ja 0x456e2b
je 0x456e03
lea ecx, [eax - 0x834]
cmp ecx, 0x13
ja case.0x457270.4019
jmp dword [ecx*4 + 0x457540]
push dword [ebp + 0x10]
and dword [ebx + 0x1010], 0
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.00455c26
xor eax, eax
jmp 0x457535
lea ecx, [ebx + 0xf04]
call fcn.00402457
jmp 0x456cf2
movzx eax, byte [ebx + 0xf04]
jmp 0x457535
mov eax, dword [ebx + 0xf50]
jmp 0x457535
mov ecx, ebx
call fcn.00456334
jmp 0x456cf2
mov al, byte [ebp + 0xc]
mov byte [ebx + 0xf38], al
jmp 0x456cf2
movsx eax, byte [ebx + 0xf38]
jmp 0x457535
push dword [ebp + 0x10]
call fcn.00401468
pop ecx
lea ecx, [ebx + 0xf08]
push eax
push dword [ebp + 0x10]
call fcn.004017c0
jmp 0x456cf2
push dword [ebp + 0x10]
lea ecx, [ebx + 0xf04]
call fcn.00402475
jmp 0x456cf2
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xf58], al
jmp 0x456cf2
movzx eax, byte [ebx + 0xf58]
jmp 0x457535
push dword [ebp + 0x10]
call fcn.00401468
pop ecx
lea ecx, [ebx + 0xf20]
jmp 0x456d4c
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xf49], al
jmp 0x456cf2
movzx eax, byte [ebx + 0xf49]
jmp 0x457535
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xf48], al
jmp 0x456cf2
movzx eax, byte [ebx + 0xf48]
jmp 0x457535
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x1010], eax
push 0
jmp 0x456ceb
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xf59], al
jmp 0x456cf2
movzx eax, byte [ebx + 0xf59]
jmp 0x457535
push 0
push dword [ebp + 0xc]
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.00417899
push dword [esp + 0x14]
mov ecx, ebx
push dword [esp + 0x14]
push dword [ebp + 0x10]
call fcn.0045655f
jmp 0x456cf2
mov ecx, 0x8de
cmp eax, ecx
ja 0x456f85
je 0x456f73
lea ecx, [eax - 0x899]
cmp ecx, 0xd
ja case.0x457270.4019
jmp dword [ecx*4 + 0x457590]
mov ecx, dword [ebx + 0xf4c]
push dword [ebp + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x456cf2
mov ecx, dword [ebx + 0xf4c]
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x457535
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x1014], eax
jmp 0x456cf2
mov eax, dword [ebx + 0x1014]
jmp 0x457535
lea ecx, [ebx + 0xf6c]
call fcn.00403b9b
jmp 0x456cf2
movzx eax, byte [ebx + 0xfdc]
jmp 0x457535
mov eax, dword [ebx + 0xfe0]
jmp 0x457535
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xfe0], eax
jmp 0x456cf2
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp ecx, dword [ebx + 0xf6c]
jne 0x456edf
cmp eax, dword [ebx + 0xf70]
je 0x456cf2
mov dword [ebx + 0xf6c], ecx
cmp eax, ecx
jg 0x456eeb
mov eax, ecx
mov ecx, dword [ebx + 0xfc8]
mov dword [ebx + 0xf70], eax
test ecx, ecx
je 0x456cf2
xor eax, eax
push eax
push eax
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x456cf2
mov eax, dword [ebx + 0x2d8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0xfe4], ecx
mov dword [eax + 0xae0], ecx
mov ecx, ebx
call fcn.0041760f
jmp 0x456cf2
mov eax, dword [ebx + 0x2d8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0xfe8], ecx
mov dword [eax + 0xadc], ecx
jmp 0x456f24
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xfec], eax
jmp 0x456f24
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xfbc], eax
mov byte [ebx + 0xfc0], 1
jmp 0x456f24
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xfc1], al
jmp 0x456f24
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xf5a], al
jmp 0x456cf2
mov ecx, 0xfa6
cmp eax, ecx
ja 0x457261
je 0x45724b
mov ecx, 0xa4b
cmp eax, ecx
ja 0x4570cd
je 0x4570c2
mov ecx, 0x968
cmp eax, ecx
ja 0x457038
je 0x457028
mov ecx, eax
sub ecx, 0x8df
je 0x45701c
sub ecx, 0xe
je 0x457010
dec ecx
je 0x457002
sub ecx, 0x55
je 0x456ff0
sub ecx, 0x22
jne case.0x457270.4019
mov ecx, dword [ebx + 0xf4c]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
jmp 0x456cf2
cmp dword [ebp + 0xc], 0
setne al
mov byte [ebx + 0xefc], al
jmp 0x456cf2
mov al, byte [ebp + 0xc]
mov byte [ebx + 0xf39], al
jmp 0x456cf2
movsx eax, byte [ebx + 0xf39]
jmp 0x457535
movzx eax, byte [ebx + 0xf5a]
jmp 0x457535
mov ecx, dword [ebx + 0xf4c]
mov eax, dword [ecx]
call dword [eax + 0x44]
jmp 0x456cf2
mov ecx, eax
sub ecx, 0x98d
je 0x4570a5
sub ecx, 0xa5
je 0x457096
sub ecx, 0x11
je 0x457066
sub ecx, 7
jne case.0x457270.4019
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xf5c], eax
jmp 0x456cf2
mov esi, dword [ebx + 0xf4c]
push dword [ebp + 0x10]
fld dword [ebx + 0xd0c]
mov edi, dword [esi]
call fcn.004b7d00
fld dword [ebx + 0xd08]
push eax
call fcn.004b7d00
push eax
push dword [ebp + 0xc]
mov ecx, esi
call dword [edi + 0x40]
jmp 0x456cf2
push dword [ebp + 0x10]
mov ecx, ebx
call fcn.004564d9
jmp 0x457535
cmp byte [ebx + 0xf04], 0
je 0x4573de
mov ecx, dword [ebx + 0xf4c]
mov eax, dword [ecx]
call dword [eax + 0x30]
jmp 0x457535
mov eax, dword [ebx + 0xf5c]
jmp 0x457535
mov ecx, 0xfa1
cmp eax, ecx
ja 0x45715b
je 0x457127
mov ecx, eax
sub ecx, 0xa4c
je 0x457119
dec ecx
je 0x45710e
sub ecx, 0x17
je 0x457100
dec ecx
jne case.0x457270.4019
mov eax, dword [ebx + 0xf68]
jmp 0x457535
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xf68], eax
jmp 0x456cf2
mov eax, dword [ebx + 0x1018]
jmp 0x457535
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x1018], eax
jmp 0x456cf2
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [ebp + 0xc]
mov esi, eax
mov dword [esi + 0x20], ecx
test ecx, ecx
jne 0x45713d
push ecx
jmp 0x45714f
call fcn.00404bb4
test eax, eax
jne 0x45714e
xor ecx, ecx
inc ecx
call fcn.00404bb4
push eax
mov ecx, esi
call fcn.00456abe
jmp 0x456cf2
mov ecx, eax
sub ecx, 0xfa2
je 0x45723c
dec ecx
je 0x4571de
dec ecx
je 0x457198
dec ecx
jne case.0x457270.4019
mov ecx, ebx
call fcn.00456a3d
mov esi, eax
mov edx, dword [esi + 8]
test edx, edx
je 0x456cf2
push dword [ebp + 0x10]
mov ecx, dword [edx]
push dword [ebp + 0xc]
push edx
call dword [ecx + 0x1c]
jmp 0x4571c8
mov ecx, ebx
call fcn.004b65d5
push ecx
push ecx
push dword [ebp + 0x10]
mov esi, eax
push dword [ebp + 0xc]
lea ecx, [esi + 0x14]
call fcn.00454118
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x456cf2
push dword [ebp + 0x10]
mov eax, dword [ecx]
push dword [ebp + 0xc]
push ecx
call dword [eax + 0x14]
test eax, eax
js 0x456cf2
mov ecx, dword [esi + 4]
push eax
call fcn.004137b8
jmp 0x456cf2
mov ecx, ebx
call fcn.00456a3d
cmp dword [eax + 0x20], 0
jne 0x45721c
push dword [ebp + 0xc]
mov ecx, dword [ebx + 0x2a0]
call fcn.004137b8
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xffffffff
jne 0x457212
mov eax, dword [ebx + 0x2a0]
add eax, 4
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x78]
jmp 0x457230
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.00456a3d
mov ecx, eax
call fcn.00411f80
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
jmp 0x456cf2
mov ecx, ebx
call fcn.00456a3d
mov eax, dword [eax + 0x20]
jmp 0x457535
push dword [ebp + 0x10]
mov ecx, ebx
call fcn.00456a3d
mov ecx, eax
call fcn.00456b51
jmp 0x456cf2
lea ecx, [eax - 0xfa8]
cmp ecx, 0x14
ja case.0x457270.4019
jmp dword [ecx*4 + 0x4575c8]
mov ecx, ebx
call fcn.00456a3d
push dword [ebp + 0xc]
lea ecx, [eax + 0x14]
call fcn.004541b3
mov edx, eax
mov ecx, dword [ebp + 0x10]
call fcn.004233ab
jmp 0x457535
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.00456a3d
mov ecx, eax
call fcn.00456bc1
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
push dword [ebp + 0x10]
push dword [ebp + 0xc]
lea ecx, [eax + 0x14]
call fcn.0045441f
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov edx, dword [eax + 0x10]
test edx, edx
je 0x4572de
mov edx, dword [edx + 0x18]
jmp 0x45728b
mov edx, 0x4d3406
jmp 0x45728b
mov ecx, ebx
call fcn.00456a3d
mov ecx, eax
xor eax, eax
cmp dword [ecx + 4], eax
je 0x457535
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x457535
push dword [ebp + 0x10]
mov eax, dword [ecx]
push dword [ebp + 0xc]
push ecx
call dword [eax + 0x28]
jmp 0x457535
push 8
pop eax
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x457336
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x457289
xor eax, eax
jmp 0x457289
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
push dword [ebp + 0xc]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x457336
push dword [ebp + 0xc]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x10]
jmp 0x457289
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x457336
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
jmp 0x457289
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
mov eax, dword [ecx]
push ecx
call dword [eax + 0x2c]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4573de
cmp dword [eax + 0x1c], 1
jl 0x4573de
push dword [ebp + 0x10]
mov eax, dword [ecx]
push dword [ebp + 0xc]
push ecx
call dword [eax + 0x30]
jmp 0x457535
or eax, 0xffffffff
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4573de
cmp dword [eax + 0x1c], 1
jl 0x4573de
push dword [ebp + 0xc]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x34]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
push dword [ebp + 0xc]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x38]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
push dword [ebp + 0xc]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x3c]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
push dword [ebp + 0xc]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x40]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
mov eax, dword [ecx]
push ecx
call dword [eax + 0x44]
jmp 0x456cf2
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
push dword [ebp + 0x10]
mov eax, dword [ecx]
push dword [ebp + 0xc]
push ecx
call dword [eax + 0x48]
jmp 0x456cf2
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x456cf2
cmp dword [eax + 0x1c], 1
jl 0x456cf2
mov eax, dword [ecx]
push ecx
call dword [eax + 0x4c]
jmp 0x457535
mov ecx, ebx
call fcn.00456a3d
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x45751d
cmp dword [eax + 0x1c], 1
jl 0x45751d
mov eax, dword [ecx]
push ecx
call dword [eax + 0x50]
jmp 0x457289
mov eax, 0x4d3406
jmp 0x457289
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
push eax
call fcn.00423416
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc