Function at 0x1002904e
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1009a9c8
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x10112038]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, dword [ebp + 8]
push edi
call sym.ASOHelper.dll_protected_virtual:_void___thiscall_CHoverButton::DrawItem_struct_tagDRAWITEMSTRUCT__
push dword [edi + 0x18]
call sub.mfc90u.dll_CDC::FromHandle
mov esi, eax
lea eax, [edi + 0x1c]
push eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x24], esi
call dword [sym.imp.USER32.dll_CopyRect]
cmp byte [ebx + 0x169], 0
mov byte [esp + 0x18], 0
je 0x100290bc
mov eax, dword [ebx + 0x16c]
mov dword [ebx + 0xe0], eax
mov eax, dword [ebx + 0x158]
cmp eax, 0xffffffff
je 0x100290da
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x15c]
mov dword [esp + 0x38], eax
mov byte [esp + 0x18], 1
cmp byte [ebx + 0x160], 0
je 0x100290f4
mov eax, dword [ebx + 0xc4]
inc eax
inc eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x18], 1
cmp byte [ebx + 0x161], 0
je 0x1002911a
mov eax, dword [ebx + 0xc4]
inc eax
inc eax
sub dword [esp + 0x38], 7
mov dword [esp + 0x34], eax
mov byte [esp + 0x18], 1
mov byte [ebx + 0x140], 1
cmp byte [ebx + 0x162], 0
je 0x10029134
mov eax, dword [ebx + 0xc4]
inc eax
inc eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x18], 1
mov eax, dword [ebx + 0x170]
cmp eax, 0xffffffff
jle 0x10029143
sub dword [esp + 0x3c], eax
lea eax, [ebx + 0x64]
push eax
lea ecx, [esp + 0x18]
call dword [0x100b6030]
and dword [esp + 0x70], 0
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jne 0x1002916f
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebx
call dword [eax + 0x154]
push 1
mov ecx, esi
call sub.mfc90u.dll_CDC::SetBkMode
cmp byte [ebx + 0x144], 0
je 0x100291ad
test byte [edi + 0x10], 4
jne 0x10029196
mov ecx, ebx
call sub.mfc90u.dll_CWnd::IsWindowEnabled
test eax, eax
je 0x10029196
xor al, al
jmp 0x10029198
mov al, 1
cmp byte [ebx + 0xdc], 0
je 0x100291ad
test al, al
je 0x100291ad
push dword [ebx + 0x154]
jmp 0x100291b3
push dword [ebx + 0x148]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x38]
cmp byte [ebx + 0x143], 0
mov edi, dword [ebx + 0xf0]
je 0x100291d0
mov byte [ebx + 0xf5], 0
cmp byte [ebx + 0x142], 0
je 0x100291e3
mov dword [ebx + 0xf0], 0x2bc
cmp byte [ebx + 0x168], 0
je 0x10029200
call sym.ASOHelper.dll_unsigned_long_int___cdecl__winmajor_void_
cmp eax, 5
jbe 0x10029200
mov dword [ebx + 0xf0], 0x1f4
mov al, byte [ebx + 0x55]
test al, al
jne 0x1002920c
cmp byte [ebx + 0x54], al
je 0x1002923c
push dword [ebx + 0x14c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x38]
mov al, byte [ebx + 0x143]
test al, al
je 0x10029229
mov byte [ebx + 0xf5], al
cmp byte [ebx + 0x141], 0
je 0x1002923c
mov dword [ebx + 0xf0], 0x2bc
and dword [esp + 0x30], 0
mov dword [esp + 0x2c], vtable.CFont.0
lea eax, [ebx + 0xe0]
push eax
mov byte [esp + 0x74], 1
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
lea ecx, [esp + 0x30]
call sub.mfc90u.dll_CGdiObject::Attach
lea ecx, [esp + 0x2c]
mov dword [ebx + 0xf0], edi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
push eax
lea eax, [esp + 0x30]
push eax
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call dword [0x100b6030]
push ebx
call sym.ASOHelper.dll_int___cdecl_GetTextWidthAndHeightSingleLine_class_CWnd___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_CFont___int_
mov ecx, dword [esp + 0x4c]
sub ecx, dword [esp + 0x44]
add esp, 0x10
cmp eax, ecx
setg al
cmp byte [ebx + 0x162], 0
mov byte [esp + 0x20], al
je 0x100292cc
call sym.ASOHelper.dll_enum_ASO_SUPPORTED_LANG___cdecl_GetCurSelLang_void_
cmp eax, 1
jne 0x100292cc
mov byte [esp + 0x20], al
cmp byte [esp + 0x18], 0
je 0x1002936f
cmp byte [ebx + 0x140], 0
je 0x10029369
mov eax, dword [esp + 0x34]
lea esi, [esp + 0x34]
lea edi, [esp + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc eax
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x48]
inc dword [esp + 0x50]
inc dword [esp + 0x4c]
cmp byte [ebx + 0x161], 0
mov dword [esp + 0x44], eax
je 0x1002931d
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x38]
jmp 0x1002932f
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
push 0x753f36
call dword [eax + 0x38]
mov esi, dword [esp + 0x1c]
push dword [esp + 0x18]
mov edi, eax
push dword [esp + 0x24]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call dword [0x100b6030]
push esi
mov ecx, ebx
call sym.ASOHelper.dll_protected:_void___thiscall_CHoverButtonWithText::ReDrawBtnTextForFixedBtnSize_class_CDC___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_CFont___class_CRect___bool__bool_
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x38]
mov esi, dword [esp + 0x1c]
push dword [esp + 0x18]
jmp 0x100293df
cmp byte [ebx + 0x140], 0
je 0x100293dd
mov eax, dword [esp + 0x34]
lea esi, [esp + 0x34]
lea edi, [esp + 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
inc eax
inc dword [esp + 0x58]
inc dword [esp + 0x60]
inc dword [esp + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [esi]
push 0x753f36
mov ecx, esi
call dword [eax + 0x38]
push 0
push dword [esp + 0x24]
mov edi, eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call dword [0x100b6030]
push esi
mov ecx, ebx
call sym.ASOHelper.dll_protected:_void___thiscall_CHoverButtonWithText::ReDrawBtnTextForFixedBtnSize_class_CDC___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_CFont___class_CRect___bool__bool_
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x38]
push 0
push dword [esp + 0x24]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call dword [0x100b6030]
push esi
mov ecx, ebx
call sym.ASOHelper.dll_protected:_void___thiscall_CHoverButtonWithText::ReDrawBtnTextForFixedBtnSize_class_CDC___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_CFont___class_CRect___bool__bool_
push dword [esp + 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
mov byte [esp + 0x70], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], vtable.CFont.0
call fcn.1001037b
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4