Function at 0x140116de0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
mov eax, 0x68
call fcn.1400a7e30
sub rsp, rax
mov r14d, dword [rsp + 0xc0]
mov r12, rcx
movsxd rbp, edx
mov ecx, r14d
mov ebx, 1
mov qword [rsp + 0x28], r8
shl ebx, cl
mov esi, r9d
mov rdi, r8
mov dword [rsp + 0xa8], ebp
cmp ebp, dword [r12 + 0xc]
jg 0x140116e30
mov rax, r12
jmp 0x140116e3a
mov edx, ebp
mov rcx, r12
call fcn.1400f6090
test rax, rax
jne 0x140116e4c
add rsp, 0x68
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x48], rbp
mov r11, rbp
cmp r14d, 3
jg 0x140116ec5
xor r10d, r10d
test ebp, ebp
jle 0x14011707f
movsxd r14, ebx
shl r14, 3
nop dword [rax]
xor r9d, r9d
xor edx, edx
test ebx, ebx
jle 0x140116ead
mov r8, rdi
nop dword [rax]
mov ecx, edx
lea r8, [r8 + 8]
xor ecx, esi
inc edx
lea eax, [rcx - 1]
not ecx
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov rax, qword [r8 - 8]
neg ecx
and ecx, 1
neg rcx
and rcx, rax
or r9, rcx
cmp edx, ebx
jl 0x140116e80
mov rax, qword [r12]
add rdi, r14
mov qword [rax + r10*8], r9
inc r10
cmp r10, rbp
jl 0x140116e70
jmp 0x14011707f
lea ecx, [r14 - 2]
mov qword [rsp + 0xb8], r13
mov edx, esi
mov r8d, 1
sar edx, cl
xor r13d, r13d
shl r8d, cl
movsxd r14, r8d
mov qword [rsp + 0x20], r13
lea ecx, [rdx - 1]
shr ecx, 0x1f
lea eax, [r8 - 1]
and esi, eax
mov eax, edx
not eax
shr eax, 0x1f
and eax, ecx
mov ecx, edx
neg eax
xor ecx, 1
and eax, 1
neg rax
mov qword [rsp + 0x30], rax
lea eax, [rcx - 1]
not ecx
shr eax, 0x1f
shr ecx, 0x1f
and eax, ecx
mov ecx, edx
neg eax
xor edx, 3
and eax, 1
xor ecx, 2
neg rax
mov qword [rsp + 0x38], rax
lea eax, [rcx - 1]
not ecx
shr eax, 0x1f
shr ecx, 0x1f
and eax, ecx
neg eax
and eax, 1
neg rax
mov qword [rsp + 0x40], rax
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and edx, 1
neg rdx
mov qword [rsp + 0xb0], rdx
test ebp, ebp
jle 0x140117077
movsxd rax, ebx
shl rax, 3
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], r15
xor ebx, ebx
xor r10d, r10d
test r14, r14
jle 0x140117048
mov r12, qword [rsp + 0x30]
mov rcx, r14
mov r13, qword [rsp + 0x38]
neg rcx
mov rax, r14
mov r11, r14
shl rax, 4
neg r11
add rax, rdi
mov r15, r14
mov rdi, qword [rsp + 0x40]
lea rbp, [rcx*8]
add r11, r11
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + r14*8]
lea rax, [rax + 8]
and rcx, rdx
mov r9d, r10d
mov rdx, qword [rax - 8]
xor r9d, esi
mov r8, qword [rax + rbp - 8]
and rdx, rdi
or rdx, rcx
and r8, r13
mov rcx, qword [rax + r11*8 - 8]
or r8, rdx
lea edx, [r9 - 1]
and rcx, r12
shr edx, 0x1f
or rcx, r8
not r9d
inc r10d
shr r9d, 0x1f
and edx, r9d
neg edx
and edx, 1
neg rdx
and rdx, rcx
or rbx, rdx
mov rdx, qword [rsp + 0xb0]
sub r15, 1
jne 0x140116fd0
mov rdi, qword [rsp + 0x28]
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x20]
mov r11, qword [rsp + 0x48]
add rdi, qword [rsp + 0x50]
mov rax, qword [r12]
mov qword [rsp + 0x28], rdi
mov qword [rax + r13*8], rbx
inc r13
mov qword [rsp + 0x20], r13
cmp r13, r11
jl 0x140116f82
mov ebp, dword [rsp + 0xa8]
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0xb8]
mov dword [r12 + 8], ebp
test ebp, ebp
jle 0x1401170b7
lea eax, [rbp - 1]
movsxd rcx, eax
mov rax, qword [r12]
lea rdx, [rax + rcx*8]
nop word [rax + rax]
mov rax, qword [rdx]
lea rdx, [rdx - 8]
test rax, rax
jne 0x1401170b2
dec ebp
test ebp, ebp
jg 0x1401170a0
mov dword [r12 + 8], ebp
cmp dword [r12 + 8], 0
jne 0x1401170c8
mov dword [r12 + 0x10], 0
mov eax, 1
add rsp, 0x68
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret