Function at 0x1337c0fc0550
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.1337c0fd65a0
sub rsp, rax
mov r14d, dword [rsp + 0x90]
xor r12d, r12d
movsxd rbx, r9d
mov rdi, r8
mov r13d, edx
mov r15, rcx
mov ebp, r12d
test edx, edx
jle 0x1337c0fc0898
test r9d, r9d
jle 0x1337c0fc0898
cmp ebx, r14d
jg 0x1337c0fc0880
cmp r14d, 0xb
jl 0x1337c0fc0880
mov qword [rsp + 0x70], rsi
lea rdx, [0x1337c107a935]
movsxd rsi, r14d
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x38], rsi
call fcn.1337c0f37910
mov r11, rax
test rax, rax
jne 0x1337c0fc0611
xor r9d, r9d
mov dword [rsp + 0x20], r12d
lea edx, [rax + 0x71]
lea ecx, [rax + 4]
lea r8d, [r12 + 0x41]
call fcn.1337c0f34d50
lea eax, [r12 - 1]
mov rsi, qword [rsp + 0x70]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
add rdi, rbx
mov rdx, r14
add r11, rsi
nop word [rax + rax]
mov eax, ebx
lea ecx, [rbx - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
mov r8, r11
and ecx, eax
dec r11
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub rdi, rax
movzx eax, byte [rdi]
and al, cl
mov byte [r11], al
sub rdx, 1
jne 0x1337c0fc0620
movzx esi, byte [r8]
lea r10, [r11 + 2]
xor esi, 2
movzx eax, al
dec esi
lea r8d, [rdx + 2]
dec eax
shr esi, 0x1f
shr eax, 0x1f
neg esi
neg eax
mov r9d, r12d
and esi, eax
nop dword [rax]
movzx edx, byte [r10]
lea r10, [r10 + 1]
dec edx
mov eax, r9d
not eax
shr edx, 0x1f
neg edx
and eax, edx
or r9d, edx
mov dword [rsp + 0x78], eax
not eax
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x30]
and ecx, r8d
and ebp, eax
inc r8d
or ebp, ecx
cmp r8d, r14d
jl 0x1337c0fc0680
mov r12d, r14d
mov ecx, r13d
sub r12d, ebp
mov r10d, 1
dec r12d
sub ecx, r12d
mov eax, r12d
xor ecx, r12d
xor eax, r13d
or ecx, eax
lea eax, [rbp - 0xa]
xor ecx, r13d
or eax, ebp
shr ecx, 0x1f
xor eax, ebp
dec ecx
shr eax, 0x1f
dec eax
lea ebp, [r14 - 0xb]
and ecx, eax
mov eax, ebp
and esi, ecx
xor eax, r13d
mov ecx, ebp
sub ecx, r13d
xor ecx, r13d
or ecx, eax
xor ecx, ebp
shr ecx, 0x1f
neg ecx
mov dword [rsp + 0x78], ecx
not ecx
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
and eax, ebp
and ecx, r13d
or ecx, eax
mov dword [rsp + 0x34], ecx
cmp ebp, r10d
jle 0x1337c0fc07b6
mov r13d, r14d
sub r13d, r12d
add r13d, 0xfffffff5
nop dword [rax]
mov eax, r13d
and eax, r10d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r14d
sub eax, r10d
dec ecx
movsxd r8, eax
cmp r8, 0xb
jle 0x1337c0fc07aa
movzx ebx, cl
lea rax, [r11 + 0xb]
mov r9d, ebx
movsxd rdi, r10d
not r9d
add r8, 0xfffffffffffffff5
nop dword [rax + rax]
mov dword [rsp + 0x78], ebx
lea rax, [rax + 1]
mov dword [rsp + 0x30], r9d
mov ecx, dword [rsp + 0x78]
movzx edx, byte [rdi + rax - 1]
and dl, cl
mov ecx, dword [rsp + 0x30]
and cl, byte [rax - 1]
or cl, dl
mov byte [rax - 1], cl
sub r8, 1
jne 0x1337c0fc0780
add r10d, r10d
cmp r10d, ebp
jl 0x1337c0fc0740
mov ecx, dword [rsp + 0x34]
xor r9d, r9d
movsxd rbx, ecx
test ecx, ecx
jle 0x1337c0fc0828
mov r10d, r12d
mov rdi, r11
shr r10d, 0x1f
sub rdi, r15
nop dword [rax]
mov edx, r9d
lea r15, [r15 + 1]
sub edx, r12d
mov ecx, r9d
shr ecx, 0x1f
movzx eax, r10b
xor al, cl
shr edx, 0x1f
xor dl, r10b
inc r9d
or dl, al
movzx eax, sil
xor dl, cl
neg dl
movzx ecx, dl
and ecx, eax
mov dword [rsp + 0x78], ecx
not ecx
mov dword [rsp + 0x34], ecx
mov eax, dword [rsp + 0x78]
movzx ecx, byte [rdi + r15 + 0xa]
and cl, al
mov eax, dword [rsp + 0x34]
and al, byte [r15 - 1]
or al, cl
mov byte [r15 - 1], al
sub rbx, 1
jne 0x1337c0fc07d0
mov rdx, qword [rsp + 0x38]
lea r8, [0x1337c107a935]
xor r9d, r9d
mov rcx, r11
call fcn.1337c0f377c0
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea edx, [r9 + 0x71]
lea ecx, [rdx - 0x6d]
lea r8d, [rdx + 0x2e]
call fcn.1337c0f34d50
mov ecx, esi
and ecx, 1
call fcn.1337c0f34f00
mov dword [rsp + 0x78], esi
not esi
mov dword [rsp + 0x34], esi
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x34]
and ecx, r12d
or eax, ecx
jmp 0x1337c0fc05f2
xor r9d, r9d
mov dword [rsp + 0x20], r12d
lea edx, [r9 + 0x71]
lea ecx, [rdx - 0x6d]
lea r8d, [rdx + 0x2e]
call fcn.1337c0f34d50
mov eax, 0xffffffff
jmp 0x1337c0fc05f7