Function at 0x1400b4950
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov qword [rsp + 0x40], r8
mov r11, rdx
mov qword [rsp + 0x70], rcx
movabs r8, 0xff00ff00ff00ff
movabs rdx, 0xaa00aa00aa00aa
movabs r9, 0xcccc0000cccc
mov eax, dword [r11]
mov ebp, dword [r11 + 8]
movzx ecx, byte [r11 + 4]
shl rcx, 0x20
or rcx, rax
movzx eax, byte [r11 + 5]
shl rax, 0x28
or rax, rcx
movzx ecx, byte [r11 + 6]
shl rcx, 0x30
or rcx, rax
movzx edi, byte [r11 + 7]
shl rdi, 0x38
or rdi, rcx
movzx ebx, byte [r11 + 0xc]
shl rbx, 0x20
or rbx, rbp
movzx ebp, byte [r11 + 0xd]
shl rbp, 0x28
or rbp, rbx
movzx ebx, byte [r11 + 0xe]
shl rbx, 0x30
or rbx, rbp
movzx ebp, byte [r11 + 0xf]
shl rbp, 0x38
or rbp, rbx
mov rax, rdi
shr rax, 7
xor rax, rcx
and rax, rdx
mov rsi, rax
shl rsi, 7
or rsi, rax
xor rsi, rdi
mov rax, rbp
shr rax, 7
xor rax, rbx
and rax, rdx
mov rdi, rax
shl rdi, 7
or rdi, rax
xor rdi, rbp
mov rax, rsi
shr rax, 0xe
xor rax, rsi
and rax, r9
mov rbp, rax
shl rbp, 0xe
or rbp, rax
xor rbp, rsi
mov rbx, rdi
shr rbx, 0xe
xor rbx, rdi
and rbx, r9
mov rax, rbx
shl rax, 0xe
or rax, rbx
xor rax, rdi
mov rcx, rbp
shr rcx, 0x1c
xor ecx, ebp
and ecx, 0xf0f0f0f0
mov rbx, rcx
shl rbx, 0x1c
or rbx, rcx
xor rbx, rbp
mov rcx, rax
shr rcx, 0x1c
xor ecx, eax
and ecx, 0xf0f0f0f0
mov rbp, rcx
shl rbp, 0x1c
or rbp, rcx
xor rbp, rax
mov r9, rbx
shr r9, 8
xor r9, rbp
and r9, r8
mov rdx, r9
shl rdx, 8
xor rdx, rbx
xor r9, rbp
movzx r13d, dx
mov eax, edx
shr eax, 0x10
mov r14, rax
mov rax, rdx
shr rax, 0x20
movzx r12d, ax
shr rdx, 0x30
movzx r8d, r9w
mov r15d, r9d
shr r15d, 0x10
mov rax, r9
shr rax, 0x20
movzx r10d, ax
shr r9, 0x30
xor ecx, ecx
nop word cs:[rax + rax]
mov qword [rsp], r14
mov eax, dword [r11 + rcx + 0x10]
mov ebx, dword [r11 + rcx + 0x18]
movzx ebp, byte [r11 + rcx + 0x14]
shl rbp, 0x20
or rbp, rax
movzx eax, byte [r11 + rcx + 0x15]
shl rax, 0x28
or rax, rbp
movzx esi, byte [r11 + rcx + 0x16]
shl rsi, 0x30
or rsi, rax
mov r14, rdx
mov rdx, r8
movzx r8d, byte [r11 + rcx + 0x17]
shl r8, 0x38
or r8, rsi
movzx edi, byte [r11 + rcx + 0x1c]
shl rdi, 0x20
or rdi, rbx
movzx ebx, byte [r11 + rcx + 0x1d]
shl rbx, 0x28
or rbx, rdi
movzx edi, byte [r11 + rcx + 0x1e]
shl rdi, 0x30
or rdi, rbx
movzx ebp, byte [r11 + rcx + 0x1f]
shl rbp, 0x38
or rbp, rdi
mov rax, r8
shr rax, 7
xor rax, rsi
movabs rbx, 0xaa00aa00aa00aa
and rax, rbx
mov rsi, rax
shl rsi, 7
add rsi, rax
xor rsi, r8
mov rax, rbp
shr rax, 7
xor rax, rdi
and rax, rbx
mov rbx, rax
shl rbx, 7
add rbx, rax
xor rbx, rbp
mov rax, rsi
shr rax, 0xe
xor rax, rsi
movabs rbp, 0xcccc0000cccc
and rax, rbp
mov r8, rax
shl r8, 0xe
add r8, rax
xor r8, rsi
mov rdi, rbx
shr rdi, 0xe
xor rdi, rbx
and rdi, rbp
mov rsi, rdi
shl rsi, 0xe
add rsi, rdi
xor rsi, rbx
mov rbp, r8
shr rbp, 0x1c
xor ebp, r8d
and ebp, 0xf0f0f0f0
mov rdi, rbp
shl rdi, 0x1c
or rdi, rbp
xor rdi, r8
mov rax, rsi
shr rax, 0x1c
xor eax, esi
and eax, 0xf0f0f0f0
mov r8, rax
shl r8, 0x1c
or r8, rax
xor r8, rsi
mov rbx, rdi
shr rbx, 8
xor rbx, r8
movabs rax, 0xff00ff00ff00ff
and rbx, rax
mov rbp, rbx
shl rbp, 8
xor rbp, rdi
movzx esi, bp
add rcx, 0x10
shl rsi, cl
mov eax, ebp
shr eax, 0x10
shl rax, cl
xor rbx, r8
mov r8, rdx
mov rdx, r14
or r13, rsi
mov r14, qword [rsp]
or r14, rax
mov rax, rbp
shr rax, 0x20
movzx eax, ax
shl rax, cl
shr rbp, 0x30
shl rbp, cl
movzx edi, bx
shl rdi, cl
or r12, rax
or rdx, rbp
or r8, rdi
mov eax, ebx
shr eax, 0x10
shl rax, cl
mov rdi, rbx
shr rdi, 0x20
movzx ebp, di
shl rbp, cl
shr rbx, 0x30
shl rbx, cl
or r15, rax
or r10, rbp
or r9, rbx
cmp rcx, 0x30
jne 0x1400b4af0
mov rax, qword [rsp + 0x40]
xor r13, qword [rax]
xor r8, qword [rax + 8]
xor r14, qword [rax + 0x10]
xor r15, qword [rax + 0x18]
xor r12, qword [rax + 0x20]
xor r10, qword [rax + 0x28]
xor rdx, qword [rax + 0x30]
xor r9, qword [rax + 0x38]
mov edi, dword [rax + 0x4b0]
nop word cs:[rax + rax]
nop dword [rax]
add rax, 0x40
add edi, 0xffffffff
je 0x1400b54af
mov dword [rsp + 0x68], edi
mov qword [rsp + 0x40], rax
mov rax, r14
xor rax, r12
mov rcx, rax
mov rdi, r8
xor rdi, r9
mov qword [rsp + 0x30], rdi
mov rax, r14
xor rax, r9
mov qword [rsp + 0x28], r9
mov r11, rax
xor r10, rdx
mov qword [rsp + 0x10], r13
xor r13, r10
mov qword [rsp + 8], r10
mov rbp, r13
xor rbp, r12
mov qword [rsp + 0x18], rbp
xor r12, r9
xor rdi, rcx
mov rbp, rcx
mov qword [rsp + 0x58], rcx
xor r15, rdi
mov qword [rsp + 0x80], rdi
xor r14, r15
xor r15, rdx
mov rax, r14
xor rax, r10
mov r9, r15
xor r9, r12
mov rdx, rax
mov rsi, rax
mov qword [rsp + 0x60], rax
xor rdx, r9
mov rbx, rdx
mov qword [rsp + 0x50], rdx
mov rax, r9
and rax, r12
and rbx, rcx
xor rbx, rax
mov rbp, rsi
mov rdx, r11
mov qword [rsp + 0x48], r11
and rbp, r11
xor rbp, rax
mov r10, r13
xor r8, r13
mov qword [rsp + 0x38], r8
mov r11, r8
xor r11, rdx
mov qword [rsp + 0x88], r11
mov r13, r14
mov rcx, qword [rsp + 0x10]
xor r13, rcx
mov qword [rsp + 0x20], r13
mov rax, r14
and rax, rdi
and r13, r11
xor r15, rax
xor r15, r13
mov r13, qword [rsp + 0x18]
and r13, rcx
mov r11, rcx
xor r13, rdx
xor r13, rsi
xor r13, rax
mov rdx, qword [rsp + 8]
xor rdx, r9
mov rdi, r8
and rdi, r10
mov rax, rdx
mov r8, rdx
mov qword [rsp + 8], rdx
mov rsi, qword [rsp + 0x30]
or rax, rsi
xor rax, rdi
xor r15, rbx
xor rax, rbx
mov rcx, r10
mov rdx, r10
mov rdi, qword [rsp + 0x28]
xor rcx, rdi
mov qword [rsp + 0x78], rcx
mov rbx, rsi
not rbx
and rbx, r8
xor rbx, rdi
mov r10, r11
mov r8, r9
xor r8, r11
mov rdi, r8
and rdi, rcx
xor r13, rbp
xor rbp, rdi
xor rbp, rbx
mov rcx, r15
xor rcx, r13
and r15, rax
mov r11, r14
mov rsi, r15
xor rsi, rbp
mov rbx, rsi
and rbx, rcx
xor rbx, r13
mov rdi, rbp
xor rdi, rax
xor r13, r15
and r13, rdi
mov rdi, r13
xor r13, r15
xor rdi, rbp
and r13, rbp
xor rax, r13
xor r13, rsi
and r13, rbx
xor r13, rcx
and r11, rax
mov qword [rsp], r11
mov rsi, rax
and rax, qword [rsp + 0x80]
mov rbp, rdi
xor rsi, rdi
mov r14, r13
xor r14, rsi
and qword [rsp + 0x20], rsi
and rsi, qword [rsp + 0x88]
mov rdi, rbx
xor rdi, rbp
and r10, rbp
and rbp, qword [rsp + 0x18]
mov r11, rbp
mov rbp, r13
xor rbp, rbx
mov rcx, qword [rsp + 8]
and rcx, rbp
and rbp, qword [rsp + 0x30]
and rdx, r13
mov qword [rsp + 0x10], rdx
and r13, qword [rsp + 0x38]
and r8, rbx
and rbx, qword [rsp + 0x78]
mov rdx, r14
xor rdx, rdi
and r9, rdi
and rdi, r12
mov r12, qword [rsp + 0x50]
and r12, rdx
and rdx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
and r15, r14
and r14, qword [rsp + 0x48]
xor r11, rsi
mov qword [rsp + 8], r11
xor rsi, rax
xor r13, r8
mov r11, rbp
xor r11, r10
xor r8, r10
mov rax, qword [rsp]
xor rax, rcx
xor r9, rcx
xor rbp, r13
xor r11, rax
mov rcx, rax
xor rbx, r11
xor r11, r13
xor rdi, rdx
mov rax, r12
xor r15, r12
xor r11, rdi
mov r10, qword [rsp + 0x10]
xor rdi, r10
xor r9, r12
xor r15, rdi
xor rdi, rsi
xor r10, r9
xor rbx, r15
mov rax, qword [rsp + 0x20]
xor rax, rdi
xor rdi, r9
mov qword [rsp + 0x48], rdi
xor r15, rbp
xor rcx, rax
xor rax, r8
mov rsi, rax
mov rdi, qword [rsp + 8]
xor rdi, rbx
mov r12, rcx
mov r13, rcx
xor r12, r10
xor r14, rdx
xor r14, r10
xor r14, rbx
mov r9, r14
mov rcx, r11
shr rcx, 8
xor rcx, r11
movabs r14, 0xcc00cc00cc00cc
and rcx, r14
mov rax, rcx
shl rax, 8
add rax, rcx
xor rax, r11
mov rbp, rax
shr rbp, 4
movabs r10, 0xaaa0aaa0aaa0aaa
and rbp, r10
mov rcx, rax
shl rcx, 0xc
movabs rbx, 0xa000a000a000a000
and rcx, rbx
movabs rdx, 0x5555555555555555
and rax, rdx
or rax, rcx
or rax, rbp
mov qword [rsp + 0x28], rax
mov rcx, r15
shr rcx, 8
xor rcx, r15
and rcx, r14
mov rax, rcx
shl rax, 8
add rax, rcx
xor rax, r15
mov rbp, rax
shr rbp, 4
and rbp, r10
mov rcx, rax
shl rcx, 0xc
and rcx, rbx
and rax, rdx
or rax, rcx
or rax, rbp
mov qword [rsp + 0x58], rax
mov rcx, rdi
mov qword [rsp + 8], rdi
mov rax, rdi
shr rax, 8
xor rax, rdi
and rax, r14
mov rdi, rax
shl rdi, 8
add rdi, rax
xor rdi, rcx
mov rax, rdi
shr rax, 4
and rax, r10
mov rcx, rdi
shl rcx, 0xc
and rcx, rbx
and rdi, rdx
or rdi, rcx
or rdi, rax
mov rax, rsi
shr rax, 8
xor rax, rsi
mov qword [rsp + 0x20], rsi
and rax, r14
mov rbp, rax
shl rbp, 8
add rbp, rax
xor rbp, rsi
mov rax, rbp
shr rax, 4
and rax, r10
mov rcx, rbp
shl rcx, 0xc
and rcx, rbx
and rbp, rdx
or rbp, rcx
or rbp, rax
mov rcx, r13
mov qword [rsp], r13
mov rax, r13
shr rax, 8
xor rax, r13
and rax, r14
mov rsi, rax
shl rsi, 8
add rsi, rax
xor rsi, r13
mov rax, rsi
shr rax, 4
and rax, r10
mov rcx, rsi
shl rcx, 0xc
and rcx, rbx
and rsi, rdx
or rsi, rcx
or rsi, rax
mov r13, rsi
mov rax, r9
shr rax, 8
xor rax, r9
and rax, r14
mov rcx, rax
shl rcx, 8
add rcx, rax
xor rcx, r9
mov rsi, rcx
shl rsi, 0xc
and rsi, rbx
mov rax, rcx
and rcx, rdx
or rcx, rsi
shr rax, 4
and rax, r10
or rcx, rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x50], r12
mov rax, r12
shr rax, 8
xor rax, r12
and rax, r14
mov rsi, rax
shl rsi, 8
add rsi, rax
xor rsi, r12
mov rax, rsi
shl rax, 0xc
and rax, rbx
mov rcx, rsi
and rsi, rdx
or rsi, rax
shr rcx, 4
and rcx, r10
or rsi, rcx
mov r12, rsi
mov rcx, qword [rsp + 0x48]
mov rax, rcx
shr rax, 8
xor rax, rcx
and rax, r14
mov r8, rax
shl r8, 8
add r8, rax
xor r8, rcx
mov r14, rcx
mov rax, r8
shl rax, 0xc
and rax, rbx
mov rcx, r8
and r8, rdx
or r8, rax
shr rcx, 4
and rcx, r10
or r8, rcx
shl r11, 3
movabs r10, 0x8888888888888888
and r11, r10
mov rax, qword [rsp + 0x28]
shr rax, 1
movabs rcx, 0x7777777777777777
and rax, rcx
or rax, r11
mov qword [rsp + 0x10], rax
shl r15, 3
and r15, r10
mov rax, qword [rsp + 0x58]
mov rdx, rax
shr rdx, 1
and rdx, rcx
or rdx, r15
mov qword [rsp + 0x38], rdx
mov rbx, qword [rsp + 8]
shl rbx, 3
and rbx, r10
mov rdx, rdi
shr rdx, 1
and rdx, rcx
or rdx, rbx
mov qword [rsp + 0x18], rdx
mov rbx, qword [rsp + 0x20]
shl rbx, 3
and rbx, r10
mov r15, rbp
shr r15, 1
and r15, rcx
or r15, rbx
mov rbx, qword [rsp]
shl rbx, 3
and rbx, r10
mov rdx, r13
shr rdx, 1
and rdx, rcx
or rdx, rbx
mov qword [rsp + 0x20], rdx
shl r9, 3
and r9, r10
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
shr rdx, 1
and rdx, rcx
or rdx, r9
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0x50]
shl rbx, 3
and rbx, r10
mov rdx, r12
shr rdx, 1
and rdx, rcx
or rdx, rbx
mov qword [rsp], rdx
mov rbx, r14
shl rbx, 3
and rbx, r10
mov r14, r8
shr r14, 1
and r14, rcx
or r14, rbx
mov rcx, qword [rsp + 0x28]
xor rcx, qword [rsp + 0x10]
mov r9, qword [rsp + 0x38]
xor rax, r9
mov rdx, rax
lea rbx, [rcx*4]
movabs rax, 0xcccccccccccccccc
and rbx, rax
xor r9, rcx
shr rcx, 2
movabs rax, 0x3333333333333333
and rcx, rax
mov r11, rax
or rcx, rbx
mov r10, qword [rsp + 0x18]
xor rdi, r10
mov rbx, rdx
lea rax, [rdx*4]
movabs rdx, 0xcccccccccccccccc
and rax, rdx
xor r10, rbx
mov qword [rsp + 0x18], r10
mov r10, qword [rsp + 8]
shr rbx, 2
and rbx, r11
or rbx, rax
xor rbp, r15
xor r8, r14
lea rax, [rdi*4]
and rax, rdx
xor r15, r8
xor r15, rdi
shr rdi, 2
and rdi, r11
or rdi, rax
mov rdx, qword [rsp + 0x20]
xor r13, rdx
mov qword [rsp + 0x28], r13
xor qword [rsp + 0x10], r8
xor r9, r8
mov qword [rsp + 0x38], r9
mov r9, r14
lea r11, [r8*4]
mov r14, r8
xor r8, rdx
lea rdx, [rbp*4]
movabs rax, 0xcccccccccccccccc
and rdx, rax
xor r8, rbp
shr rbp, 2
movabs r13, 0x3333333333333333
and rbp, r13
or rbp, rdx
xor rsi, r10
mov qword [rsp + 0x30], rsi
mov r13, qword [rsp + 0x28]
lea rdx, [r13*4]
and rdx, rax
xor r10, r13
shr r13, 2
movabs rax, 0x3333333333333333
and r13, rax
or r13, rdx
mov rax, qword [rsp]
xor r12, rax
lea rdx, [rsi*4]
movabs rsi, 0xcccccccccccccccc
and rdx, rsi
mov rsi, qword [rsp + 0x30]
xor rax, rsi
mov qword [rsp], rax
shr rsi, 2
movabs rax, 0x3333333333333333
and rsi, rax
or rsi, rdx
lea rdx, [r12*4]
mov rax, r12
mov r12, r8
movabs r8, 0xcccccccccccccccc
and rdx, r8
xor r9, rax
mov r8, rax
shr r8, 2
movabs rax, 0x3333333333333333
and r8, rax
or r8, rdx
movabs rdx, 0xcccccccccccccccc
and r11, rdx
shr r14, 2
and r14, rax
or r14, r11
mov rdx, qword [rsp + 0x10]
xor rdx, rcx
mov rcx, qword [rsp + 0x18]
xor rcx, rdi
mov edi, dword [rsp + 0x68]
xor r15, rbp
xor r10, rsi
mov rbp, qword [rsp]
xor rbp, r8
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
xor r9, r14
xor r8, rbx
xor r12, r13
xor rdx, qword [rax]
mov r13, rdx
mov rdx, rbp
xor r8, qword [rax + 8]
mov r14, rcx
xor r14, qword [rax + 0x10]
xor r15, qword [rax + 0x18]
xor r12, qword [rax + 0x20]
xor r10, qword [rax + 0x28]
xor rdx, qword [rax + 0x30]
xor r9, qword [rax + 0x38]
jmp 0x1400b4cf0
mov qword [rsp + 0x40], rax
mov rax, r14
xor rax, r12
mov rcx, r8
xor rcx, r9
mov qword [rsp + 0x18], rcx
xor r10, rdx
xor rcx, rax
mov qword [rsp + 0x38], rcx
mov rdi, rax
mov qword [rsp + 0x30], rax
xor r15, rcx
mov rsi, r14
xor r14, r15
mov qword [rsp], r14
xor r15, rdx
mov qword [rsp + 0x28], r9
xor rsi, r9
mov rax, r13
xor rax, r10
mov rcx, rax
mov r11, rax
mov qword [rsp + 0x10], rax
xor rcx, r12
mov qword [rsp + 0x20], rcx
xor r12, r9
mov r9, r14
xor r9, r10
mov rbp, r15
xor rbp, r12
mov rcx, r9
mov qword [rsp + 0x50], r9
xor rcx, rbp
mov rbx, rcx
mov qword [rsp + 0x68], rcx
mov rax, rbp
and rax, r12
and rbx, rdi
xor rbx, rax
mov rdi, r9
and rdi, rsi
xor rdi, rax
xor r8, r11
mov rdx, r8
xor rdx, rsi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x58], rsi
mov rax, r14
xor rax, r13
mov qword [rsp + 8], rax
mov rcx, r14
and rcx, qword [rsp + 0x38]
and rax, rdx
xor r15, rcx
xor r15, rax
mov rax, qword [rsp + 0x20]
and rax, r13
xor rax, rsi
xor rcx, r9
xor rcx, rax
xor r10, rbp
mov rsi, r8
and rsi, r11
mov rax, r10
mov rdx, qword [rsp + 0x18]
or rax, rdx
xor rax, rsi
xor r15, rbx
xor rax, rbx
mov rsi, qword [rsp + 0x28]
xor r11, rsi
mov qword [rsp + 0x60], r11
mov rbx, rdx
not rbx
and rbx, r10
xor rbx, rsi
mov r14, rbp
xor r14, r13
mov rsi, r14
and rsi, r11
xor rcx, rdi
xor rdi, rsi
xor rdi, rbx
mov rdx, r13
mov r9, r8
mov r8, r15
xor r8, rcx
and r15, rax
mov rsi, r15
xor rsi, rdi
mov r11, rsi
and r11, r8
xor r11, rcx
mov rbx, rdi
xor rbx, rax
xor rcx, r15
and rcx, rbx
mov r13, rcx
xor rcx, r15
xor r13, rdi
and rcx, rdi
xor rax, rcx
xor rcx, rsi
and rcx, r11
xor rcx, r8
and qword [rsp], rax
mov r15, rax
and rax, qword [rsp + 0x38]
xor r15, r13
mov rbx, rcx
xor rbx, r15
and qword [rsp + 8], r15
and r15, qword [rsp + 0x48]
mov r8, r11
xor r8, r13
and rdx, r13
and r13, qword [rsp + 0x20]
mov rsi, rcx
xor rsi, r11
and r10, rsi
and rsi, qword [rsp + 0x18]
and qword [rsp + 0x10], rcx
and rcx, r9
and r14, r11
and r11, qword [rsp + 0x60]
mov r9, rbx
xor r9, r8
and rbp, r8
and r8, r12
mov r12, qword [rsp + 0x68]
and r12, r9
and r9, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
and rdi, rbx
and rbx, qword [rsp + 0x58]
xor r13, r15
xor r15, rax
xor rcx, r14
mov rax, rsi
xor rax, rdx
xor r14, rdx
mov rdx, qword [rsp]
xor rdx, r10
xor rbp, r10
xor rdi, r12
mov r10, rdi
xor rbp, r12
xor rsi, rcx
mov rdi, rdx
xor rax, rdx
xor r11, rax
xor rax, rcx
xor r8, r9
xor rax, r8
mov rcx, r8
mov rdx, qword [rsp + 0x10]
xor rcx, rdx
xor r10, rcx
xor rcx, r15
xor rdx, rbp
mov r12, qword [rsp + 8]
xor r12, rcx
xor rcx, rbp
xor r11, r10
xor r10, rsi
mov rsi, rdi
xor rsi, r12
mov qword [rsp], rsi
xor r12, r14
xor r13, r11
xor rbx, r9
xor rsi, rdx
xor rbx, rdx
xor rbx, r11
mov rdx, rax
shr rdx, 8
xor rdx, rax
movabs r9, 0xcc00cc00cc00cc
and rdx, r9
mov r11, rdx
shl r11, 8
add r11, rdx
xor r11, rax
mov rax, r11
shr rax, 4
movabs r8, 0xaaa0aaa0aaa0aaa
and rax, r8
mov rdx, r11
shl rdx, 0xc
movabs r15, 0xa000a000a000a000
and rdx, r15
movabs r14, 0x5555555555555555
and r11, r14
or r11, rdx
or r11, rax
mov rax, r10
shr rax, 8
xor rax, r10
and rax, r9
mov rdi, rax
shl rdi, 8
add rdi, rax
xor rdi, r10
mov rax, rdi
shr rax, 4
and rax, r8
mov rdx, rdi
shl rdx, 0xc
and rdx, r15
and rdi, r14
or rdi, rdx
or rdi, rax
mov rax, r13
shr rax, 8
xor rax, r13
and rax, r9
mov rbp, rax
shl rbp, 8
add rbp, rax
xor rbp, r13
mov rax, rbp
shr rax, 4
and rax, r8
mov rdx, rbp
shl rdx, 0xc
and rdx, r15
and rbp, r14
or rbp, rdx
or rbp, rax
mov rax, r12
shr rax, 8
xor rax, r12
and rax, r9
mov r10, rax
shl r10, 8
add r10, rax
xor r10, r12
mov rax, r10
shr rax, 4
and rax, r8
mov rdx, r10
shl rdx, 0xc
and rdx, r15
and r10, r14
or r10, rdx
or r10, rax
mov rdx, qword [rsp]
mov rax, rdx
shr rax, 8
xor rax, rdx
and rax, r9
mov r12, rax
shl r12, 8
add r12, rax
xor r12, rdx
mov rax, r12
shr rax, 4
and rax, r8
mov rdx, r12
shl rdx, 0xc
and rdx, r15
and r12, r14
or r12, rdx
or r12, rax
mov rax, rbx
shr rax, 8
xor rax, rbx
and rax, r9
mov r13, rax
shl r13, 8
add r13, rax
xor r13, rbx
mov rax, r13
shr rax, 4
and rax, r8
mov rdx, r13
shl rdx, 0xc
mov rbx, r15
and rdx, r15
and r13, r14
or r13, rdx
or r13, rax
mov rdx, rsi
shr rdx, 8
xor rdx, rsi
and rdx, r9
mov r15, rdx
shl r15, 8
add r15, rdx
xor r15, rsi
mov rdx, r15
mov rsi, r15
shl rsi, 0xc
and rsi, rbx
and r15, r14
or r15, rsi
shr rdx, 4
and rdx, r8
or r15, rdx
mov rdx, rcx
shr rdx, 8
xor rdx, rcx
and rdx, r9
mov r9, rdx
shl r9, 8
add r9, rdx
xor r9, rcx
mov rcx, r9
shr rcx, 4
and rcx, r8
mov rdx, r9
shl rdx, 0xc
and rdx, rbx
and r9, r14
or r9, rdx
or r9, rcx
mov rax, qword [rsp + 0x40]
xor r11, qword [rax]
mov qword [rsp], r11
xor rdi, qword [rax + 8]
mov qword [rsp + 8], rdi
xor rbp, qword [rax + 0x10]
mov qword [rsp + 0x10], rbp
xor r10, qword [rax + 0x18]
xor r12, qword [rax + 0x20]
xor r13, qword [rax + 0x28]
xor r15, qword [rax + 0x30]
xor r9, qword [rax + 0x38]
xor ecx, ecx
mov rsi, qword [rsp + 0x70]
movabs r8, 0xaa00aa00aa00aa
movabs r11, 0xcccc0000cccc
movabs r14, 0xffff00000000
nop word [rax + rax]
mov rdx, r9
shr rdx, cl
mov rbx, r13
shr rbx, cl
mov rdi, r10
shr rdi, cl
shl rdx, 0x30
shl rbx, 0x20
and rbx, r14
or rbx, rdx
mov rdx, qword [rsp + 8]
shr rdx, cl
shl edi, 0x10
mov rax, r15
shr rax, cl
or rdi, rbx
mov rbx, r12
shr rbx, cl
movzx edx, dx
mov rbp, qword [rsp + 0x10]
shr rbp, cl
or rdx, rdi
shl rax, 0x30
shl rbx, 0x20
and rbx, r14
or rbx, rax
mov rax, qword [rsp]
shr rax, cl
shl ebp, 0x10
or rbp, rbx
movzx eax, ax
or rax, rbp
mov rbx, rax
shr rbx, 8
xor rbx, rdx
movabs rdi, 0xff00ff00ff00ff
and rbx, rdi
mov rdi, rbx
shl rdi, 8
xor rdi, rax
xor rbx, rdx
mov rax, rdi
shr rax, 0x1c
xor eax, edi
and eax, 0xf0f0f0f0
mov rdx, rax
shl rdx, 0x1c
or rdx, rax
xor rdx, rdi
mov rax, rbx
shr rax, 0x1c
xor eax, ebx
and eax, 0xf0f0f0f0
mov rdi, rax
shl rdi, 0x1c
or rdi, rax
xor rdi, rbx
mov rax, rdx
shr rax, 0xe
xor rax, rdx
and rax, r11
mov rbx, rax
shl rbx, 0xe
add rbx, rax
xor rbx, rdx
mov rax, rdi
shr rax, 0xe
xor rax, rdi
and rax, r11
mov rbp, rax
shl rbp, 0xe
add rbp, rax
xor rbp, rdi
mov rax, rbx
shr rax, 7
xor rax, rbx
and rax, r8
mov rdx, rax
shl rdx, 7
add rdx, rax
xor rdx, rbx
mov rax, rbp
shr rax, 7
xor rax, rbp
and rax, r8
mov rbx, rax
shl rbx, 7
add rbx, rax
xor rbx, rbp
mov byte [rsi + rcx], dl
mov byte [rsi + rcx + 1], dh
mov rax, rdx
shr rax, 0x10
mov byte [rsi + rcx + 2], al
mov rax, rdx
shr rax, 0x18
mov byte [rsi + rcx + 3], al
mov rax, rdx
shr rax, 0x20
mov byte [rsi + rcx + 4], al
mov rax, rdx
shr rax, 0x28
mov byte [rsi + rcx + 5], al
mov rax, rdx
shr rax, 0x30
mov byte [rsi + rcx + 6], al
shr rdx, 0x38
mov byte [rsi + rcx + 7], dl
mov byte [rsi + rcx + 8], bl
mov byte [rsi + rcx + 9], bh
mov rax, rbx
shr rax, 0x10
mov byte [rsi + rcx + 0xa], al
mov rax, rbx
shr rax, 0x18
mov byte [rsi + rcx + 0xb], al
mov rax, rbx
shr rax, 0x20
mov byte [rsi + rcx + 0xc], al
mov rax, rbx
shr rax, 0x28
mov byte [rsi + rcx + 0xd], al
mov rax, rbx
shr rax, 0x30
mov byte [rsi + rcx + 0xe], al
shr rbx, 0x38
mov byte [rsi + rcx + 0xf], bl
add rcx, 0x10
cmp rcx, 0x40
jne 0x1400b5940
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret