Function at 0x140056f80
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, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov rdi, qword [r9]
mov r15, qword [r9 + 0x10]
test r15, r15
je 0x1400570aa
lea rcx, [r15*8]
movabs rax, 0xcbf29ce484222325
xor edx, edx
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx r11d, byte [rdi + rdx + 4]
xor r11, rax
imul r11, r8
movzx r10d, byte [rdi + rdx + 5]
xor r10, r11
imul r10, r8
mov eax, dword [rdi + rdx]
xor rax, r10
imul rax, r8
add rdx, 8
cmp rcx, rdx
jne 0x140056fe0
mov qword [rbp + 0x50], r9
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400570c5
xor edx, edx
div rcx
mov r12, rdx
mov byte [rbp + 0x5f], 1
mov rcx, rbx
mov rdx, rdi
mov r8, r15
mov r9, r12
call fcn.14004a780
cmp eax, 1
jne 0x14005705f
mov dword [rsi + 4], edx
mov dword [rsi], 0x2a
mov rax, qword [rbp + 0x50]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x1400571eb
jmp 0x140057210
mov qword [rbp + 0x48], r14
mov r14d, 4
test r15, r15
je 0x1400570e6
mov rax, r15
shr rax, 0x3c
jne 0x140057236
lea r13, [r15*8]
test r13, r13
je 0x1400570e6
movzx eax, byte [0x14019d171]
mov edx, 4
mov rcx, r13
call fcn.140007cc0
test rax, rax
je 0x140057241
mov r14, rax
jmp 0x1400570e9
movabs rax, 0xcbf29ce484222325
mov qword [rbp + 0x50], r9
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x14005701e
mov byte [rbp + 0x5f], 1
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompsonmap.rsP
mov edx, 0x39
call fcn.1401092c0
jmp 0x140057252
xor r13d, r13d
mov rcx, r14
mov rdx, rdi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], r15
mov dword [rbp + 0x28], 2
mov byte [rbp + 0x5f], 1
lea rcx, [rbp - 0x60]
lea r8, [rbp + 0x28]
mov rdx, qword [rbp + 0x48]
call fcn.140013f80
mov eax, dword [rbp - 0x60]
cmp eax, 0x2a
jne 0x140057196
mov edi, dword [rbp - 0x5c]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x50], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp - 0x60], xmm0
movzx eax, word [rbx + 0x20]
mov word [rbp - 0x44], ax
mov dword [rbp - 0x48], edi
mov rdx, qword [rbx + 0x10]
cmp rdx, r12
jbe 0x140057225
mov rax, qword [rbx]
shl r12, 5
lea rbx, [rax + r12]
mov rdx, qword [rax + r12 + 8]
test rdx, rdx
je 0x14005717c
mov rcx, qword [rbx]
shl rdx, 3
mov r8d, 4
call fcn.140007cd0
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov dword [rsi + 4], edi
mov dword [rsi], 0x2a
jmp 0x140057210
mov ecx, dword [rbp - 0x5c]
mov rdx, qword [rbp + 0x18]
mov qword [rsi + 0x78], rdx
movups xmm0, xmmword [rbp + 8]
movups xmmword [rsi + 0x68], xmm0
movups xmm0, xmmword [rbp - 8]
movups xmmword [rsi + 0x58], xmm0
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rsi + 0x48], xmm0
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rsi + 0x38], xmm0
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rsi + 0x28], xmm0
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rsi + 0x18], xmm0
movups xmm0, xmmword [rbp - 0x58]
movups xmmword [rsi + 8], xmm0
mov dword [rsi], eax
mov dword [rsi + 4], ecx
mov rax, qword [rbp + 0x50]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140057210
shl rdx, 3
mov r8d, 4
mov rcx, rdi
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.140007cd0
nop
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompsonmap.rsP
mov rcx, r12
call fcn.140109360
jmp 0x140057252
mov byte [rbp + 0x5f], 1
call fcn.1400fbd70
jmp 0x140057252
mov byte [rbp + 0x5f], 1
mov ecx, 4
mov rdx, r13
call fcn.1401090d0
ud2