Function at 0x80373c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor ecx, ecx
push ebp
push 0x8039d4
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp byte [eax + 0xa54], 0
je 0x803779
pop dword fs:[0]
add esp, 8
jmp 0x8039de
test dl, dl
jne 0x8037a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3b1], 0
je 0x8037a0
mov eax, dword [ebp - 4]
mov byte [eax + 0x3b1], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8039de
test dl, dl
jne 0x8039ca
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x3ac], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x3a8], edx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40f], 0
je 0x8039ba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp dword [eax + 0x30], 0
je 0x803918
xor edx, edx
call fcn.0044b198
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
cmp ebx, eax
jle 0x803845
mov eax, dword [ebp - 4]
call fcn.00474e44
call fcn.004786bc
push eax
mov eax, 0x2b
call fcn.008ae474
pop edx
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x300]
call fcn.0045840c
jmp 0x80386e
mov eax, dword [ebp - 4]
call fcn.00474e44
call fcn.004786bc
push eax
mov eax, 0x2b
call fcn.008ae474
pop edx
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x300]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x300]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x300]
call fcn.00458f0c
xor edx, edx
push ebp
push 0x8038b8
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
cmp byte [eax + 0x30], 0
je 0x8038ae
call fcn.0077bc1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8038c2
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp word [eax + 0x44], 0
je 0x8038de
mov eax, dword [0x98aad0]
mov eax, dword [eax]
xor edx, edx
call fcn.00478f6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
cmp word [eax + 0x23c], 0
je 0x8038f8
xor edx, edx
call fcn.00628c20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
cmp word [eax + 0x78], 0
je 0x8039ca
xor edx, edx
call fcn.00458eb8
jmp 0x8039ca
mov edx, 0x64
call fcn.0044b198
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x300]
xor edx, edx
call fcn.00458bcc
xor edx, edx
push ebp
push 0x80395e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
cmp byte [eax + 0x30], 0
je 0x803954
call fcn.0077bb88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x803968
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp word [eax + 0x44], 0xffff
je 0x803985
mov eax, dword [0x98aad0]
mov eax, dword [eax]
or edx, 0xffffffff
call fcn.00478f6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
cmp word [eax + 0x23c], 0xffff
je 0x8039a0
or edx, 0xffffffff
call fcn.00628c20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
cmp word [eax + 0x78], 0xffff
je 0x8039ca
or edx, 0xffffffff
call fcn.00458eb8
jmp 0x8039ca
mov eax, dword [ebp - 4]
call fcn.00800244
mov eax, dword [ebp - 4]
call fcn.00800050
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8039de
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 4