Function at 0x5c9800
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7346ab
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.00529760
mov edi, eax
test edi, edi
je 0x5c9a34
mov ecx, edi
call fcn.00591350
cmp eax, 0x2d
jle 0x5c9969
mov ecx, edi
call fcn.00591350
cmp eax, 0xfa0
jge 0x5c9969
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 0x5c9966
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x9c]
test eax, eax
jne 0x5c9966
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 0x5c999b
mov edx, dword [0x83bf78]
mov eax, dword [esi + 3]
cmp edx, eax
mov eax, dword [ebp - 0x54]
jne 0x5c9984
mov dword [0x83bfa0], eax
test eax, eax
je 0x5c999b
push eax
mov ecx, 0x83a9e0
call fcn.006f49d0
push eax
mov ecx, edi
call fcn.0058e390
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, 0x83a9e0
call fcn.006f59b0
test eax, eax
je 0x5c9c83
cmp dword [ebp - 0x5c], 0x64
je 0x5c9c83
mov eax, dword [edi + 0x134]
test eax, eax
jne 0x5c9c83
mov ecx, edi
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f59a0
test eax, eax
jne 0x5c9a1e
mov ecx, edi
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f5a70
test eax, eax
je 0x5c9c83
movsx edx, word [esi + 0x27]
mov eax, dword [esi + 0x23]
push edx
push eax
push edi
mov ecx, ebx
call fcn.005b6060
jmp 0x5c9c83
movsx ecx, word [esi + 0x27]
mov edx, dword [esi + 0x23]
push ecx
push edx
push edi
mov ecx, ebx
call fcn.005b6060
jmp 0x5c9c83
mov ax, word [esi + 0xf]
cmp ax, 0x2d
jl 0x5c9a44
cmp ax, 0xfa0
jl 0x5c9a96
movsx eax, ax
push eax
mov ecx, 0x83a9e0
call fcn.006f5b20
test eax, eax
jne 0x5c9a96
cmp byte [esi + 2], 9
je 0x5c9a96
push 0x3e4
call fcn.00711d5b
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 0
je 0x5c9a89
mov ecx, eax
call fcn.00621c70
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
jmp 0x5c9ae0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ebx, eax
jmp 0x5c9ae0
mov ecx, dword [esi + 3]
push ecx
mov ecx, 0x83a9e0
call fcn.006f8a80
test eax, eax
mov edi, 1
je 0x5c9ab3
mov dword [0x83e254], edi
mov edx, dword [esi + 3]
mov ecx, 0x83a9e0
push edx
call fcn.006f8ab0
test eax, eax
je 0x5c9acb
mov dword [0x83e2f8], edi
movsx eax, word [esi + 0xf]
push eax
mov ecx, ebx
call fcn.005b1bd0
mov ebx, eax
mov dword [ebp - 0x78], 0
test ebx, ebx
je 0x5c9b16
cmp dword [ebp - 0x5c], 0x64
jne 0x5c9b16
mov ecx, dword [0x83bf78]
mov eax, dword [esi + 3]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
jne 0x5c9aff
mov dword [0x83bfa0], eax
test eax, eax
je 0x5c9b16
push eax
mov ecx, 0x83a9e0
call fcn.006f49d0
push eax
mov ecx, ebx
call fcn.0058e390
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.00711d5b
mov edx, dword [ebp + 8]
add esp, 4
test edx, edx
mov ecx, edx
jne 0x5c9b4c
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5c9b57
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 0x5c9b6b
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.00711d5b
mov edx, dword [ebp + 8]
add esp, 4
test edx, edx
mov ecx, edx
jne 0x5c9b9f
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x5c9baa
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 0x5c9bbe
mov dword [eax], ebx
mov ecx, dword [edi + 8]
inc ecx
test ebx, ebx
mov dword [edi + 8], ecx
je 0x5c9c80
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, 0x83a9e0
call fcn.006f59b0
test eax, eax
je 0x5c9c47
cmp dword [ebp - 0x5c], 0x64
je 0x5c9c47
mov eax, dword [ebx + 0x134]
test eax, eax
jne 0x5c9c47
mov ecx, ebx
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f59a0
test eax, eax
jne 0x5c9c35
mov ecx, ebx
call fcn.00591350
push eax
mov ecx, 0x83a9e0
call fcn.006f5a70
test eax, eax
je 0x5c9c47
movsx edx, word [esi + 0x27]
mov eax, dword [esi + 0x23]
push edx
push eax
jmp 0x5c9c3e
movsx ecx, word [esi + 0x27]
mov edx, dword [esi + 0x23]
push ecx
push edx
mov ecx, dword [ebp - 0x10]
push ebx
call fcn.005b6060
mov ecx, ebx
call fcn.00591350
cmp eax, 0x2d
jle 0x5c9c80
mov ecx, ebx
call fcn.00591350
cmp eax, 0xfa0
jge 0x5c9c80
movsx eax, word [esi + 0x19]
movsx ecx, word [esi + 0x1b]
shl eax, 0x10
or eax, ecx
jbe 0x5c9c80
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.0060e0a0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4