Function at 0x140096be0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor edx, edx
cmp byte [0x140137568], dl
mov qword [rsp + 0x70], rdx
je 0x140096ed5
cmp byte [0x140137569], dl
jne 0x1400971a5
lea rax, str.Nv_
mov byte [0x140137569], 1
mov r9d, 3
mov r10d, 4
mov r11d, 5
mov ebx, 6
mov edi, 7
mov esi, 8
mov r14d, 9
mov r15d, 0xa
mov r12d, 0xb
mov ebp, 0xc
sub r9, rax
sub r10, rax
sub r11, rax
sub rbx, rax
sub rdi, rax
sub rsi, rax
sub r14, rax
sub r15, rax
sub r12, rax
sub rbp, rax
mov r13d, 0xd
movabs r8, 0xd28f2c51de26cd5
sub r13, rax
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x140137588]
xor rcx, rdx
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
lea rax, [0x140137568]
add rax, 2
add rdx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx]
xor al, cl
mov rcx, rdx
mov byte [rdx], al
lea rax, [0x140137569]
sub rcx, rax
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
mov rcx, rdx
xor byte [rdx + 1], al
lea rax, [0x140137568]
sub rcx, rax
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [r9 + rdx]
xor byte [rdx + 2], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [r10 + rdx]
xor byte [rdx + 3], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [r11 + rdx]
xor byte [rdx + 4], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [rbx + rdx]
xor byte [rdx + 5], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [rdi + rdx]
xor byte [rdx + 6], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [rsi + rdx]
xor byte [rdx + 7], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [r14 + rdx]
xor byte [rdx + 8], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [r15 + rdx]
xor byte [rdx + 9], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [r12 + rdx]
xor byte [rdx + 0xa], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [rdx + rbp]
xor byte [rdx + 0xb], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [rdx + r13]
xor byte [rdx + 0xc], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xd], al
mov rdx, qword [rsp + 0x70]
add rdx, 0xe
mov qword [rsp + 0x70], rdx
cmp rdx, 0x1c
jb 0x140096ca0
jmp 0x1400971a5
lea rax, str.Nv_
mov r9d, 3
mov r10d, 4
mov r11d, 5
mov ebx, 6
mov edi, 7
mov esi, 8
mov r14d, 9
mov r15d, 0xa
mov r12d, 0xb
mov ebp, 0xc
sub r9, rax
sub r10, rax
sub r11, rax
sub rbx, rax
sub rdi, rax
sub rsi, rax
sub r14, rax
sub r15, rax
sub r12, rax
sub rbp, rax
mov r13d, 0xd
sub r13, rax
movabs r8, 0xd28f2c51de26cd5
nop word [rax + rax]
mov rcx, qword [0x140137588]
xor rcx, rdx
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
lea rax, [0x140137568]
add rax, 2
add rdx, rax
mov rax, rcx
shr rax, 7
xor al, cl
mov rcx, rdx
xor byte [rdx], al
lea rax, [0x140137569]
sub rcx, rax
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 1]
xor al, cl
mov rcx, rdx
mov byte [rdx + 1], al
lea rax, [0x140137568]
sub rcx, rax
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 2]
xor al, cl
lea rcx, [r9 + rdx]
mov byte [rdx + 2], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 3]
xor al, cl
lea rcx, [r10 + rdx]
mov byte [rdx + 3], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 4]
xor al, cl
lea rcx, [r11 + rdx]
mov byte [rdx + 4], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 5]
xor al, cl
lea rcx, [rbx + rdx]
mov byte [rdx + 5], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 6]
xor al, cl
lea rcx, [rdi + rdx]
mov byte [rdx + 6], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 7]
xor al, cl
lea rcx, [rsi + rdx]
mov byte [rdx + 7], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 8]
xor al, cl
lea rcx, [r14 + rdx]
mov byte [rdx + 8], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 9]
xor al, cl
lea rcx, [r15 + rdx]
mov byte [rdx + 9], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xa]
xor al, cl
lea rcx, [r12 + rdx]
mov byte [rdx + 0xa], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xb]
xor al, cl
lea rcx, [rdx + rbp]
mov byte [rdx + 0xb], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xc]
xor al, cl
lea rcx, [rdx + r13]
mov byte [rdx + 0xc], al
xor rcx, qword [0x140137588]
xor rcx, r8
mov rax, rcx
shl rax, 0xd
xor rcx, rax
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xd]
xor al, cl
mov byte [rdx + 0xd], al
mov rdx, qword [rsp + 0x70]
add rdx, 0xe
mov qword [rsp + 0x70], rdx
cmp rdx, 0x1c
jb 0x140096f50
mov rcx, qword [rsp + 0x78]
lea r8, [0x140137585]
lea rdx, str.Nv_
call fcn.1400049a0
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret