Function at 0x1401e5b00
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, 0x108
mov rbx, r9
mov r14, r8
mov r12, rdx
mov rdi, rcx
mov rax, qword [0x14031d040]
xor rax, rsp
mov qword [rsp + 0x100], rax
movabs r15, 0xaaaaaaaaaaaaaa00
mov rsi, qword [rcx + 0x10]
mov r13, qword [rcx + 0x18]
cmp rsi, r13
je 0x1401e631c
mov rax, qword [rsi]
mov qword [rsp + 0x60], rax
mov rax, qword [rsi + 8]
mov qword [rsp + 0x58], rax
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x44], 0
lea rax, [rdi + 0x10]
mov qword [rsp + 0x30], rax
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov rax, qword [r12 + 0x110]
mov qword [rsp + 0x68], rax
cmp rax, 0xffffffffffffffff
je 0x1401e6307
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov rax, qword [r12 + 0x110]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
sub rdx, rcx
sar rdx, 5
cmp rdx, rax
jbe 0x1401e6519
shl rax, 5
mov eax, dword [rcx + rax + 0x10]
movzx ecx, al
mov dword [rsp + 0x3c], ecx
and eax, 0xffffff00
mov dword [rsp + 0x40], eax
movzx ebp, byte [rbx + 0x18]
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov rax, qword [r12 + 0x110]
cmp bpl, 1
jne 0x1401e6080
cmp rax, 0xffffffffffffffff
je 0x1401e6342
cmp byte [rbx + 0x18], 0
je 0x1401e650c
mov qword [rsp + 0x50], r14
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov r15, qword [r12 + 0x110]
mov qword [rsp + 0xa8], r12
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r15
jbe 0x1401e650a
mov qword [rsp + 0x28], r13
mov r14, r15
shl r14, 5
mov r12, qword [rax + r14 + 0x18]
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov qword [r12 + 0x110], 0xffffffffffffffff
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
sub rax, rcx
sar rax, 5
cmp rax, r15
jbe 0x1401e650a
add rcx, r14
lea r12, [rsp + 0xd8]
mov rdx, r12
call fcn.1401e7e90
lea rcx, [rsp + 0x90]
lea r13, [rsp + 0xd0]
mov rdx, r13
call fcn.1401e7e90
mov rax, qword [r13]
cmp rax, qword [r12]
jle 0x1401e603a
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rbp, r12
sub rbp, rax
sar rbp, 5
lea r14, [r15*2 + 1]
cmp r14, rbp
mov r13, qword [rsp + 0x28]
jae 0x1401e5e07
lea r12, [r15 + r15]
lea rdx, [rsp + 0xd8]
add r12, 2
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
cmp r12, rbp
jae 0x1401e5d8f
sub rax, rcx
sar rax, 5
cmp rax, r12
jbe 0x1401e650a
mov rax, r12
shl rax, 5
add rax, rcx
mov r13, r14
shl r13, 5
add r13, rcx
mov rcx, rax
call fcn.1401e7e90
mov rcx, r13
lea rdx, [rsp + 0xd0]
call fcn.1401e7e90
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
cmovg r14, r12
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov r8, r14
sub rax, rcx
sar rax, 5
cmp rax, r14
lea r14, [rsp + 0xb0]
jbe 0x1401e650a
mov r13, r8
shl r13, 5
add rcx, r13
lea rdx, [rsp + 0xd8]
mov r12, r8
call fcn.1401e7e90
mov rcx, r14
lea rdx, [rsp + 0xd0]
call fcn.1401e7e90
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jg 0x1401e61de
mov rcx, r15
mov r13, qword [rsp + 0x28]
mov rax, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rbp, r12
sub rbp, rax
sar rbp, 5
mov r15, rcx
cmp rbp, r15
je 0x1401e6124
jbe 0x1401e650a
mov rcx, r15
shl rcx, 5
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov r12, qword [rdi + 0x18]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
sub r12, rax
sar r12, 5
cmp r12, r15
jbe 0x1401e650a
mov r14, r15
shl r14, 5
mov r12, qword [rax + r14 + 0x18]
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov qword [r12 + 0x110], r15
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r15
jbe 0x1401e650a
mov rax, qword [rax + r14 + 0x18]
mov rcx, qword [rax + 0x18]
call fcn.1401e59c0
mov r14, qword [rsp + 0x50]
movabs r15, 0xaaaaaaaaaaaaaa00
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
cmp rax, rcx
je 0x1401e6000
mov r15, qword [rax]
mov r8, qword [rax + 8]
mov edx, dword [rax + 0x14]
xor r9d, r9d
mov r10, qword [rsp + 0x68]
cmp r10, 0xffffffffffffffff
je 0x1401e5ee2
mov r10d, dword [rsp + 0x40]
or r10d, dword [rsp + 0x3c]
cmp r10d, 1
je 0x1401e6523
cmp byte [rbx + 0x18], 1
jne 0x1401e5ef2
cmp dword [rbx + 0x10], 1
je 0x1401e6511
cmp rax, rcx
sete r10b
cmp rsi, r13
sete r11b
or r11b, r10b
jne 0x1401e6017
cmp r9d, dword [rsp + 0x44]
jne 0x1401e5f28
cmp r15, qword [rsp + 0x60]
jne 0x1401e5f28
cmp r8, qword [rsp + 0x58]
jne 0x1401e5f28
cmp edx, dword [rsp + 0x38]
je 0x1401e5fdb
cmp rax, rcx
je 0x1401e602e
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x84], eax
mov al, 1
mov byte [rsp + 0x88], al
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
lea rcx, [0x14026f490]
cmp rax, rcx
jne 0x1401e6162
mov rcx, qword [rdi + 0x38]
movups xmm0, xmmword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0xf8], al
mov eax, dword [rsp + 0x89]
mov dword [rsp + 0xf9], eax
movzx eax, word [rsp + 0x8d]
mov word [rsp + 0xfd], ax
movzx eax, byte [rsp + 0x8f]
mov byte [rsp + 0xff], al
movaps xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xe0]
mov rdx, r14
call fcn.1401cbe90
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1401f08b0
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [r15 + 0xaa]
mov edx, 0xaaaaaaaa
mov r9d, 0xaaaaaaaa
jmp 0x1401e5ec3
cmp rax, rcx
setne dl
cmp rsi, r13
setne r8b
cmp r8b, dl
je 0x1401e5fdb
jmp 0x1401e5f28
mov byte [rsp + 0x70], 0
xor eax, eax
jmp 0x1401e5f50
lea rcx, [rdi + 8]
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
lea r8, [rsp + 0xe0]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
mov rdx, r15
call fcn.1401e6750
mov r14, qword [rsp + 0x50]
movabs r15, 0xaaaaaaaaaaaaaa00
mov r13, qword [rsp + 0x28]
jmp 0x1401e5ea5
cmp rax, 0xffffffffffffffff
je 0x1401e5ea5
mov rbp, r13
mov r13, r14
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov r14, qword [r12 + 0x110]
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401e650a
mov rcx, r14
shl rcx, 5
mov r15, qword [rax + rcx + 0x18]
mov rcx, qword [r15 + 0x18]
call fcn.1401e59c0
mov qword [r15 + 0x110], 0xffffffffffffffff
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov rdx, rax
sub rdx, rcx
sar rdx, 5
dec rdx
cmp rdx, r14
jne 0x1401e6178
movabs r15, 0xaaaaaaaaaaaaaa00
cmp rcx, rax
je 0x1401e650a
add rax, 0xffffffffffffffe0
je 0x1401e650a
mov r14, r13
mov r13, rbp
mov qword [rdi + 0x18], rax
jmp 0x1401e5ea5
mov rcx, qword [rdi + 0x20]
cmp r12, rcx
jae 0x1401e6381
test r12, r12
je 0x1401e650a
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
add r12, 0x20
mov qword [rdi + 0x18], r12
jmp 0x1401e5e3a
lea r8, [rsp + 0x70]
mov rcx, rdi
mov rdx, r14
call qword [0x14030c820]
jmp 0x1401e5fdb
cmp rax, rcx
je 0x1401e650a
shl rdx, 5
mov r15, qword [rcx + rdx + 0x18]
mov rcx, qword [r15 + 0x18]
call fcn.1401e59c0
mov qword [r15 + 0x110], 0xffffffffffffffff
mov rax, qword [rdi + 0x18]
cmp rax, qword [rdi + 0x10]
je 0x1401e650a
lea rcx, [rdi + 8]
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
lea r8, [rsp + 0xe0]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
mov rdx, r14
call fcn.140168f90
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
jmp 0x1401e60f8
mov qword [rsp + 0x48], r12
mov rax, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rcx, r12
sub rcx, rax
sar rcx, 5
cmp rcx, r15
je 0x1401e62bc
cmp rcx, qword [rsp + 0x48]
jbe 0x1401e650a
cmp rcx, r15
jbe 0x1401e650a
mov rcx, r15
shl rcx, 5
movups xmm0, xmmword [rax + r13]
movups xmm1, xmmword [rax + r13 + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov r12, qword [rdi + 0x18]
mov r13, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
sub r12, rax
sar r12, 5
cmp r12, r15
jbe 0x1401e650a
mov r14, r15
shl r14, 5
mov r12, qword [rax + r14 + 0x18]
mov rcx, qword [r12 + 0x18]
call fcn.1401e59c0
mov qword [r12 + 0x110], r15
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r15
jbe 0x1401e650a
mov rax, qword [rax + r14 + 0x18]
mov rcx, qword [rax + 0x18]
call fcn.1401e59c0
mov rcx, qword [rsp + 0x48]
lea r12, [rcx + rcx]
lea r14, [rcx*2 + 1]
mov r15, rcx
cmp r14, rbp
lea rdx, [rsp + 0xd8]
jae 0x1401e5df2
jmp 0x1401e5d26
cmp r15, qword [rsp + 0x48]
jbe 0x1401e650a
add r13, rax
mov rcx, qword [rdi + 0x20]
cmp r12, rcx
jae 0x1401e644b
test r12, r12
je 0x1401e650a
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
add r12, 0x20
mov r13, qword [rsp + 0x28]
mov qword [rdi + 0x18], r12
jmp 0x1401e6236
mov dword [rsp + 0x40], 0xaaaaaa00
mov dword [rsp + 0x3c], 0
jmp 0x1401e5bd8
lea rax, [r15 + 0xaa]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x44], 0xaaaaaaaa
mov qword [rsp + 0x60], r15
mov dword [rsp + 0x38], 0xaaaaaaaa
jmp 0x1401e5b6c
cmp byte [rbx + 0x18], 0
je 0x1401e650c
lea rcx, [rdi + 8]
mov rax, qword [rbx + 0x10]
lea r8, [rsp + 0xe0]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rbx]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x18], r12
mov rdx, qword [rdi + 0x18]
sub rdx, qword [rdi + 0x10]
sar rdx, 5
call fcn.1401e6750
jmp 0x1401e5ea5
lea r8, [rbp + 1]
mov rdx, r8
shr rdx, 0x3b
jne 0x1401e6530
movabs rdx, 0x7ffffffffffffff
sub rcx, rax
mov r14, rcx
sar r14, 4
cmp r14, r8
cmovbe r14, r8
movabs rax, 0x7fffffffffffffe0
cmp rcx, rax
cmovae r14, rdx
test r14, r14
je 0x1401e653a
cmp r14, rdx
ja 0x1401e652b
mov rcx, r14
shl rcx, 5
call fcn.1401ef3e0
mov r13, rax
shl rbp, 5
add rbp, r13
je 0x1401e650a
shl r14, 5
add r13, r14
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rbp], xmm0
lea r12, [rbp + 0x20]
mov rdx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
sub r8, rdx
sub rbp, r8
mov rcx, rbp
call fcn.1402357f0
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r13
test rcx, rcx
jne 0x1401e6444
mov r13, qword [rsp + 0x28]
jmp 0x1401e6159
call fcn.1401ef41c
jmp 0x1401e643a
lea r8, [r15 + 1]
mov rdx, r8
shr rdx, 0x3b
jne 0x1401e6530
movabs rdx, 0x7ffffffffffffff
sub rcx, rax
mov r14, rcx
sar r14, 4
cmp r14, r8
cmovbe r14, r8
movabs rax, 0x7fffffffffffffe0
cmp rcx, rax
cmovae r14, rdx
test r14, r14
je 0x1401e6542
cmp r14, rdx
ja 0x1401e652b
mov rcx, r14
shl rcx, 5
call fcn.1401ef3e0
mov rcx, r15
shl rcx, 5
add rcx, rax
je 0x1401e650a
shl r14, 5
add rax, r14
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea r12, [rcx + 0x20]
mov rdx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
sub r8, rdx
sub rcx, r8
mov r13, rcx
mov r14, rax
call fcn.1402357f0
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r14
test rcx, rcx
je 0x1401e62f9
call fcn.1401ef41c
jmp 0x1401e62f9
ud2
call fcn.140236ab0
inc dword [rdi + 0x28]
jmp 0x1401e5ef2
mov rcx, qword [rsp + 0x30]
call fcn.14024e900
dec dword [rdi + 0x28]
jmp 0x1401e5ee2
call fcn.140236a70
mov rcx, qword [rsp + 0x30]
call fcn.140236a30
xor r13d, r13d
jmp 0x1401e63df
xor eax, eax
jmp 0x1401e64a6