Function at 0x406ccc
Capabilities:
Get number of processors

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
push 0x48
lea eax, [ebp - 0x60]
mov edi, ecx
push 0
push eax
mov dword [ebp - 4], edi
call fcn.004088be
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov esi, edi
shl esi, 2
mov dword [ebp - 0x30], 0x200000
push 4
pop eax
mov word [ebp - 0x26], ax
mov eax, dword fs:[0x30]
push esi
push 0
push dword [eax + 0x18]
call dword [0x40d210]
mov ebx, eax
test ebx, ebx
jne 0x406d25
push 8
pop esi
jmp 0x406ee7
push esi
xor esi, esi
push esi
push ebx
call fcn.004088be
add esp, 0xc
push esi
push esi
push 1
push esi
call dword [0x40d138]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x406d51
call dword [0x40d01c]
mov esi, eax
jmp 0x406eaa
push esi
push esi
push 1
push esi
call dword [0x40d138]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x406d44
push esi
push esi
push 1
push esi
call dword [0x40d138]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x406d44
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x60]
call fcn.00406b4f
mov esi, eax
test esi, esi
jne 0x406eaa
mov dword [ebp - 0x44], edi
push 4
pop eax
mov word [ebp - 0x28], ax
test edi, edi
je 0x406dbc
push 0
push 0
lea eax, [ebp - 0x60]
push eax
push 0x406900
push 0
push 0
call dword [0x40d0d0]
mov dword [ebx + esi*4], eax
test eax, eax
je 0x406dde
inc esi
cmp esi, dword [ebp - 0x44]
jb 0x406d98
push 0xffffffffffffffff
push dword [ebp - 0x50]
call dword [0x40d130]
cmp dword [ebp - 0x34], 0
push dword [ebp - 0x4c]
je 0x406dfb
call dword [0x40d128]
push 8
pop esi
jmp 0x406eaa
call dword [0x40d01c]
push dword [ebp - 0x4c]
mov esi, eax
mov dword [ebp - 0x34], 1
call dword [0x40d128]
jmp 0x406eaa
call dword [0x40d128]
push 0xffffffffffffffff
push dword [ebp - 0x48]
call dword [0x40d130]
lea eax, [ebp - 0x18]
push eax
call dword [0x40d0f0]
test eax, eax
je 0x406d44
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x54]
sbb ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
test ecx, ecx
jg 0x406e3e
jl 0x406e3a
test eax, eax
jne 0x406e3e
push 0xd
jmp 0x406dd8
movzx eax, word [ebp - 0x28]
cdq
mov ecx, eax
mov eax, edx
mul dword [ebp - 0x30]
push 0
mov esi, eax
mov eax, ecx
mul dword [ebp - 0x30]
add esi, edx
mov ecx, eax
mov eax, esi
mul edi
mov esi, eax
mov eax, ecx
mul edi
add esi, edx
mov ecx, eax
mov eax, esi
mov edx, 0xf4240
mul edx
mov edi, eax
mov eax, ecx
mov ecx, 0xf4240
mul ecx
push ecx
push dword [ebp - 8]
add edi, edx
mov esi, eax
push dword [ebp - 0xc]
call fcn.00408750
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push edx
push eax
call fcn.004085c0
push edx
push eax
push edi
push esi
call fcn.00408850
mov ecx, dword [ebp + 0xc]
shrd eax, edx, 0xa
xor esi, esi
mov dword [ecx], eax
mov eax, dword [ebp - 4]
xor edi, edi
test eax, eax
je 0x406ed5
cmp dword [ebx + edi*4], 0
je 0x406ed0
push 0xffffffffffffffff
push dword [ebx + edi*4]
call dword [0x40d130]
push dword [ebx + edi*4]
call dword [0x40d068]
mov eax, dword [ebp - 4]
inc edi
cmp edi, eax
jb 0x406eb3
mov eax, dword fs:[0x30]
push ebx
push 0
push dword [eax + 0x18]
call dword [0x40d1ec]
cmp dword [ebp - 0x50], 0
je 0x406ef6
push dword [ebp - 0x50]
call dword [0x40d068]
cmp dword [ebp - 0x4c], 0
je 0x406f05
push dword [ebp - 0x4c]
call dword [0x40d068]
cmp dword [ebp - 0x48], 0
je 0x406f14
push dword [ebp - 0x48]
call dword [0x40d068]
cmp dword [ebp - 0x24], 0
je 0x406f2e
push dword [ebp - 0x24]
mov eax, dword fs:[0x30]
push 0
push dword [eax + 0x18]
call dword [0x40d1ec]
cmp dword [ebp - 0x20], 0
je 0x406f48
push dword [ebp - 0x20]
mov eax, dword fs:[0x30]
push 0
push dword [eax + 0x18]
call dword [0x40d1ec]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10