Function at 0x6500ccf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x174
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
test ebx, ebx
jne 0x6500cd99
test edi, edi
je 0x6500d6c0
mov eax, dword [0x652b22d4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
test edi, edi
je 0x6500cd59
mov dword [esp + 0x3c], edi
nop word [eax + eax]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x4c]
call fcn.6500c280
mov eax, dword [edi + 0x14]
test byte [eax + 8], 1
jne 0x6500cd59
mov ecx, edi
call dword [0x652b23a4]
mov edi, eax
mov dword [esp + 0x3c], edi
test edi, edi
jne 0x6500cd30
test ebx, ebx
je 0x6500d004
mov esi, ebx
mov dword [esp + 0x3c], esi
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x48]
call fcn.6500c280
mov eax, dword [esi + 0x14]
test byte [eax + 8], 1
jne 0x6500d004
mov ecx, esi
call dword [0x652b23a4]
mov esi, eax
mov dword [esp + 0x3c], esi
test esi, esi
jne 0x6500cd67
jmp 0x6500d004
cmp ebx, edi
je 0x6500d6c0
mov eax, dword [0x652b22d4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
test edi, edi
je 0x6500cd59
mov ecx, ebx
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, edi
mov esi, eax
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
cmp eax, esi
jne 0x6500cd22
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x4c], 0
mov ecx, esi
mov dword [esp + 0x3c], ebx
mov eax, dword [esi + 0x14]
test byte [eax + 8], 1
jne 0x6500ce05
xor esi, esi
call dword [0x652b23a4]
mov ecx, eax
test ecx, ecx
je 0x6500cdfe
mov eax, dword [ecx + 0x14]
inc esi
test byte [eax + 8], 1
je 0x6500cde8
mov dword [esp + 0x4c], esi
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x14]
mov ecx, edi
test byte [eax + 8], 1
jne 0x6500ce2a
call dword [0x652b23a4]
mov ecx, eax
test ecx, ecx
je 0x6500ce26
mov eax, dword [ecx + 0x14]
inc ebx
test byte [eax + 8], 1
je 0x6500ce10
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x3c]
mov ebx, esi
mov ecx, dword [esp + 0x4c]
mov esi, edi
cmp eax, ecx
jge 0x6500ce5f
mov esi, ecx
sub esi, eax
sub ecx, esi
mov dword [esp + 0x4c], ecx
mov ecx, ebx
call dword [0x652b23a4]
mov ebx, eax
sub esi, 1
jne 0x6500ce44
mov eax, dword [esp + 0x3c]
mov esi, edi
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jle 0x6500ce79
mov edi, dword [esp + 0x3c]
sub edi, ecx
mov ecx, esi
call dword [0x652b23a4]
mov esi, eax
sub edi, 1
jne 0x6500ce67
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x14]
test byte [eax + 8], 1
jne 0x6500cea3
cmp ebx, esi
je 0x6500cea3
mov ecx, ebx
call dword [0x652b23a4]
mov ecx, esi
mov ebx, eax
call dword [0x652b23a4]
mov esi, eax
mov eax, dword [ebx + 0x14]
test byte [eax + 8], 1
je 0x6500ce82
mov dword [esp + 0x3c], edi
cmp edi, esi
je 0x6500ced0
nop dword [eax + eax]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x4c]
call fcn.6500c280
mov ecx, edi
call dword [0x652b23a4]
mov edi, eax
mov dword [esp + 0x3c], edi
cmp edi, esi
jne 0x6500ceb0
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x6500d002
nop dword [eax + eax]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
cmp eax, 1
je 0x6500cfdf
test eax, eax
je 0x6500cfdf
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], 0x7fffffff
push 1
mov ecx, dword [eax + 8]
lea eax, [eax + ecx*4]
add eax, 0x10
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x40]
push eax
call dword [0x652b23d0]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
add edx, 4
mov dword [esp + 0x54], eax
mov esi, dword [ecx + 8]
add edx, esi
add esi, 4
lea eax, [ecx + edx*4]
lea edx, [ecx + esi*4]
mov esi, dword [esp + 0x4c]
cmp esi, edx
je 0x6500cf61
sub eax, edx
sar eax, 2
test eax, eax
jle 0x6500cf61
shl eax, 2
push eax
push esi
push edx
call fcn.652afd9b
mov ecx, dword [esp + 0x50]
add esp, 0xc
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
lea eax, [eax + esi*4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0xc]
add eax, 4
lea edx, [ecx + eax*4]
mov eax, dword [ecx + 8]
add eax, esi
mov esi, dword [esp + 0x50]
lea ecx, [ecx + eax*4]
add ecx, 0x14
cmp esi, ecx
je 0x6500cfa7
sub edx, ecx
sar edx, 2
test edx, edx
jle 0x6500cfa7
lea eax, [edx*4]
push eax
push esi
push ecx
call fcn.652afd9b
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
test eax, eax
je 0x6500cfc4
cmp eax, 0xffffffff
je 0x6500cfce
or eax, 0xffffffff
lock xadd dword [ecx], eax
setne al
test al, al
jne 0x6500cfce
push ecx
call dword [0x652b23cc]
add esp, 4
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
add ecx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 0x10], edi
jmp 0x6500cfeb
lea ecx, [esp + 0x44]
call dword [0x652b23c4]
mov dword [eax], edi
mov ecx, edi
call dword [0x652b23a4]
mov edi, eax
cmp edi, ebx
jne 0x6500cee0
mov ebx, dword [ebp + 8]
jmp 0x6500d004
mov ebx, edi
push 0xb
lea ecx, [esp + 0x80]
call dword [0x652b222c]
mov ecx, dword [esp + 0x48]
mov esi, dword [0x652b3d88]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
sub eax, edx
test eax, eax
jle 0x6500d1da
xor ebx, ebx
nop
lea eax, [edx + ebx]
mov edi, dword [ecx + eax*4 + 0x10]
call esi
push eax
mov ecx, 0x6540e41c
call dword [0x652b23e8]
mov ecx, eax
test ecx, ecx
je 0x6500d0da
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x6500d0da
mov eax, dword [eax + 4]
test eax, eax
je 0x6500d0da
cmp dword [ecx + 0x18], 0
je 0x6500d0da
call esi
push eax
mov ecx, 0x6540e41c
call dword [0x652b23e8]
test eax, eax
je 0x6500d083
mov eax, dword [eax + 0x14]
test eax, eax
je 0x6500d083
mov eax, dword [eax + 4]
mov ecx, dword [sym.Qt5Widgets.dll_class_QList_class_QWidget____QApplicationPrivate::popupWidgets]
test ecx, ecx
je 0x6500d0a9
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov esi, dword [eax + 8]
cmp edx, esi
je 0x6500d0a9
mov ecx, eax
mov eax, dword [ecx + 8]
sub eax, esi
add eax, edx
cmp dword [ecx + eax*4 + 0xc], 0
jne 0x6500d0da
mov ecx, edi
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QWindow____thiscall_QWidget::windowHandle_void_const
test eax, eax
je 0x6500d0da
mov ecx, dword [sym.Qt5Widgets.dll_class_QApplicationPrivate__QApplicationPrivate::self]
push 0
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
jne 0x6500d1bc
lea eax, [esp + 0x7c]
push eax
push edi
call dword [0x652b238c]
add esp, 8
mov ecx, edi
push 0x4a
call sym.Qt5Widgets.dll_private:_bool___thiscall_QWidget::testAttribute_helper_enum_Qt::WidgetAttribute_const
test al, al
je 0x6500d1bc
call sym.Qt5Widgets.dll_public:_static_class_QWidget____cdecl_QApplication::activePopupWidget_void_
test eax, eax
je 0x6500d119
mov ecx, edi
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov esi, eax
call sym.Qt5Widgets.dll_public:_static_class_QWidget____cdecl_QApplication::activePopupWidget_void_
cmp eax, esi
jne 0x6500d1bc
lea eax, [esp + 0x74]
push eax
call dword [0x652b3d74]
add esp, 4
mov ecx, edi
mov esi, dword [eax]
mov eax, dword [sym.Qt5Widgets.dll_class_QApplicationPrivate__QApplicationPrivate::self]
add eax, 0xb8
push eax
lea eax, [esp + 0xbc]
push eax
call sym.Qt5Widgets.dll_public:_class_QPoint___thiscall_QWidget::mapFromGlobal_class_QPoint_const__
push esi
lea ecx, [esp + 0xf4]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x9c], xmm0
movd xmm0, dword [eax + 4]
lea eax, [esp + 0x9c]
cvtdq2pd xmm0, xmm0
push eax
lea eax, [esp + 0xd8]
push eax
push 0x80
movsd qword [esp + 0xb0], xmm0
movaps xmm0, xmmword [0x652b4bc0]
movups xmmword [esp + 0xe0], xmm0
call dword [0x652b3d1c]
call dword [0x652b2390]
mov ecx, dword [eax + 4]
lea eax, [esp + 0xf0]
push eax
push edi
call sym.Qt5Widgets.dll_public:_bool___thiscall_QApplicationPrivate::notify_helper_class_QObject___class_QEvent__
lea ecx, [esp + 0xf0]
call dword [0x652b3d18]
mov ecx, dword [esp + 0x48]
inc ebx
mov esi, dword [0x652b3d88]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
sub eax, edx
cmp ebx, eax
jl 0x6500d030
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 8]
je 0x6500d481
mov esi, dword [ebp + 0x10]
sub esp, 8
movsd xmm0, qword [esi]
movsd qword [esp], xmm0
call dword [0x652b2294]
add esp, 8
test al, al
je 0x6500d21c
mov dword [esp + 0x64], 0xffffff
lea eax, [esp + 0x64]
mov dword [esp + 0x68], 0xffffff
jmp 0x6500d22c
lea eax, [esp + 0xc0]
mov ecx, esi
push eax
call dword [0x652b225c]
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + eax*4 + 0xc]
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QPoint___thiscall_QWidget::mapFromGlobal_class_QPoint_const__
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0xc]
add ecx, 4
lea esi, [eax + ecx*4]
mov ecx, dword [eax + 8]
lea eax, [eax + ecx*4]
add eax, 0x10
mov dword [esp + 0x3c], eax
cmp esi, eax
je 0x6500d47d
mov ebx, dword [ebp + 0x10]
nop
mov edi, dword [esi - 4]
add esi, 0xfffffffc
mov dword [esp + 0x50], edi
call dword [0x652b3d88]
push eax
mov ecx, 0x6540e41c
call dword [0x652b23e8]
mov ecx, eax
test ecx, ecx
je 0x6500d343
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x6500d343
mov eax, dword [eax + 4]
test eax, eax
je 0x6500d343
cmp dword [ecx + 0x18], 0
je 0x6500d343
call dword [0x652b3d88]
push eax
mov ecx, 0x6540e41c
call dword [0x652b23e8]
test eax, eax
je 0x6500d2e6
mov eax, dword [eax + 0x14]
test eax, eax
je 0x6500d2e6
mov eax, dword [eax + 4]
mov ecx, dword [sym.Qt5Widgets.dll_class_QList_class_QWidget____QApplicationPrivate::popupWidgets]
test ecx, ecx
je 0x6500d312
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
cmp edx, eax
je 0x6500d312
mov ecx, dword [ecx]
mov eax, dword [ecx + 8]
sub eax, dword [esp + 0x54]
add eax, edx
cmp dword [ecx + eax*4 + 0xc], 0
jne 0x6500d343
mov ecx, edi
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QWindow____thiscall_QWidget::windowHandle_void_const
test eax, eax
je 0x6500d343
mov ecx, dword [sym.Qt5Widgets.dll_class_QApplicationPrivate__QApplicationPrivate::self]
push 0
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
jne 0x6500d470
lea eax, [esp + 0x5c]
mov ecx, edi
push eax
lea eax, [esp + 0xcc]
push eax
call sym.Qt5Widgets.dll_public:_class_QPoint___thiscall_QWidget::mapFromGlobal_class_QPoint_const__
push ebx
lea ecx, [esp + 0x144]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x8c], xmm0
movd xmm0, dword [eax + 4]
lea eax, [esp + 0xac]
cvtdq2pd xmm0, xmm0
push eax
lea eax, [esp + 0x90]
push eax
movsd qword [esp + 0x9c], xmm0
movd xmm0, dword [esp + 0x78]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0xb4], xmm0
movd xmm0, dword [esp + 0x7c]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0xbc], xmm0
call dword [0x652b3d40]
lea eax, [esp + 0x140]
push eax
push edi
call dword [0x652b238c]
add esp, 8
mov ecx, edi
push 0x4a
call sym.Qt5Widgets.dll_private:_bool___thiscall_QWidget::testAttribute_helper_enum_Qt::WidgetAttribute_const
test al, al
je 0x6500d463
call sym.Qt5Widgets.dll_public:_static_class_QWidget____cdecl_QApplication::activePopupWidget_void_
test eax, eax
je 0x6500d400
mov ecx, edi
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov edi, eax
call sym.Qt5Widgets.dll_public:_static_class_QWidget____cdecl_QApplication::activePopupWidget_void_
cmp eax, edi
jne 0x6500d463
mov edi, dword [esp + 0x50]
lea eax, [esp + 0x78]
push eax
call dword [0x652b3d74]
movaps xmm0, xmmword [0x652b4bc0]
lea ecx, [esp + 0xf4]
add esp, 4
mov eax, dword [eax]
movups xmmword [esp + 0xe0], xmm0
push eax
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x90]
push eax
push 0x7f
call dword [0x652b3d1c]
call dword [0x652b2390]
mov ecx, dword [eax + 4]
lea eax, [esp + 0xf0]
push eax
push edi
call sym.Qt5Widgets.dll_public:_bool___thiscall_QApplicationPrivate::notify_helper_class_QObject___class_QEvent__
lea ecx, [esp + 0xf0]
call dword [0x652b3d18]
lea ecx, [esp + 0x140]
call dword [0x652b3d3c]
cmp esi, dword [esp + 0x3c]
jne 0x6500d280
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x48]
test ebx, ebx
je 0x6500d4a6
mov eax, dword [ebx + 0x14]
test byte [eax + 8], 1
je 0x6500d49f
push 0x67
mov ecx, ebx
call sym.Qt5Widgets.dll_private:_bool___thiscall_QWidget::testAttribute_helper_enum_Qt::WidgetAttribute_const
mov ecx, dword [esp + 0x48]
test al, al
je 0x6500d4a6
mov byte [esp + 0x43], 1
jmp 0x6500d4ab
mov byte [esp + 0x43], 0
mov eax, dword [ecx + 0xc]
xor edx, edx
mov esi, dword [ecx + 8]
xor edi, edi
sub eax, esi
mov dword [esp + 0x3c], edx
test eax, eax
jle 0x6500d5dd
lea eax, [esi + edx]
mov esi, dword [ecx + eax*4 + 0x10]
test esi, esi
je 0x6500d536
mov eax, dword [esi + 0x14]
test byte [eax + 8], 1
jne 0x6500d536
push 0x26
mov ecx, esi
call sym.Qt5Widgets.dll_private:_bool___thiscall_QWidget::testAttribute_helper_enum_Qt::WidgetAttribute_const
test al, al
je 0x6500d51d
mov ecx, esi
call dword [0x652b23a4]
mov edi, eax
test edi, edi
je 0x6500d51d
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [edi + 4]
test dword [ecx + 0xac], 0x40000
je 0x6500d51d
mov ecx, edi
call dword [0x652b23a4]
mov edi, eax
test edi, edi
jne 0x6500d500
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
inc edx
mov dword [esp + 0x3c], edx
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
sub eax, esi
cmp edx, eax
jl 0x6500d4c3
test edi, edi
je 0x6500d5dd
cmp byte [esp + 0x43], 0
je 0x6500d55d
mov ecx, edi
call sym.Qt5Widgets.dll_public:_unsigned_int___thiscall_QWidget::effectiveWinId_void_const
mov ecx, ebx
mov esi, eax
call sym.Qt5Widgets.dll_public:_unsigned_int___thiscall_QWidget::effectiveWinId_void_const
cmp esi, eax
je 0x6500d5e4
mov ecx, edi
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QGraphicsProxyWidget____thiscall_QWidget::graphicsProxyWidget_void_const
test eax, eax
jne 0x6500d5dd
call dword [0x652b2390]
test eax, eax
je 0x6500d5a7
mov ecx, dword [0x654150d8]
test ecx, ecx
je 0x6500d58c
mov eax, dword [ecx + 0x14]
cmp byte [eax + 8], 0x11
je 0x6500d5cb
push 0x18
call fcn.652ae448
add esp, 4
mov ecx, eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QDesktopWidget::constructor_void_
mov ecx, eax
mov dword [0x654150d8], ecx
jmp 0x6500d5cb
push 0
push 0
push 0
lea ecx, [esp + 0x138]
call dword [0x652b2438]
push str.Must_construct_a_QApplication_first.
push eax
call dword [0x652b2434]
add esp, 8
xor ecx, ecx
push 1
cmp ebx, ecx
jne 0x6500d5d4
push ebx
jmp 0x6500d5d5
push edi
call fcn.65034980
add esp, 8
cmp byte [esp + 0x43], 0
je 0x6500d652
mov eax, dword [ebx + 0x14]
test byte [eax + 8], 1
jne 0x6500d609
nop dword [eax]
test byte [eax + 4], 1
je 0x6500d609
mov ecx, ebx
call dword [0x652b23a4]
mov ebx, eax
mov eax, dword [ebx + 0x14]
test byte [eax + 8], 1
je 0x6500d5f0
mov ecx, ebx
call sym.Qt5Widgets.dll_public:_class_QWidget____thiscall_QWidget::topLevelWidget_void_const
mov ecx, eax
call sym.Qt5Widgets.dll_public:_class_QGraphicsProxyWidget____thiscall_QWidget::graphicsProxyWidget_void_const
test eax, eax
je 0x6500d647
push ebx
call sym.Qt5Widgets.dll_public:_static_class_QGraphicsProxyWidget____cdecl_QWidgetPrivate::nearestGraphicsProxyWidget_class_QWidget_const__
add esp, 4
mov esi, eax
lea eax, [esp + 0x58]
mov ecx, ebx
push eax
call sym.Qt5Widgets.dll_public:_class_QCursor___thiscall_QWidget::cursor_void_
push eax
lea ecx, [esi + 8]
call sym.Qt5Widgets.dll_public:_void___thiscall_QGraphicsItem::setCursor_class_QCursor_const__
lea ecx, [esp + 0x58]
call dword [0x652b3d4c]
jmp 0x6500d652
push 1
push ebx
call fcn.65034980
add esp, 8
lea ecx, [esp + 0x7c]
call dword [0x652b2228]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x6500d67e
or edx, 0xffffffff
cmp eax, edx
je 0x6500d692
mov eax, dword [esp + 0x44]
mov ecx, edx
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x6500d692
push dword [esp + 0x44]
mov ebx, dword [0x652b23cc]
call ebx
add esp, 4
or edx, 0xffffffff
jmp 0x6500d698
mov ebx, dword [0x652b23cc]
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
test eax, eax
je 0x6500d6b7
cmp eax, 0xffffffff
je 0x6500d6c0
mov eax, dword [esp + 0x48]
lock xadd dword [eax], edx
dec edx
setne al
test al, al
jne 0x6500d6c0
push dword [esp + 0x48]
call ebx
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret