Function at 0x140099380
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 + 0x38], r9
mov r14, r8
mov rdi, rdx
mov qword [rsp + 0x30], rcx
mov rcx, rdx
call fcn.14008fc80
mov rcx, rdi
mov rdx, r14
call fcn.14008f9b0
mov ebx, eax
movzx r12d, word [rdi + 0x58]
mov esi, r12d
and esi, ebx
mov r15, qword [rdi + 0x50]
mov rbp, qword [rdi + 0x48]
mov r9, qword [rdi + 0x20]
mov qword [rsp + 0x48], rdi
mov rdx, qword [rdi + 0x28]
mov r10, qword [r14]
mov rax, qword [r14 + 8]
mov qword [rsp + 0x80], rax
movzx r11d, byte [r14 + 8]
mov qword [rsp + 0x40], r14
mov rax, qword [r14 + 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 + 0x2f], r11b
jmp 0x140099436
cmp byte [rax + 8], r11b
je 0x1400994fe
nop word cs:[rax + rax]
inc rdi
inc rsi
mov rax, rsi
nop dword [rax]
mov rsi, rax
mov eax, 0
cmp rsi, r15
jae 0x140099440
movzx r13d, word [rbp + rsi*4]
cmp r13, 0xffff
je 0x1400995ba
movzx eax, word [rbp + rsi*4 + 2]
mov ecx, r12d
and ecx, eax
mov r8d, esi
sub r8d, ecx
and r8d, r12d
cmp r8, rdi
jb 0x140099672
cmp ax, bx
jne 0x140099430
cmp rdx, r13
jbe 0x1400997b0
test r10, r10
sete al
imul r14, r13, 0x68
mov rcx, qword [r9 + r14 + 0x40]
test rcx, rcx
setne r8b
cmp r8b, al
je 0x140099430
lea rax, [r9 + r14]
add rax, 0x40
test rcx, rcx
je 0x140099417
mov rcx, qword [rsp + 0x58]
cmp qword [rax + 0x10], rcx
jne 0x140099430
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x58]
call sub.msvcrt.dll_memcmp
movzx r11d, byte [rsp + 0x2f]
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x50]
test eax, eax
jne 0x140099430
cmp qword [r9 + r14], 0
mov rsi, qword [rsp + 0x48]
je 0x14009951d
add r9, r14
mov rdx, qword [r9 + 8]
mov rcx, rsi
call fcn.140034930
mov rdx, qword [rsi + 0x28]
cmp rdx, r13
jbe 0x1400997b0
mov rax, qword [rsi + 0x20]
movups xmm0, xmmword [rax + r14 + 0x18]
movups xmm1, xmmword [rax + r14 + 0x28]
mov r8, qword [rsp + 0x30]
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 + 0x38]
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 + 0x40]
mov rax, qword [r8]
test rax, rax
je 0x14009979c
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 0x1400997b0
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov rax, rdx
mov rdi, qword [rsp + 0x48]
cmp rdx, qword [rdi + 0x18]
jne 0x140099605
lea rcx, [rdi + 0x18]
call fcn.140047ab0
mov rdx, qword [rsp + 0x50]
mov r9, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov r15, qword [rdi + 0x50]
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov r8, qword [rsp + 0x38]
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 + 0x28], rax
cmp rsi, r15
jae 0x1400997b0
mov rax, qword [rdi + 0x48]
mov word [rax + rsi*4], dx
mov word [rax + rsi*4 + 2], bx
jmp 0x140099793
cmp rdi, 0x200
setae r12b
mov r14, qword [rsp + 0x48]
cmp qword [r14], 2
setne dil
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
cmp rdx, 0x8000
jae 0x1400997b0
mov rax, rdx
cmp rdx, qword [r14 + 0x18]
jne 0x1400996d4
lea rcx, [r14 + 0x18]
call fcn.140047ab0
mov rdx, qword [rsp + 0x50]
mov r9, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
mov rbp, qword [r14 + 0x48]
mov r15, qword [r14 + 0x50]
and r12b, dil
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov r8, qword [rsp + 0x38]
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 [r14 + 0x28], rax
xor eax, eax
nop dword [rax + rax]
mov rcx, rsi
mov esi, 0
cmp rcx, r15
jae 0x140099730
movzx r9d, word [rbp + rcx*4]
cmp r9w, 0xffff
je 0x14009976b
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 rsi, rcx
jmp 0x140099730
mov word [rbp + rcx*4], dx
mov word [rbp + rcx*4 + 2], bx
cmp rax, 0x80
setb al
not r12b
test r12b, al
jne 0x140099793
cmp qword [r14], 0
jne 0x140099793
mov qword [r14], 1
mov rax, qword [rsp + 0x30]
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