Function at 0x4d6cf0
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
mov rdi, r9
mov r14, r8
mov r11, rdx
mov rbx, rcx
movabs rax, 0xcbf29ce484222325
mov rsi, qword [r9]
mov r15, qword [r9 + 0x10]
test r15, r15
je 0x4d6d6e
movabs rcx, 0x100000001b3
lea rdx, [r15*8]
xor r8d, r8d
nop word [rax + rax]
movzx r9d, byte [rsi + r8 + 4]
xor r9, rax
imul r9, rcx
movzx r10d, byte [rsi + r8 + 5]
xor r10, r9
imul r10, rcx
mov eax, dword [rsi + r8]
xor rax, r10
imul rax, rcx
add r8, 8
cmp rdx, r8
jne 0x4d6d40
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x4d701e
xor edx, edx
div rcx
mov r12, rdx
mov rax, qword [r14]
mov qword [rsp + 0x30], rdx
shl r12, 5
movzx ecx, word [rax + r12 + 0x1c]
cmp cx, word [r14 + 0x20]
jne 0x4d6e55
lea rcx, [rax + r12]
cmp qword [rcx + 0x10], r15
jne 0x4d6e55
test r15, r15
je 0x4d6e37
mov rcx, qword [rcx]
movd xmm0, dword [rcx + 4]
movd xmm1, dword [rsi + 4]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
pshuflw xmm0, xmm1, 0x50
pshufd xmm0, xmm0, 0x50
movmskpd edx, xmm0
cmp edx, 3
jne 0x4d6e5a
mov r8d, 1
xor edx, edx
nop word [rax + rax]
mov r9d, dword [rcx + r8*8 - 8]
cmp r9d, dword [rsi + r8*8 - 8]
jne 0x4d6e32
cmp r8, r15
setae dl
je 0x4d6e32
movd xmm0, dword [rcx + r8*8 + 4]
movd xmm1, dword [rsi + r8*8 + 4]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
pshuflw xmm0, xmm1, 0x50
pshufd xmm0, xmm0, 0x50
movmskpd r9d, xmm0
inc r8
cmp r9d, 3
je 0x4d6df0
test dl, 1
je 0x4d6e55
mov eax, dword [rax + r12 + 0x18]
mov dword [rbx + 4], eax
mov dword [rbx], 0x27
cmp qword [rdi + 8], 0
jne 0x4d6fe5
jmp 0x4d7009
test r15, r15
je 0x4d6ebf
mov rax, r15
shr rax, 0x3c
jne 0x4d7046
lea r13, [r15*8]
test r13, r13
mov qword [rsp + 0x28], rdi
mov rdi, r11
je 0x4d6ecf
movzx eax, byte [0x006101a4]
mov rcx, qword [0x00610110]
test rcx, rcx
jne 0x4d6ea7
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x4d704d
mov rcx, rax
mov qword [0x00610110], rax
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x4d704d
mov rbp, rax
jmp 0x4d6ed4
mov qword [rsp + 0x28], rdi
mov rdi, r11
lea r13, [r15*8]
mov ebp, 4
mov rcx, rbp
mov rdx, rsi
mov r8, r13
call sym.memcpy
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
mov word [rsp + 0x38], 2
lea rcx, [rsp + 0x58]
lea r8, [rsp + 0x38]
mov rdx, rdi
mov rdi, qword [rsp + 0x28]
call sym.regex_automata::nfa::thompson::builder::Builder::add::h7f90761b07b987ff
mov eax, dword [rsp + 0x58]
cmp eax, 0x27
jne 0x4d6f79
mov rdi, qword [rdi + 8]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jbe 0x4d7038
mov ebp, dword [rsp + 0x5c]
movzx r13d, word [r14 + 0x20]
mov rax, qword [r14]
lea r14, [rax + r12]
cmp qword [rax + r12 + 8], 0
je 0x4d6f57
mov r8, qword [r14]
mov rcx, qword [0x00610110]
xor edx, edx
call fcn.00573784
mov qword [r14], rsi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], r15
mov dword [r14 + 0x18], ebp
mov word [r14 + 0x1c], r13w
mov dword [rbx + 4], ebp
mov dword [rbx], 0x27
jmp 0x4d7009
mov ecx, dword [rsp + 0x5c]
mov rdx, qword [rsp + 0xd0]
mov qword [rbx + 0x78], rdx
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rbx + 0x68], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0x58], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movups xmmword [rbx + 0x48], xmm0
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rbx + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rbx + 0x28], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx + 0x18], xmm0
movupd xmm0, xmmword [rsp + 0x60]
movupd xmmword [rbx + 8], xmm0
mov dword [rbx], eax
mov dword [rbx + 4], ecx
cmp qword [rdi + 8], 0
je 0x4d7009
mov rcx, qword [0x00610110]
xor edx, edx
mov r8, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.00573784
nop
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x00596d00]
lea r8, [0x00596ce8]
mov edx, 0x39
call dbg.panic
jmp 0x4d705f
lea r8, [0x00596d40]
call dbg.panic_bounds_check
jmp 0x4d705f
call sym.alloc::raw_vec::capacity_overflow::hb8123ef5e6b3b729
jmp 0x4d705f
mov ecx, 4
mov rdx, r13
mov rdi, qword [rsp + 0x28]
call dbg.handle_alloc_error
ud2