Function at 0x4324d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x586494
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x5d1e24]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x54], ecx
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x6c], eax
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.0043ae20
add esp, 4
lea ecx, [ebp - 0x4c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x4c], xmm0
movups xmmword [ebp - 0x3c], xmm0
call fcn.0042ccf0
mov ecx, dword [ebp - 0x20]
mov eax, 0x2e8ba2e9
sub ecx, dword [ebp - 0x24]
imul ecx
mov byte [ebp - 4], 1
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x590f10]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [0x593de0]
call fcn.0046cad0
mov ecx, 8
cmp eax, ecx
jbe 0x4325a2
nop dword [eax]
cmp ecx, 0xfffffff
jae 0x43264f
add ecx, ecx
cmp ecx, eax
jb 0x432590
mov eax, dword [ebp - 0x44]
movss xmm3, dword [ebp - 0x4c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x590f10]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ecx
movaps xmm1, xmm2
divss xmm1, xmm3
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x590f10]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x432618
cmp ecx, 0xfffffff
jae 0x432618
movaps xmm1, xmm2
add ecx, ecx
divss xmm1, xmm3
mov eax, ecx
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x590f10]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x4325e8
push ecx
lea ecx, [ebp - 0x4c]
call fcn.004281f0
mov edx, dword [ebp - 0x48]
cmp dword [edx], edx
je 0x43265c
mov edi, dword [edx + 4]
nop dword [eax + eax]
mov esi, dword [edx]
lea ecx, [ebp - 0x4c]
push esi
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410e50
cmp esi, edi
je 0x43265c
mov edx, dword [ebp - 0x48]
jmp 0x432630
cmp ecx, eax
jb 0x432c73
jmp 0x4325a2
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
cmp esi, edi
je 0x432683
push dword [ebp - 0x6c]
lea eax, [esi + 0x18]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0042beb0
add esi, 0x58
cmp esi, edi
jne 0x432666
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x24]
mov esi, dword [eax]
cmp esi, eax
je 0x4327b5
nop dword [eax]
nop word [eax + eax]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x34]
and ecx, eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + ecx*8]
add ecx, ecx
mov dword [ebp - 0x5c], ecx
mov edx, ecx
mov ecx, dword [ebp - 0x40]
mov edi, dword [ecx + edx*4]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x58], edi
lea edi, [esi + 8]
cmp dword [ebp - 0x58], edx
jne 0x4326fd
mov ecx, edx
jmp 0x432709
mov edi, dword [ebp - 0x5c]
mov ecx, dword [ecx + edi*4 + 4]
lea edi, [esi + 8]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x432726
mov ecx, dword [eax + 8]
cmp ecx, dword [edi]
je 0x43271b
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
jmp 0x4326f4
cmp eax, edx
je 0x432726
mov esi, dword [esi]
jmp 0x4327a9
mov ecx, dword [ebp - 0x54]
add ecx, 0x114
push edi
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov edx, dword [eax + 4]
push edx
push eax
mov dword [ebp - 0x68], edx
call fcn.00410060
mov edx, dword [ebp - 0x54]
mov ecx, 0x15555554
mov dword [ebp - 0x5c], eax
mov edi, dword [edx + 0x118]
sub ecx, edi
cmp ecx, 1
jb 0x432c7d
mov eax, dword [ebp - 0x58]
lea ecx, [edi + 1]
mov dword [edx + 0x118], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
lea ecx, [edx + 0x110]
mov eax, dword [edx + 0x114]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410e50
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x14]
push esi
push eax
lea ecx, [ecx + 0x20]
call fcn.00435d70
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
cmp esi, dword [eax + 0x24]
jne 0x4326a0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
lea ecx, [ebp - 0x50]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
cmp edi, eax
je 0x432bf4
add edi, 0x1a
nop word [eax + eax]
movzx eax, byte [edi - 2]
mov edx, dword [ebp - 0x54]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi - 1]
mov esi, dword [edx + 0x2c]
xor ecx, eax
movzx eax, byte [edi]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 1]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul ecx, ecx, 0x1000193
and ecx, dword [edx + 0x38]
mov edx, dword [edx + 0x24]
mov eax, dword [esi + ecx*8]
add ecx, ecx
mov dword [ebp - 0x14], ecx
cmp dword [esi + ecx*4], edx
jne 0x43282f
mov ecx, edx
jmp 0x432835
mov ecx, dword [esi + ecx*4 + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x432848
mov ecx, dword [eax + 8]
cmp ecx, dword [edi - 2]
je 0x43284a
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
jmp 0x432826
mov eax, edx
mov ecx, dword [ebp - 0x54]
cmp eax, dword [ecx + 0x24]
jne 0x432a26
push 0x78
call fcn.0046c775
add esp, 4
mov dword [ebp - 0x68], eax
test eax, eax
je 0x432935
lea esi, [eax + 0x10]
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj_struct_ProcessSummaryInfo_.0
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov dword [ebp - 0x64], esi
mov word [esi], ax
lea ecx, [esi + 0x18]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
mov word [ecx], ax
mov dword [esi + 0x48], eax
xorps xmm0, xmm0
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
lea eax, [edi - 0x1a]
mov byte [ebp - 4], 4
movsd qword [esi + 0x50], xmm0
cmp esi, eax
je 0x4328e3
cmp dword [edi - 6], 8
lea eax, [edi - 0x1a]
jb 0x4328d5
mov eax, dword [eax]
push dword [edi - 0xa]
mov ecx, esi
push eax
call fcn.00409700
lea ecx, [esi + 0x18]
lea eax, [edi + 0xe]
cmp ecx, eax
je 0x4328fb
cmp dword [edi + 0x22], 8
jb 0x4328f2
mov eax, dword [eax]
push dword [edi + 0x1e]
push eax
call fcn.00409700
mov ecx, dword [edi - 2]
mov dword [esi + 0x30], ecx
mov eax, dword [edi + 2]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 6]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0xa]
mov dword [esi + 0x3c], eax
mov eax, dword [edi + 0xa]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x48]
push 1
push eax
mov dword [esi + 0x44], 0
mov dword [eax], ecx
call fcn.0043acb0
mov ecx, dword [ebp - 0x68]
add esp, 8
jmp 0x432937
xor ecx, ecx
or dword [ebp - 0x60], 1
lea eax, [ecx + 0x10]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x54]
lea esi, [ebp - 0x2c]
add ecx, 0x24
mov byte [ebp - 4], 5
push esi
lea esi, [edi - 2]
push esi
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov edx, dword [eax + 4]
push edx
push eax
mov dword [ebp - 0x64], edx
call fcn.0042b770
mov edx, dword [ebp - 0x54]
mov ecx, 0xccccccb
mov dword [ebp - 0x58], eax
mov eax, dword [edx + 0x28]
sub ecx, eax
cmp ecx, 1
jb 0x432c7d
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 0x58]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
lea ecx, [edx + 0x20]
mov eax, dword [edx + 0x24]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0042bd10
mov eax, dword [ebp - 0x54]
push esi
lea ecx, [eax + 0x130]
mov dword [ebp - 0x64], ecx
lea ecx, [eax + 0x134]
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov edx, dword [eax + 4]
push edx
push eax
mov dword [ebp - 0x58], edx
call fcn.00410060
mov edx, dword [ebp - 0x64]
mov ecx, 0x15555554
mov esi, dword [edx + 8]
sub ecx, esi
cmp ecx, 1
jb 0x432c7d
lea ecx, [esi + 1]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov ecx, edx
mov eax, dword [edx + 4]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00410e50
mov esi, dword [ebp - 0x28]
jmp 0x432bbc
mov esi, dword [eax + 0x10]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
test esi, esi
je 0x432a3c
lock inc dword [esi + 4]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], esi
add eax, 0x48
mov byte [ebp - 4], 6
push 0
push eax
call fcn.0043acb0
mov eax, dword [ebp - 0x58]
add esp, 8
movsd xmm0, qword [eax + 0x50]
comisd xmm0, xmmword [0x5936e0]
movsd qword [ebp - 0x84], xmm0
jbe 0x432bbc
mov ecx, dword [ebp - 0x50]
cmp dword [eax + 0x30], ecx
je 0x432bbc
mov ecx, dword [ebp - 0x54]
add ecx, 0x1a8
call fcn.00466540
test al, al
jne 0x432bbc
mov eax, dword [ebp - 0x54]
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [eax + 0x1a8]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x432abd
add ecx, 4
call fcn.00452a20
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x1ac]
mov dword [ebp - 0x70], eax
push 0x30
mov byte [ebp - 4], 7
call fcn.0046c775
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x432b61
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 4], 8
test cl, 4
je 0x432b02
and ecx, 0xfffffffb
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x144]
call fcn.0044fa30
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + 4]
mov dword [ebp - 0x78], ecx
call fcn.0044c3f0
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + 8]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x78], ecx
mov dword [eax], 0x5938d8
mov eax, dword [ebp - 0x74]
mov dword [ecx], eax
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x432b37
lea ecx, [eax + 4]
call fcn.00452a20
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x70]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x5c]
push dword [ebp - 0x58]
add ecx, 0x10
mov byte [ebp - 4], 0xb
call fcn.0040c610
mov eax, dword [ebp - 0x5c]
movsd xmm0, qword [ebp - 0x84]
movsd qword [eax + 0x28], xmm0
jmp 0x432b63
xor eax, eax
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.0044c930
or dword [ebp - 0x60], 2
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x14], 0x431e80
call fcn.0044e4f0
mov eax, dword [ebp - 0x18]
sub esp, 8
mov ecx, esp
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x7c], ecx
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x432ba6
lea ecx, [eax + 4]
call fcn.00452a20
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x54]
call fcn.0042e030
lea ecx, [ebp - 0x18]
call fcn.0044e4f0
mov byte [ebp - 4], 1
test esi, esi
je 0x432be5
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x432be5
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x432be5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
add edi, 0x58
lea eax, [edi - 0x1a]
cmp eax, dword [ebp - 0x6c]
jne 0x4327e0
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 0x24]
mov esi, dword [edi]
cmp esi, edi
je 0x432c41
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x58], ecx
test ecx, ecx
je 0x432c38
lock inc dword [ecx + 4]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x58], ecx
test ecx, ecx
je 0x432c38
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x432c38
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x58]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x432c38
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [esi]
cmp esi, edi
jne 0x432c00
mov eax, dword [ebp - 0x54]
mov ecx, eax
call fcn.00430380
lea ecx, [ebp - 0x4c]
call fcn.00412dc0
lea ecx, [ebp - 0x24]
call fcn.00434c60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046ca4d
mov esp, ebp
pop ebp
ret
push str.invalid_hash_bucket_count
call fcn.0043f949
push str.list_T__too_long
call fcn.0043f929
int3