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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x18
cmp eax, 0x201
push ebx
push esi
push edi
ja 0x445454
je 0x44542c
cmp eax, 0x2c
ja 0x445354
je 0x445336
lea ecx, [eax - 5]
cmp ecx, 0x26
ja case.0x44524d.6
movzx ecx, byte [ecx + 0x4457c0]
jmp dword [ecx*4 + 0x4457a4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx]
push eax
call dword [edx + 0x20]
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x44], 2
je 0x44528c
mov ecx, dword [ecx + 0x18]
push ecx
call fcn.004451e0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov edx, dword [ecx]
call dword [edx + 0x14]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x1c]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov esi, eax
movzx eax, ax
shr esi, 0x10
push esi
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x3c]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x34]
push eax
call dword [edx + 0x6c]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x445315
push eax
call dword [sym.imp.USER32.dll_SetCursor]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov edx, dword [ecx]
mov esi, eax
movzx eax, ax
shr esi, 0x10
push esi
push eax
mov eax, dword [esp + 0x38]
push eax
call dword [edx + 0x40]
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x34]
push eax
call dword [edx + 0x60]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
cmp eax, 0x85
ja 0x4453d9
je 0x4453ad
mov ecx, eax
sub ecx, 0x83
je 0x44538f
dec ecx
jne case.0x44524d.6
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
call dword [esi + 0x38]
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x34]
push eax
call dword [edx + 0x64]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov esi, dword [esp + 0x28]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x54]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
push 0x85
mov ecx, esi
call fcn.004127b7
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
cmp eax, 0x113
je 0x445413
cmp eax, 0x200
jne case.0x44524d.6
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
mov edx, dword [esp + 0x38]
push edx
call dword [esi + 0x24]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx]
push edx
call dword [eax + 0x44]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
mov eax, dword [esp + 0x34]
push edx
push eax
call dword [esi + 0x28]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
cmp eax, 0x459
ja 0x4455f9
je 0x4455d8
cmp eax, 0x205
ja 0x44552a
je 0x445502
mov ecx, eax
sub ecx, 0x202
je 0x4454da
dec ecx
je 0x4454b2
dec ecx
jne case.0x44524d.6
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
mov edx, dword [esp + 0x38]
push edx
call dword [esi + 0x30]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
mov eax, dword [esp + 0x34]
push edx
push eax
call dword [esi + 0x48]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
mov edx, dword [esp + 0x38]
push edx
call dword [esi + 0x2c]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
mov eax, dword [esp + 0x34]
push edx
push eax
call dword [esi + 0x34]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov ecx, eax
sub ecx, 0x448
je 0x4455c1
dec ecx
jne case.0x44524d.6
mov esi, dword [esp + 0x28]
mov ecx, dword [esi + 0x18]
push ecx
lea ecx, [esp + 0x10]
call fcn.00412808
mov eax, dword [esi + 0x18]
lea edx, [esp + 0x14]
push edx
push eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x1c]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esp + 0x18]
add eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
push eax
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
lea ecx, [esp + 0xc]
mov esi, eax
call fcn.00412821
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx]
push edx
call dword [eax + 0x70]
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x30], ecx
jne 0x445307
mov eax, dword [esp + 0x34]
push eax
call fcn.004451b0
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
cmp eax, 0xbc2b
ja 0x445722
je 0x445709
cmp eax, 0x45b
je 0x445650
cmp eax, 0xbc19
jne case.0x44524d.6
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov edx, dword [esi]
push edi
push ebx
mov ecx, esi
call dword [edx + 0x4c]
test eax, eax
jne 0x445799
push edi
push ebx
push 0xbc19
mov ecx, esi
call fcn.004127b7
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
cmp eax, esi
je 0x445667
cmp eax, 0x519150
jne 0x445797
mov al, byte [esi + 0x35]
mov bl, 2
cmp al, bl
jne 0x445693
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x445685
push 0x10000000
push esi
call fcn.004a4b50
add esp, 8
cmp byte [esi + 0x35], bl
jne 0x445693
mov eax, dword [esi + 0x68]
test eax, eax
je 0x445693
mov esi, eax
mov edi, dword [esp + 0x34]
mov eax, dword [edi]
cmp eax, 0xfbd3e280
mov dword [esp + 0x28], eax
jl 0x4456ab
fild dword [esp + 0x28]
fstp dword [esi + 0x24]
mov eax, dword [edi + 4]
cmp eax, 0x80000000
je 0x4456b8
mov dword [esi + 0x28], eax
mov eax, dword [edi + 8]
cmp eax, 0x80000000
je 0x4456c5
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0xc]
cmp eax, 0x80000000
je 0x4456d2
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4456e4
push eax
mov eax, dword [esi + 0x18]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x4456f0
mov cl, al
mov byte [esi + 0x34], cl
mov edx, dword [esi + 0x18]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
push edx
call dword [eax + 0x68]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
mov ecx, eax
sub ecx, 0xbc2c
je 0x445789
sub ecx, 0x22
je 0x445752
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push esi
mov esi, dword [esp + 0x34]
push esi
push eax
mov eax, dword [ecx + 0x18]
push eax
call dword [edx + 4]
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [eax + 8]
push esi
push eax
mov dword [esp + 0x3c], 0
call dword [edx + 0x78]
mov ecx, dword [esp + 0x2c]
neg eax
pop edi
sbb eax, eax
pop esi
and eax, ecx
pop ebx
add esp, 0x18
ret 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
call dword [edx + 0x5c]
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10