Function at 0x632e5a15
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x63301a80
call fcn.63301000
sub esp, 0xc4
push ebx
push esi
xor esi, esi
push edi
mov ebx, ecx
mov dword [ebp - 0x30], esi
call dword [sym.imp.basiclib.dll_public:_int___thiscall_CHHEditCtrl::GetAutoindent_void_const]
test eax, eax
je 0x632e6119
mov ecx, ebx
call sym.ed_st.dll_protected:_int___thiscall_SCEDITCTRL::IsCaretInsideCommentBlock_void_
test eax, eax
jne 0x632e6119
push 0xffffffffffffffff
mov ecx, ebx
call sub.MFC71U.DLL_ATL::CStringT::Left
mov edi, eax
lea eax, [ebp - 0x48]
push eax
dec edi
call fcn.632e1112
push dword [ebp - 0x44]
mov ecx, ebx
push dword [ebp - 0x48]
call sym.ed_st.dll_public:_unsigned_long_int___thiscall_SCEDITCTRL::GetCharFromPos_class_CPoint_
cmp edi, eax
je 0x632e6119
push 0xffffffffffffffff
push esi
push 0x436
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
dec edi
push edi
lea eax, [ebp - 0x64]
push eax
mov ecx, ebx
mov dword [ebp - 0x44], edi
call sym.ed_st.dll_public:_class_CSCString___thiscall_SCEDITCTRL::GetTextAtLine_long_int_
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], esi
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::MakeReverse]
push 0x63305810
lea ecx, [ebp - 0x88]
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t_const__]
push edi
sub esp, 0xc
lea eax, [ebp - 0x64]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_class_CSCString_const__]
lea eax, [ebp - 0x7c]
push eax
mov ecx, ebx
call sym.ed_st.dll_public:_class_CSCString___thiscall_SCEDITCTRL::GetBeginKeyword_class_CSCString__long_int_
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 2
call fcn.632e4c27
test al, al
mov esi, dword [sym.imp.sc_base.dll_public_virtual:_void___thiscall_CSCString::destructor_void_]
pop ecx
pop ecx
jne 0x632e60da
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], str.CASE
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, 0x100
push eax
lea ecx, [ebp - 0x70]
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t_const__]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 3
call fcn.632e4c3d
test al, al
pop ecx
pop ecx
je 0x632e5bce
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t_const__]
mov eax, dword [ebp - 0x14]
add eax, 0x80
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t_const__]
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.632e4c27
test al, al
pop ecx
pop ecx
jne 0x632e5c0e
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.632e4c3d
test al, al
pop ecx
pop ecx
je 0x632e5bb4
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.632e4c27
test al, al
pop ecx
pop ecx
jne 0x632e5c5a
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call esi
jmp 0x632e5be5
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.632e4c27
test al, al
pop ecx
pop ecx
jne 0x632e5c7b
inc dword [ebp - 0x34]
mov eax, 0x180
add dword [ebp - 0x18], eax
add dword [ebp - 0x14], eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call esi
cmp dword [ebp - 0x18], 0x900
jb 0x632e5b0e
jmp 0x632e60da
xor edi, edi
inc edi
push edi
push 9
lea ecx, [ebp - 0x4c]
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t__int_]
push dword [ebp - 0x48]
push edi
push 0xc2
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x4c]
call esi
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call esi
jmp 0x632e60dd
xor eax, eax
inc eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 4
call esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call esi
mov eax, dword [ebp - 0x34]
test eax, eax
jl 0x632e60c2
lea eax, [eax + eax*2]
shl eax, 7
mov dword [ebp - 0x2c], eax
lea eax, [eax + str.END_CASE]
push 0
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Find]
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
jne 0x632e5cf0
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x84]
lea eax, [eax + 0x63319280]
push ecx
push eax
call fcn.632e4c69
test al, al
pop ecx
pop ecx
je 0x632e5ce6
mov eax, dword [ebp - 0x2c]
push 0
lea eax, [eax + 0x63319280]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Find]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
je 0x632e60c2
test edi, edi
jne 0x632e5cfb
xor edi, edi
jmp 0x632e60dd
dec edi
and dword [ebp - 0x10], 0
mov dword [ebp - 0x18], edi
jmp 0x632e5e0a
push edi
lea eax, [ebp - 0xa0]
push eax
mov ecx, ebx
call sym.ed_st.dll_public:_class_CSCString___thiscall_SCEDITCTRL::GetTextAtLine_long_int_
push edi
sub esp, 0xc
lea eax, [ebp - 0xa0]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
mov byte [ebp - 4], 6
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_class_CSCString_const__]
lea eax, [ebp - 0x58]
push eax
mov ecx, ebx
call sym.ed_st.dll_public:_class_CSCString___thiscall_SCEDITCTRL::GetBeginKeyword_class_CSCString__long_int_
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.632e4c3d
test al, al
pop ecx
pop ecx
je 0x632e5dee
mov eax, dword [ebp - 0x2c]
lea eax, [eax + str.END_CASE]
push eax
lea ecx, [ebp - 0x54]
call dword [sym.imp.MFC71U.DLL_CWinThread::CommonConstruct]
test eax, eax
jne 0x632e5d72
inc dword [ebp - 0x10]
jmp 0x632e5da7
mov eax, dword [ebp - 0x2c]
lea eax, [eax + str.CASE]
push eax
lea ecx, [ebp - 0x54]
call dword [sym.imp.MFC71U.DLL_CWinThread::CommonConstruct]
test eax, eax
jne 0x632e5da7
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Find]
cmp dword [ebp - 0x10], 0
mov edi, eax
mov dword [ebp - 0x20], edi
je 0x632e5e17
dec dword [ebp - 0x10]
xor edi, edi
cmp dword [ebp - 0x10], edi
jne 0x632e5dee
cmp dword [ebp - 0x1c], edi
je 0x632e5dee
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], str.CASE
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x34]
je 0x632e5dd9
push dword [ebp - 0x24]
lea ecx, [ebp - 0x54]
call dword [sym.imp.MFC71U.DLL_CWinThread::CommonConstruct]
test eax, eax
je 0x632e60ff
inc dword [ebp - 0x20]
mov eax, 0x180
add dword [ebp - 0x24], eax
add edi, eax
cmp edi, 0x900
jb 0x632e5dbd
mov edi, dword [ebp - 0x18]
dec edi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 6
call esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call esi
test edi, edi
jge 0x632e5d08
jmp 0x632e60c2
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call esi
cmp edi, 0xffffffff
je 0x632e60c2
cmp edi, dword [ebp - 0x14]
je 0x632e60c2
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x44]
mov edi, dword [eax - 0xc]
mov ecx, ebx
call sub.MFC71U.DLL_ATL::CStringT::Left
push 0
push 1
push 0x43f
push dword [ebx + 0x20]
mov dword [ebp - 0x24], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x24]
add eax, edi
push eax
push dword [ebp - 0x24]
mov ecx, ebx
call sub.MFC71U.DLL_CPropertySection::SetSectionName
lea ecx, [ebp - 0xc4]
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_void_]
lea eax, [ebp - 0xc0]
push eax
mov ecx, ebx
mov byte [ebp - 4], 8
call dword [sym.imp.basiclib.dll_public:_long_int___thiscall_CHHEditCtrl::GetSelText_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____]
push edi
push 0
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Mid]
push dword [eax]
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t_const__]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xb
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
push dword [ebp - 0xc0]
lea ecx, [ebp - 0xcc]
call dword [sym.imp.MFC71U.DLL_CWinThread::CommonConstruct]
test eax, eax
jne 0x632e6098
push dword [ebp - 0x18]
lea eax, [ebp - 0xac]
push eax
mov ecx, ebx
call sym.ed_st.dll_public:_class_CSCString___thiscall_SCEDITCTRL::GetTextAtLine_long_int_
push dword [ebp - 0x18]
lea eax, [ebp - 0xac]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
mov byte [ebp - 4], 0xc
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_class_CSCString_const__]
lea eax, [ebp - 0x40]
push eax
mov ecx, ebx
call sym.ed_st.dll_public:_class_CSCString___thiscall_SCEDITCTRL::GetBeginKeyword_class_CSCString__long_int_
lea ecx, [ebp - 0x84]
push ecx
mov ecx, eax
add eax, 4
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
call fcn.632e4c3d
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x25], al
call esi
cmp byte [ebp - 0x25], 0
je 0x632e608c
push 0x63305810
lea ecx, [ebp - 0x40]
call dword [sym.imp.sc_base.dll_public:_void___thiscall_CSCString::constructor_wchar_t_const__]
and dword [ebp - 0x10], 0
cmp dword [ebp - 0x20], 0
mov byte [ebp - 4], 0xd
jle 0x632e5f81
push dword [ebp - 0x10]
lea ecx, [ebp - 0xa8]
call dword [sym.imp.MFC71U.DLL_CMapWordToPtr::GetAssocAt]
push eax
call dword [sym.imp.MSVCR71.dll_iswspace]
test eax, eax
pop ecx
je 0x632e5f81
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x20]
jl 0x632e5f5b
sub edi, dword [ebp - 0x14]
lea eax, [ebp - 0x18]
push edi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x60]
push eax
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Mid]
mov edi, eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xe
call dword [sym.imp.MFC71U.DLL_CToolBar::Layout]
push edi
push eax
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0xf
call fcn.632e4b42
add esp, 0xc
push dword [eax]
mov edi, dword [sym.imp.sc_base.dll_public:_class_CSCString_const____thiscall_CSCString::operator_wchar_t_const__]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x10
call edi
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
lea ecx, [ebp - 0x20]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xd
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
push dword [ebp - 0x3c]
push 1
push 0xc2
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax - 0xc]
push 0x63305920
mov dword [ebp - 0x1c], eax
call dword [sym.imp.MSVCR71.dll_wcslen]
add eax, dword [ebp - 0x24]
pop ecx
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx - 1]
mov ecx, dword [ebp - 0x14]
add ecx, eax
push ecx
push eax
mov ecx, ebx
call sub.MFC71U.DLL_CPropertySection::SetSectionName
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0xa8]
call dword [sym.imp.MFC71U.DLL_CToolBar::Layout]
push dword [eax]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x11
call edi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
cmp dword [ebp - 0x30], 0
je 0x632e6070
push 9
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator]
and dword [ebp - 0x30], 0
push dword [ebp - 0x3c]
push 1
push 0xc2
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xc
call esi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xb
call esi
push 0
push 0
push 0x43f
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 8
call esi
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 2
call esi
cmp dword [ebp - 0x30], 0
je 0x632e60da
push 0
push 9
push 0x100
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
xor edi, edi
inc edi
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 1
call esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call esi
mov eax, edi
jmp 0x632e611c
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call esi
jmp 0x632e5cf4
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret