Function at 0x407320
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x436668
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [0x44e10c]
push ebx
push esi
mov esi, ecx
mov ecx, dword [eax + 0x978]
push edi
or edi, 0xffffffff
cmp ecx, edi
je 0x40762f
mov ecx, dword [esi + 0x40c]
xor ebx, ebx
cmp dword [ecx - 8], ebx
je 0x40761c
mov edx, dword [esi + 0x408]
cmp dword [edx - 8], ebx
je 0x40761c
mov eax, dword [esi + 0x414]
cmp dword [eax - 8], ebx
je 0x40761c
mov ecx, dword [esi + 0x410]
cmp dword [ecx - 8], ebx
je 0x40761c
cmp byte [0x447a6d], bl
je 0x4074ad
mov ecx, esi
call fcn.0040cd90
lea edx, [esp + 0x14]
mov ecx, 0x44db30
push edx
call fcn.00414900
push str._bmp_star.wav
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x30], ebx
push eax
call sub.MFC42.DLL_operator
mov eax, dword [eax]
push 0x10001
push ebx
push eax
call dword [sym.imp.WINMM.dll_PlaySoundA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], edi
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esi + 0x20]
push 1
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov cl, byte [0x44dba0]
push 0x44817c
inc cl
push 0x41f
mov byte [0x44dba0], cl
mov ecx, esi
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
mov eax, dword [0x44e10c]
mov byte [0x447a6d], bl
mov dword [0x44db90], ebx
mov dword [0x44db34], ebx
cmp dword [eax + 0x978], edi
je 0x40762f
mov ecx, dword [eax + 4]
lea eax, [esp + 0x18]
push ebx
push eax
mov dword [ecx + 0x30], 3
mov dword [ecx + 0x34], 2
mov dword [ecx + 0x38], ebx
mov dl, byte [0x44a924]
mov byte [ecx + 0x3c], dl
lea edx, [esp + 0x16]
mov word [ecx + 0x3e], bx
mov word [ecx + 0x40], bx
push edx
mov dword [esp + 0x24], 1
mov byte [esp + 0x1a], bl
call fcn.00434c4d
mov eax, dword [0x44e0e8]
push str._PROBE:_0.00
push 3
push 0x401
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
xor al, al
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x20]
push ebx
push 0x64
push 1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, esi
call fcn.0040cdd0
mov dword [0x44db90], ebx
mov dword [0x44db34], ebx
mov dword [0x44db50], 0
mov dword [0x44db54], 0
mov dword [0x44db58], 0
mov dword [0x44db5c], 0
mov edx, dword [esi + 0x294]
push ebx
push 0xc8
push 0x402
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x448160
push 0x41f
mov ecx, esi
mov dword [0x44db90], ebx
mov dword [0x44db60], 0
mov dword [0x44db64], 0
mov dword [0x44db68], 0
mov dword [0x44db6c], 0
mov dword [0x44db70], 0
mov dword [0x44db74], 0
mov dword [0x44db78], 0
mov dword [0x44db7c], 0
mov dword [0x44db94], ebx
mov dword [0x44db98], ebx
mov dword [0x44db50], 0
mov dword [0x44db54], 0
mov dword [0x44db58], 0
mov dword [0x44db5c], 0
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
push 0x448150
mov ecx, 0x44e048
mov byte [0x447a6d], 1
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [0x44e10c]
cmp dword [eax + 0x978], edi
je 0x40762f
mov ecx, dword [eax + 4]
lea eax, [esp + 0x1c]
lea edx, [esp + 0xf]
push eax
mov dword [ecx + 0x30], 3
mov dword [ecx + 0x34], 2
mov dword [ecx + 0x38], ebx
mov byte [ecx + 0x3c], 0xe5
mov word [ecx + 0x3e], bx
mov word [ecx + 0x40], bx
push edx
mov dword [esp + 0x24], 1
mov byte [esp + 0x17], bl
call fcn.00434f38
xor al, al
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push ebx
push 0x448140
call sub.MFC42.DLL_AfxMessageBox
mov ecx, esi
call fcn.00408620
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret