Function at 0x140002e30
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov r13d, r9d
mov r14, r8
mov r15, rcx
xor r12d, r12d
mov r11d, dword [0x1401c6d80]
lea r10d, [r11 + 2]
lea eax, [r11 + 1]
imul r10d, eax
imul r10d, r11d
mov eax, 0x88888889
imul r10d
add edx, r10d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub r10d, edx
cmp r10d, 7
jne 0x140002f3a
xor edx, edx
nop
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, r11d
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r11d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r11d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r11d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r11d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r11d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r11d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r11d
sar ecx, 1
xor eax, ecx
add r11d, eax
inc edx
cmp edx, 0x100
jl 0x140002ea0
mov dword [0x1401c6d80], r11d
xor ebp, ebp
test r9d, r9d
je 0x1400030d5
mov rsi, qword [rsp + 0x98]
nop dword [rax]
mov rdi, qword [r14]
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
test rdi, rdi
je 0x140002fac
test rdi, 0xffffffffffff0000
jne 0x140002f9c
movzx edi, di
mov ecx, edi
call fcn.1400019e0
test rax, rax
je 0x140002fc3
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1400026e0
jmp 0x140002fbe
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], 0
jne 0x140002fa0
jmp 0x140002fae
xor eax, eax
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400023f0
mov rbx, qword [rsp + 0x20]
mov rax, qword [r15 + 0x20]
mov r8, qword [rax + 8]
mov r10, rax
cmp byte [r8 + 0x19], 0
jne 0x140003026
xor r11d, r11d
test rbx, rbx
setne r11b
nop
test r11d, r11d
je 0x1400030bf
mov rcx, qword [r8 + 0x20]
mov r9, rbx
sub r9, rcx
movzx edx, word [rcx]
cmp dx, word [rcx + r9]
jne 0x14000300a
add rcx, 2
test dx, dx
jne 0x140002ff3
xor ecx, ecx
jmp 0x14000300f
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jns 0x140003019
mov r8, qword [r8 + 0x10]
jmp 0x14000301f
mov r10, r8
mov r8, qword [r8]
cmp byte [r8 + 0x19], 0
je 0x140002fe0
cmp r10, rax
je 0x140003071
mov r8, qword [r10 + 0x20]
xor ecx, ecx
test r8, r8
setne cl
test ecx, ecx
je 0x1400030ca
mov rcx, rbx
sub r8, rbx
movzx edx, word [rcx]
cmp dx, word [rcx + r8]
jne 0x14000305c
add rcx, 2
test dx, dx
jne 0x140003045
xor ecx, ecx
jmp 0x140003061
sbb ecx, ecx
or ecx, 1
test ecx, ecx
js 0x140003071
mov qword [rsp + 0x28], r10
lea rdi, [rsp + 0x28]
jmp 0x14000307b
mov qword [rsp + 0x30], rax
lea rdi, [rsp + 0x30]
mov rdi, qword [rdi]
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140003092
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp rdi, qword [r15 + 0x20]
je 0x14000309f
mov eax, dword [rdi + 0x28]
mov dword [rsi], eax
jmp 0x1400030ab
mov dword [rsi], 0xffffffff
mov r12d, 0x80020006
inc ebp
add r14, 8
add rsi, 4
cmp ebp, r13d
jae 0x1400030d5
jmp 0x140002f50
mov ecx, 0x80004005
call fcn.140001920
int3
mov ecx, 0x80004005
call fcn.140001920
nop
mov eax, r12d
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret