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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
test r8, r8
je 0x14004eac3
mov r14, r8
mov r13, rcx
cmp r8, 0x40
ja 0x14004e540
lea rcx, [r14 - 1]
mov r8d, r14d
and r8d, 3
cmp rcx, 3
jae 0x14004e57d
xor ebx, ebx
jmp 0x14004e5db
xor eax, eax
cmp r14, 0x10000
setb bl
setae cl
jae 0x14004eac3
movabs rsi, 0x89cd31291d2aefa4
xor edi, edi
mov al, cl
lea ecx, [rax + rax*2]
mov eax, 1
mov r11, qword [r13 + 0x20]
test r11, r11
jne 0x14004e6de
jmp 0x14004eac3
mov rcx, r14
and rcx, 0xfffffffffffffffc
xor ebp, ebp
lea rsi, [0x140273bf3]
nop dword [rax]
movzx ebx, byte [rdx + rbp]
movzx ebx, byte [rbx + rsi]
mov byte [rsp + rbp + 0x98], bl
movzx ebx, byte [rdx + rbp + 1]
movzx ebx, byte [rbx + rsi]
mov byte [rsp + rbp + 0x99], bl
movzx ebx, byte [rdx + rbp + 2]
movzx ebx, byte [rbx + rsi]
mov byte [rsp + rbp + 0x9a], bl
lea rbx, [rbp + 4]
movzx edi, byte [rdx + rbp + 3]
movzx eax, byte [rdi + rsi]
mov byte [rsp + rbp + 0x9b], al
mov rbp, rbx
cmp rcx, rbx
jne 0x14004e590
test r8, r8
je 0x14004e613
lea rcx, [rsp + rbx]
add rcx, 0x98
add rdx, rbx
xor ebx, ebx
lea rbp, [0x140273bf3]
nop word [rax + rax]
movzx eax, byte [rdx + rbx]
movzx eax, byte [rax + rbp]
mov byte [rcx + rbx], al
inc rbx
cmp r8, rbx
jne 0x14004e600
lea rsi, [rsp + 0x98]
mov rcx, rsi
mov rdx, r14
call fcn.1400594d0
cmp al, 0x51
jne 0x14004e660
cmp r14, 0xf
ja 0x14004e684
xor eax, eax
xor ecx, ecx
mov rdx, rsi
nop word [rax + rax]
cmp byte [rsp + rcx + 0x98], 0
je 0x14004e6a7
inc rcx
cmp r14, rcx
jne 0x14004e640
cmp rax, 1
sete cl
jne 0x14004e6b9
jmp 0x14004eac3
movzx edx, al
movabs rsi, 0xa8c7f832281a39c5
mov dil, 1
mov cl, 2
xor eax, eax
xor ebx, ebx
mov r11, qword [r13 + 0x20]
test r11, r11
jne 0x14004e6de
jmp 0x14004eac3
lea rdx, [rsp + 0x98]
xor ecx, ecx
mov r8, r14
call fcn.14002d640
mov rdx, rsi
cmp rax, 1
sete cl
jne 0x14004e6b9
jmp 0x14004eac3
mov eax, 1
cmp rax, 1
sete cl
je 0x14004eac3
add cl, cl
or cl, 1
xor ebx, ebx
movabs rsi, 0x89cd31291d2aefa4
mov eax, 1
xor edi, edi
mov r11, qword [r13 + 0x20]
test r11, r11
je 0x14004eac3
cmp dword [r13 + 0x40], 2
mov qword [rsp + 0x30], rdx
jne 0x14004e77f
mov dword [rsp + 0x2c], ecx
mov r15, r11
movdqu xmm0, xmmword [r13 + 0x48]
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x14021f420]
movdqu xmmword [rsp + 0x68], xmm1
pshufd xmm0, xmm0, 0xee
pxor xmm0, xmmword [0x14021f430]
movdqu xmmword [rsp + 0x78], xmm0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x38]
mov r8d, 8
call fcn.1400114e0
test dil, dil
je 0x14004e7a0
mov rsi, qword [rsp + 0x30]
movzx eax, sil
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x38]
mov r8d, 8
jmp 0x14004e86f
test dil, dil
je 0x14004e7fc
movzx eax, dl
xor rax, rsi
movabs rsi, 0x1efac7090aef4a21
imul rsi, rax
mov r10b, 2
jmp 0x14004e970
test bl, bl
je 0x14004e85f
test r14, r14
mov rdx, qword [rsp + 0x30]
je 0x14004e877
xor esi, esi
lea rdi, [0x140273bf3]
lea r12, [rsp + 0x50]
lea rbx, [rsp + 0x38]
nop dword [rax]
movzx eax, byte [rdx + rsi]
movzx eax, byte [rax + rdi]
mov byte [rsp + 0x38], al
mov r8d, 1
mov rcx, r12
mov rdx, rbx
call fcn.1400114e0
mov rdx, qword [rsp + 0x30]
inc rsi
cmp r14, rsi
jne 0x14004e7d0
jmp 0x14004e877
lea r9, [rdx + r14]
test bl, bl
je 0x14004ead9
test r14, r14
je 0x14004eb31
movabs rcx, 0x100000001b3
lea r8, [r14 - 1]
mov rdi, r14
and rdi, 3
je 0x14004eb44
lea r10, [0x140273bf3]
mov rax, rdx
mov rbp, rsi
nop dword [rax]
movzx ebx, byte [rax]
movzx esi, byte [rbx + r10]
xor rsi, rbp
imul rsi, rcx
inc rax
mov rbp, rsi
dec rdi
jne 0x14004e840
jmp 0x14004eb47
lea rcx, [rsp + 0x50]
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
mov r8, r14
call fcn.1400114e0
mov rdx, rsi
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
shl rbp, 0x38
or rbp, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x68]
add rbx, rsi
rol rsi, 0xd
xor rax, rbp
xor rsi, rbx
rol rbx, 0x20
mov rcx, qword [rsp + 0x70]
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rbx, rax
rol rax, 0x15
add rcx, rsi
rol rsi, 0x11
xor rax, rbx
xor rsi, rcx
rol rcx, 0x20
xor rbx, rbp
add rbx, rsi
rol rsi, 0xd
xor rsi, rbx
rol rbx, 0x20
xor rcx, 0xff
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rbx, rax
rol rax, 0x15
add rcx, rsi
rol rsi, 0x11
xor rsi, rcx
rol rcx, 0x20
xor rax, rbx
add rbx, rsi
rol rsi, 0xd
xor rsi, rbx
rol rbx, 0x20
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rbx, rax
rol rax, 0x15
add rcx, rsi
rol rsi, 0x11
xor rsi, rcx
rol rcx, 0x20
xor rax, rbx
add rbx, rsi
rol rsi, 0xd
xor rsi, rbx
add rcx, rax
shl rax, 0x10
xor rax, rcx
shr rax, 0x2b
add rcx, rsi
shr rsi, 0x2f
xor rsi, rcx
shr rcx, 0x20
xor rsi, rax
xor rsi, rcx
mov r11, r15
mov r10d, dword [rsp + 0x2c]
and esi, 0x7fff
movzx r12d, word [r13 + 0x58]
mov eax, esi
and eax, r12d
mov r15, qword [r13]
mov rdi, qword [r13 + 8]
mov r9, qword [r13 + 0x10]
mov qword [rsp + 0x40], r14
neg r14
mov qword [rsp + 0x48], r14
xor r13d, r13d
nop dword [rax]
mov r14, rax
mov eax, 0
cmp r14, rdi
jae 0x14004e9a0
movzx ecx, word [r15 + r14*4]
cmp rcx, 0xffff
je 0x14004eac3
movzx ebx, word [r15 + r14*4 + 2]
mov eax, ebx
and eax, r12d
mov ebp, r14d
sub ebp, eax
and ebp, r12d
cmp r13, rbp
ja 0x14004eac3
cmp bx, si
jne 0x14004eaa9
cmp r11, rcx
jbe 0x14004ec4f
imul rcx, rcx, 0x68
lea rax, [r9 + rcx]
cmp qword [r9 + rcx + 0x18], 0
je 0x14004ea4c
cmp r10b, 2
je 0x14004eaa9
test r10b, r10b
je 0x14004ea5b
mov rcx, qword [rsp + 0x40]
cmp qword [rax + 8], rcx
jne 0x14004eaa9
mov rcx, qword [rax]
mov r8, qword [rsp + 0x40]
mov rbx, r11
mov dword [rsp + 0x2c], r10d
mov rbp, r9
call sub.msvcrt.dll_memcmp
mov r9, rbp
mov r10d, dword [rsp + 0x2c]
mov r11, rbx
mov rdx, qword [rsp + 0x30]
test eax, eax
jne 0x14004eaa9
jmp 0x14004eb2a
cmp r10b, 2
jne 0x14004eaa9
cmp byte [rax], dl
jne 0x14004eaa9
jmp 0x14004eb2a
mov rcx, qword [rsp + 0x40]
cmp qword [rax + 8], rcx
jne 0x14004eaa9
mov r8, qword [rax]
mov rbp, 0xffffffffffffffff
mov rax, qword [rsp + 0x48]
lea rcx, [rax + rbp]
mov eax, 1
cmp rcx, 0xffffffffffffffff
je 0x14004eac5
movzx ecx, byte [rdx + rbp + 1]
lea rbx, [0x140273bf3]
movzx ebx, byte [rcx + rbx]
lea rcx, [rbp + 1]
cmp bl, byte [r8 + rbp + 1]
mov rbp, rcx
je 0x14004ea70
cmp rcx, qword [rsp + 0x40]
jae 0x14004eac5
inc r13
je 0x14004ec25
inc r14
je 0x14004ec35
mov rax, r14
jmp 0x14004e9a0
xor eax, eax
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r10b, 1
test r14, r14
je 0x14004eb3c
movabs rcx, 0x100000001b3
lea rbp, [r14 - 1]
mov rdi, r14
and rdi, 7
je 0x14004ebac
mov rbx, rsi
mov rax, rdx
nop word cs:[rax + rax]
movzx esi, byte [rax]
inc rax
xor rsi, rbx
imul rsi, rcx
mov rbx, rsi
dec rdi
jne 0x14004eb10
jmp 0x14004ebaf
mov eax, 1
jmp 0x14004eac5
xor r14d, r14d
xor r10d, r10d
jmp 0x14004e970
xor r14d, r14d
jmp 0x14004e970
mov rax, rdx
cmp r8, 3
jb 0x14004eba4
lea rbp, [0x140273bf3]
nop word cs:[rax + rax]
movzx edi, byte [rax]
movzx edi, byte [rdi + rbp]
xor rdi, rsi
imul rdi, rcx
movzx ebx, byte [rax + 1]
movzx ebx, byte [rbx + rbp]
xor rbx, rdi
imul rbx, rcx
movzx edi, byte [rax + 2]
movzx edi, byte [rdi + rbp]
xor rdi, rbx
imul rdi, rcx
movzx ebx, byte [rax + 3]
movzx esi, byte [rbx + rbp]
xor rsi, rdi
imul rsi, rcx
add rax, 4
cmp rax, r9
jne 0x14004eb60
xor r10d, r10d
jmp 0x14004e970
mov rax, rdx
cmp rbp, 7
jb 0x14004e970
nop dword [rax]
movzx ebp, byte [rax]
xor rbp, rsi
imul rbp, rcx
movzx ebx, byte [rax + 1]
xor rbx, rbp
imul rbx, rcx
movzx ebp, byte [rax + 2]
xor rbp, rbx
imul rbp, rcx
movzx ebx, byte [rax + 3]
xor rbx, rbp
imul rbx, rcx
movzx ebp, byte [rax + 4]
xor rbp, rbx
imul rbp, rcx
movzx ebx, byte [rax + 5]
xor rbx, rbp
imul rbx, rcx
movzx ebp, byte [rax + 6]
xor rbp, rbx
imul rbp, rcx
movzx esi, byte [rax + 7]
add rax, 8
xor rsi, rbp
imul rsi, rcx
cmp rax, r9
jne 0x14004ebc0
jmp 0x14004e970
lea rcx, [0x140247700]
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823http_0.2.12_srcheadermap.rs
jmp 0x14004ec43
lea rcx, [0x140247700]
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823http_0.2.12_srcheadermap.rs
mov edx, 0x1c
call fcn.14002cb80
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823http_0.2.12_srcheadermap.rs
mov rdx, r11
call fcn.14002ba50
ud2