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

Disassembly:
push rbx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0x88
mov eax, dword [rdx + 0x30]
xor esi, esi
mov r12d, dword [rcx]
and eax, 3
xor ebp, ebp
mov r15, r8
mov r14, rdx
mov rbx, rcx
cmp al, 3
jne 0x1400f6b39
vmovss xmm3, dword [rcx + 0x9c]
vaddss xmm0, xmm3, xmm3
vcvttss2si eax, xmm0
vaddss xmm0, xmm3, dword [0x1401509fc]
movsxd rdx, eax
mov rax, qword [r14 + 0x38]
add rdx, rdx
mov rcx, qword [rax + 0x208]
vmovups xmm2, xmmword [rcx + rdx*8]
vmovss dword [rbx + 0xa8], xmm2
vextractps dword [rbx + 0xac], xmm2, 1
vextractps dword [rbx + 0xb0], xmm2, 2
vextractps dword [rbx + 0xb4], xmm2, 3
vmovss dword [rbx + 0x9c], xmm0
jmp 0x1400f6b66
mov rax, qword [rdx + 0x38]
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rcx + 0xb0], xmm0
vmovss dword [rcx + 0xb4], xmm1
vmovss dword [rcx + 0xa8], xmm0
vmovss dword [rcx + 0xac], xmm1
test r12d, r12d
je 0x1400f702e
mov qword [rsp + 0xd0], rdi
mov r8d, 0x40
mov qword [rsp + 0x80], r13
lea r13, [rbx + 0x88]
vmovaps xmmword [rsp + 0x70], xmm6
vmovaps xmmword [rsp + 0x60], xmm7
vmovaps xmmword [rsp + 0x50], xmm8
vmovaps xmmword [rsp + 0x40], xmm9
vmovaps xmmword [rsp + 0x30], xmm10
vmovaps xmmword [rsp + 0x20], xmm11
vxorps xmm11, xmm11, xmm11
mov dword [rsp + 0xc8], 2
mov eax, dword [r14 + 0x34]
xor edx, edx
mov r9d, dword [rbx + 0x8c]
not eax
div r9d
mov ecx, r12d
cmp r12d, eax
mov edi, eax
cmovb edi, r12d
cmp r12d, 0x40
cmova ecx, r8d
cmp edi, ecx
jb 0x1400f6c1e
cmp esi, edi
jb 0x1400f6bf9
sub esi, edi
lea r13, [rbx + 0x88]
jmp 0x1400f6c67
mov edx, edi
mov rcx, r14
sub edx, esi
mov r8d, edx
imul edx, dword [rbx + 0x88]
imul r8d, r9d
call fcn.1400aeaa0
xor esi, esi
lea r13, [rbx + 0x88]
jmp 0x1400f6c67
test esi, esi
je 0x1400f6c3a
imul r9d, esi
mov rcx, r14
imul esi, dword [r13]
mov r8d, r9d
mov edx, esi
call fcn.1400aeb10
xor esi, esi
mov r8d, dword [rbx + 0x8c]
xor edx, edx
mov eax, 0xffffffff
mov rcx, r14
div r8d
cmp r12d, eax
mov edi, eax
cmovb edi, r12d
mov edx, edi
imul r8d, edi
imul edx, dword [r13]
call fcn.1400aeaa0
sub r12d, edi
lea ecx, [rdi + rbp]
mov dword [rsp + 0xd8], r12d
mov rax, r13
cmp ebp, ecx
je 0x1400f6fcf
mov r12d, ecx
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rbx + 0x90]
lea eax, [rbp + 1]
cdq
mov ecx, dword [r8 + 0x30]
movsxd r11, dword [r8 + 0x20]
dec ecx
mov edi, dword [r8 + 0x18]
mov r10, qword [r8 + 0x10]
idiv ecx
xor ecx, ecx
movsxd r9, edx
mov edx, dword [r8 + 0x1c]
test edx, edx
sete cl
xor eax, eax
cmp r11d, 4
cmove eax, dword [rsp + 0xc8]
or ecx, eax
je 0x1400f6d08
sub ecx, 1
je 0x1400f6cff
sub ecx, 1
je 0x1400f6ced
cmp ecx, 1
je 0x1400f6ce5
vmovaps xmm2, xmm11
jmp 0x1400f6d1c
vmovss xmm2, dword [r10 + r9*4]
jmp 0x1400f6d1c
lea eax, [rdx + r9]
cdq
idiv edi
movsxd rax, edx
vmovss xmm2, dword [r10 + rax*4]
jmp 0x1400f6d1c
mov rcx, r11
imul rcx, r9
jmp 0x1400f6d16
lea eax, [rdx + r9]
cdq
idiv edi
movsxd rcx, edx
imul rcx, r11
vmovss xmm2, dword [rcx + r10]
mov rax, qword [rbx + 0x38]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, r9d
vmulsd xmm1, xmm0, qword [r8]
vaddsd xmm3, xmm1, qword [r8 + 8]
vcvtss2sd xmm7, xmm2, xmm2
test rax, rax
je 0x1400f6d6d
mov rdx, qword [rbx + 0x40]
vmovaps xmm0, xmm3
call rax
vsubsd xmm2, xmm0, qword [rbx + 8]
vmovsd xmm0, qword [rbx + 0x10]
vsubsd xmm1, xmm0, qword [rbx + 8]
vdivsd xmm3, xmm2, xmm1
vmovsd xmm2, qword [rbx + 0x20]
vsubsd xmm0, xmm2, qword [rbx + 0x18]
vmulsd xmm1, xmm3, xmm0
vaddsd xmm3, xmm1, qword [rbx + 0x18]
vsubsd xmm1, xmm3, qword [rbx + 0x18]
vmulsd xmm2, xmm1, qword [rbx + 0x30]
mov rax, qword [rbx + 0x78]
vaddsd xmm3, xmm2, qword [rbx + 0x28]
vcvtsd2ss xmm6, xmm3, xmm3
test rax, rax
je 0x1400f6dbc
mov rdx, qword [rbx + 0x80]
vmovaps xmm0, xmm7
call rax
vsubsd xmm2, xmm0, qword [rbx + 0x48]
vmovsd xmm0, qword [rbx + 0x50]
vsubsd xmm1, xmm0, qword [rbx + 0x48]
vdivsd xmm3, xmm2, xmm1
vmovsd xmm2, qword [rbx + 0x60]
vsubsd xmm0, xmm2, qword [rbx + 0x58]
vmulsd xmm1, xmm3, xmm0
vaddsd xmm7, xmm1, qword [rbx + 0x58]
vsubsd xmm0, xmm7, qword [rbx + 0x58]
vmulsd xmm1, xmm0, qword [rbx + 0x70]
vaddsd xmm2, xmm1, qword [rbx + 0x68]
vmovss xmm1, dword [rbx + 0xa4]
vmovss xmm7, dword [rbx + 0xa0]
vcvtsd2ss xmm4, xmm2, xmm2
vminss xmm0, xmm4, xmm1
vcomiss xmm0, dword [r15 + 0xc]
vmaxss xmm5, xmm6, xmm7
vmaxss xmm2, xmm4, xmm1
vminss xmm3, xmm6, xmm7
jae 0x1400f6fa3
vcomiss xmm2, dword [r15 + 4]
jbe 0x1400f6fa3
vcomiss xmm3, dword [r15 + 8]
jae 0x1400f6fa3
vcomiss xmm5, dword [r15]
jbe 0x1400f6fa3
vmovss xmm8, dword [rbx + 0xb0]
vmovss xmm9, dword [rbx + 0xb4]
mov ecx, dword [rbx + 0x98]
vmovss xmm10, dword [rbx + 0x9c]
vsubss xmm2, xmm6, xmm7
vsubss xmm5, xmm4, xmm1
vmulss xmm1, xmm5, xmm5
vmulss xmm0, xmm2, xmm2
vaddss xmm3, xmm1, xmm0
vcomiss xmm3, xmm11
jbe 0x1400f6e67
vmovaps xmm0, xmm3
vrsqrtss xmm0, xmm3, xmm0
vmulss xmm2, xmm2, xmm0
vmulss xmm5, xmm5, xmm0
mov rax, qword [r14 + 0x48]
vmulss xmm3, xmm2, xmm10
vmulss xmm2, xmm5, xmm10
vaddss xmm0, xmm2, xmm7
vmovss dword [rax], xmm0
vmovss xmm0, dword [rbx + 0xa4]
mov rax, qword [r14 + 0x48]
vsubss xmm1, xmm0, xmm3
vmovss dword [rax + 4], xmm1
vmovsd xmm0, qword [rbx + 0xa8]
mov rax, qword [r14 + 0x48]
vsubss xmm1, xmm4, xmm3
vmovsd qword [rax + 8], xmm0
mov rax, qword [r14 + 0x48]
vaddss xmm0, xmm6, xmm2
mov dword [rax + 0x10], ecx
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x14], xmm0
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x18], xmm1
vmovsd xmm0, qword [rbx + 0xa8]
mov rax, qword [r14 + 0x48]
vaddss xmm1, xmm4, xmm3
vmovsd qword [rax + 0x1c], xmm0
mov rax, qword [r14 + 0x48]
vsubss xmm0, xmm6, xmm2
mov dword [rax + 0x24], ecx
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x28], xmm0
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x2c], xmm1
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x30], xmm8
vmovss dword [rax + 0x34], xmm9
mov rax, qword [r14 + 0x48]
mov dword [rax + 0x38], ecx
vmovss xmm0, dword [rbx + 0xa0]
mov rax, qword [r14 + 0x48]
vsubss xmm1, xmm0, xmm2
vmovss dword [rax + 0x3c], xmm1
vaddss xmm0, xmm3, dword [rbx + 0xa4]
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x40], xmm0
mov rax, qword [r14 + 0x48]
vmovss dword [rax + 0x44], xmm8
vmovss dword [rax + 0x48], xmm9
mov rax, qword [r14 + 0x48]
mov dword [rax + 0x4c], ecx
add qword [r14 + 0x48], 0x50
mov rcx, qword [r14 + 0x50]
mov eax, dword [r14 + 0x34]
mov dword [rcx], eax
mov ecx, dword [r14 + 0x34]
mov rax, qword [r14 + 0x50]
inc ecx
mov dword [rax + 4], ecx
mov rax, qword [r14 + 0x50]
mov ecx, dword [r14 + 0x34]
add ecx, 2
mov dword [rax + 8], ecx
mov rcx, qword [r14 + 0x50]
mov eax, dword [r14 + 0x34]
mov dword [rcx + 0xc], eax
mov rax, qword [r14 + 0x50]
mov ecx, dword [r14 + 0x34]
add ecx, 2
mov dword [rax + 0x10], ecx
mov ecx, dword [r14 + 0x34]
mov rax, qword [r14 + 0x50]
add ecx, 3
mov dword [rax + 0x14], ecx
add qword [r14 + 0x50], 0x18
add dword [r14 + 0x34], 4
jmp 0x1400f6fa5
inc esi
inc ebp
vmovss dword [rbx + 0xa4], xmm4
vmovss dword [rbx + 0xa0], xmm6
cmp ebp, r12d
jne 0x1400f6c90
mov r12d, dword [rsp + 0xd8]
lea rax, [rbx + 0x88]
mov r8d, 0x40
test r12d, r12d
jne 0x1400f6bc0
vmovaps xmm11, xmmword [rsp + 0x20]
vmovaps xmm10, xmmword [rsp + 0x30]
vmovaps xmm9, xmmword [rsp + 0x40]
vmovaps xmm8, xmmword [rsp + 0x50]
vmovaps xmm7, xmmword [rsp + 0x60]
vmovaps xmm6, xmmword [rsp + 0x70]
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xd0]
test esi, esi
je 0x1400f702e
mov r8d, esi
mov rcx, r14
imul esi, dword [rax]
imul r8d, dword [rbx + 0x8c]
mov edx, esi
call fcn.1400aeb10
add rsp, 0x88
pop r15
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret