Function at 0x41b2b0
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x42f6b3
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x483644]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x58], esi
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_wchar_t_const__const_const_wxDialogNameStr]
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov dword [esp + 0xf0], ebx
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_class_wxLocale____cdecl_wxGetLocale_void_]
cmp eax, ebx
je 0x41b31b
mov edx, dword [eax]
push ebx
mov ecx, eax
mov eax, dword [edx + 8]
push str.Status
call eax
jmp 0x41b320
mov eax, str.Status
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov ecx, esi
mov byte [esp + 0xf0], 1
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxDialogBase::constructor_void_]
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxDialog::vftable]
mov dword [esi], ecx
mov ecx, esi
mov byte [esp + 0xf0], 2
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_protected:_void___thiscall_wxDialog::Init_void_]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
lea edx, [esp + 0x2c]
push edx
push 0x20001c00
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
lea edx, [esp + 0x38]
push edx
push eax
push ecx
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_bool___thiscall_wxDialog::Create_class_wxWindow___int__class_wxString_const___class_wxPoint_const___class_wxSize_const___long_int__class_wxString_const__]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x41b3ac
add ecx, 0xffffffff
cmp ecx, ebx
mov dword [eax], ecx
jne 0x41b3ac
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x41b3ce
add ecx, 0xffffffff
cmp ecx, ebx
mov dword [eax], ecx
jne 0x41b3ce
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esi], vtable.WndStatusDialog.0
mov edx, dword [sym.imp.wxbase28u_vc_8_EFI.dll_wchar_t_const__const_wxEmptyString]
mov eax, dword [edx]
lea ecx, [esi + 0x1a0]
mov dword [ecx], eax
mov edx, dword [esp + 0xf8]
push 0x441848
mov byte [esp + 0xf4], 6
mov dword [esi + 0x1a4], edx
mov byte [esi + 0x1bc], 0
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_class_wxStringBase____thiscall_wxStringBase::operator_wchar_t_const__]
push 0x64
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebx
mov ebp, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxBoxSizer::constructor_int_]
mov byte [esp + 0xf0], 7
je 0x41b446
push 8
mov ecx, edi
call ebp
mov dword [edi], vtable.wxBoxSizer.1.0
mov dword [edi + 8], vtable.wxBoxSizer.0
mov dword [esp + 0x28], edi
jmp 0x41b44a
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x28]
push 0xa
mov byte [esp + 0xf4], 6
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::AddSpacer_int_]
push 0x64
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
mov byte [esp + 0xf0], 8
je 0x41b493
push 4
mov ecx, edi
call ebp
mov dword [edi], vtable.wxBoxSizer.1.0
mov dword [edi + 8], vtable.wxBoxSizer.0
mov dword [esp + 0x2c], edi
jmp 0x41b49b
mov dword [esp + 0x2c], 0
push 0x64
mov byte [esp + 0xf4], 6
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
mov byte [esp + 0xf0], 9
je 0x41b4da
push 8
mov ecx, edi
call ebp
mov ebp, edi
mov dword [edi], vtable.wxBoxSizer.1.0
mov dword [edi + 8], vtable.wxBoxSizer.0
mov dword [esp + 0x24], ebp
jmp 0x41b4e6
mov dword [esp + 0x24], 0
mov ebp, dword [esp + 0x24]
push 0x150
mov byte [esp + 0xf4], 6
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
mov byte [esp + 0xf0], 0xa
je 0x41b5b3
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_wchar_t_const__const_const_wxStaticTextNameStr]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov ecx, dword [sym.imp.wxbase28u_vc_8_EFI.dll_wchar_t_const__const_wxEmptyString]
mov edx, dword [ecx]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0xf4], 0xb
mov dword [esp + 0x24], 1
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov eax, 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_wxSize_const_wxDefaultSize]
mov ebx, 3
mov ecx, edi
mov dword [esp + 0xf0], 0xc
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], eax
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxControl::constructor_void_]
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxStaticTextBase::vftable]
mov dword [edi], ecx
mov edx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxStaticText::vftable]
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x14]
push eax
push 0
push ebp
push ecx
mov dword [edi], edx
lea edx, [esp + 0x2c]
push edx
push 0xffffffffffffffff
push esi
mov ecx, edi
mov dword [esp + 0x10c], 0xd
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_bool___thiscall_wxStaticText::Create_class_wxWindow___int__class_wxString_const___class_wxPoint_const___class_wxSize_const___long_int__class_wxString_const__]
mov ebp, dword [esp + 0x24]
mov dword [edi], vtable.wxStaticText.0
jmp 0x41b5b5
xor edi, edi
test bl, 2
mov dword [esi + 0x1ac], edi
je 0x41b5e3
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xfffffffd
cmp ecx, 0xffffffff
je 0x41b5e3
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41b5e3
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test bl, 1
mov dword [esp + 0xf0], 6
je 0x41b616
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xfffffffe
cmp ecx, 0xffffffff
je 0x41b616
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41b616
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov eax, dword [esi + 0x1ac]
push 0
push 0xa
push 0x2080
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__]
lea ecx, [esp + 0x5c]
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_void___thiscall_CNProgressBarCustomInfo::constructor_void_]
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov byte [esp + 0xf4], 0x10
mov dword [esp + 0x60], 0
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxColour___thiscall_wxWindowBase::GetBackgroundColour_void_]
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0xf4], 0x11
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxColour____thiscall_wxColour::operator_class_wxColour_const__]
mov edi, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public_virtual:_void___thiscall_wxColour::destructor_void_]
lea ecx, [esp + 0x44]
mov byte [esp + 0xf0], 0x10
call edi
push 0xff
push 0xb
push 0x54
push 7
lea ecx, [esp + 0x54]
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxColour::constructor_unsigned_char__unsigned_char__unsigned_char__unsigned_char_]
push eax
lea ecx, [esp + 0x94]
mov byte [esp + 0xf4], 0x12
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxColour____thiscall_wxColour::operator_class_wxColour_const__]
lea ecx, [esp + 0x44]
mov byte [esp + 0xf0], 0x10
call edi
push 0xff
push 0xff
push 0xf0
push 0xc5
lea ecx, [esp + 0x54]
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxColour::constructor_unsigned_char__unsigned_char__unsigned_char__unsigned_char_]
push eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf4], 0x13
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxColour____thiscall_wxColour::operator_class_wxColour_const__]
lea ecx, [esp + 0x44]
mov byte [esp + 0xf0], 0x10
call edi
push 0x1ec
mov dword [esp + 0xbc], 0x80
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
mov byte [esp + 0xf0], 0x14
je 0x41b782
mov edx, dword [sym.imp.wxbase28u_vc_8_EFI.dll_wchar_t_const__const_wxEmptyString]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov edx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxPoint_const_wxDefaultPosition]
lea ecx, [esp + 0x34]
push ecx
push edx
push 0
push 0
lea eax, [esp + 0x24]
push eax
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x78]
or ebx, 4
push ecx
mov ecx, edi
mov byte [esp + 0x110], 0x15
mov dword [esp + 0x40], ebx
mov dword [esp + 0x54], 0x15e
mov dword [esp + 0x58], 0xf
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_void___thiscall_CNProgressBar::constructor_class_CNProgressBarCustomInfo_const___class_wxWindow___int__class_wxString_const___int__bool__class_wxPoint_const___class_wxSize_const__]
mov dword [edi], vtable.CNProgressBar.0
jmp 0x41b784
xor edi, edi
test bl, 4
mov dword [esi + 0x1b0], edi
mov dword [esp + 0xf0], 0x10
je 0x41b7bd
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xfffffffb
cmp ecx, 0xffffffff
je 0x41b7bd
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41b7bd
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov edx, dword [esi + 0x1b0]
push 0
push 0
push 0x2000
push 0
push edx
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 0xec
lea eax, [esp + 0x40]
push 0x4405b0
push eax
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_class_wxBitmap___cdecl_CUGetBitmapFromMemory_unsigned_char_const___int_]
push 0x1b8
mov byte [esp + 0x100], 0x17
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 0x10
mov dword [esp + 0x18], edi
test edi, edi
mov byte [esp + 0xf0], 0x18
je 0x41b864
push str.CFSProgressBar
lea ecx, [esp + 0x18]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_class_wxPoint_const_wxDefaultPosition]
lea ecx, [esp + 0x14]
push ecx
push 0
lea edx, [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0x4c]
push ecx
push 0xffffffffffffffff
or ebx, 8
push esi
mov ecx, edi
mov byte [esp + 0x10c], 0x19
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x50], 0x15e
mov dword [esp + 0x54], 0xf
call fcn.00420fa0
jmp 0x41b866
xor eax, eax
test bl, 8
mov dword [esi + 0x1b4], eax
mov dword [esp + 0xf0], 0x17
je 0x41b89f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x41b89f
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41b89f
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov ecx, dword [esi + 0x1b4]
call fcn.004216d0
mov ecx, dword [esi + 0x1b4]
push 0x1e
call fcn.00421700
mov ecx, dword [esi + 0x1b4]
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_bool___thiscall_wxWindowBase::Hide_void_]
mov edx, dword [esi + 0x1b4]
push 0
push 0
push 0x2000
push 0
push edx
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__]
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf0], 0x10
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public_virtual:_void___thiscall_wxBitmap::destructor_void_]
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf0], 6
call dword [sym.imp.EFIcoreui_2.8_vc8.dll_public:_void___thiscall_CNProgressBarCustomInfo::destructor_void_]
mov ecx, dword [esp + 0x2c]
push 0
push 0
push 0x2000
push 1
push ebp
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizer___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 + 0x18], edi
test edi, edi
mov byte [esp + 0xf0], 0x1b
je 0x41b950
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 + 0x24], edi
jmp 0x41b958
mov dword [esp + 0x24], 0
push 0x150
mov byte [esp + 0xf4], 6
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
test edi, edi
mov byte [esp + 0xf0], 0x1c
je 0x41ba65
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__]
or ebx, 0x10
mov byte [esp + 0xf0], 0x1d
mov dword [esp + 0x20], ebx
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x41b9be
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push str.Cancel_All
call eax
jmp 0x41b9c3
mov eax, str.Cancel_All
push eax
lea ecx, [esp + 0x18]
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_wxSize_const_wxDefaultSize]
mov edx, 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 dword [esp + 0x30], ecx
or ebx, 0x20
mov ecx, edi
mov dword [esp + 0xf0], 0x1e
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], edx
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxControlBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxControl::vftable]
lea ecx, [edi + 0x144]
mov dword [esp + 0xf0], 0x1f
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 + 0x30]
lea eax, [esp + 0x1c]
push eax
push ebp
push 0
push ecx
mov dword [edi], edx
mov edx, dword [esp + 0x28]
push edx
lea eax, [esp + 0x28]
push eax
push 0x64
push esi
mov ecx, edi
mov dword [esp + 0x110], 0x20
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 dword [edi], vtable.wxButton.0
jmp 0x41ba67
xor edi, edi
test bl, 0x20
je 0x41ba8f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xffffffdf
cmp ecx, 0xffffffff
je 0x41ba8f
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41ba8f
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test bl, 0x10
mov dword [esp + 0xf0], 6
je 0x41bac2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xffffffef
cmp ecx, 0xffffffff
je 0x41bac2
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41bac2
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov ecx, dword [esp + 0x24]
push 0
push 0xa
push 0x980
push 0
push edi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxWindow___int__int__int__class_wxObject__]
push 0x150
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
test edi, edi
mov byte [esp + 0xf0], 0x23
je 0x41bbeb
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_wchar_t_const__const_const_wxButtonNameStr]
push ecx
lea ecx, [esp + 0x20]
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxString::constructor_wchar_t_const__]
or ebx, 0x40
mov byte [esp + 0xf0], 0x24
mov dword [esp + 0x20], ebx
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x41bb37
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push 0x441560
call eax
jmp 0x41bb3c
mov eax, 0x441560
push eax
lea ecx, [esp + 0x18]
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_wxSize_const_wxDefaultSize]
mov edx, 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 dword [esp + 0x18], ecx
or ebx, 0x80
mov ecx, edi
mov dword [esp + 0xf0], 0x25
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], edx
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxWindow::constructor_void_]
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxControlBase::vftable]
mov dword [edi], eax
mov ecx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxControl::vftable]
mov dword [edi], ecx
lea ecx, [edi + 0x144]
mov dword [esp + 0xf0], 0x26
call dword [sym.imp.wxbase28u_vc_8_EFI.dll_public:_void___thiscall_wxBaseArrayLong::constructor_void_]
mov edx, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxButtonBase::vftable]
mov dword [edi], edx
mov eax, dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_const_wxButton::vftable]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
push ecx
push ebp
push 0
push edx
mov dword [edi], eax
mov eax, dword [esp + 0x40]
push eax
lea ecx, [esp + 0x28]
push ecx
push 0xc8
push esi
mov ecx, edi
mov dword [esp + 0x110], 0x27
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 dword [edi], vtable.wxButton.0
jmp 0x41bbed
xor edi, edi
test bl, bl
mov dword [esi + 0x1b8], edi
jns 0x41bc1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
and ebx, 0xffffff7f
cmp ecx, 0xffffffff
je 0x41bc1d
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41bc1d
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test bl, 0x40
mov dword [esp + 0xf0], 6
je 0x41bc4d
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x41bc4d
add ecx, 0xffffffff
mov dword [eax], ecx
jne 0x41bc4d
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov edx, dword [esi + 0x1b8]
mov edi, dword [esp + 0x24]
push 0
push 0
push 0x900
push 0
push edx
mov ecx, edi
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 0xa
push 0x2010
push 0
push edi
mov edi, dword [esp + 0x40]
mov ecx, edi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizer___int__int__int__class_wxObject__]
push 0
push 0xa
push 0x2030
push 0
push edi
mov edi, dword [esp + 0x3c]
mov ecx, edi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizer___int__int__int__class_wxObject__]
push 0x158
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0xf0], 0x2a
je 0x41bccb
mov ecx, dword [esi + 0x1a4]
push 0xffffffffffffffff
push esi
push ecx
mov ecx, eax
call fcn.0041aef0
jmp 0x41bccd
xor eax, eax
push 0
push 0xa
push 0x2030
push 0
push eax
mov ecx, edi
mov byte [esp + 0x104], 6
mov dword [esi + 0x1a8], eax
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxWindow___int__int__int__class_wxObject__]
mov ecx, dword [esi + 0x1a8]
movzx eax, byte [esi + 0x1bc]
mov edx, dword [ecx]
mov edx, dword [edx + 0x98]
push eax
call edx
push 0xa
mov ecx, edi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_class_wxSizerItem____thiscall_wxSizer::AddSpacer_int_]
push 1
push edi
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public:_void___thiscall_wxWindowBase::SetSizer_class_wxSizer___bool_]
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public_virtual:_bool___thiscall_wxWindowBase::Layout_void_]
mov ecx, esi
call dword [sym.imp.wxmsw28u_core_vc_8_EFI.dll_public_virtual:_void___thiscall_wxWindowBase::Fit_void_]
mov eax, esi
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret 0x14