Function at 0x14019ff30
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, 0x98
mov qword [rsp + 0x40], r9
mov rdi, r8
mov rsi, rdx
mov qword [rsp + 0x38], rcx
mov rcx, rdx
call fcn.14016df60
mov rcx, rsi
mov rdx, rdi
call fcn.14016dc90
mov ebx, eax
movzx r12d, word [rsi + 0x58]
mov r13d, r12d
and r13d, ebx
lea rax, [rsi + 0x28]
mov qword [rsp + 0x28], rax
mov rbp, qword [rsi + 0x18]
mov r15, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x38]
mov qword [rsp + 0x30], rsi
mov r9, qword [rsi + 0x28]
mov r10, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x80], rax
movzx r11d, byte [rdi + 8]
mov qword [rsp + 0x48], rdi
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x58], rax
xor edi, edi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r10
mov byte [rsp + 0x27], r11b
jmp 0x14019ffe6
cmp byte [rax + 8], r11b
je 0x1401a00af
nop dword [rax + rax]
inc rdi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, r15
jae 0x14019fff0
movzx esi, word [rbp + r13*4]
cmp rsi, 0xffff
je 0x1401a016f
movzx eax, word [rbp + r13*4 + 2]
mov ecx, r12d
and ecx, eax
mov r8d, r13d
sub r8d, ecx
and r8d, r12d
cmp r8, rdi
jb 0x1401a022a
cmp ax, bx
jne 0x14019ffe0
cmp rdx, rsi
jbe 0x1401a0371
test r10, r10
sete al
imul r14, rsi, 0x68
mov rcx, qword [r9 + r14 + 0x40]
test rcx, rcx
setne r8b
cmp r8b, al
je 0x14019ffe0
lea rax, [r9 + r14]
add rax, 0x40
test rcx, rcx
je 0x14019ffd1
mov rcx, qword [rsp + 0x58]
cmp qword [rax + 0x10], rcx
jne 0x14019ffe0
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x58]
call sub.msvcrt.dll_memcmp
movzx r11d, byte [rsp + 0x27]
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x50]
test eax, eax
jne 0x14019ffe0
cmp qword [r9 + r14], 0
je 0x1401a00ce
add r9, r14
mov rdx, qword [r9 + 8]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140061a70
mov rdx, qword [rdi + 0x38]
cmp rdx, rsi
jbe 0x1401a0371
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movups xmm0, xmmword [rax + r14 + 0x18]
movups xmm1, xmmword [rax + r14 + 0x28]
mov r8, qword [rsp + 0x38]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movzx ecx, byte [rax + r14 + 0x38]
mov edx, dword [rax + r14 + 0x3c]
mov dword [r8 + 0x24], edx
mov edx, dword [rax + r14 + 0x39]
mov dword [r8 + 0x21], edx
mov r9, qword [rsp + 0x40]
mov rdx, qword [r9 + 0x20]
mov qword [rax + r14 + 0x38], rdx
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [rax + r14 + 0x18], xmm0
movups xmmword [rax + r14 + 0x28], xmm1
mov byte [r8 + 0x20], cl
mov r8, qword [rsp + 0x48]
mov rax, qword [r8]
test rax, rax
je 0x1401a035d
mov rax, qword [rax + 0x10]
lea rcx, [r8 + 0x18]
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
cmp rdx, 0x8000
jae 0x1401a0371
mov rax, qword [rsp + 0x48]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov rax, rdx
mov rsi, qword [rsp + 0x30]
cmp rdx, qword [rsi + 0x30]
jne 0x1401a01bb
mov rcx, qword [rsp + 0x28]
call fcn.14004a8d0
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsi + 0x38]
mov r15, qword [rsi + 0x20]
mov r9, qword [rsi + 0x28]
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov r8, qword [rsp + 0x40]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + rcx + 0x18], xmm0
movups xmmword [r9 + rcx + 0x28], xmm1
mov r8, qword [r8 + 0x20]
mov qword [r9 + rcx + 0x38], r8
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [r9 + rcx + 0x40], xmm0
movups xmmword [r9 + rcx + 0x50], xmm1
mov word [r9 + rcx + 0x60], bx
inc rax
mov qword [rsi + 0x38], rax
cmp r13, r15
jae 0x1401a0371
mov rax, qword [rsi + 0x18]
mov word [rax + r13*4], dx
mov word [rax + r13*4 + 2], bx
jmp 0x1401a0354
cmp rdi, 0x200
setae r12b
mov rdi, qword [rsp + 0x30]
cmp qword [rdi], 2
setne sil
mov rax, qword [rsp + 0x48]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
cmp rdx, 0x8000
jae 0x1401a0371
mov rax, rdx
cmp rdx, qword [rdi + 0x30]
jne 0x1401a028d
mov rcx, qword [rsp + 0x28]
call fcn.14004a8d0
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdi + 0x38]
mov r9, qword [rdi + 0x28]
mov rbp, qword [rdi + 0x18]
mov r15, qword [rdi + 0x20]
and r12b, sil
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov r8, qword [rsp + 0x40]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + rcx + 0x18], xmm0
movups xmmword [r9 + rcx + 0x28], xmm1
mov r8, qword [r8 + 0x20]
mov qword [r9 + rcx + 0x38], r8
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [r9 + rcx + 0x40], xmm0
movups xmmword [r9 + rcx + 0x50], xmm1
mov word [r9 + rcx + 0x60], bx
inc rax
mov qword [rdi + 0x38], rax
xor eax, eax
nop word cs:[rax + rax]
mov rcx, r13
mov r13d, 0
cmp rcx, r15
jae 0x1401a02f0
movzx r9d, word [rbp + rcx*4]
cmp r9w, 0xffff
je 0x1401a032c
inc rax
movzx r8d, word [rbp + rcx*4 + 2]
mov word [rbp + rcx*4], dx
mov word [rbp + rcx*4 + 2], bx
inc rcx
mov ebx, r8d
mov edx, r9d
mov r13, rcx
jmp 0x1401a02f0
mov word [rbp + rcx*4], dx
mov word [rbp + rcx*4 + 2], bx
cmp rax, 0x80
setb al
not r12b
test r12b, al
jne 0x1401a0354
cmp qword [rdi], 0
jne 0x1401a0354
mov qword [rdi], 1
mov rax, qword [rsp + 0x38]
mov byte [rax + 0x20], 2
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2