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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d7778
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x70]
push edi
test eax, eax
je 0x4581cc
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
mov ecx, ebx
call fcn.00457db0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
mov edi, eax
jg 0x457fba
mov ebp, dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebx + 0x70]
mov ecx, dword [eax + 0x80]
mov esi, dword [ecx + edi*4]
mov edx, esi
shr edx, 0x10
je 0x457fb1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc8]
test eax, eax
je 0x457fb1
push esi
mov ecx, ebx
call fcn.00457ed0
test eax, eax
jge 0x457fb1
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x457f9d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
jmp 0x457fa5
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
sub eax, ecx
mov ecx, dword [esp + 0x58]
sub ecx, eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jle 0x457f53
lea ecx, [esp + 0x34]
call fcn.004a4605
mov dword [esp + 0x34], 0x4ed0d0
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
mov dword [esp + 0x54], 0
call fcn.00457e40
mov ebp, dword [esp + 0x3c]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x14], ecx
test ebp, ebp
mov edi, 2
jle 0x45806b
mov esi, dword [esp + 0x38]
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x5c]
mov eax, dword [esi]
test ecx, ecx
je 0x45800b
mov ecx, dword [eax + 0x78]
jmp 0x458011
mov ecx, dword [eax + 0x84]
mov ebp, dword [esp + 0x14]
add ebp, ecx
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x45802b
mov ecx, dword [eax + 0xa0]
jmp 0x458031
mov ecx, dword [eax + 0xa4]
add edi, ecx
test ebp, ebp
je 0x45803c
mov ecx, dword [eax + 0x7c]
jmp 0x458042
mov ecx, dword [eax + 0x80]
cmp edx, ecx
jg 0x458055
test ebp, ebp
je 0x45804f
mov edx, dword [eax + 0x7c]
jmp 0x458055
mov edx, dword [eax + 0x80]
mov eax, dword [esp + 0x18]
add esi, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x457ffc
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x58]
cmp edi, esi
jle 0x4580d6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x10]
jl 0x458087
cmp ecx, eax
jge 0x4580be
mov ecx, dword [ebx + 0x70]
push 1
inc eax
push ebx
push eax
add ecx, 0x7c
call fcn.004a3ced
mov ecx, dword [esp + 0x10]
push 1
inc ecx
push 0
push ecx
mov ecx, dword [ebx + 0x70]
add ecx, 0x7c
call fcn.004a3ced
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 0x70]
push 1
push edx
add ecx, 0x7c
call fcn.004a3d7f
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call fcn.004a4638
xor eax, eax
jmp 0x4581d1
xor eax, eax
test ebp, ebp
jle 0x4580ff
mov edi, dword [esp + 0x5c]
test edi, edi
mov edi, dword [esp + 0x38]
mov edi, dword [edi + eax*4]
je 0x4580f0
mov dword [edi + 0x7c], edx
jmp 0x4580f6
mov dword [edi + 0x80], edx
mov ebp, dword [esp + 0x3c]
inc eax
cmp eax, ebp
jl 0x4580dc
cmp ecx, esi
je 0x4581bb
sub esi, ecx
je 0x4581bb
xor ebx, ebx
mov dword [esp + 0x58], esi
test ebp, ebp
jle 0x458194
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x5c]
test edi, edi
mov eax, dword [eax + ebx*4]
je 0x458133
mov edx, dword [eax + 0xa0]
mov ecx, dword [eax + 0x78]
jmp 0x45813f
mov edx, dword [eax + 0xa4]
mov ecx, dword [eax + 0x84]
cmp ecx, edx
jne 0x458147
test esi, esi
jl 0x458181
mov ecx, dword [eax + 0xcc]
test ecx, ecx
jne 0x458181
test esi, esi
jne 0x458159
xor ecx, ecx
jmp 0x458165
xor ecx, ecx
test esi, esi
setge cl
dec ecx
and ecx, 0xfffffffe
inc ecx
test edi, edi
je 0x45816e
add eax, 0x78
jmp 0x458173
add eax, 0x84
mov edx, dword [eax]
add edx, ecx
sub esi, ecx
mov dword [eax], edx
mov ebp, dword [esp + 0x3c]
je 0x458186
inc ebx
cmp ebx, ebp
jl 0x458119
cmp dword [esp + 0x58], esi
je 0x458194
test esi, esi
jne 0x45810f
xor ecx, ecx
xor eax, eax
cmp ebp, ecx
jle 0x4581b3
mov edx, dword [esp + 0x38]
inc eax
mov edx, dword [edx + eax*4 - 4]
mov dword [edx + 0xcc], ecx
mov ebp, dword [esp + 0x3c]
cmp eax, ebp
jl 0x45819c
cmp esi, ecx
jne 0x45810f
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call fcn.004a4638
mov eax, 1
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x44
ret 8