Function at 0x1800256d0
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_srcgithub.com_1ecc6299db9ec823log4rs_1.2.0_srclib.rs
lea rcx, [rbp + 0x10]
mov qword [rbp + 0xe8], rdx
call fcn.18008acd0
mov byte [rbp + 0xf7], 1
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x10]
call fcn.180024d40
cmp dword [rbp - 0x30], 1
jne 0x1800257a6
mov r13, qword [rbp - 0x28]
test r13, r13
je 0x1800257d7
cmp r13, rsi
jae 0x1800257df
mov rax, qword [rbp + 0xe8]
cmp byte [rax + r13], 0xbf
jg 0x1800257e1
mov byte [rbp + 0xf7], 1
lea rax, [0x1800a02a0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, rsi
xor r8d, r8d
mov r9, r13
call fcn.180096680
jmp 0x180025ef4
lea rax, fcn.180001310
mov qword [rbp + 0xc8], rax
xor eax, eax
mov qword [rbp + 0xd0], rax
mov r13, rsi
mov qword [rbp + 0xd8], rdi
cmp qword [rdi + 0x10], 0
jne 0x180025860
jmp 0x180025a8d
mov r8d, 2
jmp 0x1800257ea
jne 0x180025779
mov r8, r13
add r8, 2
je 0x180025831
cmp r8, rsi
jae 0x180025802
mov rax, qword [rbp + 0xe8]
cmp byte [rax + r8], 0xbf
jle 0x180025807
mov rax, r8
jmp 0x180025833
mov rax, rsi
je 0x180025833
mov byte [rbp + 0xf7], 1
lea rax, [0x1800a02b8]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, rsi
mov r9, rsi
call fcn.180096680
jmp 0x180025ef4
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 0x180025a8d
test r13, r13
je 0x180025895
lea rdx, [r13 - 1]
mov ecx, r13d
and ecx, 7
movabs rax, 0x100000001b3
cmp rdx, 7
jae 0x1800258ab
movabs rdi, 0xcbf29ce484222325
mov rdx, qword [rbp + 0xe8]
jmp 0x180025931
movabs r14, 0xaf64724c8602eb6e
mov rsi, qword [rbp + 0xd8]
jmp 0x180025972
mov rbx, r13
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 0x1800258d0
mov rsi, qword [rbp + 0xd8]
mov r14, rdi
test rcx, rcx
je 0x180025967
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 0x180025950
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 r12d, r12d
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 0x1800259fc
pcmpeqb xmm7, xmm8
pmovmskb eax, xmm7
test eax, eax
jne 0x180025a8d
add r14, r12
add r14, 0x10
add r12, 0x10
jmp 0x1800259a5
lea eax, [rdi - 1]
and eax, edi
mov edi, eax
test ax, ax
je 0x1800259c5
bsf ax, di
movzx eax, ax
add rax, r14
and rax, r15
neg rax
imul rsi, rax, 0x58
cmp qword [rbx + rsi + 0x10], r13
jne 0x1800259f0
add rsi, rbx
mov rdx, qword [rsi + 8]
mov rcx, qword [rbp + 0xe8]
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800259f0
test rsi, rsi
je 0x180025a8d
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.1800256d0
jmp 0x180025db1
cmp qword [rbp + 0xd0], 0
je 0x180025af7
mov r12, qword [rbp + 0xd8]
mov rdi, qword [r12 + 0x28]
mov rbx, qword [r12 + 0x30]
movdqu xmm6, xmmword [r12 + 0x30]
test rbx, rbx
je 0x180025b4e
xor r15d, r15d
mov rax, rbx
shr rax, 0x3c
sete al
jne 0x180025ed4
lea rsi, [rbx*8]
mov r15b, al
shl r15, 3
test rsi, rsi
je 0x180025b58
mov rcx, rsi
mov rdx, r15
call fcn.1800035e0
mov r14, rax
test r14, r14
jne 0x180025b64
jmp 0x180025ee2
cmp byte [rbp + 0x1a0], 0
mov rcx, qword [rbp + 0xe0]
mov r12, qword [rbp + 0xd8]
je 0x180025cba
mov r15, qword [r12 + 0x28]
mov r14, qword [r12 + 0x30]
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, r14
jae 0x180025c5d
mov byte [rbp + 0xf7], 1
mov r8, r14
call fcn.180094110
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rcx + 0x10]
jmp 0x180025c62
mov r14d, 8
xor esi, esi
jmp 0x180025b64
mov r14, r15
test r14, r14
je 0x180025ee2
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, [0x18009f840]
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.1800256d0
movdqa xmm0, xmmword [rbp + 0x10]
movdqa xmm1, xmmword [rbp + 0x20]
movdqa xmm2, xmmword [rbp + 0x30]
movdqa xmm3, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x90], xmm1
movdqa xmmword [rbp + 0xa0], xmm2
movdqa xmmword [rbp + 0xb0], xmm3
test r13, r13
je 0x180025d0d
setns al
js 0x180025ec6
movzx r14d, al
mov rcx, r13
mov rdx, r14
call fcn.1800035e0
mov rsi, rax
test rax, rax
jne 0x180025d12
mov byte [rbp + 0xf6], 1
mov rcx, r13
mov rdx, r14
call fcn.180096150
jmp 0x180025ef4
test r14, r14
je 0x180025cb6
mov rdi, qword [rcx + 8]
lea rax, [rdi + rdx*8]
lea rbx, [r14 - 1]
movabs r10, 0x1fffffffffffffff
and r10, rbx
cmp r10, 9
jb 0x180025c92
lea rbx, [rdi + rdx*8]
sub rbx, r15
cmp rbx, 0x20
jae 0x180025ddb
mov rsi, r15
lea rbx, [r15 + r14*8]
nop dword [rax]
mov rdi, qword [rsi]
add rsi, 8
mov qword [rax], rdi
add rax, 8
inc rdx
cmp rsi, rbx
jne 0x180025ca0
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, [0x18009f840]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0xb8], rax
test r13, r13
jne 0x180025c22
mov esi, 1
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], r13
movdqa xmm0, xmmword [rbp + 0x80]
movdqa xmm1, xmmword [rbp + 0x90]
movdqa xmm2, xmmword [rbp + 0xa0]
movdqa xmm3, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x40], xmm3
movdqa xmmword [rbp + 0x30], xmm2
movdqa 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, r12
call fcn.18001c8f0
cmp dword [rbp + 8], 6
je 0x180025db1
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x180025da1
mov rcx, qword [rbp - 8]
shl rdx, 3
mov r8d, 8
call fcn.1800035f0
mov byte [rbp + 0xf6], 0
lea rcx, [rbp - 0x30]
call fcn.1800097c0
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
movq xmm0, rdx
lea rbx, [r8 - 4]
mov r9, rbx
shr r9, 2
inc r9
test rbx, rbx
je 0x180025e6a
shl rdx, 3
mov rbx, r9
and rbx, 0xfffffffffffffffe
add rdi, rdx
add rdi, 0x30
pxor xmm1, xmm1
xor edx, edx
movdqa xmm3, xmmword [0x18009fa40]
nop dword [rax]
movdqa xmm2, xmm1
movups xmm4, xmmword [r15 + rdx]
movups xmm5, xmmword [r15 + rdx + 0x10]
movups xmmword [rdi + rdx - 0x30], xmm4
movups xmmword [rdi + rdx - 0x20], xmm5
movups xmm4, xmmword [r15 + rdx + 0x20]
movups xmm5, xmmword [r15 + rdx + 0x30]
movups xmmword [rdi + rdx - 0x10], xmm4
movups xmmword [rdi + rdx], xmm5
paddq xmm0, xmm3
paddq xmm1, xmm3
add rdx, 0x40
add rbx, 0xfffffffffffffffe
jne 0x180025e20
paddq xmm2, xmmword [0x18009fa50]
jmp 0x180025e74
movdqa xmm2, xmmword [0x180097520]
xor edx, edx
test r9b, 1
je 0x180025e9e
movdqu xmm1, xmmword [r15 + rdx]
movdqu xmm3, xmmword [r15 + rdx + 0x10]
movdqu xmmword [rax + rdx], xmm1
movdqu xmmword [rax + rdx + 0x10], xmm3
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
movdqa xmm1, xmm2
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rdx, xmm1
cmp r10, r8
je 0x180025cb6
lea rax, [rax + r8*8]
lea rsi, [r15 + r8*8]
jmp 0x180025c95
mov byte [rbp + 0xf6], 1
call fcn.180085800
jmp 0x180025ef4
mov byte [rbp + 0xf7], 1
call fcn.180085800
jmp 0x180025ef4
mov byte [rbp + 0xf7], 1
mov rcx, rsi
mov rdx, r15
call fcn.180096150
ud2