Function at 0x1006d060
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1014655f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
fldz
xor eax, eax
push ebx
fstp qword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
mov byte [esp + 6], al
mov byte [esp + 8], al
mov byte [esp + 9], al
mov byte [esp + 7], al
mov byte [esp + 0xb], al
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
push ebp
push esi
add ecx, 0xc
mov esi, 0x7b2
push edi
lea ebx, [esp + 0x50]
mov dword [esp + 0x28], esi
xor ebp, ebp
mov dword [esp + 0x1c], 1
mov dword [esp + 0x50], ecx
call fcn.1006bb30
movzx edi, ax
test di, di
je 0x1006d4de
lea edx, [edi - 0x30]
cmp dx, 9
ja 0x1006d2d6
lea edi, [esp + 0x50]
call fcn.1006bb60
mov ebx, edi
mov esi, eax
call fcn.1006bb30
movzx edi, ax
cmp di, 0x3a
jne 0x1006d1f1
cmp byte [esp + 0x17], 0
je 0x1006d119
mov byte [esp + 0x12], 1
lea eax, [esp + 0x2c]
push eax
mov edx, 0x3a
lea eax, [esp + 0x54]
mov byte [esp + 0x1b], 1
mov dword [esp + 0x24], esi
call fcn.1006bbb0
lea ecx, [esp + 0x34]
push ecx
mov edx, 0x3a
lea eax, [esp + 0x58]
call fcn.1006bbb0
add esp, 8
lea ebx, [esp + 0x50]
call fcn.1006bb30
mov ecx, dword [esp + 0x50]
movzx edi, ax
cmp di, 0x61
je 0x1006d167
cmp di, 0x41
jne 0x1006d177
movzx eax, word [ecx + 2]
cmp ax, 0x6d
je 0x1006d1c8
cmp ax, 0x4d
je 0x1006d1c8
cmp di, 0x50
jne 0x1006d4a3
movzx eax, word [ecx + 2]
cmp ax, 0x6d
je 0x1006d195
cmp ax, 0x4d
jne 0x1006d0e1
lea eax, [esi + 0xc]
add ecx, 4
cmp eax, 0x18
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], eax
jne 0x1006d1b5
mov dword [esp + 0x20], 0xc
jmp 0x1006d0e1
cmp eax, 0x17
jle 0x1006d0e1
mov byte [esp + 0x12], 1
jmp 0x1006d0e1
add ecx, 4
cmp esi, 0xc
mov dword [esp + 0x50], ecx
jne 0x1006d1e1
mov dword [esp + 0x20], 0
jmp 0x1006d4a3
jle 0x1006d4a3
mov byte [esp + 0x12], 1
jmp 0x1006d4a3
cmp di, 0x2f
je 0x1006d241
cmp di, 0x2d
je 0x1006d241
mov eax, 1
add dword [esp + 0x24], eax
cmp esi, 0x1f
jg 0x1006d229
cmp dword [esp + 0x24], eax
jg 0x1006d229
cmp byte [esp + 0x14], 0
je 0x1006d21c
mov byte [esp + 0x12], al
mov byte [esp + 0x14], al
mov dword [esp + 0x1c], esi
jmp 0x1006d4a3
cmp byte [esp + 0x13], 0
je 0x1006d234
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
mov dword [esp + 0x28], esi
jmp 0x1006d4a3
cmp byte [esp + 0x14], 0
jne 0x1006d256
cmp byte [esp + 0x15], 0
jne 0x1006d256
cmp byte [esp + 0x13], 0
je 0x1006d25e
mov bl, 1
mov byte [esp + 0x12], bl
jmp 0x1006d260
mov bl, 1
lea edx, [esp + 0x1c]
push edx
mov edx, 0x2f
lea eax, [esp + 0x54]
mov byte [esp + 0x17], bl
mov byte [esp + 0x19], bl
mov byte [esp + 0x18], bl
lea ebp, [esi - 1]
call fcn.1006bbb0
movzx edi, ax
add esp, 4
cmp di, 0x2f
je 0x1006d29a
cmp di, 0x2d
je 0x1006d29a
mov byte [esp + 0x12], bl
jmp 0x1006d2b3
lea eax, [esp + 0x28]
push eax
mov edx, 0x2f
lea eax, [esp + 0x54]
call fcn.1006bbb0
add esp, 4
movzx edi, ax
cmp ebp, 0xb
jle 0x1006d4a3
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xb
jg 0x1006d4a3
mov eax, ebp
mov ebp, ecx
mov dword [esp + 0x1c], eax
jmp 0x1006d4a3
movzx eax, di
cmp eax, 0x41
jl 0x1006d2e3
cmp eax, 0x5a
jle 0x1006d2ef
add eax, 0xffffff9f
cmp eax, 0x19
ja 0x1006d450
lea ecx, [esp + 0x18]
call fcn.1009dbc0
lea edi, [esp + 0x18]
lea ebx, [esp + 0x50]
mov dword [esp + 0x48], 0
call fcn.1006bc00
call fcn.1006bb30
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx]
cmp ebx, 1
movzx edi, ax
jle 0x1006d38e
mov esi, 0xb
mov edx, dword [esi*4 + 0x101941b4]
push ebx
push edx
lea ecx, [esp + 0x20]
call fcn.1009e1c0
test eax, eax
je 0x1006d3a4
sub esi, 1
jns 0x1006d325
mov esi, 0x101941e4
mov eax, dword [esi]
push ebx
push eax
lea ecx, [esp + 0x20]
call fcn.1009e1c0
test eax, eax
je 0x1006d38e
add esi, 4
cmp esi, 0x10194200
jl 0x1006d345
cmp dword [0x10194200], 0
mov esi, 0x10194200
je 0x1006d389
nop
mov ecx, dword [esi]
push ebx
push ecx
lea ecx, [esp + 0x20]
call fcn.1009e1c0
test eax, eax
je 0x1006d3b9
add esi, 6
cmp dword [esi], 0
jne 0x1006d370
mov byte [esp + 0x12], 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x48], 0xffffffff
call fcn.1009dbf0
jmp 0x1006d4a3
cmp byte [esp + 0x15], 0
je 0x1006d3b0
mov byte [esp + 0x12], 1
mov byte [esp + 0x15], 1
mov ebp, esi
jmp 0x1006d38e
cmp byte [esp + 0x16], 0
je 0x1006d3c5
mov byte [esp + 0x12], 1
cmp di, 0x2b
movsx edx, word [esi + 4]
mov dword [esp + 0x34], edx
mov byte [esp + 0x16], 1
fild dword [esp + 0x34]
fmul qword [0x1014e780]
fstp qword [esp + 0x38]
je 0x1006d3ec
cmp di, 0x2d
jne 0x1006d38e
lea edi, [esp + 0x50]
call fcn.1006bb60
mov ebx, edi
mov esi, eax
call fcn.1006bb30
movzx edi, ax
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x64
sub esi, ecx
cmp esi, 0x3b
jle 0x1006d420
xor esi, esi
mov edx, eax
shl edx, 4
sub edx, eax
lea eax, [esi + edx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x34], ecx
fild dword [esp + 0x34]
fmul qword [0x1014e780]
fadd qword [esp + 0x38]
fstp qword [esp + 0x38]
jmp 0x1006d38e
cmp di, 0x28
jne 0x1006d48d
mov edx, dword [esp + 0x50]
xor ecx, ecx
lea esp, [esp]
movzx eax, word [edx + 2]
add edx, 2
cmp ax, 0x28
jne 0x1006d472
add ecx, 1
jmp 0x1006d460
cmp ax, 0x29
jne 0x1006d486
sub ecx, 1
jne 0x1006d460
add edx, 2
mov dword [esp + 0x50], edx
jmp 0x1006d497
test ax, ax
jne 0x1006d460
jmp 0x1006d4ac
add dword [esp + 0x50], 2
mov byte [esp + 0x12], 1
lea ebx, [esp + 0x50]
call fcn.1006bb30
movzx edi, ax
test di, di
jne 0x1006d0e1
mov esi, dword [esp + 0x28]
cmp esi, 0x63
jg 0x1006d4bb
add esi, 0x76c
cmp byte [esp + 0x12], 0
je 0x1006d4de
mov ecx, dword [esp + 0x54]
call fcn.1006baa0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
cmp byte [esp + 0x16], 0
mov eax, dword [esp + 0x1c]
sete dl
mov ecx, ebp
push edx
push eax
push esi
call fcn.1006b650
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
fmul qword [0x10158d28]
fild dword [esp + 0x2c]
fld qword [0x10158d80]
fmul st(1), st(0)
fild dword [esp + 0x38]
faddp st(2)
fmulp st(1)
fld qword [0x1014e780]
fmul st(1), st(0)
fimul dword [esp + 0x3c]
faddp st(1)
fadd qword [0x1014e778]
faddp st(1)
fsub qword [esp + 0x44]
fstp qword [esp]
call fcn.1006cf60
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3c
ret