Function at 0x140121620
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x30
mov ebx, r8d
mov ebp, edx
mov r10, qword [0x140246658]
imul r9d, r8d, 0x64
add r9d, edx
mov dword [rsp + 0x58], r9d
movzx ecx, r9b
movabs rdi, 0xcbf29ce484222325
xor rcx, rdi
movabs r11, 0x100000001b3
imul rcx, r11
movzx eax, byte [rsp + 0x59]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rsp + 0x5a]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rsp + 0x5b]
xor rcx, rax
imul rcx, r11
mov rdx, qword [r10 + 0x6b1e]
and rdx, rcx
mov r8, qword [r10 + 0x6b06]
mov rax, rdx
add rax, rax
mov rcx, qword [r8 + rax*8 + 8]
mov rsi, qword [r10 + 0x6af6]
xor r14d, r14d
cmp rcx, rsi
je 0x1401216e1
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp r9d, dword [rcx + 0x10]
je 0x1401216e4
nop word [rax + rax]
cmp rcx, rax
je 0x1401216e1
mov rcx, qword [rcx + 8]
cmp r9d, dword [rcx + 0x10]
jne 0x1401216d0
jmp 0x1401216e4
mov rcx, r14
test rcx, rcx
cmovne rsi, rcx
movzx edx, word [rsi + 0x22]
movzx ecx, dl
xor rcx, rdi
imul rcx, r11
mov eax, edx
shr rax, 8
xor rcx, rax
imul rcx, r11
mov eax, edx
shr rax, 0x10
xor rcx, rax
imul rcx, r11
mov eax, edx
shr rax, 0x18
xor rcx, rax
imul rcx, r11
mov r8, qword [r10 + 0x6ea3]
and r8, rcx
mov rcx, qword [r10 + 0x6e8b]
mov rax, r8
add rax, rax
mov rax, qword [rcx + rax*8 + 8]
mov r9, qword [r10 + 0x6e7b]
cmp rax, r9
je 0x140121764
add r8, r8
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x140121767
cmp rax, rcx
je 0x140121764
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140121754
jmp 0x140121767
mov rax, r14
test rax, rax
cmovne r9, rax
cmp byte [r9 + 0x70], 3
jne 0x14012197e
cmp word [rsi + 0x2b], r14w
jne 0x140121856
cmp byte [rsi + 0x28], r14b
jge 0x140121798
mov word [rsi + 0x29], 0x4000
mov word [rsi + 0x29], 0x4080
jmp 0x14012179e
mov word [rsi + 0x29], 0x2000
mov ecx, 0x44
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov dword [rdi + 0x40], eax
mov byte [rdi], 5
mov dword [rdi + 0x2c], ebp
mov dword [rdi + 0x30], ebx
mov dword [rdi + 4], 0xffffffff
or dword [rdi + 0xc], 8
lea ecx, [rax + 0x18]
call fcn.140183940
mov rbx, rax
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r14d
mov qword [rax + 0x10], 8
mov ecx, 8
call fcn.140183de0
mov qword [rbx], rax
xor ecx, ecx
mov qword [rax], rcx
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x22]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x24]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x26]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov r8d, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x29]
mov word [r8 + rcx], ax
jmp 0x14012193b
cmp byte [rsi + 0x28], r14b
jge 0x14012186a
mov word [rsi + 0x29], 0x4000
mov word [rsi + 0x29], 0x4080
jmp 0x140121870
mov word [rsi + 0x29], 0x2000
mov ecx, 0x46
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov dword [rdi + 0x40], eax
mov word [rdi + 0x44], ax
mov byte [rdi], 5
mov dword [rdi + 0x2c], ebp
mov dword [rdi + 0x30], ebx
mov dword [rdi + 4], 0xffffffff
or dword [rdi + 0xc], 8
lea ecx, [rax + 0x18]
call fcn.140183940
mov rbx, rax
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r14d
mov qword [rax + 0x10], 0xa
mov ecx, 0xa
call fcn.140183de0
mov qword [rbx], rax
xor ecx, ecx
mov qword [rax], rcx
mov word [rax + 8], cx
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x22]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x24]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x26]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x29]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
movzx eax, word [rsi + 0x2b]
mov word [rdx + rcx], ax
add dword [rbx + 8], 2
mov r8d, dword [rbx + 8]
mov rdx, qword [rbx]
lea rcx, [rdi + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbx + 8]
mov dword [rdi + 0x34], eax
mov rcx, qword [rbx]
call fcn.14018397c
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14018397c
mov eax, dword [rdi + 0x34]
add rax, 0x3c
mov qword [rsp + 0x20], rax
mov r9, rdi
call fcn.140127cd0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret