Function at 0x42fdbe
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
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.0042ccf6
test al, al
jne 0x42fdec
mov eax, dword [ebp + 0xc]
and dword [eax], 0
jmp 0x43040c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
cmp ecx, 0xffffffff
je 0x42fe0b
cmp edx, 0xffffffff
je 0x42fe0b
mov eax, ecx
imul eax, eax, 0x1003
add eax, edx
mov dword [ebp + 8], eax
jmp 0x42fe0f
and dword [ebp + 8], 0
mov eax, dword [ebp - 8]
mov edi, dword [ebp + 0xc]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [eax + ecx*4 + 0x44c]
mov dword [ebp - 4], eax
mov esi, dword [eax + edx*4 + 0x44]
or dword [edi], 0xffffffff
mov eax, dword [esi]
mov dword [ebp + 0xc], eax
movzx eax, byte [esi + 0x78]
cmp eax, 0x11
jg 0x430172
cmp eax, 0x11
je 0x4300bf
cmp eax, 0xa
jg 0x42ff38
je 0x42feee
sub eax, 0
je 0x42fead
dec eax
je 0x42fe75
sub eax, 7
jne 0x43022d
push 0
push 0
push 0x408
jmp 0x430401
xor edi, edi
push edi
push edi
push 0x188
push dword [ebp + 0xc]
call ebx
mov esi, eax
cmp esi, 0xffffffff
je 0x43022d
push edi
push esi
push 0x18a
push dword [ebp + 0xc]
call ebx
inc eax
push eax
call fcn.00441226
pop ecx
mov edi, eax
push edi
push esi
push 0x189
jmp 0x42fee4
push 0
push 0
push 0x147
push dword [ebp + 0xc]
call ebx
mov esi, eax
cmp esi, 0xffffffff
je 0x43022d
push 0
push esi
push 0x149
push dword [ebp + 0xc]
call ebx
inc eax
push eax
call fcn.00441226
pop ecx
mov edi, eax
push edi
push esi
push 0x148
push dword [ebp + 0xc]
call ebx
jmp 0x43024f
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x130b
push dword [ebp + 0xc]
call esi
mov ecx, dword [ebp - 8]
mov dword [edi], eax
test byte [ecx + 0x10], 2
je 0x43040c
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], 8
push ecx
push eax
push 0x1305
push dword [ebp + 0xc]
call esi
mov eax, dword [ebp - 0xa0]
jmp 0x43040a
cmp eax, 0xc
je 0x4303d6
cmp eax, 0xd
jle 0x43022d
cmp eax, 0xf
jle 0x42ffd7
cmp eax, 0x10
jne 0x43022d
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 0x43040c
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x38]
push eax
push ebx
mov ebx, 0x110c
mov dword [ebp - 0x38], 4
push ebx
push dword [ebp + 0xc]
call esi
test eax, eax
je 0x42ff9e
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
cmp byte [ebp + 0x10], 0
je 0x43040c
push 0x1000
call fcn.00441226
mov edi, eax
pop ecx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 1
push eax
push 0
push ebx
mov dword [ebp - 0x28], edi
push dword [ebp + 0xc]
mov dword [ebp - 0x24], 0xfff
call esi
jmp 0x43024f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4150], 0
jne 0x42fff0
cmp dword [eax + 0x4154], 0
jne 0x43040c
push dword [esi + 4]
call dword [sym.imp.USER32.dll_IsMenu]
test eax, eax
je 0x43040c
push 0x104
call fcn.00441226
mov dword [ebp + 0xc], eax
pop ecx
lea eax, [ebp - 0x9c]
mov ebx, dword [sym.imp.USER32.dll_GetMenuItemInfoA]
push eax
push 0
push dword [ebp + 8]
mov dword [ebp - 0x9c], 0x2c
mov dword [ebp - 0x98], 1
push dword [esi + 4]
call ebx
test eax, eax
jne 0x43004c
push dword [ebp + 0xc]
call fcn.004415fb
pop ecx
jmp 0x43040c
mov eax, dword [ebp - 0x90]
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 0x43006c
or ch, 1
test al, 8
je 0x430075
or ecx, 1
jmp 0x430078
or ecx, 4
test ah, 0x10
je 0x430080
or ch, 2
cmp byte [ebp + 0x10], 0
mov dword [edi], ecx
je 0x43040c
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x9c]
push eax
push 0
push dword [ebp + 8]
mov dword [ebp - 0x98], 0x10
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], 0x104
push dword [esi + 4]
call ebx
test eax, eax
jne 0x43024f
push edi
jmp 0x430041
mov eax, dword [esi + 8]
and dword [edi], 0
push 0xfffffffffffffff0
mov dword [ebp - 0x34], eax
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x38]
push eax
mov ebx, 0x110c
push 0
push ebx
push dword [esi + 0x24]
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x2c], 0xf000
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x430135
mov ecx, dword [ebp - 0x30]
mov eax, 0x100
test dword [ebp + 8], eax
je 0x43011c
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 0x430123
or dword [edi], eax
test cl, 0x20
je 0x43012c
or byte [edi + 1], 4
test cl, 0x10
je 0x430135
or byte [edi + 1], 2
cmp byte [ebp + 0x10], 0
je 0x43040c
push 0x1000
call fcn.00441226
mov edi, eax
pop ecx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 1
push eax
push 0
push ebx
mov dword [ebp - 0x28], edi
push dword [esi + 0x24]
mov dword [ebp - 0x24], 0xfff
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x43024f
cmp eax, 0x12
je 0x4303f8
cmp eax, 0x13
je 0x43038a
cmp eax, 0x14
je 0x43027a
cmp eax, 0x15
je 0x430256
cmp eax, 0x18
jle 0x43022d
cmp eax, 0x1a
jle 0x4301f8
cmp eax, 0x1c
jne 0x43022d
lea eax, [ebp - 0x70]
push eax
push 0
push 0x1001
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x4303d6
push 0xb
call fcn.00441226
mov esi, eax
pop ecx
movzx eax, word [ebp - 0x6a]
push eax
movzx eax, word [ebp - 0x6e]
push eax
movzx eax, word [ebp - 0x70]
push eax
push str._d__02d__02d
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov eax, esi
jmp 0x43040e
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 0x430218
mov dword [edi], 4
cmp byte [ebp + 0x10], 0
je 0x43040c
push ebx
push ebx
push 0xe
push dword [ebp + 0xc]
call esi
jmp 0x430238
push 0
push 0
push 0xe
push dword [ebp + 0xc]
call ebx
mov esi, eax
inc esi
push esi
call fcn.00441226
pop ecx
mov edi, eax
push esi
push edi
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, edi
jmp 0x43040e
add esi, 0x50
mov ecx, esi
call fcn.004047a1
test al, al
mov ecx, esi
je 0x430270
call fcn.00403136
jmp 0x43040e
call fcn.004031ec
jmp 0x43040a
mov eax, dword [esi + 0x24]
or dword [edi], 0xffffffff
push 0xffffffffffffffec
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0x1000
mov dword [ebp + 0xc], eax
call fcn.00441226
mov ebx, eax
push 0x28
lea eax, [ebp - 0x60]
push 0
push eax
mov dword [ebp + 8], ebx
call fcn.00442b20
movsx eax, word [esi + 0x70]
add esp, 0x10
mov dword [ebp - 0x5c], eax
test byte [ebp + 0xc], 4
je 0x4302f9
cmp byte [ebp + 0x10], 0
je 0x4302f9
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 8
push eax
push 0
push 0x1005
mov dword [ebp - 0x50], 0xf000
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x4302f9
mov eax, dword [ebp - 0x54]
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], 0
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x48], 0xfff
jbe 0x430368
lea eax, [ebp - 0x60]
mov dword [ebp - 0x58], edi
push eax
push 0
push 0x1005
mov dword [ebp - 0x4c], ebx
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageA]
push ebx
call fcn.00441580
pop ecx
mov ecx, 0xffe
sub ecx, eax
test ecx, ecx
mov dword [ebp - 0x48], ecx
jle 0x430382
push dword [ebp + 8]
call fcn.00441580
add eax, dword [ebp + 8]
pop ecx
mov ecx, dword [ebp - 8]
push eax
mov cl, byte [ecx + 0x14]
and byte [eax + 1], 0
mov byte [eax], cl
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
inc edi
movzx eax, byte [esi + 0x7b]
cmp edi, eax
jl 0x43030f
lea eax, [ebp - 0x60]
mov dword [ebp - 0x58], edi
push eax
push 0
push 0x1005
mov dword [ebp - 0x4c], ebx
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 8]
jmp 0x43040e
mov ebx, dword [ebp + 0xc]
push 2
push 0xffffffffffffffff
push 0x100c
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 4]
push 3
mov dword [edi], eax
pop esi
mov edx, dword [ecx + 0x14]
mov dword [ebp + 0x10], esi
cmp edx, esi
jl 0x4303d6
lea esi, [ecx + 0x50]
mov ecx, dword [esi]
test ecx, ecx
je 0x4303cb
cmp byte [ecx + 0x78], 0x14
jne 0x4303cb
cmp dword [ecx + 0x24], ebx
jne 0x4303cb
movsx ecx, word [ecx + 0x70]
cmp ecx, eax
je 0x4303db
inc dword [ebp + 0x10]
add esi, 4
cmp dword [ebp + 0x10], edx
jle 0x4303b2
and dword [edi], 0
jmp 0x43040c
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
je 0x4303f4
cmp dword [ebp + 0x10], 0xffffffff
je 0x4303f4
imul eax, eax, 0x1003
add eax, dword [ebp + 0x10]
jmp 0x43040a
xor eax, eax
jmp 0x43040a
push 0
push 0
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