Function at 0x48f780
Capabilities:
Check os version
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x5d72b6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa0
mov eax, 0x2710
push ebx
push ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], eax
push esi
lea eax, [esp + 0x14]
push edi
push eax
mov edi, ecx
push str.value
xor ebp, ebp
push str.small_graph_size
push str.workspace
mov ecx, 0x87f5b8
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x28], ebp
call fcn.00593f80
test eax, eax
jne 0x48f842
mov dword [esp + 0x18], 0x64
fild dword [esp + 0x18]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], ebp
cmp ecx, ebp
fstp qword [esp + 0x58]
je 0x48fe7f
mov eax, dword [esp + 0xcc]
mov esi, 1
cmp eax, esi
jne 0x48fb8c
call fcn.00548df0
mov ecx, eax
mov dword [esp + 0x64], ecx
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x68], edx
xor edx, edx
cmp eax, ebp
je 0x48fe7f
mov ebp, dword [esp + 0xc4]
jmp 0x48f8a8
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov ebx, dword [eax + 8]
test eax, eax
jne 0x48f8b8
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
jmp 0x48f8bf
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x68]
inc edx
cmp edx, eax
mov dword [esp + 0x60], edx
ja 0x48fe77
test ebx, ebx
je 0x48fb7b
mov ecx, ebx
call fcn.0054a0f0
test eax, eax
je 0x48fb7b
mov ecx, ebx
call fcn.00549f80
cmp eax, 7
je 0x48fb7b
mov edx, dword [ebx]
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
call dword [edx + 0x34]
fld qword [esp + 0x3c]
fsub qword [esp + 0x20]
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x41
je 0x48fb44
fld qword [esp + 0x44]
fsub qword [esp + 0x28]
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x41
je 0x48fb44
push 0
mov ecx, ebx
mov dword [esp + 0x14], esi
call fcn.0054a100
fld qword [esp + 0x20]
fadd qword [esp + 0x3c]
mov ecx, dword [edi + 0x928]
push 0x8cc
mov dword [esp + 0x8c], 0x2710
mov dword [esp + 0x90], ecx
fmul qword [0x5e7c18]
fstp qword [esp + 0x74]
fld qword [esp + 0x2c]
fadd qword [esp + 0x48]
fmul qword [0x5e7c18]
fstp qword [esp + 0x7c]
fld qword [esp + 0x50]
fadd qword [esp + 0x34]
fmul qword [0x5e7c18]
fstp qword [esp + 0x84]
call fcn.005b449a
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
mov dword [esp + 0xb8], 0
je 0x48f9ba
mov ecx, eax
call fcn.00567470
mov edi, eax
jmp 0x48f9bc
xor edi, edi
lea edx, [esp + 0x70]
mov ecx, edi
push edx
mov dword [esp + 0xbc], 0xffffffff
call fcn.005686e0
mov esi, dword [edi]
mov ecx, ebx
call fcn.00549f70
push eax
mov ecx, edi
call dword [esi + 0x40]
mov esi, dword [edi]
mov ecx, ebx
call fcn.00549fc0
push eax
mov ecx, edi
call dword [esi + 0x3c]
mov ecx, ebx
call fcn.00549fd0
push eax
mov ecx, edi
call fcn.00549fe0
mov esi, dword [edi]
mov ecx, ebx
call fcn.0054a480
sub esp, 8
mov ecx, edi
fstp qword [esp]
call dword [esi + 0x38]
mov ecx, ebp
call fcn.0054a8e0
mov esi, dword [esp + 0xc8]
cmp esi, eax
jne 0x48fa46
mov ecx, ebp
call fcn.00426a20
inc eax
mov ecx, edi
push eax
call fcn.00549f60
mov ecx, ebp
call fcn.00426a20
inc eax
mov ecx, ebp
push eax
call fcn.0054a880
push edi
push ebx
mov ecx, esi
call fcn.00547a70
push 0x14
call fcn.005b449a
mov esi, eax
push 4
mov dword [esi], 2
mov dword [esi + 8], 1
call fcn.005b449a
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xdc]
mov dword [esi + 4], eax
xor eax, eax
add esp, 8
mov ecx, ebp
mov dword [esp + 0xd4], eax
mov dword [esi + 0x10], eax
call fcn.0054a8e0
cmp dword [esp + 0xc8], eax
jne 0x48fa9f
mov dword [esi + 0x10], 1
mov ecx, dword [esi + 0xc]
push 0x14
mov dword [ecx], edi
call fcn.005b449a
mov edi, eax
push 4
mov dword [edi], 1
mov dword [edi + 8], 1
call fcn.005b449a
mov dword [edi + 0xc], eax
xor eax, eax
add esp, 8
mov ecx, ebp
mov dword [edi + 4], eax
mov dword [edi + 0x10], eax
call fcn.0054a8e0
cmp dword [esp + 0xc8], eax
jne 0x48fae6
mov dword [edi + 0x10], 1
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0xd0]
test eax, eax
mov dword [edx], ebx
je 0x48fb1c
mov eax, dword [esp + 0xc0]
push esi
push ebp
lea ebx, [eax + 0x1a0c]
mov ecx, ebx
call fcn.00526d60
push edi
push ebp
mov ecx, ebx
call fcn.00526d60
mov esi, 1
jmp 0x48fb7b
mov ecx, dword [esi + 0xc]
push ecx
call fcn.005b44c3
push esi
call fcn.005b44c3
mov edx, dword [edi + 0xc]
push edx
call fcn.005b44c3
push edi
call fcn.005b44c3
add esp, 0x10
mov esi, 1
jmp 0x48fb7b
mov ecx, ebx
call fcn.00549f80
cmp eax, 0xa
jne 0x48fb7b
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xc0]
push eax
push ecx
push 0
push ebx
push ebp
push edx
mov ecx, edi
call fcn.0048f780
test eax, eax
jne 0x48fb7b
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x48f898
jmp 0x48fe77
push ebp
call fcn.00547260
mov ebx, eax
cmp ebx, ebp
je 0x48fe7f
mov ebp, dword [esp + 0xc4]
jmp 0x48fba9
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebx]
call fcn.0054a0f0
test eax, eax
je 0x48fe5e
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 7
je 0x48fe5e
mov ecx, dword [ebx]
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x14], esi
mov eax, dword [ecx]
call dword [eax + 0x34]
fld qword [esp + 0x3c]
fsub qword [esp + 0x20]
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x41
je 0x48fe25
fld qword [esp + 0x44]
fsub qword [esp + 0x28]
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x41
je 0x48fe25
mov ecx, dword [ebx]
push 0
call fcn.0054a100
fld qword [esp + 0x20]
fadd qword [esp + 0x3c]
mov eax, dword [edi + 0x928]
push 0x8cc
mov dword [esp + 0xac], 0x2710
mov dword [esp + 0xb0], eax
fmul qword [0x5e7c18]
fstp qword [esp + 0x94]
fld qword [esp + 0x2c]
fadd qword [esp + 0x48]
fmul qword [0x5e7c18]
fstp qword [esp + 0x9c]
fld qword [esp + 0x50]
fadd qword [esp + 0x34]
fmul qword [0x5e7c18]
fstp qword [esp + 0xa4]
call fcn.005b449a
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
mov dword [esp + 0xb8], esi
je 0x48fc8d
mov ecx, eax
call fcn.00567470
mov edi, eax
jmp 0x48fc8f
xor edi, edi
lea ecx, [esp + 0x90]
mov dword [esp + 0xb8], 0xffffffff
push ecx
mov ecx, edi
call fcn.005686e0
mov ecx, dword [ebx]
mov esi, dword [edi]
call fcn.00549f70
push eax
mov ecx, edi
call dword [esi + 0x40]
mov ecx, dword [ebx]
mov esi, dword [edi]
call fcn.00549fc0
push eax
mov ecx, edi
call dword [esi + 0x3c]
mov ecx, dword [ebx]
call fcn.00549fd0
push eax
mov ecx, edi
call fcn.00549fe0
mov ecx, dword [ebx]
mov esi, dword [edi]
call fcn.0054a480
sub esp, 8
mov ecx, edi
fstp qword [esp]
call dword [esi + 0x38]
mov ecx, ebp
call fcn.0054a8e0
mov esi, dword [esp + 0xc8]
cmp esi, eax
jne 0x48fd1c
mov ecx, ebp
call fcn.00426a20
inc eax
mov ecx, edi
push eax
call fcn.00549f60
mov ecx, ebp
call fcn.00426a20
inc eax
mov ecx, ebp
push eax
call fcn.0054a880
push edi
push ebx
mov ecx, esi
call fcn.005477e0
push 0x14
call fcn.005b449a
mov esi, eax
push 4
mov dword [esi], 2
mov dword [esi + 8], 1
call fcn.005b449a
mov edx, dword [esp + 0xdc]
mov dword [esi + 0xc], eax
xor eax, eax
add esp, 8
mov ecx, ebp
mov dword [esi + 4], edx
mov dword [esp + 0xd4], eax
mov dword [esi + 0x10], eax
call fcn.0054a8e0
cmp dword [esp + 0xc8], eax
jne 0x48fd75
mov dword [esi + 0x10], 1
mov eax, dword [esi + 0xc]
push 0x14
mov dword [eax], edi
call fcn.005b449a
mov edi, eax
push 4
mov dword [edi], 1
mov dword [edi + 8], 1
call fcn.005b449a
mov dword [edi + 0xc], eax
xor eax, eax
add esp, 8
mov ecx, ebp
mov dword [edi + 4], eax
mov dword [edi + 0x10], eax
call fcn.0054a8e0
cmp dword [esp + 0xc8], eax
jne 0x48fdbc
mov dword [edi + 0x10], 1
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0xd0]
mov edx, dword [ebx]
test eax, eax
mov dword [ecx], edx
je 0x48fdfd
mov eax, dword [esp + 0xc0]
push esi
push ebp
lea ecx, [eax + 0x1a0c]
call fcn.00526d60
mov ecx, dword [esp + 0xc0]
push edi
push ebp
add ecx, 0x1a0c
call fcn.00526d60
mov esi, 1
jmp 0x48fe5e
mov edx, dword [esi + 0xc]
push edx
call fcn.005b44c3
push esi
call fcn.005b44c3
mov eax, dword [edi + 0xc]
push eax
call fcn.005b44c3
push edi
call fcn.005b44c3
add esp, 0x10
mov esi, 1
jmp 0x48fe5e
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 0xa
jne 0x48fe5e
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
mov eax, dword [ebx]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
push 0
push eax
push ebp
push ecx
mov ecx, edi
call fcn.0048f780
test eax, eax
jne 0x48fe5e
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xc8]
push 0
push ebx
call fcn.00547400
mov ebx, eax
test ebx, ebx
jne 0x48fba5
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x48fe86
mov eax, 0xc0000000
jmp 0x48fe88
xor eax, eax
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xac
ret 0x18