Function at 0x180054220
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea rax, [rcx + 0x38]
mov qword [rsp + 0x50], 6
lea rdx, [0x180075570]
mov qword [rsp + 0x58], rax
sub rcx, rdx
lea rax, [0x180075590]
mov qword [rsp + 0xb0], rax
lea r13, [rcx + 0x30]
lea r11, [rcx + 0x60]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0xa8], r11
nop dword [rax]
nop dword [rax + rax]
lea r8, [rax - 0x20]
mov qword [rsp], 2
lea r10, [r11 - 0x20]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 8], r10
nop dword [rax]
not qword [r11 + r8 + 0x20]
not qword [r8 + r13 + 0x60]
mov rbx, qword [r8 + r11]
mov r9, qword [r11 + r8 + 0x20]
mov rax, rbx
mov rdx, qword [r10 + r8]
not rax
and rax, qword [r8 - 0x10]
and r9, rbx
xor rax, qword [r8 + r13 - 0x10]
mov r10, rdx
mov rbp, qword [r8 + r13 + 0x40]
xor r9, rax
mov r14, qword [r8 + r13 + 0x20]
mov rsi, rax
mov r12, qword [r8 + r13 + 0x60]
mov r15, rbp
mov qword [r8 + r13 - 0x10], rax
not r15
and r15, qword [r8]
mov rax, rbp
xor r15, qword [r8 + r13]
and rax, r12
mov qword [r8 + r13], r15
and rsi, rdx
xor rsi, qword [r8 - 0x10]
mov rdi, r15
xor r15, rax
and rdi, r14
xor rdi, qword [r8]
mov rax, r14
not rax
not r10
and rax, rbp
and r10, rbx
xor r10, qword [r11 + r8 + 0x20]
xor r12, rax
mov r8, r9
mov rax, r15
and rax, rbp
and r8, rbx
xor r14, rax
xor r8, rdx
mov rax, r12
mov rdx, r8
not rax
or rdx, r10
and rax, r15
xor rdx, r9
xor rbp, rax
mov r11, r10
mov rax, r14
not r11
or rax, r12
and r11, r9
xor r15, rax
xor r11, rbx
mov rax, r14
mov r9, r11
and rax, rbp
and r9, r8
xor r12, rax
xor rbp, rdi
mov rax, r15
xor r9, r10
and rax, rdi
xor r11, rsi
xor r14, rax
xor rbp, r9
xor r14, r11
xor rbp, rdx
mov rcx, rdx
mov rax, r14
and rcx, rsi
xor r12, rdx
xor rcx, r8
mov r8, qword [rsp + 0xb8]
xor r15, rcx
xor rax, rdx
mov qword [r8 + r13 - 0x10], rax
mov rax, rbp
xor rax, rcx
mov r10, qword [rsp + 8]
movabs rdx, 0x5555555555555555
mov rcx, r15
shr rcx, 1
mov qword [r10 + r8], rax
mov rax, r15
xor rax, r12
xor rax, r11
mov r11, qword [rsp + 0xa8]
mov qword [r8 + r11], rax
mov rax, r15
xor rax, r9
mov qword [r11 + r8 + 0x20], rax
lea rax, [r15 + r15]
xor rcx, rax
lea rax, [r15 + r15]
and rcx, rdx
xor rcx, rax
lea rax, [r14 + r14]
mov qword [r8 + r13], rcx
mov rcx, r14
shr rcx, 1
xor rcx, rax
lea rax, [r14 + r14]
and rcx, rdx
xor rcx, rax
lea rax, [rbp*2]
mov qword [r8 + r13 + 0x20], rcx
mov rcx, rbp
shr rcx, 1
xor rcx, rax
lea rax, [rbp*2]
and rcx, rdx
xor rcx, rax
lea rax, [r12 + r12]
mov qword [r8 + r13 + 0x40], rcx
mov rcx, r12
shr rcx, 1
xor rcx, rax
lea rax, [r12 + r12]
and rcx, rdx
xor rcx, rax
mov qword [r8 + r13 + 0x60], rcx
add r8, 8
sub qword [rsp], 1
mov qword [rsp + 0xb8], r8
jne 0x1800542a0
mov r8, qword [rsp + 0xb0]
lea rsi, [r11 - 0x40]
lea rdi, [r13 - 0x20]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp], 2
not qword [r8 + r11]
not qword [r8 + r13 + 0x40]
mov rbx, qword [r8 + r10]
mov r9, qword [r8 + r11]
mov rax, rbx
mov r12, qword [r8 + r13 + 0x20]
not rax
and rax, qword [r8 - 0x10]
mov r14, r12
xor rax, qword [r8 + r13 - 0x30]
not r14
mov rdx, qword [r8 + rsi]
and r9, rbx
mov rbp, qword [r8 + r13]
xor r9, rax
mov r15, qword [r8 + r13 + 0x40]
mov rsi, rax
mov qword [r8 + r13 - 0x30], rax
and rsi, rdx
and r14, qword [r8]
mov rax, r12
xor r14, qword [r8 + rdi]
and rax, r15
mov qword [r8 + rdi], r14
mov r10, rdx
xor rsi, qword [r8 - 0x10]
mov rdi, r14
xor r14, rax
and rdi, rbp
xor rdi, qword [r8]
mov rax, rbp
not rax
not r10
and rax, r12
and r10, rbx
xor r10, qword [r8 + r11]
xor r15, rax
mov r8, r9
mov rax, r14
and rax, r12
and r8, rbx
xor rbp, rax
xor r8, rdx
mov rax, r15
mov rdx, r8
not rax
or rdx, r10
and rax, r14
xor rdx, r9
xor r12, rax
mov r11, r10
mov rax, rbp
not r11
or rax, r15
and r11, r9
xor r14, rax
xor r11, rbx
mov rax, rbp
mov r9, r11
and rax, r12
and r9, r8
xor r15, rax
xor r12, rdi
mov rax, r14
xor r9, r10
and rax, rdi
xor r11, rsi
xor rbp, rax
xor r12, r9
xor rbp, r11
xor r12, rdx
mov rcx, rdx
mov rax, rbp
and rcx, rsi
xor r15, rdx
xor rcx, r8
mov r8, qword [rsp + 0xb8]
xor r14, rcx
xor rax, rdx
mov qword [r8 + r13 - 0x30], rax
mov rax, r12
xor rax, rcx
mov rsi, qword [rsp + 0x10]
mov r10, qword [rsp + 8]
lea rdi, [r13 - 0x20]
movabs rdx, 0x3333333333333333
mov rcx, r14
shr rcx, 2
mov qword [r8 + rsi], rax
mov rax, r14
xor rax, r15
xor rax, r11
mov r11, qword [rsp + 0xa8]
mov qword [r8 + r10], rax
mov rax, r14
xor rax, r9
mov qword [r8 + r11], rax
lea rax, [r14*4]
xor rcx, rax
lea rax, [r14*4]
and rcx, rdx
xor rcx, rax
lea rax, [rbp*4]
mov qword [r8 + rdi], rcx
mov rcx, rbp
shr rcx, 2
xor rcx, rax
lea rax, [rbp*4]
and rcx, rdx
xor rcx, rax
lea rax, [r12*4]
mov qword [r8 + r13], rcx
mov rcx, r12
shr rcx, 2
xor rcx, rax
lea rax, [r12*4]
and rcx, rdx
xor rcx, rax
lea rax, [r15*4]
mov qword [r8 + r13 + 0x20], rcx
mov rcx, r15
shr rcx, 2
xor rcx, rax
lea rax, [r15*4]
and rcx, rdx
xor rcx, rax
mov qword [r8 + r13 + 0x40], rcx
add r8, 8
sub qword [rsp], 1
mov qword [rsp + 0xb8], r8
jne 0x1800544a0
mov r8, qword [rsp + 0xb0]
lea rcx, [r11 - 0x60]
add r8, 0x20
mov qword [rsp + 0xb8], rcx
lea r9, [r13 - 0x40]
mov qword [rsp + 0x38], r8
mov qword [rsp], r9
mov qword [rsp + 0x18], 2
jmp 0x1800546d3
mov rcx, rbx
not qword [r8 + r10]
not qword [r8 + r13 + 0x20]
mov rbx, qword [r8 + rsi]
mov rdx, qword [r8 + rcx]
mov rax, rbx
mov rcx, qword [r8 + r10]
not rax
and rax, qword [r8 - 0x10]
mov r10, rdx
xor rax, qword [r8 + r13 - 0x50]
not r10
mov r12, qword [r8 + r13]
mov rsi, rax
mov rbp, qword [r8 + rdi]
mov r14, r12
mov r15, qword [r8 + r13 + 0x20]
not r14
mov qword [r8 + r13 - 0x50], rax
and rsi, rdx
and r14, qword [r8]
and r10, rbx
xor r14, qword [r8 + r9]
xor r10, rcx
mov qword [r8 + r9], r14
mov rdi, r14
xor rsi, qword [r8 - 0x10]
and rdi, rbp
xor rdi, qword [r8]
mov r9, rcx
and r9, rbx
mov r11, r10
xor r9, rax
not r11
and r11, r9
mov rax, r12
and rax, r15
mov r8, r9
xor r14, rax
and r8, rbx
xor r8, rdx
mov rax, rbp
not rax
xor r11, rbx
and rax, r12
mov rdx, r8
xor r15, rax
or rdx, r10
xor rdx, r9
mov rax, r14
and rax, r12
mov r9, r11
xor rbp, rax
and r9, r8
mov rax, r15
xor r9, r10
not rax
mov rcx, rdx
and rax, r14
and rcx, rsi
xor r12, rax
xor rcx, r8
mov r8, qword [rsp + 0x38]
mov rax, rbp
or rax, r15
xor r11, rsi
xor r14, rax
mov rax, rbp
and rax, r12
xor r12, rdi
xor r15, rax
mov rax, r14
and rax, rdi
xor r14, rcx
xor rbp, rax
xor r15, rdx
mov rax, r9
xor rbp, r11
xor rax, rdx
xor r12, rax
xor rdx, rbp
mov qword [r8 + r13 - 0x50], rdx
mov rbx, qword [rsp + 0xb8]
lea rdi, [r13 - 0x20]
mov r10, qword [rsp + 8]
xor rcx, r12
mov rsi, qword [rsp + 0x10]
movabs rdx, 0xf0f0f0f0f0f0f0f
xor r9, r14
xor r11, r14
mov qword [r8 + rbx], rcx
mov rax, r14
shl rax, 4
mov rcx, r14
shr rcx, 4
xor r11, r15
xor rcx, rax
shl r14, 4
and rcx, rdx
mov qword [r8 + r10], r9
xor rcx, r14
mov qword [r8 + rsi], r11
mov qword [r8 + r13 - 0x40], rcx
lea r9, [r13 - 0x40]
mov rcx, rbp
mov rax, rbp
shr rcx, 4
shl rax, 4
xor rcx, rax
shl rbp, 4
and rcx, rdx
mov rax, r12
xor rcx, rbp
shl rax, 4
mov qword [r8 + rdi], rcx
mov rcx, r12
shr rcx, 4
xor rcx, rax
shl r12, 4
and rcx, rdx
mov rax, r15
xor rcx, r12
shl rax, 4
mov qword [r8 + r13], rcx
mov rcx, r15
shr rcx, 4
xor rcx, rax
shl r15, 4
and rcx, rdx
xor rcx, r15
mov qword [r8 + r13 + 0x20], rcx
add r8, 8
sub qword [rsp + 0x18], 1
mov qword [rsp + 0x38], r8
jne 0x1800546d0
mov r8, qword [rsp + 0xb0]
lea r10, [r13 - 0x60]
mov rdx, qword [rsp + 0xa8]
add r8, 0x40
add rdx, 0xffffffffffffff80
mov qword [rsp + 8], r8
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x20], 2
nop
not qword [rsi + r8]
not qword [r8 + r13]
mov rbp, qword [r8 + r9]
mov r12, qword [r8 + rdi]
mov rdx, qword [rdx + r8]
mov r14, r12
mov rbx, qword [rbx + r8]
not r14
mov r15, qword [r8 + r13]
mov rsi, rdx
mov rcx, qword [rsp + 0x10]
mov rax, rbx
not rax
and rax, qword [r8 - 0x10]
xor rax, qword [r8 + r13 - 0x70]
mov rcx, qword [rcx + r8]
and rsi, rax
mov qword [r8 + r13 - 0x70], rax
mov r9, rcx
and r14, qword [r8]
and r9, rbx
xor r14, qword [r8 + r10]
xor r9, rax
mov qword [r8 + r10], r14
mov rax, r12
xor rsi, qword [r8 - 0x10]
and rax, r15
mov r10, rdx
mov rdi, r14
xor r14, rax
and rdi, rbp
xor rdi, qword [r8]
mov rax, rbp
not rax
mov r8, r9
and rax, r12
and r8, rbx
xor r15, rax
xor r8, rdx
mov rax, r14
not r10
and rax, r12
and r10, rbx
xor rbp, rax
xor r10, rcx
mov rax, r15
mov rdx, r8
not rax
or rdx, r10
and rax, r14
xor rdx, r9
xor r12, rax
mov rcx, rdx
mov rax, rbp
and rcx, rsi
or rax, r15
xor rcx, r8
xor r14, rax
mov r11, r10
not r11
mov rax, rbp
and rax, r12
and r11, r9
xor r15, rax
xor r11, rbx
mov r9, r11
mov rax, r14
and rax, rdi
and r9, r8
mov r8, qword [rsp + 8]
xor rbp, rax
xor r9, r10
xor r11, rsi
xor r12, rdi
mov rax, r9
xor rax, rdx
xor r14, rcx
xor r12, rax
xor rbp, r11
xor r15, rdx
xor rdx, rbp
mov rbx, qword [rsp + 0xb8]
lea r10, [r13 - 0x60]
mov rsi, qword [rsp + 0x10]
lea rdi, [r13 - 0x20]
xor rcx, r12
mov qword [r8 + r13 - 0x70], rdx
mov rdx, qword [rsp + 0x18]
xor r11, r14
xor r11, r15
xor r9, r14
mov rax, r14
mov qword [rbx + r8], r11
shl rax, 8
movabs r11, 0xff00ff00ff00ff
mov qword [rdx + r8], rcx
mov rcx, r14
shr rcx, 8
xor rcx, rax
shl r14, 8
and rcx, r11
mov qword [rsi + r8], r9
xor rcx, r14
lea r9, [r13 - 0x40]
mov qword [r8 + r10], rcx
mov rax, rbp
shl rax, 8
mov rcx, rbp
shr rcx, 8
xor rcx, rax
shl rbp, 8
and rcx, r11
mov rax, r12
xor rcx, rbp
shl rax, 8
mov qword [r8 + r9], rcx
mov rcx, r12
shr rcx, 8
xor rcx, rax
shl r12, 8
and rcx, r11
mov rax, r15
xor rcx, r12
shl rax, 8
mov qword [r8 + rdi], rcx
mov rcx, r15
shr rcx, 8
xor rcx, rax
shl r15, 8
and rcx, r11
xor rcx, r15
mov qword [r8 + r13], rcx
add r8, 8
sub qword [rsp + 0x20], 1
mov qword [rsp + 8], r8
jne 0x1800548e0
mov rax, qword [rsp + 0xb0]
lea rcx, [r13 - 0x90]
mov rdi, qword [rsp + 0xa8]
lea r8, [r13 - 0x80]
mov r11, qword [rsp + 0x28]
add rax, 0x60
add rdi, 0xffffffffffffff60
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x10], rdi
mov r13, rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x20], 2
nop dword [rax]
nop word [rax + rax]
not qword [rbx + r13]
not qword [r11 + r13]
mov r12, qword [r9 + r13]
mov rbx, qword [rdx + r13]
mov r14, r12
mov rdx, qword [rdi + r13]
not r14
mov r15, qword [r11 + r13]
mov rsi, rdx
mov rbp, qword [r10 + r13]
mov rax, rbx
not rax
mov r10, rdx
and rax, qword [r13 - 0x10]
not r10
xor rax, qword [rcx + r13]
and r10, rbx
mov qword [rcx + r13], rax
and rsi, rax
and r14, qword [r13]
xor r14, qword [r8 + r13]
mov rcx, qword [rsp + 0xb8]
mov rdi, r14
mov qword [r8 + r13], r14
and rdi, rbp
xor rdi, qword [r13]
xor rsi, qword [r13 - 0x10]
mov rcx, qword [rcx + r13]
xor r10, rcx
mov r9, rcx
and r9, rbx
mov r11, r10
xor r9, rax
not r11
and r11, r9
mov rax, r12
and rax, r15
mov r8, r9
xor r14, rax
xor r11, rbx
mov rax, rbp
and r8, rbx
not rax
xor r8, rdx
and rax, r12
mov rdx, r8
xor r15, rax
or rdx, r10
xor rdx, r9
mov rax, r14
and rax, r12
mov r9, r11
xor rbp, rax
and r9, r8
mov rax, r15
xor r9, r10
not rax
mov rcx, rdx
and rax, r14
and rcx, rsi
xor r12, rax
xor rcx, r8
mov rax, rbp
xor r11, rsi
or rax, r15
xor r14, rax
mov rax, rbp
and rax, r12
xor r12, rdi
xor r15, rax
mov rax, r14
and rax, rdi
xor r14, rcx
xor rbp, rax
xor r15, rdx
mov rax, r9
xor rbp, r11
xor rax, rdx
xor r12, rax
mov rax, qword [rsp + 0x30]
xor rdx, rbp
mov rdi, qword [rsp + 0x10]
xor rcx, r12
mov r8, qword [rsp + 8]
xor r11, r14
mov r10, qword [rsp + 0x38]
xor r11, r15
mov rbx, qword [rsp + 0xb8]
xor r9, r14
mov qword [rdi + r13], rcx
mov rcx, r14
shr rcx, 0x10
mov qword [rax + r13], rdx
mov rax, r14
mov rdx, qword [rsp + 0x18]
shl rax, 0x10
shl r14, 0x10
xor rcx, rax
mov qword [rbx + r13], r9
mov rax, rbp
mov r9, qword [rsp]
shl rax, 0x10
mov qword [rdx + r13], r11
lea r13, [r13 + 8]
movabs r11, 0xffff0000ffff
and rcx, r11
xor rcx, r14
mov qword [r8 + r13 - 8], rcx
mov rcx, rbp
shr rcx, 0x10
xor rcx, rax
shl rbp, 0x10
and rcx, r11
mov rax, r12
xor rcx, rbp
shl rax, 0x10
mov qword [r10 + r13 - 8], rcx
mov rcx, r12
shr rcx, 0x10
xor rcx, rax
shl r12, 0x10
and rcx, r11
mov rax, r15
xor rcx, r12
shl rax, 0x10
mov qword [r9 + r13 - 8], rcx
mov rcx, r15
shr rcx, 0x10
xor rcx, rax
shl r15, 0x10
and rcx, r11
mov r11, qword [rsp + 0x28]
xor rcx, r15
sub qword [rsp + 0x20], 1
mov qword [r11 + r13 - 8], rcx
mov rcx, qword [rsp + 0x30]
jne 0x180054b10
mov r13, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
sub rax, 0xffffffffffffff80
add rbx, 0xffffffffffffff40
mov qword [rsp + 0x30], 2
lea r11, [r13 - 0xb0]
mov qword [rsp + 0x20], rbx
lea rbp, [r13 - 0xa0]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0xb8], rbp
mov r13, rax
nop word [rax + rax]
not qword [rdx + r13]
not qword [r9 + r13]
mov r14, qword [rdi + r13]
mov rsi, qword [r10 + r13]
mov rcx, r14
mov r9, qword [rbx + r13]
not rcx
and rcx, qword [r13 - 0x10]
mov rdx, rsi
xor rcx, qword [r11 + r13]
not rdx
mov r8, qword [r8 + r13]
mov r15, rcx
mov rax, qword [rsp + 0x18]
and r15, r9
mov qword [r11 + r13], rcx
and rdx, qword [r13]
xor rdx, qword [rbp + r13]
mov rax, qword [rax + r13]
mov r12, rdx
mov qword [rbp + r13], rdx
mov r11, rax
xor r15, qword [r13 - 0x10]
and r11, r14
xor r11, rcx
and r12, r8
xor r12, qword [r13]
mov rbp, r8
mov rcx, qword [rsp]
not rbp
and rbp, rsi
mov rcx, qword [rcx + r13]
xor rbp, rcx
mov r10, rcx
and r10, rsi
xor r10, rdx
mov rdx, r9
not rdx
mov rbx, r10
and rdx, r14
and rbx, rsi
xor rdx, rax
xor rbx, r8
mov rax, r11
mov rdi, rdx
and rax, r14
not rdi
and rdi, r11
xor rax, r9
xor rdi, r14
mov r9, rax
or r9, rdx
mov r14, rbp
xor r9, r11
not r14
and r14, r10
mov r11, rbx
or r11, rbp
xor r14, rsi
xor r11, r10
mov rcx, r9
mov r10, rdi
and rcx, r15
and r10, rax
xor rcx, rax
xor r10, rdx
xor rdi, r15
mov rdx, r10
mov r8, rcx
xor r8, r11
xor rdx, r9
xor rdx, r14
and r11, r12
and r14, rbx
xor r11, rdi
xor r14, r9
xor r11, rbx
xor r14, rbp
xor rdx, r12
mov rax, r11
xor rax, r9
mov r9, qword [rsp + 0x28]
lea r13, [r13 + 8]
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0xb8]
rol r11, 0x20
mov qword [r9 + r13 - 8], rax
mov rax, rdx
mov r9, qword [rsp]
xor rax, rcx
mov rcx, qword [rsp + 0x18]
mov qword [rbx + r13 - 8], rax
mov rax, r14
xor rax, r8
rol rdx, 0x20
xor rax, rdi
rol r14, 0x20
mov rdi, qword [rsp + 0x10]
mov qword [r9 + r13 - 8], r14
mov qword [rdi + r13 - 8], rax
mov rax, r8
rol r8, 0x20
xor rax, r10
sub qword [rsp + 0x30], 1
mov r10, qword [rsp + 0x38]
mov qword [rbp + r13 - 8], r8
mov r8, qword [rsp + 8]
mov qword [rcx + r13 - 8], rax
mov qword [r10 + r13 - 8], rdx
mov rdx, rcx
mov qword [r8 + r13 - 8], r11
mov r11, qword [rsp + 0x28]
jne 0x180054d50
mov r13, qword [rsp + 0x48]
mov r11, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
add rax, 0xa0
mov qword [rsp + 0x30], 2
lea r9, [r13 - 0xc0]
add r11, 0xffffffffffffff20
lea rdx, [r13 - 0xd0]
mov qword [rsp + 0x28], r9
mov qword [rsp], rdx
mov r13, rax
mov qword [rsp + 0xa8], r11
nop dword [rax]
nop dword [rax + rax]
not qword [rdi + r13]
not qword [r10 + r13]
mov rsi, qword [r8 + r13]
mov rdi, qword [rbx + r13]
mov r8, qword [rbp + r13]
mov rcx, rdi
mov rax, qword [rsp + 0x10]
not rcx
and rcx, qword [r13 - 0x10]
mov r14, r8
xor rcx, qword [rdx + r13]
not r14
mov qword [rdx + r13], rcx
mov r15, rcx
mov rax, qword [rax + r13]
mov rdx, rsi
not rdx
and r14, rsi
and rdx, qword [r13]
xor rdx, qword [r9 + r13]
mov qword [r9 + r13], rdx
mov r12, rdx
mov r9, qword [r11 + r13]
and r12, r8
xor r12, qword [r13]
mov r11, rax
and r11, rdi
and r15, r9
xor r15, qword [r13 - 0x10]
xor r11, rcx
mov rcx, qword [r10 + r13]
xor r14, rcx
mov r10, rcx
and r10, rsi
xor r10, rdx
mov rdx, r9
not rdx
mov rbx, r10
and rdx, rdi
and rbx, rsi
xor rdx, rax
xor rbx, r8
mov rbp, rdx
mov rax, r11
and rax, rdi
not rbp
xor rax, r9
and rbp, r11
mov r9, rax
xor rbp, rdi
or r9, rdx
mov rdi, r14
xor r9, r11
not rdi
mov r11, qword [rsp + 8]
and rdi, r10
xor rdi, rsi
mov r8, rbx
or r8, r14
mov rcx, r9
xor r8, r10
and rcx, r15
xor rcx, rax
mov r10, rbp
and r10, rax
xor rbp, r15
mov rax, qword [rsp + 0x28]
xor r10, rdx
mov rdx, rcx
xor rdx, r8
and r8, r12
xor r8, rbp
mov qword [rax + r13], rdx
xor r8, rbx
mov rax, qword [rsp + 0xb8]
mov qword [rax + r13], r8
mov rax, r10
xor rax, r9
xor rax, rdi
xor rax, r12
mov qword [r11 + r13], rax
mov r11, qword [rsp + 0x38]
lea r13, [r13 + 8]
and rdi, rbx
xor rax, rcx
mov rbx, qword [rsp + 0x20]
xor rdi, r9
xor r8, r9
xor rdi, r14
mov r9, qword [rsp]
mov qword [r11 + r13 - 8], rdi
mov r11, qword [rsp + 0xa8]
mov qword [r9 + r13 - 8], r8
mov r8, qword [rsp + 8]
mov r9, qword [rsp + 0x28]
mov qword [r11 + r13 - 8], rax
mov rax, rdx
xor rdx, r10
xor rax, rdi
mov rdi, qword [rsp + 0x10]
xor rax, rbp
sub qword [rsp + 0x30], 1
mov r10, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xb8]
mov qword [rdi + r13 - 8], rdx
mov rdx, qword [rsp]
mov qword [rbx + r13 - 8], rax
jne 0x180054f40
mov rax, qword [rsp + 0x58]
mov r8d, 4
mov r13, qword [rsp + 0x48]
nop dword [rax]
mov rdx, qword [rax - 8]
mov rcx, qword [rax]
mov qword [rax - 8], rcx
mov qword [rax], rdx
lea rax, [rax + 0x20]
sub r8, 1
jne 0x1800550e0
mov rax, qword [rsp + 0xb0]
sub r13, 0xe0
add rax, 0xe0
mov qword [rsp + 0x48], r13
sub qword [rsp + 0x50], 1
mov qword [rsp + 0xb0], rax
jne 0x180054280
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret