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

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb0
mov rsi, rcx
test r8, r8
je 0x140055e69
mov ecx, r8d
and ecx, 7
movabs rax, 0x100000001b3
cmp r8, 8
jae 0x140055e8a
mov r11d, 0x811c9dc5
mov r9, rdx
jmp 0x140055f09
movabs rdi, 0x1c9d3adb639f298e
mov qword [rsp + 0x28], rdi
cmp qword [rsi + 0x18], 0
jne 0x14005601d
xor esi, esi
jmp 0x140056186
mov r10, r8
and r10, 0xfffffffffffffff8
mov r11d, 0x811c9dc5
mov r9, rdx
nop word [rax + rax]
movzx edi, byte [r9]
xor rdi, r11
imul rdi, rax
movzx r11d, byte [r9 + 1]
xor r11, rdi
imul r11, rax
movzx edi, byte [r9 + 2]
xor rdi, r11
imul rdi, rax
movzx r11d, byte [r9 + 3]
xor r11, rdi
imul r11, rax
movzx edi, byte [r9 + 4]
xor rdi, r11
imul rdi, rax
movzx r11d, byte [r9 + 5]
xor r11, rdi
imul r11, rax
movzx edi, byte [r9 + 6]
xor rdi, r11
imul rdi, rax
movzx r11d, byte [r9 + 7]
add r9, 8
xor r11, rdi
imul r11, rax
add r10, 0xfffffffffffffff8
jne 0x140055ea0
mov r10, r11
test rcx, rcx
je 0x140055f37
xor edi, edi
nop word cs:[rax + rax]
movzx r10d, byte [r9 + rdi]
xor r10, r11
imul r10, rax
inc rdi
mov r11, r10
cmp rcx, rdi
jne 0x140055f20
xor r10, 0xff
imul r10, rax
mov qword [rsp + 0x28], r10
mov ecx, r8d
and ecx, 7
cmp r8, 8
jae 0x140055f5b
mov r9d, 0x811c9dc5
jmp 0x140055fd9
and r8, 0xfffffffffffffff8
mov r9d, 0x811c9dc5
nop word cs:[rax + 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 0x140055f70
mov rdi, r9
test rcx, rcx
je 0x140056007
xor r8d, r8d
nop word cs:[rax + rax]
movzx edi, byte [rdx + r8]
xor rdi, r9
imul rdi, rax
inc r8
mov r9, rdi
cmp rcx, r8
jne 0x140055ff0
xor rdi, 0xff
imul rdi, rax
cmp qword [rsi + 0x18], 0
je 0x140055e83
mov rcx, qword [rsi + 0x38]
mov rdx, qword [rsi + 0x40]
mov r8, rdi
call fcn.140037220
mov r8, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x30]
mov r9, qword [rsi]
mov r10, qword [rsi + 8]
mov rcx, rax
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor esi, esi
pcmpeqd xmm1, xmm1
xor r11d, r11d
and rax, r10
movdqu xmm2, xmmword [r9 + rax]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb ebx, xmm3
nop word cs:[rax + rax]
test bx, bx
je 0x1400560c0
tzcnt ecx, ebx
add rcx, rax
and rcx, r10
shl rcx, 3
mov r14, r9
sub r14, rcx
mov rcx, qword [r14 - 8]
cmp rdx, rcx
jbe 0x1400562b8
lea ebp, [rbx - 1]
and ebp, ebx
shl rcx, 7
mov ebx, ebp
cmp qword [r8 + rcx + 0x78], rdi
jne 0x140056080
jmp 0x1400560dd
pcmpeqb xmm2, xmm1
pmovmskb ecx, xmm2
test ecx, ecx
jne 0x140056186
add rax, r11
add rax, 0x10
add r11, 0x10
jmp 0x14005605e
lea rdx, [r8 + rcx]
cmp qword [r8 + rcx], 0
je 0x140056197
movdqu xmm0, xmmword [rdx + 8]
pcmpeqb xmm0, xmmword [0x1401688a0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x1400562c6
mov rax, qword [rdx + 0x30]
mov rcx, qword [rdx + 0x40]
add rax, 0xffffffffffffffe8
shl rcx, 3
lea rcx, [rcx + rcx*2]
xor esi, esi
nop
test rcx, rcx
je 0x140056186
lea rdx, [rax + 0x18]
add rcx, 0xffffffffffffffe8
cmp qword [rax + 0x28], 0
mov rax, rdx
je 0x140056120
mov rax, qword [rdx]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
lea rsi, [rdx + rcx]
add rsi, 0x10
mov rcx, rsi
call qword [rax + 0x18]
movabs rcx, 0x596b48cc04376e6
xor rcx, rdx
movabs rdx, 0x4d5c788c2aa46bdb
xor rdx, rax
or rdx, rcx
jne 0x1400562d3
test rsi, rsi
je 0x1400562d3
mov rax, rsi
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov rax, qword [rdx + 0x30]
mov rcx, qword [rdx + 0x40]
test rcx, rcx
je 0x1400562b1
lea rdx, [rcx + rcx*2]
lea rdx, [rax + rdx*8]
movdqa xmm0, xmmword [0x1401688a0]
mov r8, rax
jmp 0x1400561c9
cmp r8, rdx
je 0x140056110
mov r11, qword [r8]
mov r9, qword [r8 + 0x10]
add r8, 0x18
shl r9, 5
nop dword [rax + rax]
test r9, r9
je 0x1400561c0
mov r10, r11
add r11, 0x20
movdqu xmm1, xmmword [r10 + 0x10]
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
add r9, 0xffffffffffffffe0
cmp esi, 0xffff
je 0x1400561e0
mov rax, qword [r10 + 0x10]
mov rcx, qword [r10 + 0x18]
lea rdx, [rsp + 0x28]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
movabs rax, 0x596b48cc04376e6
mov qword [rsp + 0x78], rax
movabs rax, 0x4d5c788c2aa46bdb
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rax, [0x140001420]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rax, [0x1400563f0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], 2
lea rdx, str.Mismatch_between_definition_and_access_of___.
lea rsi, [rsp + 0x80]
lea r9, [rsp + 0x38]
mov r8d, 2
mov rcx, rsi
call fcn.140144a40
lea rdx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fclap_3.2.25_srcparserparser.rs
mov rcx, rsi
call fcn.140160e20
ud2
xor ecx, ecx
jmp 0x140056110
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001findexmap_1.9.3_srcmapcore.rs
call fcn.140160ed0
ud2
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
jmp 0x14005620e
lea rcx, str.Fatal_internal_error._Please_consider_filing_a_bug_report_at_https:__github.com_clap_rs_clap_issues
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fclap_3.2.25_srcparsermatches_arg_matches.rs
mov edx, 0x63
call fcn.140161290
ud2