Function at 0x1801615e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov r10d, dword [rcx]
mov r11d, dword [rcx + 4]
mov rbx, rcx
ror r10d, 0x1d
ror r11d, 0x1d
mov esi, 4
lea rdi, [0x1801e0240]
test r8d, r8d
je 0x18016186a
lea rbp, [rdx + 8]
nop
mov r9d, dword [rbp - 4]
mov ecx, dword [rbp - 8]
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
mov r9d, dword [rbp + 4]
xor r11d, edx
xor r9d, r11d
mov ecx, r11d
xor ecx, dword [rbp]
ror r9d, 4
mov r8d, ecx
shr rcx, 0x12
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
mov ecx, dword [rbp + 8]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
mov r9d, dword [rbp + 0xc]
xor r10d, edx
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov ecx, dword [rbp + 0x10]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
add rbp, 0x20
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
mov r9d, dword [rbp - 0xc]
xor r11d, edx
xor r9d, r11d
xor ecx, r11d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
xor r10d, edx
dec rsi
jne 0x180161620
jmp 0x180161ab5
lea rbp, [rdx + 0x70]
nop
mov r9d, dword [rbp + 0xc]
mov ecx, dword [rbp + 8]
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
shr rax, 0xa
mov ecx, dword [rbp]
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
mov r9d, dword [rbp + 4]
xor r11d, edx
xor ecx, r11d
xor r9d, r11d
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
mov ecx, dword [rbp - 8]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
mov r9d, dword [rbp - 4]
xor r10d, edx
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov ecx, dword [rbp - 0x10]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
sub rbp, 0x20
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
mov r9d, dword [rbp + 0x14]
xor r11d, edx
xor r9d, r11d
xor ecx, r11d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov eax, r8d
mov edx, dword [rdi + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [rdi + rax*4 + 0x100]
xor edx, dword [rdi + r8*4 + 0x600]
xor edx, dword [rdi + r9*4 + 0x700]
xor r10d, edx
dec rsi
jne 0x180161870
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
ror r11d, 3
ror r10d, 3
mov dword [rbx + 4], r10d
mov dword [rbx], r11d
mov rbx, qword [rsp + 8]
ret