Function at 0x4877b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6408b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], 0
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov edi, eax
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x1a4], edi
mov ebx, dword [0x6fdadc]
call fcn.004027c0
mov eax, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push eax
push ebx
mov byte [ebp - 4], 1
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0x2723
push 1
push edi
mov edi, dword [sym.imp.USER32.dll_AppendMenuW]
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [esi + 0x1a4]
mov ebx, dword [0x6fd5cc]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov edx, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push edx
push ebx
mov byte [ebp - 4], 2
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x14]
push 0x2732
push 1
push eax
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [0x6fd93c]
mov ebx, dword [esi + 0x1a4]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov edx, dword [0x6fca90]
mov eax, dword [ebp - 0x14]
push edx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0x2728
push 1
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov eax, dword [0x6cdafc]
test eax, eax
je 0x487966
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov ecx, dword [0x6fca90]
mov byte [ebp - 4], 4
push ecx
push 0
lea ecx, [ebp - 0x2c]
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0
push 0x800
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov edx, dword [esi + 0x1a4]
mov ebx, dword [0x6fd2ac]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], edx
call fcn.004027c0
mov eax, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push eax
push ebx
mov byte [ebp - 4], 5
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
mov ecx, dword [ebp - 0x14]
push eax
push 0x2b46
push 0
push ecx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov edx, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push edx
push 0
mov byte [ebp - 4], 6
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0
push 0x800
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov eax, dword [0x6fd940]
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], eax
call fcn.004027c0
mov ecx, dword [0x6fca90]
mov edx, dword [ebp - 0x14]
push ecx
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0x80f1
push 1
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov eax, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push eax
push 0
mov byte [ebp - 4], 8
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0
push 0x800
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [esi + 0x1a4]
mov ebx, dword [0x6fdb54]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov edx, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push edx
push ebx
mov byte [ebp - 4], 9
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x14]
push 0x271d
push 0
push eax
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [esi + 0x1a4]
mov ebx, dword [0x6fdb5c]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov edx, dword [0x6fca90]
lea ecx, [ebp - 0x2c]
push edx
push ebx
mov byte [ebp - 4], 0xa
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x14]
push 0x271b
push 0
push eax
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x2c]
call fcn.004027c0
mov ecx, dword [0x6fca90]
mov byte [ebp - 4], 0xb
push ecx
push 0
lea ecx, [ebp - 0x2c]
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0
push 0x800
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov edx, dword [0x6fd46c]
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], edx
call fcn.004027c0
mov eax, dword [0x6fca90]
mov ecx, dword [ebp - 0x14]
push eax
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.00401f10
push eax
push 0x2b40
push 1
push ebx
call edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ebx, dword [esi + 0x1a4]
lea ecx, [ebp - 0x38]
call fcn.004027c0
mov edx, dword [0x6fca90]
lea ecx, [ebp - 0x38]
push edx
push 0
mov byte [ebp - 4], 0xd
call fcn.004027e0
lea ecx, [ebp - 0x38]
call fcn.00401f10
push eax
push 0
push 0x800
push ebx
call edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0
call fcn.00401070
mov eax, dword [0x6fdb58]
mov ecx, dword [esi + 0x1a4]
push eax
push 0x271c
push 0
push ecx
call fcn.0047d8f0
mov edx, dword [esi + 0x1a4]
add esp, 0x10
push 0
push 0
push 0x800
push edx
call fcn.0047d8f0
mov edi, dword [sym.imp.USER32.dll_CreatePopupMenu]
add esp, 0x10
call edi
mov edx, dword [esi + 0x1a4]
mov dword [esi + 0x1a8], eax
mov ecx, dword [0x6fdaec]
push ecx
push eax
push 0x10
push edx
call fcn.0047d8f0
mov eax, dword [0x6fdae8]
mov ecx, dword [esi + 0x1a4]
add esp, 0x10
push eax
push 0x2724
push 1
push ecx
call fcn.0047d8f0
mov edx, dword [esi + 0x1a4]
add esp, 0x10
push 0
push 0
push 0x800
push edx
call fcn.0047d8f0
add esp, 0x10
call edi
mov edx, dword [esi + 0x1a4]
mov dword [esi + 0x1ac], eax
mov ecx, dword [0x6fd1d4]
push ecx
push eax
push 0x10
push edx
call fcn.0047d8f0
mov eax, dword [0x6fdadc]
mov ecx, dword [esi + 0x1ac]
add esp, 0x10
push eax
push 0x299d
push 0
push ecx
call fcn.0047d8f0
mov edx, dword [0x6fdb50]
mov eax, dword [esi + 0x1ac]
add esp, 0x10
push edx
push 0x299e
push 0
push eax
call fcn.0047d8f0
add esp, 0x10
lea ecx, [ebp - 0x18]
mov edi, 0x299e
mov dword [ebp - 0x18], 4
push ecx
mov eax, dword [0x6fcafc]
lea edx, [ebp - 0x1c]
push edx
push 0
push 0
push str.nDblClick
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x487cc0
cmp dword [ebp - 0x1c], 2
jne 0x487cc0
mov edi, 0x299d
mov ecx, dword [esi + 0x1ac]
push 0
push edi
push 0x299e
push 0x299d
push ecx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov edx, dword [esi + 0x1a4]
push 0
push 0
push 0x800
push edx
call fcn.0047d8f0
mov eax, dword [0x6fdb50]
mov ecx, dword [esi + 0x1a4]
add esp, 0x10
push eax
push 0x271e
push 0
push ecx
call fcn.0047d8f0
add esp, 0x10
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret