Function at 0x40fd75
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x73439f
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x820ac4]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
xor esi, esi
push 0x64
mov dword [esp + 0x18], esi
call fcn.005416ba
pop ecx
mov dword [esp + 0x28], eax
cmp eax, esi
mov dword [esp + 0x38], esi
je 0x40fdca
push 8
mov ecx, eax
call fcn.00590db0
mov dword [esp + 0x1c], eax
jmp 0x40fdce
mov dword [esp + 0x1c], esi
or dword [esp + 0x38], 0xffffffff
mov ecx, dword [ebp + 8]
xor edi, edi
inc edi
push edi
push dword [esp + 0x20]
call fcn.0057e0d0
push 0xb4
call fcn.005416ba
pop ecx
mov dword [esp + 0x28], eax
cmp eax, esi
mov dword [esp + 0x38], edi
je 0x40fe0d
push esi
push esi
push 2
push 2
mov ecx, eax
call fcn.00590920
mov dword [esp + 0x18], eax
jmp 0x40fe11
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x18]
or dword [esp + 0x38], 0xffffffff
push esi
push edi
call fcn.00590d80
mov ecx, dword [esp + 0x1c]
push esi
push 5
push 0x20f0
push esi
push dword [esp + 0x28]
call fcn.00402424
mov ecx, dword [esp + 0x18]
push esi
push 5
mov ebx, 0x9f0
push ebx
push esi
push 5
push 0x14
call fcn.00410315
mov edi, 0x154
push edi
call fcn.005416ba
pop ecx
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x38], 2
je 0x40fed3
push 0x753770
lea ecx, [esp + 0x2c]
call fcn.00402474
push 0x7b4bf4
mov byte [esp + 0x3c], 3
push ecx
mov dword [esp + 0x1c], 1
call fcn.00401000
pop ecx
mov ecx, eax
call fcn.00412eae
push eax
lea ecx, [esp + 0x28]
call fcn.00402474
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
push 0x2712
push dword [ebp + 8]
mov dword [esp + 0x48], 4
push dword [esp + 0x30]
mov dword [esp + 0x28], 3
call fcn.004102c0
mov dword [esp + 0x20], eax
jmp 0x40fed7
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], 5
test byte [esp + 0x14], 2
je 0x40fef4
and dword [esp + 0x14], 0xfffffffd
lea ecx, [esp + 0x24]
call fcn.00401b9b
or dword [esp + 0x38], 0xffffffff
test byte [esp + 0x14], 1
je 0x40ff0e
and dword [esp + 0x14], 0xfffffffe
lea ecx, [esp + 0x28]
call fcn.00401b9b
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
push 1
call dword [eax + 0x2c4]
mov ecx, dword [esp + 0x18]
push esi
push 5
push 0x28f0
push esi
push dword [esp + 0x30]
call fcn.004022fb
mov ecx, dword [esp + 0x18]
push esi
push 5
push ebx
push esi
push 5
push 0x14
call fcn.00410315
push edi
call fcn.005416ba
pop ecx
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x38], 7
je 0x40ffbc
push 0x753770
lea ecx, [esp + 0x28]
call fcn.00402474
push 0x7b4c20
mov byte [esp + 0x3c], 8
or dword [esp + 0x18], 4
push ecx
call fcn.00401000
pop ecx
mov ecx, eax
call fcn.00412eae
push eax
lea ecx, [esp + 0x2c]
call fcn.00402474
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
push 0x2715
push dword [ebp + 8]
mov dword [esp + 0x48], 9
push dword [esp + 0x30]
or dword [esp + 0x28], 8
call fcn.004102c0
mov edi, eax
jmp 0x40ffbe
xor edi, edi
mov dword [esp + 0x38], 0xa
test byte [esp + 0x14], 8
je 0x40ffdb
and dword [esp + 0x14], 0xfffffff7
lea ecx, [esp + 0x28]
call fcn.00401b9b
or dword [esp + 0x38], 0xffffffff
test byte [esp + 0x14], 4
je 0x40fff5
and dword [esp + 0x14], 0xfffffffb
lea ecx, [esp + 0x24]
call fcn.00401b9b
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x2c4]
mov ecx, dword [esp + 0x18]
push esi
push 5
push 0x28f0
push esi
push edi
call fcn.004022fb
push 0x150
call fcn.005416ba
pop ecx
mov dword [esp + 0x24], eax
cmp eax, esi
mov dword [esp + 0x38], 0xc
mov ebx, 0x823328
mov edi, 0x823330
je 0x410070
push 0x7536f0
lea ecx, [esp + 0x2c]
call fcn.00402474
lea eax, [esp + 0x28]
push eax
push 4
push ebx
push edi
push 0x13f1
push dword [ebp + 8]
mov byte [esp + 0x50], 0xd
mov ecx, dword [esp + 0x3c]
or dword [esp + 0x2c], 0x10
call fcn.0040fc2f
mov dword [esp + 0x24], eax
jmp 0x410074
mov dword [esp + 0x24], esi
or dword [esp + 0x38], 0xffffffff
test byte [esp + 0x14], 0x10
je 0x41008e
and dword [esp + 0x14], 0xffffffef
lea ecx, [esp + 0x28]
call fcn.00401b9b
mov ecx, dword [esp + 0x1c]
push esi
push 5
push 0x20f0
push esi
push dword [esp + 0x34]
call fcn.004022fb
push 0x78
call fcn.005416ba
pop ecx
mov dword [esp + 0x28], eax
cmp eax, esi
mov dword [esp + 0x38], 0xf
je 0x4100c9
mov ecx, eax
call fcn.005913b0
mov dword [esp + 0x18], eax
jmp 0x4100cd
mov dword [esp + 0x18], esi
or dword [esp + 0x38], 0xffffffff
mov ecx, dword [esp + 0x1c]
push esi
push 5
push 0x1f0
push esi
push dword [esp + 0x28]
call fcn.00402424
push 0x150
call fcn.005416ba
pop ecx
mov dword [esp + 0x20], eax
cmp eax, esi
mov dword [esp + 0x38], 0x10
je 0x41016e
push 0x753680
lea ecx, [esp + 0x28]
call fcn.00402474
push 0x7afc0c
mov byte [esp + 0x3c], 0x11
or dword [esp + 0x18], 0x20
push ecx
call fcn.00401000
pop ecx
mov ecx, eax
call fcn.00412eae
push eax
lea ecx, [esp + 0x2c]
call fcn.00402474
lea eax, [esp + 0x24]
push eax
push 0x84e31c
push esi
push ebx
push edi
lea eax, [esp + 0x3c]
push eax
push 0x13ec
push dword [ebp + 8]
mov dword [esp + 0x58], 0x12
mov ecx, dword [esp + 0x40]
or dword [esp + 0x34], 0x40
call fcn.0040211f
mov dword [esp + 0x20], eax
jmp 0x410172
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], 0x13
test byte [esp + 0x14], 0x40
je 0x41018f
and dword [esp + 0x14], 0xffffffbf
lea ecx, [esp + 0x28]
call fcn.00401b9b
or dword [esp + 0x38], 0xffffffff
test byte [esp + 0x14], 0x20
je 0x4101a9
and dword [esp + 0x14], 0xffffffdf
lea ecx, [esp + 0x24]
call fcn.00401b9b
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x2cc]
push dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
call fcn.00591430
push 0x150
call fcn.005416ba
pop ecx
mov dword [esp + 0x28], eax
cmp eax, esi
mov dword [esp + 0x38], 0x15
je 0x41024a
push 0x753680
lea ecx, [esp + 0x20]
call fcn.00402474
push 0x7b2c7c
mov byte [esp + 0x3c], 0x16
or dword [esp + 0x18], 0x80
push ecx
call fcn.00401000
pop ecx
mov ecx, eax
call fcn.00412eae
push eax
lea ecx, [esp + 0x24]
call fcn.00402474
lea eax, [esp + 0x1c]
push eax
push 0x84e31c
push esi
push ebx
push edi
lea eax, [esp + 0x34]
push eax
push 0x13ed
push dword [ebp + 8]
mov dword [esp + 0x58], 0x17
mov ecx, dword [esp + 0x48]
or dword [esp + 0x34], 0x100
call fcn.0040211f
mov esi, eax
mov dword [esp + 0x38], 0x18
test word [esp + 0x14], 0x100
je 0x41026c
and dword [esp + 0x14], 0xfffffeff
lea ecx, [esp + 0x20]
call fcn.00401b9b
or dword [esp + 0x38], 0xffffffff
test byte [esp + 0x14], 0x80
je 0x410281
lea ecx, [esp + 0x1c]
call fcn.00401b9b
mov ecx, dword [esp + 0x18]
push esi
call fcn.00591430
mov ecx, dword [esp + 0x18]
call 0x591e10
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4