Function at 0x45d900
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 0x45db29
push ebp
mov edi, edi
mov ebx, dword [esp + 0x10]
add ebx, 8
je 0x45db28
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x45db11
jmp 0x45d940
lea edx, [ebp + 8]
test edx, edx
je 0x45db11
fld dword [ebx]
fld dword [edx + 4]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x45dafe
fld dword [ebx + 4]
fld dword [edx]
fcompp
fnstsw ax
test ah, 1
je 0x45dafe
fld dword [ebx + 8]
fld dword [edx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x45dafe
fld dword [ebx + 0xc]
fld dword [edx + 8]
fcompp
fnstsw ax
test ah, 1
je 0x45dafe
fld dword [ebx]
fld dword [edx]
fcompp
fnstsw ax
test ah, 5
jp 0x45d9a6
fld dword [ebx]
jmp 0x45d9a8
fld dword [edx]
fstp dword [esp + 0x18]
fld dword [ebx + 4]
fld dword [edx + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45d9c0
fld dword [ebx + 4]
jmp 0x45d9c3
fld dword [edx + 4]
fstp dword [esp + 0x1c]
fld dword [ebx + 8]
fld dword [edx + 8]
fcompp
fnstsw ax
test ah, 5
jp 0x45d9db
fld dword [ebx + 8]
jmp 0x45d9de
fld dword [edx + 8]
fstp dword [esp + 0x20]
fld dword [ebx + 0xc]
fld dword [edx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45d9f6
fld dword [ebx + 0xc]
jmp 0x45d9f9
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.0045cf50
lea ecx, [esp + 0x48]
push ecx
push edx
call fcn.0045cf50
fld dword [esp + 0x60]
add esp, 0x10
fadd dword [esp + 0x78]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fld qword [0x49e478]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
fld dword [0x49fa90]
jp 0x45da6d
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 0x45da8a
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 0x45daaa
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 0x45dace
fstp dword [esp + 0x34]
jmp 0x45dad0
fstp st(0)
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push 3
call fcn.0045d7b0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
call fcn.0045d270
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.0045d270
mov edi, dword [esp + 0x14]
push 1
mov ecx, ebp
call fcn.0045d0e0
mov ebp, eax
test ebp, ebp
jne 0x45d940
mov ecx, dword [esp + 0x10]
push 1
call fcn.0045d0e0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x45d920
pop ebp
mov esi, dword [edi]
xor ebx, ebx
cmp esi, ebx
je 0x45db69
mov ecx, esi
call fcn.0045d2b0
mov ecx, esi
mov dword [esi + 0x38], ebx
call fcn.0045d100
cmp eax, ebx
je 0x45db5b
push eax
push 3
mov ecx, edi
call fcn.0045d7b0
mov ecx, esi
call fcn.0045d100
cmp eax, ebx
jne 0x45db46
push ebx
mov ecx, esi
call fcn.0045d0e0
mov esi, eax
cmp esi, ebx
jne 0x45db31
mov esi, dword [edi + 8]
cmp esi, ebx
je 0x45dba8
mov ecx, esi
call fcn.0045d2b0
mov ecx, esi
mov dword [esi + 0x38], ebx
call fcn.0045d100
cmp eax, ebx
je 0x45db9a
push eax
push 3
mov ecx, edi
call fcn.0045d7b0
mov ecx, esi
call fcn.0045d100
cmp eax, ebx
jne 0x45db85
push ebx
mov ecx, esi
call fcn.0045d0e0
mov esi, eax
cmp esi, ebx
jne 0x45db70
pop edi
pop esi
pop ebx
add esp, 0x80
ret