Function at 0x14004c5f0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x1409b0280]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rax, qword [0x1409f5ca8]
test rax, rax
jne 0x14004c8a8
mov rax, qword [0x1409f5c80]
test rax, rax
jne 0x14004c65b
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov qword [0x1409f5c80], rax
test rax, rax
je 0x14004c8a6
mov rax, qword [rax + 0x18]
mov r13, qword [rax + 0x10]
cmp qword [r13 + 0x30], 0
je 0x14004c8a6
lea r14, [0x1401bf888]
mov rdx, qword [r13 + 0x50]
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], 0
mov qword [rbp + 7], 0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14004c6a0
lea rcx, [rbp - 0x11]
call fcn.140010eb0
nop
lea rdi, [rbp - 0x11]
mov r9, qword [rbp + 7]
cmp r9, 7
seta al
mov rcx, qword [rbp - 0x11]
cmova rdi, rcx
lea rdx, [rbp - 0x11]
test al, al
mov rax, qword [rbp - 1]
je 0x14004c6e1
mov rbx, rcx
lea rsi, [rcx + rax*2]
jmp 0x14004c6e9
lea rsi, [rdx + rax*2]
lea rbx, [rbp - 0x11]
cmp rbx, rsi
je 0x14004c712
sub rdi, rbx
movzx ecx, word [rbx]
call fcn.140169cc4
mov word [rbx + rdi], ax
add rbx, 2
cmp rbx, rsi
jne 0x14004c6f1
mov r9, qword [rbp + 7]
mov rax, qword [rbp - 1]
mov rcx, qword [rbp - 0x11]
mov rdi, qword [r13 + 0x30]
lea rdx, [rax - 0xb]
xorps xmm0, xmm0
movups xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], 0
mov qword [rbp + 0x27], 0
cmp rax, rdx
jb 0x14004c8fa
sub rax, rdx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rax, [rbp - 0x11]
cmp r9, 7
cmova rax, rcx
lea rdx, [rax + rdx*2]
lea rcx, [rbp + 0xf]
call fcn.140010eb0
nop
mov rax, qword [rbp - 1]
lea rcx, [rax - 4]
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], 0
mov qword [rbp - 0x21], 0
cmp rax, rcx
jb 0x14004c8f4
sub rax, rcx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rax, [rbp - 0x11]
cmp qword [rbp + 7], 7
cmova rax, qword [rbp - 0x11]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x39]
call fcn.140010eb0
lea r8, [rbp - 0x39]
cmp qword [rbp - 0x21], 7
cmova r8, qword [rbp - 0x39]
cmp qword [rbp - 0x29], 4
jne 0x14004c802
mov edx, 4
mov rcx, r14
sub r8, r14
nop dword [rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x14004c802
add rcx, 2
sub rdx, 1
jne 0x14004c7e0
lea rcx, [rbp - 0x39]
call fcn.140010ac0
jmp 0x14004c884
lea rcx, [rbp - 0x39]
call fcn.140010ac0
movsxd rax, dword [rdi + 0x3c]
mov esi, dword [rax + rdi + 0x88]
add rsi, rdi
xor ebx, ebx
mov r15d, dword [rsi + 0x14]
test r15d, r15d
je 0x14004c884
mov r12d, dword [rsi + 0x18]
cmp ebx, r12d
jae 0x14004c87d
mov ecx, dword [rsi + 0x20]
add rcx, rdi
mov ecx, dword [rcx + rbx*4]
add rcx, rdi
je 0x14004c85c
movsx eax, byte [rcx]
test al, al
je 0x14004c85c
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.1400108c0
cmp eax, 0xbe4d5ef8
je 0x14004c865
inc ebx
cmp ebx, r15d
jb 0x14004c828
jmp 0x14004c87d
mov ecx, dword [rsi + 0x24]
add rcx, rdi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rdi
mov ebx, dword [rcx + rdx*4]
add rbx, rdi
jne 0x14004c8d5
lea r14, [0x1401bf888]
mov r13, qword [r13]
lea rcx, [rbp + 0xf]
call fcn.140010ac0
nop
lea rcx, [rbp - 0x11]
call fcn.140010ac0
cmp qword [r13 + 0x30], 0
jne 0x14004c675
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14015a1f0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [0x1409f5ca8], rbx
lea rcx, [rbp + 0xf]
call fcn.140010ac0
nop
lea rcx, [rbp - 0x11]
call fcn.140010ac0
mov rax, rbx
jmp 0x14004c8a8
call fcn.140010fe0
nop
call fcn.140010fe0
int3