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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rbx, rdx
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140002ab0
nop
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.1400027b0
mov r10, rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140007f0a
mov rdx, qword [rax]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x140007f43
movabs r11, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r11
inc rcx
cmp rcx, r8
jb 0x140007f30
mov r8, r10
lea rdx, [rbp - 0x40]
call fcn.140010880
mov rcx, qword [rax + 8]
mov rsi, qword [0x140075d48]
mov rdi, rsi
test rcx, rcx
cmovne rdi, rcx
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140007f9f
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008392
call fcn.140021dd0
movdqa xmm0, xmmword [0x140067f20]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140007ff0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007feb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008398
call fcn.140021dd0
cmp rdi, rsi
jne 0x1400081e2
lea rax, [rbp - 0x60]
mov qword [rbp - 0x10], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0
mov r8d, 6
lea rdx, str.unlock
lea rcx, [rbp - 0x60]
call fcn.14000bfb0
nop
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400027b0
nop
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.1400170c0
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140008055
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.140002400
cmp rax, r11
je 0x1400080ab
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14000807f
cmp cx, 0x2f
jne 0x140008088
add rax, 2
cmp rax, r11
jne 0x140008070
cmp rax, r11
je 0x1400080ab
nop dword [rax]
lea rcx, [r10 - 2]
movzx edx, word [rcx]
cmp dx, 0x5c
je 0x1400080ab
cmp dx, 0x2f
je 0x1400080ab
mov r10, rcx
cmp rax, rcx
jne 0x140008090
mov qword [rbp - 0x40], r10
sub r11, r10
sar r11, 1
mov qword [rbp - 0x38], r11
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x30]
call fcn.14000ff50
nop
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x30]
call fcn.1400027b0
mov rbx, rax
lea rdi, [0x140075cf0]
mov qword [rbp - 0x40], rdi
mov rcx, rdi
call fcn.1400214e8
test eax, eax
jne 0x14000839e
lea rdx, str.e_36mUnlocked:_t
lea rcx, [0x140074630]
call fcn.14000ac80
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140008113
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [0x140074630]
call fcn.1400100a0
lea rdx, str.e_0m
lea rcx, [0x140074630]
call fcn.14000ac80
lea rcx, [0x140074630]
call fcn.14000af40
nop
mov rcx, rdi
call fcn.14002150c
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140008186
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008181
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400083a6
call fcn.140021dd0
movdqa xmm0, xmmword [0x140067f20]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x1400081d7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400081d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400083ac
call fcn.140021dd0
inc dword [0x140075ce0]
jmp 0x140008373
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400081ef
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.140002400
cmp rax, r11
je 0x14000824b
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140008216
cmp cx, 0x2f
jne 0x14000821f
add rax, 2
cmp rax, r11
jne 0x140008207
cmp rax, r11
je 0x14000824b
nop dword [rax]
nop dword [rax + rax]
lea rcx, [r10 - 2]
movzx edx, word [rcx]
cmp dx, 0x5c
je 0x14000824b
cmp dx, 0x2f
je 0x14000824b
mov r10, rcx
cmp rax, rcx
jne 0x140008230
mov qword [rbp - 0x40], r10
sub r11, r10
sar r11, 1
mov qword [rbp - 0x38], r11
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x30]
call fcn.14000ff50
nop
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x30]
call fcn.1400027b0
mov rbx, rax
lea rdi, [0x140075cf0]
mov qword [rbp - 0x40], rdi
mov rcx, rdi
call fcn.1400214e8
test eax, eax
jne 0x1400083b2
lea rdx, str.e_33mSkipped:_t
lea rcx, [0x140074630]
call fcn.14000ac80
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x1400082b3
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [0x140074630]
call fcn.1400100a0
lea rdx, str.e_0m
lea rcx, [0x140074630]
call fcn.14000ac80
lea rcx, [0x140074630]
call fcn.14000af40
nop
mov rcx, rdi
call fcn.14002150c
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140008326
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008321
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400083ba
call fcn.140021dd0
movdqa xmm0, xmmword [0x140067f20]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140008373
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000836e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000838c
call fcn.140021dd0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.140036238
nop
call fcn.140036238
nop
call fcn.140036238
nop
mov ecx, eax
call fcn.1400207f4
nop
call fcn.140036238
nop
call fcn.140036238
nop
mov ecx, eax
call fcn.1400207f4
nop
call fcn.140036238
int3
lea rdx, [rcx + 8]
jmp 0x140007ec0