Function at 0x140335fb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov r14, qword [rcx + 0x18]
mov rax, r14
inc rax
je 0x140336999
mov rbx, rdx
mov rsi, rcx
mov rdx, qword [rcx + 8]
lea r12, [rdx + 1]
mov rcx, r12
shr rcx, 3
mov r15, r12
and r15, 0xfffffffffffffff8
sub r15, rcx
cmp rdx, 8
mov rcx, r15
mov qword [rsp + 0x48], rdx
cmovb rcx, rdx
mov rdx, rcx
shr rdx, 1
cmp rax, rdx
mov qword [rsp + 0x40], rsi
jbe 0x14033603a
inc rcx
cmp rax, rcx
cmova rcx, rax
cmp rcx, 8
mov qword [rsp + 0x28], r12
jae 0x140336067
xor eax, eax
cmp rcx, 4
setae al
lea r15, [rax*4 + 4]
jmp 0x1403360ab
mov rdi, qword [rsi]
mov rcx, r12
shr rcx, 4
xor eax, eax
test r12b, 0xf
setne al
add rax, rcx
je 0x1403363b1
cmp rax, 1
jne 0x140336346
xor edx, edx
jmp 0x140336397
mov rax, rcx
shr rax, 0x3d
jne 0x140336999
shl rcx, 3
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
not ecx
mov r15, 0xffffffffffffffff
shr r15, cl
inc r15
mov ecx, 0x68
mov rax, r15
mul rcx
jo 0x140336999
mov r13, rax
add r13, 0xf
and r13, 0xfffffffffffffff0
lea r12, [r15 + 0x10]
mov rbp, r13
add rbp, r12
jb 0x140336999
movabs rax, 0x7ffffffffffffff1
cmp rbp, rax
jae 0x140336999
test rbp, rbp
je 0x140336110
movzx eax, byte [0x14043f240]
xor ecx, ecx
mov rdx, rbp
call fcn.1401d3670
mov rdi, rax
test rax, rax
jne 0x140336115
mov rcx, rbp
call fcn.140052bf0
mov edi, 0x10
add rdi, r13
lea r13, [r15 - 1]
mov rax, r15
shr rax, 3
mov rcx, r15
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp r15, 9
cmovb rcx, r13
mov qword [rsp + 0x30], rcx
mov rcx, rdi
mov dl, 0xff
mov r8, r12
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x40]
mov r12, qword [rax]
test r14, r14
je 0x1403362d3
mov rsi, r14
movdqa xmm0, xmmword [r12]
pmovmskb r14d, xmm0
not r14d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x50], rcx
xor ebx, ebx
mov qword [rsp + 0x38], rsi
mov r15, r12
jmp 0x140336215
lea ecx, [r14 - 1]
and ecx, r14d
dec rsi
shr rax, 0x39
lea r8, [rdx - 0x10]
and r8, r13
mov byte [rdi + rdx], al
mov byte [rdi + r8 + 0x10], al
not rbp
imul rax, rbp, 0x68
not rdx
imul rdx, rdx, 0x68
mov r8, qword [r12 + rax + 0x60]
mov qword [rdi + rdx + 0x60], r8
movups xmm0, xmmword [r12 + rax + 0x50]
movups xmmword [rdi + rdx + 0x50], xmm0
movups xmm0, xmmword [r12 + rax + 0x40]
movups xmmword [rdi + rdx + 0x40], xmm0
movdqu xmm0, xmmword [r12 + rax]
movdqu xmm1, xmmword [r12 + rax + 0x10]
movups xmm2, xmmword [r12 + rax + 0x20]
movups xmm3, xmmword [r12 + rax + 0x30]
movups xmmword [rdi + rdx + 0x30], xmm3
movups xmmword [rdi + rdx + 0x20], xmm2
movdqu xmmword [rdi + rdx + 0x10], xmm1
movdqu xmmword [rdi + rdx], xmm0
mov r14d, ecx
invalid
test rsi, rsi
je 0x1403362cc
test r14w, r14w
jne 0x14033623f
nop dword [rax + rax]
movdqa xmm0, xmmword [r15 + 0x10]
add r15, 0x10
pmovmskb r14d, xmm0
add rbx, 0x10
cmp r14d, 0xffff
add byte [rax], al
not r14d
mov r8d, 0x10
tzcnt edx, edx
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x140336190
mov rax, qword [rsp + 0x38]
jmp 0x1403362d5
xor eax, eax
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rsi, qword [rsp + 0x40]
mov qword [rsi], rdi
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], rcx
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x140336985
mov ecx, 0x68
mov rax, qword [rsp + 0x28]
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add r8, rax
cmp r8, 0xffffffffffffffef
je 0x140336985
sub r12, rax
mov rcx, qword [0x14043f190]
xor edx, edx
mov r8, r12
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.kernel32.dll_HeapFree]
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
xor r8d, r8d
movdqa xmm0, xmmword [0x14033aaa0]
nop
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rdi + r8]
por xmm1, xmm0
movdqa xmmword [rdi + r8], xmm1
lea rdx, [r8 + 0x20]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rdi + r8 + 0x10]
pcmpgtb mm1, qword [rdi + r8 + 0x10]
adc byte [rsi + 0xf], ah
jmp 0x14033634f
movdqa xmmword [rdi + r8 + 0x10], xmm1
invalid
adc byte [rcx - 0x77], cl
ror byte [rax - 0x7d], 1
add rcx, 0xfffffffffffffffe
jne 0x140336360
leave
test al, 1
je 0x1403363b1
call fcn.140052bb0