Function at 0x1401880b0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rdi
cmp qword [rsp + 0x18], 0
jne 0x1401880ce
xor eax, eax
jmp 0x1401883bf
mov eax, dword [rsp + 0x10]
xor eax, 0xffffffff
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x20], 8
jb 0x140188354
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, dword [rsp + 0x20]
sub eax, 8
mov dword [rsp + 0x20], eax
jmp 0x1401880d9
cmp dword [rsp + 0x20], 0
je 0x1401883b8
mov eax, 0x400
imul rax, rax, 0
lea rcx, [0x140562b40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x18]
movzx ecx, byte [rcx]
mov edx, dword [rsp + 0x10]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
movsxd rcx, ecx
mov edx, dword [rsp + 0x10]
shr edx, 8
mov eax, dword [rax + rcx*4]
xor eax, edx
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
inc rax
mov qword [rsp + 0x18], rax
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jne 0x14018835b
mov eax, dword [rsp + 0x10]
xor eax, 0xffffffff
pop rdi
ret