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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0xf4
mov dword [esp + 0x80], ecx
mov esi, edx
mov edi, eax
mov ebx, edi
cmp esi, 2
jle 0x100b034c
cmp esi, 3
je 0x100b0517
lea ecx, [esp + 0x6c]
mov eax, edi
mov edx, esi
call fcn.100b056c
cmp dword [esp + 0x6c], 1
je 0x100b04bc
xor ecx, ecx
lea edx, [esi - 3]
mov dword [esp + 0x84], edx
mov dword [esp + 0x68], edi
lea eax, [esi - 1]
mov edx, ecx
shl edx, 4
movsd xmm0, qword [ebx + edx]
movsd xmm2, qword [ebx + edx + 8]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x88], xmm2
movaps xmm4, xmm0
lea edi, [ecx - 1]
test ecx, ecx
cmove edi, eax
lea edx, [ecx + 1]
shl edi, 4
movsd xmm6, qword [edi + ebx]
movsd xmm5, qword [edi + ebx + 8]
movsd qword [esp + 0xa0], xmm6
movsd qword [esp + 0x98], xmm5
xor edi, edi
cmp esi, edx
cmovne edi, edx
subsd xmm4, xmm6
shl edi, 4
movsd xmm1, qword [edi + ebx]
movsd xmm3, qword [edi + ebx + 8]
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xa8], xmm3
subsd xmm3, xmm2
subsd xmm2, xmm5
movaps xmm5, xmm4
movaps xmm7, xmm2
mulsd xmm5, xmm3
subsd xmm1, xmm0
mulsd xmm7, xmm1
subsd xmm5, xmm7
comisd xmm5, xmmword [0x101e6068]
ja 0x100b0316
movsd xmm6, qword [esp + 0xa0]
subsd xmm6, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0x98]
subsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x60], xmm6
movsd qword [esp + 0x58], xmm0
mulsd xmm1, xmm1
movaps xmm7, xmm3
mulsd xmm6, xmm6
mulsd xmm0, xmm0
mulsd xmm7, xmm3
mulsd xmm5, xmm5
addsd xmm6, xmm0
movsd qword [esp + 0x40], xmm6
movaps xmm0, xmm4
mulsd xmm0, xmm4
addsd xmm1, xmm7
movsd xmm7, qword [0x101e6090]
divsd xmm7, xmm6
movsd qword [esp + 0x50], xmm7
maxsd xmm1, xmm6
movaps xmm6, xmm2
mulsd xmm6, xmm2
addsd xmm0, xmm6
movaps xmm6, xmm5
maxsd xmm1, xmm0
mulsd xmm1, qword [0x101e6070]
divsd xmm6, xmm1
movsd xmm1, qword [0x101e6078]
comisd xmm1, xmm6
movsd xmm1, qword [esp + 0x48]
ja 0x100b0316
cmp esi, 3
jle 0x100b0413
movsd xmm0, qword [0x101e6080]
movsd qword [esp + 0x20], xmm6
movsd xmm6, qword [0x101e6088]
movsd qword [esp + 0x28], xmm5
movsd xmm5, qword [esp + 0x60]
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x78], xmm2
movsd qword [esp + 0x30], xmm3
movsd qword [esp + 0x70], xmm4
movsd xmm4, qword [esp + 0x58]
xor edi, edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
lea eax, [ecx + 2]
cdq
idiv esi
shl edx, 4
movsd xmm3, qword [edx + ebx]
movaps xmm1, xmm3
movsd xmm2, qword [edx + ebx + 8]
movaps xmm7, xmm2
subsd xmm1, qword [esp + 0xb0]
mulsd xmm1, xmm4
subsd xmm7, qword [esp + 0xa8]
mulsd xmm7, xmm5
subsd xmm7, xmm1
comisd xmm7, xmm6
ja 0x100b02b9
movaps xmm7, xmm2
movaps xmm1, xmm3
subsd xmm7, qword [esp + 0x98]
mulsd xmm7, qword [esp + 0x70]
subsd xmm1, qword [esp + 0xa0]
mulsd xmm1, qword [esp + 0x78]
subsd xmm7, xmm1
comisd xmm7, xmmword [0x101e6068]
ja 0x100b02b9
subsd xmm2, qword [esp + 0x88]
subsd xmm3, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x48]
mulsd xmm1, xmm2
movsd xmm7, qword [esp + 0x30]
mulsd xmm7, xmm3
subsd xmm1, xmm7
comisd xmm1, xmmword [0x101e6068]
ja 0x100b02b9
mulsd xmm3, xmm4
mulsd xmm2, xmm5
movsd xmm1, qword [esp + 0x50]
subsd xmm3, xmm2
mulsd xmm1, xmm3
movaps xmm2, xmm0
mulsd xmm3, xmm1
movaps xmm0, xmm3
minsd xmm0, xmm2
inc ecx
inc edi
cmp edi, dword [esp + 0x84]
jl 0x100b01ed
movsd xmm6, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
movsd xmm1, qword [0x101e6080]
ucomisd xmm0, xmm1
jp 0x100b02f0
je 0x100b0413
movsd xmm1, qword [esp + 0x40]
mulsd xmm1, xmm0
divsd xmm1, xmm5
movsd xmm0, qword [0x101e6078]
movsd qword [esp + 0x40], xmm1
mulsd xmm6, xmm1
comisd xmm0, xmm6
jbe 0x100b035e
mov ecx, edx
cmp edx, esi
jl 0x100b0045
mov edi, dword [esp + 0x68]
cmp ebx, edi
je 0x100b032f
push ebx
call fcn.101bceaa
pop ecx
mov ecx, dword [esp + 0x80]
mov eax, edi
mov edx, esi
call fcn.100af90c
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, 1
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
movsd xmm5, qword [esp + 0x40]
movsd xmm0, qword [esp + 0xb0]
movsd xmm4, qword [esp + 0x98]
addsd xmm4, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xa0]
movsd xmm3, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x90]
addsd xmm1, xmm0
mov edi, dword [esp + 0x68]
movsd xmm6, qword [0x101e6090]
mov eax, dword [esp + 0x80]
sqrtsd xmm7, xmm5
movaps xmm5, xmm7
mulsd xmm1, xmm7
divsd xmm1, qword [0x101e6060]
mulsd xmm4, xmm7
divsd xmm4, qword [0x101e6060]
addsd xmm5, xmm7
divsd xmm5, qword [0x101e6060]
cmp ebx, edi
subsd xmm6, xmm5
mulsd xmm2, xmm6
mulsd xmm3, xmm6
addsd xmm2, xmm1
movsd qword [eax], xmm2
addsd xmm3, xmm4
movsd qword [eax + 8], xmm3
je 0x100b0404
push ebx
call fcn.101bceaa
pop ecx
xor eax, eax
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
movsd xmm0, qword [esp + 0xb0]
movsd xmm4, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
movsd xmm3, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x90]
mov edi, dword [esp + 0x68]
movsd xmm5, qword [0x101e6060]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], 0
addsd xmm2, xmm1
addsd xmm2, xmm0
divsd xmm2, xmm5
movsd qword [eax], xmm2
addsd xmm3, xmm4
addsd xmm3, qword [esp + 0xa8]
divsd xmm3, xmm5
movsd qword [esp], xmm2
movsd qword [eax + 8], xmm3
movsd qword [esp + 8], xmm3
mov eax, ebx
mov edx, esi
mov ecx, 8
call fcn.100af68c
test eax, eax
je 0x100b034c
cmp ebx, edi
je 0x100b04ad
push ebx
call fcn.101bceaa
pop ecx
xor eax, eax
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, esi
shl eax, 4
push eax
call fcn.101bcde0
pop ecx
mov ebx, eax
movsd xmm0, qword [edi]
movsd qword [ebx], xmm0
movsd xmm1, qword [edi + 8]
movsd qword [ebx + 8], xmm1
mov dword [esp + 0x68], edi
mov eax, 1
mov edx, esi
shl edx, 4
add edx, edi
mov edi, eax
shl edi, 4
mov ecx, edx
sub ecx, edi
movsd xmm0, qword [ecx]
movsd qword [edi + ebx], xmm0
inc eax
movsd xmm1, qword [ecx + 8]
movsd qword [edi + ebx + 8], xmm1
cmp eax, esi
jl 0x100b04ec
mov edi, dword [esp + 0x68]
jmp 0x100b0032
movsd xmm1, qword [0x101e6060]
mov edx, ecx
movsd xmm0, qword [edi]
addsd xmm0, qword [edi + 0x10]
addsd xmm0, qword [edi + 0x20]
divsd xmm0, xmm1
xor eax, eax
movsd qword [edx], xmm0
movsd xmm2, qword [edi + 8]
addsd xmm2, qword [edi + 0x18]
addsd xmm2, qword [edi + 0x28]
divsd xmm2, xmm1
movsd qword [edx + 8], xmm2
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret