Function at 0x100334d
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x868
mov eax, dword [0x1015494]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0xc
mov dword [ebp - 4], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x868]
rep stosd dword es:[edi], eax
push esi
mov dword [ebp - 0x814], esi
mov dword [ebp - 0x868], 0x30
call dword [sym.imp.USER32.dll_GetMenuItemCount]
xor ebx, ebx
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x818], ebx
mov dword [ebp - 0x810], ebx
mov eax, dword [ebp - 0x810]
cmp eax, dword [ebp - 0x82c]
jge 0x1003475
mov edi, dword [sym.imp.USER32.dll_GetMenuItemInfoW]
lea ecx, [ebp - 0x868]
push ecx
push 1
push eax
push esi
mov dword [ebp - 0x864], 2
call edi
test eax, eax
je 0x1003463
xor eax, eax
cmp dword [ebp - 0x858], 0xfa0
sete al
cmp eax, ebx
mov dword [ebp - 0x818], eax
je 0x1003463
lea eax, [ebp - 0x868]
push eax
push 1
push dword [ebp - 0x810]
mov dword [ebp - 0x864], 4
push esi
call edi
test eax, eax
je 0x1003463
cmp dword [ebp - 0x854], ebx
je 0x1003422
push dword [ebp - 0x854]
call dword [sym.imp.USER32.dll_DestroyMenu]
push 0xfa1
push dword [0x1015e28]
call dword [sym.imp.USER32.dll_LoadMenuW]
cmp eax, ebx
mov dword [ebp - 0x854], eax
je 0x1003463
lea eax, [ebp - 0x868]
push eax
push 1
push dword [ebp - 0x810]
push esi
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
test eax, eax
jne 0x1003463
push dword [ebp - 0x854]
call dword [sym.imp.USER32.dll_DestroyMenu]
inc dword [ebp - 0x810]
cmp dword [ebp - 0x818], ebx
je 0x100339e
cmp dword [ebp - 0x818], ebx
je 0x10038db
push ebx
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x834]
push eax
call fcn.010031c5
call fcn.0100325f
push 0x1001760
push ebx
call sub.SHELL32.dll_Ordinal_236
mov esi, eax
neg esi
sbb esi, esi
push 0x1000
neg esi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
mov dword [ebp - 0x828], eax
call dword [sym.imp.SHLWAPI.dll_Ordinal_413]
mov edi, eax
lea eax, [ebp - 0x824]
push eax
dec edi
push 1
dec edi
push ebx
neg edi
push 0x10018c8
sbb edi, edi
push 0x80000002
inc edi
mov dword [ebp - 0x830], ebx
mov dword [ebp - 0x810], ebx
mov dword [ebp - 0x82c], ebx
mov dword [ebp - 0x818], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x100354e
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x81c]
push eax
push ebx
push ebx
push 0x1001898
push dword [ebp - 0x824]
mov dword [ebp - 0x820], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1003542
cmp dword [ebp - 0x81c], ebx
setne al
mov dword [ebp - 0x818], eax
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x824]
push eax
push 1
push ebx
push 0x1001820
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1003685
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x81c]
push eax
push ebx
push ebx
push 0x1001898
push dword [ebp - 0x824]
mov dword [ebp - 0x820], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10035bf
cmp dword [ebp - 0x818], ebx
jne 0x10035b5
cmp dword [ebp - 0x81c], ebx
mov dword [ebp - 0x818], ebx
je 0x10035bf
mov dword [ebp - 0x818], 1
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x81c]
push eax
push ebx
push ebx
push 0x1001808
push dword [ebp - 0x824]
mov dword [ebp - 0x820], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10035fd
cmp dword [ebp - 0x81c], ebx
setne al
mov dword [ebp - 0x82c], eax
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x81c]
push eax
push ebx
push ebx
push 0x10017f8
push dword [ebp - 0x824]
mov dword [ebp - 0x820], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x100363b
cmp dword [ebp - 0x81c], ebx
setne al
mov dword [ebp - 0x810], eax
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x81c]
push eax
push ebx
push ebx
push 0x10017dc
push dword [ebp - 0x824]
mov dword [ebp - 0x820], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1003679
cmp dword [ebp - 0x81c], ebx
setne al
mov dword [ebp - 0x830], eax
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, ebx
je 0x10036a1
cmp dword [ebp - 0x838], ebx
je 0x10036a1
cmp dword [ebp - 0x828], ebx
jne 0x10036a1
cmp dword [ebp - 0x810], ebx
je 0x10036b4
push 3
push 0xfa4
push dword [ebp - 0x814]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp esi, ebx
je 0x10036d0
cmp dword [ebp - 0x834], ebx
je 0x10036d0
cmp dword [ebp - 0x828], ebx
jne 0x10036d0
cmp dword [ebp - 0x810], ebx
je 0x10036e3
push 3
push 0xfa2
push dword [ebp - 0x814]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp esi, ebx
je 0x10036ef
cmp dword [ebp - 0x810], ebx
je 0x1003702
push 3
push 0xfa3
push dword [ebp - 0x814]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp esi, ebx
je 0x100370e
cmp dword [ebp - 0x810], ebx
je 0x1003721
push 3
push 0xfa5
push dword [ebp - 0x814]
call dword [sym.imp.USER32.dll_EnableMenuItem]
lea eax, [ebp - 0x204]
mov dword [ebp - 0x844], eax
lea eax, [ebp - 0x868]
push eax
push ebx
mov esi, 0xfa6
push esi
push dword [ebp - 0x814]
mov dword [ebp - 0x864], 0x10
mov dword [ebp - 0x840], 0x100
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x10037ff
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x408]
push eax
mov word [ebp - 0x408], bx
mov dword [ebp - 0x834], 0x101
call sub.SHELL32.dll_Ordinal_241
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x80c]
push 0x201
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
add esp, 0x10
test eax, eax
jle 0x10037c9
push 0x100
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
jmp 0x10037ea
push 0x10017d4
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
cmp eax, ebx
je 0x10037ea
lea ecx, [eax + 6]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x868]
push eax
push ebx
push esi
push dword [ebp - 0x814]
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
push 0x10000000
call dword [sym.imp.SHELL32.dll_SHRestricted]
cmp eax, 1
je 0x100381f
cmp dword [ebp - 0x810], ebx
jne 0x100381f
cmp dword [ebp - 0x82c], ebx
je 0x100382e
push 3
push esi
push dword [ebp - 0x814]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [ebp - 0x828], ebx
mov esi, dword [sym.imp.USER32.dll_DeleteMenu]
jne 0x1003850
push 0x1a
call dword [sym.imp.SHLWAPI.dll_IsOS]
test eax, eax
je 0x1003850
cmp dword [ebp - 0x830], ebx
je 0x100387a
push ebx
push 0xfa7
push dword [ebp - 0x814]
call esi
cmp dword [ebp - 0x828], ebx
je 0x100387a
push 0x1a
call dword [sym.imp.SHLWAPI.dll_IsOS]
test eax, eax
je 0x100387a
cmp dword [ebp - 0x830], ebx
je 0x1003888
push ebx
push 0xfa8
push dword [ebp - 0x814]
call esi
cmp edi, ebx
je 0x10038a3
push 0x10017b0
push ebx
call sub.SHELL32.dll_Ordinal_236
test eax, eax
je 0x10038a3
cmp dword [0x1015e8c], ebx
jne 0x10038b1
push ebx
push 0xfa9
push dword [ebp - 0x814]
call esi
cmp dword [ebp - 0x828], ebx
jne 0x10038cd
push 0x1a
call dword [sym.imp.SHLWAPI.dll_IsOS]
test eax, eax
jne 0x10038cd
cmp dword [ebp - 0x818], ebx
je 0x10038db
push ebx
push 0xfaa
push dword [ebp - 0x814]
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.010120da
leave
ret 4