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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5e4678
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x694114]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x38], esi
cmp dword [esi + 0x34], 6
je 0x55560e
mov eax, dword [esi]
fld qword [esi + 0x48]
mov edx, dword [eax + 0xe0]
fstp qword [esp + 0x3c]
call edx
fld qword [esp + 0x3c]
mov ecx, dword [esi + 0x50]
movzx eax, al
push eax
sub esp, 8
fstp qword [esp]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00554c00
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov eax, ebx
mov edx, 8
mul edx
seto cl
mov dword [esp + 0x80], 0
neg ecx
or ecx, eax
push ecx
call fcn.0058229a
fldz
add esp, 4
test eax, eax
je 0x5554c0
lea edx, [ebx - 1]
mov ecx, eax
test edx, edx
js 0x5554bc
fst dword [ecx + 4]
add ecx, 8
dec edx
fst dword [ecx - 8]
jns 0x5554b0
mov edi, eax
jmp 0x5554c2
xor edi, edi
xor edx, edx
fstp st(0)
cmp ebx, 4
jl 0x55551b
mov eax, dword [ebp + 0xc]
lea esi, [ebx - 4]
shr esi, 2
add eax, 0x10
inc esi
lea ecx, [edi + 8]
lea edx, [esi*4]
fld qword [eax - 0x10]
add eax, 0x40
fstp dword [ecx - 8]
add ecx, 0x20
dec esi
fld qword [eax - 0x48]
fstp dword [ecx - 0x24]
fld qword [eax - 0x40]
fstp dword [ecx - 0x20]
fld qword [eax - 0x38]
fstp dword [ecx - 0x1c]
fld qword [eax - 0x30]
fstp dword [ecx - 0x18]
fld qword [eax - 0x28]
fstp dword [ecx - 0x14]
fld qword [eax - 0x20]
fstp dword [ecx - 0x10]
fld qword [eax - 0x18]
fstp dword [ecx - 0xc]
jne 0x5554e2
cmp edx, ebx
jae 0x55553c
mov eax, edx
shl eax, 4
add eax, dword [ebp + 0xc]
fld qword [eax]
inc edx
fstp dword [edi + edx*8 - 8]
add eax, 0x10
fld qword [eax - 8]
fstp dword [edi + edx*8 - 4]
cmp edx, ebx
jb 0x555527
mov esi, dword [esp + 0x38]
lea ecx, [esi + 0x20]
call fcn.004197c0
test al, al
jne 0x555580
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov ecx, dword [esi + 0x50]
mov eax, dword [eax + 4]
xor edx, edx
cmp dword [ebp + 0x10], 1
mov dword [esp + 0x38], ecx
mov ecx, dword [ecx]
setne dl
push edx
push ebx
push edi
push eax
push ecx
call fcn.00505140
test eax, eax
je 0x555580
mov edx, dword [esp + 0x38]
mov dword [edx + 4], eax
lea ecx, [esi + 0x18]
call fcn.004197c0
test al, al
jne 0x5555b4
lea ecx, [esi + 0x18]
call fcn.004f5880
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
mov esi, dword [esi + 0x50]
mov ecx, dword [eax]
mov edx, dword [esi]
push ebx
push edi
push ecx
push edx
call fcn.00505020
test eax, eax
je 0x5555b4
mov dword [esi + 4], eax
push edi
call fcn.00585c9e
fldz
fld dword [esp + 0x44]
add esp, 4
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x55560c
mov esi, dword [esp + 0x3c]
fchs
mov eax, dword [esi]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
push 0
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00504ea0
test eax, eax
je 0x55560e
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(0)
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc