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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x1a0], rbx
mov rsi, r8
mov r15, rdx
mov r13, rcx
xor r12d, r12d
mov dword [rbp + 0xa8], r12d
mov dword [rsp + 0x78], r12d
mov rdx, r8
add rcx, 0x128
call fcn.140007070
mov rbx, rax
mov rdi, qword [r13 + 0x128]
cmp rax, rdi
je 0x14001cf2e
lea r8, [rax + 0x20]
mov rdx, rsi
lea rcx, [r13 + 0x128]
call fcn.14000f8f0
test al, al
je 0x14001cf31
mov rbx, rdi
cmp rbx, rdi
jne 0x14001cf5f
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], 0xf
mov byte [r15], r12b
xor r8d, r8d
lea rdx, [0x14006d548]
mov rcx, r15
call fcn.140018190
mov rax, r15
jmp 0x14001d9ab
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x38], rax
xor r15d, r15d
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], r15b
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x14001d255
movdqa xmm0, xmmword [0x14006e770]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], r15b
mov dword [rsp + 0x78], 2
inc rdx
lea rcx, [rsp + 0x30]
call fcn.14001f2d0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14001d00a
lea rax, [rcx + 1]
mov qword [rsp + 0x40], rax
lea rdi, [rsp + 0x30]
cmp rdx, 0x10
cmovae rdi, qword [rsp + 0x30]
add rdi, rcx
lea r8d, [r15 + 1]
lea rdx, [0x14006ad64]
mov rcx, rdi
call fcn.140041d50
mov byte [rdi + 1], r15b
jmp 0x14001d02b
mov qword [rsp + 0x20], 1
lea r9, [0x14006ad64]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x30]
call fcn.140007890
mov r14, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x14001d039
mov rsi, qword [rsi]
mov r15, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, r15
cmp r14, rax
ja 0x14001d080
lea rax, [r14 + r15]
mov qword [rsp + 0x40], rax
lea rdi, [rsp + 0x30]
cmp rcx, 0x10
cmovae rdi, qword [rsp + 0x30]
lea rcx, [rdi + r15]
mov r8, r14
mov rdx, rsi
call fcn.140041d50
lea rax, [r14 + rdi]
mov byte [rax + r15], 0
jmp 0x14001d098
mov qword [rsp + 0x20], r14
mov r9, rsi
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.140007890
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 0xa
jb 0x14001d0e9
lea rax, [rcx + 0xa]
mov qword [rsp + 0x40], rax
lea rdi, [rsp + 0x30]
cmp rdx, 0x10
cmovae rdi, qword [rsp + 0x30]
add rdi, rcx
mov r8d, 0xa
lea rdx, str._options:_n
mov rcx, rdi
call fcn.140041d50
mov byte [rdi + 0xa], 0
lea rax, [rsp + 0x30]
jmp 0x14001d10a
mov qword [rsp + 0x20], 0xa
lea r9, str._options:_n
xor r8d, r8d
lea edx, [r8 + 0xa]
lea rcx, [rsp + 0x30]
call fcn.140007890
movups xmm1, xmmword [rax]
movups xmmword [rbp + 0x20], xmm1
movups xmm2, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov dword [rsp + 0x78], 6
movups xmmword [rbp - 0x68], xmm1
movups xmmword [rbp - 0x58], xmm2
movdqa xmm0, xmmword [0x14006e770]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], 0
lea r9, [rbp - 0x68]
movq rsi, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
movq r15, xmm0
cmp r15, 0x10
cmovae r9, rsi
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
movq r14, xmm2
cmp r14, rax
ja 0x14001d1b2
lea rax, [r14 + rcx]
mov qword [rsp + 0x68], rax
lea rdi, [rsp + 0x58]
cmp rdx, 0x10
cmovae rdi, qword [rsp + 0x58]
add rdi, rcx
mov r8, r14
mov rdx, r9
mov rcx, rdi
call fcn.140041d50
mov byte [rdi + r14], 0
jmp 0x14001d1cf
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.140007890
mov r15, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x68]
cmp r15, 0x10
jb 0x14001d207
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14001d1fe
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9d8
mov rcx, rsi
call fcn.14004033c
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14001d244
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d23f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9de
call fcn.14004033c
mov r12d, 4
mov dword [rbp + 0xa8], r12d
mov r15, qword [rbp - 0x80]
mov r14, qword [rbx + 0x80]
mov qword [rsp + 0x50], r14
mov rax, qword [rbx + 0x88]
mov qword [rbp - 0x70], rax
cmp r14, rax
je 0x14001d556
lea rsi, [r14 + 0x20]
movabs r11, 0x100000001b3
movabs rax, 0xcbf29ce484222325
cmp byte [rsi + 0xb0], 0
je 0x14001d3c7
mov r9, qword [rsi + 0x10]
mov r8, rsi
mov r10, qword [rsi + 0x18]
cmp r10, 0x10
jb 0x14001d2ae
mov r8, qword [rsi]
mov rdx, rax
xor ecx, ecx
test r9, r9
je 0x14001d2d4
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r11
inc rcx
cmp rcx, r9
jb 0x14001d2c0
mov rax, qword [r13 + 0x118]
and rax, rdx
shl rax, 4
mov rcx, qword [r13 + 0x100]
mov qword [rbp + 0x10], rcx
mov r13, qword [rcx + rax]
mov rdi, r13
add rax, 8
mov qword [rbp + 0x18], rax
mov r12, qword [rbp + 0x90]
mov r12, qword [r12 + 0xf0]
nop dword [rax + rax]
cmp r13, r12
jne 0x14001d31a
mov rax, r12
jmp 0x14001d321
mov rax, qword [rax + rcx]
mov rax, qword [rax]
cmp rdi, rax
je 0x14001d396
lea rcx, [rdi + 0x10]
mov rdx, rsi
cmp r10, 0x10
jb 0x14001d336
mov rdx, qword [rsi]
mov r14, qword [rcx + 0x10]
mov r15, qword [rcx + 0x18]
cmp r15, 0x10
jb 0x14001d347
mov rcx, qword [rcx]
cmp r14, qword [rsi + 0x10]
jne 0x14001d35d
mov r8, r14
call fcn.140041c50
test eax, eax
je 0x14001d36a
mov r10, qword [rsi + 0x18]
mov rdi, qword [rdi]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
jmp 0x14001d310
lea rdx, [rdi + 0x10]
cmp r15, 0x10
jb 0x14001d377
mov rdx, qword [rdx]
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14001d384
mov rcx, qword [rsi]
mov r8, qword [rsi + 0x10]
cmp r8, r14
jne 0x14001d396
call fcn.140041c50
test eax, eax
je 0x14001d399
mov rdi, r12
mov r13, qword [rbp + 0x90]
mov r14, qword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov r12d, dword [rbp + 0xa8]
cmp rdi, qword [r13 + 0xf0]
je 0x14001d3c7
cmp byte [r13 + 0x80], 0
je 0x14001d539
mov rdx, r14
lea rcx, [rbp - 0x68]
call fcn.14001b8f0
nop
cmp r15, qword [rbp - 0x58]
cmovb r15, qword [rbp - 0x58]
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x30]
call fcn.14000aee0
movups xmm2, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x10], xmm2
movups xmm3, xmmword [rsp + 0x40]
movups xmmword [rbp], xmm3
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], cl
or r12d, 8
mov dword [rbp + 0xa8], r12d
mov rax, qword [rbp - 0x40]
cmp qword [rbp - 0x78], rax
je 0x14001d46e
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rax + 0x10], xmm1
mov edi, 0xf
mov byte [rbp - 0x30], cl
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x30], xmm3
mov edx, edi
mov byte [rbp - 0x10], cl
add rax, 0x40
mov qword [rbp - 0x40], rax
jmp 0x14001d48e
lea r8, [rbp - 0x30]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.140005a20
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x78], rax
mov rdx, qword [rbp + 8]
mov rdi, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14001d4c5
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d4c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9e4
call fcn.14004033c
cmp rdi, 0x10
jb 0x14001d4fe
lea rdx, [rdi + 1]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d4f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9ea
call fcn.14004033c
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x14001d539
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d534
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9f0
call fcn.14004033c
add r14, 0xd8
mov qword [rsp + 0x50], r14
add rsi, 0xd8
cmp r14, qword [rbp - 0x70]
jne 0x14001d279
mov r8, qword [rbx + 0x80]
mov qword [rsp + 0x50], r8
mov rax, qword [rbx + 0x88]
mov qword [rbp - 0x70], rax
cmp r8, rax
je 0x14001d932
mov rbx, qword [rbp - 0x48]
add rbx, 0x10
mov qword [rbp + 0xa8], rbx
lea rdi, [r8 + 0x20]
nop dword [rax]
cmp byte [rdi + 0xb0], 0
je 0x14001d654
mov rdx, rdi
lea rcx, [r13 + 0xe8]
call fcn.140015310
shl rax, 4
mov r15, qword [r13 + 0x100]
mov r14, qword [r15 + rax]
mov rbx, r14
lea r12, [rax + 8]
mov rsi, qword [r13 + 0xf0]
nop dword [rax]
cmp r14, rsi
jne 0x14001d5da
mov rax, rsi
jmp 0x14001d5e1
mov rax, qword [r15 + r12]
mov rax, qword [rax]
cmp rbx, rax
je 0x14001d630
lea rcx, [rbx + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14001d5f7
mov rdx, qword [rdi]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14001d605
mov rcx, qword [rcx]
cmp r8, qword [rdi + 0x10]
jne 0x14001d614
call fcn.140041c50
test eax, eax
je 0x14001d619
mov rbx, qword [rbx]
jmp 0x14001d5d0
lea r8, [rbx + 0x10]
mov rdx, rdi
lea rcx, [r13 + 0xe8]
call fcn.14000f8a0
test al, al
je 0x14001d633
mov rbx, rsi
mov r13, qword [rbp + 0x90]
cmp rbx, rsi
mov rbx, qword [rbp + 0xa8]
je 0x14001d654
cmp byte [r13 + 0x80], 0
je 0x14001d910
mov r9d, 0x45
lea r8d, [r9 - 0x12]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.14001b270
nop
lea rdx, [rbx - 0x10]
cmp qword [rbx + 8], 0x10
jb 0x14001d67c
mov rdx, qword [rdx]
mov r8, qword [rbx]
lea rcx, [rsp + 0x58]
call fcn.140018050
mov rax, qword [rbx]
cmp rax, 0x30
jbe 0x14001d7bb
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
jae 0x14001d6c5
lea rax, [rcx + 1]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x58]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x58]
mov word [rax + rcx], 0xa
jmp 0x14001d6d9
mov r9b, 0xa
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x58]
call fcn.140007730
mov r8b, 0x20
mov edx, 0x33
lea rcx, [rbp - 0x30]
call fcn.14000b000
nop
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp - 0x68]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm1
lea rcx, [rsp + 0x58]
call fcn.140018050
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x14001d778
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d772
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9f6
call fcn.14004033c
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14001d898
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d893
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9cc
jmp 0x14001d893
mov edx, 0x33
sub rdx, rax
mov r8b, 0x20
lea rcx, [rbp - 0x30]
call fcn.14000b000
nop
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0x20]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm1
lea rcx, [rsp + 0x58]
call fcn.140018050
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x14001d85d
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d857
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9c6
call fcn.14004033c
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14001d898
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d893
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d9d2
call fcn.14004033c
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140018050
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
jae 0x14001d8e7
lea rax, [rcx + 1]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x58]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x58]
mov word [rax + rcx], 0xa
jmp 0x14001d8fb
mov r9b, 0xa
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x58]
call fcn.140007730
add rbx, 0x40
mov qword [rbp + 0xa8], rbx
lea rcx, [rsp + 0x30]
call fcn.14000de90
mov r8, qword [rsp + 0x50]
add r8, 0xd8
mov qword [rsp + 0x50], r8
add rdi, 0xd8
cmp r8, qword [rbp - 0x70]
jne 0x14001d590
mov r14, qword [rbp + 0x98]
xor eax, eax
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [r14 + 0x10], xmm1
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], al
lea rcx, [rsp + 0x58]
call fcn.14000de90
nop
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x14001d9a8
mov rbx, rdi
mov rsi, qword [rbp - 0x40]
cmp rdi, rsi
je 0x14001d991
mov rcx, rbx
call fcn.14000e2e0
add rbx, 0x40
cmp rbx, rsi
jne 0x14001d980
mov r8, qword [rbp - 0x78]
sub r8, rdi
sar r8, 6
mov rdx, rdi
lea rcx, [rbp - 0x48]
call fcn.140019880
mov rax, r14
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400446a4
nop
call fcn.1400446a4
int3
call fcn.1400446a4
nop
call fcn.1400446a4
nop
call fcn.1400446a4
nop
call fcn.1400446a4
int3
call fcn.1400446a4
nop
call fcn.1400446a4
nop
call fcn.1400446a4
int3