Function at 0x1400aedb0
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, r12
mov qword [rsp + 0x18], r12
xchg rbx, r12
mov qword [rsp + 0x20], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
movzx eax, byte [rdx + 1]
xchg r9, r8
mov rdi, r9
xchg r9, r8
movzx ebx, byte [rdx]
mov dword [rsp - 0x44], edx
mov r8, rcx
movzx ecx, byte [rdx + 5]
shl ebx, 7
shl ebx, 1
or ebx, eax
movzx eax, byte [rdx + 2]
shl ebx, 3
shl ebx, 3
shl ebx, 1
shl ebx, 1
or ebx, eax
movzx eax, byte [rdx + 3]
xchg r8, r8
shl ebx, 3
shl ebx, 1
shl ebx, 2
shl ebx, 1
shl ebx, 1
or ebx, eax
mov dword [rsp - 0x18], 0xf6b5a8a
movzx eax, byte [rdx + 4]
shl eax, 5
shl eax, 2
shl eax, 1
or eax, ecx
movzx ecx, byte [rdx + 6]
mov dword [rsp - 0xc], 0x71f61447
shl eax, 4
shl eax, 2
shl eax, 1
shl eax, 1
or eax, ecx
mov dword [rsp - 0x28], 0x14201676
movzx ecx, byte [rdx + 7]
shl eax, 3
shl eax, 1
shl eax, 1
shl eax, 3
or eax, ecx
mov ecx, dword [r8 + 4]
mov dword [rsp - 0x18], ebx
dec ecx
movsxd rsi, ecx
test ecx, ecx
jle 0x1400aeef2
xchg rsi, rsi
mov rdx, qword [r8 + 8]
xchg rbp, r8
mov qword [rsp + 0x10], r8
xchg rbp, r8
lea rbp, [rsi - 1]
lea rbp, [rsi + rbp*2]
xchg r9, r14
mov qword [rsp + 0x18], r9
xchg r14, r9
dec rsi
mov dword [rsp - 0x1c], 0x7ea5de11
lea r14, [0x1404e1550]
shr rsi, 1
lea rbp, [rdx + rbp*4]
xchg rbp, rbp
inc rsi
nop dword [rax]
mov r10d, dword [rbp + 0xc]
mov edx, eax
mov dword [rsp - 0x34], ebx
mov r11d, dword [rbp + 8]
lea rbp, [rbp - 0x18]
and edx, 0x3ff00
mov r10, r10
mov r9d, eax
shl edx, 1
shl edx, 1
mov ecx, eax
shr ecx, 2
shr ecx, 7
shr ecx, 1
shr ecx, 2
shr ecx, 1
shr ecx, 2
shr ecx, 1
and ecx, 0x3ff
ror r9d, 5
ror r9d, 6
ror r9d, 2
ror r9d, 1
and r9d, 0xffc00
mov r11, r11
or r9d, ecx
mov ecx, eax
and ecx, 0x3ff
xor r11, r9
mov dword [rsp - 0x38], ecx
or edx, ecx
mov r8d, edx
xor edx, r9d
mov dword [rsp - 0x44], edi
and edx, dword [rbp + 0x28]
xor r10, r8
xor r10, rdx
xor r11, rdx
mov dword [rsp - 0x38], 0x48b440fd
xchg rcx, rdi
mov rdi, r10
xchg rdi, rcx
and r10d, 0x3ff
mov dword [rsp - 0x1c], 0xf0d7f00
shr rcx, 0xa
mov r8d, dword [r14 + rcx*4 + 0x2000]
xchg rcx, r11
mov r11, rcx
xchg r11, rcx
shr rcx, 5
shr rcx, 3
shr rcx, 2
xor r8d, 0x12bb4c23
mov dword [rsp - 0x24], 0x4d4bc97f
and r11d, 0x3ff
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r10*4 + 0x3000]
mov dword [rsp - 0x24], 0x6dc610f7
xor edx, 0x12bb4c23
xor ecx, 0x12bb4c23
or r8d, edx
or r8d, ecx
mov dword [rsp - 0x14], 0x5e94818a
mov ecx, dword [r14 + r11*4 + 0x1000]
xor ecx, 0x12bb4c23
or r8d, ecx
mov dword [rsp - 0x30], edi
xor ebx, r8d
mov r8d, dword [rbp + 0x14]
mov edx, ebx
mov dword [rsp - 0x40], esp
mov r9d, ebx
ror r9d, 0xc
ror r9d, 1
ror r9d, 1
and edx, 0x3ff00
and r9d, 0xffc00
xchg rbx, rbx
shl edx, 1
shl edx, 1
mov ecx, ebx
shr ecx, 0xb
shr ecx, 1
shr ecx, 1
shr ecx, 1
shr ecx, 1
shr ecx, 1
and ecx, 0x3ff
or r9d, ecx
xchg rbp, rbp
mov ecx, ebx
and ecx, 0x3ff
xor r8, r9
mov dword [rsp - 0x18], ecx
or edx, ecx
mov ecx, dword [rbp + 0x18]
mov r10d, edx
mov dword [rsp - 0x14], 0x2c759dc8
xor edx, r9d
and edx, dword [rbp + 0x1c]
xor r10, rcx
xor r10, rdx
xchg r14, r14
xor r8, rdx
mov rcx, r10
and r10d, 0x3ff
mov rbx, rbx
shr rcx, 6
shr rcx, 3
shr rcx, 1
mov r9d, dword [r14 + rcx*4 + 0x2000]
mov rcx, r8
shr rcx, 6
shr rcx, 3
shr rcx, 1
xor r9d, 0x12bb4c23
mov dword [rsp - 0x38], esp
and r8d, 0x3ff
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r8*4 + 0x1000]
mov dword [rsp - 0x30], esp
xor edx, 0x12bb4c23
xor ecx, 0x12bb4c23
or r9d, edx
mov dword [rsp - 0x2c], edx
or r9d, ecx
mov ecx, dword [r14 + r10*4 + 0x3000]
xor ecx, 0x12bb4c23
mov r13, r13
or r9d, ecx
xor eax, r9d
sub rsi, 1
mov dword [rsp - 0x3c], 0x3aabd78c
jne 0x1400aecb7
xchg rbx, r14
mov rbx, qword [rsp + 0x18]
xchg r14, rbx
xchg rbp, rcx
mov rcx, qword [rsp + 0x10]
xchg rbp, rcx
nop dword [rax]
xchg rsi, r11
mov r11, qword [rsp + 0x28]
xchg r11, rsi
mov byte [rdi + 3], al
xchg rcx, rcx
mov byte [rdi + 7], bl
shr eax, 5
shr eax, 1
shr eax, 1
shr eax, 1
mov byte [rdi + 2], al
mov dword [rsp - 0x34], 0x7eac216e
shr ebx, 2
shr ebx, 1
shr ebx, 1
shr ebx, 1
shr ebx, 1
shr ebx, 1
shr ebx, 1
mov byte [rdi + 6], bl
shr eax, 8
mov byte [rdi + 1], al
xchg rdi, rdi
shr ebx, 3
shr ebx, 3
shr ebx, 1
shr ebx, 1
mov byte [rdi + 5], bl
mov dword [rsp - 0x40], ebp
shr eax, 6
shr eax, 1
shr eax, 1
shr ebx, 6
shr ebx, 1
shr ebx, 1
mov byte [rdi], al
mov dword [rsp - 0x3c], ebp
mov byte [rdi + 4], bl
xchg rbx, rbp
mov rbp, qword [rsp + 0x20]
xchg rbx, rbp
nop
mov rdi, qword [rsp]
add rsp, 8
ret