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

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x60]
push ebp
mov ebp, dword [esp + 0x80]
push esi
mov esi, dword [esp + 0x64]
push edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x10], ecx
add ebx, edi
test ebp, ebp
mov ecx, edi
lea edx, [eax + esi]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
je 0x4e5d36
mov dword [esp + 0x4c], eax
push ebp
lea eax, [esp + 0x50]
mov dword [esp + 0x54], ecx
push eax
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ebx
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x4e5fdc
mov ebx, dword [esp + 0x80]
cmp esi, ebx
mov ecx, 1
mov dword [esp + 0x64], ecx
jge 0x4e5d53
mov dword [esp + 0x80], esi
jmp 0x4e5d67
mov eax, esi
cdq
idiv ebx
mov esi, eax
xor eax, eax
test edx, edx
setne al
add eax, esi
mov dword [esp + 0x64], eax
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x6c]
cmp eax, esi
jge 0x4e5d7f
mov dword [esp + 0x84], eax
jmp 0x4e5d8b
cdq
idiv esi
xor ecx, ecx
test edx, edx
setne cl
add ecx, eax
mov al, byte [esp + 0x74]
cmp al, 0xff
jne 0x4e5eb0
test ecx, ecx
jle 0x4e5fdc
mov eax, dword [esp + 0x84]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x68], edi
test ecx, ecx
jle 0x4e5e89
lea edx, [edi + eax]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x74], ecx
lea esp, [esp]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
push edx
lea esi, [eax + ecx]
push esi
push edi
push eax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x28], esi
call dword [sym.imp.USER32.dll_SetRect]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x4e5e6d
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
sub eax, ebx
sub ecx, ebp
cmp esi, edx
jge 0x4e5e2e
sub edx, esi
jmp 0x4e5e30
xor edx, edx
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x40]
add esi, edx
mov edx, dword [esp + 0x20]
cmp edi, edx
jge 0x4e5e46
sub edx, edi
jmp 0x4e5e48
xor edx, edx
push ecx
mov ecx, dword [esp + 0x80]
push eax
add edx, ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x7c]
push esi
push edx
push ebp
push ebx
call fcn.004e57d0
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
dec ecx
mov eax, esi
mov dword [esp + 0x74], ecx
jne 0x4e5dd0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
add edi, eax
dec edx
mov dword [esp + 0x68], edi
mov dword [esp + 0x88], edx
jne 0x4e5db5
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x4c
ret 0x2c
test al, al
jbe 0x4e5fdc
cmp al, 0xff
jae 0x4e5fdc
test ecx, ecx
jle 0x4e5fdc
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x88], edi
mov edi, edi
test ecx, ecx
jle 0x4e5fc4
add eax, edi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x68], ecx
jmp 0x4e5f00
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
push edx
lea esi, [eax + ecx]
push esi
push edi
push eax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x2c], esi
call dword [sym.imp.USER32.dll_SetRect]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x4e5fa8
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
sub eax, edi
sub ecx, ebp
cmp esi, edx
jge 0x4e5f5e
sub edx, esi
jmp 0x4e5f60
xor edx, edx
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x40]
add esi, edx
mov edx, dword [esp + 0x20]
cmp ebx, edx
jge 0x4e5f76
sub edx, ebx
jmp 0x4e5f78
xor edx, edx
push ecx
mov ecx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x78]
add edx, ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x80]
push esi
push edx
push eax
push ebp
push edi
call fcn.004e5870
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x88]
mov ecx, dword [esp + 0x68]
dec ecx
mov eax, esi
mov dword [esp + 0x68], ecx
jne 0x4e5f00
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
add edi, eax
dec edx
mov dword [esp + 0x88], edi
mov dword [esp + 0x14], edx
jne 0x4e5ee0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x4c
ret 0x2c