Function at 0x526e80
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x687b65
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
call fcn.00608ca8
xor ebp, ebp
lea ecx, [esi + 0x40]
push 0x1f
mov dword [esp + 0x20], ebp
call fcn.00639860
lea edi, [esi + 0xd8]
mov byte [esp + 0x1c], 1
mov ecx, edi
call fcn.00608ca8
mov dword [edi], vtable.CListCtrl.0
lea ecx, [esi + 0x118]
mov byte [esp + 0x1c], 2
call fcn.00644bd0
lea ecx, [esi + 0x230]
mov byte [esp + 0x1c], 3
call fcn.00644bd0
lea ecx, [esi + 0x348]
mov byte [esp + 0x1c], 4
call fcn.00439670
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
mov dword [esi + 0x408], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x40c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x410], edx
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x414], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x418], ecx
lea ecx, [esi + 0x42c]
mov byte [esp + 0x1c], 5
mov dword [esi + 0x404], ebx
mov dword [esi + 0x41c], edx
mov dword [esi + 0x420], eax
mov dword [esi + 0x424], ebp
mov dword [esi + 0x428], ebp
call sub.MFC42u.DLL_CString::CString_5
lea ecx, [esi + 0x430]
mov byte [esp + 0x1c], 6
call sub.MFC42u.DLL_CString::CString_5
or edi, 0xffffffff
lea ecx, [esi + 0x448]
push edi
push 0xfffe
mov byte [esp + 0x24], 7
mov dword [esi + 0x434], ebp
mov dword [esi + 0x438], 0x64
mov dword [esi + 0x43c], ebp
mov dword [esi + 0x440], 0xfffe
mov dword [esi + 0x444], ebp
call fcn.0058acb0
lea ecx, [esi + 0x474]
call sub.MFC42u.DLL_CString::CString_5
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x1c], 8
push ecx
mov dword [esi + 0x488], ebp
mov dword [esi + 0x484], edi
mov dword [esi + 0x480], edi
mov dword [esi + 0x47c], edi
mov dword [esi + 0x478], edi
push ebx
lea ecx, [esi + 0x48c]
call fcn.005c84a0
push ebx
lea ecx, [esi + 0x4a0]
call fcn.00669230
mov edx, dword [esp + 0x40]
lea ecx, [esi + 0x4a4]
push edx
push ebx
call fcn.005ccd30
lea ecx, [esi + 0x4d4]
mov dword [esi + 0x4b0], edi
mov dword [esi + 0x4b4], edi
mov dword [esi + 0x4b8], edi
mov dword [esi + 0x4bc], edi
mov dword [esi + 0x4c0], edi
mov dword [esi + 0x4c4], edi
mov dword [esi + 0x4c8], edi
mov dword [esi + 0x4cc], edi
mov dword [esi + 0x4d0], edi
call fcn.006089e4
mov dword [esi + 0x4ec], ebp
mov dword [esi + 0x4f0], 0x11
mov dword [esi + 0x4f4], ebp
mov dword [esi + 0x4f8], ebp
mov dword [esi + 0x4fc], ebp
mov dword [esi + 0x500], 0xa
mov dword [esi + 0x4e8], 0x6acfe0
mov eax, vtable.CBrush.0
mov dword [esi + 0x504], edi
mov dword [esi + 0x50c], ebp
mov dword [esi + 0x508], eax
mov dword [esi + 0x514], ebp
mov dword [esi + 0x510], eax
lea ecx, [esi + 0x518]
mov byte [esp + 0x1c], 0xc
call fcn.00646930
lea ecx, [esi + 0x544]
mov byte [esp + 0x1c], 0xd
call fcn.00429480
lea ecx, [esi + 0x54c]
mov byte [esp + 0x1c], 0xe
call fcn.00429480
push ebp
lea ecx, [esi + 0x554]
mov byte [esp + 0x20], 0xf
call fcn.00443a80
mov eax, 1
mov dword [esi + 0x580], ebp
mov dword [esi + 0x584], eax
mov dword [esi + 0x588], eax
mov dword [esi], vtable.CTDLTaskCtrlBase.2.0
mov dword [esi + 0x40], vtable.CTDLTaskCtrlBase.1.0
mov dword [esi + 0x58], vtable.CTDLTaskCtrlBase.0
mov eax, dword [0x75a7a4]
cmp eax, ebp
mov byte [esp + 0x1c], 0x10
jne 0x527259
mov dword [esp + 0x40], 0x6acbc0
mov eax, dword [esp + 0x40]
mov ecx, dword [0x75a7a0]
xor edx, edx
mov ebx, dword [eax]
mov eax, ebx
mov dword [esp + 0x28], ebx
shr eax, 4
div ecx
mov eax, dword [0x75a79c]
cmp eax, ebp
mov edi, edx
mov dword [esp + 0x2c], edi
je 0x52717a
mov eax, dword [eax + edi*4]
cmp eax, ebp
je 0x5271b6
cmp dword [eax + 8], ebx
je 0x527170
mov eax, dword [eax]
cmp eax, ebp
jne 0x527163
jmp 0x5271b6
cmp eax, ebp
jne 0x52723d
jmp 0x5271b6
mov ebx, ecx
lea edi, [ebx*4]
push edi
call sub.MFC42u.DLL_operatornew
mov edx, eax
mov ecx, edi
mov dword [0x75a79c], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x2c]
mov dword [0x75a7a0], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [0x75a7a8]
cmp eax, ebp
jne 0x527208
mov eax, dword [0x75a7b0]
push 0x10
push eax
push 0x75a7ac
call sub.MFC42u.DLL_CPlex::Create
mov edx, dword [0x75a7b0]
add eax, 4
mov ecx, edx
shl ecx, 4
lea ecx, [eax + ecx - 0x10]
lea eax, [edx - 1]
cmp eax, ebp
jl 0x527203
lea edx, [eax + 1]
mov eax, dword [0x75a7a8]
mov dword [ecx], eax
mov eax, ecx
sub ecx, 0x10
dec edx
mov dword [0x75a7a8], eax
jne 0x5271f2
jmp 0x527208
mov eax, dword [0x75a7a8]
mov ecx, dword [0x75a7a4]
mov edx, dword [eax]
inc ecx
mov dword [0x75a7a8], edx
mov dword [0x75a7a4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov ecx, dword [0x75a79c]
mov edx, dword [ecx + edi*4]
mov dword [eax], edx
mov ecx, dword [0x75a79c]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x40]
mov dword [eax + 0xc], ecx
mov edx, ecx
sub ecx, 0x1c
cmp edx, 0x6ac798
mov dword [esp + 0x40], ecx
jne 0x527134
mov ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x20