Function at 0x14001e0b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14005c198]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rbx, r8
mov rsi, rdx
mov qword [rbp - 0x58], rdx
mov r15, rcx
mov qword [rsp + 0x50], rcx
mov qword [rbp - 0x68], rdx
xor r14d, r14d
lea rdx, [rbp - 0x50]
add rcx, 0xf0
call fcn.140004cf0
mov r13, qword [rbp - 0x40]
cmp byte [r13 + 0x19], r14b
jne 0x14001ebb2
lea r8, [r13 + 0x20]
mov rdx, rbx
lea rcx, [r15 + 0xf0]
call fcn.140011c90
test al, al
jne 0x14001ebb2
cmp r13, qword [r15 + 0xf0]
je 0x14001ebb2
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov eax, r14d
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rax
mov edi, r14d
mov qword [rsp + 0x40], r14
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], dil
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
test rcx, rcx
je 0x14001e30e
sub rax, rcx
cmp rax, 1
jb 0x14001ebf7
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14001e19c
mov rax, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x14004256c]
mov r8, rbx
movzx edx, byte [rsp + 0x48]
lea rcx, [rbp + 0x30]
call fcn.14000b5f0
nop
mov r8d, 0xa
lea rdx, str._options:_n
lea rcx, [rbp + 0x30]
call fcn.14001a240
movups xmm1, xmmword [rax]
movups xmmword [rbp - 0x18], xmm1
movups xmm2, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movups xmmword [rbp + 8], xmm1
movups xmmword [rbp + 0x18], xmm2
movdqa xmm0, xmmword [0x140043260]
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp - 0x18], 0
lea r9, [rbp + 8]
movq rdi, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
movq r14, xmm0
cmp r14, 0x10
cmovae r9, rdi
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
movq rsi, xmm2
cmp rsi, rax
ja 0x14001e274
lea rax, [rsi + rcx]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
jmp 0x14001e290
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.140005ba0
mov r14, qword [rbp + 0x20]
mov rdi, qword [rbp + 8]
cmp r14, 0x10
jb 0x14001e2cb
lea rdx, [r14 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14001e2c2
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001e2c2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.14003c35c
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14001e309
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e304
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001e304
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003c35c
mov rdi, qword [rsp + 0x40]
mov rsi, qword [r13 + 0x80]
mov r12, qword [r13 + 0x88]
movabs r8, 0xcbf29ce484222325
movabs r10, 0x100000001b3
cmp rsi, r12
je 0x14001e562
lea r14, [r15 + 0xb0]
lea rbx, [rsi + 0x20]
mov r15, qword [rsp + 0x70]
nop dword [rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14001e35d
mov rdx, qword [rbx]
mov r9, r8
mov r8, qword [rbx + 0x10]
xor ecx, ecx
test r8, r8
je 0x14001e383
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14001e370
mov r8, rbx
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.140004c20
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x14001e39f
mov rcx, qword [r14 + 8]
mov rax, qword [rsp + 0x50]
cmp rcx, qword [rax + 0xb8]
je 0x14001e3ba
cmp byte [rax + 0x80], 0
je 0x14001e523
mov rdx, rsi
lea rcx, [rbp + 8]
call fcn.14001cbe0
nop
cmp rdi, qword [rbp + 0x18]
cmovb rdi, qword [rbp + 0x18]
mov qword [rsp + 0x40], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], 0
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x30]
call fcn.14000b330
movups xmm2, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x50], xmm2
movups xmm3, xmmword [rbp - 8]
movaps xmmword [rbp + 0x60], xmm3
xor eax, eax
mov qword [rbp - 8], rax
mov qword [rbp], 0xf
mov byte [rbp - 0x18], al
cmp r15, qword [rsp + 0x60]
je 0x14001e458
movaps xmm0, xmmword [rbp + 0x30]
movups xmmword [r15], xmm0
movaps xmm1, xmmword [rbp + 0x40]
movups xmmword [r15 + 0x10], xmm1
mov edi, 0xf
mov byte [rbp + 0x30], al
movups xmmword [r15 + 0x20], xmm2
movups xmmword [r15 + 0x30], xmm3
mov edx, edi
mov byte [rbp + 0x50], al
add r15, 0x40
mov qword [rsp + 0x70], r15
jmp 0x14001e480
lea r8, [rbp + 0x30]
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.1400042b0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov r15, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14001e4b7
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e4b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e554
call fcn.14003c35c
cmp rdi, 0x10
jb 0x14001e4ec
lea rdx, [rdi + 1]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e4e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e554
call fcn.14003c35c
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x14001e523
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e51e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e55b
call fcn.14003c35c
add rsi, 0xd8
add rbx, 0xd8
movabs r10, 0x100000001b3
movabs r8, 0xcbf29ce484222325
cmp rsi, r12
je 0x14001e567
mov rdi, qword [rsp + 0x40]
jmp 0x14001e350
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r15, qword [rsp + 0x70]
mov eax, 0x1e
mov r14, qword [rsp + 0x40]
cmp r14, rax
cmova r14, rax
mov qword [rsp + 0x40], r14
mov eax, 0x4a
sub rax, r14
mov qword [rbp - 0x70], rax
mov rax, qword [r13 + 0x80]
mov qword [rsp + 0x58], rax
mov rcx, qword [r13 + 0x88]
mov qword [rbp - 0x68], rcx
mov rdi, qword [rsp + 0x68]
cmp rax, rcx
je 0x14001eb28
mov rsi, qword [rsp + 0x50]
lea rbx, [rsi + 0xb0]
mov qword [rbp - 0x80], rbx
lea r13, [rdi + 0x10]
lea r12, [rax + 0x20]
nop word [rax + rax]
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x14001e5df
mov rdx, qword [r12]
mov r9, r8
mov r8, qword [r12 + 0x10]
xor ecx, ecx
test r8, r8
je 0x14001e603
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14001e5f0
mov r8, r12
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.140004c20
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x14001e61f
mov rcx, qword [rbx + 8]
cmp rcx, qword [rsi + 0xb8]
je 0x14001e635
cmp byte [rsi + 0x80], 0
je 0x14001eadf
lea rsi, [r14 + 2]
mov r9, qword [rbp - 0x70]
mov r8, rsi
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 8]
call fcn.14001c690
nop
lea r9, [r13 - 0x10]
cmp qword [r13 + 8], 0x10
jb 0x14001e65d
mov r9, qword [r9]
mov rdi, qword [r13]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14001e6a0
lea rax, [rcx + rdi]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x14001e6b4
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140005ba0
mov rax, qword [r13]
cmp rax, r14
jbe 0x14001e877
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
cmp rcx, rdx
jae 0x14001e6eb
lea rax, [rcx + 1]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x38]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x38]
mov word [rax + rcx], 0xa
jmp 0x14001e6fe
mov r9b, 0xa
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x38]
call fcn.140005a30
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xor r14d, r14d
mov qword [rbp - 8], r14
mov qword [rbp], r14
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x14001ebf1
cmp rsi, 0x10
jae 0x14001e74c
mov qword [rbp - 8], rsi
mov qword [rbp], 0xf
mov r8, rsi
lea edx, [r14 + 0x20]
lea rcx, [rbp - 0x18]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + rsi - 0x18], r14b
jmp 0x14001e79a
mov rdi, rsi
or rdi, 0xf
cmp rdi, rax
jbe 0x14001e75d
mov rdi, rax
jmp 0x14001e76a
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x18]
call fcn.14001a020
mov rbx, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], rsi
mov qword [rbp], rdi
mov r8, rsi
mov edx, 0x20
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + rsi], r14b
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rbp - 8]
movups xmmword [rbp + 0x40], xmm1
mov qword [rbp - 8], r14
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
lea r9, [rbp + 0x30]
movq rdi, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r14, xmm0
cmp r14, 0x10
cmovae r9, rdi
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
movq rsi, xmm1
cmp rsi, rax
ja 0x14001e81d
lea rax, [rcx + rsi]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
jmp 0x14001e839
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.140005ba0
mov r14, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x30]
cmp r14, 0x10
jb 0x14001e9f4
lea rdx, [r14 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14001e9eb
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001e9eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdi, r14
sub rdi, rax
add rdi, 2
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xor r14d, r14d
mov qword [rbp - 8], r14
mov qword [rbp], r14
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x14001ebf1
cmp rdi, 0x10
jae 0x14001e8cf
mov qword [rbp - 8], rdi
mov qword [rbp], 0xf
mov r8, rdi
lea edx, [r14 + 0x20]
lea rcx, [rbp - 0x18]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + rdi - 0x18], r14b
jmp 0x14001e91d
mov rsi, rdi
or rsi, 0xf
cmp rsi, rax
jbe 0x14001e8e0
mov rsi, rax
jmp 0x14001e8ed
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rdx, [rsi + 1]
lea rcx, [rbp - 0x18]
call fcn.14001a020
mov rbx, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], rdi
mov qword [rbp], rsi
mov r8, rdi
mov edx, 0x20
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + rdi], r14b
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rbp - 8]
movups xmmword [rbp + 0x40], xmm1
mov qword [rbp - 8], r14
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
lea r9, [rbp + 0x30]
movq rdi, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r14, xmm0
cmp r14, 0x10
cmovae r9, rdi
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
movq rsi, xmm1
cmp rsi, rax
ja 0x14001e9a0
lea rax, [rcx + rsi]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
jmp 0x14001e9bc
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.140005ba0
mov r14, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x30]
cmp r14, 0x10
jb 0x14001e9f4
lea rdx, [r14 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14001e9eb
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001eb15
mov rcx, rdi
call fcn.14003c35c
nop
lea r9, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae r9, qword [rbp + 8]
mov rdi, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14001ea45
lea rax, [rcx + rdi]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x14001ea59
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140005ba0
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
cmp rcx, rdx
jae 0x14001ea83
lea rax, [rcx + 1]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x38]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x38]
mov word [rax + rcx], 0xa
jmp 0x14001ea96
mov r9b, 0xa
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x38]
call fcn.140005a30
add r13, 0x40
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x14001ead1
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001eacc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001eb1c
call fcn.14003c35c
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rbp - 0x80]
mov r14, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
add rax, 0xd8
mov qword [rsp + 0x58], rax
add r12, 0xd8
cmp rax, qword [rbp - 0x68]
je 0x14001eb23
movabs r10, 0x100000001b3
movabs r8, 0xcbf29ce484222325
jmp 0x14001e5d0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rbp - 0x58]
xor eax, eax
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x28]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], al
test rdi, rdi
je 0x14001ebc7
mov rbx, rdi
cmp rdi, r15
je 0x14001eb71
nop dword [rax]
mov rcx, rbx
call fcn.140010740
add rbx, 0x40
cmp rbx, r15
jne 0x14001eb60
mov rcx, qword [rsp + 0x60]
sub rcx, rdi
and rcx, 0xffffffffffffffc0
mov rax, rdi
cmp rcx, 0x1000
jb 0x14001eba5
add rcx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001eba5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rcx
mov rcx, rdi
call fcn.14003c35c
jmp 0x14001ebc7
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r14b
mov rax, rsi
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.14003c6c0
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140019870
nop
call fcn.140019870
int3