Function at 0x1402240f0
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, 0x48
mov rsi, r8
mov rdi, rdx
mov r13, rcx
mov rbx, qword [r8]
mov r12, qword [r8 + 0x10]
mov rcx, qword [rdx + 0x10]
test r12, r12
je 0x1402242ab
mov rdx, r12
shl rdx, 4
movabs rax, 0xcbf29ce484222325
xor r8d, r8d
movabs r9, 0x100000001b3
nop dword [rax + rax]
movzx r10d, byte [rbx + r8 + 8]
xor r10, rax
imul r10, r9
movzx eax, byte [rbx + r8 + 9]
xor rax, r10
imul rax, r9
xor rax, qword [rbx + r8]
imul rax, r9
add r8, 0x10
cmp rdx, r8
jne 0x140224140
test rcx, rcx
je 0x1402242be
xor edx, edx
div rcx
mov rax, qword [rdi]
lea r15, [rdx + rdx*4]
movzx ecx, word [rax + r15*8 + 0x20]
cmp cx, word [rdi + 0x20]
jne 0x140224224
cmp qword [rax + r15*8 + 0x10], r12
jne 0x140224224
mov rcx, qword [rax + r15*8]
mov r14d, 8
xor r9d, r9d
nop dword [rax + rax]
cmp r12, r9
je 0x1402241fd
mov r8, r9
movq xmm0, qword [rcx + r14]
movq xmm1, qword [rbx + r14]
pcmpeqb xmm1, xmm0
punpcklbw xmm0, xmm1
pshuflw xmm0, xmm0, 0x60
pshufd xmm0, xmm0, 0x50
movmskpd r9d, xmm0
cmp r9b, 3
jne 0x1402241f8
lea r9, [r8 + 1]
mov r10, qword [rcx + r14 - 8]
lea r11, [r14 + 0x10]
cmp r10, qword [rbx + r14 - 8]
mov r14, r11
je 0x1402241b0
cmp r8, r12
jb 0x14022422d
mov r14, qword [rax + r15*8 + 0x18]
cmp qword [rsi + 8], 0
je 0x14022435d
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14022435d
test r12, r12
je 0x1402242d8
mov qword [rsp + 0x28], r13
xor r13d, r13d
mov rax, r12
shr rax, 0x3b
sete al
jne 0x140224398
mov r14, r12
shl r14, 4
mov r13b, al
shl r13, 3
test r14, r14
mov qword [rsp + 0x20], rdx
je 0x140224371
movzx eax, byte [0x1403ce430]
mov rcx, qword [0x1403cdf08]
test rcx, rcx
jne 0x14022428d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14022437d
mov rcx, rax
mov qword [0x1403cdf08], rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov rbp, rax
test rbp, rbp
je 0x14022437d
mov r13, qword [rsp + 0x28]
jmp 0x1402242e5
movabs rax, 0xcbf29ce484222325
test rcx, rcx
jne 0x140224174
lea rcx, [0x140333920]
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.1.10_src_nfamap.rs
mov edx, 0x39
call fcn.1402ea480
ud2
mov qword [rsp + 0x20], rdx
xor r14d, r14d
mov ebp, 8
mov rcx, rbp
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.140223d00
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x20]
cmp rdx, rcx
jbe 0x14022438a
mov r14, rax
movzx ebx, word [rdi + 0x20]
mov rax, qword [rdi]
lea rdi, [rax + r15*8]
cmp qword [rax + r15*8 + 8], 0
je 0x140224345
mov r8, qword [rdi]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x10], rax
movupd xmm0, xmmword [rsi]
movupd xmmword [rdi], xmm0
mov qword [rdi + 0x18], r14
mov word [rdi + 0x20], bx
mov rax, r14
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, r13
test rbp, rbp
jne 0x1402242a4
mov rcx, r13
mov rdx, r14
call fcn.1402e6e10
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.1.10_src_nfamap.rs
call fcn.1402ea300
ud2
call fcn.1400f7020
ud2