Function at 0x403620
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x408]
push ebx
lea ebx, [ebp - 0x40c]
sub esp, 0x440
call fcn.00401a70
mov ecx, 0xff
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x430], str._rtf1_TestSomeText
mov esi, eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x430]
mov dword [ebp - 0x42c], str._rtf1_TestSomeTextpar
mov edi, dword [sym.imp.user32.dll_SendMessageA]
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x418]
mov dword [ebp - 0x428], str._rtf1_TestSomeTextparpar
mov dword [ebp - 0x424], str._rtf1_ansi_ansicpg1252deff0deflang12298_fonttbl_f0_fswiss_fprq2_fcharset0_System__r_n_viewkind4uc1pard_f0_fs17_TestSomeTextpar_r_n_r_n
mov dword [ebp - 0x420], str.colortbl__red0green255_blue102__red255green255_blue255__red170green255_blue255__red255green238_blue0__red51green255_blue221__red238green238_blue238__tx0__tx424__tx848__tx1272__tx1696__tx2120__tx2544__tx2968__tx3392__tx3816__tx4240__tx4664__tx5088__tx5512__tx5936__tx6360__tx6784__tx7208__tx7632__tx8056__tx8480__tx8904__tx9328__tx9752__tx10176__tx10600__tx11024__tx11448__tx11872__tx12296__tx12720__tx13144_cf2_RichEdit1line_
mov dword [ebp - 0x41c], str.RichEdit1
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x410], 0x401150
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0x449
mov dword [esp], esi
call edi
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xd
mov dword [esp], esi
mov dword [ebp - 0x434], edi
call edi
sub esp, 0x10
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xdb
xor eax, eax
cmp edi, 0xc
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_returned__Id__expected_12_n
call fcn.004017f0
mov eax, dword [sym.imp.msvcrt.dll_strcmp]
mov dword [esp + 4], str.TestSomeText
mov dword [esp], ebx
mov dword [ebp - 0x438], eax
call eax
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xde
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_wrong_text:_Result:__s_n
call fcn.004017f0
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xe0
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], 0
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_error__ld__expected__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004017f0
lea ecx, [ebp - 0x418]
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x410], 0x401150
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x449
mov dword [esp], esi
mov edi, dword [ebp - 0x434]
call edi
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xd
mov dword [esp], esi
mov dword [ebp - 0x434], edi
call edi
sub esp, 0x10
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xea
xor eax, eax
cmp edi, 0xc
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_a_returned__Id__expected_12_n
call fcn.004017f0
mov dword [esp + 4], str.TestSomeText
mov dword [esp], ebx
mov eax, dword [ebp - 0x438]
call eax
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xed
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_a_set_wrong_text:_Result:__s_n
call fcn.004017f0
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xef
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], 0
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_error__ld__expected__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004017f0
lea ecx, [ebp - 0x418]
lea eax, [ebp - 0x428]
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x410], 0x401150
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x449
mov dword [esp], esi
mov edi, dword [ebp - 0x434]
call edi
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xd
mov dword [esp], esi
mov dword [ebp - 0x434], edi
call edi
sub esp, 0x10
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xf9
xor eax, eax
cmp edi, 0xe
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_b_returned__Id__expected_14_n
call fcn.004017f0
mov dword [esp + 4], str.TestSomeText_r_n
mov dword [esp], ebx
mov eax, dword [ebp - 0x438]
call eax
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xfc
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_b_set_wrong_text:_Result:__s_n
call fcn.004017f0
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0xfe
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], 0
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_error__ld__expected__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004017f0
lea ecx, [ebp - 0x418]
lea eax, [ebp - 0x424]
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x410], 0x401150
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x449
mov dword [esp], esi
mov edi, dword [ebp - 0x434]
call edi
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xd
mov dword [esp], esi
mov dword [ebp - 0x434], edi
call edi
sub esp, 0x10
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x107
xor eax, eax
cmp edi, 0xc
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_1_returned__Id__expected_12_n
call fcn.004017f0
mov dword [esp + 4], str.TestSomeText
mov dword [esp], ebx
mov eax, dword [ebp - 0x438]
call eax
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x10a
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_1_set_wrong_text:_Result:__s_n
call fcn.004017f0
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x10c
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], 0
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_error__ld__expected__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004017f0
lea eax, [ebp - 0x420]
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x418]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0x449
mov dword [esp], esi
mov edi, dword [ebp - 0x434]
call edi
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xd
mov dword [esp], esi
call edi
mov ecx, dword [0x41d050]
sub esp, 0x10
mov edi, eax
mov dword [ebp - 0x43c], ecx
call fcn.00406c60
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x43c]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x403bbe
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x116
xor eax, eax
cmp edi, 9
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_2_returned__Id__expected_9_n
call fcn.004017f0
call fcn.00406c60
shr dword [eax + 0x10], 1
call fcn.00406c60
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x403b88
mov dword [esp + 4], str.RichEdit1
mov dword [esp], ebx
mov eax, dword [ebp - 0x438]
call eax
mov ecx, dword [0x41d050]
mov edi, eax
mov dword [ebp - 0x438], ecx
call fcn.00406c60
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x438]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x403c55
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x11b
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_2_set_wrong_text:_Result:__s_n
call fcn.004017f0
call fcn.00406c60
shr dword [eax + 0x10], 1
call fcn.00406c60
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x403c20
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x11e
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], 0
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_error__ld__expected__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004017f0
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x418]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 8], 2
mov dword [esp + 4], 0x449
mov edi, dword [ebp - 0x434]
mov eax, edi
call eax
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp], esi
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0xd
call edi
sub esp, 0x10
mov edi, eax
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x126
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.EM_STREAMIN:_Test_3_returned__Id__expected_0_n
call fcn.004017f0
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x128
xor eax, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.EM_STREAMIN:_Test_3_set_wrong_text:_Result:__s_n
cmp byte [ebp - 0x40c], 0
sete al
mov dword [esp], eax
call fcn.004017f0
call fcn.00406c60
mov dword [eax], 0x40a147
mov dword [eax + 4], 0x12a
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], 0xfffffff0
cmp eax, 0xfffffff0
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.EM_STREAMIN:_Test_0_set_error__ld__expected__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004017f0
mov dword [esp], esi
call dword [sym.imp.user32.dll_DestroyWindow]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret