Function at 0x5f76d0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5f8036
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x5f801b
mov eax, dword [ebp - 4]
call fcn.005f8b20
xor eax, eax
push ebp
push 0x5f8009
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.005f8af0
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
xor eax, eax
push ebp
push 0x5f7fec
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x5f784f
mov eax, dword [ebp - 4]
call fcn.005f92ec
cmp dword [eax + 8], 0
jle 0x5f77bf
mov eax, dword [ebp - 4]
call fcn.005f92ec
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov edi, eax
dec edi
test edi, edi
jl 0x5f784f
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x5f784b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
inc ebx
dec edi
jne 0x5f77d4
test byte [ebp - 5], 4
je 0x5f7a63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov edi, eax
dec edi
test edi, edi
jl 0x5f7939
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f1d60
test al, al
je 0x5f7931
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x34]
call fcn.005f4534
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.005f76b8
test al, al
jne 0x5f7931
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.005f44d4
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
inc ebx
dec edi
jne 0x5f7872
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov edi, eax
sub edi, 2
test edi, edi
jl 0x5f7a73
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
cmp dword [eax + 0x34], 0
je 0x5f7a59
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x34]
call fcn.005f463c
add al, 0xfe
sub al, 2
jae 0x5f7a59
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005f53e4
call fcn.005f1d60
test al, al
jne 0x5f7a59
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
lea edx, [ebp - 0x20]
call fcn.005f1968
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005f53e4
lea edx, [ebp - 0x30]
call fcn.005f1968
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040fa8c
test eax, eax
je 0x5f7a59
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040f8a4
test eax, eax
je 0x5f7a10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.005f464c
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
inc ebx
dec edi
jne 0x5f7954
jmp 0x5f7a73
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x5f7b46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x5f7b54
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x5f7a9d
dec esi
test esi, esi
jle 0x5f7acd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f53e4
cmp dword [eax + 0x34], 0
je 0x5f7acd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f53e4
mov eax, dword [eax + 0x34]
call fcn.005f463c
cmp al, 3
je 0x5f7a9c
test esi, esi
jl 0x5f7af2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f53e4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
pop edx
call fcn.005f3ad4
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
dec ebx
test ebx, ebx
jne 0x5f7a94
jmp 0x5f7b54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x5f7d07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x5f7cbe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov esi, eax
dec esi
cmp esi, 0
jl 0x5f7c73
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f0918
mov edx, dword [0x5e43e4]
call fcn.00405d40
test al, al
jne 0x5f7c52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f0918
mov edx, dword [0x5e3f2c]
call fcn.00405d40
test al, al
jne 0x5f7c52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f0918
mov edx, dword [0x5e4c28]
call fcn.00405d40
test al, al
jne 0x5f7c52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005f0918
mov edx, dword [0x5e4dc8]
call fcn.00405d40
test al, al
je 0x5f7c69
test ebx, ebx
jg 0x5f7c52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
dec eax
jne 0x5f7c69
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005e78cc
dec esi
cmp esi, 0xffffffff
jne 0x5f7ba4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f0c3c
test al, al
je 0x5f7cb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
call fcn.005e7884
test eax, eax
jne 0x5f7cb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.00405a84
dec ebx
cmp ebx, 0xffffffff
jne 0x5f7b83
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
test byte [ebp - 5], 1
je 0x5f7e4e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x5f7e5c
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f0c3c
test al, al
jne 0x5f7e42
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f1d60
test al, al
je 0x5f7e42
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x34]
call fcn.005f4610
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f3720
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f0c3c
test al, al
je 0x5f7df9
test ebx, ebx
jle 0x5f7dec
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005f53e4
call fcn.005f1d60
test al, al
je 0x5f7dec
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005f53e4
mov eax, dword [eax + 0x34]
call fcn.005f4610
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005f53e4
mov eax, dword [eax + 0x34]
pop edx
call fcn.005f4618
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005e78cc
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
dec ebx
cmp ebx, 0xffffffff
jne 0x5f7d28
jmp 0x5f7e5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x5f7f92
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x5f7f49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
cmp dword [eax + 0x34], 0
je 0x5f7efe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.005f4610
test ax, ax
je 0x5f7ec8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
dec eax
jne 0x5f7efe
mov eax, esi
call fcn.005f44c8
test al, al
jne 0x5f7efe
mov eax, esi
call fcn.005f4620
test al, al
jne 0x5f7efe
mov eax, esi
call fcn.005f463c
sub al, 2
jb 0x5f7ef7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005e7884
dec eax
jne 0x5f7efe
mov eax, esi
call fcn.00405a84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.005f0c3c
test al, al
je 0x5f7f3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
mov eax, dword [eax + 0x30]
call fcn.005e7884
test eax, eax
jne 0x5f7f3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005f53e4
call fcn.00405a84
dec ebx
cmp ebx, 0xffffffff
jne 0x5f7e8b
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f2d4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x70]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5f7ff3
call fcn.00404650
test eax, eax
jne 0x5f7faf
mov ebx, 0x64
jmp 0x5f7fb1
xor ebx, ebx
push ebx
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445fbc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x628464]
call fcn.0040b684
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.00405de0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5f803d
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00407830
ret