Function at 0x42ec38
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
push ebx
push esi
lea eax, [ebp - 0x10]
push edi
push eax
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 8], ecx
push dword [ebp + 8]
call fcn.0042bec0
test al, al
jne 0x42ec66
mov eax, dword [ebp + 0xc]
and dword [eax], 0
jmp 0x42f289
push dword [ebp - 0x10]
mov esi, dword [ebp - 8]
mov ecx, esi
push dword [ebp - 0xc]
call fcn.0042bcdb
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp + 0xc]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov eax, dword [esi + eax*4 + 0x848]
mov dword [ebp - 4], eax
mov esi, dword [eax + ecx*4 + 0x44]
or dword [edi], 0xffffffff
mov eax, dword [esi]
mov dword [ebp + 0xc], eax
movzx eax, byte [esi + 0x78]
cmp eax, 0x11
jg 0x42efeb
je 0x42ef37
cmp eax, 0xa
jg 0x42eda8
je 0x42ed5e
sub eax, ebx
je 0x42ed14
dec eax
je 0x42ecd8
sub eax, 7
jne 0x42f0a6
push ebx
push ebx
push 0x408
jmp 0x42f27e
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
push 0x188
push dword [ebp + 0xc]
call esi
mov edi, eax
cmp edi, 0xffffffff
je 0x42f0a6
push ebx
push edi
push 0x18a
push dword [ebp + 0xc]
call esi
inc eax
push eax
call fcn.0043fe70
pop ecx
mov ebx, eax
push ebx
push edi
push 0x189
jmp 0x42ed52
push ebx
push ebx
push 0x147
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
cmp edi, 0xffffffff
je 0x42f0a6
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push edi
push 0x149
push dword [ebp + 0xc]
call esi
inc eax
push eax
call fcn.0043fe70
pop ecx
mov ebx, eax
push ebx
push edi
push 0x148
push dword [ebp + 0xc]
call esi
mov eax, ebx
jmp 0x42f28b
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
push ebx
push ebx
push 0x130b
push dword [ebp + 0xc]
call esi
mov ecx, dword [ebp - 8]
mov dword [edi], eax
test byte [ecx + 0x10], 2
je 0x42f289
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], 8
push ecx
push eax
push 0x1305
push dword [ebp + 0xc]
call esi
mov eax, dword [ebp - 0xa4]
jmp 0x42f287
cmp eax, 0xc
je 0x42ef2f
cmp eax, 0xd
jle 0x42f0a6
cmp eax, 0xf
jle 0x42ee48
cmp eax, 0x10
jne 0x42f0a6
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
push ebx
push 9
push 0x110a
mov dword [edi], ebx
push dword [ebp + 0xc]
call esi
cmp eax, ebx
je 0x42f289
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
push 0x110c
mov dword [ebp - 0x3c], 4
push dword [ebp + 0xc]
call esi
test eax, eax
je 0x42ee0d
mov eax, dword [ebp - 0x18]
mov dword [edi], eax
cmp byte [ebp + 0x10], bl
je 0x42f289
push 0x1000
call fcn.0043fe70
mov edi, eax
pop ecx
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 1
push eax
push ebx
push 0x110c
mov dword [ebp - 0x2c], edi
push dword [ebp + 0xc]
mov dword [ebp - 0x28], 0xfff
call esi
jmp 0x42f0ca
mov eax, dword [ebp - 4]
xor ebx, ebx
cmp dword [eax + 0x4158], ebx
jne 0x42ee61
cmp dword [eax + 0x415c], ebx
jne 0x42f289
push dword [esi + 4]
call dword [sym.imp.USER32.dll_IsMenu]
test eax, eax
je 0x42f289
push 0x104
call fcn.0043fe70
mov dword [ebp + 0xc], eax
pop ecx
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x2c
push eax
push ebx
push dword [ebp + 8]
mov dword [ebp - 0x9c], 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
test eax, eax
jne 0x42eeba
push dword [ebp + 0xc]
call fcn.0044023b
pop ecx
jmp 0x42f289
mov eax, dword [ebp - 0x94]
mov ecx, eax
mov dword [edi], eax
and cl, 3
neg cl
sbb ecx, ecx
and ecx, 0x40
add ecx, 0x40
test ax, 0x8080
je 0x42eeda
or ch, 1
test al, 8
je 0x42eee3
or ecx, 1
jmp 0x42eee6
or ecx, 4
test ah, 0x10
je 0x42eeee
or ch, 2
cmp byte [ebp + 0x10], bl
mov dword [edi], ecx
je 0x42f289
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0xa0]
push eax
push ebx
push dword [ebp + 8]
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], 0x104
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
test eax, eax
jne 0x42f0ca
push edi
jmp 0x42eeaf
and dword [edi], 0
jmp 0x42f289
mov eax, dword [esi + 8]
xor ebx, ebx
push 0xfffffffffffffff0
mov dword [edi], ebx
push dword [esi + 0x24]
mov dword [ebp - 0x38], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
push 0x110c
mov dword [ebp - 0x3c], 8
push dword [esi + 0x24]
mov dword [ebp - 0x30], 0xf000
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42efac
mov ecx, dword [ebp - 0x34]
mov eax, 0x100
test dword [ebp + 8], eax
je 0x42ef93
mov edx, ecx
shr edx, 0xc
dec edx
neg edx
sbb edx, edx
and edx, 0xfffffffd
add edx, 4
mov dword [edi], edx
test cl, 2
je 0x42ef9a
or dword [edi], eax
test cl, 0x20
je 0x42efa3
or byte [edi + 1], 4
test cl, 0x10
je 0x42efac
or byte [edi + 1], 2
cmp byte [ebp + 0x10], bl
je 0x42f289
push 0x1000
call fcn.0043fe70
mov edi, eax
pop ecx
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 1
push eax
push ebx
push 0x110c
mov dword [ebp - 0x2c], edi
push dword [esi + 0x24]
mov dword [ebp - 0x28], 0xfff
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x42f0ca
cmp eax, 0x12
je 0x42f275
cmp eax, 0x13
je 0x42f20a
cmp eax, 0x14
je 0x42f0f5
cmp eax, 0x15
je 0x42f0d1
cmp eax, 0x18
jle 0x42f0a6
cmp eax, 0x1a
jle 0x42f072
cmp eax, 0x1c
jne 0x42f0a6
lea eax, [ebp - 0x74]
xor ebx, ebx
push eax
push ebx
push 0x1001
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42f261
push 0xb
call fcn.0043fe70
mov esi, eax
pop ecx
movzx eax, word [ebp - 0x6e]
push eax
movzx eax, word [ebp - 0x72]
push eax
movzx eax, word [ebp - 0x74]
push eax
push str._d__02d__02d
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov eax, esi
jmp 0x42f28b
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
push ebx
push ebx
push pe_nt_image_headers32
push dword [ebp + 0xc]
call esi
cmp eax, ebx
mov dword [edi], eax
jne 0x42f092
mov dword [edi], 4
cmp byte [ebp + 0x10], bl
je 0x42f289
push ebx
push ebx
push 0xe
push dword [ebp + 0xc]
call esi
jmp 0x42f0b3
push ebx
push ebx
push 0xe
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
inc esi
push esi
call fcn.0043fe70
pop ecx
mov edi, eax
push esi
push edi
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, edi
jmp 0x42f28b
add esi, 0x50
mov ecx, esi
call fcn.0040468c
test al, al
mov ecx, esi
je 0x42f0eb
call fcn.0040313f
jmp 0x42f28b
call fcn.004031f5
jmp 0x42f287
mov eax, dword [esi + 0x24]
or dword [edi], 0xffffffff
push 0xffffffffffffffec
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0x1000
mov dword [ebp - 4], eax
call fcn.0043fe70
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], eax
xor ebx, ebx
push 0x28
lea eax, [ebp - 0x64]
push ebx
push eax
call fcn.00441760
movsx eax, word [esi + 0x70]
add esp, 0x10
mov dword [ebp - 0x60], eax
test byte [ebp - 4], 4
je 0x42f174
cmp byte [ebp + 0x10], bl
je 0x42f174
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 8
push eax
push ebx
push 0x1005
mov dword [ebp - 0x54], 0xf000
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42f174
mov eax, dword [ebp - 0x58]
shr eax, 0xc
dec eax
neg eax
sbb eax, eax
and al, 0xfd
add eax, 4
mov dword [edi], eax
xor edi, edi
cmp byte [esi + 0x7b], bl
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x4c], 0xfff
jbe 0x42f1e6
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x64]
push eax
push ebx
push 0x1005
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp + 8]
call fcn.004401c0
pop ecx
mov ecx, 0xffe
sub ecx, eax
cmp ecx, ebx
mov dword [ebp - 0x4c], ecx
jle 0x42f202
push dword [ebp + 0xc]
call fcn.004401c0
add eax, dword [ebp + 0xc]
pop ecx
mov ecx, dword [ebp - 8]
push eax
mov cl, byte [ecx + 0x14]
mov byte [eax + 1], bl
mov byte [eax], cl
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp + 8], eax
inc edi
movzx eax, byte [esi + 0x7b]
cmp edi, eax
jl 0x42f189
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x64]
push eax
push ebx
push 0x1005
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0xc]
jmp 0x42f28b
mov esi, dword [ebp + 0xc]
push 2
push 0xffffffffffffffff
push 0x100c
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 4]
mov dword [edi], eax
xor ebx, ebx
mov dword [ebp + 0x10], 3
mov edx, dword [ecx + 0x14]
cmp edx, 3
jl 0x42f261
add ecx, 0x50
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
cmp ecx, ebx
je 0x42f255
cmp byte [ecx + 0x78], 0x14
jne 0x42f255
cmp dword [ecx + 0x24], esi
jne 0x42f255
movsx ecx, word [ecx + 0x70]
cmp ecx, eax
je 0x42f265
inc dword [ebp + 0x10]
add dword [ebp + 8], 4
cmp dword [ebp + 0x10], edx
jle 0x42f239
mov dword [edi], ebx
jmp 0x42f289
push dword [ebp + 0x10]
mov ecx, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0042bcdb
jmp 0x42f287
xor ebx, ebx
push ebx
push ebx
push 0x400
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc