Function at 0x5239e8
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 0x523a17
add esp, 0xfffffff0
call fcn.004065b4
mov byte [ebp - 0xa], cl
mov byte [ebp - 9], dl
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x5243b9
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x52437f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
add eax, 4
call fcn.00407c30
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.0048dbfc
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, 0x5243f0
mov edx, 0x52440c
call fcn.00468d58
mov eax, dword [ebp - 0x1c]
mov edx, 0x524428
call fcn.00408eb8
sete byte [ebp - 0x11]
push 0
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x524438
mov edx, 0x52440c
call fcn.00468d58
mov eax, dword [ebp - 0x20]
mov edx, 0x524428
call fcn.00408eb8
sete byte [ebp - 0x12]
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x524450
mov edx, 0x52440c
call fcn.00468d58
mov eax, dword [ebp - 0x24]
mov edx, 0x524428
call fcn.00408eb8
sete byte [ebp - 0x13]
mov eax, dword [ebp - 8]
call fcn.00524a34
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x523b15
mov eax, dword [ebp - 8]
add eax, 4
mov edx, 0x524468
call fcn.00408010
lea ecx, [ebp - 0x28]
mov edx, 0x524490
mov eax, 0x5244dc
call fcn.0048f0ec
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.004b5fac
mov ebx, eax
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], ebx
xor edx, edx
push ebp
push 0x52436e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, ebx
mov edx, 0x80c80000
call fcn.004b8ca8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x433]
or edx, 8
call fcn.004b8cf4
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], 0x525184
mov edx, 0xffffff
call fcn.004ba310
call fcn.004c5900
cmp al, 7
jb 0x523bc7
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004baf68
mov edx, 0x524500
call fcn.004b20bc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004baf68
mov edx, 9
call fcn.004b1fc4
jmp 0x523bf1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004baf68
mov edx, 0x524520
call fcn.004b20bc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004baf68
mov edx, 8
call fcn.004b1fc4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0x1e0
call fcn.004bb1e4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, 0xc9
call fcn.004bb1b8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004bb3ac
mov cl, 7
mov edx, 0x20
mov eax, 0x20
call fcn.004be750
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.004b170c
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2c]
call fcn.004bf360
call fcn.004b326c
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.004bf360
call fcn.004b326c
push eax
call sub.user32.dll_DrawIcon
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b64d0
mov ebx, eax
mov ecx, 0x18
mov edx, 0x14
mov eax, ebx
call fcn.004c5a64
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.004ba8d4
mov eax, dword [ebp - 8]
push eax
push 0x525144
mov eax, ebx
call fcn.004bad10
mov eax, ebx
call fcn.004b986c
lea ecx, [ebp - 4]
mov edx, 0x52453c
mov eax, 0x5245e0
call fcn.0048f0ec
movzx eax, byte [0x5245fc]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov edx, 0x52460c
mov eax, dword [ebp - 4]
call fcn.00426bcc
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 4]
call fcn.00408058
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
call fcn.004b6474
mov ebx, eax
mov ecx, 0x18
mov edx, 0x3c
mov eax, ebx
call fcn.004c5a64
mov ecx, 0x2d
mov edx, 0x17c
mov eax, ebx
call fcn.004ba8d4
mov eax, ebx
call fcn.004b986c
lea ecx, [ebp - 4]
mov edx, 0x524624
mov eax, 0x52471c
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.004b6474
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.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov ecx, 0x2d
mov edx, 0x17c
call fcn.004ba8d4
mov eax, dword [ebp - 8]
push eax
push 0x525414
mov eax, ebx
call fcn.004bad10
mov eax, dword [ebp - 8]
push eax
push 0x52542c
mov eax, ebx
call fcn.004b8c20
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x5254c0
mov eax, ebx
call fcn.004c6cf4
mov dl, 1
mov eax, dword [0x4e7438]
call fcn.004e9ebc
mov edx, dword [ebp - 8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
call fcn.004b9fc0
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], 0x525288
mov edx, dword [ebp - 8]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], 0x525310
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.004b6524
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.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004bb19c
push eax
mov eax, esi
call fcn.004b9f28
pop edx
sub edx, eax
mov ecx, 0x64
mov eax, esi
call fcn.004ba8d4
mov eax, esi
call fcn.004b98b4
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b62f4
mov esi, eax
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b9fc0
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004ba8d4
mov dl, 1
mov eax, esi
call fcn.004bb758
xor edx, edx
mov eax, esi
call fcn.004b7818
mov eax, esi
call fcn.004b986c
add ebx, 0x17
cmp byte [ebp - 0xa], 0
je 0x523f5e
lea ecx, [ebp - 4]
mov edx, 0x524740
mov eax, 0x5247a8
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.004b62f4
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.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b9fc0
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004ba8d4
mov dl, 1
mov eax, esi
call fcn.004bb758
mov eax, esi
call fcn.004b986c
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp dword [eax + 0x34], 0
je 0x524030
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x524030
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.004448bc
mov edi, eax
movzx eax, byte [edi + 0x10]
xor al, 1
or al, byte [ebp - 0x12]
je 0x524024
mov edx, dword [edi + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b62f4
mov esi, eax
mov dword [edi + 8], esi
mov ecx, ebx
xor edx, edx
mov eax, esi
call fcn.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b9fc0
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004ba8d4
mov dl, 1
mov eax, esi
call fcn.004b7818
cmp byte [edi + 0x10], 0
je 0x523fff
xor edx, edx
mov eax, esi
call fcn.004bb758
mov byte [esi + 0x409], 1
jmp 0x524011
movzx edx, byte [ebp - 0x13]
mov eax, esi
call fcn.004bb758
mov byte [esi + 0x409], 0
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x40a], eax
mov eax, esi
call fcn.004b986c
add ebx, 0x17
inc dword [ebp - 0x10]
dec dword [ebp - 0x18]
jne 0x523f88
mov eax, dword [ebp - 8]
cmp byte [eax + 8], 0
je 0x5240d2
lea ecx, [ebp - 4]
mov edx, 0x5247dc
mov eax, 0x524850
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.004b62f4
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.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b9fc0
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004ba8d4
push 0
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x524880
mov edx, 0x52440c
call fcn.00468d58
mov eax, dword [ebp - 0x40]
mov edx, 0x524428
call fcn.00408eb8
sete dl
mov eax, esi
call fcn.004bb758
mov dl, 1
mov eax, esi
call fcn.004b7818
mov eax, esi
call fcn.004b986c
add ebx, 0x17
mov eax, dword [ebp - 8]
cmp byte [eax + 9], 0
je 0x524174
lea ecx, [ebp - 4]
mov edx, 0x524898
mov eax, 0x524900
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
call fcn.004b62f4
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.004c5a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004b9fc0
mov edx, eax
mov ecx, 0x11
mov eax, esi
call fcn.004ba8d4
push 0
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov ecx, 0x524934
mov edx, 0x52440c
call fcn.00468d58
mov eax, dword [ebp - 0x44]
mov edx, 0x524428
call fcn.00408eb8
sete dl
mov eax, esi
call fcn.004bb758
mov dl, 1
mov eax, esi
call fcn.004b7818
mov eax, esi
call fcn.004b986c
add ebx, 0x17
lea edx, [ebx + 5]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004ba020
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.004b6524
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.004bb19c
mov edx, eax
mov ecx, 0x2e
mov eax, ebx
call fcn.004ba8d4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004bb180
push eax
mov eax, ebx
call fcn.004ba004
pop ecx
sub ecx, eax
xor edx, edx
mov eax, ebx
call fcn.004c5a64
push 0xf
call sub.user32.dll_GetSysColor
mov edx, eax
mov eax, ebx
call fcn.004ba310
mov eax, ebx
call fcn.004b986c
lea ecx, [ebp - 4]
mov edx, 0x52494c
mov eax, 0x52497c
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.004b63fc
mov ebx, eax
mov ecx, 0xf
mov edx, 0x14
mov eax, ebx
call fcn.004c5a64
mov eax, ebx
call fcn.004baf68
movzx edx, byte [0x524998]
call fcn.004b22c8
mov eax, ebx
call fcn.004baf68
mov edx, 0xff0000
call fcn.004b1f1c
mov dl, 1
mov eax, ebx
call fcn.004c5574
push 0x7f89
push 0
call sub.user32.dll_LoadCursorW
mov edx, eax
mov eax, ebx
call fcn.004b8d40
mov eax, dword [ebp - 8]
mov dword [ebx + 0x474], eax
mov dword [ebx + 0x470], 0x5251b8
mov eax, ebx
call fcn.004b986c
lea ecx, [ebp - 4]
mov edx, 0x5249a8
mov eax, 0x5249a8
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.004b6220
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.004ba8d4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b9fc0
mov edx, eax
sub edx, 0x6a
mov ecx, 0xa
mov eax, esi
call fcn.004c5a64
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x5251a8
mov eax, esi
call fcn.004b986c
lea ecx, [ebp - 4]
mov edx, 0x5249bc
mov eax, 0x5249bc
call fcn.0048f0ec
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
call fcn.004b6220
mov esi, eax
mov ecx, 0x1a
mov edx, 0x5a
mov eax, esi
call fcn.004ba8d4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
call fcn.004b9fc0
mov edx, eax
sub edx, 0xce
mov ecx, 0xa
mov eax, esi
call fcn.004c5a64
mov eax, dword [ebp - 8]
mov dword [esi + 0x474], eax
mov dword [esi + 0x470], 0x525198
mov eax, esi
call fcn.004b986c
cmp byte [ebp - 0x11], 0
je 0x524360
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.005251b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x524375
ret