Function at 0x4d7884
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 0x4d78b3
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 0x4d8264
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x4d822a
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.0047b7ec
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, 0x4d829c
mov edx, 0x4d82b8
mov ebx, dword [eax]
call dword [ebx + 0x8c]
mov eax, dword [ebp - 0x1c]
mov edx, 0x4d82d4
call fcn.00408c88
sete byte [ebp - 0x11]
push 0
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d82e4
mov edx, 0x4d82b8
mov ebx, dword [eax]
call dword [ebx + 0x8c]
mov eax, dword [ebp - 0x20]
mov edx, 0x4d82d4
call fcn.00408c88
sete byte [ebp - 0x12]
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d82fc
mov edx, 0x4d82b8
mov ebx, dword [eax]
call dword [ebx + 0x8c]
mov eax, dword [ebp - 0x24]
mov edx, 0x4d82d4
call fcn.00408c88
sete byte [ebp - 0x13]
mov eax, dword [ebp - 8]
call fcn.004d88e0
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x4d79ba
mov eax, dword [ebp - 8]
add eax, 4
mov edx, 0x4d8314
call fcn.00407e40
lea ecx, [ebp - 0x28]
mov edx, 0x4d833c
mov eax, 0x4d8388
call fcn.0047d00c
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.0048b1c0
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], ebx
xor edx, edx
push ebp
push 0x4d8219
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
mov edx, 0x80c80000
call fcn.0048d5b4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x433]
or edx, 8
call fcn.0048d600
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], 0x4d9074
mov edx, 0xffffff
call fcn.0048e3f4
call fcn.00490fd0
cmp al, 7
jb 0x4d7a6c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ebb8
mov edx, 0x4d83ac
call fcn.004896d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ebb8
mov edx, 9
call fcn.00489654
jmp 0x4d7a96
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ebb8
mov edx, 0x4d83cc
call fcn.004896d0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ebb8
mov edx, 8
call fcn.00489654
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0x1e0
call fcn.0048ed40
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0xc9
call fcn.0048ed14
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ee54
mov cl, 7
mov edx, 0x20
mov eax, 0x20
call fcn.0048f5fc
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.00489120
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.0048fa1c
call fcn.00489da0
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.0048fa1c
call fcn.00489da0
push eax
call sub.user32.dll_DrawIcon
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048b69c
mov ebx, eax
mov ecx, 0x18
mov edx, 0x14
mov eax, ebx
call fcn.00491050
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.0048e74c
mov eax, dword [ebp - 8]
push eax
push 0x4d9034
mov eax, ebx
call fcn.0048eb48
mov eax, ebx
call fcn.0048df3c
lea ecx, [ebp - 4]
mov edx, 0x4d83e8
mov eax, 0x4d848c
call fcn.0047d00c
movzx eax, byte [0x4d84a8]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov edx, 0x4d84b8
mov eax, dword [ebp - 4]
call fcn.00424ccc
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.0048b640
mov ebx, eax
mov ecx, 0x18
mov edx, 0x3c
mov eax, ebx
call fcn.00491050
mov ecx, 0x2d
mov edx, 0x17c
mov eax, ebx
call fcn.0048e74c
mov eax, ebx
call fcn.0048df3c
lea ecx, [ebp - 4]
mov edx, 0x4d84d0
mov eax, 0x4d85c8
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.0048b640
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.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov ecx, 0x2d
mov edx, 0x17c
call fcn.0048e74c
mov eax, dword [ebp - 8]
push eax
push 0x4d9304
mov eax, ebx
call fcn.0048eb48
mov eax, dword [ebp - 8]
push eax
push 0x4d931c
mov eax, ebx
call fcn.0048d59c
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x4d93b0
mov eax, ebx
call fcn.004913cc
mov dl, 1
mov eax, dword [0x4ac498]
call fcn.004aeb28
mov edx, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
call fcn.0048e368
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], 0x4d9178
mov edx, dword [ebp - 8]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], 0x4d9200
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.0048b6f0
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.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ecf8
push eax
mov eax, esi
call fcn.0048e2d0
pop edx
sub edx, eax
mov ecx, 0x64
mov eax, esi
call fcn.0048e74c
mov eax, esi
call fcn.0048df84
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048b4c0
mov esi, eax
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e368
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e74c
mov dl, 1
mov eax, esi
call fcn.0048efc0
xor edx, edx
mov eax, esi
call fcn.0048c814
mov eax, esi
call fcn.0048df3c
add ebx, 0x17
cmp byte [ebp - 0xa], 0
je 0x4d7e03
lea ecx, [ebp - 4]
mov edx, 0x4d85ec
mov eax, 0x4d8654
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048b4c0
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.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e368
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e74c
mov dl, 1
mov eax, esi
call fcn.0048efc0
mov eax, esi
call fcn.0048df3c
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp dword [eax + 0x34], 0
je 0x4d7ed5
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x4d7ed5
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.004414e0
mov edi, eax
movzx eax, byte [edi + 0x10]
xor al, 1
or al, byte [ebp - 0x12]
je 0x4d7ec9
mov edx, dword [edi + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048b4c0
mov esi, eax
mov dword [edi + 8], esi
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e368
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e74c
mov dl, 1
mov eax, esi
call fcn.0048c814
cmp byte [edi + 0x10], 0
je 0x4d7ea4
xor edx, edx
mov eax, esi
call fcn.0048efc0
mov byte [esi + 0x409], 1
jmp 0x4d7eb6
movzx edx, byte [ebp - 0x13]
mov eax, esi
call fcn.0048efc0
mov byte [esi + 0x409], 0
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x40a], eax
mov eax, esi
call fcn.0048df3c
add ebx, 0x17
inc dword [ebp - 0x10]
dec dword [ebp - 0x18]
jne 0x4d7e2d
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 0
je 0x4d7f7a
lea ecx, [ebp - 4]
mov edx, 0x4d8688
mov eax, 0x4d86fc
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048b4c0
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.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e368
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e74c
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d872c
mov edx, 0x4d82b8
mov edi, dword [eax]
call dword [edi + 0x8c]
mov eax, dword [ebp - 0x40]
mov edx, 0x4d82d4
call fcn.00408c88
sete dl
mov eax, esi
call fcn.0048efc0
mov dl, 1
mov eax, esi
call fcn.0048c814
mov eax, esi
call fcn.0048df3c
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
je 0x4d801f
lea ecx, [ebp - 4]
mov edx, 0x4d8744
mov eax, 0x4d87ac
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048b4c0
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.00491050
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e368
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e74c
push 0
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d87e0
mov edx, 0x4d82b8
mov edi, dword [eax]
call dword [edi + 0x8c]
mov eax, dword [ebp - 0x44]
mov edx, 0x4d82d4
call fcn.00408c88
sete dl
mov eax, esi
call fcn.0048efc0
mov dl, 1
mov eax, esi
call fcn.0048c814
mov eax, esi
call fcn.0048df3c
add ebx, 0x17
lea edx, [ebx + 5]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e3c8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.0048b6f0
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.0048ecf8
mov edx, eax
mov ecx, 0x2e
mov eax, ebx
call fcn.0048e74c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ecdc
push eax
mov eax, ebx
call fcn.0048e3ac
pop ecx
sub ecx, eax
xor edx, edx
mov eax, ebx
call fcn.00491050
push 0xf
call sub.user32.dll_GetSysColor
mov edx, eax
mov eax, ebx
call fcn.0048e3f4
mov eax, ebx
call fcn.0048df3c
lea ecx, [ebp - 4]
mov edx, 0x4d87f8
mov eax, 0x4d8828
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.0048b5c8
mov ebx, eax
mov ecx, 0xf
mov edx, 0x14
mov eax, ebx
call fcn.00491050
mov eax, ebx
call fcn.0048ebb8
movzx edx, byte [0x4d8844]
call fcn.004896f8
mov eax, ebx
call fcn.0048ebb8
mov edx, 0xff0000
call fcn.00489644
mov dl, 1
mov eax, ebx
call fcn.00490f8c
push 0x7f89
push 0
call sub.user32.dll_LoadCursorW
mov edx, eax
mov eax, ebx
call fcn.0048d64c
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x4d90a8
mov eax, ebx
call fcn.0048df3c
lea ecx, [ebp - 4]
mov edx, 0x4d8854
mov eax, 0x4d8854
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.0048b434
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.0048e74c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e368
mov edx, eax
sub edx, 0x6a
mov ecx, 0xa
mov eax, esi
call fcn.00491050
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x4d9098
mov eax, esi
call fcn.0048df3c
lea ecx, [ebp - 4]
mov edx, 0x4d8868
mov eax, 0x4d8868
call fcn.0047d00c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.0048b434
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.0048e74c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e368
mov edx, eax
sub edx, 0xce
mov ecx, 0xa
mov eax, esi
call fcn.00491050
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x4d9088
mov eax, esi
call fcn.0048df3c
cmp byte [ebp - 0x11], 0
je 0x4d820b
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.004d90a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d8220
ret