Function at 0x180161ef0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
mov eax, dword [rcx]
lea rsi, [0x180000000]
mov r15, rdx
mov r9d, eax
mov rdi, r8
ror r9d, 8
and r9d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r9d, eax
mov eax, dword [rcx + 4]
xor r9d, dword [r8]
mov r10d, eax
ror r10d, 8
and r10d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r10d, eax
mov eax, dword [rcx + 8]
xor r10d, dword [r8 + 4]
mov ebx, eax
ror ebx, 8
and ebx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ebx, eax
mov eax, dword [rcx + 0xc]
xor ebx, dword [r8 + 8]
mov r11d, eax
ror r11d, 8
and r11d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r11d, eax
mov eax, r10d
xor r11d, dword [r8 + 0xc]
shr rax, 0x10
mov r8d, r9d
movzx edx, al
mov eax, ebx
shr r8, 0x10
mov ebp, dword [rsi + rdx*4 + 0x1da7c0]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor ebp, dword [rsi + rcx*4 + 0x1dabc0]
shr rax, 0x18
xor ebp, dword [rsi + rax*4 + 0x1da3c0]
movzx eax, r11b
xor ebp, dword [rsi + rax*4 + 0x1dafc0]
mov eax, r11d
xor ebp, dword [rdi + 0x10]
shr rax, 8
movzx edx, al
mov eax, ebx
mov r12d, dword [rsi + rdx*4 + 0x1dabc0]
shr rax, 0x10
movzx ecx, al
mov eax, r10d
xor r12d, dword [rsi + rcx*4 + 0x1da7c0]
shr rax, 0x18
xor r12d, dword [rsi + rax*4 + 0x1da3c0]
movzx eax, r9b
xor r12d, dword [rsi + rax*4 + 0x1dafc0]
mov eax, r9d
xor r12d, dword [rdi + 0x14]
shr rax, 8
movzx edx, al
mov eax, r11d
mov edx, dword [rsi + rdx*4 + 0x1dabc0]
shr rax, 0x10
movzx ecx, al
mov eax, ebx
xor edx, dword [rsi + rcx*4 + 0x1da7c0]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [rsi + rax*4 + 0x1da3c0]
movzx eax, r10b
xor edx, dword [rsi + rax*4 + 0x1dafc0]
xor edx, dword [rdi + 0x18]
shr r10, 8
mov r8d, dword [rsi + rcx*4 + 0x1da7c0]
mov r14d, dword [rdi + 0xf0]
movzx eax, r10b
xor r8d, dword [rsi + rax*4 + 0x1dabc0]
shr r11, 0x18
movzx eax, bl
xor r8d, dword [rsi + r11*4 + 0x1da3c0]
sar r14d, 1
lea r13, [rdi + 0x20]
xor r8d, dword [rsi + rax*4 + 0x1dafc0]
xor r8d, dword [rdi + 0x1c]
dec r14d
je 0x1801622e2
lea r15, [0x180000000]
nop dword [rax]
mov esi, edx
mov edi, r8d
mov r10d, ebp
mov eax, r12d
shr r10, 0x10
shr rdi, 0x18
shr rax, 0x10
mov r11d, r12d
movzx edx, al
mov eax, esi
shr r11, 8
mov ebx, dword [r15 + rdx*4 + 0x1da7c0]
shr rax, 8
movzx ecx, al
mov eax, ebp
xor ebx, dword [r15 + rcx*4 + 0x1dabc0]
shr rax, 0x18
xor ebx, dword [r15 + rax*4 + 0x1da3c0]
movzx eax, r8b
xor ebx, dword [r15 + rax*4 + 0x1dafc0]
mov eax, r8d
xor ebx, dword [r13]
shr rax, 8
movzx edx, al
mov eax, esi
mov r9d, dword [r15 + rdx*4 + 0x1dabc0]
shr rax, 0x10
movzx ecx, al
mov eax, r12d
xor r9d, dword [r15 + rcx*4 + 0x1da7c0]
shr rax, 0x18
xor r9d, dword [r15 + rax*4 + 0x1da3c0]
movzx eax, bpl
xor r9d, dword [r15 + rax*4 + 0x1dafc0]
mov eax, ebp
xor r9d, dword [r13 + 4]
shr rax, 8
movzx edx, al
mov eax, r8d
mov r8d, dword [r15 + rdx*4 + 0x1dabc0]
shr rax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r15 + rcx*4 + 0x1da7c0]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [r15 + rax*4 + 0x1da3c0]
mov edx, dword [r15 + rcx*4 + 0x1da7c0]
movzx eax, r12b
xor r8d, dword [r15 + rax*4 + 0x1dafc0]
movzx eax, r11b
mov r10d, r9d
xor edx, dword [r15 + rax*4 + 0x1dabc0]
xor r8d, dword [r13 + 8]
movzx eax, sil
xor edx, dword [r15 + rdi*4 + 0x1da3c0]
mov r11d, r8d
mov r8d, ebx
xor edx, dword [r15 + rax*4 + 0x1dafc0]
mov eax, r10d
xor edx, dword [r13 + 0xc]
shr rax, 0x10
mov r9d, edx
movzx edx, al
mov eax, r11d
mov ebp, dword [r15 + rdx*4 + 0x1da7c0]
shr rax, 8
movzx ecx, al
mov eax, ebx
xor ebp, dword [r15 + rcx*4 + 0x1dabc0]
shr rax, 0x18
xor ebp, dword [r15 + rax*4 + 0x1da3c0]
movzx eax, r9b
xor ebp, dword [r15 + rax*4 + 0x1dafc0]
mov eax, r9d
xor ebp, dword [r13 + 0x10]
shr rax, 8
movzx edx, al
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov r12d, dword [r15 + rdx*4 + 0x1dabc0]
shr r8, 0x10
mov eax, r10d
xor r12d, dword [r15 + rcx*4 + 0x1da7c0]
shr rax, 0x18
add r13, 0x20
xor r12d, dword [r15 + rax*4 + 0x1da3c0]
movzx eax, bl
xor r12d, dword [r15 + rax*4 + 0x1dafc0]
mov eax, ebx
xor r12d, dword [r13 - 0xc]
shr rax, 8
movzx edx, al
mov eax, r9d
shr r9, 0x18
mov edx, dword [r15 + rdx*4 + 0x1dabc0]
shr rax, 0x10
movzx ecx, al
mov eax, r11d
xor edx, dword [r15 + rcx*4 + 0x1da7c0]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r15 + rax*4 + 0x1da3c0]
mov r8d, dword [r15 + rcx*4 + 0x1da7c0]
movzx eax, r10b
xor edx, dword [r15 + rax*4 + 0x1dafc0]
shr r10, 8
xor edx, dword [r13 - 8]
movzx eax, r10b
xor r8d, dword [r15 + rax*4 + 0x1dabc0]
movzx eax, r11b
xor r8d, dword [r15 + r9*4 + 0x1da3c0]
xor r8d, dword [r15 + rax*4 + 0x1dafc0]
xor r8d, dword [r13 - 4]
dec r14d
jne 0x1801620b0
mov r15, qword [rsp + 0x38]
lea rsi, [0x180000000]
mov r11d, edx
mov r10d, r8d
mov eax, r12d
shr rax, 0x10
mov r9d, r12d
mov r8d, ebp
movzx ecx, al
mov eax, r11d
shr rax, 8
mov edx, dword [rsi + rcx*4 + 0x1dafc0]
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x1da3c0]
and eax, 0xff00
xor edx, eax
mov eax, ebp
shr rax, 0x18
mov ecx, dword [rsi + rax*4 + 0x1dabc0]
movzx eax, r10b
movzx eax, byte [rsi + rax*4 + 0x1da7c0]
and ecx, 0xff000000
xor edx, ecx
xor edx, eax
xor edx, dword [r13]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r15], eax
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov eax, r10d
mov edx, dword [rsi + rcx*4 + 0x1dafc0]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x1da3c0]
and eax, 0xff00
xor edx, eax
mov eax, r12d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x1dabc0]
and eax, 0xff000000
xor edx, eax
movzx eax, bpl
movzx eax, byte [rsi + rax*4 + 0x1da7c0]
xor edx, eax
xor edx, dword [r13 + 4]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r15 + 4], eax
mov eax, r10d
shr rax, 0x10
movzx ecx, al
mov eax, ebp
mov edx, dword [rsi + rcx*4 + 0x1dafc0]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x1da3c0]
and eax, 0xff00
xor edx, eax
mov eax, r11d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x1dabc0]
and eax, 0xff000000
xor edx, eax
movzx eax, r12b
movzx eax, byte [rsi + rax*4 + 0x1da7c0]
xor edx, eax
xor edx, dword [r13 + 8]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
rol edx, 8
and edx, 0xff00ff
shr r8, 0x10
shr r9, 8
or eax, edx
shr r10, 0x18
mov dword [r15 + 8], eax
movzx eax, r8b
mov edx, dword [rsi + rax*4 + 0x1dafc0]
movzx eax, r9b
mov ecx, dword [rsi + rax*4 + 0x1da3c0]
mov eax, dword [rsi + r10*4 + 0x1dabc0]
and edx, 0xff0000
and eax, 0xff000000
and ecx, 0xff00
xor edx, ecx
xor edx, eax
movzx eax, r11b
movzx eax, byte [rsi + rax*4 + 0x1da7c0]
mov rsi, qword [rsp + 0x48]
xor edx, eax
xor edx, dword [r13 + 0xc]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r15 + 0xc], eax
pop r15
pop r14
pop r13
pop r12
pop rdi
ret