Function at 0x5c79a6
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 0x5c74fe
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 0x5c82f1
mov eax, dword [ebp - 4]
call fcn.005c8df6
xor eax, eax
push ebp
push 0x5c74d1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.005c8dc6
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x700b70]
call 0xe140bc3a
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.004062fa
xor eax, eax
push ebp
push 0x5c74b4
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 0x15bd25a
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x5c7b25
mov eax, dword [ebp - 4]
call fcn.005c95c2
cmp dword [eax + 8], 0
jle 0x5c7a95
mov eax, dword [ebp - 4]
call fcn.005c95c2
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
mov edi, eax
dec edi
test edi, edi
jl 0x5c7b25
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x5c7b21
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
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.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x700b70]
call 0xe140bc3a
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.004062fa
inc ebx
dec edi
jne 0x5c7aaa
test byte [ebp - 5], 4
je 0x5c7d39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
mov edi, eax
dec edi
test edi, edi
jl 0x5c7c0f
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
call fcn.005c2036
test al, al
je 0x5c7c07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x34]
call fcn.005c480a
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call 0xe159798e
test al, al
jne 0x5c7c07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.005c47aa
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x700b70]
call 0xe140bc3a
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.004062fa
inc ebx
dec edi
jne 0x3d7b48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
mov edi, eax
sub edi, 2
test edi, edi
jl 0x5c7d49
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
cmp dword [eax + 0x34], 0
je 0x5c7d2f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x34]
call fcn.005c4912
add al, 0xfe
sub al, 2
jae 0x5c7d2f
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15956ba
call fcn.005c2036
test al, al
jne 0x5c7d2f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
lea edx, [ebp - 0x20]
call fcn.005c1c3e
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15956ba
lea edx, [ebp - 0x30]
call fcn.005c1c3e
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00410226
test eax, eax
je 0x5c7d2f
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040fffe
test eax, eax
je 0x5c7ce6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.005c4922
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x700b70]
call 0xe140bc3a
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.004062fa
inc ebx
dec edi
jne 0x3d7c2a
jmp 0x5c7d49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x5c7e1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x5c7e2a
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x5c7d73
dec esi
test esi, esi
jle 0x5c7da3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005c56ba
cmp dword [eax + 0x34], 0
je 0x5c7da3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call 0xe15956ba
mov eax, dword [eax + 0x34]
call fcn.005c4912
cmp al, 3
je 0x5c7d72
test esi, esi
jl 0x5c7dc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005c56ba
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
pop edx
call fcn.005c3daa
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x700b70]
call 0xe140bc3a
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.004062fa
dec ebx
test ebx, ebx
jne 0x5c7d6a
jmp 0x5c7e2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x5c7fdd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x5c7f94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
mov esi, eax
dec esi
cmp esi, 0
jl 0x5c7f49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005c0bee
mov edx, dword [0x5b38ac]
call 0xe140625a
test al, al
jne 0x5c7f28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005c0bee
mov edx, dword [0x5b33f4]
call 0xe140625a
test al, al
jne 0x5c7f28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005c0bee
mov edx, dword [0x5b40f0]
call 0xe140625a
test al, al
jne 0x5c7f28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005c0bee
mov edx, dword [0x5b4290]
call 0xe140625a
test al, al
je 0x5c7f3f
test ebx, ebx
jg 0x5c7f28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
dec eax
jne 0x5c7f3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.005b7ba2
dec esi
cmp esi, 0xffffffff
jne 0x3d7e7a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.005c0f12
test al, al
je 0x5c7f8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
test eax, eax
jne 0x5c7f8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.00405f9e
dec ebx
cmp ebx, 0xffffffff
jne 0x5c7e59
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x700b70]
call 0xe140bc3a
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call 0xe14062fa
test byte [ebp - 5], 1
je 0x5c8124
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x5c8132
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.005c0f12
test al, al
jne 0x5c8118
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.005c2036
test al, al
je 0x5c8118
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call 0xe15956ba
mov eax, dword [eax + 0x34]
call fcn.005c48e6
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call 0x3d39f6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.005c0f12
test al, al
je 0x5c80cf
test ebx, ebx
jle 0x5c80c2
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005c56ba
call fcn.005c2036
test al, al
je 0x5c80c2
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15956ba
mov eax, dword [eax + 0x34]
call fcn.005c48e6
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15956ba
mov eax, dword [eax + 0x34]
pop edx
call 0x3d48ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005b7ba2
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x700b70]
call 0xe140bc3a
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.004062fa
dec ebx
cmp ebx, 0xffffffff
jne 0x5c7ffe
jmp 0x5c8132
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x5c8268
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call 0xe15b7b5a
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x5c821f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
cmp dword [eax + 0x34], 0
je 0x5c81d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.005c48e6
test ax, ax
je 0x5c819e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
dec eax
jne 0x5c81d4
mov eax, esi
call fcn.005c479e
test al, al
jne 0x5c81d4
mov eax, esi
call fcn.005c48f6
test al, al
jne 0x5c81d4
mov eax, esi
call fcn.005c4912
sub al, 2
jb 0x5c81cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
dec eax
jne 0x5c81d4
mov eax, esi
call fcn.00405f9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.005c0f12
test al, al
je 0x5c8215
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
mov eax, dword [eax + 0x30]
call fcn.005b7b5a
test eax, eax
jne 0x5c8215
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.005c56ba
call fcn.00405f9e
dec ebx
cmp ebx, 0xffffffff
jne 0x5c8161
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040f8fe
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x700b70]
call fcn.0040bc3a
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.004062fa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5c74bb
call fcn.004053f2
test eax, eax
jne 0x5c8285
mov ebx, 0x64
jmp 0x5c8287
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.00447c26
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x700b70]
call fcn.0040bc3a
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.004062fa
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5c7505
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00407ca2
ret