Function at 0x409486
Capabilities:
Accept command line arguments
Check mutex on windows
Get disk size
Get hostname
Terminate thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1610
call fcn.00409ff0
push ebx
push esi
push edi
push dword [0x85ca5c]
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_LocalAlloc]
mov dword [0x85c458], eax
mov esi, 0x519167
cmp dword [0x85ca5c], 0x37
jne 0x409596
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_GetConsoleScreenBufferInfo]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_EnumDateFormatsA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_InterlockedCompareExchange]
push ebx
push ebx
push ebx
lea eax, [ebp - 0xd0]
push eax
call dword [sym.imp.KERNEL32.DLL_VerifyVersionInfoA]
push ebx
push ebx
lea eax, [ebp - 0xe10]
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_FindResourceA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
lea eax, [ebp - 0x210]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x1610]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetComputerNameExW]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_SearchPathA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_FileTimeToLocalFileTime]
push 0x4013bc
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_OpenMutexA]
push ebx
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_EnumSystemLocalesW]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.DLL_GetComputerNameA]
push ebx
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.DLL_SetCriticalSectionSpinCount]
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.DLL_SetHandleInformation]
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_TerminateThread]
dec esi
jne 0x4094af
mov edi, 0x45f648
cmp esi, 0x8964f
jne 0x4095b6
push 0x4013c0
push edi
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
cmp esi, 0x1744
jne 0x4095c8
mov eax, dword [0x432008]
mov dword [0x85e5e0], eax
inc esi
cmp esi, 0x79a863
jl 0x4095a2
xor esi, esi
cmp esi, 0x14fb
jge 0x409616
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMenuInfo]
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadMenuA]
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_CharToOemBuffW]
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetBoundsRect]
push ebx
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [0x85ca5c], 0x6b
jne 0x409638
push ebx
call dword [sym.imp.KERNEL32.DLL_GetConsoleAliasesLengthA]
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_GetProfileSectionW]
inc esi
cmp esi, 0x1816f663
jl 0x4095d3
xor esi, esi
cmp dword [0x85ca5c], ebx
jbe 0x40967b
cmp dword [0x85ca5c], 0xfe
jne 0x40966c
push ebx
lea eax, [ebp - 0x610]
push eax
push ebx
push 0x4013d0
push ebx
call dword [sym.imp.KERNEL32.DLL_FoldStringA]
push esi
call fcn.00409284
inc esi
cmp esi, dword [0x85ca5c]
jb 0x40964b
xor esi, esi
cmp dword [0x85ca5c], 0x15a
jne 0x409690
push ebx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
cmp esi, 0x76055
jne 0x4096a4
push edi
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov dword [0x85ca58], eax
inc esi
cmp esi, 0x1756c5
jl 0x40967d
push edi
push dword [0x85ca58]
mov byte [0x45f648], bl
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x45f644], eax
xor esi, esi
cmp esi, 0x1c
jne 0x4096d1
call fcn.00409387
inc esi
cmp esi, 0x3debc7
jl 0x4096c7
push 0x432010
push dword [0x85ca5c]
push dword [0x85c458]
call fcn.004091e6
mov esi, dword [sym.imp.KERNEL32.DLL_InterlockedDecrement]
xor edi, edi
cmp dword [0x85ca5c], 0x10
jne 0x409715
push ebx
call esi
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetCharWidthW]
push ebx
call dword [sym.imp.KERNEL32.DLL_AddAtomA]
cmp edi, 0x1e674
jne 0x409722
call fcn.00409379
inc edi
cmp edi, 0x3e4e2
jl 0x4096f8
mov edi, 0xdd7b3
cmp dword [0x85ca5c], 0x21
jne 0x40974e
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WriteProfileSectionW]
push ebx
call dword [sym.imp.KERNEL32.DLL_GetConsoleAliasesLengthW]
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
dec edi
jne 0x409730
call fcn.00408fec
push 0x73
pop eax
push 0x6d
mov word [0x85ca62], ax
pop eax
push 0x67
mov word [0x85ca66], ax
pop eax
push 0x69
mov word [0x85ca68], ax
pop eax
push 0x6c
mov word [0x85ca64], ax
pop eax
push 0x32
mov word [0x85ca74], ax
pop eax
push 0x6c
mov word [0x85ca6c], ax
pop eax
push 0x33
mov word [0x85ca72], ax
xor eax, eax
mov word [0x85ca76], ax
pop eax
push 0x64
mov word [0x85ca6a], ax
pop eax
push 0x6d
mov word [0x85ca70], ax
pop eax
push 0x2e
mov word [0x85ca60], ax
pop eax
push 0x85ca60
mov word [0x85ca6e], ax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
cmp dword [0x85ca5c], 0x1144
mov edi, dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
jne 0x409853
lea eax, [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_SetConsoleCursorInfo]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateIoCompletionPort]
push ebx
lea eax, [ebp - 0x1610]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_FindNextVolumeW]
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_GetConsoleFontSize]
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
push 0x4013f0
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateJobObjectW]
push ebx
call edi
push ebx
push ebx
push ebx
lea eax, [ebp - 0xd0]
push eax
call dword [sym.imp.KERNEL32.DLL_VerifyVersionInfoA]
push ebx
call esi
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedIncrement]
push ebx
call esi
mov esi, dword [sym.imp.KERNEL32.DLL_GetCommandLineA]
call esi
call dword [sym.imp.KERNEL32.DLL_GetLastError]
call esi
cmp dword [0x85ca5c], 0x1d
jne 0x4098b6
push ebx
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WriteConsoleW]
push ebx
lea eax, [ebp - 0x610]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GlobalGetAtomNameA]
push ebx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetDiskFreeSpaceExW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL__lread]
push 0x401404
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_OpenJobObjectW]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
push ebx
call edi
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret