Function at 0x140037db0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movaps xmmword [rsp + 0x220], xmm6
mov rbp, rdx
mov rax, qword [0x140124058]
xor rax, rsp
mov qword [rsp + 0x218], rax
mov qword [rdx], 0
cmp byte [r9], 0
je 0x14003884b
mov r14, r9
mov ebx, r8d
mov r12, rcx
lea r15, [rcx + 0x380]
mov rcx, r15
call fcn.140035800
test rax, rax
jne 0x14003884b
mov byte [rsp + 0x6f], bl
mov ebx, dword [rsp + 0x2d8]
mov rdi, qword [rsp + 0x2c8]
mov rsi, qword [rsp + 0x2b8]
mov r13, qword [rsp + 0x2b0]
mov rcx, r15
mov rdx, r15
call fcn.140035840
test bl, 4
jne 0x140037e4f
mov qword [rsp + 0x90], rsi
jmp 0x140037e71
xor eax, eax
test ebx, 0x300
mov rcx, qword [r12 + 0x208]
cmovne rax, rcx
xor rsi, rax
mov qword [rsp + 0x90], rsi
xor r13, rcx
mov rdx, qword [r12 + 0x218]
mov rcx, qword [rdi]
call fcn.14002e7a0
mov rbx, rax
call fcn.140028110
test al, al
je 0x140037eb7
lea rcx, [rsp + 0xd8]
call fcn.140027e50
test byte [r14], 1
je 0x140037ec9
mov rcx, r12
call fcn.140036cb0
lea rcx, [r12 + 0x370]
call fcn.140035800
jmp 0x140037ecb
mov qword [rsp + 0xd8], 0
test byte [r14], 1
jne 0x140037ea0
xor eax, eax
mov qword [rsp + 0x78], rax
mov esi, dword [rsp + 0x2c0]
call sub.KERNEL32.dll_GetCurrentThreadId
cmp esi, eax
mov qword [rsp + 0xa8], rbx
jne 0x1400382f4
call fcn.140045170
mov edx, dword [rsp + 0x2c0]
mov rcx, rax
call fcn.1400451d0
mov rsi, rax
mov eax, dword [0x14012af20]
mov ecx, dword [0x140127e00]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003889a
mov rcx, qword [0x14012af18]
call fcn.140035800
test rsi, rsi
je 0x1400382f4
cmp rsi, rax
je 0x1400382f4
cmp byte [rsi], 0
je 0x1400382f4
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], rbp
mov rcx, qword [0x14012af18]
mov qword [rsp + 0x88], rsi
mov rdx, rsi
call fcn.140035840
lea rcx, [r12 + 0x10]
mov qword [rsp + 0xb0], rcx
call fcn.140022820
lea rcx, [r12 + 0x138]
movzx eax, byte [rsp + 0x2c0]
movabs rdx, 0xcbf29ce484222325
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
movzx ebp, byte [rsp + 0x2c1]
xor rbp, rdx
imul rbp, rax
movzx edx, byte [rsp + 0x2c2]
xor rdx, rbp
imul rdx, rax
movzx ebp, byte [rsp + 0x2c3]
xor rbp, rdx
imul rbp, rax
and rbp, qword [r12 + 0x168]
mov rax, qword [r12 + 0x140]
mov rdx, qword [r12 + 0x150]
lea rdi, [rbp + 1]
add rdi, rbp
shl rbp, 4
mov rbp, qword [rdx + rbp]
mov ebx, dword [rsp + 0x2c0]
mov r15, rbp
mov qword [rsp + 0x70], r13
jmp 0x140038023
mov r15, qword [r15]
mov rsi, rbp
cmp rbp, rax
je 0x140038032
mov rsi, qword [rdx + rdi*8]
mov rsi, qword [rsi]
cmp rsi, r15
je 0x140038144
cmp dword [r15 + 0x10], ebx
jne 0x140038020
cmp rax, r15
je 0x140038144
mov qword [rsp + 0x80], r12
lea rax, [0x1400fa198]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 1
lea rdi, [r15 + 0x18]
cmp qword [r15 + 0x30], 0xf
mov rax, rdi
jbe 0x14003807f
mov rax, qword [r15 + 0x18]
mov qword [rsp + 0xb8], rax
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0xc8]
xor r9d, r9d
call fcn.14002eac0
mov r12, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xe8]
cmp r12, r13
mov rsi, qword [rsp + 0x88]
je 0x140038201
mov rbp, rdi
mov rcx, rsi
call fcn.1400dccb0
mov rdi, rax
cmp qword [r12 + 8], rdi
jne 0x140038108
mov rcx, qword [r12]
mov rdx, rsi
mov r8, rdi
call fcn.1400c9320
test eax, eax
je 0x14003825d
add r12, 0x10
cmp r13, r12
jne 0x1400380ea
mov rax, qword [r15 + 0x28]
mov rcx, qword [r15 + 0x30]
cmp rax, rcx
jae 0x1400381ee
lea rdx, [rax + 1]
mov qword [r15 + 0x28], rdx
mov rdi, rbp
mov rdx, rbp
cmp rcx, 0x10
jb 0x140038139
mov rdx, qword [rdi]
mov word [rdx + rax], 0x2c
jmp 0x140038201
mov r13, r12
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x2c0]
call fcn.14003a830
mov rdi, qword [rsp + 0xe0]
lea rsi, [rdi + 0x18]
mov rbx, qword [rsp + 0x88]
mov rcx, rbx
call fcn.1400dccb0
mov r12, rax
mov rax, qword [rdi + 0x30]
cmp rax, r12
jae 0x1400381a4
mov rcx, rsi
mov rdx, r12
mov r9, rbx
call fcn.140001700
mov rbp, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x98]
jmp 0x1400381d9
cmp rax, 0x10
mov rbp, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x98]
jb 0x1400381bd
mov rsi, qword [rsi]
mov qword [rdi + 0x28], r12
mov rcx, rsi
mov rdx, qword [rsp + 0x88]
mov r8, r12
call fcn.1400c9420
mov byte [rsi + r12], 0
mov r12, r13
mov rdi, qword [rsp + 0x2c8]
mov r13, qword [rsp + 0x70]
jmp 0x1400382e6
mov edx, 1
mov rdi, rbp
mov rcx, rbp
mov r9b, 0x2c
call fcn.14001c700
mov rcx, rsi
call fcn.1400dccb0
mov rcx, qword [r15 + 0x28]
mov rbp, qword [r15 + 0x30]
mov rdx, rbp
sub rdx, rcx
cmp rdx, rax
jae 0x140038231
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rax
mov r9, rsi
call fcn.140001b10
jmp 0x140038266
mov rsi, rax
add rsi, rcx
mov qword [r15 + 0x28], rsi
cmp rbp, 0x10
jb 0x140038244
mov rdi, qword [rdi]
add rcx, rdi
mov rdx, qword [rsp + 0x88]
mov r8, rax
call fcn.1400c9420
mov byte [rdi + rsi], 0
jmp 0x140038266
cmp r13, r12
je 0x140038111
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
mov rbp, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x98]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x2c8]
mov r13, qword [rsp + 0x70]
je 0x1400382e6
mov rdx, qword [rsp + 0xf0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400382c8
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1400388f3
add rdx, 0x27
mov rcx, rax
call fcn.1400a5740
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, qword [rsp + 0x2a0]
mov al, byte [r14]
test al, 8
je 0x140038325
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x20], rax
mov cl, byte [rsp + 0x6f]
mov rdx, r14
mov r8, rsi
mov r9, r13
call fcn.14006d8e0
mov al, byte [r14]
mov rbx, qword [rsp + 0x2a8]
test al, 1
je 0x1400383d5
mov rcx, rsi
mov rsi, qword [r12 + 0x408]
test rsi, rsi
je 0x1400383cf
mov r9, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x2c0]
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x20], al
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov r8, qword [rsp + 0xa8]
call fcn.14006cfd0
cmp qword [rsp + 0x78], 0
setne dl
mov rcx, rdi
mov r8, rbp
call rsi
mov rcx, rdi
call fcn.14006d0a0
jmp 0x140038841
mov al, byte [r14]
mov rsi, rcx
mov qword [rsp + 0x70], r13
mov ecx, 0xf
movq xmm0, rcx
pslldq xmm0, 8
movdqu xmmword [rsp + 0x200], xmm0
mov byte [rsp + 0x1f0], 0
test al, 0x10
jne 0x14003843c
xor r13d, r13d
test al, 1
je 0x140038772
lea rax, [r12 + 8]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
mov qword [rsp + 0x80], rax
je 0x1400384dd
mov rdx, rbp
call fcn.140035ca0
mov rsi, rax
mov dword [rsp + 0x78], 0
jmp 0x1400384fc
mov qword [rsp + 0x80], r12
mov ecx, 0x88
call fcn.1400a56d0
mov r13, rax
mov r9, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x2c0]
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x20], al
mov rcx, r13
mov r8, qword [rsp + 0xa8]
call fcn.14006cfd0
mov rcx, r14
call fcn.140004e40
mov esi, dword [rax + 4]
test esi, esi
je 0x14003875f
mov r12b, 1
xor edi, edi
lea rbx, [0x14012af30]
xorps xmm6, xmm6
jmp 0x1400386c0
mov rcx, rax
call fcn.140022820
mov al, 1
mov dword [rsp + 0x78], eax
mov rcx, r12
mov rdx, rbp
mov r8b, 1
call fcn.140037b40
mov rsi, rax
test rsi, rsi
mov rax, qword [rsp + 0x90]
je 0x140038580
test r13, r13
je 0x14003851b
mov rcx, rsi
mov rdx, r13
call fcn.14006d110
jmp 0x140038580
mov r9, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x2c0]
mov ecx, dword [rsp + 0x2d8]
mov dword [rsp + 0x58], ecx
mov rcx, qword [rsp + 0x2d0]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov r8, qword [rsp + 0xa8]
call fcn.14006d1c0
mov rax, qword [r12 + 0x220]
test dword [0x140101a38], eax
je 0x140038623
mov r8b, 0x42
mov al, byte [rsp + 0x6f]
cmp al, 0x58
je 0x1400385a2
mov r8d, eax
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0xe0]
mov rcx, r12
mov r9, rdi
call fcn.140038900
mov rax, qword [rsp + 0x208]
cmp rax, 0x10
jb 0x140038601
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400385fc
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x1400388f3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400a5740
movdqu xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x200], xmm1
movdqa xmmword [rsp + 0x1f0], xmm0
cmp byte [rsp + 0x78], 0
je 0x140038772
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140038772
mov rcx, rbx
call fcn.1400a58b0
mov eax, dword [0x14012af30]
cmp eax, 0xffffffff
jne 0x1400386eb
mov ecx, 0x18
call fcn.1400a56d0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [0x14012af28], rax
mov rcx, rbx
call fcn.1400a5920
jmp 0x1400386eb
mov rcx, rbx
call fcn.1400a58b0
mov eax, dword [0x14012af30]
cmp eax, 0xffffffff
jne 0x140038721
mov ecx, 0x18
call fcn.1400a56d0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [0x14012af28], rax
mov rcx, rbx
call fcn.1400a5920
jmp 0x140038721
test sil, 1
je 0x140038740
mov eax, dword [0x14012af30]
mov ecx, dword [0x140127e00]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140038641
mov rax, qword [0x14012af28]
mov rax, qword [rax]
cmp qword [rax + rdi], 0
je 0x140038740
mov eax, dword [0x14012af30]
mov ecx, dword [0x140127e00]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003867e
mov rax, qword [0x14012af28]
mov rax, qword [rax]
mov rcx, qword [rax + rdi]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 8]
test al, al
je 0x140038740
xor r12d, r12d
nop
shr esi, 1
add rdi, 8
test esi, esi
jne 0x1400386c0
test r12b, r12b
mov rdi, qword [rsp + 0x2c8]
je 0x14003887a
mov rcx, r13
call fcn.14006d0a0
mov rcx, r13
call fcn.1400a5730
xor r13d, r13d
mov rbx, qword [rsp + 0x200]
test rbx, rbx
je 0x1400387e5
mov ecx, 2
call fcn.140016ea0
test al, al
je 0x1400387e5
lea rdx, str..._.._base_trace_event_trace_log.cc
lea rsi, [rsp + 0xe0]
mov rcx, rsi
mov r8d, 0x516
mov r9d, 2
call fcn.140016f40
lea rcx, [rsp + 0xe8]
cmp qword [rsp + 0x208], 0xf
jbe 0x1400387cd
mov rdx, qword [rsp + 0x1f0]
jmp 0x1400387d5
lea rdx, [rsp + 0x1f0]
mov r8, rbx
call fcn.140015ea0
mov rcx, rsi
call fcn.1400173e0
test r13, r13
je 0x1400387fa
mov rcx, r13
call fcn.14006d0a0
mov rcx, r13
call fcn.1400a5730
mov rax, qword [rsp + 0x208]
cmp rax, 0x10
jb 0x140038841
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14003883c
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x1400388f3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400a5740
mov rcx, r15
xor edx, edx
call fcn.140035840
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.1400a5a90
mov rax, rbp
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, byte [r14]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x2a8]
test al, 1
jne 0x140038409
jmp 0x140038772
lea rcx, [0x14012af20]
call fcn.1400a58b0
mov eax, dword [0x14012af20]
cmp eax, 0xffffffff
jne 0x140037f28
mov ecx, 8
call fcn.1400a56d0
mov rdi, rax
mov qword [rax], 0
mov rcx, rax
xor edx, edx
call fcn.140035890
mov qword [0x14012af18], rdi
mov rdi, qword [rsp + 0x2c8]
lea rcx, [0x14012af20]
call fcn.1400a5920
jmp 0x140037f28
call fcn.1400d60c0
ud2