Function at 0x1800947c0
Capabilities:
Encode data using xor

Disassembly:
mov r10d, dword [rcx + 4]
mov r9d, dword [rcx]
mov qword [rsp + 8], rbx
mov eax, r10d
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
shr eax, 4
mov qword [rsp + 0x20], rdi
mov rdi, rcx
xor eax, r9d
and eax, 0xf0f0f0f
xor r9d, eax
shl eax, 4
xor r10d, eax
mov eax, r9d
shr eax, 0x10
xor eax, r10d
movzx ecx, ax
xor r10d, ecx
shl ecx, 0x10
xor r9d, ecx
mov eax, r10d
shr eax, 2
xor eax, r9d
and eax, 0x33333333
xor r9d, eax
shl eax, 2
xor r10d, eax
mov eax, r9d
shr eax, 8
xor eax, r10d
and eax, 0xff00ff
xor r10d, eax
shl eax, 8
xor r9d, eax
mov eax, r10d
shr eax, 1
xor eax, r9d
and eax, 0x55555555
mov ebx, eax
xor ebx, r9d
lea r11d, [rax + rax]
xor r11d, r10d
ror ebx, 0x1d
ror r11d, 0x1d
test r8d, r8d
je 0x1800949b5
lea rbp, [rdx + 8]
mov esi, 8
lea r10, [0x1801a3680]
nop
nop
nop
nop
mov r9d, dword [rbp - 4]
mov ecx, dword [rbp - 8]
add rbp, 0x10
xor ecx, ebx
xor r9d, ebx
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x100]
xor edx, dword [r10 + r8*4 + 0x600]
xor edx, dword [r10 + r9*4 + 0x700]
mov r9d, dword [rbp - 0xc]
xor r11d, edx
xor r9d, r11d
mov ecx, r11d
xor ecx, dword [rbp - 0x10]
ror r9d, 4
mov r8d, ecx
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x100]
xor edx, dword [r10 + r8*4 + 0x600]
xor edx, dword [r10 + r9*4 + 0x700]
xor ebx, edx
sub rsi, 1
jne 0x180094880
jmp 0x180094b00
lea rbp, [rdx + 0x70]
mov esi, 8
lea r10, [0x1801a3680]
nop
nop
nop
mov r9d, dword [rbp + 0xc]
mov ecx, dword [rbp + 8]
sub rbp, 0x10
xor ecx, ebx
xor r9d, ebx
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [r10 + rcx*4 + 0x400]
mov ecx, dword [rbp + 0x10]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x100]
xor edx, dword [r10 + r8*4 + 0x600]
xor edx, dword [r10 + r9*4 + 0x700]
mov r9d, dword [rbp + 0x14]
xor r11d, edx
xor ecx, r11d
xor r9d, r11d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x100]
xor edx, dword [r10 + r8*4 + 0x600]
xor edx, dword [r10 + r9*4 + 0x700]
xor ebx, edx
sub rsi, 1
jne 0x1800949d0
mov rsi, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x10]
ror r11d, 3
ror ebx, 3
mov eax, ebx
shr eax, 1
xor eax, r11d
and eax, 0x55555555
xor r11d, eax
add eax, eax
xor ebx, eax
mov eax, r11d
shr eax, 8
xor eax, ebx
and eax, 0xff00ff
xor ebx, eax
shl eax, 8
xor r11d, eax
mov eax, ebx
shr eax, 2
xor eax, r11d
and eax, 0x33333333
xor r11d, eax
shl eax, 2
xor ebx, eax
mov eax, r11d
shr eax, 0x10
xor eax, ebx
movzx ecx, ax
xor ebx, ecx
shl ecx, 0x10
xor r11d, ecx
mov ecx, ebx
shr ecx, 4
xor ecx, r11d
and ecx, 0xf0f0f0f
mov eax, ecx
shl ecx, 4
xor ecx, ebx
mov rbx, qword [rsp + 8]
xor eax, r11d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov rdi, qword [rsp + 0x20]
ret