Function at 0x5c5f20
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x73051b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
xor ecx, ecx
push edi
movsx eax, word [esi + 0xf]
mov cl, byte [esi + 0x2e]
mov dword [ebp - 0x7c], eax
movsx eax, word [esi + 7]
mov dword [ebp - 0x68], eax
xor eax, eax
mov al, byte [esi + 0x33]
mov dword [ebp - 0x78], ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
movsx eax, word [esi + 0x13]
mov cl, byte [esi + 0x32]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x64], ecx
xor eax, eax
movsx ecx, word [esi + 0x11]
mov al, byte [esi + 0x34]
mov dword [ebp - 0x5c], ecx
movsx ecx, word [esi + 0x15]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], ecx
movsx eax, word [esi + 9]
movsx ecx, word [esi + 0xb]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov al, byte [esi + 0x2d]
mov dword [ebp - 0x48], ecx
movsx ecx, word [esi + 0xd]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], ecx
movsx eax, word [esi + 0x19]
movsx ecx, word [esi + 0x17]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], ecx
movsx eax, word [esi + 0x1d]
movsx ecx, word [esi + 0x1b]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ecx
movsx eax, word [esi + 0x21]
movsx ecx, word [esi + 0x1f]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
movsx eax, word [esi + 0x27]
mov ecx, dword [esi + 0x23]
mov dword [ebp - 0x20], eax
movsx eax, word [esi + 0x2b]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], eax
movsx ecx, word [esi + 0x29]
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov al, byte [esi + 0x30]
xor ecx, ecx
mov cl, byte [esi + 0x2f]
mov edi, eax
shr edi, 6
shl ecx, 2
mov edx, dword [esi + 3]
or edi, ecx
xor ecx, ecx
mov dword [ebp - 0x74], edi
mov cl, byte [esi + 0x31]
and eax, 0x3f
mov edi, ecx
and ecx, 0xf
shr edi, 4
shl eax, 4
or edi, eax
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebx + 0xb4]
push edx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x70], edi
call fcn.00526d60
mov edi, eax
test edi, edi
je 0x5c6154
mov ecx, edi
call fcn.0058e440
cmp eax, 0x2d
jle 0x5c6089
mov ecx, edi
call fcn.0058e440
cmp eax, 0xfa0
jge 0x5c6089
movsx ebx, word [esi + 0x19]
movsx edx, word [esi + 0x1b]
movsx eax, word [esi + 0x17]
shl ebx, 0x10
or ebx, edx
mov dword [ebp + 8], eax
jbe 0x5c6086
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x9c]
test eax, eax
jne 0x5c6086
mov ecx, dword [ebp + 8]
mov eax, dword [edi]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x98]
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x5c], 0x64
jne 0x5c60bb
mov edx, dword [0x837b68]
mov eax, dword [esi + 3]
cmp edx, eax
mov eax, dword [ebp - 0x54]
jne 0x5c60a4
mov dword [0x837b90], eax
test eax, eax
je 0x5c60bb
push eax
mov ecx, 0x8365d0
call fcn.006f0a60
push eax
mov ecx, edi
call fcn.0058b480
mov eax, dword [edi]
push 0
lea ecx, [ebp - 0x80]
push 0
push ecx
push 3
push 0
mov ecx, edi
call dword [eax + 8]
mov ecx, 0x8365d0
call fcn.006f1a40
test eax, eax
je 0x5c63a3
cmp dword [ebp - 0x5c], 0x64
je 0x5c63a3
mov eax, dword [edi + 0x134]
test eax, eax
jne 0x5c63a3
mov ecx, edi
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006f1a30
test eax, eax
jne 0x5c613e
mov ecx, edi
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006f1b00
test eax, eax
je 0x5c63a3
movsx edx, word [esi + 0x27]
mov eax, dword [esi + 0x23]
push edx
push eax
push edi
mov ecx, ebx
call fcn.005b2940
jmp 0x5c63a3
movsx ecx, word [esi + 0x27]
mov edx, dword [esi + 0x23]
push ecx
push edx
push edi
mov ecx, ebx
call fcn.005b2940
jmp 0x5c63a3
mov ax, word [esi + 0xf]
cmp ax, 0x2d
jl 0x5c6164
cmp ax, 0xfa0
jl 0x5c61b6
movsx eax, ax
push eax
mov ecx, 0x8365d0
call fcn.006f1bb0
test eax, eax
jne 0x5c61b6
cmp byte [esi + 2], 9
je 0x5c61b6
push 0x3e4
call fcn.0070dddb
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 0
je 0x5c61a9
mov ecx, eax
call fcn.0061da60
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
jmp 0x5c6200
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
jmp 0x5c6200
mov ecx, dword [esi + 3]
push ecx
mov ecx, 0x8365d0
call fcn.006f4b10
test eax, eax
mov edi, 1
je 0x5c61d3
mov dword [0x839e44], edi
mov edx, dword [esi + 3]
mov ecx, 0x8365d0
push edx
call fcn.006f4b40
test eax, eax
je 0x5c61eb
mov dword [0x839ee8], edi
movsx eax, word [esi + 0xf]
push eax
mov ecx, ebx
call fcn.005ae4b0
mov ebx, eax
mov dword [ebp - 0x78], 0
test ebx, ebx
je 0x5c6236
cmp dword [ebp - 0x5c], 0x64
jne 0x5c6236
mov ecx, dword [0x837b68]
mov eax, dword [esi + 3]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jne 0x5c621f
mov dword [0x837b90], eax
test eax, eax
je 0x5c6236
push eax
mov ecx, 0x8365d0
call fcn.006f0a60
push eax
mov ecx, ebx
call fcn.0058b480
mov dl, byte [esi + 2]
mov eax, dword [ebp - 0x10]
mov byte [ebx + 0x2b8], dl
push 0xc
mov edi, dword [eax + 0xb4]
mov eax, dword [edi + 0xc]
add edi, 8
mov dword [ebp + 8], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14], ecx
call fcn.0070dddb
mov edx, dword [ebp + 8]
add esp, 4
test edx, edx
mov ecx, edx
jne 0x5c626c
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5c6277
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov edx, dword [eax + 4]
mov dword [edx], eax
add eax, 8
test eax, eax
je 0x5c628b
mov dword [eax], ebx
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x10]
inc edx
push 0xc
mov dword [edi + 8], edx
mov edi, dword [eax + 0xb4]
mov eax, dword [edi + 0x18]
add edi, 0x14
mov dword [ebp + 8], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14], ecx
call fcn.0070dddb
mov edx, dword [ebp + 8]
add esp, 4
test edx, edx
mov ecx, edx
jne 0x5c62bf
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5c62ca
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov edx, dword [eax + 4]
mov dword [edx], eax
add eax, 8
test eax, eax
je 0x5c62de
mov dword [eax], ebx
mov ecx, dword [edi + 8]
inc ecx
test ebx, ebx
mov dword [edi + 8], ecx
je 0x5c63a0
mov eax, dword [ebx]
push 0
lea ecx, [ebp - 0x80]
push 0
push ecx
push 4
push 0
mov ecx, ebx
call dword [eax + 8]
mov ecx, 0x8365d0
call fcn.006f1a40
test eax, eax
je 0x5c6367
cmp dword [ebp - 0x5c], 0x64
je 0x5c6367
mov eax, dword [ebx + 0x134]
test eax, eax
jne 0x5c6367
mov ecx, ebx
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006f1a30
test eax, eax
jne 0x5c6355
mov ecx, ebx
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006f1b00
test eax, eax
je 0x5c6367
movsx edx, word [esi + 0x27]
mov eax, dword [esi + 0x23]
push edx
push eax
jmp 0x5c635e
movsx ecx, word [esi + 0x27]
mov edx, dword [esi + 0x23]
push ecx
push edx
mov ecx, dword [ebp - 0x10]
push ebx
call fcn.005b2940
mov ecx, ebx
call fcn.0058e440
cmp eax, 0x2d
jle 0x5c63a0
mov ecx, ebx
call fcn.0058e440
cmp eax, 0xfa0
jge 0x5c63a0
movsx eax, word [esi + 0x19]
movsx ecx, word [esi + 0x1b]
shl eax, 0x10
or eax, ecx
jbe 0x5c63a0
movsx ecx, word [esi + 0x17]
mov edx, dword [ebx]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x98]
mov ebx, dword [ebp - 0x10]
movsx edx, word [esi + 0x2b]
movsx eax, word [esi + 0x35]
movsx ecx, word [esi + 0xd]
push edx
mov edx, dword [esi + 3]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0060a5e0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4