Function at 0x4d75ac
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 0x4d75db
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 0x4d7f8c
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x4d7f52
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.0047b7e8
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, 0x4d7fc4
mov edx, 0x4d7fe0
mov ebx, dword [eax]
call dword [ebx + 0x8c]
mov eax, dword [ebp - 0x1c]
mov edx, 0x4d7ffc
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, 0x4d800c
mov edx, 0x4d7fe0
mov ebx, dword [eax]
call dword [ebx + 0x8c]
mov eax, dword [ebp - 0x20]
mov edx, 0x4d7ffc
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, 0x4d8024
mov edx, 0x4d7fe0
mov ebx, dword [eax]
call dword [ebx + 0x8c]
mov eax, dword [ebp - 0x24]
mov edx, 0x4d7ffc
call fcn.00408c88
sete byte [ebp - 0x13]
mov eax, dword [ebp - 8]
call fcn.004d8608
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x4d76e2
mov eax, dword [ebp - 8]
add eax, 4
mov edx, 0x4d803c
call fcn.00407e40
lea ecx, [ebp - 0x28]
mov edx, 0x4d8064
mov eax, 0x4d80b0
call fcn.0047cd3c
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.0048aef0
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], ebx
xor edx, edx
push ebp
push 0x4d7f41
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
mov edx, 0x80c80000
call fcn.0048d2e4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x433]
or edx, 8
call fcn.0048d330
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], 0x4d8d9c
mov edx, 0xffffff
call fcn.0048e124
call fcn.00490d00
cmp al, 7
jb 0x4d7794
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e8e8
mov edx, 0x4d80d4
call fcn.00489400
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e8e8
mov edx, 9
call fcn.00489384
jmp 0x4d77be
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e8e8
mov edx, 0x4d80f4
call fcn.00489400
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e8e8
mov edx, 8
call fcn.00489384
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0x1e0
call fcn.0048ea70
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0xc9
call fcn.0048ea44
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048eb84
mov cl, 7
mov edx, 0x20
mov eax, 0x20
call fcn.0048f32c
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.00488e50
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.0048f74c
call fcn.00489ad0
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.0048f74c
call fcn.00489ad0
push eax
call sub.user32.dll_DrawIcon
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048b3cc
mov ebx, eax
mov ecx, 0x18
mov edx, 0x14
mov eax, ebx
call fcn.00490d80
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.0048e47c
mov eax, dword [ebp - 8]
push eax
push 0x4d8d5c
mov eax, ebx
call fcn.0048e878
mov eax, ebx
call fcn.0048dc6c
lea ecx, [ebp - 4]
mov edx, 0x4d8110
mov eax, 0x4d81b4
call fcn.0047cd3c
movzx eax, byte [0x4d81d0]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov edx, 0x4d81e0
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.0048b370
mov ebx, eax
mov ecx, 0x18
mov edx, 0x3c
mov eax, ebx
call fcn.00490d80
mov ecx, 0x2d
mov edx, 0x17c
mov eax, ebx
call fcn.0048e47c
mov eax, ebx
call fcn.0048dc6c
lea ecx, [ebp - 4]
mov edx, 0x4d81f8
mov eax, 0x4d82f0
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.0048b370
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.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov ecx, 0x2d
mov edx, 0x17c
call fcn.0048e47c
mov eax, dword [ebp - 8]
push eax
push 0x4d902c
mov eax, ebx
call fcn.0048e878
mov eax, dword [ebp - 8]
push eax
push 0x4d9044
mov eax, ebx
call fcn.0048d2cc
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x4d90d8
mov eax, ebx
call fcn.004910fc
mov dl, 1
mov eax, dword [0x4ac1c0]
call fcn.004ae850
mov edx, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
call fcn.0048e098
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], 0x4d8ea0
mov edx, dword [ebp - 8]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], 0x4d8f28
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.0048b420
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.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ea28
push eax
mov eax, esi
call fcn.0048e000
pop edx
sub edx, eax
mov ecx, 0x64
mov eax, esi
call fcn.0048e47c
mov eax, esi
call fcn.0048dcb4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048b1f0
mov esi, eax
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e098
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e47c
mov dl, 1
mov eax, esi
call fcn.0048ecf0
xor edx, edx
mov eax, esi
call fcn.0048c544
mov eax, esi
call fcn.0048dc6c
add ebx, 0x17
cmp byte [ebp - 0xa], 0
je 0x4d7b2b
lea ecx, [ebp - 4]
mov edx, 0x4d8314
mov eax, 0x4d837c
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048b1f0
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.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e098
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e47c
mov dl, 1
mov eax, esi
call fcn.0048ecf0
mov eax, esi
call fcn.0048dc6c
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp dword [eax + 0x34], 0
je 0x4d7bfd
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x4d7bfd
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.004414dc
mov edi, eax
movzx eax, byte [edi + 0x10]
xor al, 1
or al, byte [ebp - 0x12]
je 0x4d7bf1
mov edx, dword [edi + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048b1f0
mov esi, eax
mov dword [edi + 8], esi
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e098
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e47c
mov dl, 1
mov eax, esi
call fcn.0048c544
cmp byte [edi + 0x10], 0
je 0x4d7bcc
xor edx, edx
mov eax, esi
call fcn.0048ecf0
mov byte [esi + 0x409], 1
jmp 0x4d7bde
movzx edx, byte [ebp - 0x13]
mov eax, esi
call fcn.0048ecf0
mov byte [esi + 0x409], 0
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x40a], eax
mov eax, esi
call fcn.0048dc6c
add ebx, 0x17
inc dword [ebp - 0x10]
dec dword [ebp - 0x18]
jne 0x4d7b55
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 0
je 0x4d7ca2
lea ecx, [ebp - 4]
mov edx, 0x4d83b0
mov eax, 0x4d8424
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048b1f0
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.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e098
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e47c
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d8454
mov edx, 0x4d7fe0
mov edi, dword [eax]
call dword [edi + 0x8c]
mov eax, dword [ebp - 0x40]
mov edx, 0x4d7ffc
call fcn.00408c88
sete dl
mov eax, esi
call fcn.0048ecf0
mov dl, 1
mov eax, esi
call fcn.0048c544
mov eax, esi
call fcn.0048dc6c
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
je 0x4d7d47
lea ecx, [ebp - 4]
mov edx, 0x4d846c
mov eax, 0x4d84d4
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.0048b1f0
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.00490d80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e098
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.0048e47c
push 0
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x4d8508
mov edx, 0x4d7fe0
mov edi, dword [eax]
call dword [edi + 0x8c]
mov eax, dword [ebp - 0x44]
mov edx, 0x4d7ffc
call fcn.00408c88
sete dl
mov eax, esi
call fcn.0048ecf0
mov dl, 1
mov eax, esi
call fcn.0048c544
mov eax, esi
call fcn.0048dc6c
add ebx, 0x17
lea edx, [ebx + 5]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.0048e0f8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.0048b420
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.0048ea28
mov edx, eax
mov ecx, 0x2e
mov eax, ebx
call fcn.0048e47c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048ea0c
push eax
mov eax, ebx
call fcn.0048e0dc
pop ecx
sub ecx, eax
xor edx, edx
mov eax, ebx
call fcn.00490d80
push 0xf
call sub.user32.dll_GetSysColor
mov edx, eax
mov eax, ebx
call fcn.0048e124
mov eax, ebx
call fcn.0048dc6c
lea ecx, [ebp - 4]
mov edx, 0x4d8520
mov eax, 0x4d8550
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.0048b2f8
mov ebx, eax
mov ecx, 0xf
mov edx, 0x14
mov eax, ebx
call fcn.00490d80
mov eax, ebx
call fcn.0048e8e8
movzx edx, byte [0x4d856c]
call fcn.00489428
mov eax, ebx
call fcn.0048e8e8
mov edx, 0xff0000
call fcn.00489374
mov dl, 1
mov eax, ebx
call fcn.00490cbc
push 0x7f89
push 0
call sub.user32.dll_LoadCursorW
mov edx, eax
mov eax, ebx
call fcn.0048d37c
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x4d8dd0
mov eax, ebx
call fcn.0048dc6c
lea ecx, [ebp - 4]
mov edx, 0x4d857c
mov eax, 0x4d857c
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.0048b164
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.0048e47c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e098
mov edx, eax
sub edx, 0x6a
mov ecx, 0xa
mov eax, esi
call fcn.00490d80
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x4d8dc0
mov eax, esi
call fcn.0048dc6c
lea ecx, [ebp - 4]
mov edx, 0x4d8590
mov eax, 0x4d8590
call fcn.0047cd3c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.0048b164
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.0048e47c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.0048e098
mov edx, eax
sub edx, 0xce
mov ecx, 0xa
mov eax, esi
call fcn.00490d80
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x4d8db0
mov eax, esi
call fcn.0048dc6c
cmp byte [ebp - 0x11], 0
je 0x4d7f33
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.004d8dd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d7f48
ret