Function at 0x40b3e0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4269ed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x10], ecx
push 0x64
xor ebp, ebp
mov dword [esp + 0x10], ebx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
cmp esi, ebp
mov dword [esp + 0x38], ebp
je 0x40b438
push 8
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxBoxSizer::constructor_int_]
mov dword [esi], vtable.wxBoxSizer.1.0
mov dword [esi + 8], vtable.wxBoxSizer.0
mov ebp, esi
mov ecx, dword [esp + 0x10]
push edi
mov edi, 1
mov dword [esp + 0x24], ebp
push edi
push ebp
mov dword [esp + 0x44], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxWindowBase::SetSizer_class_wxSizer___bool_]
push 0xb4
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], edi
je 0x40b494
push 0
push 0
push 3
push 2
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxFlexGridSizer::constructor_int__int__int__int_]
mov dword [esi], vtable.wxFlexGridSizer.1.0
mov dword [esi + 8], vtable.wxFlexGridSizer.0
mov dword [esp + 0x18], esi
jmp 0x40b49c
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
push 0
push edi
mov dword [esp + 0x44], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxFlexGridSizer::AddGrowableCol_unsigned_int__int_]
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 2
je 0x40b4ed
mov eax, dword [esp + 0x18]
push 0
push 5
push 0x20f0
push 0
push eax
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxSizer___int__int__int__class_wxObject__]
mov dword [esi], vtable.wxSizerItem.0
jmp 0x40b4ef
xor esi, esi
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp]
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x44], 0xffffffff
call dword [edx + 0x10]
push 0x154
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 3
je 0x40b5ee
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxStaticTextNameStr]
test eax, eax
jne 0x40b535
mov eax, 0x4458c8
mov ecx, dword [sym.imp.wxbase28_vc.dll_unsigned_int_const_wxStringBase::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x20]
push edx
push 0
push eax
call dword [sym.imp.wxbase28_vc.dll_protected:_void___thiscall_wxStringBase::InitWith_char_const___unsigned_int__unsigned_int_]
mov dword [esp + 0x10], edi
mov byte [esp + 0x3c], 4
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40b56e
mov edx, dword [eax]
push 0
push str.Cut_length:
mov ecx, eax
call dword [edx + 8]
jmp 0x40b573
mov eax, str.Cut_length:
test eax, eax
jne 0x40b57c
mov eax, 0x4458c8
mov ecx, dword [sym.imp.wxbase28_vc.dll_unsigned_int_const_wxStringBase::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x1c]
push edx
push 0
push eax
call dword [sym.imp.wxbase28_vc.dll_protected:_void___thiscall_wxStringBase::InitWith_char_const___unsigned_int__unsigned_int_]
mov ebx, 3
mov dword [esp + 0x10], ebx
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxSize_const_wxDefaultSize]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x3c], 5
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxStaticTextBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_const_wxStaticText::vftable]
lea ecx, [esp + 0x20]
push ecx
push 0
push edi
lea edx, [esp + 0x28]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
push ebp
push edx
push 0x13f1
push eax
mov ecx, esi
mov dword [esp + 0x58], 6
call dword [sym.imp.wxmsw28_core_vc.dll_public:_bool___thiscall_wxStaticText::Create_class_wxWindow___int__class_wxString_const___class_wxPoint_const___class_wxSize_const___long_int__class_wxString_const__]
mov dword [esi], vtable.wxStaticText.0
jmp 0x40b5f0
xor esi, esi
mov edi, dword [sym.imp.MSVCRT.dll_free]
test bl, 2
je 0x40b61a
mov ecx, dword [esp + 0x1c]
and ebx, 0xfffffffd
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40b61a
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b61a
push eax
call edi
add esp, 4
test bl, 1
mov dword [esp + 0x3c], 0xffffffff
je 0x40b646
mov edx, dword [esp + 0x20]
and ebx, 0xfffffffe
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b646
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b646
push eax
call edi
add esp, 4
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov dword [esp + 0x3c], 9
je 0x40b67e
push 0
push 5
push 0x8f0
push 0
push esi
mov ecx, edi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [edi], vtable.wxSizerItem.0
jmp 0x40b680
xor edi, edi
mov ebp, dword [esp + 0x18]
push edi
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp]
push eax
call dword [edx + 0x10]
push 0x1b8
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0xa
je 0x40b7a5
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxTextCtrlNameStr]
test eax, eax
jne 0x40b6ca
mov eax, 0x4458c8
mov ecx, dword [sym.imp.wxbase28_vc.dll_unsigned_int_const_wxStringBase::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x1c]
push edx
push 0
push eax
call dword [sym.imp.wxbase28_vc.dll_protected:_void___thiscall_wxStringBase::InitWith_char_const___unsigned_int__unsigned_int_]
or ebx, 4
mov dword [esp + 0x10], ebx
mov byte [esp + 0x3c], 0xb
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40b706
mov edx, dword [eax]
push 0
push 0x44181c
mov ecx, eax
call dword [edx + 8]
jmp 0x40b70b
mov eax, 0x44181c
test eax, eax
jne 0x40b714
mov eax, 0x4458c8
mov ecx, dword [sym.imp.wxbase28_vc.dll_unsigned_int_const_wxStringBase::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x20]
push edx
push 0
push eax
call dword [sym.imp.wxbase28_vc.dll_protected:_void___thiscall_wxStringBase::InitWith_char_const___unsigned_int__unsigned_int_]
or ebx, 8
mov dword [esp + 0x10], ebx
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxValidator_const_wxDefaultValidator]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x3c], 0xc
mov dword [esp + 0x2c], 0x32
mov dword [esp + 0x30], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxTextCtrlBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_const_wxTextCtrl::vftable]
mov ecx, esi
mov dword [esp + 0x3c], 0xd
mov dword [esi], eax
call dword [sym.imp.wxmsw28_core_vc.dll_protected:_void___thiscall_wxTextCtrl::Init_void_]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
push edi
push 0
push edx
lea eax, [esp + 0x30]
push ebp
push eax
push 0x272f
push ecx
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_bool___thiscall_wxTextCtrl::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 + 0x18]
mov dword [esi], vtable.wxTextCtrl.0
jmp 0x40b7a7
xor esi, esi
mov edx, dword [esp + 0x14]
test bl, 8
mov dword [edx + 0x1a4], esi
je 0x40b7d8
mov eax, dword [esp + 0x20]
and ebx, 0xfffffff7
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40b7d8
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b7d8
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bl, 4
mov dword [esp + 0x3c], 0xffffffff
je 0x40b808
mov ecx, dword [esp + 0x1c]
and ebx, 0xfffffffb
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40b808
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b808
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov edx, dword [esp + 0x14]
push 0x44
mov edi, dword [edx + 0x1a4]
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x10
je 0x40b84a
push 0
push 5
push 0x28f0
push 0
push edi
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [esi], vtable.wxSizerItem.0
jmp 0x40b84c
xor esi, esi
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp]
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x44], 0xffffffff
call dword [edx + 0x10]
push 0x154
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x11
je 0x40b945
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxStaticTextNameStr]
test eax, eax
jne 0x40b892
mov eax, 0x4458c8
mov ecx, dword [sym.imp.wxbase28_vc.dll_unsigned_int_const_wxStringBase::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x1c]
push edx
push 0
push eax
call dword [sym.imp.wxbase28_vc.dll_protected:_void___thiscall_wxStringBase::InitWith_char_const___unsigned_int__unsigned_int_]
or ebx, 0x10
mov dword [esp + 0x10], ebx
mov byte [esp + 0x3c], 0x12
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40b8ce
mov edx, dword [eax]
push 0
push 0x441818
mov ecx, eax
call dword [edx + 8]
jmp 0x40b8d3
mov eax, 0x441818
test eax, eax
jne 0x40b8dc
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or ebx, 0x20
mov dword [esp + 0x10], ebx
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxSize_const_wxDefaultSize]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x3c], 0x13
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxStaticTextBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_const_wxStaticText::vftable]
lea ecx, [esp + 0x1c]
push ecx
push 0
push edi
lea edx, [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
push ebp
push edx
push 0x13f1
push eax
mov ecx, esi
mov dword [esp + 0x58], 0x14
call dword [sym.imp.wxmsw28_core_vc.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 + 0x18]
mov dword [esi], vtable.wxStaticText.0
jmp 0x40b947
xor esi, esi
test bl, 0x20
je 0x40b96f
mov ecx, dword [esp + 0x20]
and ebx, 0xffffffdf
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40b96f
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b96f
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bl, 0x10
mov dword [esp + 0x3c], 0xffffffff
je 0x40b99f
mov edx, dword [esp + 0x1c]
and ebx, 0xffffffef
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40b99f
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40b99f
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov dword [esp + 0x3c], 0x17
je 0x40b9d7
push 0
push 5
push 0x9f0
push 0
push esi
mov ecx, edi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [edi], vtable.wxSizerItem.0
jmp 0x40b9d9
xor edi, edi
push edi
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizerItem__]
push 0x154
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x18
je 0x40bac3
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxStaticTextNameStr]
test eax, eax
jne 0x40ba1b
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or ebx, 0x40
mov dword [esp + 0x10], ebx
mov byte [esp + 0x3c], 0x19
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40ba4c
mov edx, dword [eax]
push 0
push str.Cut_Spacer:
mov ecx, eax
call dword [edx + 8]
jmp 0x40ba51
mov eax, str.Cut_Spacer:
test eax, eax
jne 0x40ba5a
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bl, 0x80
mov dword [esp + 0x10], ebx
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxSize_const_wxDefaultSize]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x3c], 0x1a
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxStaticTextBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_const_wxStaticText::vftable]
lea ecx, [esp + 0x1c]
push ecx
push 0
push edi
lea edx, [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
push ebp
push edx
push 0x13f1
push eax
mov ecx, esi
mov dword [esp + 0x58], 0x1b
call dword [sym.imp.wxmsw28_core_vc.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 + 0x18]
mov dword [esi], vtable.wxStaticText.0
jmp 0x40bac5
xor esi, esi
test bl, 0x80
je 0x40baed
mov ecx, dword [esp + 0x20]
and bl, 0x7f
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40baed
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40baed
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bl, 0x40
mov dword [esp + 0x3c], 0xffffffff
je 0x40bb1d
mov edx, dword [esp + 0x1c]
and ebx, 0xffffffbf
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40bb1d
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bb1d
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov dword [esp + 0x3c], 0x1e
je 0x40bb55
push 0
push 5
push 0x8f0
push 0
push esi
mov ecx, edi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [edi], vtable.wxSizerItem.0
jmp 0x40bb57
xor edi, edi
push edi
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizerItem__]
push 0x1b8
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x1f
je 0x40bc5e
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxTextCtrlNameStr]
test eax, eax
jne 0x40bb99
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bh, 1
mov dword [esp + 0x10], ebx
mov byte [esp + 0x3c], 0x20
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40bbca
mov edx, dword [eax]
push 0
push 0x441808
mov ecx, eax
call dword [edx + 8]
jmp 0x40bbcf
mov eax, 0x441808
test eax, eax
jne 0x40bbd8
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bh, 2
mov dword [esp + 0x10], ebx
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxValidator_const_wxDefaultValidator]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x3c], 0x21
mov dword [esp + 0x2c], 0x32
mov dword [esp + 0x30], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxTextCtrlBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_const_wxTextCtrl::vftable]
mov ecx, esi
mov dword [esp + 0x3c], 0x22
mov dword [esi], eax
call dword [sym.imp.wxmsw28_core_vc.dll_protected:_void___thiscall_wxTextCtrl::Init_void_]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
push edi
push 0
push edx
lea eax, [esp + 0x30]
push ebp
push eax
push 0x2730
push ecx
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_bool___thiscall_wxTextCtrl::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 + 0x18]
mov dword [esi], vtable.wxTextCtrl.0
jmp 0x40bc60
xor esi, esi
mov edx, dword [esp + 0x14]
test bh, 2
mov dword [edx + 0x1a8], esi
je 0x40bc91
mov eax, dword [esp + 0x20]
and bh, 0xfd
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x40bc91
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bc91
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bh, 1
mov dword [esp + 0x3c], 0xffffffff
je 0x40bcc1
mov ecx, dword [esp + 0x1c]
and bh, 0xfe
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40bcc1
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40bcc1
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov edx, dword [esp + 0x14]
push 0x44
mov edi, dword [edx + 0x1a8]
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x25
je 0x40bd03
push 0
push 5
push 0x28f0
push 0
push edi
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [esi], vtable.wxSizerItem.0
jmp 0x40bd05
xor esi, esi
push esi
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizerItem__]
push 0x154
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x26
je 0x40bdef
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxStaticTextNameStr]
test eax, eax
jne 0x40bd47
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bh, 4
mov dword [esp + 0x10], ebx
mov byte [esp + 0x3c], 0x27
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40bd78
mov edx, dword [eax]
push 0
push 0x441818
mov ecx, eax
call dword [edx + 8]
jmp 0x40bd7d
mov eax, 0x441818
test eax, eax
jne 0x40bd86
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bh, 8
mov dword [esp + 0x10], ebx
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxSize_const_wxDefaultSize]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov ecx, esi
mov dword [esp + 0x3c], 0x28
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxStaticTextBase::constructor_void_]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_const_wxStaticText::vftable]
lea ecx, [esp + 0x1c]
push ecx
push 0
push edi
lea edx, [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
push ebp
push edx
push 0x13f1
push eax
mov ecx, esi
mov dword [esp + 0x58], 0x29
call dword [sym.imp.wxmsw28_core_vc.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 + 0x18]
mov dword [esi], vtable.wxStaticText.0
jmp 0x40bdf1
xor esi, esi
test bh, 8
je 0x40be19
mov ecx, dword [esp + 0x20]
and bh, 0xf7
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40be19
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40be19
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bh, 4
mov dword [esp + 0x3c], 0xffffffff
je 0x40be49
mov edx, dword [esp + 0x1c]
and bh, 0xfb
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40be49
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40be49
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov dword [esp + 0x3c], 0x2c
je 0x40be81
push 0
push 5
push 0x9f0
push 0
push esi
mov ecx, edi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [edi], vtable.wxSizerItem.0
jmp 0x40be83
xor edi, edi
push edi
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizerItem__]
push 0x64
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x2d
je 0x40becb
push 4
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxBoxSizer::constructor_int_]
mov dword [esi], vtable.wxBoxSizer.1.0
mov dword [esi + 8], vtable.wxBoxSizer.0
mov ebp, esi
jmp 0x40becd
xor ebp, ebp
or edi, 0xffffffff
push 0x44
mov dword [esp + 0x24], ebp
mov dword [esp + 0x40], edi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
mov dword [esp + 0x3c], 0x2e
je 0x40bf10
push 0
push 5
push 0x1f0
push 0
push ebp
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxSizer___int__int__int__class_wxObject__]
mov dword [esi], vtable.wxSizerItem.0
jmp 0x40bf12
xor esi, esi
mov ecx, dword [esp + 0x24]
push esi
mov dword [esp + 0x40], edi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizerItem__]
push 0x154
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0x3c], 0x2f
je 0x40c00c
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxButtonNameStr]
test eax, eax
jne 0x40bf52
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bh, 0x10
mov dword [esp + 0x10], ebx
mov byte [esp + 0x3c], 0x30
call dword [sym.imp.wxbase28_vc.dll_class_wxLocale____cdecl_wxGetLocale_void_]
test eax, eax
je 0x40bf83
mov edx, dword [eax]
push 0
push 0x441804
mov ecx, eax
call dword [edx + 8]
jmp 0x40bf88
mov eax, 0x441804
test eax, eax
jne 0x40bf91
mov eax, 0x4458c8
push eax
lea ecx, [esp + 0x28]
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxStringBase::constructor_char_const__]
or bh, 0x20
mov dword [esp + 0x10], ebx
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
mov edi, dword [sym.imp.wxmsw28_core_vc.dll_class_wxValidator_const_wxDefaultValidator]
mov ebp, dword [sym.imp.wxmsw28_core_vc.dll_class_wxSize_const_wxDefaultSize]
mov ecx, esi
mov dword [esp + 0x3c], 0x31
mov dword [esp + 0x28], eax
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxButtonBase::constructor_void_]
mov ecx, dword [sym.imp.wxmsw28_core_vc.dll_const_wxButton::vftable]
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x1c]
mov dword [esi], ecx
push edx
mov edx, dword [esp + 0x18]
push edi
push 0
push ebp
lea ecx, [esp + 0x34]
push eax
push ecx
push 0x13ec
push edx
mov ecx, esi
mov dword [esp + 0x5c], 0x32
call dword [sym.imp.wxmsw28_core_vc.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 + 0x20]
mov dword [esi], vtable.wxButton.0
or edi, 0xffffffff
jmp 0x40c00e
xor esi, esi
test bh, 0x20
je 0x40c034
mov eax, dword [esp + 0x24]
and bh, 0xdf
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, edi
je 0x40c034
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c034
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bh, 0x10
mov dword [esp + 0x3c], edi
je 0x40c05f
mov ecx, dword [esp + 0x1c]
and bh, 0xef
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, edi
je 0x40c05f
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c05f
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2d0]
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov dword [esp + 0x3c], 0x35
je 0x40c0a1
push 0
push 5
push 0x8f0
push 0
push esi
mov ecx, edi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxSizerItem::constructor_class_wxWindow___int__int__int__class_wxObject__]
mov dword [edi], vtable.wxSizerItem.0
jmp 0x40c0a3
xor edi, edi
push edi
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxSizerItem__]
push 0x154
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
test esi, esi
mov dword [esp + 0x3c], 0x36
pop edi
je 0x40c153
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_char_const__const_const_wxButtonNameStr]
lea ecx, [esp + 0x24]
push eax
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxString::constructor_char_const__]
or bh, 0x40
mov dword [esp + 0xc], ebx
push 0
push str.Cancel
mov byte [esp + 0x40], 0x37
call fcn.004035a0
add esp, 8
lea ecx, [esp + 0x14]
push eax
call dword [sym.imp.wxbase28_vc.dll_public:_void___thiscall_wxString::constructor_char_const__]
or bh, 0x80
mov dword [esp + 0xc], ebx
mov edx, dword [sym.imp.wxmsw28_core_vc.dll_class_wxValidator_const_wxDefaultValidator]
mov eax, dword [sym.imp.wxmsw28_core_vc.dll_class_wxSize_const_wxDefaultSize]
lea ecx, [esp + 0x24]
mov dword [esp + 0x38], 0x38
push ecx
mov ecx, dword [sym.imp.wxmsw28_core_vc.dll_class_wxPoint_const_wxDefaultPosition]
push edx
push 0
push eax
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x24]
push ecx
push edx
push 0x13ed
push eax
mov ecx, esi
call dword [sym.imp.wxmsw28_core_vc.dll_public:_void___thiscall_wxButton::constructor_class_wxWindow___int__class_wxString_const___class_wxPoint_const___class_wxSize_const___long_int__class_wxValidator_const___class_wxString_const__]
mov dword [esi], vtable.wxButton.0
jmp 0x40c155
xor esi, esi
test bh, 0x80
je 0x40c17d
mov ecx, dword [esp + 0x14]
and bh, 0x7f
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x40c17d
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c17d
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
test bh, 0x40
mov dword [esp + 0x38], 0xffffffff
je 0x40c1aa
mov edx, dword [esp + 0x24]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x40c1aa
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x40c1aa
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
push 0
push 5
push 0x8f0
push 0
push esi
mov ecx, ebp
call dword [sym.imp.wxmsw28_core_vc.dll_public:_class_wxSizerItem____thiscall_wxSizer::Add_class_wxWindow___int__int__int__class_wxObject__]
mov ecx, dword [esp + 0x30]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret