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

Disassembly:
sub esp, 0x80
push ebx
push esi
mov esi, ecx
movzx eax, byte [esi + 0x324]
lea ecx, [eax + eax*2]
lea edx, [esi + ecx*4]
mov ecx, dword [edx]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x20], ecx
mov ecx, 0x1f
sub ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x8c]
fild dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
lea edx, [esi + 0x174]
mov dword [edx], eax
fmul dword [esi + 0x30c]
mov eax, dword [esp + 0x94]
fld dword [esp + 0x8c]
mov dword [edx + 4], ecx
fsub dword [esp + 0x1c]
mov dword [edx + 8], eax
push edi
fstp dword [esp + 0x14]
fld dword [esp + 0x94]
fsub dword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x98]
fsub dword [esp + 0x28]
fstp dword [esp + 0x1c]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fcom st(1)
fnstsw ax
test ah, 5
jp 0x55662e
fstp st(0)
mov ebx, 6
fstp st(0)
push ebp
jmp 0x556280
movzx ecx, byte [esi + 0x324]
mov edi, 0x1f
inc ecx
cmp ecx, edi
jge 0x556401
lea edx, [edi + edi*2]
fld dword [esi + edx*4]
lea edx, [esi + edx*4]
fsub dword [edx - 0xc]
lea ecx, [edx - 0xc]
fld dword [edx + 4]
mov eax, ecx
fsub dword [ecx + 4]
mov ebp, dword [eax]
fld dword [edx + 8]
mov dword [esp + 0x3c], ebp
fsub dword [ecx + 8]
mov ebp, dword [eax + 4]
fld st(2)
mov eax, dword [eax + 8]
fmulp st(3)
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ebp
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [esi + 0x30c]
fnstsw ax
test ah, 0x41
jne 0x5563ee
fld dword [edx]
fsub dword [ecx]
fld dword [edx + 4]
fsub dword [ecx + 4]
fld dword [edx + 8]
fsub dword [ecx + 8]
fld dword [ecx]
fsub dword [edx]
fstp dword [esp + 0x24]
fld dword [ecx + 4]
fsub dword [edx + 4]
fstp dword [esp + 0x28]
fld dword [ecx + 8]
fsub dword [edx + 8]
fstp dword [esp + 0x2c]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fdivr dword [esi + 0x30c]
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x70]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x74]
fadd dword [edx]
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
fstp st(0)
fld dword [esp + 0x70]
fadd dword [edx + 4]
fstp dword [esp + 0x34]
fld dword [esp + 0x74]
fadd dword [edx + 8]
mov edx, ecx
mov dword [edx], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 4], eax
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [edx + 8], eax
fld dword [ecx]
fsub dword [esp + 0x3c]
fld dword [ecx + 4]
fsub dword [esp + 0x40]
fld dword [ecx + 8]
fsub dword [esp + 0x44]
fstp dword [esp + 0x8c]
fld dword [0x858624]
fdiv dword [0xb7cb5c]
fst dword [esp + 0x10]
fmul st(2)
fstp dword [esp + 0x48]
fmul dword [esp + 0x10]
mov eax, dword [esp + 0x48]
fstp dword [esp + 0x4c]
lea ecx, [edi + edi*2 + 0x5d]
fstp st(0)
lea edx, [esi + ecx*4]
fld dword [esp + 0x8c]
mov ecx, dword [esp + 0x4c]
fmul dword [esp + 0x10]
mov dword [edx], eax
mov dword [edx + 4], ecx
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
mov dword [edx + 8], eax
jmp 0x5563f0
xor edi, edi
movzx ecx, byte [esi + 0x324]
dec edi
inc ecx
cmp edi, ecx
jg 0x556295
movzx eax, byte [esi + 0x324]
inc eax
cmp eax, 0x1f
jge 0x556503
lea edx, [eax + eax*2]
lea ecx, [esi + edx*4 - 4]
mov edx, 0x1f
sub edx, eax
fld dword [ecx + 4]
fsub dword [ecx - 8]
fld st(0)
fld dword [ecx + 8]
fsub dword [ecx - 4]
fst dword [esp + 0x10]
fld dword [ecx + 0xc]
fsub dword [ecx]
fst dword [esp + 0x14]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [esi + 0x30c]
fnstsw ax
test ah, 0x41
jne 0x5564f7
fld st(0)
mov eax, dword [esp + 0x10]
fld dword [esp + 0x10]
mov dword [esp + 0x58], eax
fld dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fxch st(3)
mov dword [esp + 0x5c], eax
fstp dword [esp + 0x54]
fld st(1)
fmul st(2)
fld st(3)
fmul st(4)
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fdivr dword [esi + 0x30c]
fld dword [esp + 0x54]
fmul st(1)
fld dword [esp + 0x58]
fmul st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x5c]
fmul st(2)
fstp dword [esp + 0x80]
fadd dword [ecx - 8]
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
fstp st(0)
fld dword [esp + 0x7c]
fadd dword [ecx - 4]
fstp dword [esp + 0x64]
fld dword [esp + 0x80]
fadd dword [ecx]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 8], eax
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0xc], eax
jmp 0x5564f9
fstp st(0)
add ecx, 0xc
dec edx
jne 0x556420
dec ebx
jne 0x556280
movzx ecx, byte [esi + 0x324]
mov edx, 0x1f
inc ecx
cmp ecx, edx
pop ebp
jge 0x556620
lea ecx, [esi + 0x170]
fld dword [ecx + 4]
fsub dword [ecx - 8]
fld st(0)
fld dword [ecx + 8]
fsub dword [ecx - 4]
fst dword [esp + 0x10]
fld dword [ecx + 0xc]
fsub dword [ecx]
fst dword [esp + 0xc]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [esi + 0x30c]
fnstsw ax
test ah, 0x41
jne 0x55661e
fld dword [esp + 0x10]
dec edx
fld dword [esp + 0xc]
sub ecx, 0xc
fld dword [ecx + 4]
fsub dword [ecx + 0x10]
fstp dword [esp + 0x5c]
fld dword [ecx + 8]
fsub dword [ecx + 0x14]
fstp dword [esp + 0x60]
fld dword [ecx + 0xc]
fsub dword [ecx + 0x18]
fstp dword [esp + 0x64]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fdivr dword [esi + 0x30c]
fld dword [esp + 0x5c]
fmul st(1)
fld dword [esp + 0x60]
fmul st(2)
fstp dword [esp + 0x78]
fld dword [esp + 0x64]
fmul st(2)
fstp dword [esp + 0x7c]
fadd dword [ecx + 0x10]
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fstp st(0)
fld dword [esp + 0x78]
fadd dword [ecx + 0x14]
fstp dword [esp + 0x54]
fld dword [esp + 0x7c]
fadd dword [ecx + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 8], eax
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
movzx eax, byte [esi + 0x324]
inc eax
cmp edx, eax
jg 0x556526
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x80
ret 0x14
fstp st(0)
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x80
ret 0x14
fxch st(1)
mov ecx, dword [esp + 0xa0]
fdiv st(1)
fxch st(1)
fstp st(0)
fld dword [esp + 0x14]
fmul st(1)
fld dword [esp + 0x18]
fmul st(2)
fstp dword [esp + 0x78]
fld dword [esp + 0x1c]
fmul st(2)
fstp dword [esp + 0x7c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
fstp st(0)
fld dword [esp + 0x78]
fadd dword [esp + 0x24]
fstp dword [esp + 0x60]
fld dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
fadd dword [esp + 0x28]
mov dword [ecx + 4], eax
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
mov dword [ecx + 8], edx
movzx edi, byte [esi + 0x324]
inc edi
cmp edi, 0x20
jge 0x556745
lea eax, [edi + edi*2]
lea ebx, [esi + eax*4]
lea ecx, [esp + 0x14]
call fcn.0059c910
fld dword [esi + 0x30c]
fld dword [esp + 0x14]
movzx ecx, byte [esi + 0x324]
fmul st(1)
mov edx, edi
sub edx, ecx
mov dword [esp + 0x10], edx
fstp dword [esp + 0x14]
mov eax, ebx
fld dword [esp + 0x18]
inc edi
fmul st(1)
add ebx, 0xc
cmp edi, 0x20
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fild dword [esp + 0x10]
fld dword [esp + 0x14]
fmul st(1)
fld dword [esp + 0x18]
fmul st(2)
fstp dword [esp + 0x78]
fld dword [esp + 0x1c]
fmul st(2)
fstp dword [esp + 0x7c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x5c]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
fstp st(0)
fld dword [esp + 0x78]
fadd dword [esp + 0x24]
fstp dword [esp + 0x60]
fld dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
fadd dword [esp + 0x28]
mov dword [eax + 4], edx
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jl 0x5566a4
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x80
ret 0x14