Function at 0x54a9d0
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 0x54b088
mov eax, 0x7e46c0
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 0x54b091
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 0x7e4eb0
push 1
push ebp
push eax
fstp st(0)
call fcn.006471b0
fldz
fldz
fld dword [esp + 0x3c]
fstp st(2)
add esp, 0x10
fld st(1)
fadd dword [esp + 0xc]
fcomp dword [0x97853c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54aac0
xor al, al
jmp 0x54ab73
fld st(1)
fsub dword [esp + 0xc]
fcomp dword [0xa10680]
fnstsw ax
test ah, 0x45
jne 0x54aae0
xor al, al
jmp 0x54ab73
fld st(1)
fmul dword [0x7e4f4c]
fld dword [esp + 0x28]
fmul dword [0x7e4f48]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab03
xor al, al
jmp 0x54ab73
fld st(1)
fmul dword [0x7e4f58]
fld dword [esp + 0x28]
fmul dword [0x7e4f54]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab26
xor al, al
jmp 0x54ab73
fld dword [esp + 0x30]
fst st(1)
fmul dword [0x7e4f68]
fld st(2)
fmul dword [0x7e4f64]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab50
xor al, al
jmp 0x54ab73
fld st(0)
fmul dword [0x7e4f74]
fld st(2)
fmul dword [0x7e4f70]
faddp st(1)
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x45
jne 0x54ab71
xor al, al
jmp 0x54ab73
mov al, 1
test al, al
je 0x54b0a0
fcompp
mov ecx, dword [0x94dbe8]
call fcn.0054fc90
mov edx, dword [ebx + 0x7c]
add edx, 0xa
cmp eax, edx
jle 0x54ac19
xor ebp, ebp
mov byte [ebx + 0x78], 1
jmp 0x54ac14
push 0x194
call fcn.004e4090
test eax, eax
pop ecx
je 0x54abc0
movzx ecx, word [0x68e9fc]
push 1
push ecx
mov ecx, eax
call fcn.004e41d0
mov dword [ebx + ebp*4 + 0x98], eax
mov eax, dword [ebx + ebp*4 + 0x98]
test eax, eax
fldz
fldz
je 0x54b081
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.004db410
mov eax, dword [ebx + ebp*4 + 0x98]
pop ecx
mov byte [eax + 0x16c], 5
inc ebp
cmp ebp, dword [ebx + 0x7c]
jl 0x54aba0
cmp byte [ebx + 0x78], 0
je 0x54b07a
mov edx, dword [0x974b34]
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 0x54ae87
mov ecx, dword [ebx + ebp*4 + 0x98]
test ecx, ecx
je 0x54b0a7
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 0x54ac9e
fld dword [esp + 8]
fsub dword [0x696a38]
fstp dword [esp + 8]
cmp byte [ebx + 0x79], 0
je 0x54acb2
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.004df8e0
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 0x54ad40
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 0x54ade6
fld dword [ebx + 0x84]
fstp st(4)
fld dword [esp + 8]
fcomp st(4)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54ada0
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 0x54ade6
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 [0x97542c]
fnstsw ax
test ah, 0x45
jne 0x54ae27
fld dword [0x696a38]
jmp 0x54ae2d
fld dword [0x97542c]
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.004df910
mov ecx, dword [ebx + ebp*4 + 0x98]
call fcn.00489360
inc ebp
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
fldz
fldz
fldz
jl 0x54ac56
mov eax, 0x7e46c0
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 0x54b0b0
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 0x7e4eb0
push 1
push edx
push eax
fstp st(0)
call fcn.006471b0
fldz
fldz
fld dword [esp + 0x48]
fstp st(2)
add esp, 0x10
fld st(1)
fadd dword [esp + 0x10]
fcomp dword [0x97853c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x54af70
xor al, al
jmp 0x54b023
fld st(1)
fsub dword [esp + 0x10]
fcomp dword [0xa10680]
fnstsw ax
test ah, 0x45
jne 0x54af90
xor al, al
jmp 0x54b023
fld st(1)
fmul dword [0x7e4f4c]
fld dword [esp + 0x34]
fmul dword [0x7e4f48]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54afb3
xor al, al
jmp 0x54b023
fld st(1)
fmul dword [0x7e4f58]
fld dword [esp + 0x34]
fmul dword [0x7e4f54]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54afd6
xor al, al
jmp 0x54b023
fld dword [esp + 0x3c]
fst st(1)
fmul dword [0x7e4f68]
fld st(2)
fmul dword [0x7e4f64]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54b000
xor al, al
jmp 0x54b023
fld st(0)
fmul dword [0x7e4f74]
fld st(2)
fmul dword [0x7e4f70]
faddp st(1)
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x54b021
xor al, al
jmp 0x54b023
mov al, 1
fcompp
test al, al
jne 0x54b07a
cmp byte [ebx + 0x78], 0
je 0x54b07a
xor esi, esi
jmp 0x54b071
mov eax, dword [ebx + esi*4 + 0x98]
test eax, eax
je 0x54b070
push eax
call fcn.004db330
mov byte [0xa10b37], 1
pop ecx
mov ecx, dword [ebx + esi*4 + 0x98]
test ecx, ecx
je 0x54b05e
mov ebp, dword [ecx]
push 1
call dword [ebp + 8]
mov byte [0xa10b37], 0
mov dword [ebx + esi*4 + 0x98], 0
inc esi
cmp esi, dword [ebx + 0x7c]
jl 0x54b033
mov byte [ebx + 0x78], 0
add esp, 0x40
pop ebp
pop esi
pop ebx
ret
fcompp
jmp 0x54ac13
fcompp
fstp st(0)
jmp 0x54ac19
fcompp
fstp st(0)
jmp 0x54ac19
fcompp
jmp 0x54ac19
fcompp
fstp st(0)
jmp 0x54ae86
fcompp
fstp st(0)
jmp 0x54b029