Function at 0xc36440
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0xd80cf8
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0xde16ec]
xor eax, esp
mov dword [esp + 0x1c], eax
push ebx
push edi
mov eax, dword [0xde16ec]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc3649f
mov dword [eax], vtable.._AV__MethodSlot1_XABV__basic_string_DU__char_traits_D_std__V__allocator_D_2__std__VView_ggadget__P834_AEXABV12__Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3de60
mov dword [esp + 0xc], eax
jmp 0xc364a7
mov dword [esp + 0xc], 0
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc364ca
mov dword [eax], vtable.._AV__MethodSlot0_V__basic_string_DU__char_traits_D_std__V__allocator_D_2__std____CBVView_ggadget__P834_BE_AV12_XZ_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3de70
jmp 0xc364cc
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 4]
push ecx
push eax
push str.caption
mov ecx, esi
call edx
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36500
mov dword [eax], vtable.ggadget::MethodSlot0_class_ggadget::ScriptableEvent___class_ggadget::View::Impl__unsigned_char____cdecl_ggadget::View::Impl::__class_ggadget::ScriptableEvent___void__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc39ed0
jmp 0xc36502
xor eax, eax
mov edx, dword [esi]
push 0
push eax
mov eax, dword [edx + 4]
push str.event
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36535
mov dword [eax], vtable.._AV__MethodSlot1_XABVVariant_ggadget__VImpl_View_2_P8342_AEXABV12__Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38840
mov ebx, eax
jmp 0xc36537
xor ebx, ebx
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36557
mov dword [eax], vtable.._AV__MethodSlot0_VVariant_ggadget____CBVImpl_View_2_P8342_BE_AV12_XZ_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38940
jmp 0xc36559
xor eax, eax
mov edx, dword [esi]
push ebx
push eax
mov eax, dword [edx + 4]
push str.width
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc3658b
mov dword [eax], vtable.._AV__MethodSlot1_XABVVariant_ggadget__VImpl_View_2_P8342_AEXABV12__Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38a60
mov ebx, eax
jmp 0xc3658d
xor ebx, ebx
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc365ad
mov dword [eax], vtable.._AV__MethodSlot0_VVariant_ggadget____CBVImpl_View_2_P8342_BE_AV12_XZ_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38b60
jmp 0xc365af
xor eax, eax
mov edx, dword [esi]
push ebx
push eax
mov eax, dword [edx + 4]
push str.height
mov ecx, esi
call eax
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc365e6
mov dword [eax], vtable.._AV__MethodSlot1_XNVView_ggadget__P812_AEXN_Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3b240
mov dword [esp + 0xc], eax
jmp 0xc365ee
mov dword [esp + 0xc], 0
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36611
mov dword [eax], vtable.ggadget::MethodSlot0_double__class_ggadget::View_const___unsigned_char____cdecl___declspec_dllexport__ggadget::View::__double__void__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3b230
jmp 0xc36613
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 4]
push ecx
push eax
push str.minWidth
mov ecx, esi
call edx
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc3664e
mov dword [eax], vtable.._AV__MethodSlot1_XNVView_ggadget__P812_AEXN_Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3b2d0
mov dword [esp + 0xc], eax
jmp 0xc36656
mov dword [esp + 0xc], 0
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36679
mov dword [eax], vtable.ggadget::MethodSlot0_double__class_ggadget::View_const___unsigned_char____cdecl___declspec_dllexport__ggadget::View::__double__void__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3b2c0
jmp 0xc3667b
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 4]
push ecx
push eax
push str.minHeight
mov ecx, esi
call edx
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc366b4
mov dword [eax + 4], ebx
mov dword [eax], vtable.._AV__MethodSlot1_XW4ResizableMode_ViewInterface_ggadget__VView_3_P843_AEXW4123__Z_ggadget__.0
mov dword [eax + 8], 0xc3de80
mov ebx, eax
jmp 0xc366b6
xor ebx, ebx
mov eax, dword [edi + 0x58]
push 0xc
mov dword [esp + 0x10], eax
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc366e1
mov ecx, dword [esp + 0xc]
mov dword [eax], vtable.._AV__MethodSlot0_W4ResizableMode_ViewInterface_ggadget____CBVView_3_P843_BE_AW4123_XZ_ggadget__.0
mov dword [eax + 4], ecx
mov dword [eax + 8], 0xc3de40
jmp 0xc366e3
xor eax, eax
mov edx, dword [esi]
push 3
push 0xde4d4c
push ebx
push eax
mov eax, dword [edx + 8]
push str.resizable
mov ecx, esi
call eax
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36721
mov dword [eax], vtable.._AV__MethodSlot1_X_NVView_ggadget__P812_AEX_N_Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3de30
mov dword [esp + 0xc], eax
jmp 0xc36729
mov dword [esp + 0xc], 0
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc3674c
mov dword [eax], vtable.ggadget::MethodSlot0_bool__class_ggadget::View_const___unsigned_char____cdecl___declspec_dllexport__ggadget::View::__bool__void__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3de50
jmp 0xc3674e
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 4]
push ecx
push eax
push str.showCaptionAlways
mov ecx, esi
call edx
lea ebx, [edi + 0x188]
mov dword [esp + 0x1c], 7
mov dword [esp + 0x14], ebx
mov dword [esp + 0x38], 0
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
lea ecx, [esp + 0x14]
push ecx
push str.children
mov ecx, esi
call edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], 0xffffffff
call fcn.00c446c0
push 0x10
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc367c6
mov ecx, 0xc4c220
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax], vtable.ggadget::MethodSlot1_class_ggadget::BasicElement___class_ggadget::Variant_const___class_ggadget::Elements__unsigned_char____cdecl_ggadget::Elements::__class_ggadget::BasicElement___class_ggadget::Variant_const___.0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
jmp 0xc367c8
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.appendElement
mov ecx, esi
call eax
push 0x10
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc367fd
mov ecx, fcn.00c4c230
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax], method.ggadget::Slot.virtual_0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
jmp 0xc367ff
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.insertElement
mov ecx, esi
call eax
push 0x10
mov dword [esp + 0x10], fcn.00c4c230
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc3683b
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax], method.ggadget::Slot.virtual_0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
jmp 0xc3683d
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.insertElementBehind
mov ecx, esi
call eax
push 0x10
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36872
mov ecx, 0xc4c310
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax], method.ggadget::Slot.virtual_0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
jmp 0xc36874
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.insertElementInFrontOf
mov ecx, esi
call eax
push 0x10
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc368a9
mov ecx, 0xc4c3b0
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax], vtable.ggadget::MethodSlot1_bool__class_ggadget::BasicElement___class_ggadget::Elements__unsigned_char____cdecl_ggadget::Elements::__bool__class_ggadget::BasicElement___.0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
jmp 0xc368ab
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.removeElement
mov ecx, esi
call eax
push 0x10
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc368e0
mov ecx, 0xc4c3f0
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax], vtable.._AV__MethodSlot0_XVElements_ggadget__P812_AEXXZ_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
jmp 0xc368e2
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.removeAllElements
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36911
mov dword [eax], vtable.ggadget::MethodSlot4_int__class_ggadget::Slot___int__int__int__class_ggadget::View::Impl__unsigned_char____cdecl_ggadget::View::Impl::__int__class_ggadget::Slot___int__int__int__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc3a460
jmp 0xc36913
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.beginAnimation
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
mov ebx, 0xc3a790
test eax, eax
je 0xc36943
mov dword [eax], vtable.._AV__MethodSlot1_XHVImpl_View_ggadget__P8123_AEXH_Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
jmp 0xc36945
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.cancelAnimation
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36974
mov dword [eax], vtable.ggadget::MethodSlot2_int__class_ggadget::Slot___int__class_ggadget::View::Impl__unsigned_char____cdecl_ggadget::View::Impl::__int__class_ggadget::Slot___int__.0
mov dword [eax + 4], edi
mov dword [eax + 8], fcn.00c3a550
jmp 0xc36976
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.setTimeout
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc369a1
mov dword [eax], vtable.._AV__MethodSlot1_XHVImpl_View_ggadget__P8123_AEXH_Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
jmp 0xc369a3
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.clearTimeout
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc369d2
mov dword [eax], vtable.ggadget::MethodSlot2_int__class_ggadget::Slot___int__class_ggadget::View::Impl__unsigned_char____cdecl_ggadget::View::Impl::__int__class_ggadget::Slot___int__.0
mov dword [eax + 4], edi
mov dword [eax + 8], fcn.00c3a670
jmp 0xc369d4
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.setInterval
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc369ff
mov dword [eax], vtable.._AV__MethodSlot1_XHVImpl_View_ggadget__P8123_AEXH_Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
jmp 0xc36a01
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.clearInterval
mov ecx, esi
call eax
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36a33
mov dword [eax], vtable.._AV__MethodSlot1_XPBD__CBVView_ggadget__P812_BEXPBD_Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], fcn.00c3bd20
jmp 0xc36a35
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.alert
mov ecx, esi
call eax
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36a69
mov dword [eax + 4], ebx
mov dword [eax], vtable.._AV__MethodSlot2_W4ConfirmResponse_ViewHostInterface_ggadget__PBD_N__CBVView_3_P843_BE_AW4123_PBD_N_Z_ggadget__.0
mov dword [eax + 8], 0xc3bd90
mov ebx, eax
jmp 0xc36a6b
xor ebx, ebx
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36a8b
mov dword [eax], vtable.SlotWithDefaultArgs.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xde5148
jmp 0xc36a8d
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.confirm
mov ecx, esi
call eax
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36abf
mov dword [eax], vtable.._AV__MethodSlot2_V__basic_string_DU__char_traits_D_std__V__allocator_D_2__std__PBDPBD__CBVView_ggadget__P834_BE_AV12_PBD0_Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3be20
jmp 0xc36ac1
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.prompt
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36af0
mov dword [eax], vtable.._AV__MethodSlot2_XNNVImpl_View_ggadget__P8123_AEXNN_Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38df0
jmp 0xc36af2
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.resizeBy
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36b21
mov dword [eax], vtable.._AV__MethodSlot2_XABVVariant_ggadget__ABV12_VImpl_View_2_P8342_AEXABV12_0_Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], fcn.00c38570
jmp 0xc36b23
xor eax, eax
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
push str.resizeTo
mov ecx, esi
call eax
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36b54
mov dword [eax], vtable.._AV__MethodSlot1_XABV__basic_string_DU__char_traits_D_std__V__allocator_D_2__std__VImpl_View_ggadget__P8345_AEXABV12__Z_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38e20
mov ebx, eax
jmp 0xc36b56
xor ebx, ebx
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36b76
mov dword [eax], vtable.._AV__MethodSlot0_V__basic_string_DU__char_traits_D_std__V__allocator_D_2__std__VImpl_View_ggadget__P8345_AE_AV12_XZ_ggadget__.0
mov dword [eax + 4], edi
mov dword [eax + 8], 0xc38eb0
jmp 0xc36b78
xor eax, eax
mov edx, dword [esi]
push ebx
push eax
mov eax, dword [edx + 4]
push str.resizeBorder
mov ecx, esi
call eax
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36baf
mov dword [eax], vtable.._AV__MethodSlot1_X_NVView_ggadget__P812_AEX_N_Z_ggadget__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3b360
mov dword [esp + 0xc], eax
jmp 0xc36bb7
mov dword [esp + 0xc], 0
mov ebx, dword [edi + 0x58]
push 0xc
call fcn.00d08a50
add esp, 4
test eax, eax
je 0xc36bda
mov dword [eax], vtable.ggadget::MethodSlot0_bool__class_ggadget::View_const___unsigned_char____cdecl___declspec_dllexport__ggadget::View::__bool__void__.0
mov dword [eax + 4], ebx
mov dword [eax + 8], 0xc3b350
jmp 0xc36bdc
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 4]
push ecx
push eax
push 0xd9d4c8
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x80]
push ecx
push str.oncancel
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x88]
push ecx
push str.onclick
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x90]
push ecx
push str.onclose
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x98]
push ecx
push str.ondblclick
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xa0]
push ecx
push str.onrclick
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xa8]
push ecx
push str.onrdblclick
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xb0]
push ecx
push str.ondock
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xb8]
push ecx
push str.onkeydown
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xc0]
push ecx
push str.onkeypress
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xc8]
push ecx
push str.onkeyup
mov ecx, esi
call edx
mov eax, dword [esi]
lea ecx, [edi + 0xd0]
push ecx
mov edx, dword [eax + 0x10]
push str.onminimize
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xd8]
push ecx
push str.onmousedown
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xe0]
push ecx
push str.onmousemove
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xe8]
push ecx
push str.onmouseout
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xf0]
push ecx
push str.onmouseover
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xf8]
push ecx
push str.onmouseup
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x100]
push ecx
push str.onmousewheel
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x108]
push ecx
push str.onok
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x110]
push ecx
push str.onopen
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x118]
push ecx
push str.onoptionchanged
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x120]
push ecx
push str.onpopin
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x128]
push ecx
push str.onpopout
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x130]
push ecx
push str.onrestore
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x138]
push ecx
push str.onsize
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x140]
push ecx
push str.onsizing
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x148]
push ecx
push str.onundock
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x150]
push ecx
push str.oncontextmenu
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
add edi, 0x158
push edi
push str.onthemechanged
mov ecx, esi
call edx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00d08a41
mov esp, ebp
pop ebp
ret