Function at 0x164c6e6e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r12, qword [rsp + 0x60]
lea r10, [0x164ca4460]
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x10], 2
movzx edx, byte [r12 + 1]
movzx ebx, byte [r12 + 3]
movzx eax, byte [r12]
movzx r8d, byte [r12 + 4]
movzx r9d, byte [r12 + 5]
movzx r13d, byte [r12 + 2]
movzx esi, byte [r12 + 6]
movzx ebp, byte [r12 + 7]
mov r12d, edx
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r15]
movzx edx, al
xor rdx, rcx
movzx ecx, r12b
xor r8b, byte [rdx + r10]
movzx edx, byte [r15 + 1]
xor rdx, rcx
movzx r11d, r8b
movzx ecx, byte [r15 + 2]
lea r8, [0x164ca4460]
movzx edi, r11b
xor r9b, byte [rdx + r10]
movzx r10d, r9b
movzx r14d, r10b
movzx edx, r13b
xor rdx, rcx
xor r10, r11
movzx ecx, bl
xor sil, byte [rdx + r8]
movzx edx, byte [r15 + 3]
xor rdx, rcx
movzx r9d, sil
movzx ecx, byte [r15 + 4]
movzx esi, r9b
xor bpl, byte [rdx + r8]
mov edx, r11d
xor rdx, rcx
movzx r8d, bpl
movzx ebp, r8b
lea rcx, [0x164ca4460]
xor r12b, byte [rdx + rcx]
movzx ecx, byte [r15 + 5]
xor r9, rcx
movzx ebx, r12b
mov rcx, qword [rsp + 8]
mov qword [rsp], r12
lea r12, [0x164ca4460]
xor r13b, byte [r10 + r12]
xor cl, byte [r9 + r12]
movzx r11d, cl
mov qword [rsp + 8], rcx
movzx ecx, byte [r15 + 6]
xor r8, rcx
movzx r10d, r13b
movzx ecx, byte [r15 + 7]
xor al, byte [r8 + r12]
movzx eax, al
mov edx, eax
xor rdx, rcx
movzx ecx, byte [r15 + 8]
xor dil, byte [rdx + r12]
mov edx, ebx
xor rdx, rcx
movzx r8d, dil
movzx ecx, byte [r15 + 9]
xor r14b, byte [rdx + r12]
mov edx, r10d
xor rdx, rcx
movzx r9d, r14b
movzx ecx, byte [r15 + 0xa]
xor sil, byte [rdx + r12]
mov edx, r11d
xor rdx, rcx
movzx ecx, byte [r15 + 0xb]
xor bpl, byte [rdx + r12]
mov edx, r8d
xor rdx, rcx
mov ecx, r8d
xor rcx, r9
xor bl, byte [rdx + r12]
xor r10b, byte [rcx + r12]
movzx ecx, byte [r15 + 0xc]
movzx edi, r10b
movzx r10d, sil
mov edx, r10d
movzx ebx, bl
xor rdx, rcx
xor r11b, byte [rdx + r12]
movzx esi, r11b
movzx r11d, bpl
mov edx, r11d
movzx ecx, byte [r15 + 0xd]
xor rdx, rcx
movzx ecx, byte [r15 + 0xe]
xor al, byte [rdx + r12]
movzx edx, al
xor rdx, rcx
movzx ecx, byte [r15 + 0xf]
xor r8b, byte [rdx + r12]
mov edx, ebx
xor rdx, rcx
movzx r8d, r8b
movzx ecx, byte [r15 + 0x10]
xor rcx, rdi
xor r9b, byte [rdx + r12]
mov edx, esi
movzx r9d, r9b
xor r10b, byte [rcx + r12]
movzx ecx, byte [r15 + 0x11]
xor rdx, rcx
movzx r10d, r10b
movzx ecx, byte [r15 + 0x12]
xor r11b, byte [rdx + r12]
mov edx, r8d
xor rdx, rcx
movzx r11d, r11b
mov ecx, r8d
xor rcx, r9
xor bl, byte [rdx + r12]
mov edx, r10d
movzx ebx, bl
xor dil, byte [rcx + r12]
movzx ecx, byte [r15 + 0x13]
xor rdx, rcx
movzx r13d, dil
movzx ecx, byte [r15 + 0x14]
xor sil, byte [rdx + r12]
mov edx, r11d
xor rdx, rcx
movzx edi, sil
movzx ecx, byte [r15 + 0x15]
xor al, byte [rdx + r12]
movzx edx, al
xor rdx, rcx
movzx ecx, byte [r15 + 0x16]
xor r8b, byte [rdx + r12]
mov edx, ebx
xor rdx, rcx
movzx r8d, r8b
movzx ecx, byte [r15 + 0x17]
xor r9b, byte [rdx + r12]
mov edx, r13d
xor rdx, rcx
movzx r9d, r9b
movzx ecx, byte [r15 + 0x18]
xor r10b, byte [rdx + r12]
mov edx, edi
xor rdx, rcx
movzx esi, r10b
movzx ecx, byte [r15 + 0x19]
lea r10, [0x164ca4460]
xor rcx, r8
xor r11b, byte [rdx + r12]
mov edx, r9d
xor rdx, r8
movzx ebp, r11b
xor bl, byte [rcx + r12]
movzx ecx, byte [r15 + 0x1a]
mov r12, qword [rsp]
xor r13b, byte [rdx + r10]
movzx r12d, bl
mov rbx, qword [rsp + 8]
mov edx, esi
xor rdx, rcx
mov qword [rsp], r12
movzx ecx, byte [r15 + 0x1b]
xor dil, byte [rdx + r10]
mov edx, ebp
xor rdx, rcx
movzx ebx, dil
mov qword [rsp + 8], rbx
xor al, byte [rdx + r10]
sub qword [rsp + 0x10], 1
lea r15, [r15 + 0x1c]
jne 0x164c6e760
mov r12, qword [rsp + 0x60]
mov rdx, qword [rsp]
movzx ecx, al
mov byte [r12], al
movzx eax, byte [r15]
xor rcx, rax
mov byte [r12 + 3], bl
movzx eax, byte [r15 + 1]
mov byte [r12 + 1], dl
mov byte [r12 + 2], r13b
xor r8b, byte [rcx + r10]
movzx ecx, dl
xor rcx, rax
mov byte [r12 + 4], r8b
movzx eax, byte [r15 + 2]
xor r9b, byte [rcx + r10]
movzx ecx, r13b
xor rcx, rax
mov byte [r12 + 5], r9b
movzx eax, byte [r15 + 3]
xor sil, byte [rcx + r10]
movzx ecx, bl
mov rbx, qword [rsp + 0x70]
xor rcx, rax
mov byte [r12 + 6], sil
xor bpl, byte [rcx + r10]
mov byte [r12 + 7], bpl
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret