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

Disassembly:
push ebx
push esi
mov ebx, ecx
push ebp
sub esp, 0x40
cmp byte [ebx + 0x78], 0
fldz
fldz
fldz
jne 0x54b068
mov eax, 0x7e46b8
fld dword [eax + 8]
fsub dword [ebx + 0x90]
fstp st(1)
fld dword [eax + 4]
fsub dword [ebx + 0x8c]
fstp st(2)
fld dword [eax]
fsub dword [ebx + 0x88]
fstp st(3)
fld st(1)
fstp st(2)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld st(1)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fsqrt
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(3)
fld st(2)
fcomp dword [0x696a60]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54b071
fld dword [ebx + 0x94]
fstp dword [esp + 0xc]
fld dword [ebx + 0x90]
fstp st(2)
fld dword [ebx + 0x8c]
fstp st(3)
fld dword [ebx + 0x88]
fstp dword [esp + 0x28]
fld st(2)
fstp dword [esp + 0x2c]
fld st(1)
lea eax, [esp + 0x28]
lea ebp, [esp + 0x28]
fstp dword [esp + 0x30]
fcompp
push 0x7e4ea8
push 1
push ebp
push eax
fstp st(0)
call fcn.00647160
fldz
fldz
fld dword [esp + 0x3c]
fstp st(2)
add esp, 0x10
fld st(1)
fadd dword [esp + 0xc]
fcomp dword [0x978534]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54aaa0
xor al, al
jmp 0x54ab53
fld st(1)
fsub dword [esp + 0xc]
fcomp dword [0xa10678]
fnstsw ax
test ah, 0x45
jne 0x54aac0
xor al, al
jmp 0x54ab53
fld st(1)
fmul dword [0x7e4f44]
fld dword [esp + 0x28]
fmul dword [0x7e4f40]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54aae3
xor al, al
jmp 0x54ab53
fld st(1)
fmul dword [0x7e4f50]
fld dword [esp + 0x28]
fmul dword [0x7e4f4c]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab06
xor al, al
jmp 0x54ab53
fld dword [esp + 0x30]
fst st(1)
fmul dword [0x7e4f60]
fld st(2)
fmul dword [0x7e4f5c]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab30
xor al, al
jmp 0x54ab53
fld st(0)
fmul dword [0x7e4f6c]
fld st(2)
fmul dword [0x7e4f68]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab51
xor al, al
jmp 0x54ab53
mov al, 1
test al, al
je 0x54b080
fcompp
mov ecx, dword [0x94dbe0]
call fcn.0054fc70
mov edx, dword [ebx + 0x7c]
add edx, 0xa
cmp eax, edx
jle 0x54abf9
xor ebp, ebp
mov byte [ebx + 0x78], 1
jmp 0x54abf4
push 0x194
call fcn.004e4070
test eax, eax
pop ecx
je 0x54aba0
movzx ecx, word [0x68e9fc]
push 1
push ecx
mov ecx, eax
call fcn.004e41b0
mov dword [ebx + ebp*4 + 0x98], eax
mov eax, dword [ebx + ebp*4 + 0x98]
test eax, eax
fldz
fldz
je 0x54b061
fld dword [ebx + 0x14]
fstp st(1)
fld dword [ebx + 0x10]
fstp st(2)
fld dword [ebx + 0xc]
add eax, 4
fstp dword [eax + 0x30]
fld st(1)
fstp dword [eax + 0x34]
fst dword [eax + 0x38]
fcompp
mov eax, dword [ebx + ebp*4 + 0x98]
push eax
call fcn.004db3f0
mov eax, dword [ebx + ebp*4 + 0x98]
pop ecx
mov byte [eax + 0x16c], 5
inc ebp
cmp ebp, dword [ebx + 0x7c]
jl 0x54ab80
cmp byte [ebx + 0x78], 0
je 0x54b05a
mov edx, dword [0x974b2c]
mov dword [esp + 0x24], 0
and edx, 0x3fff
xor ebp, ebp
mov eax, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x20], eax
fild qword [esp + 0x20]
fmul dword [0x696a64]
fstp dword [esp + 4]
jmp 0x54ae67
mov ecx, dword [ebx + ebp*4 + 0x98]
test ecx, ecx
je 0x54b087
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
fdivrp st(1)
fadd dword [esp + 4]
fstp dword [esp + 8]
fld dword [esp + 8]
fcomp dword [0x696a38]
fnstsw ax
test ah, 0x45
jne 0x54ac7e
fld dword [esp + 8]
fsub dword [0x696a38]
fstp dword [esp + 8]
cmp byte [ebx + 0x79], 0
je 0x54ac92
fld dword [0x696a38]
fsub dword [esp + 8]
fstp dword [esp + 8]
fld dword [ecx + 0x3c]
fstp dword [esp + 0x1c]
fld dword [ecx + 0x38]
fstp dword [esp + 0x18]
fld dword [ecx + 0x34]
fstp dword [esp + 0x14]
fcompp
lea eax, [ebx + 0x30]
add ecx, 4
push eax
fstp st(0)
call fcn.004df8c0
fldz
fldz
fldz
fldz
fldz
fld dword [ebx + 0x80]
fstp st(5)
fld dword [esp + 8]
fcomp st(5)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54ad20
fld dword [esp + 8]
fdiv st(5)
fstp st(3)
fld dword [0x696a38]
fsub st(3)
fstp st(4)
fld st(3)
fmul dword [ebx + 8]
fstp st(2)
fld st(3)
fmul dword [ebx]
fld st(3)
fmul dword [ebx + 0xc]
faddp st(1)
fstp st(5)
fld st(3)
fmul dword [ebx + 4]
fld st(3)
fmul dword [ebx + 0x10]
faddp st(1)
fstp st(4)
fld st(2)
fmul dword [ebx + 0x14]
fadd st(2)
jmp 0x54adc6
fld dword [ebx + 0x84]
fstp st(4)
fld dword [esp + 8]
fcomp st(4)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54ad80
fld st(3)
fsub st(5)
fld dword [esp + 8]
fsub st(6)
fdivrp st(1)
fstp st(2)
fld dword [0x696a38]
fsub st(2)
fstp st(4)
fld st(3)
fmul dword [ebx + 0x14]
fstp st(3)
fld st(3)
fmul dword [ebx + 0xc]
fld st(2)
fmul dword [ebx + 0x18]
faddp st(1)
fstp st(5)
fld st(3)
fmul dword [ebx + 0x10]
fld st(2)
fmul dword [ebx + 0x1c]
faddp st(1)
fstp st(4)
fld st(1)
fmul dword [ebx + 0x20]
fadd st(3)
jmp 0x54adc6
fld dword [esp + 8]
fsub st(4)
fld dword [0x696a38]
fsub st(5)
fdivp st(1)
fstp st(2)
fld dword [0x696a38]
fsub st(2)
fstp st(4)
fld st(3)
fmul dword [ebx + 0x20]
fstp st(3)
fld st(3)
fmul dword [ebx + 0x18]
fld st(2)
fmul dword [ebx + 0x24]
faddp st(1)
fstp st(5)
fld st(3)
fmul dword [ebx + 0x1c]
fld st(2)
fmul dword [ebx + 0x28]
faddp st(1)
fstp st(4)
fld st(1)
fmul dword [ebx + 0x2c]
fadd st(3)
fstp st(2)
fld st(4)
mov eax, dword [ebx + ebp*4 + 0x98]
fstp dword [eax + 0x34]
fld st(3)
mov ecx, dword [ebx + ebp*4 + 0x98]
fstp dword [ecx + 0x38]
fld st(1)
mov eax, dword [ebx + ebp*4 + 0x98]
fstp dword [eax + 0x3c]
fld dword [0x696a38]
fcomp dword [0x975424]
fnstsw ax
test ah, 0x45
jne 0x54ae07
fld dword [0x696a38]
jmp 0x54ae0d
fld dword [0x975424]
fstp st(3)
fld dword [0x696a38]
fdiv st(3)
fstp st(1)
fld st(1)
fsub dword [esp + 0x1c]
mov eax, dword [ebx + ebp*4 + 0x98]
fmul st(1)
fstp st(3)
fld st(4)
fsub dword [esp + 0x14]
fmul st(1)
fstp dword [eax + 0x70]
fld st(3)
fsub dword [esp + 0x18]
fmul st(1)
fstp dword [eax + 0x74]
fld st(2)
fstp dword [eax + 0x78]
fcompp
fcompp
mov ecx, dword [ebx + ebp*4 + 0x98]
add ecx, 4
fstp st(0)
call fcn.004df8f0
mov ecx, dword [ebx + ebp*4 + 0x98]
call fcn.00489360
inc ebp
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
fldz
fldz
fldz
jl 0x54ac36
mov eax, 0x7e46b8
fld dword [eax + 8]
fsub dword [ebx + 0x90]
fstp st(1)
fld dword [eax + 4]
fsub dword [ebx + 0x8c]
fstp st(2)
fld dword [eax]
fsub dword [ebx + 0x88]
fstp st(3)
fld st(1)
fstp st(2)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld st(1)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fsqrt
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(3)
fld st(2)
fcomp dword [0x696a68]
fnstsw ax
test ah, 0x45
je 0x54b090
fld dword [ebx + 0x94]
fstp dword [esp + 0x10]
fld dword [ebx + 0x90]
fstp st(2)
fld dword [ebx + 0x8c]
fstp st(3)
fld dword [ebx + 0x88]
fstp dword [esp + 0x34]
fld st(2)
fstp dword [esp + 0x38]
fld st(1)
lea eax, [esp + 0x34]
lea edx, [esp + 0x34]
fstp dword [esp + 0x3c]
fcompp
push 0x7e4ea8
push 1
push edx
push eax
fstp st(0)
call fcn.00647160
fldz
fldz
fld dword [esp + 0x48]
fstp st(2)
add esp, 0x10
fld st(1)
fadd dword [esp + 0x10]
fcomp dword [0x978534]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54af50
xor al, al
jmp 0x54b003
fld st(1)
fsub dword [esp + 0x10]
fcomp dword [0xa10678]
fnstsw ax
test ah, 0x45
jne 0x54af70
xor al, al
jmp 0x54b003
fld st(1)
fmul dword [0x7e4f44]
fld dword [esp + 0x34]
fmul dword [0x7e4f40]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54af93
xor al, al
jmp 0x54b003
fld st(1)
fmul dword [0x7e4f50]
fld dword [esp + 0x34]
fmul dword [0x7e4f4c]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54afb6
xor al, al
jmp 0x54b003
fld dword [esp + 0x3c]
fst st(1)
fmul dword [0x7e4f60]
fld st(2)
fmul dword [0x7e4f5c]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54afe0
xor al, al
jmp 0x54b003
fld st(0)
fmul dword [0x7e4f6c]
fld st(2)
fmul dword [0x7e4f68]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54b001
xor al, al
jmp 0x54b003
mov al, 1
fcompp
test al, al
jne 0x54b05a
cmp byte [ebx + 0x78], 0
je 0x54b05a
xor esi, esi
jmp 0x54b051
mov eax, dword [ebx + esi*4 + 0x98]
test eax, eax
je 0x54b050
push eax
call fcn.004db310
mov byte [0xa10b2f], 1
pop ecx
mov ecx, dword [ebx + esi*4 + 0x98]
test ecx, ecx
je 0x54b03e
mov ebp, dword [ecx]
push 1
call dword [ebp + 8]
mov byte [0xa10b2f], 0
mov dword [ebx + esi*4 + 0x98], 0
inc esi
cmp esi, dword [ebx + 0x7c]
jl 0x54b013
mov byte [ebx + 0x78], 0
add esp, 0x40
pop ebp
pop esi
pop ebx
ret
fcompp
jmp 0x54abf3
fcompp
fstp st(0)
jmp 0x54abf9
fcompp
fstp st(0)
jmp 0x54abf9
fcompp
jmp 0x54abf9
fcompp
fstp st(0)
jmp 0x54ae66
fcompp
fstp st(0)
jmp 0x54b009