Function at 0x4012a0
Capabilities:
Accept command line arguments
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x40c84e
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x414018]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov ebp, ecx
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], 8
mov dword [esp + 0x34], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, ebp
call sub.mfc90.dll_Ordinal_4197
call sub.mfc90.dll_Ordinal_1186
test eax, eax
jne 0x40131a
push 0xffffffffffffffff
push eax
push 0x64
call sub.mfc90.dll_Ordinal_1182
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call sub.mfc90.dll_Ordinal_1098
add esp, 4
push 0x40ed3c
mov ecx, ebp
call sub.mfc90.dll_Ordinal_6462
lea ecx, [esp + 0x34]
call sub.mfc90.dll_Ordinal_341
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
mov dword [esp + 0x6c], 0
call sub.mfc90.dll_Ordinal_5552
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_310]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_316]
lea edx, [esp + 0x20]
push str.whdu
push edx
lea edi, [esp + 0x20]
mov byte [esp + 0x70], 2
call fcn.004010e0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 3
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 2
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MSVCR90.dll_atoi]
push eax
call esi
add esp, 4
lea ecx, [esp + 0x20]
push 0x40ed60
push ecx
mov dword [esp + 0x24], eax
call fcn.004010e0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 4
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 2
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov edx, dword [esp + 0x14]
push edx
call esi
add esp, 4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x24]
push 0x40ed64
push eax
call fcn.004010e0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 5
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 2
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov ecx, dword [esp + 0x14]
push ecx
call esi
add esp, 4
mov ebx, eax
imul ebx, ebx, 0x3e8
push 0x40ed68
lea edx, [esp + 0x28]
push edx
call fcn.004010e0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 6
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 2
call dword [sym.imp.mfc90.dll_Ordinal_601]
cmp dword [esp + 0x1c], 0
jne 0x4014a5
cmp dword [esp + 0x20], 0
jne 0x4014a5
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jne 0x4014a5
push 0x40ed6c
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], 0x12c
mov dword [esp + 0x24], 0xfa
call dword [sym.imp.mfc90.dll_Ordinal_820]
mov ebx, 0x493e0
call fcn.00407130
test eax, eax
je 0x4014c4
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xea60
call esi
call fcn.00407130
test eax, eax
jne 0x4014b4
call fcn.00403b30
mov edi, 0x40ed9c
call fcn.004040d0
mov edi, 0x40eda8
call fcn.004040d0
mov edi, str.Internet_Explorer
call fcn.004040d0
mov edi, str.VBScript:
call fcn.004040d0
mov edi, str.Microsoft_Internet_Explorer
call fcn.004040d0
mov edi, str.Windows_Internet_Explorer
call fcn.004040d0
mov edi, 0x40ee14
call fcn.004040d0
mov edi, 0x40ee24
call fcn.004040d0
mov edi, 0x40ee30
call fcn.004040d0
mov edi, 0x40ee3c
call fcn.004040d0
mov edi, str.Explorer
call fcn.004040d0
mov edi, str.Windows
call fcn.004040d0
push 0xe8
call sub.mfc90.dll_Ordinal_798
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
mov byte [esp + 0x68], 7
test esi, esi
je 0x40156c
mov ecx, esi
call sub.mfc90.dll_Ordinal_415
mov dword [esi], vtable.CMainFrame.0
jmp 0x40156e
xor esi, esi
mov byte [esp + 0x68], 2
test esi, esi
jne 0x4015b2
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x34]
mov dword [esp + 0x68], 0xffffffff
call sub.mfc90.dll_Ordinal_617
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
mov dword [ebp + 0x20], esi
mov edx, dword [esi]
mov eax, dword [edx + 0x148]
push 0xcf8000
push 0x80
mov ecx, esi
call eax
push 0
push 0x80
push 0x40000
mov ecx, esi
call sub.mfc90.dll_Ordinal_4516
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xffffffffffffffec
push edx
call edi
or eax, 0x8000000
push eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x20]
push 0xffffffffffffffec
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 0x20]
push 0
push 0
push 0
push DirectSoundCreate
push DirectSoundCreate
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
push 5
mov ecx, esi
call sub.mfc90.dll_Ordinal_6584
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x698
call sub.mfc90.dll_Ordinal_798
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x68], 8
test eax, eax
je 0x40165c
push eax
call fcn.00401790
mov esi, eax
jmp 0x40165e
xor esi, esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 2
call dword [sym.imp.mfc90.dll_Ordinal_2692]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x674], ecx
mov dword [esi + 0x67c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x678], ecx
add ecx, 0x19
mov dword [esi + 0x680], ecx
push eax
lea ecx, [esi + 0x684]
call dword [sym.imp.mfc90.dll_Ordinal_820]
mov edx, dword [esi]
mov eax, dword [edx + 0x144]
push 0
push 0x83
mov ecx, esi
mov dword [esi + 0x688], ebx
call eax
mov ecx, dword [esi + 0x20]
push 0xfffffffffffffff0
push ecx
call edi
mov edx, dword [esi + 0x20]
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x34]
mov dword [esp + 0x68], 0xffffffff
call sub.mfc90.dll_Ordinal_617
mov eax, 1
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret