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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x120], xmm8
movdqa xmmword [rbp + 0x110], xmm7
movdqa xmmword [rbp + 0x100], xmm6
mov qword [rbp + 0xf8], 0xfffffffffffffffe
mov qword [rbp + 0xe0], r9
mov rdi, r8
mov rsi, rcx
mov byte [rbp + 0xf7], 1
mov qword [rsp + 0x20], 2
lea r9, str.::C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001flog4rs_1.2.0_srclib.rs
lea rcx, [rbp + 0x10]
mov qword [rbp + 0xe8], rdx
call fcn.1800cfc40
mov byte [rbp + 0xf7], 1
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x10]
call fcn.180099a10
cmp qword [rbp - 0x30], 0
je 0x18009aa86
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x18009aab5
cmp rbx, rdi
jae 0x18009aabd
mov rax, qword [rbp + 0xe8]
cmp byte [rax + rbx], 0xbf
jg 0x18009aabf
mov byte [rbp + 0xf7], 1
lea rax, [0x180182440]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, rdi
xor r8d, r8d
mov r9, rbx
call fcn.18012e070
jmp 0x18009b185
mov eax, 1
mov qword [rbp + 0xc0], rax
mov rbx, rdi
xor eax, eax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd8], rsi
cmp qword [rsi + 0x38], 0
jne 0x18009ab3b
jmp 0x18009ad5e
mov r8d, 2
jmp 0x18009aac8
jne 0x18009aa59
mov r8, rbx
add r8, 2
je 0x18009ab0f
cmp r8, rdi
jae 0x18009aae0
mov rax, qword [rbp + 0xe8]
cmp byte [rax + r8], 0xbf
jle 0x18009aae5
mov rax, r8
jmp 0x18009ab11
mov rax, rdi
je 0x18009ab11
mov byte [rbp + 0xf7], 1
lea rax, [0x180182458]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, rdi
mov r9, rdi
call fcn.18012e070
jmp 0x18009b185
xor eax, eax
sub rdi, rax
mov qword [rbp + 0xc8], rdi
add rax, qword [rbp + 0xe8]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xd8], rsi
cmp qword [rsi + 0x38], 0
je 0x18009ad5e
test rbx, rbx
je 0x18009ab6b
mov ecx, ebx
and ecx, 7
movabs rax, 0x100000001b3
cmp rbx, 8
jae 0x18009ab81
movabs r9, 0xcbf29ce484222325
mov rdx, qword [rbp + 0xe8]
jmp 0x18009ac09
movabs rsi, 0xaf64724c8602eb6e
mov r10, qword [rbp + 0xd8]
jmp 0x18009ac42
mov r8, rbx
and r8, 0xfffffffffffffff8
movabs r9, 0xcbf29ce484222325
mov rdx, qword [rbp + 0xe8]
nop dword [rax]
movzx r10d, byte [rdx]
xor r10, r9
imul r10, rax
movzx r9d, byte [rdx + 1]
xor r9, r10
imul r9, rax
movzx r10d, byte [rdx + 2]
xor r10, r9
imul r10, rax
movzx r9d, byte [rdx + 3]
xor r9, r10
imul r9, rax
movzx r10d, byte [rdx + 4]
xor r10, r9
imul r10, rax
movzx r9d, byte [rdx + 5]
xor r9, r10
imul r9, rax
movzx r10d, byte [rdx + 6]
xor r10, r9
imul r10, rax
movzx r9d, byte [rdx + 7]
add rdx, 8
xor r9, r10
imul r9, rax
add r8, 0xfffffffffffffff8
jne 0x18009aba0
mov r10, qword [rbp + 0xd8]
mov rsi, r9
test rcx, rcx
je 0x18009ac37
xor r8d, r8d
nop dword [rax + rax]
movzx esi, byte [rdx + r8]
xor rsi, r9
imul rsi, rax
inc r8
mov r9, rsi
cmp rcx, r8
jne 0x18009ac20
xor rsi, 0xff
imul rsi, rax
mov rcx, qword [r10 + 0x20]
mov r13, qword [r10 + 0x28]
mov rax, rsi
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
mov qword [rbp + 0xd0], rcx
lea r15, [rcx - 0x58]
xor r14d, r14d
pcmpeqd xmm7, xmm7
and rsi, r13
mov rax, qword [rbp + 0xd0]
movdqu xmm8, xmmword [rax + rsi]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb edi, xmm0
test edi, edi
jne 0x18009accc
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x18009ad5e
add rsi, r14
add rsi, 0x10
add r14, 0x10
jmp 0x18009ac75
lea eax, [rdi - 1]
and eax, edi
mov edi, eax
test ax, ax
je 0x18009ac96
tzcnt eax, edi
add rax, rsi
and rax, r13
neg rax
imul r12, rax, 0x58
cmp qword [r15 + r12 + 0x10], rbx
jne 0x18009acc0
lea rax, [r15 + r12]
mov rdx, qword [rax + 8]
mov rcx, qword [rbp + 0xe8]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18009acc0
mov rax, qword [rbp + 0xd0]
lea rcx, [rax + r12]
add rcx, 0xffffffffffffffc0
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rbp + 0x10], xmm0
mov byte [rbp + 0xf7], 0
mov rax, qword [rbp + 0x1a8]
mov qword [rsp + 0x28], rax
movzx eax, byte [rbp + 0x1a0]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xc8]
call fcn.18009a9b0
jmp 0x18009b125
cmp qword [rbp + 0xc8], 0
je 0x18009adc9
mov rdi, qword [rbp + 0xd8]
mov r15, qword [rdi]
mov r13, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x18009ae1e
mov rax, r14
shr rax, 0x3c
lea r12, [r14*8]
test rax, rax
jne 0x18009b166
movzx eax, byte [0x1801d1771]
mov eax, 8
mov qword [rbp + 0xd0], rax
mov edx, 8
mov rcx, r12
call fcn.180023d40
test rax, rax
je 0x18009b16f
mov rsi, rax
jmp 0x18009ae26
cmp byte [rbp + 0x1a0], 0
mov rcx, qword [rbp + 0xe0]
mov rdi, qword [rbp + 0xd8]
je 0x18009affe
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, r14
jae 0x18009af0c
mov byte [rbp + 0xf7], 1
mov r8, r14
call fcn.180129930
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rcx + 0x10]
jmp 0x18009af15
mov esi, 8
xor r12d, r12d
mov rcx, rsi
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], r14
movups xmm0, xmmword [0x180182480]
movups xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [0x180182490]
movups xmmword [rbp + 0x40], xmm0
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x20], rax
movdqu xmm0, xmmword [rcx]
movdqa xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x1a8]
mov qword [rsp + 0x28], rax
movzx eax, byte [rbp + 0x1a0]
mov byte [rsp + 0x20], al
lea rcx, [rbp + 0x10]
lea r9, [rbp - 0x30]
mov rdx, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xc8]
call fcn.18009a9b0
movdqu xmm0, xmmword [rbp + 0x10]
movups xmm1, xmmword [rbp + 0x20]
movups xmm2, xmmword [rbp + 0x30]
movups xmm3, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x90], xmm1
movaps xmmword [rbp + 0xa0], xmm2
movaps xmmword [rbp + 0xb0], xmm3
test rbx, rbx
je 0x18009b048
js 0x18009b14f
movzx eax, byte [0x1801d1771]
mov r14d, 1
mov edx, 1
mov rcx, rbx
call fcn.180023d40
test rax, rax
je 0x18009b152
mov rsi, rax
jmp 0x18009b04d
test r14, r14
je 0x18009affa
mov rax, qword [rcx + 8]
cmp r14, 8
jb 0x18009af30
lea r8, [rax + rdx*8]
sub r8, rsi
cmp r8, 0x20
jae 0x18009afb4
xor r11d, r11d
mov r9, r14
mov r8, r11
and r9, 3
je 0x18009af53
nop
mov r10, qword [rsi + r8*8]
mov qword [rax + rdx*8], r10
inc rdx
inc r8
dec r9
jne 0x18009af40
sub r11, r14
cmp r11, 0xfffffffffffffffc
ja 0x18009affa
lea rax, [rax + rdx*8]
add rax, 0x18
lea r10, [rsi + r8*8]
add r10, 0x18
sub r14, r8
xor r8d, r8d
nop word cs:[rax + rax]
mov r9, qword [r10 + r8*8 - 0x18]
mov qword [rax + r8*8 - 0x18], r9
mov r9, qword [r10 + r8*8 - 0x10]
mov qword [rax + r8*8 - 0x10], r9
mov r9, qword [r10 + r8*8 - 8]
mov qword [rax + r8*8 - 8], r9
mov r9, qword [r10 + r8*8]
mov qword [rax + r8*8], r9
add r8, 4
cmp r14, r8
jne 0x18009af80
add rdx, r8
jmp 0x18009affa
lea r8, [rdx*8]
mov r11, r14
and r11, 0xfffffffffffffffc
add rdx, r11
add r8, rax
add r8, 0x10
xor r9d, r9d
movdqu xmm0, xmmword [rsi + r9*8]
movups xmm1, xmmword [rsi + r9*8 + 0x10]
movdqu xmmword [r8 + r9*8 - 0x10], xmm0
movups xmmword [r8 + r9*8], xmm1
add r9, 4
cmp r11, r9
jne 0x18009afd0
cmp r14, r11
jne 0x18009af33
mov qword [rcx + 0x10], rdx
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x98], rax
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x88], xmm0
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x80], rax
movups xmm0, xmmword [0x180182480]
movaps xmmword [rbp + 0xa0], xmm0
movdqu xmm0, xmmword [0x180182490]
movdqa xmmword [rbp + 0xb0], xmm0
test rbx, rbx
jne 0x18009aedb
mov esi, 1
add rdi, 0x20
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rbx
movdqa xmm0, xmmword [rbp + 0x80]
movaps xmm1, xmmword [rbp + 0x90]
movaps xmm2, xmmword [rbp + 0xa0]
movaps xmm3, xmmword [rbp + 0xb0]
movaps xmmword [rbp + 0x40], xmm3
movaps xmmword [rbp + 0x30], xmm2
movaps xmmword [rbp + 0x20], xmm1
movdqa xmmword [rbp + 0x10], xmm0
mov byte [rbp + 0xf6], 1
lea rcx, [rbp - 0x30]
lea r8, [rbp - 0x48]
lea r9, [rbp + 0x10]
mov rdx, rdi
call fcn.1800a4430
cmp dword [rbp - 0x30], 6
je 0x18009b125
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x18009b0da
mov rcx, qword [rbp - 0x20]
shl rdx, 3
mov r8d, 8
call fcn.180023d50
mov rsi, qword [rbp - 8]
test rsi, rsi
je 0x18009b125
lea rcx, [rbp - 0x10]
mov byte [rbp + 0xf6], 1
call fcn.1800150e0
lea rax, [rsi + 1]
mov ecx, 0x58
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rsi, rax
add rsi, 0x11
je 0x18009b125
mov rcx, qword [rbp - 0x10]
sub rcx, rax
mov r8d, 0x10
mov rdx, rsi
call fcn.180023d50
movaps xmm6, xmmword [rbp + 0x100]
movaps xmm7, xmmword [rbp + 0x110]
movaps xmm8, xmmword [rbp + 0x120]
add rsp, 0x1b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor r14d, r14d
mov byte [rbp + 0xf6], 0
mov rcx, r14
mov rdx, rbx
call fcn.18012d940
jmp 0x18009b185
xor eax, eax
mov qword [rbp + 0xd0], rax
mov byte [rbp + 0xf7], 1
mov rcx, qword [rbp + 0xd0]
mov rdx, r12
call fcn.18012d940
ud2