Function at 0x140236e10
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
mov eax, 0xc0
call fcn.14026ff20
sub rsp, rax
mov rax, qword [0x1403e5188]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x70], rcx
mov rbp, r9
mov rcx, r9
mov qword [rsp + 0x78], r9
mov rdi, r8
mov qword [rsp + 0x58], r8
mov rbx, rdx
xor esi, esi
call fcn.1401c05d0
mov rcx, rbp
call fcn.1401c0350
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
je 0x140237356
mov rcx, rbp
call fcn.1401c0350
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140237356
mov rcx, rbp
mov qword [rsp + 0xb0], r14
call fcn.1401c0350
mov qword [rsp + 0x60], rax
mov r14, rax
test rax, rax
je 0x14023734e
mov rcx, rbp
mov qword [rsp + 0xa8], r15
call fcn.1401c0350
mov qword [rsp + 0x40], rax
mov r15, rax
test rax, rax
je 0x140237346
lea r8d, [rsi + 6]
mov rcx, rdi
lea rdx, [rsp + 0x80]
call fcn.140238130
test eax, eax
je 0x140237326
cmp eax, 6
jg 0x140237326
lea r8, [rsp + 0x80]
mov rdx, rbx
mov rcx, r14
call fcn.1402366d0
test eax, eax
je 0x140237346
cmp dword [r14 + 8], esi
je 0x140237346
mov rdx, rdi
mov rcx, r15
call fcn.1401bf4e0
test rax, rax
je 0x140237346
mov rcx, r14
mov qword [rsp + 0xb8], r13
call fcn.1401bf8d0
mov rcx, r15
mov ebp, eax
call fcn.1401bf8d0
movsxd r13, dword [rdi + 8]
mov dword [rsp + 0x30], eax
cmp r13d, dword [r14 + 0xc]
jle 0x140236f5a
mov edx, r13d
mov rcx, r14
call fcn.1401c0070
movsxd rax, dword [r14 + 8]
mov rbx, qword [r14]
cmp rax, r13
jge 0x140236f7b
mov r8, r13
lea rcx, [rbx + rax*8]
sub r8, rax
xor edx, edx
shl r8, 3
call fcn.1402b61f1
mov dword [r14 + 8], r13d
cmp r13d, dword [r12 + 0xc]
jle 0x140236f91
mov edx, r13d
mov rcx, r12
call fcn.1401c0070
mov r15, qword [r12]
mov eax, 1
mov qword [r15], rax
cmp r13d, eax
jle 0x140236fb8
lea eax, [r13 - 1]
xor edx, edx
movsxd r8, eax
lea rcx, [r15 + 8]
shl r8, 3
call fcn.1402b61f1
mov r9, qword [rsp + 0x38]
mov dword [r12 + 8], r13d
cmp r13d, dword [r9 + 0xc]
jle 0x140236fd8
mov edx, r13d
mov rcx, r9
call fcn.1401c0070
mov r9, qword [rsp + 0x38]
mov rdi, qword [r9]
mov qword [rsp + 0x50], rdi
test r13d, r13d
jle 0x140236ffb
mov r8, r13
xor edx, edx
shl r8, 3
mov rcx, rdi
call fcn.1402b61f1
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov dword [r9 + 8], r13d
mov r11, qword [rdx]
mov qword [rsp + 0x48], r11
nop dword [rax]
test ebp, ebp
je 0x1402370f3
nop dword [rax + rax]
mov r9, qword [rbx]
test r9b, 1
jne 0x1402370d5
mov rax, qword [r15]
mov r12, rsi
mov r8, qword [rsp + 0x58]
mov r11, rax
and r11d, 1
neg r11
mov rcx, qword [r8]
mov rdx, qword [rcx]
lea ecx, [r13 - 1]
and rdx, r11
movsxd rdi, ecx
xor rax, rdx
test ecx, ecx
jle 0x1402370be
mov rsi, rbx
lea r10, [r15 + 8]
sub rsi, r15
mov r14, 0xfffffffffffffff8
sub r14, r15
mov r12, rdi
mov rcx, qword [rsi + r10]
lea r10, [r10 + 8]
shl rcx, 0x3f
shr r9, 1
or rcx, r9
shr rax, 1
mov r9, qword [rsi + r10 - 8]
mov qword [rsi + r10 - 0x10], rcx
mov rdx, qword [r8]
add rdx, r14
mov r8, qword [rdx + r10]
and r8, r11
xor r8, qword [r10 - 8]
mov rcx, r8
shl rcx, 0x3f
or rcx, rax
mov rax, r8
mov r8, qword [rsp + 0x58]
mov qword [r10 - 0x10], rcx
sub rdi, 1
jne 0x140237070
xor esi, esi
shr r9, 1
shr rax, 1
mov qword [rbx + r12*8], r9
mov qword [r15 + r12*8], rax
sub ebp, 1
jne 0x140237020
mov rdi, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
cmp ebp, 0x40
jg 0x140237102
cmp qword [rbx], 1
je 0x1402372c8
mov ecx, dword [rsp + 0x30]
cmp ebp, ecx
jge 0x140237149
mov rax, r14
mov qword [rsp + 0x60], rdx
mov r14, rdx
mov qword [rsp + 0x40], rax
mov rdx, rax
mov dword [rsp + 0x30], ebp
mov rax, r12
mov qword [rsp + 0x68], r9
mov rbx, r11
mov qword [rsp + 0x38], rax
mov r15, rdi
mov ebp, ecx
mov r11, qword [rdx]
mov r12, r9
mov rdi, qword [rax]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r11
mov r8, rsi
test r13d, r13d
jle 0x140237217
cmp r13d, 2
jb 0x140237217
lea eax, [r13 - 1]
movsxd rcx, eax
lea r10, [rdi + rcx*8]
lea rax, [r15 + rcx*8]
cmp r15, r10
ja 0x14023717c
cmp rax, rdi
jae 0x140237217
lea rdx, [rbx + rcx*8]
cmp r15, rdx
ja 0x14023718e
cmp rax, rbx
jae 0x140237217
lea r9, [r11 + rcx*8]
cmp r15, r9
ja 0x14023719c
cmp rax, r11
jae 0x140237217
cmp rbx, r10
ja 0x1402371a6
cmp rdx, rdi
jae 0x140237217
cmp rbx, r9
ja 0x1402371b0
cmp rdx, r11
jae 0x140237217
mov ecx, r13d
and ecx, 0x80000001
jge 0x1402371c2
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, r13d
mov rdx, rdi
sub eax, ecx
sub rdx, rbx
mov rcx, r11
movsxd r10, eax
sub rcx, rbx
mov r9, r15
sub r9, rbx
mov rax, rbx
nop
movdqu xmm0, xmmword [rax]
add r8, 2
movdqu xmm1, xmmword [rcx + rax]
lea rax, [rax + 0x10]
pxor xmm1, xmm0
movdqu xmm0, xmmword [r9 + rax - 0x10]
movdqu xmmword [rax - 0x10], xmm1
movdqu xmm1, xmmword [rdx + rax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [r9 + rax - 0x10], xmm1
cmp r8, r10
jl 0x1402371e0
cmp r8, r13
jge 0x14023725e
mov r9, r11
lea rcx, [rbx + r8*8]
mov r11, r15
mov r10, rdi
sub r11, rbx
sub r9, rbx
sub r10, rbx
mov rdx, r13
sub rdx, r8
nop dword [rax + rax]
mov rax, qword [rcx + r9]
xor qword [rcx], rax
mov rax, qword [rcx + r10]
xor qword [rcx + r11], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x140237240
mov r11, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
cmp ebp, dword [rsp + 0x30]
jne 0x140237010
lea eax, [rbp - 1]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movsxd rdi, eax
mov rax, rdi
mov rcx, qword [rbx + rdi*8]
test rcx, rcx
jne 0x1402372a4
nop dword [rax]
test rax, rax
je 0x1402372a4
mov rcx, qword [rbx + rax*8 - 8]
dec rax
dec edi
test rcx, rcx
je 0x140237290
call fcn.1401bfa10
mov r11, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
shl edi, 6
lea ebp, [rdi + rax]
mov rdi, qword [rsp + 0x50]
jmp 0x140237010
movsxd rdx, dword [r12 + 8]
mov r13, qword [rsp + 0xb8]
test edx, edx
jle 0x140237307
mov rax, qword [r12]
lea r8, [rdx - 1]
lea r8, [rax + r8*8]
nop word [rax + rax]
mov rax, qword [r8]
lea r8, [r8 - 8]
test rax, rax
jne 0x140237302
dec edx
test edx, edx
jg 0x1402372f0
mov dword [r12 + 8], edx
mov rcx, qword [rsp + 0x70]
mov rdx, r12
call fcn.1401bf4e0
mov rbp, qword [rsp + 0x78]
test rax, rax
mov eax, 1
cmovne esi, eax
jmp 0x140237346
mov edx, 0x83
mov dword [rsp + 0x20], 0x1de
lea r9, [0x1403dd7f8]
lea ecx, [rdx - 0x80]
lea r8d, [rdx - 0x19]
call fcn.1401b8970
mov r15, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb0]
mov rcx, rbp
call fcn.1401c0230
mov eax, esi
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14026fc70
add rsp, 0xc0
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret