Function at 0x180038bf0
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, [0x1800bc570]
mov qword [rsp + 0x58], rax
sub rcx, rdx
lea rax, [0x1800bc590]
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 [r11 + r8]
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 [r11 + r8], 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 0x180038c70
mov r8, qword [rsp + 0xb0]
lea rsi, [r11 - 0x40]
lea r9, [r13 - 0x20]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x28], r9
mov qword [rsp], 2
not qword [r8 + r11]
not qword [r8 + r13 + 0x40]
mov rbx, qword [r8 + r10]
mov r12, qword [r8 + r13 + 0x20]
mov rax, rbx
mov rdx, qword [r8 + rsi]
not rax
and rax, qword [r8 - 0x10]
mov r14, r12
xor rax, qword [r8 + r13 - 0x30]
not r14
mov rbp, qword [r8 + r13]
mov rsi, rax
mov r15, qword [r8 + r13 + 0x40]
and rsi, rdx
mov qword [r8 + r13 - 0x30], rax
mov r10, rdx
and r14, qword [r8]
not r10
xor r14, qword [r8 + r9]
and r10, rbx
xor r10, qword [r8 + r11]
mov rdi, r14
mov qword [r8 + r9], r14
and rdi, rbp
mov r9, qword [r8 + r11]
mov r11, r10
xor rsi, qword [r8 - 0x10]
and r9, rbx
xor rdi, qword [r8]
xor r9, rax
mov rax, r12
mov r8, r9
and rax, r15
and r8, rbx
xor r14, rax
xor r8, rdx
mov rax, rbp
not r11
not rax
and r11, r9
and rax, r12
xor r11, rbx
xor r15, rax
mov rdx, r8
mov rax, r14
or rdx, r10
and rax, r12
xor rdx, r9
xor rbp, rax
mov r9, r11
mov rax, r15
and r9, r8
not rax
xor r9, r10
and rax, r14
xor r11, rsi
xor r12, rax
mov rcx, rdx
mov rax, rbp
and rcx, rsi
or rax, r15
xor rcx, r8
mov r8, qword [rsp + 0xb8]
xor r14, rax
mov rax, rbp
and rax, r12
xor r12, rdi
xor r15, rax
xor r12, r9
mov rax, r14
xor r12, rdx
and rax, rdi
xor r14, rcx
xor rbp, rax
xor r15, rdx
xor rbp, r11
mov rax, rbp
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]
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
lea r9, [r13 - 0x20]
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 + r9], 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 0x180038e70
mov r8, qword [rsp + 0xb0]
lea rcx, [r11 - 0x60]
add r8, 0x20
mov qword [rsp + 0xb8], rcx
lea rdi, [r13 - 0x40]
mov qword [rsp], r8
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x18], 2
not qword [r10 + r8]
not qword [r8 + r13 + 0x20]
mov rbp, qword [r8 + r9]
mov rbx, qword [rsi + r8]
mov rdx, qword [rcx + r8]
mov rax, rbx
mov rcx, qword [r10 + r8]
not rax
and rax, qword [r8 - 0x10]
mov r9, rcx
xor rax, qword [r8 + r13 - 0x50]
and r9, rbx
mov r12, qword [r8 + r13]
xor r9, rax
mov r15, qword [r8 + r13 + 0x20]
mov rsi, rax
mov qword [r8 + r13 - 0x50], rax
mov r14, r12
not r14
mov rax, r12
and r14, qword [r8]
and rax, r15
xor r14, qword [r8 + rdi]
and rsi, rdx
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
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 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
mov rcx, rdx
and rcx, rsi
mov rax, rbp
xor rcx, r8
xor r12, rdx
mov r8, qword [rsp]
xor r14, rcx
xor r15, rdx
xor rax, rdx
mov qword [r8 + r13 - 0x50], rax
mov rsi, qword [rsp + 0x10]
lea rdi, [r13 - 0x40]
mov r10, qword [rsp + 8]
movabs rdx, 0xf0f0f0f0f0f0f0f
mov rax, r12
xor rax, rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rcx + r8], rax
mov rax, r14
xor rax, r15
mov rcx, r14
shr rcx, 4
xor rax, r11
mov qword [rsi + r8], rax
mov rax, r14
xor rax, r9
lea r9, [r13 - 0x20]
mov qword [r10 + r8], rax
mov rax, r14
shl rax, 4
xor rcx, rax
shl r14, 4
and rcx, rdx
mov rax, rbp
xor rcx, r14
shl rax, 4
mov qword [r8 + rdi], rcx
mov rcx, rbp
shr rcx, 4
xor rcx, rax
shl rbp, 4
and rcx, rdx
mov rax, r12
xor rcx, rbp
shl rax, 4
mov qword [r8 + r9], 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 rcx, qword [rsp + 0xb8]
mov qword [rsp], r8
jne 0x180039093
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 r11, rcx
mov qword [rsp], r10
mov qword [rsp + 0x20], 2
nop
not qword [rsi + r8]
not qword [r8 + r13]
mov r12, qword [r8 + r9]
mov rbx, qword [r11 + r8]
mov r14, r12
mov rbp, qword [r8 + rdi]
not r14
mov rdx, qword [rdx + r8]
mov rax, rbx
mov r15, qword [r8 + r13]
not rax
and rax, qword [r8 - 0x10]
xor rax, qword [r8 + r13 - 0x70]
mov rcx, qword [rsp + 0x10]
mov rsi, rax
mov qword [r8 + r13 - 0x70], rax
and rsi, rdx
and r14, qword [r8]
xor r14, qword [r10 + r8]
mov rcx, qword [rcx + r8]
mov rdi, r14
mov qword [r10 + r8], r14
and rdi, rbp
xor rsi, qword [r8 - 0x10]
mov r9, rcx
xor rdi, qword [r8]
and r9, rbx
xor r9, rax
mov r10, rdx
mov rax, r12
mov r8, r9
and rax, r15
and r8, rbx
xor r14, rax
xor r8, rdx
mov rax, rbp
not r10
not rax
and r10, rbx
and rax, r12
xor r10, rcx
xor r15, rax
mov rdx, r8
mov rax, r14
or rdx, r10
and rax, r12
xor rdx, r9
xor rbp, rax
mov r11, r10
mov rax, r15
not r11
not rax
and r11, r9
and rax, r14
xor r11, rbx
xor r12, rax
mov r9, r11
mov rax, rbp
and r9, r8
or rax, r15
xor r9, r10
xor r14, rax
xor r11, rsi
mov rax, rbp
mov rcx, rdx
and rax, r12
and rcx, rsi
xor r15, rax
xor r12, rdi
xor rcx, r8
mov rax, r14
mov r8, qword [rsp + 8]
and rax, rdi
xor rbp, rax
xor r12, r9
xor rbp, r11
xor r14, rcx
mov rax, rbp
xor r12, rdx
xor r15, rdx
xor rax, rdx
mov rdx, qword [rsp + 0x18]
lea r10, [r13 - 0x60]
mov rsi, qword [rsp + 0x10]
lea rdi, [r13 - 0x40]
mov qword [r8 + r13 - 0x70], rax
movabs rbx, 0xff00ff00ff00ff
mov rax, r12
xor rax, rcx
mov rcx, r14
shr rcx, 8
mov qword [rdx + r8], rax
mov rax, r14
xor rax, r15
xor rax, r11
mov r11, qword [rsp + 0xb8]
mov qword [r11 + r8], rax
mov rax, r14
xor rax, r9
lea r9, [r13 - 0x20]
mov qword [rsi + r8], rax
mov rax, r14
shl rax, 8
xor rcx, rax
shl r14, 8
and rcx, rbx
mov rax, rbp
xor rcx, r14
shl rax, 8
mov qword [r10 + r8], rcx
mov rcx, rbp
shr rcx, 8
xor rcx, rax
shl rbp, 8
and rcx, rbx
mov rax, r12
xor rcx, rbp
shl rax, 8
mov qword [r8 + rdi], rcx
mov rcx, r12
shr rcx, 8
xor rcx, rax
shl r12, 8
and rcx, rbx
mov rax, r15
xor rcx, r12
shl rax, 8
mov qword [r8 + r9], rcx
mov rcx, r15
shr rcx, 8
xor rcx, rax
shl r15, 8
and rcx, rbx
xor rcx, r15
mov qword [r8 + r13], rcx
add r8, 8
sub qword [rsp + 0x20], 1
mov qword [rsp + 8], r8
jne 0x1800392b0
mov rax, qword [rsp + 0xb0]
lea rcx, [r13 - 0x90]
mov rsi, qword [rsp + 0xa8]
lea r8, [r13 - 0x80]
add rax, 0x60
mov qword [rsp + 0x30], rcx
add rsi, 0xffffffffffffff60
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rsi
mov r13, rax
mov qword [rsp + 0x20], 2
nop word [rax + rax]
not qword [r11 + r13]
not qword [r9 + r13]
mov rbx, qword [rdx + r13]
mov r12, qword [rdi + r13]
mov rax, rbx
mov rbp, qword [r10 + r13]
not rax
and rax, qword [r13 - 0x10]
mov r14, r12
xor rax, qword [rcx + r13]
not r14
mov r9, qword [r11 + r13]
mov rdx, qword [rsi + r13]
and r9, rbx
mov r15, qword [rsp + 0x28]
xor r9, rax
mov qword [rcx + r13], rax
mov rsi, rax
and r14, qword [r13]
and rsi, rdx
xor r14, qword [r8 + r13]
mov rax, r12
mov r15, qword [r15 + r13]
mov r10, rdx
and rax, r15
mov qword [r8 + r13], r14
xor rsi, qword [r13 - 0x10]
mov rdi, r14
xor r14, rax
and rdi, rbp
xor rdi, qword [r13]
mov rax, rbp
not rax
mov r8, r9
and rax, r12
not r10
xor r15, rax
and r10, rbx
xor r10, qword [r11 + r13]
mov rax, r14
and rax, r12
and r8, rbx
xor rbp, rax
xor r8, rdx
mov rax, r15
mov r11, r10
not rax
not r11
and rax, r14
and r11, r9
xor r12, rax
xor r11, rbx
mov rax, rbp
mov rdx, r8
or rax, r15
or rdx, r10
xor rdx, r9
xor r14, rax
mov rax, rbp
mov r9, r11
and rax, r12
and r9, r8
xor r15, rax
xor r12, rdi
mov rax, r14
mov rcx, rdx
and rax, rdi
xor r9, r10
xor rbp, rax
and rcx, rsi
xor r11, rsi
xor rcx, r8
xor rbp, r11
xor r12, r9
xor r12, rdx
xor r15, rdx
mov rax, rbp
xor r14, rcx
xor rax, rdx
mov rdx, qword [rsp + 0x30]
mov qword [rdx + r13], rax
mov rsi, qword [rsp + 0x10]
lea r13, [r13 + 8]
mov rdx, qword [rsp + 0x18]
mov rax, r12
xor rax, rcx
mov r8, qword [rsp + 8]
mov r10, qword [rsp]
mov rcx, r14
mov rdi, qword [rsp + 0x38]
shr rcx, 0x10
mov qword [rsi + r13 - 8], rax
mov rax, r14
xor rax, r15
xor rax, r11
mov r11, qword [rsp + 0xb8]
mov qword [rdx + r13 - 8], rax
mov rax, r14
xor rax, r9
movabs r9, 0xffff0000ffff
mov qword [r11 + r13 - 8], rax
mov rax, r14
shl rax, 0x10
xor rcx, rax
shl r14, 0x10
and rcx, r9
mov rax, rbp
xor rcx, r14
shl rax, 0x10
mov qword [r8 + r13 - 8], rcx
mov rcx, rbp
shr rcx, 0x10
xor rcx, rax
shl rbp, 0x10
and rcx, r9
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, r9
mov rax, r15
xor rcx, r12
shl rax, 0x10
mov qword [rdi + r13 - 8], rcx
mov rcx, r15
shr rcx, 0x10
xor rcx, rax
shl r15, 0x10
and rcx, r9
mov r9, qword [rsp + 0x28]
xor rcx, r15
sub qword [rsp + 0x20], 1
mov qword [r9 + r13 - 8], rcx
mov rcx, qword [rsp + 0x30]
jne 0x1800394e0
mov r13, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xa8]
sub rax, 0xffffffffffffff80
add r9, 0xffffffffffffff40
mov qword [rsp + 0x30], 2
lea r11, [r13 - 0xb0]
mov qword [rsp + 0x20], r9
lea rbx, [r13 - 0xa0]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0xb8], rbx
mov r13, rax
nop dword [rax]
not qword [rdx + r13]
not qword [rdi + r13]
mov r14, qword [rsi + r13]
mov rsi, qword [r10 + r13]
mov rcx, r14
mov r9, qword [r9 + r13]
not rcx
and rcx, qword [r13 - 0x10]
mov r15, r9
xor rcx, qword [r11 + r13]
mov rdx, rsi
mov r10, qword [rdi + r13]
not rdx
mov r8, qword [r8 + r13]
and r10, rsi
mov rax, qword [rsp + 0x18]
and r15, rcx
mov qword [r11 + r13], rcx
mov r12, r8
and rdx, qword [r13]
mov rbp, r8
xor rdx, qword [rbx + r13]
not rbp
mov rax, qword [rax + r13]
xor r10, rdx
mov qword [rbx + r13], rdx
and r12, rdx
xor r15, qword [r13 - 0x10]
mov r11, rax
xor r12, qword [r13]
and r11, r14
xor r11, rcx
mov rdx, r9
not rdx
mov rbx, r10
and rdx, r14
and rbp, rsi
xor rbp, qword [rdi + r13]
xor rdx, rax
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
and rbx, rsi
xor r9, r11
xor rbx, r8
mov rcx, r9
mov r11, rbx
or r11, rbp
and rcx, r15
xor r11, r10
xor rcx, rax
mov r14, rbp
mov r8, rcx
not r14
xor r8, r11
and r14, r10
and r11, r12
xor r14, rsi
mov r10, rdi
and r10, rax
xor rdi, r15
xor r10, rdx
xor r11, rdi
xor r11, rbx
mov rdx, r10
xor rdx, r9
mov rax, r11
xor rdx, r14
and r14, rbx
xor r14, r9
xor rdx, r12
xor r14, rbp
xor rax, r9
mov r9, qword [rsp + 0x28]
mov qword [r9 + r13], rax
mov r9, qword [rsp + 0x20]
lea r13, [r13 + 8]
mov rsi, qword [rsp + 0x10]
xor r10, r8
mov rbx, qword [rsp + 0xb8]
xor rdi, r14
xor rdi, r8
rol r11, 0x20
mov rax, rdx
rol r8, 0x20
xor rax, rcx
rol rdx, 0x20
mov qword [r9 + r13 - 8], rax
mov rax, qword [rsp + 0x18]
mov qword [rsi + r13 - 8], rdi
mov rdi, qword [rsp + 0x38]
mov qword [rbx + r13 - 8], r8
mov r8, qword [rsp + 8]
mov qword [rax + r13 - 8], r10
mov r10, qword [rsp]
rol r14, 0x20
sub qword [rsp + 0x30], 1
mov qword [r8 + r13 - 8], r11
mov r11, qword [rsp + 0x28]
mov qword [r10 + r13 - 8], rdx
mov rdx, rax
mov qword [rdi + r13 - 8], r14
jne 0x180039720
mov r13, qword [rsp + 0x48]
mov r11, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
add rax, 0xa0
mov qword [rsp + 0x38], 2
lea r14, [r13 - 0xc0]
add r11, 0xffffffffffffff20
lea rdx, [r13 - 0xd0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rdx
mov r13, rax
mov qword [rsp + 0xa8], r11
nop word [rax + rax]
not qword [rsi + r13]
not qword [r10 + r13]
mov rsi, qword [r8 + r13]
mov rdi, qword [r9 + r13]
mov r9, qword [r11 + r13]
mov rcx, rdi
mov r8, qword [rbx + r13]
not rcx
and rcx, qword [r13 - 0x10]
xor rcx, qword [rdx + r13]
mov rax, qword [rsp + 0x10]
mov r15, rcx
mov qword [rdx + r13], rcx
and r15, r9
mov rdx, rsi
not rdx
and rdx, qword [r13]
xor rdx, qword [r14 + r13]
mov rax, qword [rax + r13]
mov r12, rdx
mov qword [r14 + r13], rdx
mov r11, rax
xor r15, qword [r13 - 0x10]
and r12, r8
xor r12, qword [r13]
and r11, rdi
xor r11, rcx
mov r14, r8
mov rcx, qword [r10 + r13]
not r14
mov r10, rcx
and r14, rsi
xor r14, 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 + 0x30]
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]
lea r13, [r13 + 8]
mov rsi, qword [rsp + 0x10]
xor r8, r9
xor rax, rcx
and rdi, rbx
mov rbx, qword [rsp + 0xb8]
xor rdi, r9
mov r9, qword [rsp + 0x28]
xor rdi, r14
mov r14, qword [rsp + 0x30]
mov qword [r11 + r13 - 8], rdi
mov r11, qword [rsp + 0xa8]
mov qword [r9 + r13 - 8], r8
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp + 8]
mov qword [r11 + r13 - 8], rax
mov rax, rdx
xor rdx, r10
xor rax, rdi
mov r10, qword [rsp]
xor rax, rbp
sub qword [rsp + 0x38], 1
mov qword [rsi + r13 - 8], rdx
mov rdx, qword [rsp + 0x28]
mov qword [r9 + r13 - 8], rax
jne 0x180039900
mov rax, qword [rsp + 0x58]
mov r8d, 4
mov r13, qword [rsp + 0x48]
nop dword [rax + 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 0x180039aa0
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 0x180038c50
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret