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

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xb0
mov eax, dword [rdx + 0x30]
xor r15d, r15d
mov r13d, dword [rcx]
and eax, 3
xor edi, edi
mov r12, r8
mov rsi, rdx
mov rbx, rcx
cmp al, 3
jne 0x1400f94ad
vmovss xmm3, dword [rcx + 0xa4]
vaddss xmm0, xmm3, xmm3
vcvttss2si eax, xmm0
vaddss xmm0, xmm3, dword [0x1401509fc]
movsxd rdx, eax
mov rax, qword [rsi + 0x38]
add rdx, rdx
mov rcx, qword [rax + 0x208]
vmovups xmm2, xmmword [rcx + rdx*8]
vmovss dword [rbx + 0xb0], xmm2
vextractps dword [rbx + 0xb4], xmm2, 1
vextractps dword [rbx + 0xb8], xmm2, 2
vextractps dword [rbx + 0xbc], xmm2, 3
vmovss dword [rbx + 0xa4], xmm0
jmp 0x1400f94da
mov rax, qword [rdx + 0x38]
vmovss xmm0, dword [rax]
vmovss xmm1, dword [rax + 4]
vmovss dword [rcx + 0xb8], xmm0
vmovss dword [rcx + 0xbc], xmm1
vmovss dword [rcx + 0xb0], xmm0
vmovss dword [rcx + 0xb4], xmm1
test r13d, r13d
je 0x1400f9a46
mov qword [rsp + 0xe0], rbp
mov r8d, 0x40
mov qword [rsp + 0xe8], r14
lea rbp, [rbx + 0x88]
vmovaps xmmword [rsp + 0xa0], xmm6
vmovaps xmmword [rsp + 0x90], xmm7
vmovaps xmmword [rsp + 0x80], xmm8
vmovaps xmmword [rsp + 0x70], xmm9
vmovaps xmmword [rsp + 0x60], xmm10
vmovaps xmmword [rsp + 0x50], xmm11
vmovaps xmmword [rsp + 0x40], xmm12
vmovaps xmmword [rsp + 0x30], xmm13
vmovaps xmmword [rsp + 0x20], xmm14
vxorps xmm14, xmm14, xmm14
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsi + 0x34]
xor edx, edx
mov r9d, dword [rbx + 0x8c]
not eax
div r9d
mov ecx, r13d
cmp r13d, eax
mov r14d, eax
cmovb r14d, r13d
cmp r13d, 0x40
cmova ecx, r8d
cmp r14d, ecx
jb 0x1400f95b4
cmp r15d, r14d
jb 0x1400f958c
sub r15d, r14d
lea rbp, [rbx + 0x88]
jmp 0x1400f9601
mov edx, r14d
mov rcx, rsi
sub edx, r15d
mov r8d, edx
imul edx, dword [rbx + 0x88]
imul r8d, r9d
call fcn.1400aeaa0
xor r15d, r15d
lea rbp, [rbx + 0x88]
jmp 0x1400f9601
test r15d, r15d
je 0x1400f95d3
imul r9d, r15d
mov rcx, rsi
imul r15d, dword [rbp]
mov r8d, r9d
mov edx, r15d
call fcn.1400aeb10
xor r15d, r15d
mov r8d, dword [rbx + 0x8c]
xor edx, edx
mov eax, 0xffffffff
mov rcx, rsi
div r8d
cmp r13d, eax
mov r14d, eax
cmovb r14d, r13d
mov edx, r14d
imul r8d, r14d
imul edx, dword [rbp]
call fcn.1400aeaa0
sub r13d, r14d
add r14d, edi
cmp edi, r14d
je 0x1400f99c8
mov ebp, 2
nop word [rax + rax]
mov r8, qword [rbx + 0x90]
xor ecx, ecx
mov edx, dword [r8 + 0x24]
test edx, edx
movsxd r10, dword [r8 + 0x28]
mov r11d, dword [r8 + 0x20]
sete cl
mov r9, qword [r8 + 0x18]
xor eax, eax
cmp r10d, 4
cmove eax, ebp
or ecx, eax
je 0x1400f968a
sub ecx, 1
je 0x1400f967e
sub ecx, 1
je 0x1400f966c
cmp ecx, 1
je 0x1400f9661
vmovaps xmm0, xmm14
jmp 0x1400f969e
movsxd rax, edi
vmovss xmm0, dword [r9 + rax*4]
jmp 0x1400f969e
lea eax, [rdx + rdi]
cdq
idiv r11d
movsxd rax, edx
vmovss xmm0, dword [r9 + rax*4]
jmp 0x1400f969e
mov rcx, r10
movsxd rax, edi
imul rcx, rax
jmp 0x1400f9698
lea eax, [rdx + rdi]
cdq
idiv r11d
movsxd rcx, edx
imul rcx, r10
vmovss xmm0, dword [rcx + r9]
mov edx, dword [r8 + 0xc]
xor ecx, ecx
movsxd r10, dword [r8 + 0x10]
test edx, edx
mov r11d, dword [r8 + 8]
mov r9, qword [r8]
sete cl
xor eax, eax
cmp r10d, 4
vcvtss2sd xmm7, xmm0, xmm0
cmove eax, ebp
or ecx, eax
je 0x1400f9704
sub ecx, 1
je 0x1400f96f8
sub ecx, 1
je 0x1400f96e6
cmp ecx, 1
je 0x1400f96db
vmovaps xmm0, xmm14
jmp 0x1400f9718
movsxd rax, edi
vmovss xmm0, dword [r9 + rax*4]
jmp 0x1400f9718
lea eax, [rdx + rdi]
cdq
idiv r11d
movsxd rax, edx
vmovss xmm0, dword [r9 + rax*4]
jmp 0x1400f9718
mov rcx, r10
movsxd rax, edi
imul rcx, rax
jmp 0x1400f9712
lea eax, [rdx + rdi]
cdq
idiv r11d
movsxd rcx, edx
imul rcx, r10
vmovss xmm0, dword [rcx + r9]
mov rax, qword [rbx + 0x38]
vcvtss2sd xmm1, xmm0, xmm0
test rax, rax
je 0x1400f9755
mov rdx, qword [rbx + 0x40]
vmovaps xmm0, xmm1
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 xmm1, xmm1, qword [rbx + 0x18]
vsubsd xmm1, xmm1, 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 0x1400f97a4
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]
vcomiss xmm6, dword [r12]
vsubsd xmm0, xmm7, qword [rbx + 0x58]
vmulsd xmm1, xmm0, qword [rbx + 0x70]
vaddsd xmm2, xmm1, qword [rbx + 0x68]
vcvtsd2ss xmm5, xmm2, xmm2
jb 0x1400f99b3
vcomiss xmm5, dword [r12 + 4]
jb 0x1400f99b3
vcomiss xmm6, dword [r12 + 8]
ja 0x1400f99b3
vcomiss xmm5, dword [r12 + 0xc]
ja 0x1400f99b3
xor r8d, r8d
cmp dword [rbx + 0xa0], r8d
jle 0x1400f99b6
xor edx, edx
nop dword [rax]
vmovss xmm1, dword [rbx + 0xa8]
mov rax, qword [rbx + 0x98]
vmovss xmm11, dword [rbx + 0xb8]
vmovss xmm12, dword [rbx + 0xbc]
mov ecx, dword [rbx + 0xac]
vmulss xmm0, xmm1, dword [rax + rdx]
vmovss xmm13, dword [rbx + 0xa4]
vaddss xmm7, xmm0, xmm6
vmulss xmm0, xmm1, dword [rax + rdx + 4]
vaddss xmm8, xmm0, xmm5
vmulss xmm0, xmm1, dword [rax + rdx + 8]
vaddss xmm9, xmm0, xmm6
vmulss xmm0, xmm1, dword [rax + rdx + 0xc]
vaddss xmm10, xmm0, xmm5
vsubss xmm4, xmm10, xmm8
vsubss xmm2, xmm9, xmm7
vmulss xmm1, xmm4, xmm4
vmulss xmm0, xmm2, xmm2
vaddss xmm3, xmm1, xmm0
vcomiss xmm3, xmm14
jbe 0x1400f9880
vmovaps xmm0, xmm3
vrsqrtss xmm0, xmm3, xmm0
vmulss xmm2, xmm2, xmm0
vmulss xmm4, xmm4, xmm0
mov rax, qword [rsi + 0x48]
add r8d, ebp
vmulss xmm3, xmm2, xmm13
vmulss xmm2, xmm4, xmm13
vaddss xmm0, xmm2, xmm7
vmovss dword [rax], xmm0
mov rax, qword [rsi + 0x48]
add rdx, 0x10
vsubss xmm1, xmm8, xmm3
vmovss dword [rax + 4], xmm1
vmovsd xmm0, qword [rbx + 0xb0]
mov rax, qword [rsi + 0x48]
vsubss xmm1, xmm10, xmm3
vmovsd qword [rax + 8], xmm0
mov rax, qword [rsi + 0x48]
vaddss xmm0, xmm9, xmm2
mov dword [rax + 0x10], ecx
mov rax, qword [rsi + 0x48]
vmovss dword [rax + 0x14], xmm0
mov rax, qword [rsi + 0x48]
vmovss dword [rax + 0x18], xmm1
vmovsd xmm0, qword [rbx + 0xb0]
mov rax, qword [rsi + 0x48]
vaddss xmm1, xmm10, xmm3
vmovsd qword [rax + 0x1c], xmm0
mov rax, qword [rsi + 0x48]
vsubss xmm0, xmm9, xmm2
mov dword [rax + 0x24], ecx
mov rax, qword [rsi + 0x48]
vmovss dword [rax + 0x28], xmm0
mov rax, qword [rsi + 0x48]
vsubss xmm0, xmm7, xmm2
vmovss dword [rax + 0x2c], xmm1
mov rax, qword [rsi + 0x48]
vaddss xmm1, xmm8, xmm3
vmovss dword [rax + 0x30], xmm11
vmovss dword [rax + 0x34], xmm12
mov rax, qword [rsi + 0x48]
mov dword [rax + 0x38], ecx
mov rax, qword [rsi + 0x48]
vmovss dword [rax + 0x3c], xmm0
mov rax, qword [rsi + 0x48]
vmovss dword [rax + 0x40], xmm1
mov rax, qword [rsi + 0x48]
vmovss dword [rax + 0x44], xmm11
vmovss dword [rax + 0x48], xmm12
mov rax, qword [rsi + 0x48]
mov dword [rax + 0x4c], ecx
add qword [rsi + 0x48], 0x50
mov rcx, qword [rsi + 0x50]
mov eax, dword [rsi + 0x34]
mov dword [rcx], eax
mov ecx, dword [rsi + 0x34]
mov rax, qword [rsi + 0x50]
inc ecx
mov dword [rax + 4], ecx
mov rax, qword [rsi + 0x50]
mov ecx, dword [rsi + 0x34]
add ecx, ebp
mov dword [rax + 8], ecx
mov rcx, qword [rsi + 0x50]
mov eax, dword [rsi + 0x34]
mov dword [rcx + 0xc], eax
mov rax, qword [rsi + 0x50]
mov ecx, dword [rsi + 0x34]
add ecx, ebp
mov dword [rax + 0x10], ecx
mov ecx, dword [rsi + 0x34]
mov rax, qword [rsi + 0x50]
add ecx, 3
mov dword [rax + 0x14], ecx
add qword [rsi + 0x50], 0x18
add dword [rsi + 0x34], 4
cmp r8d, dword [rbx + 0xa0]
jl 0x1400f9800
jmp 0x1400f99b6
inc r15d
inc edi
cmp edi, r14d
jne 0x1400f9620
lea rbp, [rbx + 0x88]
mov r8d, 0x40
test r13d, r13d
jne 0x1400f9550
vmovaps xmm14, xmmword [rsp + 0x20]
vmovaps xmm13, xmmword [rsp + 0x30]
vmovaps xmm12, xmmword [rsp + 0x40]
vmovaps xmm11, xmmword [rsp + 0x50]
vmovaps xmm10, xmmword [rsp + 0x60]
vmovaps xmm9, xmmword [rsp + 0x70]
vmovaps xmm8, xmmword [rsp + 0x80]
vmovaps xmm7, xmmword [rsp + 0x90]
vmovaps xmm6, xmmword [rsp + 0xa0]
mov r14, qword [rsp + 0xe8]
test r15d, r15d
je 0x1400f9a3e
mov r8d, r15d
mov rcx, rsi
imul r15d, dword [rbp]
imul r8d, dword [rbx + 0x8c]
mov edx, r15d
call fcn.1400aeb10
mov rbp, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret