Function at 0x491550
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x454
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
push str.Submit
push esi
mov dword [esp + 0x48], ecx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
mov edi, dword [ebp + 0xc]
add esp, 8
test eax, eax
sete bl
movzx eax, byte [edi + 4]
add eax, 0xfffffff3
cmp eax, 5
ja case.default.0x49158d
jmp dword [eax*4 + 0x492008]
cmp byte [edi + 5], 0
mov eax, dword [edi]
push 0
push 0
jge 0x4915b0
push 0x472
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
jmp 0x4915bf
push 0x468
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
movsx edi, ax
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x4915cb
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x4915e4
and cl, 0x3d
mov byte [esi + 0x15], cl
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
mov eax, edi
cdq
and cl, 0x9b
mov dword [esi], eax
or cl, 0x18
mov dword [esi + 4], edx
mov byte [esi + 0x15], cl
jge 0x491e75
mov ecx, esi
call fcn.004014a0
and byte [esi + 0x15], 0x8f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x400
push dword [edi]
call esi
cmp byte [edi + 5], 0
mov ebx, eax
jge 0x491654
push 0
push 0
push 0x402
push dword [edi]
call esi
push 0
push 0
push 0x401
push dword [edi]
mov esi, eax
sub esi, ebx
call dword [sym.imp.USER32.dll_SendMessageA]
lea ebx, [esi + eax]
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x491660
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x491679
and cl, 0x3d
mov byte [esi + 0x15], cl
mov ecx, dword [esi]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov cl, byte [esi + 0x15]
mov eax, ebx
jmp 0x4915e6
test bl, bl
jne 0x491ff7
push 0
push 0
push 0x408
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
jmp 0x4915bf
lea eax, [esp + 0x20]
push eax
push 0
push 0x1001
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x49170d
movzx eax, word [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
lea eax, [esp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405ed0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x80]
add esp, 0x20
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 8]
mov eax, 0x4c3c29
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xfffffffffffffff0
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowLongA]
lea ecx, [esp + 0x20]
and eax, 2
mov eax, dword [edi]
push ecx
push 0
je 0x4917e5
push 0x1005
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
movzx eax, word [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
lea eax, [esp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405ed0
movzx eax, word [esp + 0x5c]
push eax
movzx eax, word [esp + 0x5e]
push eax
movzx eax, word [esp + 0x60]
push eax
movzx eax, word [esp + 0x62]
push eax
movzx eax, word [esp + 0x62]
push eax
movzx eax, word [esp + 0x64]
push eax
lea eax, [esp + 0xa1]
mov byte [esp + 0xa0], 0x2d
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405ed0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0xa0]
add esp, 0x40
push 1
push 0
push 0x11
push eax
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x1001
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
movzx eax, word [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
lea eax, [esp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405ed0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x80]
add esp, 0x20
push 1
push 0
push 8
push eax
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
push 0
push 0x402
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esp + 0x60]
mov ecx, eax
call fcn.00495780
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x60]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.Text
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
add esp, 8
test eax, eax
je case.0x4918aa.12
movzx eax, byte [edi + 4]
dec eax
cmp eax, 0x16
ja case.0x4918aa.12
movzx eax, byte [eax + 0x492040]
jmp dword [eax*4 + 0x492020]
push 0
push 0
push 0xf0
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
sub eax, 0
je 0x49190c
sub eax, 1
je 0x4918f0
sub eax, 1
jne 0x491efa
mov ecx, dword [ebp + 8]
push 1
push eax
push 0xffffffffffffffff
push 0x4c9674
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 8]
push 1
push 0
push 0xffffffffffffffff
push 0x4c40b0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 8]
push 1
push 0
push 0xffffffffffffffff
push 0x4c3cb0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test byte [edi + 5], 2
je case.0x4918aa.12
push 0
push 0
push 0x147
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
cmp edi, 0xffffffff
je 0x491b47
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x49195a
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x491973
mov eax, dword [esi]
and cl, 0x3d
mov byte [esi + 0x15], cl
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
lea eax, [edi + 1]
jmp 0x4915e6
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x147
push dword [edi]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4919c9
push 0x400
lea eax, [esp + 0x64]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je case.0x4918aa.12
lea eax, [esp + 0x60]
push eax
push ebx
push 0x158
push dword [edi]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je case.0x4918aa.12
test byte [edi + 5], 2
je 0x4919fc
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x4919db
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x4919f4
and cl, 0x3d
mov byte [esi + 0x15], cl
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
lea eax, [ebx + 1]
jmp 0x4915e6
push 0
push ebx
push 0x149
push dword [edi]
call esi
push 1
push 0
cmp eax, 0xffffffff
je 0x491b4b
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
push 0
call fcn.004b04f0
cmp eax, 1
jne 0x491efa
push 0
push eax
mov ecx, esi
call fcn.00401640
push eax
push ebx
push 0x148
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov cl, byte [esi + 0x17]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x491aa8
test cl, cl
jne 0x491a57
mov eax, dword [esi + 0xc]
jmp 0x491a59
mov eax, esi
cmp byte [eax + 0x17], 2
jne 0x491a8c
cmp dword [0x4dba88], 0
je 0x491a8c
push 1
mov ecx, 0x4dba7c
call fcn.00406200
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
and byte [eax + 0x15], 0x86
mov ecx, esi
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test cl, cl
jne 0x491ab1
mov edi, dword [esi + 0xc]
jmp 0x491ab3
mov edi, esi
cmp byte [edi + 0x17], 1
jne 0x491ad0
test byte [edi + 0x15], 8
je 0x491ac6
mov ecx, edi
call fcn.004014a0
add edi, 0xc
mov dword [edi], ebx
jmp 0x491fd7
mov edi, 0x4dd524
mov dword [edi], ebx
jmp 0x491fd7
push 0xfffffffffffffff0
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowLongA]
and eax, 0x808
mov eax, dword [edi]
push 0
push 0
je 0x491cd2
push 0x190
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, eax
cmp ebx, 1
jl 0x491b47
lea eax, [ebx*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x491b47
push esi
push ebx
push 0x191
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x1c], eax
cmp eax, 1
jge 0x491b60
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 1
push 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push 0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
dec eax
test byte [edi + 5], 2
mov dword [esp + 0x18], eax
mov ebx, eax
je 0x491bab
xor edi, edi
nop
push 0xa
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi + edi*4]
inc eax
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
lea ecx, [esp + 0x6c]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491b90
sub ecx, edx
inc edi
add ebx, ecx
cmp edi, dword [esp + 0x1c]
jl 0x491b70
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x10], ebx
jmp 0x491bdc
xor esi, esi
nop dword [eax]
mov eax, dword [esp + 0x14]
push 0
push dword [eax + esi*4]
push 0x18a
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x491cac
add ebx, eax
inc esi
mov dword [esp + 0x10], ebx
cmp esi, dword [esp + 0x1c]
jl 0x491bb0
push 1
push 0
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
push 0
call fcn.004b04f0
cmp eax, 1
jne 0x491efa
push 0
push eax
mov ecx, ebx
call fcn.00401640
test byte [edi + 5], 2
mov esi, eax
je 0x491c48
mov ebx, dword [esp + 0x14]
xor edi, edi
nop
test edi, edi
je 0x491c1e
mov eax, dword [esp + 0x40]
mov al, byte [eax + 0x46]
mov byte [esi], al
inc esi
mov eax, dword [ebx + edi*4]
push 0xa
inc eax
push esi
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x491c34
sub ecx, edx
inc edi
add esi, ecx
cmp edi, dword [esp + 0x1c]
jl 0x491c10
jmp 0x491c86
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x491c60
mov eax, dword [esp + 0x40]
mov al, byte [eax + 0x46]
mov byte [esi], al
inc esi
mov eax, dword [esp + 0x14]
push esi
push dword [eax + ebx*4]
push 0x189
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jle 0x491c7f
add dword [esp + 0x10], eax
add esi, eax
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x491c52
push dword [esp + 0x14]
mov ebx, dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov esi, dword [esp + 0x14]
add esp, 4
cmp byte [ebx + 0x17], 0
jne 0x491da7
mov edi, dword [ebx + 0xc]
jmp 0x491da9
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [ebp + 8]
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x188
push eax
call esi
mov ebx, eax
mov dword [esp + 0x18], ebx
cmp ebx, 0xffffffff
je 0x491b47
test byte [edi + 5], 2
jne 0x4919cf
push 0
push ebx
push 0x18a
push dword [edi]
call esi
push 1
push 0
cmp eax, 0xffffffff
je 0x491b4b
mov ebx, dword [ebp + 8]
mov ecx, ebx
push eax
push 0
call fcn.004b04f0
cmp eax, 1
jne 0x491efa
push 0
push eax
mov ecx, ebx
call fcn.00401640
push eax
push dword [esp + 0x1c]
push 0x189
push dword [edi]
call esi
mov esi, eax
cmp esi, 0xffffffff
jne 0x491c9a
cmp byte [ebx + 0x17], 0
jne 0x491d56
mov eax, dword [ebx + 0xc]
jmp 0x491d58
mov eax, ebx
cmp byte [eax + 0x17], 2
jne 0x491d8b
cmp dword [0x4dba88], 0
je 0x491d8b
push 1
mov ecx, 0x4dba7c
call fcn.00406200
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
and byte [eax + 0x15], 0x86
mov ecx, ebx
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, ebx
cmp byte [edi + 0x17], 1
jne 0x491dc1
test byte [edi + 0x15], 8
je 0x491dbc
mov ecx, edi
call fcn.004014a0
add edi, 0xc
jmp 0x491dc6
mov edi, 0x4dd524
mov dword [edi], esi
cmp byte [ebx + 0x17], 0
jne 0x491dd1
mov ebx, dword [ebx + 0xc]
cmp byte [ebx + 0x17], 2
jne 0x491df5
cmp dword [0x4dba88], 0
je 0x491df5
push 1
mov ecx, 0x4dba7c
call fcn.00406200
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
and byte [ebx + 0x15], 0x86
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x130b
push dword [edi]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je 0x491b47
test byte [edi + 5], 2
jne 0x4919cf
lea eax, [esp + 0x60]
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], eax
lea eax, [esp + 0x44]
push eax
push ebx
push 0x1305
push dword [edi]
mov dword [esp + 0x64], 0x3ff
call esi
mov ecx, dword [ebp + 8]
push 1
push 0
push 0xffffffffffffffff
test eax, eax
je 0x491ec2
push dword [esp + 0x5c]
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [0x4d9984], 0
je 0x491ff7
mov ecx, esi
call fcn.004014a0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test bl, bl
jne 0x491ff7
mov ecx, dword [edi]
call fcn.0047f640
mov ecx, dword [ebp + 8]
test eax, eax
je 0x491ebc
push eax
call fcn.004b08a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test bl, bl
jne 0x491ff7
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov esi, dword [ebp + 8]
mov ebx, eax
push 1
push 0
push ebx
push 0
mov ecx, esi
call fcn.004b04f0
cmp eax, 1
je 0x491f05
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [ebx + 1]
mov ecx, esi
push eax
push 0
push 1
call fcn.00401640
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextA]
cmp byte [esi + 0x17], 0
mov dword [esp + 0x18], eax
jne 0x491f2c
mov ebx, dword [esi + 0xc]
jmp 0x491f2e
mov ebx, esi
cmp byte [ebx + 0x17], 1
jne 0x491f4a
test byte [ebx + 0x15], 8
je 0x491f45
mov ecx, ebx
call fcn.004014a0
mov eax, dword [esp + 0x18]
add ebx, 0xc
jmp 0x491f4f
mov ebx, 0x4dd524
mov dword [ebx], eax
test eax, eax
jne 0x491f64
push eax
push 1
mov ecx, esi
call fcn.00401640
mov byte [eax], 0
jmp 0x491fd7
cmp byte [edi + 4], 0xc
jne 0x491fd7
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4ce2f8
push 0
push 1
mov ecx, esi
call fcn.00401640
mov edx, 0x4cdda4
mov ecx, eax
call fcn.004ac590
add esp, 0x18
mov ecx, esi
push 0
push 1
call fcn.00401640
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x491fa3
sub edi, eax
cmp byte [esi + 0x17], cl
jne 0x491fb6
mov ebx, dword [esi + 0xc]
jmp 0x491fb8
mov ebx, esi
cmp byte [ebx + 0x17], 1
jne 0x491fd0
test byte [ebx + 0x15], 8
je 0x491fcb
mov ecx, ebx
call fcn.004014a0
add ebx, 0xc
jmp 0x491fd5
mov ebx, 0x4dd524
mov dword [ebx], edi
cmp byte [esi + 0x17], 0
jne 0x491fe0
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 2
jne 0x491ff3
cmp dword [0x4dba88], 0
jne 0x491de0
and byte [esi + 0x15], 0x86
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc