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

Disassembly:
sub esp, 0xd4
push edi
mov edi, ecx
call fcn.005714b0
test eax, eax
je 0x57154e
xor al, al
pop edi
add esp, 0xd4
ret 0x10
mov ecx, dword [edi + 0x5c]
fldz
sub ecx, dword [edi + 0x58]
fst dword [esp + 0x1c]
mov eax, 0x2aaaaaab
fstp dword [esp + 0x18]
imul ecx
sar edx, 2
mov eax, edx
push ebx
xor ebx, ebx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0xb], 0
mov dword [esp + 0x30], ebx
je 0x571bb8
push ebp
xor ebp, ebp
push esi
mov dword [esp + 0x20], ebp
lea esp, [esp]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0x18
mov ecx, dword [edi + 0x5c]
sub ecx, dword [edi + 0x58]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ebx, ecx
jb 0x5715c0
call fcn.00615e0c
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + ebp + 0x10]
sub ecx, dword [eax + ebp + 0xc]
add eax, ebp
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [edi + 0x5c]
sub ecx, dword [edi + 0x58]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x18], eax
mov eax, 0x2aaaaaab
jae 0x571b75
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ebx, ecx
jb 0x571607
call fcn.00615e0c
mov esi, dword [edi + 0x58]
mov ecx, dword [esi + ebp + 0x10]
sub ecx, dword [esi + ebp + 0xc]
add esi, ebp
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x18], eax
jb 0x57162f
call fcn.00615e0c
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x1c]
lea esi, [edx + ecx - 0x18]
mov ecx, dword [edi + 0x5c]
sub ecx, dword [edi + 0x58]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x57165a
call fcn.00615e0c
mov ebp, dword [edi + 0x58]
add ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, 2
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
dec ecx
cmp ecx, eax
jb 0x571690
call fcn.00615e0c
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x5c]
sub ecx, dword [edi + 0x58]
lea ebp, [eax + edx - 0xc]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ebx, ecx
jb 0x5716bb
call fcn.00615e0c
mov ebx, dword [edi + 0x58]
add ebx, dword [esp + 0x20]
mov eax, 0x2aaaaaab
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
imul ecx
mov eax, dword [esp + 0x18]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add eax, 2
cmp eax, ecx
jb 0x5716e8
call fcn.00615e0c
fld dword [ebp]
mov ecx, dword [ebx + 0xc]
fsub dword [esi]
add ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
fstp dword [esp + 0x84]
fld dword [ebp + 4]
fsub dword [esi + 4]
fstp dword [esp + 0x88]
fld dword [ebp + 8]
fsub dword [esi + 8]
fstp dword [esp + 0x8c]
fld dword [ecx]
fsub dword [esi]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x9c]
fld dword [ecx + 4]
fsub dword [esi + 4]
fstp dword [esp + 0xa0]
fld dword [ecx + 8]
fsub dword [esi + 8]
fstp dword [esp + 0xa4]
fld dword [esp + 0x8c]
fld st(0)
fld dword [esp + 0xa0]
fld st(0)
fmulp st(2)
fld dword [esp + 0xa4]
fld st(0)
fld dword [esp + 0x88]
fld st(0)
fmulp st(2)
fxch st(4)
fsubrp st(1)
fstp dword [esp + 0xb4]
fld dword [esp + 0x84]
fld st(0)
fmulp st(2)
fld dword [esp + 0x9c]
fld st(0)
fmulp st(6)
fxch st(2)
fsubrp st(5)
fxch st(4)
fstp dword [esp + 0xb8]
fmulp st(2)
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0xbc]
fld dword [edx]
fsub dword [esi]
fstp dword [esp + 0xcc]
fld dword [edx + 4]
fsub dword [esi + 4]
fstp dword [esp + 0xd0]
fld dword [edx + 8]
fsub dword [esi + 8]
fstp dword [esp + 0xd4]
fld dword [esp + 0xcc]
fld dword [esp + 0xb4]
fld st(0)
fmulp st(2)
fld dword [esp + 0xd0]
fld dword [esp + 0xb8]
fld st(0)
fmulp st(2)
fxch st(3)
faddp st(1)
fld dword [esp + 0xd4]
fld dword [esp + 0xbc]
fld st(0)
fmulp st(2)
fxch st(2)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fchs
fld dword [eax]
fmul st(3)
fld st(4)
fmul dword [eax + 4]
faddp st(1)
fld dword [eax + 8]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x14]
fdiv dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [eax]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x90]
fld st(0)
fmul dword [eax + 4]
fstp dword [esp + 0x94]
fmul dword [eax + 8]
fstp dword [esp + 0x98]
fld dword [edx]
fadd dword [esp + 0x90]
fstp dword [esp + 0x78]
fld dword [esp + 0x94]
fadd dword [edx + 4]
fstp dword [esp + 0x7c]
fld dword [esp + 0x98]
fadd dword [edx + 8]
fstp dword [esp + 0x80]
fld dword [esp + 0x78]
fld st(0)
fsub dword [esi]
fstp dword [esp + 0x6c]
fld dword [esp + 0x7c]
fld st(0)
fsub dword [esi + 4]
fstp dword [esp + 0x70]
fld dword [esp + 0x80]
fsub dword [esi + 8]
fstp dword [esp + 0x74]
fxch st(5)
fstp dword [esp + 0x3c]
fld dword [ecx + 4]
fsub dword [esi + 4]
fstp dword [esp + 0x40]
fld dword [ecx + 8]
fsub dword [esi + 8]
fstp dword [esp + 0x44]
fld dword [esp + 0x40]
fmul dword [esp + 0x74]
fld dword [esp + 0x44]
fmul dword [esp + 0x70]
fsubp st(1)
fstp dword [esp + 0xa8]
fld dword [esp + 0x44]
fmul dword [esp + 0x6c]
fld dword [esp + 0x74]
fmul dword [esp + 0x3c]
fsubp st(1)
fstp dword [esp + 0xac]
fld dword [esp + 0x70]
fmul dword [esp + 0x3c]
fld dword [esp + 0x40]
fmul dword [esp + 0x6c]
fsubp st(1)
fstp dword [esp + 0xb0]
fld dword [esp + 0xac]
fmul st(4)
fld dword [esp + 0xa8]
fmul st(4)
faddp st(1)
fld dword [esp + 0xb0]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x676264]
fnstsw ax
test ah, 5
jnp 0x571b54
fld st(0)
fsub dword [ecx]
fstp dword [esp + 0x2c]
fld st(4)
fsub dword [ecx + 4]
fstp dword [esp + 0x30]
fld dword [esp + 0x80]
fsub dword [ecx + 8]
fstp dword [esp + 0x34]
fld dword [ebp]
fsub dword [ecx]
fstp dword [esp + 0x54]
fld dword [ebp + 4]
fsub dword [ecx + 4]
fstp dword [esp + 0x58]
fld dword [ebp + 8]
fsub dword [ecx + 8]
fstp dword [esp + 0x5c]
fld dword [esp + 0x58]
fmul dword [esp + 0x34]
fld dword [esp + 0x5c]
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0xc0]
fld dword [esp + 0x5c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x34]
fmul dword [esp + 0x54]
fsubp st(1)
fstp dword [esp + 0xc4]
fld dword [esp + 0x30]
fmul dword [esp + 0x54]
fld dword [esp + 0x58]
fmul dword [esp + 0x2c]
fsubp st(1)
fstp dword [esp + 0xc8]
fld dword [esp + 0xc4]
fmul st(4)
fld dword [esp + 0xc0]
fmul st(4)
faddp st(1)
fld dword [esp + 0xc8]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x676264]
fnstsw ax
test ah, 5
jnp 0x571b54
fld st(0)
fsub dword [ebp]
fstp dword [esp + 0x60]
fld st(4)
fsub dword [ebp + 4]
fstp dword [esp + 0x64]
fld dword [esp + 0x80]
fsub dword [ebp + 8]
fstp dword [esp + 0x68]
fld dword [esi]
fsub dword [ebp]
fstp dword [esp + 0x48]
fld dword [esi + 4]
fsub dword [ebp + 4]
fstp dword [esp + 0x4c]
fld dword [esi + 8]
fsub dword [ebp + 8]
fstp dword [esp + 0x50]
fld dword [esp + 0x4c]
fmul dword [esp + 0x68]
fld dword [esp + 0x50]
fmul dword [esp + 0x64]
fsubp st(1)
fstp dword [esp + 0xd8]
fld dword [esp + 0x50]
fmul dword [esp + 0x60]
fld dword [esp + 0x68]
fmul dword [esp + 0x48]
fsubp st(1)
fstp dword [esp + 0xdc]
fld dword [esp + 0x64]
fmul dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul dword [esp + 0x60]
fsubp st(1)
fstp dword [esp + 0xe0]
fld dword [esp + 0xdc]
fmulp st(4)
fld dword [esp + 0xd8]
fmulp st(3)
fxch st(3)
faddp st(2)
fmul dword [esp + 0xe0]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x676264]
fnstsw ax
test ah, 5
jnp 0x571b5a
cmp byte [esp + 0x13], 0
je 0x571b10
fld dword [edx + 4]
fsub st(2)
fld dword [edx]
fsub st(2)
fld dword [edx + 4]
fsub dword [esp + 0x24]
fld dword [edx]
fsub dword [esp + 0x28]
fld st(2)
fmulp st(3)
fld st(3)
fmulp st(4)
fxch st(2)
faddp st(3)
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x571b34
add dword [esp + 0x18], 3
fstp dword [esp + 0x28]
add dword [esp + 0x1c], 0x24
mov ebx, dword [esp + 0x38]
fstp dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov byte [esp + 0x13], 1
jmp 0x5715a0
add dword [esp + 0x18], 3
fstp st(0)
add dword [esp + 0x1c], 0x24
fstp st(0)
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
mov byte [esp + 0x13], 1
jmp 0x5715a0
fstp st(2)
fstp st(2)
fstp st(1)
add dword [esp + 0x18], 3
fstp st(0)
add dword [esp + 0x1c], 0x24
fstp st(0)
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
jmp 0x5715a0
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
inc ebx
add ebp, 0x18
add eax, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], ebp
cmp ebx, eax
jb 0x571590
cmp byte [esp + 0x13], 0
pop esi
pop ebp
je 0x571bb8
fld dword [esp + 0x20]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
fstp dword [ecx]
fld dword [esp + 0x1c]
fstp dword [edx]
mov al, byte [esp + 0xb]
pop ebx
pop edi
add esp, 0xd4
ret 0x10
mov ecx, dword [ecx + 0x184]
test ecx, ecx
jne 0x5b1c20
xor al, al
ret 0x10
jmp 0x571530