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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xb0
mov eax, dword [rdx + 0x30]
xor ebp, ebp
mov r13d, dword [rcx]
and eax, 3
xor esi, esi
mov r12, r8
mov rdi, rdx
mov rbx, rcx
cmp al, 3
jne 0x1400f9aeb
vmovss xmm3, dword [rcx + 0xa4]
vaddss xmm0, xmm3, xmm3
vcvttss2si eax, xmm0
vaddss xmm0, xmm3, dword [0x1401509fc]
movsxd rdx, eax
mov rax, qword [rdi + 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 0x1400f9b18
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 0x1400fa014
mov qword [rsp + 0xe0], r14
mov r8d, 0x40
mov qword [rsp + 0xe8], r15
lea r15, [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
mov eax, dword [rdi + 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 0x1400f9be4
cmp ebp, r14d
jb 0x1400f9bbe
sub ebp, r14d
lea r15, [rbx + 0x88]
jmp 0x1400f9c2d
mov edx, r14d
mov rcx, rdi
sub edx, ebp
mov r8d, edx
imul edx, dword [rbx + 0x88]
imul r8d, r9d
call fcn.1400aeaa0
xor ebp, ebp
lea r15, [rbx + 0x88]
jmp 0x1400f9c2d
test ebp, ebp
je 0x1400f9bff
imul r9d, ebp
mov rcx, rdi
imul ebp, dword [r15]
mov r8d, r9d
mov edx, ebp
call fcn.1400aeb10
xor ebp, ebp
mov r8d, dword [rbx + 0x8c]
xor edx, edx
mov eax, 0xffffffff
mov rcx, rdi
div r8d
cmp r13d, eax
mov r14d, eax
cmovb r14d, r13d
mov edx, r14d
imul r8d, r14d
imul edx, dword [r15]
call fcn.1400aeaa0
sub r13d, r14d
add r14d, esi
cmp esi, r14d
je 0x1400f9f99
mov r15d, 2
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rbx + 0x90]
xor ecx, ecx
mov edx, dword [r8 + 0x1c]
test edx, edx
movsxd r10, dword [r8 + 0x20]
mov r11d, dword [r8 + 0x18]
sete cl
mov r9, qword [r8 + 0x10]
xor eax, eax
cmp r10d, 4
cmove eax, r15d
or ecx, eax
je 0x1400f9cbb
sub ecx, 1
je 0x1400f9caf
sub ecx, 1
je 0x1400f9c9d
cmp ecx, 1
je 0x1400f9c92
vmovaps xmm2, xmm14
jmp 0x1400f9ccf
movsxd rax, esi
vmovss xmm2, dword [r9 + rax*4]
jmp 0x1400f9ccf
lea eax, [rdx + rsi]
cdq
idiv r11d
movsxd rax, edx
vmovss xmm2, dword [r9 + rax*4]
jmp 0x1400f9ccf
mov rcx, r10
movsxd rax, esi
imul rcx, rax
jmp 0x1400f9cc9
lea eax, [rdx + rsi]
cdq
idiv r11d
movsxd rcx, edx
imul rcx, r10
vmovss xmm2, dword [rcx + r9]
mov rax, qword [rbx + 0x38]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, esi
vmulsd xmm1, xmm0, qword [r8]
vaddsd xmm3, xmm1, qword [r8 + 8]
vcvtss2sd xmm7, xmm2, xmm2
test rax, rax
je 0x1400f9d1f
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 0x1400f9d6e
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 0x1400f9f85
vcomiss xmm5, dword [r12 + 4]
jb 0x1400f9f85
vcomiss xmm6, dword [r12 + 8]
ja 0x1400f9f85
vcomiss xmm5, dword [r12 + 0xc]
ja 0x1400f9f85
xor r8d, r8d
cmp dword [rbx + 0xa0], r8d
jle 0x1400f9f87
xor edx, edx
nop word [rax + 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 [rdx + rax]
vmovss xmm13, dword [rbx + 0xa4]
vaddss xmm7, xmm0, xmm6
vmulss xmm0, xmm1, dword [rdx + rax + 4]
vaddss xmm8, xmm0, xmm5
vmulss xmm0, xmm1, dword [rdx + rax + 8]
vaddss xmm9, xmm0, xmm6
vmulss xmm0, xmm1, dword [rdx + rax + 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 0x1400f9e50
vmovaps xmm0, xmm3
vrsqrtss xmm0, xmm3, xmm0
vmulss xmm2, xmm2, xmm0
vmulss xmm4, xmm4, xmm0
mov rax, qword [rdi + 0x48]
add r8d, r15d
vmulss xmm3, xmm2, xmm13
vmulss xmm2, xmm4, xmm13
vaddss xmm0, xmm7, xmm2
vmovss dword [rax], xmm0
mov rax, qword [rdi + 0x48]
add rdx, 0x10
vsubss xmm1, xmm8, xmm3
vmovss dword [rax + 4], xmm1
vmovsd xmm0, qword [rbx + 0xb0]
mov rax, qword [rdi + 0x48]
vsubss xmm1, xmm10, xmm3
vmovsd qword [rax + 8], xmm0
mov rax, qword [rdi + 0x48]
vaddss xmm0, xmm9, xmm2
mov dword [rax + 0x10], ecx
mov rax, qword [rdi + 0x48]
vmovss dword [rax + 0x14], xmm0
mov rax, qword [rdi + 0x48]
vmovss dword [rax + 0x18], xmm1
vmovsd xmm0, qword [rbx + 0xb0]
mov rax, qword [rdi + 0x48]
vaddss xmm1, xmm10, xmm3
vmovsd qword [rax + 0x1c], xmm0
mov rax, qword [rdi + 0x48]
vsubss xmm0, xmm9, xmm2
mov dword [rax + 0x24], ecx
mov rax, qword [rdi + 0x48]
vmovss dword [rax + 0x28], xmm0
mov rax, qword [rdi + 0x48]
vsubss xmm0, xmm7, xmm2
vmovss dword [rax + 0x2c], xmm1
mov rax, qword [rdi + 0x48]
vaddss xmm1, xmm8, xmm3
vmovss dword [rax + 0x30], xmm11
vmovss dword [rax + 0x34], xmm12
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x38], ecx
mov rax, qword [rdi + 0x48]
vmovss dword [rax + 0x3c], xmm0
mov rax, qword [rdi + 0x48]
vmovss dword [rax + 0x40], xmm1
mov rax, qword [rdi + 0x48]
vmovss dword [rax + 0x44], xmm11
vmovss dword [rax + 0x48], xmm12
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x4c], ecx
add qword [rdi + 0x48], 0x50
mov rcx, qword [rdi + 0x50]
mov eax, dword [rdi + 0x34]
mov dword [rcx], eax
mov ecx, dword [rdi + 0x34]
mov rax, qword [rdi + 0x50]
inc ecx
mov dword [rax + 4], ecx
mov rax, qword [rdi + 0x50]
mov ecx, dword [rdi + 0x34]
add ecx, r15d
mov dword [rax + 8], ecx
mov rcx, qword [rdi + 0x50]
mov eax, dword [rdi + 0x34]
mov dword [rcx + 0xc], eax
mov rax, qword [rdi + 0x50]
mov ecx, dword [rdi + 0x34]
add ecx, r15d
mov dword [rax + 0x10], ecx
mov ecx, dword [rdi + 0x34]
mov rax, qword [rdi + 0x50]
add ecx, 3
mov dword [rax + 0x14], ecx
add qword [rdi + 0x50], 0x18
add dword [rdi + 0x34], 4
cmp r8d, dword [rbx + 0xa0]
jl 0x1400f9dd0
jmp 0x1400f9f87
inc ebp
inc esi
cmp esi, r14d
jne 0x1400f9c50
lea r15, [rbx + 0x88]
mov r8d, 0x40
test r13d, r13d
jne 0x1400f9b82
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 + 0xe0]
test ebp, ebp
je 0x1400fa00c
mov r8d, ebp
mov rcx, rdi
imul ebp, dword [r15]
imul r8d, dword [rbx + 0x8c]
mov edx, ebp
call fcn.1400aeb10
mov r15, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret