Function at 0x14008c2e3
Capabilities:
Encode data using xor

Disassembly:
xchg r15, rbx
mov qword [rsp + 0x18], r15
xchg rbx, r15
xchg r14, rsi
mov qword [rsp + 0x20], r14
xchg rsi, r14
push rdi
movzx eax, byte [rdx + 1]
mov dword [rsp - 0x38], 0x13436d4
xchg rdi, r11
mov r11, r8
xchg rdi, r11
movzx ebx, byte [rdx]
xchg r13, rcx
mov r8, r13
xchg rcx, r13
movzx ecx, byte [rdx + 5]
shl ebx, 1
shl ebx, 4
shl ebx, 3
or ebx, eax
movzx eax, byte [rdx + 2]
mov rdx, rdx
shl ebx, 7
shl ebx, 1
or ebx, eax
mov dword [rsp - 0x34], 0x3abde44e
movzx eax, byte [rdx + 3]
shl ebx, 6
shl ebx, 1
shl ebx, 1
or ebx, eax
xchg rbx, rbx
movzx eax, byte [rdx + 4]
shl eax, 2
shl eax, 4
shl eax, 1
shl eax, 1
or eax, ecx
mov dword [rsp - 0x34], 0x64ca7058
movzx ecx, byte [rdx + 6]
shl eax, 2
shl eax, 5
shl eax, 1
or eax, ecx
movzx ecx, byte [rdx + 7]
mov dword [rsp - 0x2c], 0xfae6afb
shl eax, 3
shl eax, 2
shl eax, 1
shl eax, 1
shl eax, 1
or eax, ecx
mov ecx, dword [r8 + 4]
mov dword [rsp - 0x3c], 0x53a6136a
dec ecx
movsxd rsi, ecx
test ecx, ecx
jle 0x14008c5d2
mov dword [rsp - 0x30], ebp
mov rdx, qword [r8 + 8]
xchg r11, rbp
mov qword [rsp + 0x10], r11
xchg r11, rbp
lea rbp, [rsi - 1]
lea rbp, [rsi + rbp*2]
mov r14, r14
mov qword [rsp + 0x18], r14
dec rsi
lea r14, [0x1404a95b0]
mov rsi, rsi
shr rsi, 1
lea rbp, [rdx + rbp*4]
inc rsi
nop dword [rax]
mov dword [rsp - 0x20], edi
mov r10d, dword [rbp + 0xc]
mov edx, eax
mov r11d, dword [rbp - 4]
mov rcx, rcx
and edx, 0x3ff00
shl edx, 1
shl edx, 1
mov r9d, eax
xchg rdi, rdi
ror r9d, 2
ror r9d, 3
ror r9d, 3
ror r9d, 1
ror r9d, 4
ror r9d, 1
mov ecx, eax
mov dword [rsp - 0x3c], ecx
shr ecx, 5
shr ecx, 7
shr ecx, 2
shr ecx, 1
shr ecx, 1
and r9d, 0xffc00
mov dword [rsp - 0x40], 0x6b38dee2
and ecx, 0x3ff
or r9d, ecx
mov ecx, eax
xchg rbp, rbp
and ecx, 0x3ff
or edx, ecx
mov r8d, edx
mov r15, r15
xor edx, r9d
and edx, dword [rbp + 0x10]
xor r10, rdx
xor r10, r8
mov rbp, rbp
mov r8d, dword [rbp + 8]
xor r8, rdx
xor r8, r9
xchg rsp, rsp
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
and r8d, 0x3ff
shr rcx, 5
shr rcx, 1
shr rcx, 2
shr rcx, 1
shr rcx, 1
mov edx, dword [r14 + rcx*4]
xchg r10, rcx
mov r10, rcx
xchg rcx, r10
shr rcx, 8
shr rcx, 1
shr rcx, 1
xor edx, 0x51d063b5
and r10d, 0x3ff
mov dword [rsp - 0x14], 0x4d3355ec
mov ecx, dword [r14 + rcx*4 + 0x2000]
xor ecx, 0x51d063b5
or edx, ecx
mov ecx, dword [r14 + r8*4 + 0x1000]
mov dword [rsp - 0x44], edi
xor ecx, 0x51d063b5
or edx, ecx
mov ecx, dword [r14 + r10*4 + 0x3000]
mov dword [rsp - 0xc], esi
xor ecx, 0x51d063b5
or edx, ecx
xor ebx, edx
xchg rbx, rbx
mov r9d, ebx
mov ecx, ebx
shr ecx, 9
shr ecx, 2
shr ecx, 3
shr ecx, 1
shr ecx, 1
mov edx, ebx
mov dword [rsp - 0xc], esi
and ecx, 0x3ff
ror r9d, 0xa
ror r9d, 2
ror r9d, 2
and edx, 0x3ff00
mov dword [rsp - 0x38], edi
and r9d, 0xffc00
or r9d, ecx
shl edx, 2
mov dword [rsp - 0x18], edx
mov ecx, ebx
and ecx, 0x3ff
or edx, ecx
xchg rdx, rdx
mov ecx, edx
mov r8d, edx
xor ecx, r9d
and ecx, dword [rbp + 4]
mov dword [rsp - 0x1c], 0x2aaf42e3
mov edx, ecx
mov r10d, ecx
xor r11, rdx
mov dword [rsp - 0x10], 0x5533cf34
mov ecx, dword [rbp]
xor r11, r9
xor r10, rcx
xor r10, r8
mov dword [rsp - 0xc], 0x1135fb83
xchg rcx, r10
mov r10, rcx
xchg rcx, r10
and r10d, 0x3ff
shr rcx, 0xa
mov r8d, dword [r14 + rcx*4 + 0x2000]
mov dword [rsp - 0x38], 0x9400b64
xchg r13, r11
mov rcx, r13
xchg r13, r11
shr rcx, 4
shr rcx, 4
shr rcx, 1
shr rcx, 1
xor r8d, 0x51d063b5
xchg rdx, rdx
and r11d, 0x3ff
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r10*4 + 0x3000]
mov dword [rsp - 0x24], 0x3cf0330f
xor edx, 0x51d063b5
xor ecx, 0x51d063b5
or r8d, edx
or r8d, ecx
xchg rsp, rsp
mov ecx, dword [r14 + r11*4 + 0x1000]
xor ecx, 0x51d063b5
or r8d, ecx
lea rbp, [rbp - 0x18]
xchg r8, r8
xor eax, r8d
sub rsi, 1
jne 0x14008c38a
mov dword [rsp - 0x2c], esp
mov r14, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x28]
mov dword [rsp - 0x30], 0x49ddf3d0
mov byte [rdi + 3], al
mov byte [rdi + 7], bl
shr eax, 4
shr eax, 1
shr eax, 2
shr eax, 1
mov byte [rdi + 2], al
mov r10, r10
shr ebx, 3
shr ebx, 5
mov byte [rdi + 6], bl
mov dword [rsp - 0x28], ebp
shr eax, 1
shr eax, 7
mov byte [rdi + 1], al
xchg r11, r11
shr ebx, 3
shr ebx, 3
shr ebx, 1
shr ebx, 1
mov byte [rdi + 5], bl
shr eax, 4
shr eax, 3
shr eax, 1
shr ebx, 6
shr ebx, 2
mov byte [rdi], al
mov dword [rsp - 0x14], edx
mov byte [rdi + 4], bl
xchg r13, rbx
mov r13, qword [rsp + 0x20]
xchg rbx, r13
pop rdi
mov r13, r13
ret