Function at 0x1401c3fa0
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, 0x238
movaps xmmword [rsp + 0x220], xmm10
movaps xmmword [rsp + 0x210], xmm9
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm6
mov r12, r9
mov r15, rdx
mov r13, rcx
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x1d8], rax
movsxd rax, dword [rdx + 0x38]
mov qword [rsp + 0x40], rax
mov ebp, dword [rdx + 0x3c]
mov rbx, qword [rdx + 8]
mov r14, qword [rdx + 0x10]
mov rdi, qword [rdx + 0x18]
mov rsi, qword [rdx + 0x20]
mov rcx, qword [r9 + 8]
test rdi, rdi
cmove rdi, rbx
test rcx, rcx
mov qword [rsp + 0x48], rcx
cmove rdi, rcx
mov qword [rsp + 0x70], r8
mov rcx, qword [r8]
mov rax, qword [rcx]
lea rdx, [rsp + 0xd8]
call qword [rax + 0x30]
cmp byte [rsp + 0xdc], 0
mov al, 1
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x64], ebp
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r12
je 0x1401c4086
test rsi, rsi
je 0x1401c4086
mov eax, dword [rsp + 0xd8]
cmp eax, 2
je 0x1401c408d
cmp eax, 1
mov qword [rsp + 0x50], rdi
jne 0x1401c40a2
xor esi, esi
jmp 0x1401c40a2
mov qword [rsp + 0x50], rdi
jmp 0x1401c40a2
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rdi, qword [rsp + 0x40]
mov ebp, edi
mov r14, qword [r13 + 0x38]
mov ecx, dword [r14 + 0x24]
mov eax, ecx
and eax, 0xc0
cmp eax, 0x80
jne 0x1401c40ce
mov rcx, r14
call fcn.14001fff0
movzx ecx, al
mov dword [r14 + 0x24], ecx
mov r12, qword [rsp + 0x2b8]
and ecx, 8
test rsi, rsi
mov qword [rsp + 0x90], r15
je 0x1401c4191
mov dword [rsp + 0x5c], ecx
lea rcx, [r13 + 8]
call fcn.140006340
test ebp, ebp
js 0x1401c4cac
test edi, 0xf0000000
jne 0x1401c4cac
mov r14, rax
mov r15d, edi
shl r15d, 4
mov rdi, qword [r12 + 8]
mov rcx, qword [r12 + 0x10]
mov eax, edi
neg eax
and eax, 3
lea rdx, [rax + r15]
sub rcx, rdi
cmp rdx, rcx
jbe 0x1401c414f
mov rcx, r12
mov edx, r15d
mov r8d, 4
call fcn.14007a400
mov rdi, qword [r12 + 8]
mov eax, edi
neg eax
and eax, 3
add rdi, rax
add r15, rdi
mov qword [r12 + 8], r15
test rbp, rbp
je 0x1401c4172
mov r8, qword [rsp + 0x40]
shl r8, 4
mov rcx, rdi
xor edx, edx
call fcn.140562a70
xor r15d, r15d
test r14, r14
je 0x1401c41a5
cmp byte [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x5c]
jne 0x1401c41a9
lock inc dword [r14]
mov r15, r14
jmp 0x1401c41a9
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x78], rax
mov r14, qword [rsp + 0x50]
jmp 0x1401c4418
mov eax, dword [rsp + 0x5c]
shr eax, 3
mov dword [rsp + 0x60], eax
lea r14, [rsp + 0x130]
mov rcx, r14
call fcn.140024f70
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 3
lea rcx, [rsp + 0xd8]
mov r12, qword [rsp + 0x40]
mov edx, r12d
mov r8d, 1
mov r9d, 6
call fcn.140001410
test r15, r15
mov qword [rsp + 0x78], rdi
je 0x1401c4286
lock inc dword [r15]
mov qword [rsp + 0x180], r15
lea rax, [rsp + 0x180]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
lea r14, [rsp + 0x1a0]
mov rcx, r14
mov edx, ebp
mov r8d, 1
mov r9d, 0x10
call fcn.140001410
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], 0
mov rdx, rdi
lea rdi, [rsp + 0xd8]
mov rcx, r14
xor r8d, r8d
mov r9, rdi
call fcn.14005e7e0
mov rcx, r14
call fcn.140001050
mov rcx, rdi
call fcn.140001050
lock dec dword [r15]
jne 0x1401c42fd
mov rcx, r15
call fcn.1405602d0
jmp 0x1401c42fd
mov qword [rsp + 0x180], 0
lea rax, [rsp + 0x180]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
lea r14, [rsp + 0x1a0]
mov rcx, r14
mov edx, r12d
mov r8d, 1
mov r9d, 0x10
call fcn.140001410
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], 0
lea r15, [rsp + 0xd8]
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call fcn.14005e7e0
mov rcx, r14
call fcn.140001050
mov rcx, r15
call fcn.140001050
test rbp, rbp
mov r14, qword [rsp + 0x50]
je 0x1401c4317
cmp dword [rsp + 0x40], 8
jae 0x1401c431c
mov ecx, 0xffffffff
xor eax, eax
jmp 0x1401c4380
mov dil, 1
jmp 0x1401c4395
mov eax, ebp
and eax, 0xfffffff8
lea rcx, [rbp*4]
and rcx, 0xffffffffffffffe0
pcmpeqd xmm0, xmm0
xor edx, edx
pcmpeqd xmm1, xmm1
nop word [rax + rax]
movdqu xmm2, xmmword [rsi + rdx]
pand xmm0, xmm2
movdqu xmm2, xmmword [rsi + rdx + 0x10]
pand xmm1, xmm2
add rdx, 0x20
cmp rcx, rdx
jne 0x1401c4340
pand xmm1, xmm0
pshufd xmm0, xmm1, 0xee
pand xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pand xmm1, xmm0
movd ecx, xmm1
cmp rax, rbp
je 0x1401c438b
nop dword [rax + rax]
and ecx, dword [rsi + rax*4]
inc rax
cmp rbp, rax
jne 0x1401c4380
cmp ecx, 0xff000000
setae dil
mov r12, qword [rsp + 0x2b8]
mov rcx, r12
mov edx, 0x79
mov r8d, 8
call fcn.14007a510
mov r15, rax
mov eax, dword [r12 + 8]
mov r8d, r15d
sub r8d, eax
lea rax, [r15 + 0x70]
mov qword [r12 + 8], rax
lea rdx, [0x1401c5090]
mov rcx, r12
call fcn.14007a370
mov rcx, r15
call fcn.1400a4320
lea rax, [0x1405b8f10]
mov qword [r15], rax
movss xmm0, dword [0x1406908dc]
movups xmmword [r15 + 0x40], xmm0
movups xmmword [r15 + 0x50], xmm0
movabs rax, 0x103f800000
mov qword [r15 + 0x60], rax
mov byte [r15 + 0x68], dil
mov eax, dword [rsp + 0x60]
mov byte [r15 + 0x69], al
mov ecx, dword [rsp + 0x5c]
mov rdi, qword [r13 + 0x38]
xor eax, eax
mov qword [rsp + 0x40], rax
test r14, r14
je 0x1401c4498
cmp r14, rbx
je 0x1401c4498
test ecx, ecx
setne byte [rsp + 0x40]
mov rdi, qword [rsp + 0x2b8]
mov rcx, rdi
mov edx, 0x49
mov r8d, 8
call fcn.14007a510
mov r12, rax
mov eax, dword [rdi + 8]
mov r8d, r12d
sub r8d, eax
lea rax, [r12 + 0x40]
mov qword [rdi + 8], rax
lea rdx, [0x1401c50d0]
mov rcx, rdi
call fcn.14007a370
mov rcx, r12
mov rdx, qword [rsp + 0x48]
movzx r8d, byte [rsp + 0x40]
call fcn.140314470
call fcn.140024370
mov rdi, rax
mov rax, r12
mov qword [rsp + 0x40], r12
jmp 0x1401c449d
mov rax, qword [rsp + 0x48]
test rsi, rsi
mov r12, qword [rsp + 0x80]
je 0x1401c44bf
cmp byte [rsp + 0x68], 0
je 0x1401c44d5
test rax, rax
je 0x1401c44ec
lock inc dword [rax + 8]
jmp 0x1401c4548
test rax, rax
je 0x1401c44c8
lock inc dword [rax + 8]
mov qword [rsp + 0x128], rax
jmp 0x1401c45a0
test r15, r15
je 0x1401c44df
lock inc dword [r15 + 8]
mov qword [rsp + 0x128], r15
jmp 0x1401c45a0
mov qword [rsp + 0x130], 0
movss xmm0, dword [r12 + 0x38]
movq xmm1, qword [r12 + 0x30]
movq qword [rsp + 0xd8], xmm1
movss dword [rsp + 0xe0], xmm0
mov dword [rsp + 0xe4], 0x3f800000
lea rcx, [rsp + 0x1a0]
lea rdx, [rsp + 0xd8]
lea r8, [rsp + 0x130]
call fcn.1400c3a00
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xd8], rax
test r15, r15
je 0x1401c455a
lock inc dword [r15 + 8]
mov qword [rsp + 0x1a0], r15
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
test rax, rax
je 0x1401c4573
lock inc dword [rax + 8]
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x1a0]
lea r9, [rsp + 0xd8]
call fcn.1400f7400
lea rsi, [rsp + 0xd8]
mov rcx, rsi
mov rdx, r12
call fcn.14000ef60
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x128], 0
mov qword [rsp + 0xd0], rax
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.14000f4f0
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xc0], 0
test rax, rax
mov eax, dword [rsp + 0x64]
cmove eax, ebp
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x90]
mov edx, dword [rax + 0x40]
lea rcx, [rsp + 0xb0]
call fcn.140314810
mov rsi, rax
mov rdx, qword [r13 + 0x48]
lea rcx, [rsp + 0xa8]
test rdx, rdx
je 0x1401c463e
call fcn.14001e5b0
jmp 0x1401c4643
call fcn.14001e590
mov rax, qword [r13 + 0x40]
mov rax, qword [rax + 0x38]
test rax, rax
je 0x1401c4654
lock inc dword [rax + 8]
mov qword [rsp + 0xa0], rax
lea rcx, [r13 + 8]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xd8]
mov r8, rdi
mov r9, qword [rsp + 0x2b8]
call fcn.140314870
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1401c4c1e
lea rcx, [rsp + 0xb0]
call rsi
test al, al
je 0x1401c4c1e
mov rbp, qword [rsp + 0x2b0]
movss xmm6, dword [0x1406908dc]
mov edi, 0xfffffffe
movss xmm7, dword [0x1405b8f00]
movss xmm8, dword [0x1405b8f04]
movss xmm9, dword [0x1406908dc]
movaps xmm10, xmmword [0x14059b090]
lea rcx, [rsp + 0x130]
lea r12, [rsp + 0xb0]
mov qword [rsp + 0x98], r13
jmp 0x1401c472d
lea r12, [rsp + 0xb0]
mov rcx, r12
call rsi
lea rcx, [rsp + 0x130]
test al, al
je 0x1401c4c1e
test r15, r15
je 0x1401c4777
mov eax, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xb4]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, qword [rsp + 0x2a0]
mov r8, rbx
mov r9, qword [rsp + 0x78]
call fcn.140316930
lea rcx, [rsp + 0x130]
test al, al
je 0x1401c4718
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm6
movabs rax, 0x103f800000
mov qword [rsp + 0x150], rax
cmp qword [rsp + 0x40], 0
je 0x1401c48a4
movsxd rax, dword [rsp + 0xb0]
mov rdx, qword [r14 + rax*8]
mov qword [rsp + 0x180], rdx
movsxd r9, dword [rsp + 0xb4]
mov rdx, qword [r14 + r9*8]
mov qword [rsp + 0x188], rdx
movsxd rdx, dword [rsp + 0xb8]
mov r8, qword [r14 + rdx*8]
mov qword [rsp + 0x190], r8
mov rax, qword [rbx + rax*8]
mov qword [rsp + 0x160], rax
mov rax, qword [rbx + r9*8]
mov qword [rsp + 0x168], rax
mov rax, qword [rbx + rdx*8]
mov qword [rsp + 0x170], rax
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x160]
mov r9d, 3
mov r12, rcx
call fcn.140023c20
test al, al
je 0x1401c4710
mov rdx, qword [r13 + 0x38]
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movabs rax, 0x103f800000
mov qword [rsp + 0x1c0], rax
mov rdi, r14
mov r14, r15
mov r15, rsi
mov rsi, r13
mov r13, rbx
lea rbx, [rsp + 0x1a0]
mov rcx, rbx
mov r8, r12
call fcn.1400219d0
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov rbx, r13
mov r13, rsi
mov rsi, r15
mov r15, r14
mov r14, rdi
mov edi, 0xfffffffe
call fcn.1403144c0
test al, al
lea r12, [rsp + 0xb0]
je 0x1401c4718
mov r14, qword [r13 + 0x40]
test rbp, rbp
je 0x1401c4a66
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x160], rax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x168], eax
xor eax, eax
lea r13, [rsp + 0x1a0]
movabs r9, 0xffffffff00000003
jmp 0x1401c494e
movss xmm1, dword [rcx + 8]
movaps xmm2, xmm0
addss xmm2, xmm8
movaps xmm3, xmm1
addss xmm3, xmm8
movaps xmm4, xmm3
subss xmm4, xmm2
divss xmm3, xmm4
subss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm1
movsd xmm1, qword [rbp + rdx*4]
movsd xmm2, qword [rcx]
subps xmm1, xmm2
unpcklps xmm3, xmm3
mulps xmm3, xmm1
addps xmm3, xmm2
movlps qword [r13 + 0xc], xmm3
movss dword [r13 + 0x14], xmm0
add r13, 0x18
add rax, r9
cmp rax, 3
je 0x1401c4a30
mov rcx, rax
lea edx, [rax + 1]
cmp rax, 2
lea rax, [rax + rdi]
cmovae rdx, rax
movsxd rcx, dword [rsp + rcx*4 + 0x160]
mov edx, edx
movsxd rdx, dword [rsp + rdx*4 + 0x160]
lea r8, [rcx + rcx*2]
lea rcx, [r8*4]
add rcx, rbp
movss xmm1, dword [rbp + r8*4 + 8]
ucomiss xmm1, xmm7
jbe 0x1401c49c0
mov r8d, dword [rcx + 8]
mov dword [r13 + 8], r8d
mov r8, qword [rcx]
mov qword [r13], r8
lea rdx, [rdx + rdx*2]
movss xmm0, dword [rbp + rdx*4 + 8]
ucomiss xmm7, xmm0
jae 0x1401c48f0
add r13, 0xc
jmp 0x1401c4941
lea rdx, [rdx + rdx*2]
movss xmm0, dword [rbp + rdx*4 + 8]
ucomiss xmm0, xmm7
jbe 0x1401c4941
movaps xmm2, xmm0
addss xmm2, xmm8
movaps xmm3, xmm1
addss xmm3, xmm8
movaps xmm4, xmm3
subss xmm4, xmm2
divss xmm3, xmm4
subss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm1
movsd xmm1, qword [rbp + rdx*4]
movsd xmm2, qword [rcx]
subps xmm1, xmm2
unpcklps xmm3, xmm3
mulps xmm3, xmm1
addps xmm3, xmm2
movlps qword [r13], xmm3
movss dword [r13 + 8], xmm0
add r13, 0xc
jmp 0x1401c4941
lea rax, [rsp + 0x1a0]
sub r13, rax
sar r13, 2
movabs rax, 0xaaaaaaaaaaaaaaab
imul r13, rax
test r13d, r13d
jle 0x1401c4bc7
mov eax, r13d
cmp rax, 4
jae 0x1401c4ac4
xor ecx, ecx
jmp 0x1401c4b80
movsxd rax, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0x2a8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1a0], rax
movsxd rax, dword [rsp + 0xb4]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1a8], rax
movsxd rax, dword [rsp + 0xb8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1b0], rax
lea rcx, [rsp + 0x1a0]
mov rdx, r14
mov r8, qword [rsp + 0x48]
call fcn.1401c0e80
jmp 0x1401c4c14
mov edx, r13d
and edx, 3
mov rcx, rax
sub rcx, rdx
lea r8, [rsp + 0x1cc]
xor r9d, r9d
nop dword [rax + rax]
movss xmm0, dword [r8]
movss xmm2, dword [r8 - 0xc]
unpcklps xmm2, xmm0
movss xmm3, dword [r8 - 0x18]
movss xmm0, dword [r8 - 0x2c]
movss xmm1, dword [r8 - 0x28]
movss xmm4, dword [r8 - 0x24]
unpcklps xmm4, xmm3
movlhps xmm4, xmm2
movaps xmm2, xmm10
divps xmm2, xmm4
movss xmm3, dword [r8 - 0x20]
unpcklps xmm0, xmm3
movss xmm3, dword [r8 - 4]
movss xmm4, dword [r8 - 0x10]
unpcklps xmm4, xmm3
movss xmm3, dword [r8 - 0x1c]
unpcklps xmm1, xmm3
movlhps xmm1, xmm4
mulps xmm1, xmm2
movss xmm3, dword [r8 - 8]
movss xmm4, dword [r8 - 0x14]
unpcklps xmm4, xmm3
movlhps xmm0, xmm4
mulps xmm0, xmm2
movaps xmm2, xmm0
unpcklps xmm2, xmm1
unpckhps xmm0, xmm1
movaps xmmword [rsp + r9*8 + 0x190], xmm0
movaps xmmword [rsp + r9*8 + 0x180], xmm2
add r9, 4
add r8, 0x30
cmp rcx, r9
jne 0x1401c4ae0
test rdx, rdx
je 0x1401c4bc7
lea rdx, [rcx + rcx*2]
lea r8, [rsp + 0x1cc]
lea rdx, [r8 + rdx*4]
add rdx, 0xffffffffffffffdc
nop word cs:[rax + rax]
movaps xmm0, xmm9
divss xmm0, dword [rdx]
movsd xmm1, qword [rdx - 8]
unpcklps xmm0, xmm0
mulps xmm0, xmm1
movlps qword [rsp + rcx*8 + 0x180], xmm0
inc rcx
add rdx, 0xc
cmp rax, rcx
jne 0x1401c4ba0
test r13d, r13d
je 0x1401c4c0c
lea rcx, [rsp + 0x180]
mov rdx, r14
mov r8, qword [rsp + 0x48]
call fcn.1401c0e80
cmp r13d, 4
jne 0x1401c4c0c
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rsp + 0x188], xmm0
lea rcx, [rsp + 0x180]
mov rdx, r14
mov r8, qword [rsp + 0x48]
call fcn.1401c0e80
mov r13, qword [rsp + 0x98]
mov r14, qword [rsp + 0x50]
jmp 0x1401c4718
lea rcx, [rsp + 0xd8]
call fcn.14000f060
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1401c4c44
lock dec dword [rcx + 8]
jne 0x1401c4c44
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
test rcx, rcx
je 0x1401c4c5d
lock dec dword [rcx + 8]
jne 0x1401c4c5d
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x1d8]
xor rcx, rsp
call fcn.1405602f0
movaps xmm6, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm9, xmmword [rsp + 0x210]
movaps xmm10, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14056f538
int3