Function at 0x8fc700
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x8fcab8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00944218
test al, al
jne 0x8fcaa2
mov eax, dword [ebp - 4]
cmp byte [eax + 0xaf8], 0
je 0x8fc74f
push 1
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.009532b8
xor ecx, ecx
push ebp
push 0x8fca98
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor ecx, ecx
push ebp
push 0x8fca87
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp byte [eax + 0x57], 0
je 0x8fc7b5
xor edx, edx
push ebp
push 0x8fc7ab
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [eax]
call dword [edx + 0xe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0xe0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fc7b5
mov byte [ebp - 0x17], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x24], 3
jne 0x8fc7e1
push 1
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.009532b8
mov eax, dword [ebp - 4]
cmp byte [eax + 0xaf8], 0
jne 0x8fc9df
xor ecx, ecx
push ebp
push 0x8fc9d8
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov byte [ebp - 0x17], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58c]
xor edx, edx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x588]
xor edx, edx
mov dword [eax + 0xc], edx
cmp dword [eax + 0x30], 0
je 0x8fc82c
xor edx, edx
call fcn.0044b198
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58c]
cmp dword [eax + 0x30], 0
je 0x8fc842
xor edx, edx
call fcn.0044b198
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x584]
mov byte [ebx + 0x1c0], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa94], 0
je 0x8fc886
mov eax, ebx
call fcn.006118d4
test eax, eax
jle 0x8fc879
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov dl, 1
call fcn.005fd124
mov eax, dword [ebp - 4]
add eax, 0xa94
call fcn.004120b8
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34c]
call fcn.00458cac
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov ax, word [eax + 0x44]
mov word [ebp - 0x16], ax
mov eax, dword [0x98aad0]
mov eax, dword [eax]
or edx, 0xffffffff
call fcn.00478f6c
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.007a5a74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520]
mov edx, dword [eax + 0xb8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34c]
call fcn.00458cdc
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00904690
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [eax + 0x228]
mov dword [ebp - 0xc], edx
mov ecx, dword [0x98a548]
mov dword [ebp - 0x10], edx
mov edx, dword [0x98a548]
mov dword [eax + 0x228], 2
mov edx, dword [0x98a548]
mov dword [eax + 0x228], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe44]
xor edx, edx
call fcn.00405738
je 0x8fc97a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe44]
call fcn.008b4aa0
test al, al
je 0x8fc97a
push 0
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 1
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xe44]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.008ed0b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8fc9df
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x228], edx
mov edx, dword [0x98a548]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x228], edx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00904690
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34c]
mov edx, dword [ebp - 0x14]
call fcn.00458cdc
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, word [ebp - 0x16]
call fcn.00478f6c
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
fld qword [eax + 0x3f0]
fcomp dword [0x8fcac8]
fnstsw ax
sahf
je 0x8fca0f
mov al, byte [ebp - 5]
push eax
mov cl, byte [ebp - 5]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.00923048
jmp 0x8fca25
cmp byte [ebp - 0x17], 0
jne 0x8fca25
cmp byte [ebp - 6], 0
jne 0x8fca25
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fb94c
mov eax, dword [ebp - 4]
mov byte [eax + 0x8a1], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8fca8e
xor edx, edx
push ebp
push 0x8fca7c
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp byte [eax + 0x57], 0
je 0x8fca72
mov edx, dword [eax]
call dword [edx + 0xe4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0xe4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8fca86
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8fcabf
lea eax, [ebp - 0x14]
call fcn.00404c7c
ret