Function at 0x180059ae0
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 + 4]
mov r9d, dword [rcx]
mov rdi, rcx
mov eax, r10d
mov esi, 4
shr eax, 4
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
lea r10, [0x180089310]
ror r11d, 0x1d
test r8d, r8d
je 0x180059def
lea rbp, [rdx + 8]
mov r9d, dword [rbp - 4]
mov ecx, dword [rbp - 8]
xor ecx, ebx
xor r9d, ebx
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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 + 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 [r10 + rcx*4 + 0x400]
mov ecx, dword [rbp + 8]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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 ebx, edx
xor ecx, ebx
xor r9d, ebx
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + 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 [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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
xor ecx, r11d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov eax, r8d
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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
dec rsi
jne 0x180059b91
jmp 0x18005a059
lea rbp, [rdx + 0x70]
nop word [rax + rax]
mov r9d, dword [rbp + 0xc]
mov ecx, dword [rbp + 8]
xor ecx, ebx
xor r9d, ebx
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
mov ecx, dword [rbp]
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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 + 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 [r10 + rcx*4 + 0x400]
mov ecx, dword [rbp - 8]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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 - 4]
xor ebx, edx
xor ecx, ebx
xor r9d, ebx
mov r8d, ecx
shr rcx, 0x12
ror r9d, 4
and ecx, 0x3f
mov eax, r8d
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + 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 [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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 r9d, r11d
xor ecx, r11d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov eax, r8d
mov edx, dword [r10 + rcx*4 + 0x400]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x200]
mov eax, r8d
shr r8, 0x1a
shr rax, 2
and eax, 0x3f
xor edx, dword [r10 + rax*4]
mov eax, r9d
shr rax, 0x12
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x500]
mov eax, r9d
shr rax, 0xa
and eax, 0x3f
xor edx, dword [r10 + rax*4 + 0x300]
mov eax, r9d
shr r9, 0x1a
shr rax, 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
dec rsi
jne 0x180059e00
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
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