Function at 0x140002f80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rdi
sub rsp, 0x18
test rcx, rcx
mov rdi, r8
mov rbp, rdx
mov r10, rcx
je 0x140003595
test rdx, rdx
je 0x140003595
test r8, r8
je 0x140003595
movzx eax, byte [rcx + 1]
movzx r9d, byte [rcx]
movzx edx, byte [rcx + 8]
shl edx, 8
shl r9d, 8
mov qword [rsp + 0x30], rbx
xor r9d, eax
movzx eax, byte [rcx + 2]
mov qword [rsp + 0x40], rsi
lea rsi, [0x140000000]
mov qword [rsp + 0x48], r12
shl r9d, 8
xor r9d, eax
movzx eax, byte [rcx + 3]
mov qword [rsp + 0x10], r13
shl r9d, 8
mov qword [rsp + 8], r14
mov qword [rsp], r15
xor r9d, eax
movzx eax, byte [rcx + 5]
xor r9d, dword [r8]
movzx r8d, byte [rcx + 4]
shl r8d, 8
xor r8d, eax
movzx eax, byte [rcx + 6]
shl r8d, 8
xor r8d, eax
movzx eax, byte [rcx + 7]
shl r8d, 8
xor r8d, eax
movzx eax, byte [rcx + 9]
xor r8d, dword [rdi + 4]
xor edx, eax
movzx eax, byte [rcx + 0xa]
shl edx, 8
xor edx, eax
movzx eax, byte [rcx + 0xb]
movzx ecx, byte [rcx + 0xc]
shl ecx, 8
shl edx, 8
xor edx, eax
movzx eax, byte [r10 + 0xd]
xor edx, dword [rdi + 8]
xor ecx, eax
movzx eax, byte [r10 + 0xe]
shl ecx, 8
mov r11d, edx
xor ecx, eax
movzx eax, byte [r10 + 0xf]
mov r10d, r8d
shl ecx, 8
xor ecx, eax
mov eax, edx
xor ecx, dword [rdi + 0xc]
shr rax, 8
movzx edx, al
mov eax, ecx
mov ebx, ecx
mov r12d, dword [rsi + rdx*4 + 0xc0b0]
shr rax, 0x10
movzx ecx, al
mov eax, r9d
xor r12d, dword [rsi + rcx*4 + 0xbcb0]
shr rax, 0x18
xor r12d, dword [rsi + rax*4 + 0xb8b0]
movzx eax, r8b
xor r12d, dword [rsi + rax*4 + 0xc4b0]
mov eax, r9d
xor r12d, dword [rdi + 0x10]
shr rax, 0x10
movzx edx, al
mov rax, rbx
mov r13d, dword [rsi + rdx*4 + 0xbcb0]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r13d, dword [rsi + rcx*4 + 0xc0b0]
shr rax, 0x18
xor r13d, dword [rsi + rax*4 + 0xb8b0]
movzx eax, r11b
xor r13d, dword [rsi + rax*4 + 0xc4b0]
mov r15d, dword [rdi + 0xf0]
xor r13d, dword [rdi + 0x14]
shr r10, 8
mov eax, r9d
sar r15d, 1
lea r14, [rdi + 0x20]
shr rax, 8
movzx edx, al
mov eax, r8d
mov edx, dword [rsi + rdx*4 + 0xc0b0]
shr rax, 0x10
movzx ecx, al
mov rax, r11
shr r11, 0x10
xor edx, dword [rsi + rcx*4 + 0xbcb0]
shr rax, 0x18
movzx ecx, r10b
xor edx, dword [rsi + rax*4 + 0xb8b0]
mov r10d, dword [rsi + rcx*4 + 0xc0b0]
movzx eax, bl
xor edx, dword [rsi + rax*4 + 0xc4b0]
movzx eax, r11b
shr rbx, 0x18
xor r10d, dword [rsi + rax*4 + 0xbcb0]
xor edx, dword [rdi + 0x18]
movzx eax, r9b
xor r10d, dword [rsi + rbx*4 + 0xb8b0]
xor r10d, dword [rsi + rax*4 + 0xc4b0]
xor r10d, dword [rdi + 0x1c]
sub r15d, 1
je 0x1400033b6
lea rbp, [0x140000000]
mov r11d, edx
mov esi, r10d
mov eax, edx
shr rax, 8
mov r10d, r13d
movzx edx, al
mov rax, rsi
shr r10, 8
mov edi, dword [rbp + rdx*4 + 0xc0b0]
shr rax, 0x10
movzx ecx, al
mov eax, r12d
xor edi, dword [rbp + rcx*4 + 0xbcb0]
shr rax, 0x18
xor edi, dword [rbp + rax*4 + 0xb8b0]
movzx eax, r13b
xor edi, dword [rbp + rax*4 + 0xc4b0]
mov eax, r12d
xor edi, dword [r14]
shr rax, 0x10
movzx edx, al
mov rax, rsi
mov r9d, dword [rbp + rdx*4 + 0xbcb0]
shr rax, 8
movzx ecx, al
mov eax, r13d
xor r9d, dword [rbp + rcx*4 + 0xc0b0]
shr rax, 0x18
xor r9d, dword [rbp + rax*4 + 0xb8b0]
movzx eax, r11b
xor r9d, dword [rbp + rax*4 + 0xc4b0]
mov eax, r12d
xor r9d, dword [r14 + 4]
shr rax, 8
movzx edx, al
mov eax, r13d
mov r8d, dword [rbp + rdx*4 + 0xc0b0]
shr rax, 0x10
movzx ecx, al
mov rax, r11
shr r11, 0x10
xor r8d, dword [rbp + rcx*4 + 0xbcb0]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [rbp + rax*4 + 0xb8b0]
movzx eax, sil
shr rsi, 0x18
xor r8d, dword [rbp + rax*4 + 0xc4b0]
movzx eax, r11b
mov r11d, dword [rbp + rcx*4 + 0xc0b0]
xor r11d, dword [rbp + rax*4 + 0xbcb0]
xor r8d, dword [r14 + 8]
movzx eax, r12b
xor r11d, dword [rbp + rsi*4 + 0xb8b0]
mov r10d, r8d
mov r8d, r9d
xor r11d, dword [rbp + rax*4 + 0xc4b0]
mov rax, r10
xor r11d, dword [r14 + 0xc]
shr rax, 8
movzx edx, al
mov rax, r11
mov r12d, dword [rbp + rdx*4 + 0xc0b0]
shr rax, 0x10
movzx ecx, al
mov eax, edi
xor r12d, dword [rbp + rcx*4 + 0xbcb0]
shr rax, 0x18
xor r12d, dword [rbp + rax*4 + 0xb8b0]
movzx eax, r9b
xor r12d, dword [rbp + rax*4 + 0xc4b0]
mov eax, edi
xor r12d, dword [r14 + 0x10]
shr rax, 0x10
movzx edx, al
mov rax, r11
mov r13d, dword [rbp + rdx*4 + 0xbcb0]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r13d, dword [rbp + rcx*4 + 0xc0b0]
shr rax, 0x18
shr r8, 8
add r14, 0x20
xor r13d, dword [rbp + rax*4 + 0xb8b0]
movzx eax, r10b
xor r13d, dword [rbp + rax*4 + 0xc4b0]
mov eax, edi
xor r13d, dword [r14 - 0xc]
shr rax, 8
movzx edx, al
mov eax, r9d
mov edx, dword [rbp + rdx*4 + 0xc0b0]
shr rax, 0x10
movzx ecx, al
mov rax, r10
shr r10, 0x10
xor edx, dword [rbp + rcx*4 + 0xbcb0]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [rbp + rax*4 + 0xb8b0]
movzx eax, r11b
shr r11, 0x18
xor edx, dword [rbp + rax*4 + 0xc4b0]
movzx eax, r10b
mov r10d, dword [rbp + rcx*4 + 0xc0b0]
xor r10d, dword [rbp + rax*4 + 0xbcb0]
xor edx, dword [r14 - 8]
movzx eax, dil
xor r10d, dword [rbp + r11*4 + 0xb8b0]
xor r10d, dword [rbp + rax*4 + 0xc4b0]
xor r10d, dword [r14 - 4]
sub r15d, 1
jne 0x140003190
mov rbp, qword [rsp + 0x38]
lea rsi, [0x140000000]
mov r8d, edx
mov r9d, r10d
mov eax, r12d
shr rax, 0x18
mov r10d, r13d
movzx edx, byte [rax + rsi + 0xc8b0]
mov rax, r9
shr rax, 0x10
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rsi + 0xc8b0]
xor edx, eax
mov rax, r8
shr rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rsi + 0xc8b0]
xor edx, eax
movzx eax, r13b
movzx eax, byte [rax + rsi + 0xc8b0]
shl edx, 8
xor edx, eax
xor edx, dword [r14]
mov byte [rbp + 3], dl
mov eax, edx
shr eax, 0x18
mov byte [rbp], al
mov eax, edx
shr eax, 0x10
mov byte [rbp + 1], al
mov eax, edx
shr eax, 8
mov byte [rbp + 2], al
mov eax, r12d
shr rax, 0x10
movzx ecx, al
mov eax, r13d
movzx edx, byte [rcx + rsi + 0xc8b0]
shr rax, 0x18
movzx eax, byte [rax + rsi + 0xc8b0]
shl eax, 8
xor edx, eax
mov rax, r9
shr rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rsi + 0xc8b0]
xor edx, eax
movzx eax, r8b
movzx eax, byte [rax + rsi + 0xc8b0]
shl edx, 8
xor edx, eax
xor edx, dword [r14 + 4]
mov eax, edx
mov byte [rbp + 7], dl
shr eax, 0x18
mov byte [rbp + 4], al
mov eax, edx
shr eax, 0x10
mov byte [rbp + 5], al
mov eax, edx
shr eax, 8
mov byte [rbp + 6], al
mov eax, r13d
shr rax, 0x10
movzx ecx, al
mov rax, r8
movzx edx, byte [rcx + rsi + 0xc8b0]
shr rax, 0x18
movzx eax, byte [rax + rsi + 0xc8b0]
shl eax, 8
xor edx, eax
mov eax, r12d
shr rax, 8
shl edx, 8
movzx ecx, al
movzx eax, byte [rcx + rsi + 0xc8b0]
xor edx, eax
movzx eax, r9b
movzx eax, byte [rax + rsi + 0xc8b0]
shl edx, 8
mov r15, qword [rsp]
mov r13, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x30]
xor edx, eax
shr r8, 0x10
shr r9, 0x18
xor edx, dword [r14 + 8]
shr r10, 8
mov byte [rbp + 0xb], dl
mov eax, edx
shr eax, 0x18
mov byte [rbp + 8], al
mov eax, edx
shr eax, 0x10
mov byte [rbp + 9], al
mov eax, edx
shr eax, 8
mov byte [rbp + 0xa], al
movzx eax, r8b
movzx edx, byte [rax + rsi + 0xc8b0]
movzx eax, byte [r9 + rsi + 0xc8b0]
shl eax, 8
xor edx, eax
movzx eax, r10b
movzx eax, byte [rax + rsi + 0xc8b0]
shl edx, 8
xor edx, eax
movzx eax, r12b
mov r12, qword [rsp + 0x48]
movzx ecx, byte [rax + rsi + 0xc8b0]
mov rsi, qword [rsp + 0x40]
shl edx, 8
xor edx, ecx
mov eax, 1
xor edx, dword [r14 + 0xc]
mov r14, qword [rsp + 8]
mov ecx, edx
mov byte [rbp + 0xf], dl
shr ecx, 0x18
mov byte [rbp + 0xc], cl
mov ecx, edx
shr ecx, 0x10
mov byte [rbp + 0xd], cl
mov ecx, edx
shr ecx, 8
mov byte [rbp + 0xe], cl
add rsp, 0x18
pop rdi
pop rbp
ret
xor eax, eax
add rsp, 0x18
pop rdi
pop rbp
ret