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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x150], xmm7
movdqa xmmword [rsp + 0x140], xmm6
mov rdi, rdx
mov r14, rcx
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x44], r9d
mov rcx, qword [rdx]
test rcx, rcx
je 0x1401aa024
mov eax, dword [rcx + 0x24]
mov ebp, dword [rcx + 0x28]
jmp 0x1401aa028
xor eax, eax
xor ebp, ebp
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], ebp
add eax, r8d
add eax, 0xffffffff
cdq
idiv r8d
mov ecx, eax
lea eax, [r9 + rbp]
add eax, 0xffffffff
cdq
idiv r9d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], eax
lea rsi, [rsp + 0x90]
mov byte [rsp + 0xb1], 0
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0x88], eax
movsxd rcx, ecx
movsxd rbx, eax
imul rbx, rcx
mov qword [rsp + 0x90], 0
shl rbx, 2
mov rcx, rbx
call fcn.140308730
mov bpl, byte [rsp + 0x1d0]
mov qword [rsp + 0x90], rax
test rbx, rbx
je 0x1401aa0b1
mov rcx, rax
xor edx, edx
mov r8, rbx
call sub.msvcrt.dll_memset
mov dword [rsp + 0x80], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], 0
mov word [rsp + 0xb0], 0xff
mov ecx, dword [rsp + 0x38]
mov eax, ecx
cdq
idiv dword [rsp + 0x2c]
sub ecx, edx
mov dword [rsp + 0x40], ecx
lea rsi, [rsp + 0x20]
mov qword [rsp + 0x48], rsi
lea rax, [rsp + 0x2c]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x78], rax
test bpl, bpl
je 0x1401aa1c2
lea rdi, [rsp + 0xb8]
mov rcx, rdi
call fcn.1402beb50
mov ecx, 0x28
call fcn.14030dfa0
lea rcx, [0x14038d5a0]
mov qword [rax], rcx
mov ecx, 1
xchg dword [rax + 8], ecx
lea rcx, [0x1403cb6d8]
mov qword [rax], rcx
lea rcx, [rsp + 0x20]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rdi
lea rcx, [rsp + 0x48]
mov qword [rax + 0x20], rcx
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.1402be670
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1401aa1b0
lock sub dword [rcx + 8], 1
jne 0x1401aa1b0
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0xb8]
call fcn.1402beb90
jmp 0x1401aa3f9
movsxd rcx, dword [rsp + 0x20]
shl rcx, 4
call fcn.140308730
mov r13, rax
mov qword [rsp + 0xb8], rax
movsxd rcx, dword [rsp + 0x20]
shl rcx, 4
call fcn.140308730
mov r12, rax
cmp dword [rsp + 0x24], 0
jle 0x1401aa3da
pxor xmm6, xmm6
movaps xmm7, xmmword [0x1403c9d40]
xor r15d, r15d
nop word cs:[rax + rax]
nop
movsxd r8, dword [rsi]
shl r8, 4
mov rcx, r12
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x48]
movsxd r8, dword [rax]
shl r8, 4
mov rcx, r13
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax]
test r8d, r8d
jle 0x1401aa360
mov rax, qword [rsp + 0x50]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax]
shufps xmm0, xmm0, 0
imul r8d, r15d
xor ecx, ecx
jmp 0x1401aa270
add ecx, 1
mov rax, qword [rsp + 0x58]
cmp ecx, dword [rax]
jge 0x1401aa360
lea edx, [rcx + r8]
mov rax, qword [rsp + 0x60]
cmp edx, dword [rax + 4]
jge 0x1401aa260
mov rbp, qword [rsp + 0x68]
mov rbp, qword [rbp]
movsxd rbx, dword [rbp + 0x24]
movsxd r10, edx
imul r10, rbx
shl r10, 2
add r10, qword [rbp + 0x30]
mov rdx, qword [rsp + 0x70]
movsxd rdx, dword [rdx]
movsxd r9, dword [rax]
test rdx, rdx
jle 0x1401aa311
lea rax, [r10 + rdx*4]
mov rdx, r13
mov rdi, r12
mov rsi, r10
jmp 0x1401aa2dc
addps xmm1, xmmword [rdi]
movaps xmmword [rdi], xmm1
movaps xmm1, xmmword [rdx]
addps xmm1, xmm0
movaps xmmword [rdx], xmm1
add rdi, 0x10
add rdx, 0x10
cmp rsi, rax
jae 0x1401aa31a
mov rbp, qword [rsp + 0x50]
mov ebx, dword [rbp]
xorps xmm1, xmm1
test ebx, ebx
je 0x1401aa2c0
mov rbp, rsi
nop
lea rsi, [rbp + 4]
movd xmm2, dword [rbp]
punpcklbw xmm2, xmm6
punpcklwd xmm2, xmm6
cvtdq2ps xmm2, xmm2
addps xmm1, xmm2
mov rbp, rsi
add ebx, 0xffffffff
jne 0x1401aa2f0
jmp 0x1401aa2c0
mov rsi, r10
mov rdi, r12
mov rdx, r13
lea rax, [r10 + r9*4]
cmp rsi, rax
jae 0x1401aa260
xorps xmm1, xmm1
xorps xmm2, xmm2
nop dword [rax]
movd xmm3, dword [rsi]
add rsi, 4
punpcklbw xmm3, xmm6
punpcklwd xmm3, xmm6
cvtdq2ps xmm3, xmm3
addps xmm1, xmm3
addps xmm2, xmm7
cmp rsi, rax
jb 0x1401aa330
addps xmm1, xmmword [rdi]
movaps xmmword [rdi], xmm1
addps xmm2, xmmword [rdx]
movaps xmmword [rdx], xmm2
jmp 0x1401aa260
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax]
test rcx, rcx
jle 0x1401aa3bd
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
mov edx, ecx
imul edx, r15d
movsxd rdx, edx
lea rax, [rax + rdx*4]
lea rcx, [rax + rcx*4]
xor edx, edx
nop dword [rax]
movaps xmm0, xmmword [r12 + rdx*4]
divps xmm0, xmmword [r13 + rdx*4]
cvttps2dq xmm0, xmm0
packssdw xmm0, xmm0
packuswb xmm0, xmm0
movd dword [rax + rdx], xmm0
lea rbp, [rax + rdx]
add rbp, 4
add rdx, 4
cmp rbp, rcx
jb 0x1401aa390
add r15d, 1
cmp r15d, dword [rsp + 0x24]
jge 0x1401aa3da
mov r13, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x48]
jmp 0x1401aa210
test r12, r12
je 0x1401aa3e7
mov rcx, r12
call fcn.140309590
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x1401aa3f9
call fcn.140309590
cmp dword [rsp + 0x84], 0
je 0x1401aa43c
cmp dword [rsp + 0x88], 0
je 0x1401aa43c
mov ecx, 0x60
call fcn.14030dfa0
mov rsi, rax
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.140193d80
mov qword [r14], rsi
mov rcx, qword [rsp + 0x90]
test rcx, rcx
jne 0x1401aa450
jmp 0x1401aa455
mov qword [r14], 0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x1401aa455
call fcn.140309590
mov rax, r14
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret