Function at 0x180028440
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 rsi, r8
mov rdi, rcx
mov byte [rbp + 0xf7], 1
mov qword [rsp + 0x20], 2
lea r9, str.::C:UsersVincent.cargo_registry_srcindex.crates.io_6f17d22bba15001flog4rs_1.2.0_srclib.rs
lea rcx, [rbp + 0x10]
mov qword [rbp + 0xe8], rdx
call fcn.1800536b0
mov byte [rbp + 0xf7], 1
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x10]
call fcn.180027ee0
cmp dword [rbp - 0x30], 1
jne 0x180028516
mov r12, qword [rbp - 0x28]
test r12, r12
je 0x180028547
cmp r12, rsi
jae 0x18002854f
mov rax, qword [rbp + 0xe8]
cmp byte [rax + r12], 0xbf
jg 0x180028551
mov byte [rbp + 0xf7], 1
lea rax, [0x180068088]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, rsi
xor r8d, r8d
mov r9, r12
call fcn.18005e3c0
jmp 0x180028c0d
lea rax, [0x180067dc8]
mov qword [rbp + 0xc8], rax
xor eax, eax
mov qword [rbp + 0xd0], rax
mov r12, rsi
mov qword [rbp + 0xd8], rdi
cmp qword [rdi + 0x10], 0
jne 0x1800285d0
jmp 0x1800287f8
mov r8d, 2
jmp 0x18002855a
jne 0x1800284e9
mov r8, r12
add r8, 2
je 0x1800285a1
cmp r8, rsi
jae 0x180028572
mov rax, qword [rbp + 0xe8]
cmp byte [rax + r8], 0xbf
jle 0x180028577
mov rax, r8
jmp 0x1800285a3
mov rax, rsi
je 0x1800285a3
mov byte [rbp + 0xf7], 1
lea rax, [0x180068070]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, rsi
mov r9, rsi
call fcn.18005e3c0
jmp 0x180028c0d
xor eax, eax
mov rcx, qword [rbp + 0xe8]
add rcx, rax
mov qword [rbp + 0xc8], rcx
sub rsi, rax
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], rdi
cmp qword [rdi + 0x10], 0
je 0x1800287f8
test r12, r12
je 0x180028606
lea rdx, [r12 - 1]
mov ecx, r12d
and ecx, 7
movabs rax, 0x100000001b3
cmp rdx, 7
jae 0x18002861c
movabs rdi, 0xcbf29ce484222325
mov rdx, qword [rbp + 0xe8]
jmp 0x1800286a1
movabs r14, 0xaf64724c8602eb6e
mov rsi, qword [rbp + 0xd8]
jmp 0x1800286e2
mov rbx, r12
and rbx, 0xfffffffffffffff8
movabs rdi, 0xcbf29ce484222325
mov rdx, qword [rbp + 0xe8]
nop word cs:[rax + rax]
movzx esi, byte [rdx]
xor rsi, rdi
imul rsi, rax
movzx edi, byte [rdx + 1]
xor rdi, rsi
imul rdi, rax
movzx esi, byte [rdx + 2]
xor rsi, rdi
imul rsi, rax
movzx edi, byte [rdx + 3]
xor rdi, rsi
imul rdi, rax
movzx esi, byte [rdx + 4]
xor rsi, rdi
imul rsi, rax
movzx edi, byte [rdx + 5]
xor rdi, rsi
imul rdi, rax
movzx esi, byte [rdx + 6]
xor rsi, rdi
imul rsi, rax
movzx edi, byte [rdx + 7]
add rdx, 8
xor rdi, rsi
imul rdi, rax
add rbx, 0xfffffffffffffff8
jne 0x180028640
mov rsi, qword [rbp + 0xd8]
mov r14, rdi
test rcx, rcx
je 0x1800286d7
xor ebx, ebx
nop word cs:[rax + rax]
movzx r14d, byte [rdx + rbx]
xor r14, rdi
imul r14, rax
inc rbx
mov rdi, r14
cmp rcx, rbx
jne 0x1800286c0
xor r14, 0xff
imul r14, rax
mov r15, qword [rsi]
mov rcx, qword [rsi + 0x18]
mov rax, r14
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
mov qword [rbp + 0xc0], rcx
lea rbx, [rcx - 0x58]
xor r13d, r13d
pcmpeqd xmm8, xmm8
and r14, r15
mov rax, qword [rbp + 0xc0]
movdqu xmm7, xmmword [rax + r14]
movdqa xmm0, xmm6
pcmpeqb xmm0, xmm7
pmovmskb edi, xmm0
test edi, edi
jne 0x18002876c
pcmpeqb xmm7, xmm8
pmovmskb eax, xmm7
test eax, eax
jne 0x1800287f8
add r14, r13
add r14, 0x10
add r13, 0x10
jmp 0x180028715
lea eax, [rdi - 1]
and eax, edi
mov edi, eax
test ax, ax
je 0x180028735
bsf ax, di
movzx eax, ax
add rax, r14
and rax, r15
neg rax
imul rsi, rax, 0x58
cmp qword [rbx + rsi + 0x10], r12
jne 0x180028760
add rsi, rbx
mov rdx, qword [rsi + 8]
mov rcx, qword [rbp + 0xe8]
mov r8, r12
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180028760
add rsi, 0x18
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [rcx]
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 rcx, rsi
mov rdx, qword [rbp + 0xc8]
mov r8, qword [rbp + 0xd0]
call fcn.180028440
jmp 0x180028b08
cmp qword [rbp + 0xd0], 0
je 0x18002885f
mov r13, qword [rbp + 0xd8]
mov rdi, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x30]
movdqu xmm6, xmmword [r13 + 0x30]
test rbx, rbx
je 0x1800288b4
xor r15d, r15d
mov rax, rbx
shr rax, 0x3c
sete al
jne 0x180028bed
lea rsi, [rbx*8]
mov r15b, al
shl r15, 3
test rsi, rsi
je 0x1800288be
mov rcx, rsi
mov rdx, r15
call fcn.180004d60
mov r14, rax
test r14, r14
jne 0x1800288ca
jmp 0x180028bfb
cmp byte [rbp + 0x1a0], 0
mov rcx, qword [rbp + 0xe0]
mov r13, qword [rbp + 0xd8]
je 0x180028a17
mov r15, qword [r13 + 0x28]
mov r14, qword [r13 + 0x30]
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, r14
jae 0x1800289bd
mov byte [rbp + 0xf7], 1
mov r8, r14
call fcn.18005a7f0
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rcx + 0x10]
jmp 0x1800289c2
mov r14d, 8
xor esi, esi
jmp 0x1800288ca
mov r14, r15
test r14, r14
je 0x180028bfb
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
lea rax, [0x180067a40]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], r14
movdqa xmmword [rbp + 0x40], xmm6
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 + 0xc8]
mov r8, qword [rbp + 0xd0]
call fcn.180028440
movdqa xmm0, xmmword [rbp + 0x10]
movaps xmm1, xmmword [rbp + 0x20]
movaps xmm2, xmmword [rbp + 0x30]
movaps 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 r12, r12
je 0x180028a6a
setns al
js 0x180028bdf
movzx r14d, al
mov rcx, r12
mov rdx, r14
call fcn.180004d60
mov rsi, rax
test rax, rax
jne 0x180028a6f
mov byte [rbp + 0xf6], 1
mov rcx, r12
mov rdx, r14
call fcn.18005dc80
jmp 0x180028c0d
test r14, r14
je 0x180028a13
mov rax, qword [rcx + 8]
lea rbx, [r14 - 1]
movabs r10, 0x1fffffffffffffff
and r10, rbx
cmp r10, 9
jb 0x1800289ee
lea rbx, [rax + rdx*8]
sub rbx, r15
cmp rbx, 0x20
jae 0x180028b32
mov rsi, r15
lea rbx, [r15 + r14*8]
nop word cs:[rax + rax]
mov rdi, qword [rsi]
add rsi, 8
mov qword [rax + rdx*8], rdi
inc rdx
cmp rsi, rbx
jne 0x180028a00
mov qword [rcx + 0x10], rdx
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0xb0], rax
movdqu xmm0, xmmword [rcx]
movdqa xmmword [rbp + 0xa0], xmm0
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], 0
lea rax, [0x180067a40]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0xb8], rax
test r12, r12
jne 0x180028982
mov esi, 1
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], r12
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], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp - 0x48]
lea r9, [rbp + 0x10]
mov rdx, r13
call fcn.1800257c0
cmp dword [rbp + 8], 6
je 0x180028b08
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x180028af8
mov rcx, qword [rbp - 8]
shl rdx, 3
mov r8d, 8
call fcn.180004d70
mov byte [rbp + 0xf6], 0
lea rcx, [rbp - 0x30]
call fcn.1800117f0
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
inc r10
mov r8, r10
and r8, 0xfffffffffffffffc
lea rbx, [r8 - 4]
mov r9, rbx
shr r9, 2
inc r9
test rbx, rbx
je 0x180028ba8
lea rbx, [rdx*8]
mov rdi, r9
and rdi, 0xfffffffffffffffe
lea rsi, [rbx + rax]
add rsi, 0x30
xor ebx, ebx
nop dword [rax + rax]
movups xmm0, xmmword [r15 + rbx*8]
movups xmm1, xmmword [r15 + rbx*8 + 0x10]
movups xmmword [rsi + rbx*8 - 0x30], xmm0
movups xmmword [rsi + rbx*8 - 0x20], xmm1
movdqu xmm0, xmmword [r15 + rbx*8 + 0x20]
movups xmm1, xmmword [r15 + rbx*8 + 0x30]
movdqu xmmword [rsi + rbx*8 - 0x10], xmm0
movups xmmword [rsi + rbx*8], xmm1
add rbx, 8
add rdi, 0xfffffffffffffffe
jne 0x180028b70
jmp 0x180028baa
xor ebx, ebx
test r9b, 1
je 0x180028bca
lea rdi, [rdx + rbx]
movdqu xmm0, xmmword [r15 + rbx*8]
movups xmm1, xmmword [r15 + rbx*8 + 0x10]
movdqu xmmword [rax + rdi*8], xmm0
movups xmmword [rax + rdi*8 + 0x10], xmm1
add rdx, r8
cmp r10, r8
je 0x180028a13
lea rsi, [r15 + r8*8]
jmp 0x1800289f1
mov byte [rbp + 0xf6], 1
call fcn.18004f590
jmp 0x180028c0d
mov byte [rbp + 0xf7], 1
call fcn.18004f590
jmp 0x180028c0d
mov byte [rbp + 0xf7], 1
mov rcx, rsi
mov rdx, r15
call fcn.18005dc80
ud2