Function at 0x41a620
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x42f353
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0x483644]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x24], esi
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_wchar_t_const__const_const_wxPanelNameStr]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov edi, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxSize_const_wxDefaultSize]
mov ebp, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x64], ebx
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxWindow::constructor_void_]
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxPanel::vftable]
mov dword [esi], ecx
push ebx
lea ecx, [esi + 0x144]
mov byte [esp + 0x68], 1
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxControlContainer::constructor_class_wxWindow__]
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_protected:_void___thiscall_wxPanel::Init_void_]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x18]
push edx
push 0x280000
push edi
push ebp
push eax
push ecx
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_bool___thiscall_wxPanel::Create_class_wxWindow___int__class_wxPoint_const___class_wxSize_const___long_int__class_wxString_const__]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x64], 3
je 0x41a6e2
add ecx, 0xffffffff
cmp ecx, ebx
mov dword [eax], ecx
jne 0x41a6e2
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov edx, dword [esp + 0x6c]
push 0x64
mov dword [esi], vtable.WndTasksPanel.0
mov dword [esi + 0x150], edx
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x74], edi
cmp edi, ebx
mov byte [esp + 0x64], 4
je 0x41a728
push 8
mov ecx, edi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxBoxSizer::constructor_int_]
mov dword [edi], vtable.wxBoxSizer.1.0
mov dword [edi + 8], vtable.wxBoxSizer.0
mov dword [esp + 0x70], edi
jmp 0x41a72c
mov dword [esp + 0x70], ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x64], 3
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_void___thiscall_CEFListCtrlHeaderInfo::constructor_void_]
mov edi, dword [sym.imp.EFIcoreui_2.8_vc8.dll_class_wxBitmap___cdecl_CUGetBitmapFromMemory_unsigned_char_const___int_]
push 0x232
lea eax, [esp + 0x2c]
push 0x482d60
push eax
mov byte [esp + 0x70], 5
call edi
add esp, 0xc
mov ebx, dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxObject::Ref_class_wxObject_const__]
lea ecx, [esp + 0x30]
cmp ecx, eax
mov byte [esp + 0x64], 6
je 0x41a770
push eax
call ebx
mov ebp, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public_virtual:_void___thiscall_wxBitmap::destructor_void_]
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 5
call ebp
push 0xf8
lea edx, [esp + 0x2c]
push 0x482f98
push edx
call edi
add esp, 0xc
lea ecx, [esp + 0x38]
cmp ecx, eax
mov byte [esp + 0x64], 7
je 0x41a7a5
push eax
call ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 5
call ebp
mov eax, dword [sym.imp.EFIcoreui_2.8_vc8.dll_class_wxFont_EFIFont_Default]
lea edx, [esp + 0x40]
cmp edx, eax
je 0x41a7c2
push eax
mov ecx, edx
call ebx
mov ebp, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_static_class_wxColour_const____cdecl_wxStockGDI::GetColour_enum_wxStockGDI::Item_]
push 0xa
call ebp
add esp, 4
push eax
lea ecx, [esp + 0x4c]
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxColour____thiscall_wxColour::operator_class_wxColour_const__]
push 0x1f0
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x74], edi
test edi, edi
mov byte [esp + 0x64], 8
je 0x41a833
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxPoint_const_wxDefaultPosition]
push 0x602020
lea eax, [esp + 0x2c]
push eax
push ecx
push 0
push 0
lea edx, [esp + 0x44]
push edx
push esi
mov ecx, edi
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x48], 0x64
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_void___thiscall_CEFListCtrl::constructor_class_wxWindow___class_CEFListCtrlHeaderInfo___class_wxImageList___bool__class_wxPoint_const___class_wxSize_const___long_int_]
mov dword [edi], vtable.CEFListCtrl.0
mov ecx, edi
jmp 0x41a835
xor ecx, ecx
mov dword [esi + 0x154], ecx
mov eax, dword [ecx]
mov edx, dword [sym.imp.EFIcoreui_2.8_vc8.dll_class_wxFont_EFIFont_Default]
mov eax, dword [eax + 0x158]
push edx
mov byte [esp + 0x68], 5
call eax
mov ecx, dword [esi + 0x154]
mov edi, dword [ecx]
push 0x10
call ebp
mov ecx, dword [esi + 0x154]
mov edx, dword [edi + 0x144]
add esp, 4
push eax
call edx
mov ebx, dword [sym.imp.wxbase28u_vc_8_EFI.dll_class_wxLocale____cdecl_wxGetLocale_void_]
call ebx
test eax, eax
je 0x41a88d
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push str.Status
call eax
jmp 0x41a892
mov eax, str.Status
push eax
lea ecx, [esp + 0x78]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov edi, dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_long_int___thiscall_wxEfiGenericListCtrl::InsertColumn_long_int__class_wxString_const___int__int_]
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esi + 0x154]
push 0
mov byte [esp + 0x74], 9
call edi
mov eax, dword [esp + 0x74]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x64], 5
je 0x41a8e4
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41a8e4
mov ebp, dword [sym.imp.MSVCR80.dll_free]
push eax
call ebp
add esp, 4
jmp 0x41a8ea
mov ebp, dword [sym.imp.MSVCR80.dll_free]
call ebx
test eax, eax
je 0x41a902
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push str.Name
call eax
jmp 0x41a907
mov eax, str.Name
push eax
lea ecx, [esp + 0x78]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esi + 0x154]
push 1
mov byte [esp + 0x74], 0xa
call edi
mov eax, dword [esp + 0x74]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x64], 5
je 0x41a94b
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41a94b
push eax
call ebp
add esp, 4
call ebx
test eax, eax
je 0x41a963
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push str.Progress
call eax
jmp 0x41a968
mov eax, str.Progress
push eax
lea ecx, [esp + 0x78]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
push 0xffffffffffffffff
push 3
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esi + 0x154]
push 2
mov byte [esp + 0x74], 0xb
call edi
mov eax, dword [esp + 0x74]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x64], 5
je 0x41a9ac
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41a9ac
push eax
call ebp
add esp, 4
mov edx, dword [esi + 0x154]
mov ebx, dword [esp + 0x70]
push 0
push 5
push 0x20f0
push 1
push edx
mov ecx, ebx
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxWindow___int__int__int__class_wxObject__]
push 0x64
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x74], edi
test edi, edi
mov byte [esp + 0x64], 0xc
je 0x41aa02
push 4
mov ecx, edi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxBoxSizer::constructor_int_]
mov ebp, edi
mov dword [edi], vtable.wxBoxSizer.1.0
mov dword [edi + 8], vtable.wxBoxSizer.0
mov dword [esp + 0x74], ebp
jmp 0x41aa0e
mov dword [esp + 0x74], 0
mov ebp, dword [esp + 0x74]
push 1
mov ecx, ebp
mov byte [esp + 0x68], 5
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::AddStretchSpacer_int_]
push 0x150
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov byte [esp + 0x64], 0xd
je 0x41ab23
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_wchar_t_const__const_const_wxButtonNameStr]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov byte [esp + 0x64], 0xe
mov dword [esp + 0x14], 1
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x41aa76
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push str.Cancel_Task
call eax
jmp 0x41aa7b
mov eax, str.Cancel_Task
push eax
lea ecx, [esp + 0x70]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxPoint_const_wxDefaultPosition]
mov ebp, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxValidator_const_wxDefaultValidator]
mov ebx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxSize_const_wxDefaultSize]
mov dword [esp + 0x20], ecx
mov ecx, edi
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x14], 3
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxWindow::constructor_void_]
mov edx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxControlBase::vftable]
mov dword [edi], edx
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxControl::vftable]
lea ecx, [edi + 0x144]
mov dword [esp + 0x64], 0x10
mov dword [edi], eax
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxBaseArrayLong::constructor_void_]
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxButtonBase::vftable]
mov dword [edi], ecx
mov edx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxButton::vftable]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
push ebp
push 0
push ebx
push ecx
mov dword [edi], edx
lea edx, [esp + 0x80]
push edx
push 0x64
push esi
mov ecx, edi
mov dword [esp + 0x84], 0x11
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_bool___thiscall_wxButton::Create_class_wxWindow___int__class_wxString_const___class_wxPoint_const___class_wxSize_const___long_int__class_wxValidator_const___class_wxString_const__]
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov dword [edi], vtable.wxButton.0
jmp 0x41ab25
xor edi, edi
test byte [esp + 0x14], 2
mov dword [esi + 0x158], edi
je 0x41ab57
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax - 0xc]
and dword [esp + 0x14], 0xfffffffd
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x41ab57
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41ab57
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test byte [esp + 0x14], 1
mov dword [esp + 0x64], 5
je 0x41ab86
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x41ab86
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41ab86
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov ecx, dword [esi + 0x158]
mov eax, dword [ecx]
mov edx, dword [eax + 0x9c]
push 0
call edx
mov eax, dword [esi + 0x158]
push 0
push 0
push 0x900
push 0
push eax
mov ecx, ebp
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxWindow___int__int__int__class_wxObject__]
push 0
push 5
push 0x20a0
push 0
push ebp
mov ecx, ebx
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizer___int__int__int__class_wxObject__]
push 1
push ebx
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxWindowBase::SetSizer_class_wxSizer___bool_]
push esi
mov ecx, ebx
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxSizer::SetSizeHints_class_wxWindow__]
lea ecx, [esp + 0x30]
mov byte [esp + 0x64], 3
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_void___thiscall_CEFListCtrlHeaderInfo::destructor_void_]
mov eax, esi
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0xc