Function at 0x140038fb0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
mov r15, r9
mov r13d, r8d
mov r14, rdx
mov rdi, rcx
mov rsi, qword [rsp + 0x210]
mov rax, qword [0x140125058]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov eax, dword [0x14012c208]
test eax, eax
je 0x140039001
mov eax, dword [0x14012c208]
test eax, eax
jne 0x140039734
lea rcx, [rdi + 0x10]
mov qword [rsp + 0x30], rcx
call fcn.140023f50
mov qword [rsp + 0x48], 0
test rsi, rsi
je 0x140039022
mov eax, dword [rsi + 0x70]
jmp 0x140039027
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [rsp + 0x44], eax
cmp r13b, 0x45
jne 0x1400390ed
lea rsi, [rdi + 0x180]
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x44]
mov rcx, rsi
call fcn.14003b370
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
cmove rcx, rax
add rcx, 0xffffffffffffffff
mov qword [rsp + 0x180], rcx
cmp rax, rcx
jae 0x1400390b5
lea rdx, [rbx + 0x20]
lea r8, str.i___capacity_
lea rcx, [rsp + 0x180]
call fcn.14000dc60
test rax, rax
je 0x1400390b5
lea rdx, str..._.._base_containers_vector_buffer.h
lea rbp, [rsp + 0x50]
mov rcx, rbp
mov r8d, 0x55
mov r9, rax
call fcn.1400196d0
mov rcx, rbp
call fcn.1400186e0
mov rax, qword [rbx + 0x18]
mov rcx, qword [rsp + 0x180]
mov rdx, qword [r15]
sub rdx, qword [rax + rcx*8]
mov qword [rsp + 0x48], rdx
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x44]
mov rcx, rsi
call fcn.14003b370
mov rcx, qword [rsp + 0x50]
add rcx, 0x18
call fcn.14003b7d0
lea rcx, [rdi + 0x138]
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x44]
call fcn.14003aed0
mov rsi, qword [rsp + 0x50]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x190], xmm0
mov rbx, qword [rsi + 0x28]
cmp qword [rsi + 0x30], 0xf
jbe 0x140039126
mov rsi, qword [rsi + 0x18]
jmp 0x14003912a
add rsi, 0x18
cmp rbx, 0xf
mov qword [rsp + 0x38], r14
ja 0x140039149
movdqu xmm0, xmmword [rsi]
movdqa xmmword [rsp + 0x180], xmm0
mov ebp, 0xf
jmp 0x1400391a1
mov rbp, rbx
or rbp, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbp, rax
cmovae rbp, rax
cmp rbp, 0xfff
jb 0x140039181
lea rcx, [rbp + 0x28]
call fcn.1400a8a10
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14003918d
lea rcx, [rbp + 1]
call fcn.1400a8a10
mov rcx, rax
mov qword [rsp + 0x180], rcx
lea r8, [rbx + 1]
mov rdx, rsi
call fcn.1400cc760
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x198], rbp
lea rbp, [rdi + 0x1c0]
lea rdx, [rsp + 0x50]
lea r14, [rsp + 0x180]
mov rcx, rbp
mov r8, r14
call fcn.14003be00
mov rax, qword [rsp + 0x50]
cmp rax, qword [rdi + 0x1c8]
jne 0x140039225
mov rsi, qword [rdi + 0x1d0]
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
add edx, edx
lea eax, [rdx + rdx*2]
sub esi, eax
add esi, 1
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x180]
mov rcx, rbp
call fcn.14003bfa0
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x30], esi
lea rax, [0x1400f5660]
mov qword [rsp + 0x50], rax
lea r12, [rsp + 0xd8]
lea rbx, [rsp + 0x58]
lea rax, [0x1400f5678]
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xd4], pe_nt_image_headers64
mov rcx, r12
mov rdx, rbx
xor r8d, r8d
call fcn.14000cdf0
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 4]
lea rcx, [0x1400f5668]
mov qword [rsp + rax + 0x50], rcx
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x88]
mov dword [rsp + rax + 0x4c], ecx
lea rax, [0x1400f5700]
mov qword [rsp + 0x58], rax
mov ecx, 0x10
call fcn.1400a8a10
mov rsi, rax
mov cl, 1
call fcn.1400a9e30
mov qword [rsi + 8], rax
mov qword [rsp + 0xb8], rsi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xa4]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa0], 0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x80], xmm0
lea rax, [0x1400f5680]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xc8], 4
lea r15, [rsp + 0x160]
mov rcx, rbp
mov rdx, r15
mov r8, r14
call fcn.14003bfa0
mov rax, qword [rsp + 0x160]
mov r9d, dword [rax + 0x30]
cmp qword [rsp + 0x198], 0xf
jbe 0x140039385
mov r14, qword [rsp + 0x180]
lea rdx, str._s:_e_0_3_dm
mov rcx, r15
mov r8, r14
call fcn.140029850
mov r8, qword [rsp + 0x170]
cmp qword [rsp + 0x178], 0xf
jbe 0x1400393b2
mov r15, qword [rsp + 0x160]
lea rcx, [rsp + 0x50]
mov rdx, r15
call fcn.140017e00
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
jb 0x140039406
mov rcx, qword [rsp + 0x160]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140039401
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140039756
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1400a8a80
mov r15, rbx
movzx eax, byte [rsp + 0x44]
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx edx, byte [rsp + 0x45]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rsp + 0x46]
xor rcx, rdx
imul rcx, rax
movzx ebx, byte [rsp + 0x47]
xor rbx, rcx
imul rbx, rax
and rbx, qword [rdi + 0x1b0]
mov rcx, qword [rdi + 0x188]
mov rdx, qword [rdi + 0x198]
lea r14, [rdi + 0x180]
lea rbp, [rbx + rbx]
add rbp, 1
shl rbx, 4
mov rdi, qword [rdx + rbx]
mov esi, dword [rsp + 0x44]
mov rax, rdi
jmp 0x140039493
mov rax, qword [rax]
mov rbx, rdi
cmp rdi, rcx
je 0x1400394a2
mov rbx, qword [rdx + rbp*8]
mov rbx, qword [rbx]
cmp rbx, rax
je 0x1400394f1
cmp dword [rax + 0x10], esi
jne 0x140039490
cmp rcx, rax
je 0x1400394f1
mov rdx, qword [rax + 0x28]
mov rcx, qword [rax + 0x30]
mov rbx, rcx
sub rbx, rdx
jae 0x1400394cb
sub rcx, rdx
add rcx, qword [rax + 0x20]
mov rbx, rcx
test rbx, rbx
je 0x1400394f1
lea rbp, [0x1400fb537]
lea rsi, [rsp + 0x50]
nop dword [rax]
mov rcx, rsi
mov rdx, rbp
call fcn.140001140
add rbx, 0xffffffffffffffff
jne 0x1400394e0
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x140039508
lea rdx, [rsp + 0x50]
call fcn.14006e350
cmp r13b, 0x45
mov rsi, r15
jne 0x1400395c1
lea rcx, [rsp + 0x48]
call fcn.14002fd10
lea rdx, str.___.3f_ms_
lea rdi, [rsp + 0x160]
mov rcx, rdi
movdqa xmm2, xmm0
movq r8, xmm0
call fcn.140029850
mov r8, qword [rsp + 0x170]
cmp qword [rsp + 0x178], 0xf
jbe 0x14003955a
mov rdi, qword [rsp + 0x160]
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.140017e00
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
jb 0x1400395ae
mov rcx, qword [rsp + 0x160]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400395a9
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140039756
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1400a8a80
lea rdx, str.e_0_m
lea rcx, [rsp + 0x50]
call fcn.140001140
jmp 0x140039603
lea rdx, str.e_0_m
lea rcx, [rsp + 0x50]
call fcn.140001140
cmp r13b, 0x42
jne 0x140039603
lea rdx, [rsp + 0x160]
lea r8, [rsp + 0x44]
mov rcx, r14
call fcn.14003b370
mov rcx, qword [rsp + 0x160]
add rcx, 0x18
mov rdx, qword [rsp + 0x28]
call fcn.14003c500
mov rcx, rsi
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.14000dbb0
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 4]
lea rcx, [0x1400f5668]
mov qword [rsp + rax + 0x50], rcx
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x88]
mov dword [rsp + rax + 0x4c], ecx
lea rcx, [r12 - 0x80]
lea rax, [0x1400f5680]
mov qword [rsp + 0x58], rax
call fcn.14000d7e0
lea rax, [0x1400f5700]
mov qword [rsp + 0x58], rax
mov rdi, qword [rsp + 0xb8]
test rdi, rdi
je 0x140039694
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14003968c
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14003968c
mov rbp, qword [rax]
mov rcx, rax
mov edx, 1
call qword [rbp]
mov rcx, rdi
call fcn.1400a8a70
lea rax, [0x1400f5670]
mov qword [rsp + 0xd8], rax
mov rcx, r12
call fcn.1400aaa90
mov rax, qword [rsp + 0x198]
cmp rax, 0x10
jb 0x1400396ee
mov rcx, qword [rsp + 0x180]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400396e9
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x140039756
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.1400a8a80
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [0x14012c208]
test eax, eax
je 0x14003970d
mov eax, dword [0x14012c208]
test eax, eax
jne 0x140039742
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.1400a8dd0
mov rax, rsi
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14006d950
add dword [rax + 0x38], 1
jmp 0x140039001
call fcn.14006d950
mov ecx, dword [rax + 0x38]
test ecx, ecx
je 0x14003970d
add ecx, 0xffffffff
mov dword [rax + 0x38], ecx
jmp 0x14003970d
call fcn.1400d9340
ud2