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

Disassembly:
push 0xffffffffffffffff
push 0x5eef28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
mov eax, dword [esp + 0x48]
push ebx
push ebp
push esi
push edi
xor esi, esi
mov edi, ecx
cmp eax, esi
mov dword [esp + 0x10], edi
je 0x4c0cbe
mov dword [eax], esi
lea ecx, [esp + 0x28]
call fcn.004918b0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], esi
cmp ecx, esi
jne 0x4c0cea
push esi
push esi
lea eax, [esp + 0x30]
push esi
push eax
mov ecx, edi
call fcn.0049b470
lea ecx, [esp + 0x28]
mov dword [esp + 0x54], ecx
mov eax, dword [ecx + 0x10]
mov ebx, eax
shr ebx, 6
cmp ebx, esi
jle 0x4c0f29
cmp eax, esi
jne 0x4c0d02
xor ebp, ebp
jmp 0x4c0d05
mov ebp, dword [ecx + 8]
mov edx, ebx
shl edx, 6
lea eax, [edx + ebp]
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 4]
cmp edx, dword [eax - 0x28]
jl 0x4c0d5e
mov eax, dword [eax - 0x20]
push esi
push 1
push ecx
push esi
push eax
mov ecx, edi
call fcn.004c63e0
cmp dword [esp + 0x50], 1
jne 0x4c0d3b
push 1
push esi
push esi
mov ecx, edi
call fcn.004c6e30
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x28], 0x5f7940
call fcn.00491ab0
mov eax, 1
jmp 0x4c0f44
cmp ebx, esi
jle 0x4c0ef1
lea edi, [ebp + 0x1c]
lea ecx, [edi - 0x10]
mov edx, dword [edi - 0x10]
mov dword [esp + 0x18], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x20], edx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [edi]
sub eax, edx
lea ecx, [edi - 0x1c]
mov dword [esp + 0x1c], eax
call fcn.004b5d80
cmp eax, 0xd
mov dword [esp + 0x14], eax
je 0x4c0dcf
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_PtInRect]
dec eax
neg eax
sbb eax, eax
inc eax
test eax, eax
jne 0x4c0df3
inc esi
add edi, 0x40
cmp esi, ebx
jge 0x4c0eed
jmp 0x4c0d69
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
cmp eax, ecx
jl 0x4c0dc1
lea ecx, [ebx - 1]
cmp esi, ecx
je 0x4c0df3
mov edx, dword [edi + 0x34]
mov ecx, dword [edi + 0x40]
sub edx, ecx
cmp eax, edx
jl 0x4c0df3
jmp 0x4c0dc1
mov ebx, dword [esp + 0x10]
shl esi, 6
mov edi, dword [esi + ebp + 0x24]
lea eax, [esi + ebp]
mov ebp, dword [esp + 0x58]
mov esi, dword [eax + 0x20]
test ebp, ebp
je 0x4c0e49
mov eax, dword [ebx + 0xc8]
shr eax, 2
cmp eax, 2
jl 0x4c0e32
push esi
mov ecx, ebx
call fcn.004c7620
test eax, eax
je 0x4c0e49
mov dword [ebp], 1
jmp 0x4c0f29
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
je 0x4c0e49
cmp esi, dword [ebx + 0x74]
jne 0x4c0e49
cmp edi, dword [ebx + 0x78]
je 0x4c0e26
mov edx, dword [esp + 0x54]
push 0
push 0
push edx
push edi
push esi
mov ecx, ebx
call fcn.004c63e0
cmp dword [esp + 0x50], 1
jne 0x4c0e6f
push 1
push 0
push 0
mov ecx, ebx
call fcn.004c6e30
mov esi, dword [esp + 0x14]
mov edi, dword [0x675b18]
cmp esi, 0xd
mov ecx, 2
je 0x4c0e85
mov ecx, edi
mov ebp, dword [esp + 0x4c]
mov eax, dword [ebp]
mov edx, eax
sub edx, ecx
mov ecx, edx
mov edx, dword [esp + 0x18]
sub ecx, edx
jns 0x4c0e9e
xor ecx, ecx
jmp 0x4c0eb0
cmp esi, 0xd
mov ecx, 2
je 0x4c0eaa
mov ecx, edi
sub eax, ecx
sub eax, edx
mov ecx, eax
mov eax, ecx
cdq
idiv edi
mov esi, eax
mov eax, ecx
cdq
idiv edi
mov eax, edi
mov ecx, edx
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x4c0eca
inc esi
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x675b1c]
sub eax, ecx
dec eax
push 0
lea ecx, [edx + 1]
push esi
cdq
idiv ecx
mov ecx, ebx
push eax
call fcn.004b6540
jmp 0x4c0f29
mov edi, dword [esp + 0x10]
xor eax, eax
test ebx, ebx
jle 0x4c0f0d
mov edx, dword [esp + 0x4c]
lea ecx, [ebp + 0x18]
mov edx, dword [edx + 4]
cmp dword [ecx], edx
jge 0x4c0f59
inc eax
add ecx, 0x40
cmp eax, ebx
jl 0x4c0f01
mov eax, dword [esp + 0x54]
push 0
push 1
push eax
push 0
push 1
mov ecx, edi
call fcn.004b5bd0
push eax
mov ecx, edi
call fcn.004c63e0
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x28], 0x5f7940
call fcn.00491ab0
xor eax, eax
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x38
ret 0x10
mov ecx, dword [esp + 0x54]
push 0
shl eax, 6
push 1
push ecx
mov edx, dword [eax + ebp + 0x20]
push 0
push edx
mov ecx, edi
call fcn.004c63e0
cmp dword [esp + 0x50], 1
jne 0x4c0f29
push 1
push 0
push 0
mov ecx, edi
call fcn.004c6e30
jmp 0x4c0f29