Function at 0x140086c10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0xb0
mov rax, qword [0x1408f0280]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r12, qword [rsp + 0x100]
mov r13d, r9d
mov esi, dword [rsp + 0x118]
mov r9, rcx
mov ecx, dword [rsp + 0x108]
mov r14, r8
mov r10d, edx
call fcn.14007cd60
mov ebp, eax
test eax, eax
js 0x140086f63
mov eax, dword [rsp + 0x120]
lea ecx, [rax - 1]
and ecx, 7
mov dword [rsp + 0x30], ecx
jne 0x140086c80
mov byte [r14], 0
inc r14
dec r13d
mov qword [rsp + 0x98], r15
cmp esi, 0xffffffff
jne 0x140086ca0
mov esi, ebp
cmp eax, 0x400
jne 0x140086cb1
cmp ebp, 0x40
jne 0x140086cb1
lea esi, [rbp - 2]
jmp 0x140086cb1
cmp esi, ebp
jg 0x140086f56
cmp esi, 0xffffffff
jl 0x140086f56
mov r15d, r13d
lea eax, [rsi + 2]
sub r15d, ebp
cmp r15d, eax
jl 0x140086f56
mov qword [rsp + 0xa8], rbx
xor eax, eax
mov qword [rsp + 0xa0], rdi
mov r8, r10
lea rdi, [r14 + 8]
mov qword [r14], rax
mov rcx, rdi
lea rbx, [rdi + r10]
mov rdx, r9
dec r15d
call fcn.140152da0
test esi, esi
jle 0x140086d28
mov r8d, esi
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.140095fa0
mov r9d, eax
test eax, eax
jne 0x140086f41
movsxd r12, esi
lea rdx, [rsp + 0x40]
mov r8, r12
mov rcx, rbx
call fcn.140152da0
add rbx, r12
jmp 0x140086d2b
movsxd r12, esi
mov ecx, dword [rsp + 0x108]
sub ebx, r14d
movsxd rax, r15d
mov r8d, ebx
mov rdx, r14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], ebp
lea rdi, [rax + r14]
mov r9, rdi
call fcn.14007ce80
mov r9d, eax
test eax, eax
jne 0x140086f41
mov ecx, dword [rsp + 0x110]
lea eax, [r13 - 1]
mov byte [rax + r14], 0xbc
sub ecx, 1
je 0x140086da2
sub ecx, 1
je 0x140086d9b
sub ecx, 1
je 0x140086d94
cmp ecx, 0x17
je 0x140086d8d
mov r9d, 0xffffff53
jmp 0x140086f41
mov ecx, 4
jmp 0x140086da7
mov ecx, 8
jmp 0x140086da7
mov ecx, 7
jmp 0x140086da7
mov ecx, 6
mov r9, r14
mov dword [rsp + 0x20], r15d
mov r8d, ebp
mov rdx, rdi
call fcn.1400866d0
mov r9d, eax
test eax, eax
jne 0x140086f41
mov rdx, qword [rsp + 0x38]
mov eax, 1
mov ecx, dword [rsp + 0x30]
sub rdx, r12
add rdx, r14
shl al, cl
dec al
xor r8d, r8d
and byte [r14], al
xor byte [rdx - 1], 1
test esi, esi
jle 0x140086f14
cmp esi, 8
jb 0x140086f14
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea r10, [rcx + rdx]
cmp rdx, rax
ja 0x140086e1d
lea rax, [rsp + 0x40]
cmp r10, rax
jae 0x140086f14
cmp esi, 0x40
jb 0x140086ec8
mov ecx, esi
and ecx, 0x8000003f
jge 0x140086e37
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, esi
sub eax, ecx
lea r10, [rsp + 0x40]
movsxd rdi, eax
lea r11, [rsp + 0x50]
sub r10, rdx
sub r11, rdx
lea rcx, [rdx + 0x20]
mov rbx, 0xffffffffffffffe0
sub rbx, rdx
nop dword [rax]
movdqu xmm0, xmmword [rcx - 0x20]
add r8d, 0x40
movdqu xmm1, xmmword [rcx + r10 - 0x20]
movdqu xmm2, xmmword [rcx + r10]
lea rcx, [rcx + 0x40]
xorps xmm1, xmm0
lea rax, [rcx + rbx]
movdqu xmmword [rcx - 0x60], xmm1
movdqu xmm0, xmmword [rcx - 0x50]
movdqu xmm1, xmmword [rcx + r11 - 0x60]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rcx + r11 - 0x40]
xorps xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
cmp rax, rdi
jl 0x140086e60
mov eax, esi
and al, 0x3f
cmp al, 8
jb 0x140086f14
mov eax, esi
and eax, 0x80000007
jge 0x140086ed8
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, esi
sub ecx, eax
movsxd rax, r8d
lea r10, [rsp + 0x40]
movsxd r11, ecx
sub r10, rdx
lea rcx, [rax + rdx]
nop
movq xmm0, qword [rcx]
add r8d, 8
movq xmm1, qword [rcx + r10]
xorps xmm1, xmm0
movq qword [rcx], xmm1
add rcx, 8
mov rax, rcx
sub rax, rdx
cmp rax, r11
jl 0x140086ef0
movsxd rcx, r8d
movsxd r8, esi
cmp rcx, r8
jge 0x140086f41
lea r10, [rsp + 0x40]
sub r10, rdx
lea rax, [rcx + rdx]
sub r8, rcx
nop
movzx ecx, byte [rax + r10]
xor byte [rax], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x140086f30
mov rdi, qword [rsp + 0xa0]
mov eax, r9d
mov rbx, qword [rsp + 0xa8]
jmp 0x140086f5b
mov eax, 0xffffff06
mov r15, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140117aa0
add rsp, 0xb0
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret