Function at 0x140005610
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, 0x38
mov qword [rsp + 0x28], rcx
movabs r15, 0xcbf29ce484222325
movabs r14, 0x100000001b3
mov rdi, qword [r8]
mov rbx, qword [r8 + 8]
mov r9, r15
test rbx, rbx
je 0x1400056d7
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x14000565e
xor ecx, ecx
mov r8, r15
jmp 0x1400056ac
mov r9, rbx
and r9, 0xfffffffffffffffc
xor ecx, ecx
mov r8, r15
nop word [rax + rax]
movzx r10d, byte [rdi + rcx]
xor r10, r8
imul r10, r14
movzx r8d, byte [rdi + rcx + 1]
xor r8, r10
imul r8, r14
movzx r10d, byte [rdi + rcx + 2]
xor r10, r8
imul r10, r14
movzx r8d, byte [rdi + rcx + 3]
xor r8, r10
imul r8, r14
add rcx, 4
cmp r9, rcx
jne 0x140005670
mov r9, r8
test rax, rax
je 0x1400056d7
add rcx, rdi
xor r10d, r10d
nop word [rax + rax]
movzx r9d, byte [rcx + r10]
xor r9, r8
imul r9, r14
inc r10
mov r8, r9
cmp rax, r10
jne 0x1400056c0
mov r12, qword [rdx + 0x30]
and r9, r12
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x18]
mov rax, r9
shl rax, 4
mov rsi, qword [rdx + rax]
cmp rsi, rcx
mov qword [rsp + 0x30], rdx
je 0x14000574a
mov r13, rcx
add r9, r9
shl r9, 3
or r9, 8
mov rbp, qword [rdx + r9]
cmp qword [rsi + 0x18], rbx
jne 0x140005733
nop word cs:[rax + rax]
mov rcx, qword [rsi + 0x10]
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140005747
cmp rsi, rbp
je 0x1400057be
mov rsi, qword [rsi]
cmp qword [rsi + 0x18], rbx
je 0x140005720
jmp 0x140005733
mov rcx, r13
mov r13, rcx
cmp rsi, rcx
je 0x1400057be
cmp byte [rsi + 0x30], 0
je 0x1400057be
mov rbx, qword [rsi + 0x20]
mov rdi, qword [rsi + 0x28]
cmp rdi, 5
je 0x1400058bc
cmp rdi, 2
je 0x1400058c5
cmp rdi, 1
jne 0x1400058db
lea rdx, [0x14001ec28]
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400058df
lea rdx, [0x14001e797]
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400058df
lea rdx, [0x14001e9e3]
jmp 0x1400058cc
test rbx, rbx
je 0x1400057da
mov eax, ebx
and eax, 3
cmp rbx, 4
mov r10, r12
mov r11, qword [rsp + 0x30]
jae 0x1400057e7
xor ecx, ecx
jmp 0x14000582c
mov rdx, r15
mov r10, r12
mov r11, qword [rsp + 0x30]
jmp 0x140005857
mov rdx, rbx
and rdx, 0xfffffffffffffffc
xor ecx, ecx
movzx r8d, byte [rdi + rcx]
xor r8, r15
imul r8, r14
movzx r9d, byte [rdi + rcx + 1]
xor r9, r8
imul r9, r14
movzx r8d, byte [rdi + rcx + 2]
xor r8, r9
imul r8, r14
movzx r15d, byte [rdi + rcx + 3]
xor r15, r8
imul r15, r14
add rcx, 4
cmp rdx, rcx
jne 0x1400057f0
mov rdx, r15
test rax, rax
je 0x140005857
add rcx, rdi
xor r8d, r8d
nop word [rax + rax]
movzx edx, byte [rcx + r8]
xor rdx, r15
imul rdx, r14
inc r8
mov r15, rdx
cmp rax, r8
jne 0x140005840
and rdx, r10
mov rax, rdx
shl rax, 4
mov rsi, qword [r11 + rax]
cmp rsi, r13
je 0x1400058a3
add rdx, rdx
shl rdx, 3
or rdx, 8
mov r14, qword [r11 + rdx]
cmp qword [rsi + 0x18], rbx
jne 0x140005893
nop
mov rcx, qword [rsi + 0x10]
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400058ac
cmp rsi, r14
je 0x1400058a3
mov rsi, qword [rsi]
cmp qword [rsi + 0x18], rbx
je 0x140005880
jmp 0x140005893
xor ecx, ecx
mov rax, qword [rsp + 0x28]
jmp 0x1400058ea
mov cl, 1
cmp rsi, r13
mov rax, qword [rsp + 0x28]
jne 0x1400058e6
xor ecx, ecx
jmp 0x1400058ea
lea rdx, str.false
jmp 0x1400058cc
lea rdx, [0x14001e738]
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400058df
mov cl, 1
jmp 0x1400058e1
xor ecx, ecx
mov rax, qword [rsp + 0x28]
mov byte [rax], cl
mov cl, 1
mov byte [rax + 1], cl
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret