Function at 0x4a3b30
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 0x4a3d74
je 0x4a3d4c
cmp eax, 0x2c
ja 0x4a3c74
je 0x4a3c56
lea ecx, [eax - 5]
cmp ecx, 0x26
ja case.0x4a3b6d.6
movzx ecx, byte [ecx + 0x4a40e0]
jmp dword [ecx*4 + 0x4a40c4]
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 0x4a3bac
mov ecx, dword [ecx + 0x18]
push ecx
call fcn.004a3b00
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 0x4a3c35
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 0x4a3cf9
je 0x4a3ccd
mov ecx, eax
sub ecx, 0x83
je 0x4a3caf
dec ecx
jne case.0x4a3b6d.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.00413507
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x18
ret 0x10
cmp eax, 0x113
je 0x4a3d33
cmp eax, 0x200
jne case.0x4a3b6d.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 0x4a3f19
je 0x4a3ef8
cmp eax, 0x205
ja 0x4a3e4a
je 0x4a3e22
mov ecx, eax
sub ecx, 0x202
je 0x4a3dfa
dec ecx
je 0x4a3dd2
dec ecx
jne case.0x4a3b6d.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 0x4a3ee1
dec ecx
jne case.0x4a3b6d.6
mov esi, dword [esp + 0x28]
mov ecx, dword [esi + 0x18]
push ecx
lea ecx, [esp + 0x10]
call fcn.00413558
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.00413571
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 0x4a3c27
mov eax, dword [esp + 0x34]
push eax
call fcn.004a3ad0
pop edi
pop esi
pop ebx
add esp, 0x18
ret 0x10
cmp eax, 0xbc2b
ja 0x4a4042
je 0x4a4029
cmp eax, 0x45b
je 0x4a3f70
cmp eax, 0xbc19
jne case.0x4a3b6d.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 0x4a40b9
push edi
push ebx
push 0xbc19
mov ecx, esi
call fcn.00413507
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 0x4a3f87
cmp eax, 0x51d2a0
jne 0x4a40b7
mov al, byte [esi + 0x35]
mov bl, 2
cmp al, bl
jne 0x4a3fb3
mov eax, dword [esi + 0x68]
test eax, eax
jne 0x4a3fa5
push 0x10000000
push esi
call fcn.004a9780
add esp, 8
cmp byte [esi + 0x35], bl
jne 0x4a3fb3
mov eax, dword [esi + 0x68]
test eax, eax
je 0x4a3fb3
mov esi, eax
mov edi, dword [esp + 0x34]
mov eax, dword [edi]
cmp eax, 0xfbd3e280
mov dword [esp + 0x28], eax
jl 0x4a3fcb
fild dword [esp + 0x28]
fstp dword [esi + 0x24]
mov eax, dword [edi + 4]
cmp eax, 0x80000000
je 0x4a3fd8
mov dword [esi + 0x28], eax
mov eax, dword [edi + 8]
cmp eax, 0x80000000
je 0x4a3fe5
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0xc]
cmp eax, 0x80000000
je 0x4a3ff2
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4a4004
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 0x4a4010
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 0x4a40a9
sub ecx, 0x22
je 0x4a4072
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