Function at 0x10002ed0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1005f893
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100a33c8]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x18], ebx
lea esi, [ebx + 0xb4]
mov ecx, esi
call fcn.100076a0
xor ecx, ecx
mov ebp, eax
mov edx, 0x48
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10011bd0
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
xor eax, eax
mov dword [esp + 0x98], eax
cmp edi, eax
je 0x10002f4f
push fcn.100074c0
push ebp
push 0x48
push edi
call fcn.100013b0
mov dword [esp + 0x14], edi
jmp 0x10002f53
mov dword [esp + 0x14], eax
mov ecx, esi
mov dword [esp + 0x98], 0xffffffff
call fcn.100076a0
add eax, eax
add eax, eax
push eax
call fcn.10045928
mov ebp, eax
add esp, 4
mov ecx, esi
mov dword [esp + 0x1c], ebp
xor edi, edi
call fcn.100076a0
test eax, eax
jle 0x100030cc
mov ebp, dword [esp + 0x14]
add ebp, 0x30
push edi
mov ecx, esi
call fcn.100076c0
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.100076b0
push eax
lea ecx, [esp + 0x4c]
call fcn.10007310
sub esp, 0x18
lea edx, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.10007310
lea eax, [esp + 0x78]
push eax
mov ecx, ebx
call fcn.100015b0
push eax
lea ecx, [ebp - 0x30]
call fcn.10007310
push edi
mov ecx, esi
call fcn.100076c0
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.100076b0
push eax
lea ecx, [esp + 0x4c]
call fcn.10007310
sub esp, 0x18
lea edx, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.10007310
lea eax, [esp + 0x78]
push eax
mov ecx, ebx
call fcn.100015b0
push eax
lea ecx, [ebp - 0x18]
call fcn.10007310
push edi
mov ecx, esi
call fcn.100076c0
mov ecx, dword [eax + 8]
push ecx
mov ecx, esi
call fcn.100076b0
push eax
lea ecx, [esp + 0x4c]
call fcn.10007310
sub esp, 0x18
lea edx, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.10007310
lea eax, [esp + 0x90]
push eax
mov ecx, ebx
call fcn.100015b0
push eax
mov ecx, ebp
call fcn.10007310
call fcn.1004542b
cdq
mov ecx, 0x9c
idiv ecx
add dl, 0x64
movzx eax, dl
shl eax, 8
mov dword [esp + 0x20], eax
call fcn.1004542b
cdq
mov ecx, 0x9c
idiv ecx
add dl, 0x64
movzx ebx, dl
or ebx, dword [esp + 0x20]
shl ebx, 8
call fcn.1004542b
cdq
mov ecx, 0x9c
idiv ecx
mov eax, dword [esp + 0x1c]
mov ecx, esi
inc edi
add ebp, 0x48
add dl, 0x64
movzx edx, dl
or edx, ebx
mov dword [eax + edi*4 - 4], edx
call fcn.100076a0
cmp edi, eax
mov ebx, dword [esp + 0x18]
jl 0x10002f90
mov ebp, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x38]
call fcn.10024958
mov ecx, dword [esp + 0x38]
push ecx
mov dword [esp + 0x9c], 1
call dword [sym.imp.USER32.dll_WindowFromDC]
push eax
call fcn.10018080
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x24]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebx + 0xac]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.GDI32.dll_GetBkColor]
mov ebx, dword [ebx + 0xac]
test ebx, ebx
je 0x1000311e
mov ebx, dword [ebx + 4]
mov ecx, dword [esp + 0x30]
sub ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x24]
push eax
push ebx
push ecx
push edx
mov ecx, esi
call fcn.100076a0
mov esi, dword [esp + 0x24]
push eax
push ebp
push esi
call fcn.10009b00
push esi
call fcn.10011bdb
push ebp
call fcn.1004584b
add esp, 0x24
lea ecx, [esp + 0x34]
mov dword [esp + 0x98], 0xffffffff
call fcn.100249ac
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret