Function at 0x14031df20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x30
call fcn.1403cb200
sub rsp, rax
mov esi, dword [rsp + 0x80]
xor edi, edi
movsxd rbx, r9d
mov r14, r8
mov r12d, edx
mov r15, rcx
mov r13d, edi
test edx, edx
jle 0x14031e245
test r9d, r9d
jle 0x14031e245
cmp ebx, esi
jg 0x14031e21a
cmp esi, 0xb
jl 0x14031e21a
movsxd rax, esi
lea rbp, [0x1404c05a8]
mov rdx, rbp
mov qword [rsp + 0x28], rax
mov rcx, rax
xor r8d, r8d
call fcn.14026ec50
mov r10, rax
test rax, rax
jne 0x14031dfc4
call fcn.140273ec0
lea r8, [0x140463530]
xor edx, edx
mov rcx, rbp
call fcn.140273fd0
mov edx, 0xc0100
jmp 0x14031e239
add r14, rbx
movsxd rax, esi
add r10, rax
mov rdx, rsi
mov eax, ebx
lea ecx, [rbx - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
mov r8, r10
and ecx, eax
dec r10
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub r14, rax
mov al, byte [r14]
and al, cl
mov byte [r10], al
sub rdx, 1
jne 0x14031dfd0
movzx ebx, byte [r8]
lea r11, [r10 + 2]
movzx eax, al
lea r8d, [rdx + 2]
xor ebx, r8d
dec eax
dec ebx
shr eax, 0x1f
shr ebx, 0x1f
neg eax
neg ebx
mov r9d, edi
and ebx, eax
movzx edx, byte [r11]
mov eax, r9d
dec edx
not eax
shr edx, 0x1f
inc r11
neg edx
and eax, edx
or r9d, edx
mov dword [rsp + 0x68], eax
not eax
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x20]
and ecx, r8d
and r13d, eax
inc r8d
or r13d, ecx
cmp r8d, esi
jl 0x14031e029
mov r14d, esi
lea r8d, [rsi - 0xb]
sub r14d, r13d
mov ecx, r12d
dec r14d
sub ecx, r14d
mov eax, r14d
xor eax, r12d
xor ecx, r14d
or ecx, eax
lea eax, [r13 - 0xa]
or eax, r13d
xor ecx, r12d
xor eax, r13d
shr ecx, 0x1f
shr eax, 0x1f
dec ecx
dec eax
and ecx, eax
and ebx, ecx
lea ecx, [rsi - 0xb]
mov edx, ecx
mov eax, ecx
sub edx, r12d
xor eax, r12d
xor edx, r12d
or edx, eax
xor edx, ecx
shr edx, 0x1f
neg edx
mov dword [rsp + 0x68], edx
not edx
mov dword [rsp + 0x20], edx
mov edx, 1
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x20]
and eax, r8d
and ecx, r12d
or ecx, eax
mov dword [rsp + 0x24], ecx
cmp r8d, edx
jle 0x14031e15a
mov ebp, esi
sub ebp, r14d
add ebp, 0xfffffff5
mov eax, ebp
and eax, edx
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, esi
sub eax, edx
dec ecx
movsxd r11, eax
cmp r11, 0xb
jle 0x14031e148
movzx r12d, cl
lea r8, [r10 + 0xb]
mov r9d, r12d
movsxd r13, edx
not r9d
add r11, 0xfffffffffffffff5
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x20], r9d
mov eax, dword [rsp + 0x68]
mov cl, byte [r8 + r13]
and cl, al
mov eax, dword [rsp + 0x20]
and al, byte [r8]
or al, cl
mov byte [r8], al
inc r8
sub r11, 1
jne 0x14031e11b
lea r8d, [rsi - 0xb]
add edx, edx
cmp edx, r8d
jl 0x14031e0e6
mov ecx, dword [rsp + 0x24]
lea rbp, [0x1404c05a8]
movsxd r11, ecx
test ecx, ecx
jle 0x14031e1bd
mov r8d, r14d
mov r9, r10
shr r8d, 0x1f
sub r9, r15
mov edx, edi
mov ecx, edi
shr ecx, 0x1f
sub edx, r14d
shr edx, 0x1f
mov al, r8b
xor al, cl
xor dl, r8b
or dl, al
inc edi
xor dl, cl
movzx eax, bl
neg dl
movzx ecx, dl
and ecx, eax
mov dword [rsp + 0x68], ecx
not ecx
mov dword [rsp + 0x24], ecx
mov eax, dword [rsp + 0x68]
mov cl, byte [r9 + r15 + 0xb]
and cl, al
mov eax, dword [rsp + 0x24]
and al, byte [r15]
or al, cl
mov byte [r15], al
inc r15
sub r11, 1
jne 0x14031e16e
mov rdx, qword [rsp + 0x28]
xor r9d, r9d
mov r8, rbp
mov rcx, r10
call fcn.14026ed40
call fcn.140273ec0
lea r8, [0x140463530]
xor edx, edx
mov rcx, rbp
call fcn.140273fd0
xor r8d, r8d
mov edx, 0x9f
lea ecx, [r8 + 4]
call fcn.1402740c0
mov ecx, ebx
and ecx, 1
call fcn.14027e960
mov dword [rsp + 0x68], ebx
not ebx
mov dword [rsp + 0x24], ebx
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x24]
and ecx, r14d
or eax, ecx
jmp 0x14031e248
call fcn.140273ec0
lea r8, [0x140463530]
xor edx, edx
lea rcx, [0x1404c05a8]
call fcn.140273fd0
mov edx, 0x9f
xor r8d, r8d
lea ecx, [r8 + 4]
call fcn.1402740c0
or eax, 0xffffffff
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret