Function at 0x140058060
Capabilities:
Hash data using fnv

Disassembly:
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
mov rbp, rsp
sub rsp, 0x70
cmp byte [r8], 0
mov r13, r9
mov r12, r8
movzx edi, dl
mov rsi, rcx
je 0x1400583df
add rcx, 0x3c0
call fcn.14005b570
test rax, rax
jne 0x1400583df
mov qword [rsp + 0xa0], rbx
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rbp + 0x58], eax
jne 0x1400583a6
call fcn.140051700
mov rcx, rax
call fcn.140051900
mov rcx, qword gs:[0x58]
mov rdi, rax
mov edx, dword [0x14008d678]
mov eax, 4
mov r8, qword [rcx + rdx*8]
mov ecx, dword [rax + r8]
cmp dword [0x14008af78], ecx
jg 0x140058405
mov rcx, qword [0x14008af70]
call fcn.14005b570
cmp rdi, rax
je 0x1400583a2
test rdi, rdi
je 0x1400583a2
cmp byte [rdi], 0
je 0x1400583a2
mov rcx, qword [0x14008af70]
mov rdx, rdi
call fcn.14005b7f0
lea rbx, [rsi + 0x10]
mov rcx, rbx
call fcn.1400464c0
mov r8d, dword [rbp + 0x58]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
movzx edx, r8b
xor rdx, rax
movzx eax, byte [rbp + 0x59]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [rbp + 0x5a]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [rbp + 0x5b]
imul rdx, rcx
xor rdx, rax
imul rdx, rcx
mov rcx, qword [rsi + 0x168]
and rcx, rdx
mov rdx, qword [rsi + 0x140]
shl rcx, 4
add rcx, qword [rsi + 0x150]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x1400581b1
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x1400581b3
nop
cmp rax, rcx
je 0x1400581b1
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x1400581a0
jmp 0x1400581b3
xor eax, eax
test rax, rax
cmove rax, rdx
cmp rax, rdx
jne 0x1400581f8
lea rcx, [rsi + 0x138]
lea r8, [rbp + 0x58]
lea rdx, [rbp - 0x30]
call fcn.1400539b0
mov r8, 0xffffffffffffffff
mov rcx, qword [rax]
add rcx, 0x18
inc r8
cmp byte [rdi + r8], 0
jne 0x1400581e1
mov rdx, rdi
call fcn.140041a50
jmp 0x140058399
lea rdx, [0x140077360]
mov qword [rsp + 0xb0], r14
mov qword [rbp - 0x40], rdx
xor ecx, ecx
nop dword [rax]
inc rcx
cmp byte [rcx + rdx], 0
jne 0x140058210
cmp qword [rax + 0x30], 0x10
lea rsi, [rax + 0x18]
mov qword [rbp - 0x38], rcx
mov rax, rsi
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x30], xmm0
jb 0x140058237
mov rax, qword [rsi]
mov qword [rbp - 0x40], rax
lea r8, [rbp - 0x30]
mov rax, qword [rsi + 0x10]
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x20]
movaps xmm0, xmmword [rbp - 0x40]
xor r9d, r9d
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rsp + 0xb8], r15
mov dword [rsp + 0x20], 1
call fcn.1400460f0
mov r11, qword [rbp - 0x20]
mov r14, qword [rbp - 0x18]
mov r10, r11
cmp r11, r14
je 0x140058323
movzx r15d, byte [rdi]
xor eax, eax
test r15b, r15b
je 0x140058299
nop
inc rax
cmp byte [rax + rdi], 0
jne 0x140058290
movups xmm0, xmmword [r10]
movaps xmmword [rbp - 0x30], xmm0
psrldq xmm0, 8
movq rcx, xmm0
cmp rcx, rax
jne 0x140058302
mov rcx, rdi
test rax, rax
je 0x1400582d4
mov r9, qword [rbp - 0x30]
sub r9, rdi
nop
movzx edx, byte [r9 + rcx]
cmp dl, byte [rcx]
jl 0x140058302
jg 0x140058302
inc rcx
sub rax, 1
jne 0x1400582c0
cmp r10, r14
jne 0x140058349
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x140058311
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x1400582fa
mov rax, qword [rsi]
mov word [rax + rcx], 0x2c
jmp 0x140058323
add r10, 0x10
cmp r10, r14
jne 0x140058288
jmp 0x1400582d9
xor r8d, r8d
mov r9b, 0x2c
mov rcx, rsi
lea edx, [r8 + 1]
call fcn.140046c70
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x140058330
mov rdx, rdi
mov rcx, rsi
call fcn.140039224
mov r11, qword [rbp - 0x20]
mov r15, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xb0]
test r11, r11
je 0x140058399
mov rdx, qword [rbp - 0x10]
mov rax, r11
sub rdx, r11
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x140058391
mov r11, qword [r11 - 8]
add rdx, 0x27
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140058391
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r11
call fcn.14006b030
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movzx edi, byte [rbp + 0x38]
test byte [r12], 8
je 0x1400583c9
mov rax, qword [rbp + 0x60]
mov r8, r13
mov r9, qword [rbp + 0x50]
mov rdx, r12
movzx ecx, dil
mov qword [rsp + 0x20], rax
call fcn.140066c10
mov rbx, qword [rsp + 0xa0]
mov al, 1
add rsp, 0x70
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor al, al
add rsp, 0x70
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x14008af78]
mov qword [0x14008af70], rbx
call fcn.1400720b4
jmp 0x1400580eb
lea rcx, [0x14008af78]
call fcn.140072114
cmp dword [0x14008af78], 0xffffffff
jne 0x1400580eb
mov ecx, 8
call fcn.140071f80
mov rbx, rax
test rax, rax
je 0x140058441
xor eax, eax
xor edx, edx
mov rcx, rbx
mov qword [rbx], rax
call fcn.14005b310
jmp 0x1400583ed
xor ebx, ebx
jmp 0x1400583ed