Function at 0x45b7fc
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
mov dword [ebp - 4], eax
mov dl, 1
mov eax, dword [0x4de7d8]
call fcn.004beb44
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x45baf7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 8]
call fcn.004e23d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x35], 0
jne 0x45b842
mov eax, dword [ebp - 4]
cmp byte [eax + 0x39], 0
je 0x45b85d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [eax + 0x74]
mov ecx, 0x3c
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_NewColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov dword [ebp - 0x10], eax
jmp 0x45b883
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x170]
call fcn.004be9ec
mov edx, eax
mov ecx, 0x3c
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_GetShadeColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x35], 0
je 0x45b8a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [eax + 0x74]
mov ecx, 0x5a
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_NewColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov dword [ebp - 0xc], eax
jmp 0x45b8cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x170]
call fcn.004be9ec
mov edx, eax
mov ecx, 0x64
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_NewColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x39], 0
je 0x45b8ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [eax + 0x74]
mov ecx, 0x5a
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_NewColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x44]
push 0xfffffffffffffffc
push 0
lea eax, [ebp - 0x20]
push eax
call fcn.00538266
push 0xa
call fcn.00538224
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x1c]
sub edx, eax
sar edx, 1
jns 0x45b920
adc edx, 0
add dword [ebp - 0x1c], edx
push 0xa
call fcn.00538224
add eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x5f], 1
jne 0x45b94c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x210], 1
je 0x45b967
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x5f], 0
jne 0x45b979
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x210], 0
jne 0x45b979
push 0xa
call fcn.00538224
mov edx, dword [ebp - 0x18]
sub edx, eax
inc edx
mov dword [ebp - 0x20], edx
jmp 0x45b9bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x5f], 0
jne 0x45b994
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x210], 1
je 0x45b9af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x5f], 1
jne 0x45b9bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x210], 0
jne 0x45b9bd
push 0xa
call fcn.00538224
add eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004be9f4
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.004bf0e8
push 0xfffffffffffffffd
push 0xfffffffffffffffd
lea eax, [ebp - 0x20]
push eax
call fcn.00538266
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0xc]
call fcn.004be9f4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x10]
call fcn.004be6f4
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
push 8
push 8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.004bf304
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x45bae1
push 0xfffffffffffffffd
push 0xfffffffffffffffd
lea eax, [ebp - 0x20]
push eax
call fcn.00538266
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x45ba83
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x170]
call fcn.004be9ec
mov edx, eax
mov ecx, 0x64
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_GetShadeColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov edx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004be9f4
jmp 0x45bab3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x170]
call fcn.004be9ec
mov edx, eax
mov ecx, 0x32
mov eax, dword [ebp - 8]
call sym.DWL2Main.exe__Mycontrol_GetShadeColor_qqrp16Graphics_TCanvas15Graphics_TColori
mov edx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004be9f4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x14]
call fcn.004be9ec
mov edx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
call fcn.004be6f4
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.004bf08c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45bafe
mov eax, dword [ebp - 8]
call fcn.00493d90
ret