Function at 0x103031c
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x1046080]
push ebx
push edi
push 0xcd
mov dword [ebp - 4], eax
mov edi, ecx
call fcn.010384d8
mov ebx, eax
xor eax, eax
cmp ebx, eax
mov dword [ebp - 0x100], ebx
je 0x103057d
cmp dword [ebp + 8], eax
push esi
je 0x103038f
cmp dword [edi + 0x31c], eax
je 0x103036d
push 0x400
push 1
push ebx
call dword [sym.imp.USER32.dll_DeleteMenu]
jmp 0x10303a2
cmp dword [edi + 0x2e4], eax
jne 0x103037d
cmp dword [edi + 0x2e8], eax
jne 0x1030380
push 3
pop eax
push eax
push 0x1a5
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x10303a2
push 2
pop esi
push 0x400
push esi
push ebx
call dword [sym.imp.USER32.dll_DeleteMenu]
dec esi
jns 0x1030392
mov eax, dword [edi + 0x4fc]
neg eax
sbb eax, eax
and eax, 0xfffffff8
add eax, 8
push eax
mov esi, 0x1a8
push esi
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
lea eax, [ebp - 0x120]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
call fcn.01017f5b
test eax, eax
jne 0x10303eb
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x11c]
je 0x10303eb
xor eax, eax
jmp 0x10303ee
push 3
pop eax
push eax
push esi
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [edi + 0x424], 0
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
mov ebx, dword [sym.imp.USER32.dll_ModifyMenuW]
je 0x1030471
cmp dword [edi + 0x47c], 0
je 0x1030471
push 0x1e
lea eax, [ebp - 0x40]
push eax
push 0x216
push dword [0x104662c]
call esi
push 0x1e
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [edi + 0x47c]
push dword [eax]
push dword [0x104662c]
call esi
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xfc]
push 0x40
push eax
call fcn.0101afdd
add esp, 0x10
lea eax, [ebp - 0xfc]
push eax
mov eax, 0x1a0
push eax
push 0
push eax
push dword [ebp - 0x100]
call ebx
jmp 0x1030484
push 0
push 0x1a0
push dword [ebp - 0x100]
call dword [sym.imp.USER32.dll_DeleteMenu]
cmp dword [0x104608c], 0
je 0x10304bb
push 0x40
lea eax, [ebp - 0xfc]
push eax
push 0x352
push dword [0x104662c]
call esi
lea eax, [ebp - 0xfc]
push eax
mov eax, 0x197
push eax
push 0
push eax
push dword [ebp - 0x100]
call ebx
mov ecx, edi
call fcn.0102f6bb
test eax, eax
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
jne 0x10304f9
push 3
push 0x193
push dword [ebp - 0x100]
call esi
push 3
push 0x194
push dword [ebp - 0x100]
call esi
push 3
push 0x195
push dword [ebp - 0x100]
call esi
lea eax, [ebp - 0x108]
push eax
push 0x20019
xor edi, edi
push edi
push 0x10305b0
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1030576
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x110]
push eax
push edi
push 0x103058c
push dword [ebp - 0x108]
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x10c], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x108]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x104], edi
je 0x1030576
push 3
push 0x1a4
push dword [ebp - 0x100]
call esi
mov eax, dword [ebp - 0x100]
pop esi
mov ecx, dword [ebp - 4]
pop edi
pop ebx
call fcn.01001b2f
leave
ret 4