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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x88
cmp byte [0x64d061], 0
fldz
mov ebx, ecx
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0xc4]
mov ebp, dword [esp + 0xa8]
jne 0x55131a
mov byte [0x64d061], 1
mov byte [0x64d060], 0
fld dword [0x602534]
mov eax, dword [esp + 0xa4]
xor ecx, ecx
fstp dword [esp + 4]
fld dword [0x602534]
fstp dword [esp + 8]
fld dword [eax + 4]
mov eax, dword [esp + 0x9c]
xor edx, edx
fmul dword [eax + 4]
mov eax, dword [esp + 0xa4]
fld dword [eax]
mov eax, dword [esp + 0x9c]
fmul dword [eax]
mov eax, dword [esp + 0xa4]
faddp st(1)
fld dword [eax + 8]
mov eax, dword [esp + 0x9c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0xb4]
fcomp dword [0x602534]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x551390
mov edx, 1
test dl, dl
jne 0x551399
mov ecx, 1
mov byte [0x64d062], cl
cmp byte [0x64d062], 0
je 0x5513b5
fld dword [0x602534]
fstp dword [esp + 0xb0]
fld dword [esp + 0xb0]
fcomp dword [0x602534]
fnstsw ax
xor edx, edx
xor ecx, ecx
and ah, 0x44
cmp ah, 0x40
jne 0x5513d5
mov edx, 1
test dl, dl
jne 0x5513de
mov ecx, 1
mov byte [0x64d063], cl
cmp dword [edi], 0
je 0x5513f0
mov byte [0x64d060], 1
mov dword [edi], 0
cmp byte [0x64d060], 0
fld dword [esp + 0xb8]
fmul dword [0x8e2cb4]
fstp dword [esp + 0xb8]
je 0x55142d
fld dword [esp + 0xb8]
mov eax, dword [ebx + 0x128]
fmul dword [eax + 0xa4]
fstp dword [esp + 0xb8]
mov eax, dword [esp + 0xa4]
fld dword [eax + 4]
fmul dword [esi + 4]
fld dword [eax]
fmul dword [esi]
faddp st(1)
fld dword [eax + 8]
fmul dword [esi + 8]
faddp st(1)
fstp st(1)
fld dword [0x602534]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x551930
mov eax, dword [esp + 0xac]
cmp word [esp + 0xc8], 1
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld st(1)
fchs
fdivrp st(1)
fstp dword [esp + 8]
jne 0x551937
fld dword [0x602538]
fstp dword [esp + 0x14]
fld dword [0x602540]
fmul dword [0x602538]
fstp dword [esp + 0x10]
fstp st(0)
call fcn.005a41d0
and eax, 0xffff
fldz
fldz
fld dword [esp + 0x14]
mov dword [esp + 0x20], eax
fsub dword [esp + 0x10]
fild dword [esp + 0x20]
fmul dword [0x602544]
fmulp st(1)
fadd dword [esp + 0x10]
fstp st(2)
fld dword [esp + 0x18]
fcomp dword [0x60253c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5514f0
fld dword [esp + 0x18]
jmp 0x5514f6
fld dword [0x60253c]
fstp st(1)
fld st(0)
fmul st(2)
fadd dword [esp + 8]
fstp dword [esp + 8]
cmp byte [0x64d063], 0
je 0x551580
fld dword [esp + 8]
mov eax, dword [esp + 0xb0]
fcomp dword [0x602534]
mov dword [esp + 4], eax
fnstsw ax
test ah, 0x45
jne 0x551550
fld dword [esp + 8]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x45
jne 0x5516ab
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
jmp 0x5516ab
fld dword [esp + 0xb8]
fchs
fstp st(2)
fld dword [esp + 8]
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5516ab
fld st(1)
fstp dword [esp + 8]
jmp 0x5516ab
fld dword [0x602534]
fcomp dword [esp + 0x18]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x5516ab
mov eax, dword [esp + 0xac]
cmp byte [0x64d062], 0
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld dword [esp + 0x18]
fchs
fdivrp st(1)
fstp dword [esp + 4]
jne 0x551616
fld dword [ebx + 0x1ec]
fcomp dword [0x602548]
fnstsw ax
xor edx, edx
and ah, 5
cmp ah, 1
jne 0x5515d5
inc edx
movzx eax, dl
test eax, eax
je 0x551616
movsx eax, word [ebx + 0x5c]
cmp eax, 0x83
jne 0x551600
fld dword [0x60254c]
fmul dword [0x728064]
mov eax, dword [ebx + 0x128]
jmp 0x55160c
fld dword [0x728064]
mov eax, dword [ebx + 0x128]
fdiv dword [eax + 4]
fstp dword [esp + 0xb4]
fld dword [esp + 0xb4]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 4
jne 0x551686
and ah, 0x45
test ah, 0x41
je 0x551686
fld dword [esp + 4]
fcomp dword [0x602534]
fnstsw ax
test ah, 0x45
jne 0x551663
fld dword [esp + 4]
fcomp dword [esp + 0xb4]
fnstsw ax
test ah, 0x45
jne 0x5516ab
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
jmp 0x5516ab
fld dword [esp + 0xb4]
fchs
fstp st(2)
fld dword [esp + 4]
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5516ab
fld st(1)
fstp dword [esp + 4]
jmp 0x5516ab
fld dword [esp + 0x18]
fabs
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(2)
fld st(1)
fcomp dword [0x602550]
fnstsw ax
test ah, 0x45
jne 0x5516ab
mov dword [edi], 3
fld dword [esp + 8]
fmul st(0)
fld dword [esp + 4]
fmul st(0)
faddp st(1)
fstp st(2)
fld dword [esp + 0xb8]
fmul st(0)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x551754
cmp dword [edi], 3
je 0x551706
cmp byte [0x64d063], 0
je 0x551700
fld dword [esp + 0x18]
fcomp dword [0x60254c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x551700
mov dword [edi], 1
jmp 0x551706
mov dword [edi], 2
mov eax, dword [ebx + 0x128]
cmp byte [0x64d060], 0
fld dword [eax + 0xa4]
fstp st(1)
je 0x551725
fld dword [0x602554]
fstp st(1)
fld st(1)
fsqrt
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(2)
fld dword [esp + 0xb8]
fdiv st(2)
fmul st(1)
fstp st(2)
fld dword [esp + 4]
fmul st(2)
fstp dword [esp + 4]
fld dword [esp + 8]
fmul st(2)
fstp dword [esp + 8]
fld dword [0x602534]
fcomp dword [esp + 4]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x551780
fld dword [0x602534]
fcomp dword [esp + 8]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x551940
mov eax, dword [esp + 0x9c]
lea edi, [esp + 0x28]
fld dword [esp + 4]
fmul dword [eax]
fld dword [esp + 8]
fmul dword [esi]
mov eax, dword [esp + 0x9c]
faddp st(1)
fstp dword [esp + 0x58]
fld dword [esp + 4]
fmul dword [eax + 4]
fld dword [esp + 8]
fmul dword [esi + 4]
mov eax, dword [esp + 0x9c]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 4]
fmul dword [eax + 8]
fld dword [esp + 8]
fmul dword [esi + 8]
lea esi, [esp + 0x58]
faddp st(1)
fstp dword [esp + 0x60]
movsd dword es:[edi], dword [esi]
fcompp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x58]
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x34]
call fcn.004ba560
fld dword [esp + 0x2c]
fld st(0)
fmul st(0)
fld dword [esp + 0x28]
fmul st(0)
faddp st(1)
fld dword [esp + 0x30]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fsqrt
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x68]
fld dword [ebx + 0xc0]
push ebp
push eax
fstp dword [esp + 0x18]
fstp st(0)
call fcn.004ba350
lea esi, [esp + 0x70]
lea edi, [esp + 0x4c]
fldz
fldz
fldz
fldz
fld dword [esi + 4]
fstp st(4)
add esp, 0xc
fld st(3)
fmul st(0)
fld dword [esi]
fstp st(5)
fld st(4)
fmul st(0)
faddp st(1)
fld dword [esi + 8]
fstp st(5)
fld st(4)
fmul st(0)
faddp st(1)
fstp st(3)
fld dword [esp + 0x1c]
fmul dword [esp + 0xc]
fstp st(4)
fld st(2)
fdiv dword [ebx + 0xc4]
fld dword [0x602554]
fdiv dword [ebx + 0xc0]
faddp st(1)
fdivr dword [0x602554]
fmul dword [esp + 0x1c]
fstp st(3)
fld st(3)
fmul dword [esp + 0x34]
fstp dword [esp + 0x70]
fld dword [esp + 0x38]
fstp st(2)
fld st(3)
fmul st(2)
fstp dword [esp + 0x74]
fld dword [esp + 0x3c]
fstp st(1)
lea esi, [esp + 0x70]
fld st(3)
fmul st(1)
fstp dword [esp + 0x78]
movsd dword es:[edi], dword [esi]
fld st(2)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fmul dword [esp + 0x34]
lea edi, [esp + 0x4c]
fstp dword [esp + 0x7c]
fld st(2)
lea esi, [esp + 0x7c]
fmul st(2)
fstp dword [esp + 0x80]
fld st(2)
fmul st(1)
fstp dword [esp + 0x84]
movsd dword es:[edi], dword [esi]
fcompp
fcompp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, ebx
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x48]
call fcn.004959a0
mov ecx, ebx
push dword [ebp + 8]
push dword [ebp + 4]
push dword [ebp]
push dword [esp + 0x60]
push dword [esp + 0x60]
push dword [esp + 0x60]
call fcn.00495a10
add esp, 0x88
pop ebp
pop edi
pop esi
pop ebx
ret 0x30
fldz
jmp 0x551504
fldz
jmp 0x551504
fcompp
jmp 0x551922