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

Disassembly:
push 0xffffffffffffffff
push 0x565fe8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b7a9c]
xor eax, esp
push eax
lea eax, [esp + 0x54]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0xa8], 0
je 0x4d57e8
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x68]
push ecx
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ebx, dword [esp + 0x6c]
mov eax, ebx
cdq
idiv dword [esi + 0x98]
mov ecx, dword [esp + 0x68]
mov edi, eax
mov eax, ecx
cdq
idiv dword [esi + 0x94]
mov ebp, eax
test ecx, ecx
jl 0x4d5554
test ebx, ebx
jl 0x4d5554
cmp edi, dword [esi + 0x74]
jne 0x4d5554
cmp ebp, dword [esi + 0x78]
je 0x4d57e8
push esi
lea ecx, [esp + 0x44]
call fcn.00509a70
mov dword [esp + 0x5c], 0
test edi, edi
jl 0x4d5664
test ebp, ebp
jl 0x4d5664
mov eax, dword [esi + 0xa0]
cmp edi, eax
jge 0x4d558c
cmp ebp, dword [esi + 0x9c]
jl 0x4d5664
cmp edi, eax
mov ebx, eax
jl 0x4d5599
inc edi
mov dword [esi + 0xa0], edi
cmp ebp, dword [esi + 0x9c]
jl 0x4d55a8
inc ebp
mov dword [esi + 0x9c], ebp
mov ecx, dword [esi + 0x20]
push 0
lea eax, [esp + 0x34]
push eax
push 0
push ecx
call fcn.0044dcd0
mov eax, dword [0x5ece5c]
neg eax
add eax, eax
sub eax, dword [esi + 0xa4]
add esp, 0x10
sub eax, dword [esi + 0x90]
add eax, dword [esp + 0x3c]
cdq
idiv dword [esi + 0x98]
mov ecx, eax
mov eax, dword [0x5ece58]
neg eax
add eax, eax
sub eax, dword [esi + 0x8c]
add eax, dword [esp + 0x38]
cdq
idiv dword [esi + 0x94]
mov edx, dword [esi + 0xa0]
cmp edx, ecx
jge 0x4d5605
mov ecx, edx
mov dword [esi + 0xa0], ecx
mov ecx, dword [esi + 0x9c]
cmp ecx, eax
jl 0x4d5617
mov ecx, eax
mov dword [esi + 0x9c], ecx
push 0
mov ecx, esi
call fcn.004d50d0
cmp ebx, dword [esi + 0xa0]
jge 0x4d5658
xor edi, edi
cmp dword [esi + 0x9c], edi
jle 0x4d564f
mov edx, dword [esp + 0x44]
push edi
push ebx
push edx
mov ecx, esi
call fcn.004d4fd0
inc edi
cmp edi, dword [esi + 0x9c]
jl 0x4d5638
inc ebx
cmp ebx, dword [esi + 0xa0]
jl 0x4d562e
mov eax, dword [esp + 0x44]
push eax
mov ecx, esi
call fcn.004d4f40
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x20]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
sub eax, dword [esi + 0xa4]
mov ebx, dword [esp + 0x68]
dec ecx
cmp ebx, ecx
mov dword [esp + 0x2c], eax
jl 0x4d5694
mov ebx, ecx
mov dword [esp + 0x68], ebx
dec eax
cmp dword [esp + 0x6c], eax
jl 0x4d569f
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x74]
xor ecx, ecx
test eax, eax
setl cl
xor edx, edx
dec ecx
and ecx, eax
mov eax, dword [esi + 0x78]
test eax, eax
setl dl
mov dword [esp + 0x1c], ecx
dec edx
and edx, eax
mov eax, dword [esp + 0x6c]
mov ebp, edx
cdq
idiv dword [esi + 0x98]
mov edi, eax
mov eax, ebx
cdq
idiv dword [esi + 0x94]
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], eax
test ebx, ebx
jl 0x4d5798
cmp dword [esp + 0x6c], 0
jl 0x4d5798
cmp ecx, edi
mov dword [esp + 0x1c], ecx
jl 0x4d5702
mov dword [esp + 0x1c], edi
jle 0x4d5702
mov dword [esp + 0x18], ecx
jmp 0x4d5708
mov dword [esp + 0x18], edi
mov ecx, edi
cmp ebp, eax
jge 0x4d5714
mov edx, ebp
mov dword [esp + 0x14], edx
jmp 0x4d571a
mov dword [esp + 0x14], eax
mov edx, eax
cmp ebp, eax
jg 0x4d5720
mov ebp, eax
xor ebx, ebx
test ecx, ecx
jl 0x4d5750
cmp edx, ebp
mov edi, edx
jg 0x4d574b
lea esp, [esp]
mov eax, dword [esp + 0x44]
push edi
push ebx
push eax
mov ecx, esi
call fcn.004d4fd0
inc edi
cmp edi, ebp
jle 0x4d5730
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc ebx
cmp ebx, ecx
jle 0x4d5726
mov ebx, dword [esp + 0x1c]
cmp ebx, ecx
jg 0x4d5782
xor edi, edi
test edx, edx
jl 0x4d577d
mov edi, edi
mov ecx, dword [esp + 0x44]
push edi
push ebx
push ecx
mov ecx, esi
call fcn.004d4fd0
inc edi
cmp edi, dword [esp + 0x14]
jle 0x4d5760
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc ebx
cmp ebx, ecx
jle 0x4d5758
mov edx, dword [esp + 0x44]
push edx
mov ecx, esi
call fcn.004d5330
mov dword [esp + 0x5c], 0xffffffff
jmp 0x4d57df
or edi, 0xffffffff
xor ebx, ebx
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], edi
test ecx, ecx
jl 0x4d57cf
xor edi, edi
test ebp, ebp
jl 0x4d57c7
lea ecx, [ecx]
mov eax, dword [esp + 0x44]
push edi
push ebx
push eax
mov ecx, esi
call fcn.004d4fd0
inc edi
cmp edi, ebp
jle 0x4d57b0
mov ecx, dword [esp + 0x1c]
inc ebx
cmp ebx, ecx
jle 0x4d57a7
or edi, 0xffffffff
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, esi
call fcn.004d5330
mov dword [esp + 0x5c], edi
lea ecx, [esp + 0x40]
call fcn.00509ac4
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0xc