Function at 0x14016ddf0
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, 0x368
mov rbx, r8
mov r15, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.14016a090
cmp eax, 0x7b
jne case.0x14014fd70.230
mov rax, qword [r15]
lea r14, [rax + 0xa0]
mov rcx, qword [rax + 0xb0]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0x40], xmm0
mov rbp, qword [rbx + 0x10]
test rbp, rbp
je 0x14016deea
dec rbp
mov qword [rbx + 0x10], rbp
mov rdi, qword [rbx + 8]
mov rax, rbp
shl rax, 4
mov r12, qword [rdi + rax]
mov r13, qword [rdi + rax + 8]
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x198], r13
cmp r12, 2
jae 0x14016df53
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xf8], xmm0
mov r14, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x14016e06c
js 0x14016e874
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov rdx, rbx
call fcn.140277170
test rax, rax
je 0x14016e886
mov r15, rax
jmp 0x14016e072
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xf8], xmm0
mov r14, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je case.0x14014c760.618
js 0x14016e874
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov rdx, rdi
call fcn.140277170
test rax, rax
je case.0x14014eaf9.280
mov r15, rax
jmp 0x14016dff1
mov rcx, r15
call fcn.14016a8f0
test al, al
je 0x14016df80
mov rcx, r15
call fcn.140169e10
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x30], rax
cmp qword [r14], rax
jne 0x14016e187
mov r12, qword [rsp + 0x30]
jmp 0x14016df84
mov r12, qword [r15 + 0x10]
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xf8], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
mov rbx, qword [r15 + 8]
test r12, r12
je 0x14016e0be
mov r15d, 1
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x80], xmm2
mov qword [rsi], rbx
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0x1b
jmp 0x14016e10e
mov r15d, 1
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.1401702f0
mov dword [rsp + 0x2f8], 5
mov dword [rsp + 0x330], 0x19
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x2f8]
lea r9, [rsp + 0x330]
lea rdx, [rsp + 0xe0]
call fcn.140170750
mov rax, qword [rsp + 0x60]
movabs rcx, 0x8000000000000000
mov edx, dword [rsp + 0x68]
cmp rax, rcx
jne 0x14016e25f
mov rcx, qword [rsp + 0x30]
cmp qword [r14], rcx
jne 0x14016e356
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xf8], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
add byte [rdi], cl
sub byte [rsp + 0x40], al
movaps xmmword [rsp + 0xe0], xmm0
loopne 0x14016e225
add byte [rax], al
mov rbx, qword [r15 + 8]
test rcx, rcx
mov r14, rcx
je case.0x140149eb7.472
js 0x14016e874
mov ecx, dword [rsp + 0xdc]
mov dword [rsp + 0x270], ecx
movups xmm0, xmmword [rsp + 0xcc]
movaps xmmword [rsp + 0x260], xmm0
movups xmm0, xmmword [rsp + 0xbc]
movaps xmmword [rsp + 0x250], xmm0
movups xmm0, xmmword [rsp + 0xac]
movaps xmmword [rsp + 0x240], xmm0
movups xmm0, xmmword [rsp + 0x6c]
movups xmm1, xmmword [rsp + 0x7c]
movups xmm2, xmmword [rsp + 0x8c]
movups xmm3, xmmword [rsp + 0x9c]
movaps xmmword [rsp + 0x230], xmm3
add byte [rax], al
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
add byte [rax], al
movaps xmmword [rsp + 0x200], xmm0
add byte [rdx], al
add byte [rax], al
mov qword [rsi], rax
mov dword [rsi + 8], edx
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
and byte [rdx], al
add byte [rax], al
mov dword [rsp + 0x5c], edx
mov rcx, r15