Function at 0x42e87c
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
push ebx
push esi
push edi
mov edi, dword [sym.imp.MSVCR71.dll__stricmp]
push str.Submit
push dword [ebp + 0x10]
mov esi, eax
call edi
pop ecx
neg eax
pop ecx
movzx ecx, byte [esi + 4]
sbb al, al
inc al
sub ecx, 0xd
mov byte [ebp - 0xd], al
je 0x42eeaf
dec ecx
je 0x42ee35
dec ecx
je 0x42ee0a
dec ecx
je 0x42edd7
dec ecx
je 0x42edbc
dec ecx
je 0x42eda1
push str.Text
push dword [ebp + 0x10]
call edi
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
je case.0x42e900.12
movzx eax, byte [esi + 4]
dec eax
cmp eax, 0x12
ja case.0x42e900.12
movzx eax, byte [eax + 0x42ef0f]
jmp dword [eax*4 + 0x42eef3]
xor ebx, ebx
push ebx
push ebx
push 0xf0
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
sub eax, ebx
je 0x42e944
dec eax
je 0x42e935
dec eax
jne 0x42ed0e
push 1
push ebx
push 0xffffffffffffffff
push 0x455dac
jmp 0x42eee4
push 1
push ebx
push 0xffffffffffffffff
push 0x454094
jmp 0x42eee4
push 1
push ebx
push 0xffffffffffffffff
push 0x452954
jmp 0x42eee4
test byte [esi + 5], 2
je case.0x42e900.12
xor ebx, ebx
push ebx
push ebx
push 0x147
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x42ec8d
jmp 0x42ec9e
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
push 0x147
push dword [esi]
call edi
cmp eax, 0xffffffff
mov dword [ebp + 0x10], eax
jne 0x42e9cf
push 0x400
lea eax, [ebp - 0x44c]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je case.0x42e900.12
lea eax, [ebp - 0x44c]
push eax
push 0xffffffffffffffff
push 0x158
push dword [esi]
call edi
cmp eax, 0xffffffff
mov dword [ebp + 0x10], eax
je case.0x42e900.12
test byte [esi + 5], 2
jne 0x42ec9e
push ebx
push eax
push 0x149
push dword [esi]
call edi
cmp eax, 0xffffffff
mov ecx, dword [ebp + 0xc]
jne 0x42e9f7
push 1
push ebx
push 0xffffffffffffffff
push ebx
jmp 0x42eee7
xor edi, edi
inc edi
push edi
push ebx
push eax
push ebx
call fcn.0040161c
cmp eax, edi
jne 0x42ed0e
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00401c0d
push eax
push dword [ebp + 0x10]
push 0x148
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
cmp esi, 0xffffffff
mov eax, dword [ebp + 0xc]
jne 0x42ea3b
push ebx
call fcn.0040c147
push edi
jmp 0x42ec8f
call fcn.00401b52
mov dword [eax], esi
jmp 0x42ed93
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor ebx, ebx
test ax, 0x808
push ebx
push ebx
je 0x42ec05
push 0x190
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
xor edi, edi
inc edi
cmp eax, edi
mov dword [ebp - 8], eax
jl 0x42ea35
shl eax, 2
push eax
call dword [sym.imp.MSVCR71.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0xc], eax
je 0x42ea35
push eax
push dword [ebp - 8]
push 0x191
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, edi
mov dword [ebp - 8], eax
jl 0x42eb91
test byte [esi + 5], 2
mov ecx, eax
lea eax, [ecx - 1]
mov dword [ebp + 0x10], ebx
mov dword [ebp - 4], eax
je 0x42eb5e
cmp ecx, ebx
jle 0x42eaf4
mov ecx, dword [ebp + 0x10]
push 0xa
lea eax, [ebp - 0x44c]
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + ecx*4]
inc eax
push eax
call dword [sym.imp.MSVCR71.dll__itoa]
lea eax, [ebp - 0x44c]
push eax
call sub.MSVCR71.dll_strlen
add dword [ebp - 4], eax
add esp, 0x10
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 8]
jl 0x42eabd
mov ecx, dword [ebp + 0xc]
push edi
push ebx
push dword [ebp - 4]
push ebx
call fcn.0040161c
cmp eax, edi
jne 0x42ed0e
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00401c0d
test byte [esi + 5], 2
mov edi, eax
je 0x42eba0
xor esi, esi
cmp dword [ebp - 8], ebx
jle 0x42ebe9
cmp esi, ebx
je 0x42eb37
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x44]
mov byte [edi], al
inc edi
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + esi*4]
push 0xa
inc eax
push edi
push eax
call dword [sym.imp.MSVCR71.dll__itoa]
push edi
call sub.MSVCR71.dll_strlen
add esp, 0x10
add edi, eax
inc esi
cmp esi, dword [ebp - 8]
jl 0x42eb2a
jmp 0x42ebe9
cmp ecx, ebx
jle 0x42eaf4
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push dword [eax + ecx*4]
push 0x18a
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x42eb91
add dword [ebp - 4], eax
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 8]
jl 0x42eb62
jmp 0x42eaf4
push dword [ebp - 0xc]
call dword [sym.imp.MSVCR71.dll_free]
pop ecx
jmp 0x42ea35
mov ecx, dword [ebp - 8]
cmp ecx, ebx
lea eax, [ecx - 1]
mov dword [ebp - 4], eax
mov dword [ebp + 0x10], ebx
jle 0x42ebe9
cmp dword [ebp + 0x10], ebx
je 0x42ebbe
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x44]
mov byte [edi], al
inc edi
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x10]
push edi
push dword [eax + ecx*4]
push 0x189
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
jle 0x42ebde
add dword [ebp - 4], eax
add edi, eax
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 8]
jl 0x42ebb0
push dword [ebp - 0xc]
call dword [sym.imp.MSVCR71.dll_free]
pop ecx
mov eax, dword [ebp + 0xc]
call fcn.00401b52
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
jmp 0x42ed93
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x188
push dword [esi]
call edi
cmp eax, 0xffffffff
mov dword [ebp + 0x10], eax
je 0x42ec8d
test byte [esi + 5], 2
jne 0x42ec9e
push ebx
push eax
push 0x18a
push dword [esi]
call edi
cmp eax, 0xffffffff
mov ecx, dword [ebp + 0xc]
je 0x42e9ec
xor edi, edi
inc edi
push edi
push ebx
push eax
push ebx
call fcn.0040161c
cmp eax, edi
jne 0x42ed0e
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00401c0d
push eax
push dword [ebp + 0x10]
push 0x189
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
jne 0x42ebf3
mov eax, dword [ebp + 0xc]
jmp 0x42ea2f
xor ebx, ebx
push ebx
push ebx
push 0x130b
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x42ec98
push 1
push ebx
push 0xffffffffffffffff
push ebx
jmp 0x42eee4
test byte [esi + 5], 2
je 0x42eca4
inc eax
jmp 0x42edf8
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
push 0x1305
push dword [esi]
xor edi, edi
inc edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x3c], 0x3ff
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
mov ecx, dword [ebp + 0xc]
push edi
push ebx
push 0xffffffffffffffff
je 0x42e9f1
push dword [ebp - 0x40]
jmp 0x42eee7
cmp byte [ebp - 0xd], bl
je case.0x42e900.12
xor eax, eax
inc eax
jmp 0x42eeec
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov ecx, dword [ebp + 0xc]
xor edi, edi
inc edi
push edi
push ebx
push eax
push ebx
mov dword [ebp + 0x10], eax
call fcn.0040161c
cmp eax, edi
je 0x42ed15
xor eax, eax
jmp 0x42eeec
mov eax, dword [ebp + 0xc]
call fcn.00401b52
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x10]
inc eax
push eax
push edi
call fcn.00401c0d
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowTextA]
cmp eax, ebx
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
jne 0x42ed4d
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00401c0d
mov byte [eax], bl
jmp 0x42ed93
cmp byte [esi + 4], 0xc
jne 0x42ed93
mov ecx, dword [ebp + 0xc]
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push 0x4569f4
push 0x457058
push edi
call fcn.00401c0d
push eax
xor eax, eax
call fcn.0041c6ee
mov eax, dword [ebp + 0xc]
add esp, 0x1c
call fcn.00401b52
mov ecx, dword [ebp + 0xc]
push edi
mov esi, eax
call fcn.00401c0d
push eax
call sub.MSVCR71.dll_strlen
pop ecx
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
push ebx
call fcn.0040c147
jmp 0x42eeec
xor ebx, ebx
cmp al, bl
jne 0x42ece8
push ebx
push ebx
push 0x408
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x42edf8
xor ebx, ebx
push ebx
push ebx
push 0x400
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov ebx, esi
call fcn.0042f0c5
jmp 0x42edf8
xor ebx, ebx
test byte [esi + 5], 0x80
push ebx
push ebx
je 0x42ede8
push 0x472
jmp 0x42edb2
push 0x468
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
movsx eax, ax
cdq
push 0x18
push edx
push eax
mov eax, dword [ebp + 0xc]
call fcn.004019da
jmp 0x42ece8
lea eax, [ebp - 0x44c]
push eax
xor ebx, ebx
push ebx
push ebx
push 0x402
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
call fcn.0043413a
pop ecx
pop ecx
lea eax, [ebp - 0x44c]
jmp 0x42eede
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor ebx, ebx
test al, 2
lea eax, [ebp - 0x30]
push eax
push ebx
je 0x42ee8b
push 0x1005
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x30]
call fcn.00438e63
lea eax, [ebp - 0x443]
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 0x444], 0x2d
call fcn.00438e63
pop ecx
pop ecx
push 1
push ebx
push 0x11
lea eax, [ebp - 0x44c]
jmp 0x42eee3
push 0x1001
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
push ebx
lea eax, [ebp - 0x44c]
push 8
push eax
lea eax, [ebp - 0x30]
call fcn.00438e63
pop ecx
jmp 0x42eee3
lea eax, [ebp - 0x30]
push eax
xor ebx, ebx
push ebx
push 0x1001
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x42eed9
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x30]
call fcn.00438e63
pop ecx
jmp 0x42eede
mov eax, 0x45282f
push 1
push ebx
push 0xffffffffffffffff
push eax
mov ecx, dword [ebp + 0xc]
call fcn.0040161c
pop edi
pop esi
pop ebx
leave
ret 0xc