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

Disassembly:
push 0xffffffffffffffff
push 0x4f0198
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], 0x1297004
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x80], edi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov esi, dword [ebp]
push eax
push ecx
push edx
push esi
push edx
call 0x1860a31
push eax
lea ecx, [esp + 0x3c]
call fcn.004ea395
mov eax, dword [ebx + 0x5c]
cmp eax, edi
je 0x457da6
cmp dword [ebx + 0xec], edi
jne 0x457a6b
mov ecx, eax
cmp ecx, edi
jne 0x457a5b
xor ecx, ecx
jmp 0x457a5e
mov ecx, dword [ebx + 0x54]
push eax
push ecx
call fcn.00462270
mov dword [ebx + 0xec], eax
mov eax, dword [ebx + 0xec]
mov dword [esp + 0x64], edi
cmp eax, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
je 0x457da6
mov eax, dword [ebx + 0x48]
push eax
call fcn.0043d1a0
mov edx, dword [ebx + 0xec]
add esp, 4
lea ecx, [esp + 0x60]
push eax
mov eax, dword [esp + 0x8c]
push ecx
push edx
push eax
call fcn.004623c0
cmp eax, 1
jne 0x457da6
mov edx, dword [ebx + 0x1c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ecx
call 0x1b631ed
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x40]
sub ecx, edx
mov edx, dword [ebx + 0x60]
sub eax, esi
xor esi, esi
cmp edx, 3
mov dword [esp + 0x8c], eax
mov dword [esp + 0x10], ecx
ja case.default.0x457afc
jmp dword [edx*4 + 0x457e64]
push 0xcc0020
push 0xffffffffffffffff
xor edi, edi
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x70]
push edi
push eax
call fcn.00462800
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0x1297004
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
push edx
push edi
push edi
mov byte [esp + 0x90], 1
push ebx
call 0x1b30c06
push eax
lea ecx, [esp + 0x2c]
call fcn.004ea395
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x28]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x38]
neg eax
sbb eax, eax
push 4
and eax, esi
neg ecx
sbb ecx, ecx
push eax
and ecx, edx
push ecx
push edx
call 0x1343ce3
xor edi, edi
cmp ecx, edi
jle 0x457c42
pop ebx
call 0x1ba78fd
mov ecx, dword [esp + 0x68]
xor edi, edi
test eax, eax
jle 0x457c2a
mov eax, dword [esp + 0x6c]
add ecx, edi
add eax, esi
push eax
push ecx
push esi
lea ecx, [esp + 0x5c]
push edi
push ecx
call ebx
lea edx, [esp + 0x50]
push ebp
lea eax, [esp + 0x2c]
push edx
push eax
push esi
call 0x1c218ea
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x18]
mov dword [esp + 0x20], eax
push edx
mov dword [esp + 0x28], ecx
push eax
call 0x1a9f3ff
test eax, eax
jne 0x457c19
push 0xcc0020
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x70]
push edi
push eax
call fcn.00462800
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x8c]
add edi, ecx
cmp edi, eax
jl 0x457bb1
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
add esi, edi
cmp esi, edx
jl 0x457bab
mov ebx, dword [esp + 0x14]
xor edi, edi
lea ecx, [esp + 0x38]
call fcn.004ea3ec
jmp 0x457d9c
mov ecx, dword [ebx + 0xec]
mov ebp, dword [ecx + 4]
mov dword [esp + 0x18], ebp
mov ebx, dword [ecx + 8]
cmp ebp, eax
mov dword [esp + 0x28], ebx
jg 0x457c7a
sub eax, ebp
mov dword [esp + 0x8c], ebp
cdq
sub eax, edx
mov edi, eax
mov eax, ebp
sar edi, 1
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
jg 0x457c98
mov eax, ecx
mov dword [esp + 0x10], ebx
sub eax, ebx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x8c]
sar esi, 1
cmp ebp, eax
jg 0x457ca2
cmp ebx, dword [esp + 0x10]
jle 0x457d0b
fild dword [esp + 0x18]
fild dword [esp + 0x8c]
fdiv st(1)
fild dword [esp + 0x28]
fst qword [esp + 0x18]
fild dword [esp + 0x10]
fdiv st(1)
fstp qword [esp + 0x28]
fstp st(0)
fcom qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x457cd4
fstp st(0)
fld qword [esp + 0x28]
fxch st(1)
fmul st(1)
call fcn.004ced3c
fld qword [esp + 0x18]
fmul st(1)
mov ebp, eax
call fcn.004ced3c
mov ebx, eax
mov eax, dword [esp + 0x8c]
sub eax, ebp
cdq
fstp st(0)
sub eax, edx
sar eax, 1
add edi, eax
mov eax, dword [esp + 0x10]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add esi, eax
push 0xcc0020
push ebx
push ebp
push esi
lea ecx, [esp + 0x70]
push edi
push ecx
call fcn.00462800
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0x1297004
add ebx, esi
add ebp, edi
push ebx
push ebp
push esi
push edi
mov byte [esp + 0x90], 3
push esi
call 0x1343a7d
push eax
lea ecx, [esp + 0x2c]
call fcn.004ea395
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x28]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x38]
neg eax
sbb eax, eax
push 4
and eax, esi
neg ecx
sbb ecx, ecx
push eax
and ecx, edx
push ecx
push edx
call 0x1b1158d
xor edi, edi
lea eax, [esp + 0x60]
push eax
call fcn.00462bb0
lea ecx, [esp + 0x38]
test ecx, ecx
je 0x457e0b
cmp dword [esp + 0x3c], edi
je 0x457e0b
mov edx, dword [ebx + 0x48]
push edx
call fcn.0043d1a0
add esp, 4
lea ecx, [esp + 0x28]
push eax
call fcn.004ea452
cmp eax, edi
je 0x457dd1
mov edi, dword [eax + 4]
mov esi, dword [esp + 0x3c]
lea eax, [esp + 0x38]
neg eax
sbb eax, eax
push edi
and eax, esi
push eax
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 4]
push ecx
call 0x145c9cc
mov dword [esp + 0x38], method.CGdiObject.virtual_0
lea ecx, [esp + 0x38]
mov dword [esp + 0x80], 6
call fcn.004ea3ec
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
mov eax, 0x1335437
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret 8
push 0xcc0020
push ecx
xor edi, edi
push eax
push edi
lea edx, [esp + 0x70]
push edi
push edx
call fcn.00462800
lea ecx, [esp + 0x38]
call fcn.004ea3ec
jmp 0x457d9c