Function at 0x140233890
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0xb0
call fcn.1402807a0
sub rsp, rax
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r14, qword [rsp + 0x120]
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x128]
mov r15d, r9d
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x38], r8
mov rbx, rcx
mov qword [rsp + 0x48], rax
lea ebp, [rdx - 1]
test r14, r14
jne 0x1402338f7
call fcn.1401cd3e0
mov r14, rax
test rdi, rdi
mov rcx, r14
cmove rdi, r14
mov qword [rsp + 0x40], rdi
call fcn.1401e3270
mov r13d, ebp
movsxd rsi, eax
lea eax, [rsi + rsi]
sub r13d, eax
lea ecx, [r13 - 1]
cmp r15d, ecx
jle 0x140233949
mov edx, 0xa0
lea r9, [0x1403b2dd8]
mov ecx, 4
lea r8d, [rdx - 0x32]
mov dword [rsp + 0x20], 0x3a
call fcn.1401c3730
xor eax, eax
jmp 0x140233c11
inc eax
cmp ebp, eax
jge 0x140233978
mov edx, 0xa0
lea r9, [0x1403b2df0]
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0x40
call fcn.1401c3730
xor eax, eax
jmp 0x140233c11
movsxd rdx, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xa8], r12
lea r12, [rbx + 1]
mov byte [rbx], 0
lea r15, [rbx + 1]
add r12, rsi
xor ebx, ebx
xor r9d, r9d
mov r8, r12
mov qword [rsp + 0x28], rbx
mov rdi, rsi
mov qword [rsp + 0x20], r14
call fcn.1401d89e0
test eax, eax
je 0x140233c07
mov r14d, dword [rsp + 0x30]
lea rcx, [rsi + r12]
xor edx, edx
sub r13d, r14d
dec r13d
movsxd r8, r13d
call fcn.140283160
mov rdx, qword [rsp + 0x38]
movsxd rax, r14d
movsxd rcx, ebp
mov r8d, r14d
sub rcx, rax
sub rcx, rsi
add rcx, r12
mov byte [rcx - 1], 1
call fcn.140282ac0
mov edx, esi
mov rcx, r15
call fcn.1401dc1e0
test eax, eax
jle 0x140233c07
sub ebp, esi
lea r8d, [rbx + 0x55]
lea rdx, [0x1403b2e08]
mov ecx, ebp
call fcn.1401d5df0
mov r14, rax
test rax, rax
jne 0x140233a49
lea r9, [0x1403b2e20]
lea ecx, [rbx + 4]
lea r8d, [rbx + 0x41]
mov edx, 0xa0
mov dword [rsp + 0x20], 0x57
call fcn.1401c3730
jmp 0x140233c07
mov r13, qword [rsp + 0x40]
mov r9d, esi
mov r8, r15
mov edx, ebp
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.1402336d0
test eax, eax
js 0x140233bff
mov edx, ebx
test ebp, ebp
jle 0x140233aed
cmp ebp, 0x20
jb 0x140233aed
lea eax, [rbp - 1]
movsxd rcx, eax
lea rax, [rcx + r14]
lea r8, [rcx + r12]
cmp r12, rax
ja 0x140233a8e
cmp r8, r14
jae 0x140233aed
mov eax, ebp
and eax, 0x8000001f
jge 0x140233a9e
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebp
sub r8d, eax
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edx
movdqu xmm0, xmmword [rax + r12]
movdqu xmm1, xmmword [rax + r14]
pxor xmm1, xmm0
movdqu xmmword [rax + r12], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + r14]
movdqu xmm0, xmmword [rcx + r12]
pxor xmm1, xmm0
movdqu xmmword [rcx + r12], xmm1
cmp edx, r8d
jl 0x140233ab0
movsxd rax, edx
movsxd rdx, ebp
cmp rax, rdx
jge 0x140233b21
mov r8, r14
lea rcx, [rax + r12]
sub r8, r12
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x140233b10
lea rcx, [rsp + 0x50]
mov r9d, ebp
mov r8, r12
mov edx, esi
mov qword [rsp + 0x20], r13
call fcn.1402336d0
test eax, eax
js 0x140233bff
test esi, esi
jle 0x140233bbc
cmp esi, 0x20
jb 0x140233bbc
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea rdx, [rcx + r15]
cmp r15, rax
ja 0x140233b6a
lea rax, [rsp + 0x50]
cmp rdx, rax
jae 0x140233bbc
mov eax, esi
and eax, 0x8000001f
jge 0x140233b7a
dec eax
or eax, 0xffffffe0
inc eax
sub esi, eax
nop dword [rax]
movsxd rax, ebx
movdqu xmm0, xmmword [rax + r15]
movdqu xmm1, xmmword [rsp + rax + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rax + r15], xmm1
lea eax, [rbx + 0x10]
add ebx, 0x20
movsxd rcx, eax
movdqu xmm0, xmmword [rcx + r15]
movdqu xmm1, xmmword [rsp + rcx + 0x50]
pxor xmm1, xmm0
movdqu xmmword [rcx + r15], xmm1
cmp ebx, esi
jl 0x140233b80
movsxd rax, ebx
cmp rax, rdi
jge 0x140233bf0
lea rdx, [rsp + 0x50]
lea rcx, [rax + r15]
sub rdx, r15
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 0x140233be0
mov rcx, r14
call fcn.1401d5d50
mov eax, 1
jmp 0x140233c09
mov rcx, r14
call fcn.1401d5d50
xor eax, eax
mov r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1402806f0
add rsp, 0xb0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret