Function at 0x140097f20
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0xb0
call fcn.1400cc090
sub rsp, rax
mov rax, qword [0x140175060]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r12, qword [rsp + 0x120]
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x128]
mov r14d, r9d
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x38], r8
mov rbx, rcx
mov qword [rsp + 0x48], rax
lea ebp, [rdx - 1]
test r12, r12
jne 0x140097f87
call fcn.140058b80
mov r12, rax
test rdi, rdi
mov rcx, r12
cmove rdi, r12
mov qword [rsp + 0x40], rdi
call fcn.14005b2e0
mov r13d, ebp
movsxd rsi, eax
lea eax, [rsi + rsi]
sub r13d, eax
lea ecx, [r13 - 1]
cmp r14d, ecx
jle 0x140097fd9
mov edx, 0xa0
lea r9, [0x140165b10]
mov ecx, 4
lea r8d, [rdx - 0x32]
mov dword [rsp + 0x20], 0x3a
call fcn.14004b7a0
xor eax, eax
jmp 0x140098285
inc eax
cmp ebp, eax
jge 0x140098008
mov edx, 0xa0
lea r9, [0x140165b28]
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0x40
call fcn.14004b7a0
xor eax, eax
jmp 0x140098285
movsxd rdx, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xa8], r15
lea r15, [rbx + 1]
mov byte [rbx], 0
lea r14, [rbx + 1]
add r15, rsi
xor ebx, ebx
xor r9d, r9d
mov r8, r15
mov qword [rsp + 0x28], rbx
mov rdi, rsi
mov qword [rsp + 0x20], r12
call fcn.14007fc10
test eax, eax
je 0x1400980d0
mov r12d, dword [rsp + 0x30]
lea rcx, [rsi + r15]
xor edx, edx
sub r13d, r12d
dec r13d
movsxd r8, r13d
call fcn.1400ce270
mov rdx, qword [rsp + 0x38]
movsxd rax, r12d
movsxd rcx, ebp
mov r8d, r12d
sub rcx, rax
sub rcx, rsi
add rcx, r15
mov byte [rcx - 1], 1
call fcn.1400cdc90
mov edx, esi
mov rcx, r14
call fcn.14005d710
test eax, eax
jle 0x1400980d0
sub ebp, esi
lea r8d, [rbx + 0x55]
lea rdx, [0x140165b40]
mov ecx, ebp
call fcn.14004d100
mov r12, rax
test rax, rax
jne 0x1400980d7
lea r9, [0x140165b58]
lea ecx, [rbx + 4]
lea r8d, [rbx + 0x41]
mov edx, 0xa0
mov dword [rsp + 0x20], 0x57
call fcn.14004b7a0
xor eax, eax
jmp 0x14009827d
mov r13, qword [rsp + 0x40]
mov r9d, esi
mov r8, r14
mov edx, ebp
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.140097d60
test eax, eax
js 0x1400980d0
mov edx, ebx
test ebp, ebp
jle 0x14009816d
cmp ebp, 0x20
jb 0x14009816d
lea eax, [rbp - 1]
movsxd rcx, eax
lea rax, [rcx + r12]
lea r8, [rcx + r15]
cmp r15, rax
ja 0x140098118
cmp r8, r12
jae 0x14009816d
mov eax, ebp
and eax, 0x8000001f
jge 0x140098128
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebp
sub r8d, eax
nop
movsxd rax, edx
movdqu xmm0, xmmword [rax + r15]
movdqu xmm1, xmmword [rax + r12]
pxor xmm1, xmm0
movdqu xmmword [rax + r15], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + r12]
movdqu xmm0, xmmword [rcx + r15]
pxor xmm1, xmm0
movdqu xmmword [rcx + r15], xmm1
cmp edx, r8d
jl 0x140098130
movsxd rax, edx
movsxd rdx, ebp
cmp rax, rdx
jge 0x1400981a1
mov r8, r12
lea rcx, [rax + r15]
sub r8, r15
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x140098190
lea rcx, [rsp + 0x50]
mov r9d, ebp
mov r8, r15
mov edx, esi
mov qword [rsp + 0x20], r13
call fcn.140097d60
test eax, eax
js 0x1400980d0
test esi, esi
jle 0x14009823c
cmp esi, 0x20
jb 0x14009823c
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea rdx, [rcx + r14]
cmp r14, rax
ja 0x1400981ea
lea rax, [rsp + 0x50]
cmp rdx, rax
jae 0x14009823c
mov eax, esi
and eax, 0x8000001f
jge 0x1400981fa
dec eax
or eax, 0xffffffe0
inc eax
sub esi, eax
nop dword [rax]
movsxd rax, ebx
movdqu xmm0, xmmword [rax + r14]
movdqu xmm1, xmmword [rsp + rax + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rax + r14], xmm1
lea eax, [rbx + 0x10]
add ebx, 0x20
movsxd rcx, eax
movdqu xmm0, xmmword [rcx + r14]
movdqu xmm1, xmmword [rsp + rcx + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rcx + r14], xmm1
cmp ebx, esi
jl 0x140098200
movsxd rax, ebx
cmp rax, rdi
jge 0x140098270
lea rdx, [rsp + 0x50]
lea rcx, [rax + r14]
sub rdx, r14
sub rdi, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdi
jne 0x140098260
mov rcx, r12
call fcn.14004d060
mov eax, 1
mov r15, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400cbcb0
add rsp, 0xb0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret