Function at 0x4d09a0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
test dl, dl
je 0x4d09cf
add esp, 0xfffffff0
call fcn.004063e4
mov byte [ebp - 0xa], cl
mov byte [ebp - 9], dl
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4d1371
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x4d1337
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
add eax, 4
call fcn.00407a60
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x20], edx
call fcn.00479fe8
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x30], ebx
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, ebx
mov ecx, 0x4d13a8
mov edx, 0x4d13c4
call fcn.0045db14
mov eax, dword [ebp - 0x1c]
mov edx, 0x4d13e0
call fcn.00408c3c
sete byte [ebp - 0x11]
push 0
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d13f0
mov edx, 0x4d13c4
call fcn.0045db14
mov eax, dword [ebp - 0x20]
mov edx, 0x4d13e0
call fcn.00408c3c
sete byte [ebp - 0x12]
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d1408
mov edx, 0x4d13c4
call fcn.0045db14
mov eax, dword [ebp - 0x24]
mov edx, 0x4d13e0
call fcn.00408c3c
sete byte [ebp - 0x13]
mov eax, dword [ebp - 8]
call fcn.004d19f0
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x4d0acd
mov eax, dword [ebp - 8]
add eax, 4
mov edx, 0x4d1420
call fcn.00407e40
lea ecx, [ebp - 0x28]
mov edx, 0x4d144c
mov eax, 0x4d1498
call fcn.0047b4f0
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.0048949c
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], ebx
xor edx, edx
push ebp
push 0x4d1326
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
mov edx, 0x80c80000
call fcn.0048b890
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x433]
or edx, 8
call fcn.0048b8dc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
mov dword [eax + 0x5db], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x452], edx
mov dword [eax + 0x44e], 0x4d2140
mov edx, 0xffffff
call fcn.0048c6d0
call fcn.0048f328
cmp al, 7
jb 0x4d0b7f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ce94
mov edx, 0x4d14bc
call fcn.004879ac
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ce94
mov edx, 9
call fcn.00487930
jmp 0x4d0ba9
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ce94
mov edx, 0x4d14dc
call fcn.004879ac
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ce94
mov edx, 8
call fcn.00487930
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0x1e0
call fcn.0048d01c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0xc9
call fcn.0048cff0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048d130
mov cl, 7
mov edx, 0x20
mov eax, 0x20
call fcn.0048d8d8
mov edx, dword [ebp - 8]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x4eb]
push eax
call sub.gdi32.dll_CreateSolidBrush
mov ebx, eax
push ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x10]
push eax
push 0
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.004873fc
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.0048dcf8
call fcn.0048807c
push eax
call sub.user32.dll_FillRect
push ebx
call sub.gdi32.dll_DeleteObject
push 0x7f02
push 0
call sub.user32.dll_LoadIconW
push eax
push 0
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.0048dcf8
call fcn.0048807c
push eax
call sub.user32.dll_DrawIcon
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.00489978
mov ebx, eax
mov ecx, 0x18
mov edx, 0x14
mov eax, ebx
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x10]
mov eax, ebx
call fcn.0048ca28
mov eax, dword [ebp - 8]
push eax
push 0x4d2100
mov eax, ebx
call fcn.0048ce24
mov eax, ebx
call fcn.0048c218
lea ecx, [ebp - 4]
mov edx, 0x4d14f8
mov eax, 0x4d159c
call fcn.0047b4f0
movzx eax, byte [0x4d15b8]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov edx, 0x4d15c8
mov eax, dword [ebp - 4]
call fcn.00424b6c
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 4]
call fcn.00407e88
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
call fcn.0048991c
mov ebx, eax
mov ecx, 0x18
mov edx, 0x3c
mov eax, ebx
call fcn.0048f3a8
mov ecx, 0x2d
mov edx, 0x17c
mov eax, ebx
call fcn.0048ca28
mov eax, ebx
call fcn.0048c218
lea ecx, [ebp - 4]
mov edx, 0x4d15e0
mov eax, 0x4d16d8
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.0048991c
mov esi, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x24], esi
mov ebx, esi
mov eax, esi
mov ecx, 0x46
mov edx, 0x3c
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov ecx, 0x2d
mov edx, 0x17c
call fcn.0048ca28
mov eax, dword [ebp - 8]
push eax
push 0x4d23d0
mov eax, ebx
call fcn.0048ce24
mov eax, dword [ebp - 8]
push eax
push 0x4d23e8
mov eax, ebx
call fcn.0048b878
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x4d247c
mov eax, ebx
call fcn.0048f724
mov dl, 1
mov eax, dword [0x4a88a8]
call fcn.004aaf28
mov edx, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
call fcn.0048c644
mov edx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 8]
mov dword [eax + 0x34], edx
mov dword [eax + 0x30], 0x4d2244
mov edx, dword [ebp - 8]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], 0x4d22cc
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx]
xor ebx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.004899cc
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x14]
mov ecx, 0x4e
mov edx, 0x3c
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048cfd4
push eax
mov eax, esi
call fcn.0048c5ac
pop edx
sub edx, eax
mov ecx, 0x64
mov eax, esi
call fcn.0048ca28
mov eax, esi
call fcn.0048c260
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048979c
mov esi, eax
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048c644
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048ca28
mov dl, 1
mov eax, esi
call fcn.0048d29c
xor edx, edx
mov eax, esi
call fcn.0048aaf0
mov eax, esi
call fcn.0048c218
add ebx, 0x17
cmp byte [ebp - 0xa], 0
je 0x4d0f16
lea ecx, [ebp - 4]
mov edx, 0x4d16fc
mov eax, 0x4d1764
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048979c
mov edx, dword [ebp - 8]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x20]
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048c644
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048ca28
mov dl, 1
mov eax, esi
call fcn.0048d29c
mov eax, esi
call fcn.0048c218
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp dword [eax + 0x34], 0
je 0x4d0fe8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x4d0fe8
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x34]
mov edi, dword [ebp - 0x10]
mov edx, edi
mov eax, esi
call fcn.00440ec0
mov edi, eax
movzx eax, byte [edi + 0x10]
xor al, 1
or al, byte [ebp - 0x12]
je 0x4d0fdc
mov edx, dword [edi + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048979c
mov esi, eax
mov dword [edi + 8], esi
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048c644
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048ca28
mov dl, 1
mov eax, esi
call fcn.0048aaf0
cmp byte [edi + 0x10], 0
je 0x4d0fb7
xor edx, edx
mov eax, esi
call fcn.0048d29c
mov byte [esi + 0x409], 1
jmp 0x4d0fc9
movzx edx, byte [ebp - 0x13]
mov eax, esi
call fcn.0048d29c
mov byte [esi + 0x409], 0
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x40a], eax
mov eax, esi
call fcn.0048c218
add ebx, 0x17
inc dword [ebp - 0x10]
dec dword [ebp - 0x18]
jne 0x4d0f40
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 0
je 0x4d108a
lea ecx, [ebp - 4]
mov edx, 0x4d1798
mov eax, 0x4d180c
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048979c
mov edx, dword [ebp - 8]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x18]
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048c644
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048ca28
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d183c
mov edx, 0x4d13c4
call fcn.0045db14
mov eax, dword [ebp - 0x40]
mov edx, 0x4d13e0
call fcn.00408c3c
sete dl
mov eax, esi
call fcn.0048d29c
mov dl, 1
mov eax, esi
call fcn.0048aaf0
mov eax, esi
call fcn.0048c218
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
je 0x4d112c
lea ecx, [ebp - 4]
mov edx, 0x4d1854
mov eax, 0x4d18bc
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048979c
mov edx, dword [ebp - 8]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x1c]
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048c644
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048ca28
push 0
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d18f0
mov edx, 0x4d13c4
call fcn.0045db14
mov eax, dword [ebp - 0x44]
mov edx, 0x4d13e0
call fcn.00408c3c
sete dl
mov eax, esi
call fcn.0048d29c
mov dl, 1
mov eax, esi
call fcn.0048aaf0
mov eax, esi
call fcn.0048c218
add ebx, 0x17
lea edx, [ebx + 5]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048c6a4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.004899cc
mov edx, dword [ebp - 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048cfd4
mov edx, eax
mov ecx, 0x2e
mov eax, ebx
call fcn.0048ca28
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048cfb8
push eax
mov eax, ebx
call fcn.0048c688
pop ecx
sub ecx, eax
xor edx, edx
mov eax, ebx
call fcn.0048f3a8
push 0xf
call sub.user32.dll_GetSysColor
mov edx, eax
mov eax, ebx
call fcn.0048c6d0
mov eax, ebx
call fcn.0048c218
lea ecx, [ebp - 4]
mov edx, 0x4d1908
mov eax, 0x4d1938
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.004898a4
mov ebx, eax
mov ecx, 0xf
mov edx, 0x14
mov eax, ebx
call fcn.0048f3a8
mov eax, ebx
call fcn.0048ce94
movzx edx, byte [0x4d1954]
call fcn.004879d4
mov eax, ebx
call fcn.0048ce94
mov edx, 0xff0000
call fcn.00487920
mov dl, 1
mov eax, ebx
call fcn.0048f2e4
push 0x7f89
push 0
call sub.user32.dll_LoadCursorW
mov edx, eax
mov eax, ebx
call fcn.0048b928
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x4d2174
mov eax, ebx
call fcn.0048c218
lea ecx, [ebp - 4]
mov edx, 0x4d1964
mov eax, 0x4d1964
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.00489710
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.0048ca28
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048c644
mov edx, eax
sub edx, 0x6a
mov ecx, 0xa
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x4d2164
mov eax, esi
call fcn.0048c218
lea ecx, [ebp - 4]
mov edx, 0x4d1978
mov eax, 0x4d1978
call fcn.0047b4f0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.00489710
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.0048ca28
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048c644
mov edx, eax
sub edx, 0xce
mov ecx, 0xa
mov eax, esi
call fcn.0048f3a8
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x4d2154
mov eax, esi
call fcn.0048c218
cmp byte [ebp - 0x11], 0
je 0x4d1318
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.004d2174
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d132d
ret