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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb0
xorps xmm0, xmm0
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esi + 0x14]
movsd qword [esp + 0x74], xmm0
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0x74], xmm0
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0x44], xmm0
movsd qword [esp + 0x3c], xmm0
movsd qword [esp + 0x54], xmm0
movsd qword [esp + 0x4c], xmm0
movsd qword [esp + 0x64], xmm0
movsd qword [esp + 0x5c], xmm0
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0x8c], xmm0
movsd qword [esp + 0x84], xmm0
movsd qword [esp + 0x7c], xmm0
movsd qword [esp + 0xa4], xmm0
movsd qword [esp + 0x9c], xmm0
movsd xmm0, qword [ecx + 0x10]
ucomisd xmm0, qword [0x5ff708]
lahf
xor ebx, ebx
push edi
test ah, 0x44
jnp 0x55c195
fld qword [ecx + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
sub esp, 8
lea edx, [esp + 0xb8]
fstp qword [esp]
push edx
mov byte [esp + 0x47], 1
call eax
movq xmm0, qword [eax]
movq qword [esp + 0x60], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x68], xmm0
mov ecx, dword [esi + 0x14]
movsd xmm0, qword [ecx + 0x18]
ucomisd xmm0, qword [0x5ff710]
lahf
test ah, 0x44
jnp 0x55c19e
fld qword [ecx + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x4c]
sub esp, 8
lea eax, [esp + 0xb8]
fstp qword [esp]
push eax
mov byte [esp + 0x46], 1
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x90], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x98], xmm0
mov ecx, dword [esi + 0x18]
movsd xmm0, qword [ecx + 0x10]
ucomisd xmm0, qword [0x5ff708]
lahf
test ah, 0x44
jnp 0x55c1a7
fld qword [ecx + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
sub esp, 8
lea edx, [esp + 0xb8]
fstp qword [esp]
push edx
mov byte [esp + 0x44], 1
call eax
movq xmm0, qword [eax]
movq qword [esp + 0x80], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x88], xmm0
mov ecx, dword [esi + 0x18]
movsd xmm0, qword [ecx + 0x18]
ucomisd xmm0, qword [0x5ff710]
lahf
test ah, 0x44
jnp 0x55c1b0
fld qword [ecx + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x4c]
sub esp, 8
lea eax, [esp + 0xb8]
fstp qword [esp]
push eax
mov byte [esp + 0x45], 1
call edx
movq xmm0, qword [eax]
movq qword [esp + 0xa0], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0xa8], xmm0
mov eax, dword [esi + 0x58]
cmp eax, ebx
mov dword [esi + 0x58], ebx
jle 0x55c43c
lea ebp, [esi + 8]
xor edi, edi
mov dword [esp + 0x3c], eax
nop
mov eax, dword [esi + 0x4c]
movsd xmm0, qword [eax + edi + 0x10]
movsd xmm1, qword [eax + edi + 0x18]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
sub esp, 0x10
add eax, edi
mov eax, esp
push ecx
movq qword [eax], xmm0
push edx
movq qword [eax + 8], xmm1
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x5c]
push ecx
push ebp
mov ecx, esi
call fcn.0055b220
cmp al, bl
jne 0x55c0a9
movsd xmm0, qword [0x5fc898]
comisd xmm0, xmmword [ebp]
jbe 0x55c42e
movsd xmm0, qword [esi]
comisd xmm0, xmmword [0x5fa920]
jbe 0x55c42e
movsd xmm0, qword [esp + 0x50]
addsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x58]
addsd xmm1, qword [esp + 0x48]
movsd xmm2, qword [0x5fb9c8]
mulsd xmm0, xmm2
mulsd xmm1, xmm2
movq qword [esp + 0x40], xmm0
movq qword [esp + 0x48], xmm1
mov eax, dword [esi + 0x58]
movq xmm0, qword [esp + 0x40]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
movq qword [eax + edx*8], xmm0
movq xmm0, qword [esp + 0x48]
lea eax, [eax + edx*8]
movq qword [eax + 8], xmm0
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
movsd xmm0, qword [esp + 0x70]
lea ecx, [eax + eax*4]
movsd qword [edx + ecx*8 + 0x10], xmm0
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x4c]
movsd xmm0, qword [esp + 0x78]
lea eax, [eax + eax*4]
movsd qword [ecx + eax*8 + 0x18], xmm0
mov eax, dword [esi + 0x58]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
mov dword [eax + edx*8 + 0x20], ebx
cmp byte [esp + 0x3b], bl
je 0x55c1b9
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
movsd xmm0, qword [eax + 0x10]
addsd xmm0, qword [0x5fc898]
comisd xmm0, xmmword [edx + ecx*8 + 0x10]
jbe 0x55c1b9
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.00551920
fld qword [esi]
fcompi st(1)
fstp st(0)
jbe 0x55c1b9
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x4c]
movq xmm0, qword [esp + 0x60]
lea eax, [eax + eax*4]
or dword [ecx + eax*8 + 0x20], 4
lea eax, [ecx + eax*8 + 0x20]
mov eax, dword [esi + 0x58]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + edx*8]
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x68]
movq qword [eax + 8], xmm0
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x14]
fld qword [ecx + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
fstp qword [eax + edx*8 + 0x10]
jmp 0x55c2aa
mov byte [esp + 0x3b], bl
jmp 0x55bf02
mov byte [esp + 0x3a], bl
jmp 0x55bf54
mov byte [esp + 0x38], bl
jmp 0x55bfa6
mov byte [esp + 0x39], bl
jmp 0x55bff8
cmp byte [esp + 0x3a], bl
je 0x55c252
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
movsd xmm0, qword [eax + 0x18]
subsd xmm0, qword [0x5fc898]
movsd xmm1, qword [edx + ecx*8 + 0x10]
comisd xmm1, xmm0
jbe 0x55c252
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.00551920
fld qword [esi]
fcompi st(1)
fstp st(0)
jbe 0x55c252
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x4c]
movq xmm0, qword [esp + 0x90]
lea eax, [eax + eax*4]
or dword [ecx + eax*8 + 0x20], 8
lea eax, [ecx + eax*8 + 0x20]
mov eax, dword [esi + 0x58]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + edx*8]
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x98]
movq qword [eax + 8], xmm0
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x14]
fld qword [ecx + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
fstp qword [eax + edx*8 + 0x10]
jmp 0x55c2aa
cmp byte [esp + 0x3b], bl
je 0x55c275
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
movsd xmm0, qword [edx + ecx*8 + 0x10]
comisd xmm0, xmmword [eax + 0x10]
jbe 0x55c42e
cmp byte [esp + 0x3a], bl
je 0x55c298
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
movsd xmm0, qword [eax + 0x18]
comisd xmm0, xmmword [edx + ecx*8 + 0x10]
jbe 0x55c42e
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
or dword [edx + ecx*8 + 0x20], 1
lea eax, [edx + ecx*8 + 0x20]
cmp byte [esp + 0x38], bl
je 0x55c342
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x4c]
movsd xmm0, qword [edx + 0x10]
addsd xmm0, qword [0x5fc898]
lea eax, [eax + eax*4]
comisd xmm0, xmmword [ecx + eax*8 + 0x18]
jbe 0x55c342
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.00551920
fld qword [esi]
fcompi st(1)
fstp st(0)
jbe 0x55c342
mov eax, dword [esi + 0x58]
movq xmm0, qword [esp + 0x80]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
or dword [eax + edx*8 + 0x20], 0x10
lea eax, [eax + edx*8 + 0x20]
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x88]
movq qword [eax + 8], xmm0
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x18]
fld qword [ecx + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
fstp qword [eax + edx*8 + 0x18]
jmp 0x55c42b
cmp byte [esp + 0x39], bl
je 0x55c3db
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
movsd xmm0, qword [eax + 0x18]
subsd xmm0, qword [0x5fc898]
movsd xmm1, qword [edx + ecx*8 + 0x18]
comisd xmm1, xmm0
jbe 0x55c3db
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.00551920
fld qword [esi]
fcompi st(1)
fstp st(0)
jbe 0x55c3db
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x4c]
movq xmm0, qword [esp + 0xa0]
lea eax, [eax + eax*4]
or dword [ecx + eax*8 + 0x20], 0x20
lea eax, [ecx + eax*8 + 0x20]
mov eax, dword [esi + 0x58]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + edx*8]
movq qword [eax], xmm0
movq xmm0, qword [esp + 0xa8]
movq qword [eax + 8], xmm0
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x18]
fld qword [ecx + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
fstp qword [eax + edx*8 + 0x18]
jmp 0x55c42b
cmp byte [esp + 0x38], bl
je 0x55c3fa
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
movsd xmm0, qword [edx + ecx*8 + 0x18]
comisd xmm0, xmmword [eax + 0x10]
jbe 0x55c42e
cmp byte [esp + 0x39], bl
je 0x55c419
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
movsd xmm0, qword [eax + 0x18]
comisd xmm0, xmmword [edx + ecx*8 + 0x18]
jbe 0x55c42e
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
or dword [edx + ecx*8 + 0x20], 2
lea eax, [edx + ecx*8 + 0x20]
inc dword [esi + 0x58]
add edi, 0x28
sub dword [esp + 0x3c], 1
jne 0x55c010
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret