Function at 0x14031d0b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.1403cb200
sub rsp, rax
mov r15, rcx
xor edi, edi
cmp qword [rsp + 0xa0], rdi
mov rcx, r9
mov rsi, rdx
mov qword [rsp + 0x38], rdi
cmovne rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], rcx
mov rcx, r9
call fcn.140273470
mov ebx, dword [rsp + 0xa8]
lea r14, [0x1404c05a8]
movsxd r13, eax
test eax, eax
js 0x14031d1b9
cmp ebx, 0xffffffff
jne 0x14031d181
mov ebx, r13d
mov rcx, qword [r15 + 0x28]
call fcn.140279f80
mov rcx, r15
lea ebp, [rax - 1]
and ebp, 7
mov dword [rsp + 0xa8], ebp
call fcn.140251440
mov r12d, eax
test ebp, ebp
jne 0x14031d157
mov byte [rsi], dil
inc rsi
dec r12d
lea eax, [r13 + 2]
cmp r12d, eax
jge 0x14031d1f5
call fcn.140273ec0
lea r8, [0x140463178]
xor edx, edx
mov rcx, r14
call fcn.140273fd0
mov edx, 0x6e
jmp 0x14031d1ad
cmp ebx, 0xfffffffe
jne 0x14031d18d
mov ebx, 0xfffffffd
jmp 0x14031d129
cmp ebx, 0xfffffffd
jge 0x14031d129
call fcn.140273ec0
lea r8, [0x140463178]
xor edx, edx
mov rcx, r14
call fcn.140273fd0
mov edx, 0x88
xor r8d, r8d
lea ecx, [r8 + 4]
call fcn.1402740c0
mov r14, rdi
mov rcx, r14
call fcn.1402c5b30
mov rcx, qword [rsp + 0x38]
lea r8, [0x1404c05a8]
movsxd rdx, ebx
xor r9d, r9d
call fcn.14026ed40
mov rbx, qword [rsp + 0x80]
mov eax, edi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebp, r12d
sub ebp, r13d
lea eax, [rbp - 2]
cmp ebx, 0xfffffffd
jne 0x14031d207
mov ebx, eax
jmp 0x14031d20f
cmp ebx, eax
jg 0x14031d164
test ebx, ebx
jle 0x14031d270
movsxd r14, ebx
lea rdx, [0x1404c05a8]
mov rcx, r14
xor r8d, r8d
call fcn.14026ec50
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14031d256
call fcn.140273ec0
lea r8, [0x140463178]
xor edx, edx
lea rcx, [0x1404c05a8]
call fcn.140273fd0
mov edx, 0xc0100
jmp 0x14031d1ad
mov rcx, qword [r15 + 8]
xor r9d, r9d
mov r8, r14
mov rdx, rax
call fcn.140274470
test eax, eax
jle 0x14031d1b9
lea eax, [rbp - 1]
movsxd r15, eax
add r15, rsi
call fcn.1402c5be0
mov qword [rsp + 0x30], rax
mov r14, rax
test rax, rax
je 0x14031d1bc
mov rdx, qword [rsp + 0x98]
xor r8d, r8d
mov rcx, rax
call fcn.1402c56a0
test eax, eax
je 0x14031d1bc
mov rcx, qword [rsp + 0x30]
lea rdx, [0x140463118]
mov r14d, 8
mov r8d, r14d
call fcn.1402c56e0
test eax, eax
je 0x14031d39f
mov rdx, qword [rsp + 0x90]
mov r8, r13
mov rcx, qword [rsp + 0x30]
call fcn.1402c56e0
test eax, eax
je 0x14031d39f
test ebx, ebx
je 0x14031d307
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
movsxd r8, ebx
call fcn.1402c56e0
test eax, eax
je 0x14031d39f
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, r15
call fcn.1402c5520
test eax, eax
je 0x14031d39f
mov rax, qword [rsp + 0xa0]
lea edx, [rbp - 1]
mov r9d, r13d
mov qword [rsp + 0x20], rax
mov r8, r15
mov rcx, rsi
call fcn.14031e580
test eax, eax
jne 0x14031d39f
sub ebp, ebx
movsxd rcx, ebx
movsxd rdx, ebp
add rdx, rsi
xor byte [rdx - 2], 1
dec rdx
cmp rcx, 1
jl 0x14031d378
mov r14, qword [rsp + 0x38]
mov r8, rdi
mov al, byte [r8 + r14]
inc r8
xor byte [rdx], al
inc rdx
cmp r8, rcx
jl 0x14031d361
mov r14d, 8
mov eax, dword [rsp + 0xa8]
test eax, eax
je 0x14031d392
sub r14d, eax
mov eax, 0xff
mov cl, r14b
sar eax, cl
and byte [rsi], al
movsxd rax, r12d
mov edi, 1
mov byte [rax + rsi - 1], 0xbc
mov r14, qword [rsp + 0x30]
jmp 0x14031d1bc