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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov r13, rdx
mov r12, rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
movzx eax, byte [0x1802286f2]
mov byte [0x1802286db], al
movzx eax, byte [0x1802286d9]
mov byte [0x1802286da], al
xor r8d, r8d
lea rcx, [rsp + 0x58]
call fcn.180128290
nop
lea rsi, str.default
mov r14, qword [0x180222270]
mov r8, rsi
mov r15, qword [str.default]
cmp r14, 0x10
cmovae r8, r15
mov ebx, 0x811c9dc5
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180123900
xor edx, edx
test rcx, rcx
je 0x180123935
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180123920
mov rdi, qword [0x1801eed08]
test dil, dil
jne 0x180123948
mov eax, 0x811c9dc5
jmp 0x180123963
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x1801eed09]
call fcn.1800de790
cmp ebx, eax
jne 0x180123b4b
cmp byte [0x18022dc31], 0
je 0x180123a0a
lea rcx, [r13 + 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x50], 0xf
mov dword [rsp + 0x38], edi
movzx eax, word [0x1801eed0c]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1801eed0e]
mov byte [rsp + 0x3e], al
mov byte [rsp + 0x3f], 0
mov ebp, 1
mov dword [rsp + 0x20], ebp
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x28]
call fcn.1800a4ce0
mov rcx, qword [rax]
add rcx, 0x30
lea rdx, [r13 + 0x50]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1801239e7
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1801239f5
mov rcx, qword [rcx]
cmp r8, rax
jne 0x180123a4d
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180123a4d
mov rdi, qword [0x1801eed08]
xor bl, bl
test bpl, 1
je 0x180123a66
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x180123a66
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180123a5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180123a5a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movzx ebx, bpl
mov rdi, qword [0x1801eed08]
jmp 0x180123a0c
call fcn.18017dba4
mov rdi, qword [0x1801eed08]
test bl, bl
je 0x180123b93
mov r15, qword [r13 + 0x78]
mov rbx, qword [r15]
cmp rbx, r15
je 0x180123b93
lea r8, [rbx + 0x10]
lea r14, [r8 + 0x20]
cmp qword [r8 + 0x18], 0x10
jb 0x180123a90
mov r8, qword [r8]
mov esi, 0x811c9dc5
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r8 + rax], 0
jne 0x180123aa0
xor edx, edx
test rax, rax
je 0x180123ad5
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rdx + r8]
xor ecx, esi
imul esi, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180123ac0
test dil, dil
jne 0x180123ae1
mov eax, 0x811c9dc5
jmp 0x180123afc
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x1801eed09]
call fcn.1800de790
cmp esi, eax
je 0x180123b31
lea rdx, [r13 + 0x50]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180123b12
mov rdx, qword [rdx]
mov r8, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180123b23
mov rcx, qword [r14]
cmp r8, rax
jne 0x180123b31
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180123b3f
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jmp 0x180123a78
mov byte [0x1802286f2], 1
mov rdx, r14
jmp 0x180123bad
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
cmp r14, 0x10
cmovae rsi, r15
mov r8, qword [0x180222268]
cmp r8, qword [rsp + 0x68]
jne 0x180123b7e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180123b8c
test byte [r13 + 0x28], 6
mov byte [0x1802286d9], 1
je 0x180123b93
mov byte [0x1802286d9], 0
lea rcx, [r13 + 0x70]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x28]
call fcn.1800e3880
mov rdx, qword [rax]
add rdx, 0x30
mov rcx, r12
call fcn.180090750
nop
lea rcx, [rsp + 0x58]
call fcn.180090ae0
mov rax, r12
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret