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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x70
movzx ebx, dl
mov r13, rcx
xor ebp, ebp
mov dword [rsp + 0xa8], ebp
movzx eax, byte [0x18022a70c]
mov byte [0x18022a70b], al
movzx eax, byte [0x18022a709]
mov byte [0x18022a70a], al
xor r8d, r8d
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.180128540
nop
test bl, bl
je 0x18012327c
lea rsi, str.default
mov r14, qword [0x1802242d0]
mov r8, rsi
mov r15, qword [str.default]
cmp r14, 0xf
cmova r8, r15
mov ebx, 0x811c9dc5
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180123044
xor edx, edx
test rcx, rcx
je 0x180123075
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180123060
mov rdi, qword [0x1801f0c68]
test dil, dil
jne 0x180123088
mov eax, 0x811c9dc5
jmp 0x1801230a3
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x1801f0c69]
call fcn.1800de0e0
cmp ebx, eax
jne 0x180123234
cmp byte [0x18022fc71], 0
je 0x180123123
lea rcx, [r13 + 0x38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x180202740]
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x30], edi
movzx eax, word [0x1801f0c6c]
mov word [rsp + 0x34], ax
movzx eax, byte [0x1801f0c6e]
mov byte [rsp + 0x36], al
mov byte [rsp + 0x37], 0
mov ebp, 1
mov dword [rsp + 0xa8], ebp
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
call fcn.1800a40d0
mov rcx, qword [rax]
movzx eax, byte [r13 + 0x31]
mov rdi, qword [0x1801f0c68]
cmp byte [rcx + 0x30], al
je 0x180123123
movzx ebx, bpl
jmp 0x180123125
xor bl, bl
test bpl, 1
je 0x180123172
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180123172
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180123166
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180123166
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18017f74c
mov rdi, qword [0x1801f0c68]
test bl, bl
je 0x18012327c
mov r15, qword [r13 + 0x40]
mov rbx, qword [r15]
cmp rbx, r15
je 0x18012327c
nop word [rax + rax]
lea r8, [rbx + 0x10]
lea r14, [r8 + 0x20]
cmp qword [r8 + 0x18], 0xf
jbe 0x1801231a2
mov r8, qword [r8]
mov esi, 0x811c9dc5
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [r8 + rax], 0
jne 0x1801231b0
xor edx, edx
test rax, rax
je 0x1801231e5
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, esi
imul esi, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x1801231d0
test dil, dil
jne 0x1801231f1
mov eax, 0x811c9dc5
jmp 0x18012320c
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x1801f0c69]
call fcn.1800de0e0
cmp esi, eax
je 0x18012321a
movzx esi, byte [r14]
cmp sil, byte [r13 + 0x31]
je 0x18012322b
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x180123190
jmp 0x18012327c
mov byte [0x18022a70c], 1
jmp 0x180123296
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
cmp r14, 0xf
cmova rsi, r15
mov r8, qword [0x1802242c8]
cmp r8, qword [rsp + 0x60]
jne 0x180123267
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180123275
test byte [r13 + 0x28], 6
mov byte [0x18022a709], 1
je 0x18012327c
mov byte [0x18022a709], 0
lea rcx, [r13 + 0x38]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x20]
call fcn.1800e2ef0
mov rcx, qword [rax]
movzx esi, byte [rcx + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18008fd00
movzx eax, sil
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret