Function at 0x4084fc
Capabilities:
Accept command line arguments
Create mailslot
Get common file path
Get disk size
Get hostname

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x16f0
call fcn.00408f20
push ebx
push esi
push dword [0x2c3032c]
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [0x2c2c858], eax
mov esi, 0x519167
cmp dword [0x2c3032c], 0x37
jne 0x4085e3
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleSelectionInfo]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsW]
push ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
push ebx
push ebx
lea eax, [ebp - 0x16f0]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LockFile]
lea eax, [ebp - 0x2f0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x6f0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetComputerNameExA]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathW]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xef0]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
dec esi
jne 0x408524
xor eax, eax
cmp eax, 0x1744
jne 0x4085ff
mov ecx, dword [0x426008]
mov dword [0x2c31eb0], ecx
inc eax
cmp eax, 0x79a863
jl 0x4085ec
mov esi, dword [sym.imp.USER32.dll_GetCursorInfo]
push edi
mov edi, dword [sym.imp.USER32.dll_GetMenuInfo]
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0x14fb
jge 0x40863e
push ebx
call esi
push ebx
push ebx
call edi
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemID]
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadMenuW]
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
cmp dword [0x2c3032c], 0x6b
jne 0x408660
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDefaultCommConfigA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetProfileSectionA]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1816f663
jl 0x408617
mov dword [ebp - 4], ebx
cmp dword [0x2c3032c], ebx
jbe 0x40868d
push dword [ebp - 4]
call fcn.0040827e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [0x2c3032c]
jb 0x408677
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0x14fb
jge 0x4086b6
push ebx
call esi
push ebx
push ebx
call edi
push ebx
call dword [sym.imp.USER32.dll_GetListBoxInfo]
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadMenuW]
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
cmp dword [0x2c3032c], 0x6b
jne 0x4086d8
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDefaultCommConfigA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetProfileSectionA]
cmp dword [ebp - 4], 0x144a61
jle 0x408702
cmp dword [ebp - 0xc], 0xad5cf7
je 0x408702
cmp dword [ebp - 0x50], 0xad4c41c
je 0x408702
cmp dword [0x2c3032c], 0x28
jne 0x408702
call dword [sym.imp.KERNEL32.dll_GetLastError]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1816f663
jl 0x408690
xor esi, esi
cmp dword [0x2c3032c], 0x15a
jne 0x408723
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, 0x76055
jne 0x40873b
push 0x4013c4
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x2c30328], eax
inc esi
cmp esi, 0x1756c5
jl 0x408710
push 0x436a88
push dword [0x2c30328]
mov byte [0x436a88], bl
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x436a84], eax
xor esi, esi
cmp esi, 0x1c
jne 0x40876c
call fcn.004083fd
inc esi
cmp esi, 0x3debc7
jl 0x408762
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x2c3032c], 0x16
jne 0x408792
call dword [sym.imp.KERNEL32.dll_DebugBreak]
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasExesLengthA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x2c3032c], 0x9e
jne 0x408800
push ebx
lea eax, [ebp - 0xef0]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMailslotW]
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push ebx
push 0x4013e0
push ebx
call dword [sym.imp.KERNEL32.dll__hread]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSize]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
cmp esi, 0x187276e
jg 0x408815
inc esi
cmp esi, 0x332beaf6
jl 0x408777
push 0x426010
push dword [0x2c3032c]
push dword [0x2c2c858]
call fcn.004081d6
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor edi, edi
cmp dword [0x2c3032c], 0x10
jne 0x408849
lea eax, [ebp - 0xc]
push eax
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_AddAtomW]
cmp edi, 0x1e674
jne 0x408856
call fcn.004083ef
inc edi
cmp edi, 0x3e4e2
jl 0x408833
mov edi, 0xdd9a7
cmp dword [0x2c3032c], 0xc01
jne 0x40888c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteProfileSectionW]
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push ebx
call dword [sym.imp.ADVAPI32.dll_AbortSystemShutdownW]
dec edi
jne 0x408864
call fcn.00407fe0
push 0x73
pop eax
push 0x6d
mov word [0x2c30332], ax
pop eax
push 0x67
mov word [0x2c30336], ax
pop eax
push 0x69
mov word [0x2c30338], ax
pop eax
push 0x6c
mov word [0x2c30334], ax
pop eax
push 0x32
mov word [0x2c30344], ax
pop eax
push 0x6c
mov word [0x2c3033c], ax
pop eax
push 0x33
mov word [0x2c30342], ax
xor eax, eax
mov word [0x2c30346], ax
pop eax
push 0x64
mov word [0x2c3033a], ax
pop eax
push 0x6d
mov word [0x2c30340], ax
pop eax
push 0x2e
mov word [0x2c30330], ax
pop eax
push 0x2c30330
mov word [0x2c3033e], ax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp dword [0x2c3032c], 0x1144
jne 0x4089a2
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push ebx
push ebx
lea eax, [ebp - 0x6f0]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_CreateActCtxW]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathA]
lea eax, [ebp - 0xc]
push eax
push ebx
lea eax, [ebp - 0xef0]
push eax
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
mov edi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
call esi
lea eax, [ebp - 4]
push eax
call esi
push ebx
call esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1b0]
push eax
call edi
cmp dword [0x2c3032c], 0x1d
pop edi
jne 0x408a07
push ebx
lea eax, [ebp - 0xc]
push eax
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteConsoleW]
push ebx
lea eax, [ebp - 0x6f0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalGetAtomNameA]
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_UnlockFile]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetMailslotInfo]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
pop esi
xor eax, eax
pop ebx
leave
ret