Function at 0x6cf4e0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x782010
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 8]
push ebx
mov dword [esp + 0x30], ebx
call fcn.00430aa0
mov dword [esp + 0xc0], 0
mov eax, dword [edi]
mov edx, dword [eax + 0x2b4]
mov ecx, edi
call edx
push ecx
lea esi, [esp + 0x18]
fstp dword [esp]
call fcn.00434940
add esp, 4
mov ecx, ebx
call fcn.00430c20
mov cl, 1
mov eax, ebx
call fcn.00430cc0
cmp dword [ebp + 0xc], 3
jne 0x6cf6b7
push edi
call fcn.006c6080
push edi
mov eax, ebx
call fcn.006c5d20
mov esi, edi
call fcn.00730370
fldz
fcomp dword [edi + 0x27b8]
mov ecx, eax
mov dword [esp + 0x14], ecx
fnstsw ax
test ah, 5
jnp 0x6cf596
test ecx, ecx
je 0x6cfe27
jmp 0x6cf59a
test ecx, ecx
je 0x6cf5ad
lea ecx, [edi + 0x26c8]
call fcn.00436230
fmul qword [0x82df80]
jmp 0x6cf5b9
fld dword [edi + 0x27b8]
fmul qword [0x82e9d8]
call fcn.0076f850
push eax
xor ecx, ecx
lea eax, [esp + 0x34]
call fcn.00434860
mov ecx, ebx
call fcn.00430c20
mov ecx, dword [0x8851f0]
test ecx, ecx
jne 0x6cf5e1
xor eax, eax
xor esi, esi
jmp 0x6cf5e6
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov ecx, dword [0x88b12c]
mov ebx, dword [ecx + 0x9e0]
imul eax, ebx
mov ecx, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
lea ecx, [esi - 0xa0]
imul ecx, ebx
mov esi, dword [ebp + 8]
mov ebx, dword [0x882c74]
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
mov eax, esi
call fcn.00431710
cmp dword [esp + 0x14], 0
je 0x6cf64e
lea ecx, [edi + 0x26c8]
call fcn.00436230
fmul qword [0x82dc80]
jmp 0x6cf65a
fld dword [edi + 0x27b8]
fmul qword [0x82e9d8]
call fcn.0076f850
push eax
mov ecx, 0x333333
lea eax, [esp + 0x34]
call fcn.00434860
mov ecx, esi
call fcn.00430c20
mov eax, esi
call fcn.00430c60
push edi
mov eax, esi
call fcn.006c5d20
mov eax, esi
call fcn.00430c80
mov edx, dword [edi]
mov eax, dword [edx + 0x2b4]
mov ecx, edi
call eax
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [ebp + 8]
add esp, 4
call fcn.00430c20
mov ebx, dword [ebp + 8]
jmp 0x6cfe27
cmp byte [edi + 0x317c], 0
je 0x6cfe1b
mov ecx, dword [0x882950]
mov eax, ebx
call fcn.00430c10
lea ecx, [edi + 0x3520]
call fcn.00436230
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
sub esp, 0x14
mov ecx, 0xffbbfd
fstp dword [esp + 0x10]
mov eax, esp
mov dword [esp + 0x3c], esp
call fcn.00434820
sub esp, 0x10
mov ecx, 0xffffff
mov eax, esp
mov dword [esp + 0x4c], esp
call fcn.00434820
lea esi, [esp + 0x38]
call fcn.006f0a50
add esp, 0x24
push 0x7b1c04
lea ecx, [esp + 0x6c]
call fcn.00401280
mov ecx, esi
mov byte [esp + 0xc0], 1
mov ebx, dword [ebx + 0x68]
push ecx
lea ecx, [esp + 0x6c]
call fcn.0058a060
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x80], 0x10
jb 0x6cf75e
mov edx, dword [esp + 0x6c]
push edx
call fcn.006441c7
add esp, 4
push 0x7b1c0c
lea ecx, [esp + 0x6c]
call fcn.00401280
push 0x64
xor ecx, ecx
lea eax, [esp + 0x34]
mov byte [esp + 0xc4], 2
call fcn.00434860
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x68]
push eax
lea ecx, [esp + 0x6c]
call fcn.0058a060
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x80], 0x10
jb 0x6cf7b0
mov eax, dword [esp + 0x6c]
push eax
call fcn.006441c7
add esp, 4
push 0x7b1c14
lea ecx, [esp + 0x6c]
call fcn.00401280
push 0
xor ecx, ecx
lea eax, [esp + 0x34]
mov byte [esp + 0xc4], 3
call fcn.00434860
mov ebx, dword [esi + 0x68]
push eax
lea ecx, [esp + 0x6c]
call fcn.0058a060
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x80], 0x10
jb 0x6cf7ff
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.006441c7
add esp, 4
mov edx, dword [edi + 0xe0c]
push edx
push 0x7b1c1c
lea esi, [esp + 0x54]
call fcn.00439a90
add esp, 8
mov esi, eax
mov byte [esp + 0xc0], 4
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0x11a
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [edi]
mov eax, dword [edx + 0x3e0]
mov ecx, edi
call eax
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
add eax, 0xc
imul ecx, eax
push 0xffffffffffffffff
mov eax, 0x1b4e81b5
imul ecx
push 0xffffffffffffffff
push 0
push 1
push 0
sar edx, 7
push 0xffffffffffffffff
mov eax, edx
push ebx
mov ebx, dword [ebp + 8]
shr eax, 0x1f
add eax, edx
push eax
push esi
mov ecx, ebx
call fcn.004335e0
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x64], 8
jb 0x6cf8a7
mov ecx, dword [esp + 0x50]
push ecx
call fcn.006441c7
add esp, 4
mov eax, dword [0x88b12c]
xor edx, edx
mov word [esp + 0x50], dx
xor esi, esi
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], esi
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0x10e
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [edi]
mov eax, dword [edx + 0x3e0]
mov dword [esp + 0x14], ecx
mov ecx, edi
call eax
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
fild dword [esp + 0x14]
imul eax, ecx
imul ecx, ecx, 0xf8
mov edx, eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 7
sub esp, 0x10
mov eax, edx
shr eax, 0x1f
fstp dword [esp + 0xc]
add ecx, edx
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, ebx
fild dword [esp + 0x24]
fstp dword [esp + 8]
fld dword [0x7b1248]
fst dword [esp + 4]
fstp dword [esp]
call fcn.00432a00
mov ecx, dword [edi + 0xe0c]
mov eax, ecx
cdq
mov dword [esp + 0x10], esi
mov esi, 0xa
idiv esi
lea eax, [edx - 1]
cmp eax, 8
ja case.default.0x6cf978
jmp dword [eax*4 + 0x6cfe50]
mov dword [esp + 0x10], 0
jmp case.default.0x6cf978
mov dword [esp + 0x10], 0xfffffffe
jmp case.default.0x6cf978
mov dword [esp + 0x10], 0xfffffff6
jmp case.default.0x6cf978
mov dword [esp + 0x10], 0xfffffffa
jmp case.default.0x6cf978
mov dword [esp + 0x10], 0xfffffffc
cmp ecx, esi
jl 0x6cf9d9
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
imul ecx, ecx, 0xffffffdd
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
jmp 0x6cf9e1
mov dword [esp + 0x14], 0
push 0x7b1c24
lea ecx, [esp + 0x50]
call fcn.00403550
lea edx, [esp + 0x4c]
mov byte [esp + 0xc0], 5
mov eax, dword [0x88b148]
push edx
push 0x10c
add eax, 0x7ec
lea esi, [esp + 0x70]
call fcn.004711e0
mov byte [esp + 0xc0], 6
cmp dword [eax + 0x18], 8
jb 0x6cfa27
mov eax, dword [eax + 4]
jmp 0x6cfa2a
add eax, 4
push eax
lea ecx, [esp + 0x34]
call fcn.00403550
mov byte [esp + 0xc0], 7
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0x10e
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [edi]
mov eax, dword [edx + 0x3e0]
mov ecx, edi
call eax
add eax, dword [esp + 0x10]
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
imul eax, ecx
imul ecx, ecx, 0x11a
mov edx, eax
push 0xffffffffffffffff
mov eax, 0x1b4e81b5
imul edx
push 0xffffffffffffffff
push 0
sar edx, 7
push 1
mov eax, edx
push 0
shr eax, 0x1f
add eax, edx
push 0xffffffffffffffff
push esi
mov esi, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, dword [esp + 0x30]
lea edx, [esp + 0x4c]
push esi
push edx
mov ecx, ebx
call fcn.004335e0
mov esi, 8
cmp dword [esp + 0x48], esi
jb 0x6cfae1
mov eax, dword [esp + 0x34]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], 0
mov word [esp + 0x34], cx
cmp dword [esp + 0x80], esi
jb 0x6cfb0e
mov edx, dword [esp + 0x6c]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov byte [esp + 0xc0], al
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
cmp dword [esp + 0x64], esi
jb 0x6cfb42
mov ecx, dword [esp + 0x50]
push ecx
call fcn.006441c7
add esp, 4
mov eax, dword [0x88b12c]
xor edx, edx
mov word [esp + 0x50], dx
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0x10e
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [edi]
mov eax, dword [edx + 0x3e0]
mov dword [esp + 0x14], ecx
mov ecx, edi
call eax
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
fild dword [esp + 0x14]
imul eax, ecx
imul ecx, ecx, 0xf8
mov edx, eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
sub esp, 0x10
mov eax, edx
shr eax, 0x1f
fstp dword [esp + 0xc]
add esi, edx
add eax, esi
mov dword [esp + 0x24], eax
mov eax, ebx
fild dword [esp + 0x24]
fstp dword [esp + 8]
fld1
fst dword [esp + 4]
fstp dword [esp]
call fcn.00432a00
push 0x7b1c28
lea ecx, [esp + 0x6c]
call fcn.00401280
lea ecx, [esp + 0x68]
mov byte [esp + 0xc0], 8
push ecx
mov ecx, dword [ebx + 0x68]
call fcn.0058a360
mov esi, 0x10
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x80], esi
jb 0x6cfc33
mov edx, dword [esp + 0x6c]
push edx
call fcn.006441c7
add esp, 4
push 0x7b1c30
lea ecx, [esp + 0x6c]
call fcn.00401280
lea eax, [esp + 0x68]
mov byte [esp + 0xc0], 9
mov ecx, dword [ebx + 0x68]
push eax
call fcn.0058a360
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x80], esi
jb 0x6cfc74
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.006441c7
add esp, 4
push 0x7b1c38
lea ecx, [esp + 0x6c]
call fcn.00401280
lea edx, [esp + 0x68]
mov byte [esp + 0xc0], 0xa
mov ecx, dword [ebx + 0x68]
push edx
call fcn.0058a360
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x80], esi
jb 0x6cfcb5
mov eax, dword [esp + 0x6c]
push eax
call fcn.006441c7
add esp, 4
lea esi, [edi + 0x3360]
mov ecx, esi
call fcn.00436230
fcomp qword [0x82dc20]
mov ebx, dword [ebp + 8]
fnstsw ax
test ah, 0x41
jne 0x6cfe1b
push ebx
call fcn.00430aa0
mov ecx, esi
call fcn.00436230
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
add esp, 4
mov ecx, ebx
call fcn.00430c20
lea ecx, [edi + 0x3360]
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 5
jp 0x6cfd1e
mov cl, 1
jmp 0x6cfd20
xor cl, cl
mov eax, ebx
call fcn.00430cc0
mov edx, dword [edi]
mov eax, dword [edx + 0x2ac]
mov ecx, edi
call eax
add eax, 0x200
lea ecx, [edi + 0x3440]
mov dword [esp + 0x14], eax
call fcn.00436230
fiadd dword [esp + 0x14]
mov ecx, dword [0x88b12c]
mov eax, dword [ecx + 0x9e0]
mov dword [esp + 0x10], eax
lea ecx, [eax + eax*4]
add ecx, ecx
mov eax, 0x1b4e81b5
fimul dword [esp + 0x10]
imul ecx
fdiv qword [0x82dcf8]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
faddp st(1)
call fcn.0076f850
lea ecx, [edi + 0x34b0]
mov dword [esp + 0x28], eax
call fcn.00436230
mov ecx, dword [0x88b12c]
fimul dword [ecx + 0x9e0]
fdiv qword [0x82dcf8]
call fcn.0076f850
mov ecx, edi
mov dword [esp + 0x10], eax
call fcn.006be3f0
lea esi, [edi + 0x33d0]
mov ecx, esi
call fcn.00436230
fstp qword [esp + 0x14]
mov ecx, esi
call fcn.00436230
fldz
mov eax, dword [edi + 0x3ca0]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 0xc]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 8]
fild dword [esp + 0x28]
fstp dword [esp + 4]
fild dword [esp + 0x40]
fstp dword [esp]
push ebx
call fcn.006f1790
add esp, 0x1c
call fcn.00430bb0
mov edx, dword [ebp + 0xc]
push edx
push ebx
mov ecx, edi
call fcn.006cb000
mov dword [esp + 0xc0], 0xffffffff
call fcn.00430bb0
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8