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

Disassembly:
sub esp, 0x80
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi]
test eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
je 0x459ef9
push ebp
mov edi, edi
mov ebx, dword [esp + 0x10]
add ebx, 8
je 0x459ef8
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x459ee1
jmp 0x459d10
lea edx, [ebp + 8]
test edx, edx
je 0x459ee1
fld dword [ebx]
fld dword [edx + 4]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x459ece
fld dword [ebx + 4]
fld dword [edx]
fcompp
fnstsw ax
test ah, 1
je 0x459ece
fld dword [ebx + 8]
fld dword [edx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x459ece
fld dword [ebx + 0xc]
fld dword [edx + 8]
fcompp
fnstsw ax
test ah, 1
je 0x459ece
fld dword [ebx]
fld dword [edx]
fcompp
fnstsw ax
test ah, 5
jp 0x459d76
fld dword [ebx]
jmp 0x459d78
fld dword [edx]
fstp dword [esp + 0x18]
fld dword [ebx + 4]
fld dword [edx + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x459d90
fld dword [ebx + 4]
jmp 0x459d93
fld dword [edx + 4]
fstp dword [esp + 0x1c]
fld dword [ebx + 8]
fld dword [edx + 8]
fcompp
fnstsw ax
test ah, 5
jp 0x459dab
fld dword [ebx + 8]
jmp 0x459dae
fld dword [edx + 8]
fstp dword [esp + 0x20]
fld dword [ebx + 0xc]
fld dword [edx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x459dc6
fld dword [ebx + 0xc]
jmp 0x459dc9
fld dword [edx + 0xc]
mov eax, dword [edx + 0x24]
fstp dword [esp + 0x24]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x68]
mov ecx, 0xa
lea esi, [esp + 0x18]
lea edi, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0xa
lea esi, [esp + 0x1c]
lea edi, [esp + 0x44]
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00459320
lea ecx, [esp + 0x48]
push ecx
push edx
call fcn.00459320
fld dword [esp + 0x60]
add esp, 0x10
fadd dword [esp + 0x78]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fld qword [0x497478]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
fld dword [0x4989b8]
jp 0x459e3d
fst dword [esp + 0x28]
fld dword [esp + 0x54]
fadd dword [esp + 0x7c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x459e5a
fst dword [esp + 0x2c]
fld dword [esp + 0x58]
fadd dword [esp + 0x80]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x459e7a
fst dword [esp + 0x30]
fld dword [esp + 0x5c]
fadd dword [esp + 0x84]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x459e9e
fstp dword [esp + 0x34]
jmp 0x459ea0
fstp st(0)
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push 3
call fcn.00459b80
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
call fcn.00459640
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.00459640
mov edi, dword [esp + 0x14]
push 1
mov ecx, ebp
call fcn.004594b0
mov ebp, eax
test ebp, ebp
jne 0x459d10
mov ecx, dword [esp + 0x10]
push 1
call fcn.004594b0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x459cf0
pop ebp
mov esi, dword [edi]
xor ebx, ebx
cmp esi, ebx
je 0x459f39
mov ecx, esi
call fcn.00459680
mov ecx, esi
mov dword [esi + 0x38], ebx
call fcn.004594d0
cmp eax, ebx
je 0x459f2b
push eax
push 3
mov ecx, edi
call fcn.00459b80
mov ecx, esi
call fcn.004594d0
cmp eax, ebx
jne 0x459f16
push ebx
mov ecx, esi
call fcn.004594b0
mov esi, eax
cmp esi, ebx
jne 0x459f01
mov esi, dword [edi + 8]
cmp esi, ebx
je 0x459f78
mov ecx, esi
call fcn.00459680
mov ecx, esi
mov dword [esi + 0x38], ebx
call fcn.004594d0
cmp eax, ebx
je 0x459f6a
push eax
push 3
mov ecx, edi
call fcn.00459b80
mov ecx, esi
call fcn.004594d0
cmp eax, ebx
jne 0x459f55
push ebx
mov ecx, esi
call fcn.004594b0
mov esi, eax
cmp esi, ebx
jne 0x459f40
pop edi
pop esi
pop ebx
add esp, 0x80
ret