Function at 0x180002510
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rdi
push r13
sub rsp, 0x18
mov rdi, r8
mov r13, rdx
test rcx, rcx
je 0x180002b19
test rdx, rdx
je 0x180002b19
test r8, r8
je 0x180002b19
mov eax, dword [rcx]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbp
mov r9d, eax
mov qword [rsp + 0x48], rsi
lea rsi, [0x180000000]
ror r9d, 8
mov qword [rsp + 0x10], r12
mov qword [rsp + 8], r14
and r9d, 0xff00ff00
rol eax, 8
mov qword [rsp], r15
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
mov ebp, dword [rsi + rdx*4 + 0x45940]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor ebp, dword [rsi + rcx*4 + 0x45d40]
shr rax, 0x18
xor ebp, dword [rsi + rax*4 + 0x45540]
movzx eax, r11b
xor ebp, dword [rsi + rax*4 + 0x46140]
mov eax, r11d
xor ebp, dword [rdi + 0x10]
shr rax, 8
movzx edx, al
mov eax, ebx
mov r12d, dword [rsi + rdx*4 + 0x45d40]
shr rax, 0x10
movzx ecx, al
mov eax, r10d
xor r12d, dword [rsi + rcx*4 + 0x45940]
shr rax, 0x18
xor r12d, dword [rsi + rax*4 + 0x45540]
movzx eax, r9b
xor r12d, dword [rsi + rax*4 + 0x46140]
mov eax, r9d
xor r12d, dword [rdi + 0x14]
shr rax, 8
movzx edx, al
mov eax, r11d
mov edx, dword [rsi + rdx*4 + 0x45d40]
shr rax, 0x10
movzx ecx, al
mov eax, ebx
xor edx, dword [rsi + rcx*4 + 0x45940]
shr rax, 0x18
xor edx, dword [rsi + rax*4 + 0x45540]
movzx eax, r10b
xor edx, dword [rsi + rax*4 + 0x46140]
mov r15d, dword [rdi + 0xf0]
xor edx, dword [rdi + 0x18]
shr r8, 0x10
movzx ecx, r8b
shr r10, 8
shr r11, 0x18
mov r8d, dword [rsi + rcx*4 + 0x45940]
movzx eax, r10b
sar r15d, 1
xor r8d, dword [rsi + rax*4 + 0x45d40]
movzx eax, bl
lea r14, [rdi + 0x20]
xor r8d, dword [rsi + r11*4 + 0x45540]
xor r8d, dword [rsi + rax*4 + 0x46140]
xor r8d, dword [rdi + 0x1c]
dec r15d
je 0x180002931
lea r13, [0x180000000]
nop word [rax + 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 [r13 + rdx*4 + 0x45940]
shr rax, 8
movzx ecx, al
mov eax, ebp
xor ebx, dword [r13 + rcx*4 + 0x45d40]
shr rax, 0x18
xor ebx, dword [r13 + rax*4 + 0x45540]
movzx eax, r8b
xor ebx, dword [r13 + rax*4 + 0x46140]
mov eax, r8d
xor ebx, dword [r14]
shr rax, 8
movzx edx, al
mov eax, esi
mov r9d, dword [r13 + rdx*4 + 0x45d40]
shr rax, 0x10
movzx ecx, al
mov eax, r12d
xor r9d, dword [r13 + rcx*4 + 0x45940]
shr rax, 0x18
xor r9d, dword [r13 + rax*4 + 0x45540]
movzx eax, bpl
xor r9d, dword [r13 + rax*4 + 0x46140]
mov eax, ebp
xor r9d, dword [r14 + 4]
shr rax, 8
movzx edx, al
mov eax, r8d
mov r8d, dword [r13 + rdx*4 + 0x45d40]
shr rax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r13 + rcx*4 + 0x45940]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [r13 + rax*4 + 0x45540]
mov edx, dword [r13 + rcx*4 + 0x45940]
movzx eax, r12b
xor r8d, dword [r13 + rax*4 + 0x46140]
movzx eax, r11b
mov r10d, r9d
xor edx, dword [r13 + rax*4 + 0x45d40]
xor r8d, dword [r14 + 8]
movzx eax, sil
xor edx, dword [r13 + rdi*4 + 0x45540]
mov r11d, r8d
mov r8d, ebx
xor edx, dword [r13 + rax*4 + 0x46140]
mov eax, r10d
xor edx, dword [r14 + 0xc]
shr rax, 0x10
mov r9d, edx
movzx edx, al
mov eax, r11d
mov ebp, dword [r13 + rdx*4 + 0x45940]
shr rax, 8
movzx ecx, al
mov eax, ebx
xor ebp, dword [r13 + rcx*4 + 0x45d40]
shr rax, 0x18
xor ebp, dword [r13 + rax*4 + 0x45540]
movzx eax, r9b
xor ebp, dword [r13 + rax*4 + 0x46140]
mov eax, r9d
xor ebp, dword [r14 + 0x10]
shr rax, 8
movzx edx, al
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov r12d, dword [r13 + rdx*4 + 0x45d40]
shr r8, 0x10
mov eax, r10d
xor r12d, dword [r13 + rcx*4 + 0x45940]
shr rax, 0x18
add r14, 0x20
xor r12d, dword [r13 + rax*4 + 0x45540]
movzx eax, bl
xor r12d, dword [r13 + rax*4 + 0x46140]
mov eax, ebx
xor r12d, dword [r14 - 0xc]
shr rax, 8
movzx edx, al
mov eax, r9d
shr r9, 0x18
mov edx, dword [r13 + rdx*4 + 0x45d40]
shr rax, 0x10
movzx ecx, al
mov eax, r11d
xor edx, dword [r13 + rcx*4 + 0x45940]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r13 + rax*4 + 0x45540]
mov r8d, dword [r13 + rcx*4 + 0x45940]
movzx eax, r10b
xor edx, dword [r13 + rax*4 + 0x46140]
shr r10, 8
xor edx, dword [r14 - 8]
movzx eax, r10b
xor r8d, dword [r13 + rax*4 + 0x45d40]
movzx eax, r11b
xor r8d, dword [r13 + r9*4 + 0x45540]
xor r8d, dword [r13 + rax*4 + 0x46140]
xor r8d, dword [r14 - 4]
dec r15d
jne 0x180002700
mov r13, 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 + 0x46140]
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x45540]
and eax, 0xff00
xor edx, eax
mov eax, ebp
shr rax, 0x18
mov ecx, dword [rsi + rax*4 + 0x45d40]
movzx eax, r10b
movzx eax, byte [rsi + rax*4 + 0x45940]
and ecx, 0xff000000
xor edx, ecx
xor edx, eax
xor edx, dword [r14]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r13], eax
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov eax, r10d
mov edx, dword [rsi + rcx*4 + 0x46140]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x45540]
and eax, 0xff00
xor edx, eax
mov eax, r12d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x45d40]
and eax, 0xff000000
xor edx, eax
movzx eax, bpl
movzx eax, byte [rsi + rax*4 + 0x45940]
xor edx, eax
xor edx, dword [r14 + 4]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r13 + 4], eax
mov eax, r10d
shr rax, 0x10
movzx ecx, al
mov eax, ebp
mov edx, dword [rsi + rcx*4 + 0x46140]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x45540]
and eax, 0xff00
xor edx, eax
mov eax, r11d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x45d40]
and eax, 0xff000000
xor edx, eax
movzx eax, r12b
movzx eax, byte [rsi + rax*4 + 0x45940]
xor edx, eax
xor edx, dword [r14 + 8]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
mov r15, qword [rsp]
mov r12, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
rol edx, 8
shr r8, 0x10
and edx, 0xff00ff
shr r9, 8
shr r10, 0x18
or eax, edx
mov dword [r13 + 8], eax
movzx eax, r8b
mov edx, dword [rsi + rax*4 + 0x46140]
movzx eax, r9b
mov ecx, dword [rsi + rax*4 + 0x45540]
mov eax, dword [rsi + r10*4 + 0x45d40]
and edx, 0xff0000
and eax, 0xff000000
and ecx, 0xff00
xor edx, ecx
xor edx, eax
movzx eax, r11b
movzx eax, byte [rsi + rax*4 + 0x45940]
mov rsi, qword [rsp + 0x48]
xor edx, eax
xor edx, dword [r14 + 0xc]
mov r14, qword [rsp + 8]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r13 + 0xc], eax
xor eax, eax
add rsp, 0x18
pop r13
pop rdi
ret
or eax, 0xffffffff
add rsp, 0x18
pop r13
pop rdi
ret