Function at 0x1004d9e
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push edi
mov edi, 0x128
push edi
lea eax, [ebp - 0x280]
push eax
push 1
push dword [0x1015774]
call esi
push 0x10
lea eax, [ebp - 0x30]
push eax
push 2
push dword [0x1015774]
call esi
push 0x250
lea eax, [ebp - 0x280]
push eax
call fcn.01004c1a
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
xor ebx, ebx
push ebx
push dword [0x1015774]
mov dword [ebp - 4], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 4]
push ebx
push ebx
sub edx, ecx
push edx
push eax
push ecx
push dword [ebp - 4]
lea eax, [ebp - 0x280]
push 0x2cf0000
push eax
lea eax, [ebp - 0x30]
push eax
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
cmp eax, ebx
mov dword [0x1014a0c], eax
jne 0x1004e36
xor eax, eax
jmp 0x1005029
push ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_GetMenu]
push ebx
push dword [0x1014a0c]
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
cmp dword [0x1014988], ebx
mov dword [ebp - 8], eax
lea eax, [ebp - 0x280]
push edi
push eax
jne 0x1004e9b
push 0x7c
push dword [0x1015774]
call esi
lea eax, [ebp - 0x280]
push eax
push 0x6c
push ebx
push 0x6c
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ebx
push 0x6e
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_DeleteMenu]
jmp 0x1004eed
push 0xaf
push dword [0x1015774]
call esi
lea eax, [ebp - 0x280]
push eax
mov eax, 0xf060
push eax
push ebx
push eax
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_InsertMenuW]
push edi
lea eax, [ebp - 0x280]
push eax
push 0xb0
push dword [0x1015774]
call esi
lea eax, [ebp - 0x280]
push eax
push 0x6e
push ebx
push 0xf060
push dword [ebp - 8]
jmp 0x103d03a
mov eax, dword [0x10149cc]
cmp eax, ebx
je 0x1004f1f
cmp dword [0x101496c], ebx
jne 0x1004f1f
lea ecx, [ebp - 0xc]
push ecx
push 0x10149ac
lea ecx, [ebp - 0x10]
push ecx
push ebx
push str.NoFileMenu
push eax
mov dword [ebp - 0xc], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [0x10149ac], ebx
je 0x1004f36
push 0x400
push ebx
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_DeleteMenu]
cmp dword [0x10149a8], ebx
mov edi, 0xcc
je 0x1004f63
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 3
push edi
push dword [ebp - 4]
mov dword [0x1014008], ebx
call esi
push 3
push 0xcd
push dword [ebp - 4]
call esi
cmp dword [0x1014978], ebx
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
je 0x1004f7d
push 8
push 0xca
push dword [ebp - 4]
call esi
cmp dword [0x1014980], ebx
je 0x1004f91
push 8
push 0xc9
push dword [ebp - 4]
call esi
cmp dword [0x1014008], ebx
je 0x1004fa1
push 8
push edi
jmp 0x103e4a4
cmp dword [0x101574c], ebx
je 0x1004fb6
push ebx
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_EnableWindow]
movzx eax, word [ebp + 0xc]
push eax
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp + 8]
mov edi, eax
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_GetClientRect]
push 0xc
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, eax
cmp esi, ebx
je 0x1005017
push esi
push dword [ebp + 8]
push edi
call dword [sym.imp.USER32.dll_FillRect]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
push dword [0x1014a0c]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x1014a0c]
pop edi
pop esi
pop ebx
leave
ret 8