Function at 0x140015790
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, 0xd8
mov r12, r9
mov r15, r8
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.140078bf0
test al, al
je 0x140015807
mov byte [rsi + 0x20], 3
lea rcx, [r12 + 0x18]
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
call qword [rax + 0x20]
mov rax, qword [r15]
test rax, rax
je 0x140015b5e
mov rax, qword [rax + 0x20]
lea rcx, [r15 + 0x18]
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov rdx, r15
call fcn.140078260
mov ebx, eax
movzx eax, word [rdi + 0x58]
and ax, bx
movzx r14d, ax
xor ebp, ebp
jmp 0x140015846
movzx eax, byte [rcx + 8]
cmp al, byte [r15 + 8]
je 0x1400158fc
nop word cs:[rax + rax]
inc rbp
inc r14
mov rax, qword [rdi + 0x50]
cmp r14, rax
jb 0x140015868
mov rax, qword [rdi + 0x50]
nop word cs:[rax + rax]
test rax, rax
je 0x140015860
xor r14d, r14d
mov rcx, qword [rdi + 0x48]
movzx r13d, word [rcx + r14*4]
cmp r13, 0xffff
je 0x1400159a9
movzx edx, word [rcx + r14*4 + 2]
movzx r8d, word [rdi + 0x58]
mov r9d, edx
and r9d, r8d
mov r10d, r14d
sub r10d, r9d
and r10d, r8d
cmp r10, rbp
jb 0x140015abb
cmp dx, bx
jne 0x140015840
mov rdx, qword [rdi + 0x28]
cmp rdx, r13
jbe 0x140015ca9
mov rax, qword [rdi + 0x20]
imul rsi, r13, 0x68
mov r8, qword [rax + rsi + 0x40]
test r8, r8
setne cl
cmp qword [r15], 0
sete r9b
cmp cl, r9b
je 0x140015840
lea rcx, [rax + rsi]
add rcx, 0x40
test r8, r8
je 0x140015828
mov rdx, r15
call fcn.140122ac0
test al, al
je 0x140015840
mov rdx, qword [rdi + 0x28]
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
cmp rdx, r13
jbe 0x140015cc7
mov rax, qword [rdi + 0x20]
test byte [rax + rsi], 1
mov rbx, qword [rsp + 0x28]
je 0x140015946
add rax, rsi
mov rdx, qword [rax + 8]
mov rcx, rdi
call fcn.140079190
mov rdx, qword [rdi + 0x28]
cmp rdx, r13
jbe 0x140015cd6
mov rax, qword [rdi + 0x20]
movups xmm0, xmmword [rax + rsi + 0x18]
movups xmm1, xmmword [rax + rsi + 0x28]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
movzx ecx, byte [rax + rsi + 0x38]
mov edx, dword [rax + rsi + 0x3c]
mov dword [rbx + 0x24], edx
mov edx, dword [rax + rsi + 0x39]
mov dword [rbx + 0x21], edx
mov rdx, qword [rsp + 0x50]
mov qword [rax + rsi + 0x38], rdx
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rax + rsi + 0x18], xmm0
movups xmmword [rax + rsi + 0x28], xmm1
mov byte [rbx + 0x20], cl
mov rax, qword [r15]
test rax, rax
jne 0x1400157e1
jmp 0x140015b5e
mov rsi, qword [rdi + 0x28]
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
cmp rsi, 0x7fff
ja 0x140015b16
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
cmp rsi, qword [rdi + 0x18]
jne 0x140015a3c
lea rcx, [rdi + 0x18]
call fcn.1400164a0
mov rax, qword [rdi + 0x20]
imul rcx, rsi, 0x68
mov qword [rax + rcx], 0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rax + rcx + 0x18], xmm0
movups xmmword [rax + rcx + 0x28], xmm1
mov rdx, qword [rsp + 0x50]
mov qword [rax + rcx + 0x38], rdx
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rax + rcx + 0x40], xmm0
movups xmmword [rax + rcx + 0x50], xmm1
mov word [rax + rcx + 0x60], bx
lea rax, [rsi + 1]
mov qword [rdi + 0x28], rax
mov rdx, qword [rdi + 0x50]
cmp r14, rdx
jae 0x140015cb8
mov rax, qword [rdi + 0x48]
mov word [rax + r14*4], si
mov word [rax + r14*4 + 2], bx
mov rax, qword [rsp + 0x28]
mov byte [rax + 0x20], 2
jmp 0x140015b5e
cmp rbp, 0x200
setae bpl
cmp qword [rdi], 2
setne sil
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov rdx, qword [r12 + 0x20]
mov qword [rsp + 0xa0], rdx
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov r13, qword [rdi + 0x28]
cmp r13, 0x7fff
jbe 0x140015b72
lea rcx, [rsp + 0x98]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140015b55
lea rcx, [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x28]
mov byte [rax + 0x20], 3
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rdx, qword [r12 + 0x20]
mov qword [rsp + 0x50], rdx
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
cmp r13, qword [rdi + 0x18]
jne 0x140015bc1
lea rcx, [rdi + 0x18]
call fcn.1400164a0
mov rcx, qword [rdi + 0x48]
mov rax, qword [rdi + 0x50]
and bpl, sil
mov rdx, qword [rdi + 0x20]
imul r8, r13, 0x68
mov qword [rdx + r8], 0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdx + r8 + 0x18], xmm0
movups xmmword [rdx + r8 + 0x28], xmm1
mov r9, qword [rsp + 0x50]
mov qword [rdx + r8 + 0x38], r9
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rdx + r8 + 0x40], xmm0
movups xmmword [rdx + r8 + 0x50], xmm1
mov word [rdx + r8 + 0x60], bx
lea rdx, [r13 + 1]
mov qword [rdi + 0x28], rdx
xor r8d, r8d
xor edx, edx
cmp r14, rax
cmovae r14, r8
test rax, rax
je 0x140015c70
nop
movzx r9d, word [rcx + r14*4]
cmp r9w, 0xffff
je 0x140015c72
inc rdx
movzx r10d, word [rcx + r14*4 + 2]
mov word [rcx + r14*4], r13w
mov word [rcx + r14*4 + 2], bx
inc r14
mov ebx, r10d
mov r13d, r9d
cmp r14, rax
cmovae r14, r8
test rax, rax
jne 0x140015c30
nop word cs:[rax + rax]
jmp 0x140015c70
mov word [rcx + r14*4], r13w
mov word [rcx + r14*4 + 2], bx
cmp rdx, 0x80
setb al
not bpl
test bpl, al
jne 0x140015aad
cmp qword [rdi], 0
jne 0x140015aad
mov qword [rdi], 1
jmp 0x140015aad
lea r8, [0x14017a2b0]
mov rcx, r13
call fcn.140175930
lea r8, [0x14017a2c8]
mov rcx, r14
call fcn.140175930
lea r8, [0x14017a2e0]
mov rcx, r13
call fcn.140175930
lea r8, [0x14017a2f8]
mov rcx, r13
call fcn.140175930
int3