Function at 0x18006c028
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r9d, r8d
mov eax, ecx
mov r8, rdx
lea rbx, [0x180000c00]
not eax
test r9d, r9d
je 0x18006c34c
test r8, 3
je 0x18006c071
mov ecx, eax
movzx edx, byte [r8]
xor rcx, rdx
movzx r10d, cl
inc r8
shr eax, 8
xor eax, dword [rbx + r10*4 + 0x785c0]
dec r9d
jne 0x18006c043
jmp 0x18006c34c
mov r10d, r9d
cmp r9d, 0x20
jb 0x18006c2bd
mov rdx, r10
xor ecx, ecx
neg rdx
sar rdx, 4
shr rdx, 0x3b
sub rdx, r10
shr rdx, 5
neg rdx
xor eax, dword [r8]
inc ecx
movzx r10d, al
mov r11d, dword [rbx + r10*4 + 0x791c0]
mov r10d, eax
shr r10d, 8
movzx r10d, r10b
xor r11d, dword [rbx + r10*4 + 0x78dc0]
mov r10d, eax
shr r10d, 0x10
shr eax, 0x18
movzx r10d, r10b
xor r11d, dword [rbx + r10*4 + 0x789c0]
xor r11d, dword [rbx + rax*4 + 0x785c0]
xor r11d, dword [r8 + 4]
mov r10d, r11d
shr r10d, 8
movzx eax, r11b
movzx r10d, r10b
mov eax, dword [rbx + rax*4 + 0x791c0]
xor eax, dword [rbx + r10*4 + 0x78dc0]
mov r10d, r11d
shr r10d, 0x10
shr r11d, 0x18
movzx r10d, r10b
xor eax, dword [rbx + r10*4 + 0x789c0]
xor eax, dword [rbx + r11*4 + 0x785c0]
xor eax, dword [r8 + 8]
mov r11d, eax
shr r11d, 8
movzx r10d, al
movzx r11d, r11b
mov r10d, dword [rbx + r10*4 + 0x791c0]
xor r10d, dword [rbx + r11*4 + 0x78dc0]
mov r11d, eax
shr r11d, 0x10
shr eax, 0x18
movzx r11d, r11b
xor r10d, dword [rbx + r11*4 + 0x789c0]
xor r10d, dword [rbx + rax*4 + 0x785c0]
xor r10d, dword [r8 + 0xc]
mov r11d, r10d
shr r11d, 8
movzx eax, r10b
movzx r11d, r11b
mov eax, dword [rbx + rax*4 + 0x791c0]
xor eax, dword [rbx + r11*4 + 0x78dc0]
mov r11d, r10d
shr r11d, 0x10
shr r10d, 0x18
movzx r11d, r11b
xor eax, dword [rbx + r11*4 + 0x789c0]
xor eax, dword [rbx + r10*4 + 0x785c0]
xor eax, dword [r8 + 0x10]
movzx r10d, al
mov r11d, dword [rbx + r10*4 + 0x791c0]
mov r10d, eax
shr r10d, 8
movzx r10d, r10b
xor r11d, dword [rbx + r10*4 + 0x78dc0]
mov r10d, eax
shr r10d, 0x10
shr eax, 0x18
movzx r10d, r10b
xor r11d, dword [rbx + r10*4 + 0x789c0]
xor r11d, dword [rbx + rax*4 + 0x785c0]
xor r11d, dword [r8 + 0x14]
mov r10d, r11d
shr r10d, 8
movzx eax, r11b
movzx r10d, r10b
mov eax, dword [rbx + rax*4 + 0x791c0]
xor eax, dword [rbx + r10*4 + 0x78dc0]
mov r10d, r11d
shr r10d, 0x10
shr r11d, 0x18
movzx r10d, r10b
xor eax, dword [rbx + r10*4 + 0x789c0]
xor eax, dword [rbx + r11*4 + 0x785c0]
xor eax, dword [r8 + 0x18]
mov r11d, eax
shr r11d, 8
movzx r10d, al
movzx r11d, r11b
mov r10d, dword [rbx + r10*4 + 0x791c0]
xor r10d, dword [rbx + r11*4 + 0x78dc0]
mov r11d, eax
shr r11d, 0x10
shr eax, 0x18
movzx r11d, r11b
xor r10d, dword [rbx + r11*4 + 0x789c0]
xor r10d, dword [rbx + rax*4 + 0x785c0]
xor r10d, dword [r8 + 0x1c]
add r8, 0x20
mov r11d, r10d
shr r11d, 8
movzx eax, r10b
movzx r11d, r11b
mov eax, dword [rbx + rax*4 + 0x791c0]
xor eax, dword [rbx + r11*4 + 0x78dc0]
mov r11d, r10d
shr r11d, 0x10
shr r10d, 0x18
movzx r11d, r11b
xor eax, dword [rbx + r11*4 + 0x789c0]
xor eax, dword [rbx + r10*4 + 0x785c0]
cmp ecx, edx
jb 0x18006c098
shl ecx, 5
neg ecx
add r9d, ecx
cmp r9d, 4
jae 0x18006c2c3
jmp 0x18006c327
cmp r9d, 4
jb 0x18006c32c
mov ecx, r9d
xor r10d, r10d
shr ecx, 2
xor eax, dword [r8]
inc r10d
movzx r11d, al
add r8, 4
mov edx, dword [rbx + r11*4 + 0x791c0]
mov r11d, eax
shr r11d, 8
movzx r11d, r11b
xor edx, dword [rbx + r11*4 + 0x78dc0]
mov r11d, eax
shr r11d, 0x10
shr eax, 0x18
movzx r11d, r11b
xor edx, dword [rbx + r11*4 + 0x789c0]
mov r11d, eax
mov eax, edx
xor eax, dword [rbx + r11*4 + 0x785c0]
cmp r10d, ecx
jb 0x18006c2cc
shl r10d, 2
neg r10d
add r9d, r10d
test r9d, r9d
je 0x18006c34c
mov ecx, eax
movzx edx, byte [r8]
xor rcx, rdx
movzx r10d, cl
inc r8
shr eax, 8
xor eax, dword [rbx + r10*4 + 0x785c0]
dec r9d
jne 0x18006c32c
not eax
pop rbx
ret