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

Disassembly:
sub esp, 0x544
push ebp
push esi
call fcn.00580900
mov esi, eax
xor ebp, ebp
cmp esi, ebp
jne 0x580b10
pop esi
xor eax, eax
pop ebp
add esp, 0x544
ret
push ebx
push edi
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
call fcn.00572950
push ebp
call fcn.00571500
mov ebx, dword [esp + 0x564]
mov edi, eax
mov eax, dword [0x1a569c4]
mov edx, ebx
mov dword [edx], eax
mov ecx, dword [0x1a569c8]
mov dword [edx + 4], ecx
mov eax, dword [0x1a569cc]
mov dword [edx + 8], eax
mov ecx, dword [0x1a569d0]
mov dword [edx + 0xc], ecx
mov dword [0x1a569d0], ebp
mov dword [0x1a569c8], ebp
mov dword [0x1a569cc], ebp
mov dword [0x1a569c4], ebp
add esp, 0xc
test esi, esi
lea ebp, [esp + 0x54]
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], ebp
jle 0x580ce7
mov dword [esp + 0x24], esi
mov edi, edi
mov edx, dword [edi]
push edx
call fcn.0056ad30
mov esi, eax
push 0x5d07f0
mov ecx, esi
call fcn.00591e20
test eax, eax
je 0x580cd1
mov ecx, dword [edi]
lea eax, [esp + 0x10]
push eax
push ecx
call fcn.00571390
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
sub edx, eax
sub ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
sub edx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x10]
push edx
sub ecx, eax
push 0x1a56998
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x1c], ecx
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x580cd1
mov eax, dword [esi + 0x48]
mov edi, dword [esi + 0x50]
cmp eax, edi
mov ecx, dword [esi + 0x4c]
mov ebp, dword [esi + 0x54]
jge 0x580c8f
cmp ecx, ebp
jge 0x580c8f
mov edx, dword [esi + 0x3c]
sub ebp, edx
sub ecx, edx
mov edx, dword [esi + 0x38]
sub eax, edx
sub edi, edx
mov edx, dword [esp + 0x14]
add ebp, edx
add ecx, edx
mov edx, dword [esp + 0x10]
add eax, edx
add edi, edx
mov edx, dword [ebx]
mov dword [esp + 0x40], ebp
cmp edx, dword [ebx + 8]
jge 0x580c7e
mov edx, dword [ebx + 4]
cmp edx, dword [ebx + 0xc]
jge 0x580c7e
mov ebp, dword [ebx]
cmp ebp, eax
jge 0x580c55
mov eax, ebp
cmp edx, ecx
mov dword [ebx], eax
jge 0x580c5d
mov ecx, edx
mov eax, dword [ebx + 8]
cmp eax, edi
mov dword [ebx + 4], ecx
jg 0x580c69
mov eax, edi
mov ecx, dword [esp + 0x40]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jg 0x580c79
mov eax, ecx
mov dword [ebx + 0xc], eax
jmp 0x580c8f
mov edx, ebx
mov dword [edx], eax
mov eax, dword [esp + 0x40]
mov dword [edx + 4], ecx
mov dword [edx + 8], edi
mov dword [edx + 0xc], eax
mov edi, dword [esp + 0x30]
xor eax, eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 4]
mov dword [ecx], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x18]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax], esi
add eax, 0x14
mov dword [ecx + 0xc], edx
mov dword [esp + 0x20], eax
mov ebp, eax
mov eax, dword [esp + 0x24]
add edi, 4
dec eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], eax
jne 0x580b90
mov edi, dword [sym.imp.USER32.dll_IntersectRect]
push ebx
push 0x1a56998
push ebx
call edi
test eax, eax
jne 0x580d05
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x544
ret
lea eax, [esp + 0x54]
sub ebp, eax
mov ecx, ebp
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
test edx, edx
jle 0x580d4f
lea esi, [esp + 0x58]
mov ebp, edx
push esi
push ebx
lea edx, [esp + 0x3c]
push edx
call edi
test eax, eax
je 0x580d49
mov ecx, dword [esi - 4]
mov eax, dword [ecx]
lea edx, [esp + 0x34]
push edx
mov edx, dword [esi + 4]
push edx
mov edx, dword [esi]
push edx
call dword [eax + 0x78]
add esi, 0x14
dec ebp
jne 0x580d28
mov eax, dword [0x1a5698c]
test eax, eax
je 0x580d6d
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x580d6d
mov esi, dword [eax + 8]
mov eax, dword [eax + 4]
mov edx, dword [ecx]
push ebx
push esi
push eax
call dword [edx + 0x10]
mov eax, dword [0x1a56990]
test eax, eax
je 0x580d8b
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x580d8b
mov esi, dword [eax + 8]
mov eax, dword [eax + 4]
mov edx, dword [ecx]
push ebx
push esi
push eax
call dword [edx + 0x10]
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x544
ret