Function at 0x1002b9d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f8830
mov eax, dword fs:[0]
push eax
sub esp, 0x74
push ebx
push esi
push edi
mov eax, dword [0x1013c014]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebp + 0xc]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, edx
sar eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
sar eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul edx, ecx, 0x1000193
mov ecx, dword [ebp + 8]
call fcn.100b3790
mov esi, dword [0x1014e914]
mov edi, eax
mov dword [ebp - 0x10], edi
cmp dword [esi], 0
je 0x1002ba72
cmp dword [esi + 4], 1
jne 0x1002ba6a
push str.DelayIcons
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x1002baac
add esi, 0x60
cmp dword [esi], 0
jne 0x1002ba51
xor bh, bh
push 0x1014be70
mov dword [ebp - 0x1c], 0x1014be70
mov byte [ebp - 0x18], 1
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov dword [ebp - 4], 0
mov esi, dword [0x1014bfb0]
mov eax, esi
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x1002baec
cmp dword [ecx + 0x10], edi
jae 0x1002bae2
mov ecx, dword [ecx + 8]
jmp 0x1002bae6
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
cmp word [esi + 0x38], 3
jne 0x1002bad3
cmp dword [esi + 0x40], 1
jne 0x1002bad3
push 0x10158d3c
mov bh, 1
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x1002ba74
push 0x10158d3c
xor bh, bh
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x1002ba74
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x1002baa2
cmp eax, esi
je 0x1002baf5
cmp edi, dword [eax + 0x10]
jae 0x1002baf7
mov eax, esi
mov bl, byte [ebp + 0x14]
cmp eax, esi
je 0x1002bb5d
nop
cmp dword [eax + 0x10], edi
jne 0x1002bb5d
cmp byte [eax + 0x3c], 0
je 0x1002bb10
cmp byte [eax + 0x3d], bl
je 0x1002bb52
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x1002bb36
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x1002bb32
cmp eax, dword [ecx + 8]
jne 0x1002bb32
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x1002bb22
mov eax, ecx
jmp 0x1002bb4c
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x1002bb4c
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x1002bb40
cmp eax, esi
jne 0x1002bb00
jmp 0x1002bb5d
lea esi, [eax + 0x14]
test esi, esi
jne 0x1002bbef
lea ecx, [ebp - 0x80]
call fcn.10027fd0
push eax
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 1
push eax
mov ecx, 0x1014bfb0
call fcn.10036700
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x14]
mov ecx, 0x1014bfb0
push eax
call fcn.10036780
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x80]
add esi, 0x14
mov byte [ebp - 4], 0
call fcn.1002a5d0
mov eax, dword [ebp + 8]
mov byte [esi + 0x28], 1
mov byte [esi + 0x29], bl
test eax, eax
jne 0x1002bbb0
xor ecx, ecx
jmp 0x1002bbc7
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002bbb5
mov eax, dword [ebp + 8]
sub ecx, edx
sar ecx, 1
push ecx
push eax
lea ecx, [esi + 0x58]
call fcn.10021eb0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x60], eax
mov eax, dword [0x1014bfdc]
mov dword [esi + 4], eax
mov eax, dword [0x1014bfe0]
mov dword [esi + 8], eax
mov eax, dword [0x1014bfe4]
mov dword [esi + 0xc], eax
mov edx, dword [ebp + 0x10]
xor ecx, ecx
test edx, edx
mov eax, 0x10
cmovne eax, ecx
mov ecx, eax
or ecx, 0x20
cmp edx, 1
cmovne ecx, eax
mov eax, dword [esi + 0x40]
mov edi, ecx
not eax
or edi, 0x40
cmp edx, 2
cmovne edi, ecx
and edi, eax
je 0x1002bc2f
test bh, bh
je 0x1002bc2f
push edi
push esi
mov ecx, 0x1014be70
call fcn.1002c540
xor edi, edi
push 0x1014be70
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bh, bh
jne 0x1002bc59
test edi, edi
je 0x1002bc59
push 0
push 0
push edi
push esi
mov ecx, 0x1014be70
call fcn.1002d140
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10