Function at 0x40e880
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x46131f
mov eax, dword fs:[0]
push eax
sub esp, 0x2d8
mov eax, dword [0x484c64]
xor eax, esp
mov dword [esp + 0x2d4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x484c64]
xor eax, esp
push eax
lea eax, [esp + 0x2ec]
mov dword fs:[0], eax
mov eax, dword [esp + 0x304]
mov edi, dword [esp + 0x2fc]
mov esi, dword [esp + 0x300]
mov ebp, dword [esp + 0x308]
push str.CICEApp::LaunchSeriesOfExecutablesInSectionFromGivenDatFile
push 2
xor ebx, ebx
push 0x4866f8
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ebx
call fcn.00401000
add esp, 0xc
cmp dword [edi + 0x14], ebx
je 0x40eee8
cmp dword [esi + 0x14], ebx
je 0x40eee8
lea ecx, [esp + 0x28]
call fcn.004064f0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov edx, 0x10
cmp dword [esi + 0x18], edx
mov dword [esp + 0x2f4], ebx
jb 0x40e939
mov ecx, dword [esi + 4]
lea eax, [esi + 4]
mov dword [esp + 0x1c], eax
jmp 0x40e940
lea ecx, [esi + 4]
mov dword [esp + 0x1c], ecx
cmp dword [edi + 0x18], edx
lea eax, [edi + 4]
mov dword [esp + 0x14], eax
jb 0x40e94e
mov eax, dword [eax]
push 1
push ebx
lea edx, [esp + 0x30]
push edx
push ebx
push ecx
mov ecx, dword [esp + 0x38]
push eax
call fcn.0040ad10
push 0xffffffffffffffff
push ebx
push ebp
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
call fcn.00402b90
cmp dword [esp + 0xd8], ebx
mov byte [esp + 0x2f4], 1
jne 0x40eb2d
push 0x103
lea eax, [esp + 0xe5]
push ebx
push eax
mov byte [esp + 0xec], bl
call fcn.00447ba0
mov ecx, dword [esp + 0x28]
mov eax, 0x10
add esp, 0xc
cmp dword [esi + 0x18], eax
jb 0x40e9cd
mov ecx, dword [ecx]
cmp dword [edi + 0x18], eax
mov ebp, dword [esp + 0x14]
jb 0x40e9db
mov eax, dword [ebp]
jmp 0x40e9df
mov eax, dword [esp + 0x14]
push 0x800
push 0x104
lea edx, [esp + 0xe8]
push edx
push str.launchbase
push ecx
mov ecx, dword [esp + 0x38]
push eax
add ecx, 0x2c8
call fcn.0041d6cc
lea eax, [esp + 0xe0]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40ea11
sub eax, edx
jne 0x40ea77
mov ecx, dword [esp + 0x1c]
mov eax, 0x10
cmp dword [esi + 0x18], eax
jb 0x40ea2e
mov ecx, dword [ecx]
cmp dword [edi + 0x18], eax
jb 0x40ea38
mov eax, dword [ebp]
jmp 0x40ea3a
mov eax, ebp
push ecx
push eax
push str.Launch_base_not_found.__In_datfile__s__and_sectionname__s_.
push 8
push 0x4866f8
call fcn.00401000
add esp, 0x14
lea ecx, [esp + 0xc4]
call fcn.00401d50
lea ecx, [esp + 0x28]
call fcn.00407190
mov edx, dword [esp + 0x2c]
push edx
call fcn.0042abf8
add esp, 4
jmp 0x40ef1d
lea eax, [esp + 0xe0]
push eax
push str.Launch_base_read_in_from_datfile_is___s_
push 1
push 0x4866f8
call fcn.00401000
add esp, 0x10
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0xc8]
call fcn.004049f0
lea edx, [esp + 0xe0]
push edx
call fcn.0041ad64
add esp, 4
test eax, eax
jne 0x40eb2d
push 0x103
lea eax, [esp + 0x1e9]
push ebx
push eax
mov byte [esp + 0x1f0], bl
call fcn.00447ba0
lea ecx, [esp + 0x1f0]
push 0x104
push ecx
call fcn.0041a921
lea edx, [esp + 0xd8]
push edx
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x54]
push ecx
call fcn.0040c380
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0x300], 2
call fcn.00402b90
lea ecx, [esp + 0x38]
mov byte [esp + 0x2f4], 1
call fcn.00401d50
cmp dword [esp + 0xdc], 0x10
mov eax, dword [esp + 0xc8]
jae 0x40eb45
lea eax, [esp + 0xc8]
push eax
push str.Using_launchbase____s_
push 1
push 0x4866f8
call fcn.00401000
add esp, 0x10
xor esi, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
lea ecx, [esp + 0x28]
mov byte [esp + 0x2f4], 3
mov dword [esp + 0x1c], ecx
mov ebp, eax
cmp ecx, ebx
mov edi, dword [esp + 0x2c]
je 0x40eba1
lea eax, [esp + 0x28]
cmp ecx, eax
je 0x40eba6
call fcn.00448b8a
cmp ebp, edi
je 0x40ee45
cmp esi, ebx
je 0x40ebbe
cmp esi, 0xbc2
jne 0x40ee45
mov ecx, dword [esp + 0x24]
push ebx
push ebx
call fcn.0040b2f0
mov esi, dword [esp + 0x1c]
cmp esi, ebx
jne 0x40ebd6
call fcn.00448b8a
cmp ebp, dword [esi + 4]
jne 0x40ebe0
call fcn.00448b8a
cmp dword [ebp + 0x20], 0x10
lea edi, [ebp + 8]
jb 0x40ebee
mov eax, dword [edi + 4]
jmp 0x40ebf1
lea eax, [edi + 4]
push eax
call fcn.0041ad64
add esp, 4
test eax, eax
je 0x40ec30
push ebx
push 0x46853b
lea ecx, [esp + 0x5c]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00402c70
or dword [esp + 0x18], 1
lea esi, [esp + 0x54]
mov byte [esp + 0x2f4], 4
jmp 0x40ec37
lea esi, [esp + 0xc4]
mov ecx, dword [esp + 0x1c]
cmp ebp, dword [ecx + 4]
jne 0x40ec45
call fcn.00448b8a
push edi
lea edx, [esp + 0x3c]
push esi
push edx
call fcn.0040c500
push 0x4697dc
push eax
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0x30c], 5
call fcn.0040c440
mov ecx, dword [esp + 0x4c]
push ecx
push eax
lea edx, [esp + 0x90]
push edx
mov byte [esp + 0x318], 6
call fcn.0040c500
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x300], 7
call fcn.00402b90
mov edi, 0x10
cmp dword [esp + 0x88], edi
jb 0x40ecc0
mov eax, dword [esp + 0x74]
push eax
call fcn.0042abf8
add esp, 4
cmp dword [esp + 0xa4], edi
mov esi, 0xf
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
jb 0x40ecf0
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0042abf8
add esp, 4
cmp dword [esp + 0x50], edi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
jb 0x40ed18
mov edx, dword [esp + 0x3c]
push edx
call fcn.0042abf8
add esp, 4
test byte [esp + 0x18], 1
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
mov dword [esp + 0x2f4], 3
je 0x40ed4e
and dword [esp + 0x18], 0xfffffffe
cmp dword [esp + 0x6c], edi
jb 0x40ed4e
mov eax, dword [esp + 0x58]
push eax
call fcn.0042abf8
add esp, 4
cmp dword [esp + 0xc0], edi
mov eax, dword [esp + 0xac]
jae 0x40ed65
lea eax, [esp + 0xac]
push eax
push str.Launching__s
push 1
push 0x4866f8
call fcn.00401000
mov eax, dword [esp + 0xbc]
add esp, 0x10
cmp dword [esp + 0xc0], edi
jae 0x40ed91
lea eax, [esp + 0xac]
mov ecx, dword [esp + 0x314]
mov edx, dword [esp + 0x30c]
push ebx
push ecx
push ebx
push ebx
push 0xffffffffffffffff
push edx
push eax
call fcn.0041b621
mov esi, eax
push esi
push str.Return_value_from_executable_is___d_
push 1
push 0x4866f8
call fcn.00401000
add esp, 0x2c
cmp esi, 0xbc2
jne 0x40edff
cmp dword [esp + 0xc0], edi
mov eax, dword [esp + 0xac]
jae 0x40ede2
lea eax, [esp + 0xac]
push eax
push str.Plug_in__s_requires_reboot
push 1
push 0x4866f8
call fcn.00401000
add esp, 0x10
mov dword [esp + 0x14], 1
cmp dword [esp + 0x310], ebx
jne 0x40ee1f
push esi
push str.Ignoring_return_value___d_
push 1
push 0x4866f8
call fcn.00401000
add esp, 0x10
xor esi, esi
mov ecx, dword [esp + 0x24]
push ebx
push 0x64
call fcn.0040b2f0
mov eax, dword [esp + 0x1c]
cmp ebp, dword [eax + 4]
jne 0x40ee39
call fcn.00448b8a
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x1c]
jmp 0x40eb91
push str.CICEApp::LaunchSeriesOfExecutablesInSectionFromGivenDatFile
push 4
push 0x4866f8
call fcn.00401000
add esp, 0xc
cmp esi, ebx
jne 0x40ee68
cmp dword [esp + 0x14], ebx
je 0x40ee68
mov esi, 0xbc2
mov ebp, 0x10
cmp dword [esp + 0xc0], ebp
jb 0x40ee86
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0042abf8
add esp, 4
cmp dword [esp + 0xdc], ebp
mov edi, 0xf
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
jb 0x40eeb9
mov edx, dword [esp + 0xc8]
push edx
call fcn.0042abf8
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
call fcn.00407190
mov eax, dword [esp + 0x2c]
push eax
call fcn.0042abf8
add esp, 4
mov eax, esi
jmp 0x40ef22
mov eax, 0x10
cmp dword [esi + 0x18], eax
jb 0x40eef7
mov esi, dword [esi + 4]
jmp 0x40eefa
add esi, 4
cmp dword [edi + 0x18], eax
jb 0x40ef04
mov edi, dword [edi + 4]
jmp 0x40ef07
add edi, 4
push esi
push edi
push str.Not_launching_executables_because_datfile__s__and_sectionname__s__cannot_be_empty.
push 8
push 0x4866f8
call fcn.00401000
add esp, 0x14
mov eax, 0x57
mov ecx, dword [esp + 0x2ec]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2d4]
xor ecx, esp
call fcn.00447b4c
add esp, 0x2e4
ret 0x1c