Function at 0x18000e3c0
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, 0x30
mov r13, rdx
mov qword [rsp + 8], 6
lea rdx, [rcx + 0x30]
sub r13, rcx
mov qword [rsp + 0x20], rdx
lea rax, [rcx + 0x20]
lea rdx, [rcx + 0x38]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x78], r13
nop word [rax + rax]
mov r8, rax
mov qword [rsp + 0x88], rax
mov qword [rsp], 2
nop dword [rax]
nop word [rax + rax]
not qword [r8 + 0x60]
not qword [r8 + 0x70]
mov rbp, qword [r8 + 0x50]
mov rbx, qword [r8 + 0x40]
mov r15, rbp
mov r14, qword [r8 + 0x30]
not r15
mov rdx, qword [r8 + 0x20]
mov rax, rbx
mov r12, qword [r8 + 0x70]
not rax
and rax, qword [r8 + r13 - 0x20]
mov r10, rdx
xor rax, qword [r8]
not r10
mov r9, qword [r8 + 0x60]
mov rsi, rax
mov qword [r8], rax
and r9, rbx
and r15, qword [r8 + r13 - 0x10]
xor r9, rax
xor r15, qword [r8 + 0x10]
mov rax, rbp
and rax, r12
mov qword [r8 + 0x10], r15
and rsi, rdx
mov rdi, r15
xor rsi, qword [r8 + r13 - 0x20]
xor r15, rax
and rdi, r14
mov rax, r14
xor rdi, qword [r8 + r13 - 0x10]
not rax
and rax, rbp
and r10, rbx
xor r10, qword [r8 + 0x60]
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 r11, rsi
and rax, rdi
xor r9, r10
xor r14, rax
xor rbp, r9
xor r14, r11
mov rcx, rdx
and rcx, rsi
mov rax, r14
xor rcx, r8
xor rax, rdx
mov r8, qword [rsp + 0x88]
xor r15, rcx
xor rbp, rdx
xor r12, rdx
xor rcx, rbp
mov qword [r8], rax
mov qword [r8 + 0x20], rcx
movabs rdx, 0x5555555555555555
mov rax, r15
mov rcx, r15
shr rcx, 1
xor rax, r9
mov qword [r8 + 0x60], rax
xor r11, r15
lea rax, [r15 + r15]
xor r11, r12
xor rcx, rax
mov qword [r8 + 0x40], r11
and rcx, rdx
lea rax, [r15 + r15]
xor rcx, rax
lea rax, [r14 + r14]
mov qword [r8 + 0x10], 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 + 0x30], 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 + 0x50], rcx
mov rcx, r12
shr rcx, 1
xor rcx, rax
lea rax, [r12 + r12]
and rcx, rdx
xor rcx, rax
mov qword [r8 + 0x70], rcx
add r8, 8
sub qword [rsp], 1
mov qword [rsp + 0x88], r8
jne 0x18000e430
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x88], r8
mov qword [rsp], 2
not qword [r8 + 0x60]
not qword [r8 + 0x70]
mov r12, qword [r8 + 0x50]
mov rbx, qword [r8 + 0x40]
mov r14, r12
mov rdx, qword [r8 + 0x20]
not r14
mov rbp, qword [r8 + 0x30]
mov rsi, rdx
mov r15, qword [r8 + 0x70]
mov r10, rdx
mov r9, qword [r8 + 0x60]
not r10
and r9, rbx
and r10, rbx
xor r10, qword [r8 + 0x60]
mov rax, rbx
not rax
mov r11, r10
and rax, qword [r8 + r13]
not r11
xor rax, qword [r8]
mov qword [r8], rax
xor r9, rax
and r14, qword [r8 + r13 + 0x10]
and rsi, rax
xor r14, qword [r8 + 0x10]
and r11, r9
mov qword [r8 + 0x10], r14
mov rax, r12
xor rsi, qword [r8 + r13]
and rax, r15
mov rdi, r14
xor r11, rbx
xor r14, rax
and rdi, rbp
xor rdi, qword [r8 + r13 + 0x10]
mov rax, rbp
not rax
mov r8, rbx
and rax, r12
and r8, r9
xor r15, rax
xor r8, rdx
mov rax, r14
mov rdx, r8
and rax, r12
or rdx, r10
xor rbp, rax
xor rdx, r9
mov rax, r15
mov r9, r11
not rax
and r9, r8
and rax, r14
xor r9, r10
xor r12, rax
xor r11, rsi
mov rax, rbp
mov rcx, rdx
or rax, r15
and rcx, rsi
xor r14, rax
xor rcx, r8
mov r8, qword [rsp + 0x88]
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], rax
mov rax, r12
xor rax, rcx
movabs rdx, 0x3333333333333333
mov qword [r8 + 0x20], rax
mov rcx, r14
shr rcx, 2
mov rax, r14
xor rax, r15
xor rax, r11
mov qword [r8 + 0x40], rax
mov rax, r14
xor rax, r9
mov qword [r8 + 0x60], 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 + 0x10], 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 + 0x30], 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 + 0x50], rcx
mov rcx, r15
shr rcx, 2
xor rcx, rax
lea rax, [r15*4]
and rcx, rdx
xor rcx, rax
mov qword [r8 + 0x70], rcx
add r8, 8
sub qword [rsp], 1
mov qword [rsp + 0x88], r8
jne 0x18000e600
mov rax, qword [rsp + 0x80]
lea rcx, [r13 + 0x30]
lea r8, [r13 + 0x20]
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], r8
mov r13, rax
mov qword [rsp + 0x88], 2
nop dword [rax]
nop word [rax + rax]
not qword [r13 + 0x60]
not qword [r13 + 0x70]
mov rbx, qword [r13 + 0x40]
mov r12, qword [r13 + 0x50]
mov rax, rbx
mov rdx, qword [r13 + 0x20]
not rax
and rax, qword [r8 + r13]
mov rsi, rdx
xor rax, qword [r13]
mov r10, rdx
mov rbp, qword [r13 + 0x30]
and rsi, rax
mov r15, qword [r13 + 0x70]
mov r14, r12
mov r9, qword [r13 + 0x60]
not r14
mov qword [r13], rax
and r9, rbx
and r14, qword [rcx + r13]
xor r9, rax
xor r14, qword [r13 + 0x10]
mov rax, r12
and rax, r15
mov qword [r13 + 0x10], r14
xor rsi, qword [r8 + r13]
mov rdi, r14
xor r14, rax
and rdi, rbp
xor rdi, qword [rcx + r13]
mov rax, rbp
not rax
mov r8, r9
and rax, r12
not r10
xor r15, rax
and r10, rbx
xor r10, qword [r13 + 0x60]
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 r14, rax
xor rdx, r9
mov rax, rbp
mov r9, r11
and rax, r12
and r9, r8
xor r15, rax
xor r9, r10
mov rax, r14
mov rcx, rdx
and rax, rdi
and rcx, rsi
xor rbp, rax
xor r11, rsi
xor rcx, r8
xor r12, rdi
xor rbp, r11
xor r15, rdx
mov rax, r9
xor r14, rcx
xor rax, rdx
xor rdx, rbp
xor r12, rax
mov qword [r13], rdx
xor rcx, r12
mov qword [r13 + 0x20], rcx
mov r8, qword [rsp + 0x18]
lea r13, [r13 + 8]
movabs rdx, 0xf0f0f0f0f0f0f0f
xor r11, r14
xor r9, r14
mov rcx, r14
shr rcx, 4
mov rax, r14
shl rax, 4
xor r11, r15
xor rcx, rax
shl r14, 4
and rcx, rdx
mov qword [r13 + 0x38], r11
xor rcx, r14
mov qword [r13 + 0x58], r9
mov qword [r13 + 8], rcx
mov rax, rbp
shl rax, 4
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 [r13 + 0x28], 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 [r13 + 0x48], rcx
mov rcx, r15
shr rcx, 4
xor rcx, rax
shl r15, 4
and rcx, rdx
xor rcx, r15
sub qword [rsp + 0x88], 1
mov qword [r13 + 0x68], rcx
mov rcx, qword [rsp + 0x10]
jne 0x18000e810
mov r13, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], 2
lea rcx, [r13 + 0x50]
lea r8, [r13 + 0x40]
mov qword [rsp + 0x10], rcx
mov qword [rsp], r8
mov r13, rax
nop word [rax + rax]
not qword [r13 + 0x60]
not qword [r13 + 0x70]
mov rbx, qword [r13 + 0x40]
mov r12, qword [r13 + 0x50]
mov rax, rbx
mov rdx, qword [r13 + 0x20]
not rax
and rax, qword [r8 + r13]
mov rsi, rdx
xor rax, qword [r13]
mov r10, rdx
mov rbp, qword [r13 + 0x30]
and rsi, rax
mov r15, qword [r13 + 0x70]
mov r14, r12
mov r9, qword [r13 + 0x60]
not r14
mov qword [r13], rax
and r9, rbx
and r14, qword [rcx + r13]
xor r9, rax
xor r14, qword [r13 + 0x10]
mov rax, r12
and rax, r15
mov qword [r13 + 0x10], r14
xor rsi, qword [r8 + r13]
mov rdi, r14
xor r14, rax
and rdi, rbp
xor rdi, qword [rcx + r13]
mov rax, rbp
not rax
mov r8, r9
and rax, r12
not r10
xor r15, rax
and r10, rbx
xor r10, qword [r13 + 0x60]
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 r14, rax
xor rdx, r9
mov rax, rbp
mov r9, r11
and rax, r12
and r9, r8
xor r15, rax
xor r9, r10
mov rax, r14
mov rcx, rdx
and rax, rdi
and rcx, rsi
xor rbp, rax
xor r11, rsi
xor rcx, r8
xor r12, rdi
xor rbp, r11
xor r15, rdx
mov rax, r9
xor r14, rcx
xor rax, rdx
xor rdx, rbp
xor r12, rax
mov qword [r13], rdx
xor rcx, r12
mov qword [r13 + 0x20], rcx
mov r8, qword [rsp]
lea r13, [r13 + 8]
movabs rdx, 0xff00ff00ff00ff
xor r11, r14
xor r9, r14
mov rcx, r14
shr rcx, 8
mov rax, r14
shl rax, 8
xor r11, r15
xor rcx, rax
shl r14, 8
and rcx, rdx
mov qword [r13 + 0x38], r11
xor rcx, r14
mov qword [r13 + 0x58], r9
mov qword [r13 + 8], rcx
mov rax, rbp
shl rax, 8
mov rcx, rbp
shr rcx, 8
xor rcx, rax
shl rbp, 8
and rcx, rdx
mov rax, r12
xor rcx, rbp
shl rax, 8
mov qword [r13 + 0x28], rcx
mov rcx, r12
shr rcx, 8
xor rcx, rax
shl r12, 8
and rcx, rdx
mov rax, r15
xor rcx, r12
shl rax, 8
mov qword [r13 + 0x48], rcx
mov rcx, r15
shr rcx, 8
xor rcx, rax
shl r15, 8
and rcx, rdx
xor rcx, r15
sub qword [rsp + 0x88], 1
mov qword [r13 + 0x68], rcx
mov rcx, qword [rsp + 0x10]
jne 0x18000ea00
mov r13, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], 2
lea rcx, [r13 + 0x70]
lea r8, [r13 + 0x60]
mov qword [rsp + 0x10], rcx
mov qword [rsp], r8
mov r13, rax
nop word [rax + rax]
not qword [r13 + 0x60]
not qword [r13 + 0x70]
mov rbx, qword [r13 + 0x40]
mov r12, qword [r13 + 0x50]
mov rax, rbx
mov rdx, qword [r13 + 0x20]
not rax
and rax, qword [r8 + r13]
mov r14, r12
xor rax, qword [r13]
not r14
mov rbp, qword [r13 + 0x30]
mov rsi, rax
mov r15, qword [r13 + 0x70]
and rsi, rdx
mov r9, qword [r13 + 0x60]
mov r10, rdx
mov qword [r13], rax
and r9, rbx
and r14, qword [rcx + r13]
xor r9, rax
xor r14, qword [r13 + 0x10]
mov rax, r12
and rax, r15
mov qword [r13 + 0x10], r14
xor rsi, qword [r8 + r13]
mov rdi, r14
xor r14, rax
and rdi, rbp
xor rdi, qword [rcx + r13]
mov rax, rbp
not rax
mov r8, r9
and rax, r12
not r10
xor r15, rax
and r10, rbx
xor r10, qword [r13 + 0x60]
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 r14, rax
xor rdx, r9
mov rax, rbp
mov r9, r11
and rax, r12
xor r11, rsi
xor r15, rax
xor r12, rdi
mov rax, r14
and r9, r8
and rax, rdi
xor r9, r10
xor rbp, rax
xor r12, r9
xor rbp, r11
xor r12, rdx
mov rcx, rdx
mov rax, rbp
xor rax, rdx
and rcx, rsi
xor rcx, r8
mov qword [r13], rax
mov rax, r12
xor r14, rcx
xor r15, rdx
xor rax, rcx
mov r8, qword [rsp]
movabs rdx, 0xffff0000ffff
mov qword [r13 + 0x20], rax
lea r13, [r13 + 8]
mov rax, r14
mov rcx, r14
shr rcx, 0x10
xor rax, r15
xor rax, r11
mov qword [r13 + 0x38], rax
mov rax, r14
xor rax, r9
mov qword [r13 + 0x58], rax
mov rax, r14
shl rax, 0x10
xor rcx, rax
shl r14, 0x10
and rcx, rdx
mov rax, rbp
xor rcx, r14
shl rax, 0x10
mov qword [r13 + 8], rcx
mov rcx, rbp
shr rcx, 0x10
xor rcx, rax
shl rbp, 0x10
and rcx, rdx
mov rax, r12
xor rcx, rbp
shl rax, 0x10
mov qword [r13 + 0x28], rcx
mov rcx, r12
shr rcx, 0x10
xor rcx, rax
shl r12, 0x10
and rcx, rdx
mov rax, r15
xor rcx, r12
shl rax, 0x10
mov qword [r13 + 0x48], rcx
mov rcx, r15
shr rcx, 0x10
xor rcx, rax
shl r15, 0x10
and rcx, rdx
xor rcx, r15
sub qword [rsp + 0x88], 1
mov qword [r13 + 0x68], rcx
mov rcx, qword [rsp + 0x10]
jne 0x18000ebf0
mov r13, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rbx
lea r10, [r13 + 0x90]
lea r8, [r13 + 0x80]
mov qword [rsp], r10
mov qword [rsp + 0x18], r8
mov r13d, 2
nop dword [rax]
nop dword [rax + rax]
not qword [rbx + 0x60]
not qword [rbx + 0x70]
mov r14, qword [rbx + 0x40]
mov rsi, qword [rbx + 0x50]
mov rcx, r14
mov r9, qword [rbx + 0x20]
not rcx
and rcx, qword [rbx + r8]
mov rdx, rsi
xor rcx, qword [rbx]
not rdx
mov r11, qword [rbx + 0x60]
mov r15, rcx
and r11, r14
mov qword [rbx], rcx
and rdx, qword [rbx + r10]
xor r11, rcx
xor rdx, qword [rbx + 0x10]
mov rax, r11
mov qword [rbx + 0x10], rdx
and rax, r14
mov r12, rdx
xor rax, r9
and r15, r9
xor r15, qword [rbx + r8]
mov r8, qword [rbx + 0x30]
and r12, r8
mov rbp, r8
xor r12, qword [rbx + r10]
not rbp
mov r10, qword [rbx + 0x70]
and rbp, rsi
xor rbp, qword [rbx + 0x70]
and r10, rsi
xor r10, rdx
mov rdx, r9
not rdx
mov r9, rax
and rdx, r14
xor rdx, qword [rbx + 0x60]
mov rbx, r10
or r9, rdx
mov rdi, rdx
xor r9, r11
not rdi
and rdi, r11
and rbx, rsi
xor rdi, r14
xor rbx, r8
mov r11, rbx
mov r14, rbp
not r14
or r11, rbp
and r14, r10
xor r11, r10
xor r14, rsi
mov r10, rdi
and r10, rax
xor rdi, r15
xor r10, rdx
mov rcx, r9
and rcx, r15
mov rdx, r10
xor rcx, rax
xor rdx, r9
xor rdx, r14
mov r8, rcx
xor r8, r11
and r14, rbx
and r11, r12
xor rdx, r12
xor r11, rdi
xor r14, r9
xor r11, rbx
xor r14, rbp
mov rbx, qword [rsp + 0x88]
mov rax, r11
xor rax, r9
mov qword [rbx], rax
mov rax, rdx
xor rax, rcx
mov qword [rbx + 0x20], rax
mov rax, r14
xor rax, r8
rol r11, 0x20
xor rax, rdi
rol rdx, 0x20
mov qword [rbx + 0x40], rax
mov rax, r8
xor rax, r10
rol r8, 0x20
mov r10, qword [rsp]
rol r14, 0x20
mov qword [rbx + 0x10], r8
mov r8, qword [rsp + 0x18]
mov qword [rbx + 0x60], rax
mov qword [rbx + 0x30], r11
mov qword [rbx + 0x50], rdx
mov qword [rbx + 0x70], r14
add rbx, 8
mov qword [rsp + 0x88], rbx
sub r13, 1
jne 0x18000edf0
mov r10, qword [rsp + 0x78]
mov r13, qword [rsp + 0x20]
add r10, 0xa0
mov qword [rsp + 0x18], r10
mov qword [rsp + 0x88], 2
nop dword [rax]
nop dword [rax + rax]
not qword [r13 + 0x50]
not qword [r13 + 0x60]
mov rdi, qword [r13 + 0x30]
mov rsi, qword [r13 + 0x40]
mov rcx, rdi
mov r8, qword [r13 + 0x20]
not rcx
mov r9, qword [r13 + 0x10]
mov r14, r8
mov rax, qword [rsp]
not r14
mov r11, qword [r13 + 0x50]
and r14, rsi
xor r14, qword [r13 + 0x60]
and r11, rdi
mov rdx, rsi
and rcx, qword [rax + r13]
not rdx
xor rcx, qword [r13 - 0x10]
xor r11, rcx
mov qword [r13 - 0x10], rcx
and rdx, qword [r10 + r13]
mov r15, rcx
xor rdx, qword [r13]
and r15, r9
mov qword [r13], rdx
mov r12, rdx
xor r15, qword [rax + r13]
and r12, r8
xor r12, qword [r10 + r13]
mov rax, r11
mov r10, qword [r13 + 0x60]
and rax, rdi
xor rax, r9
and r10, rsi
xor r10, rdx
mov rdx, r9
mov r9, rax
not rdx
and rdx, rdi
mov rbx, r10
xor rdx, qword [r13 + 0x50]
and rbx, rsi
xor rbx, r8
or r9, rdx
xor r9, r11
mov rbp, rdx
not rbp
mov r8, rbx
or r8, r14
and rbp, r11
xor rbp, rdi
xor r8, r10
mov rdi, r14
mov rcx, r9
not rdi
and rcx, r15
and rdi, r10
xor rcx, rax
xor rdi, rsi
mov r10, rbp
and r10, rax
xor rbp, r15
xor r10, rdx
mov rdx, rcx
xor rdx, r8
mov rax, r10
xor rax, r9
mov qword [r13], rdx
xor rax, rdi
and r8, r12
and rdi, rbx
xor r8, rbp
xor rdi, r9
xor r8, rbx
xor rdi, r14
mov qword [r13 + 0x20], r8
xor rax, r12
mov qword [r13 + 0x60], rdi
xor r8, r9
mov qword [r13 + 0x40], rax
xor rax, rcx
mov qword [r13 - 0x10], r8
mov qword [r13 + 0x10], rax
lea r13, [r13 + 8]
mov rax, rdx
xor rdx, r10
mov r10, qword [rsp + 0x18]
xor rax, rdi
xor rax, rbp
mov qword [r13 + 0x48], rdx
sub qword [rsp + 0x88], 1
mov qword [r13 + 0x28], rax
jne 0x18000ef80
mov rax, qword [rsp + 0x28]
mov r8d, 4
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 0x18000f0d0
mov r13, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
add r13, 0xe0
sub qword [rsp + 8], 1
mov qword [rsp + 0x78], r13
jne 0x18000e410
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret