Function at 0x406999
Capabilities:
Accept command line arguments
Hide graphical window
Set current directory
Set registry value
Terminate process

Disassembly:
sub esp, 0x440
and byte [esp], 0
push ebx
push ebp
push esi
push edi
push 0xf
pop ecx
xor eax, eax
lea edi, [esp + 0x11]
and byte [esp + 0x50], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x51]
push dword [0x47cdf0]
rep stosd dword es:[edi], eax
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push 0x40db6c
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x18]
push eax
call ebx
mov ebp, dword [sym.imp.KERNEL32.DLL_WritePrivateProfileStringA]
add esp, 0xc
mov edi, 0x47e42c
lea eax, [esp + 0x10]
push edi
push eax
mov esi, str.MAIN
push str.UseDummyIcon
push esi
call ebp
push dword [0x47d9d8]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.BackGroundColor
push esi
call ebp
push dword [0x47ef38]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.FontColor
push esi
call ebp
push dword [0x47cdf8]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.AddIconIndex
push esi
call ebp
push dword [0x47f150]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ClientEdge
push esi
call ebp
push dword [0x47ef10]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.AutoRegistrationMode
push esi
call ebp
push dword [0x47d4e4]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ImeOffAlways
push esi
call ebp
push dword [0x40d080]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.EditIcon
push esi
call ebp
push dword [0x47d4e8]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.EditIconDelay
push esi
call ebp
push dword [0x47d6f4]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.MigemoMode
push esi
call ebp
push edi
push 0x47f160
push str.MigemoStrings
push esi
call ebp
push edi
push 0x47d4ec
push str.MigemoDictPath
push esi
call ebp
push dword [0x47d748]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.MigemoStartLen
push esi
call ebp
push dword [0x47d6f8]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.CompactPath
push esi
call ebp
push dword [0x47d6fc]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.NoHideAtFilerMode
push esi
call ebp
push dword [0x40d088]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ToggleWindowShowHide
push esi
call ebp
push dword [0x47d700]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.AutoHide
push esi
call ebp
push dword [0x47d760]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ChangePrioriyOfDirectoryBrowsed
push esi
call ebp
push dword [0x40d090]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.InputHistoryMax
push esi
call ebp
push dword [0x40d094]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.InputHistoryMinLen
push esi
call ebp
push dword [0x47eef0]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ClearWorkingSet
push esi
call ebp
push dword [0x47d74c]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.MainWindowHeightAdd
push esi
call ebp
push dword [0x40d098]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ExecuteHistoryMax
push esi
call ebp
push dword [0x47d9e0]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.LoopListCursor
push esi
call ebp
push dword [0x40d088]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ToggleWindowShowHide
push esi
call ebp
push dword [0x47d744]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.NoCaption
push esi
call ebp
push dword [0x47f170]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.FitWindowSize
push esi
call ebp
push dword [0x47ee5c]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.MaxListItemCounts
push esi
call ebp
push dword [0x47ef14]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.TrayIcon
push esi
call ebp
push dword [0x47d764]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.ShowStartUp
push esi
call ebp
push dword [0x47d9d4]
lea eax, [esp + 0x14]
push 0x40db6c
push eax
call ebx
add esp, 0xc
lea eax, [esp + 0x10]
push edi
push eax
push str.SearchDelay
push esi
call ebp
push 0
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00405572
push 0
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_UnregisterHotKey]
call fcn.004076db
push dword [0x47ee54]
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
call ebx
push dword [0x47eec0]
call ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
push 0x47d750
push dword [0x47ef28]
call ebx
mov ebp, 0x47ef00
push ebp
push dword [0x47eee0]
call ebx
push edi
push 0x10
push 0x47d750
mov ebx, dword [sym.imp.KERNEL32.DLL_WritePrivateProfileStructA]
push str.MainWindowRect
push esi
call ebx
push edi
push 0x10
push ebp
push str.ListWindowRect
push esi
call ebx
push edi
push 0x3c
push 0x47ee80
push str.LOGFONT
push esi
call ebx
push 0x47de14
push dword [0x42ebbc]
call fcn.004015f4
xor edi, edi
pop ecx
cmp dword [0x42ebb4], edi
pop ecx
jne 0x406ea7
cmp dword [0x47d714], edi
je 0x406f0a
call dword [sym.imp.KERNEL32.DLL_GetCommandLineA]
push eax
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov esi, dword [sym.imp.SHLWAPI.dll_StrStrA]
lea eax, [esp + 0x50]
push str._key
push eax
call esi
cmp eax, edi
je 0x406ed2
mov byte [eax], 0x41
lea eax, [esp + 0x50]
push str._restart
push eax
call esi
test eax, eax
jne 0x406ef2
lea eax, [esp + 0x50]
push str.__restart
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
push 0x47dc0c
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
lea eax, [esp + 0x50]
push 5
push eax
call dword [sym.imp.KERNEL32.DLL_WinExec]
push dword [0x47ee60]
call fcn.0040863a
pop ecx
call fcn.00401227
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
push edi
call dword [sym.imp.KERNEL32.DLL_ExitProcess]