Function at 0x1800861b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
mov eax, 0x68
call fcn.180090180
sub rsp, rax
mov r14d, dword [rsp + 0xc0]
mov r13, rcx
mov ecx, r14d
movsxd rdi, edx
mov ebx, 1
mov ebp, r9d
shl ebx, cl
mov rsi, r8
cmp edi, dword [r13 + 0xc]
jg 0x1800861fc
mov rax, r13
jmp 0x180086206
mov edx, edi
mov rcx, r13
call fcn.180076010
test rax, rax
jne 0x180086218
add rsp, 0x68
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x48], rdi
mov r11, rdi
cmp r14d, 3
jg 0x180086295
test edi, edi
jle 0x180086443
xor r10d, r10d
movsxd r14, ebx
shl r14, 3
nop dword [rax + rax]
xor r9d, r9d
xor edx, edx
test ebx, ebx
jle 0x18008627d
mov r8, rsi
nop dword [rax]
mov ecx, edx
lea r8, [r8 + 8]
xor ecx, ebp
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 0x180086250
mov rax, qword [r13]
add rsi, r14
mov qword [rax + r10*8], r9
inc r10
cmp r10, rdi
jl 0x180086240
jmp 0x180086443
lea ecx, [r14 - 2]
mov edx, ebp
sar edx, cl
mov r8d, 1
shl r8d, cl
movsxd r14, r8d
lea ecx, [rdx - 1]
shr ecx, 0x1f
lea eax, [r8 - 1]
and ebp, 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 + 0x20], rdx
test edi, edi
jle 0x180086443
mov qword [rsp + 0xb8], r12
xor r12d, r12d
movsxd rax, ebx
shl rax, 3
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x28], r12
nop
xor ebx, ebx
xor r10d, r10d
test r14, r14
jle 0x180086409
mov r13, qword [rsp + 0x30]
mov rcx, r14
mov r12, qword [rsp + 0x38]
neg rcx
mov rax, r14
mov r11, r14
shl rax, 4
neg r11
add rax, rsi
mov r15, r14
mov rsi, qword [rsp + 0x40]
lea rdi, [rcx*8]
add r11, r11
mov rcx, qword [rax + r14*8]
lea rax, [rax + 8]
and rcx, rdx
mov r9d, r10d
mov rdx, qword [rax - 8]
xor r9d, ebp
mov r8, qword [rdi + rax - 8]
and rdx, rsi
or rdx, rcx
and r8, r12
mov rcx, qword [rax + r11*8 - 8]
or r8, rdx
lea edx, [r9 - 1]
and rcx, r13
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 + 0x20]
sub r15, 1
jne 0x180086391
mov rsi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x28]
mov r13, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x48]
add rsi, qword [rsp + 0x50]
mov rax, qword [r13]
mov qword [rsp + 0xb0], rsi
mov qword [rax + r12*8], rbx
inc r12
mov qword [rsp + 0x28], r12
cmp r12, r11
jl 0x180086350
mov edi, dword [rsp + 0xa8]
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0xb8]
mov dword [r13 + 8], edi
test edi, edi
jle 0x180086478
mov rax, qword [r13]
lea rcx, [r11 - 1]
lea rcx, [rax + rcx*8]
nop word [rax + rax]
mov rax, qword [rcx]
lea rcx, [rcx - 8]
test rax, rax
jne 0x180086472
dec edi
test edi, edi
jg 0x180086460
mov dword [r13 + 8], edi
test edi, edi
jne 0x180086482
mov dword [r13 + 0x10], 0
mov eax, 1
add rsp, 0x68
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret