Function at 0x41deac
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
lea eax, [ebp - 8]
push edi
push eax
lea eax, [ebp - 4]
push eax
mov esi, ecx
push dword [ebp + 8]
call fcn.0041c063
test al, al
jne 0x41ded9
mov eax, dword [ebp + 0xc]
and dword [eax], 0
jmp 0x41e2bf
push dword [ebp - 8]
mov ecx, esi
push dword [ebp - 4]
call fcn.0041bf05
mov edi, dword [ebp + 0xc]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esi + eax*4 + 0x2c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov esi, dword [ecx + eax*4 + 0x38]
or dword [edi], 0xffffffff
movzx edx, byte [esi + 0x5c]
mov eax, dword [esi]
cmp edx, 0x10
mov dword [ebp + 0xc], eax
jg 0x41e09f
cmp edx, 0x10
je 0x41e059
test edx, edx
je 0x41e022
cmp edx, 1
je 0x41dfe3
cmp edx, 8
je 0x41dfd5
cmp edx, 0xa
je 0x41dfc7
cmp edx, 0xc
je 0x41e241
cmp edx, 0xd
jle 0x41e0fa
cmp edx, 0xf
jg 0x41e0fa
xor eax, eax
mov dword [ebp - 0x88], 0x2c
cmp dword [ecx + 0x4130], eax
mov dword [ebp - 0x84], 1
jne 0x41df89
cmp dword [ecx + 0x4134], eax
jne 0x41e2bf
lea ecx, [ebp - 0x88]
push ecx
push eax
push dword [ebp + 8]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
mov ecx, dword [ebp - 0x7c]
push pe_nt_image_headers32
test cl, 3
mov dword [edi], ecx
pop eax
je 0x41dfaf
mov eax, 0xc0
test cx, 0x8080
je 0x41dfb9
or ah, 1
test cl, 8
je 0x41dfc0
or al, 1
or al, 4
jmp 0x41e25b
push 0
push 0
push 0x130b
jmp 0x41e254
push 0
push 0
push 0x408
jmp 0x41e254
push 0
push 0
push 0x188
push eax
call ebx
mov esi, eax
cmp esi, 0xffffffff
je 0x41e0f7
push 0
push esi
push 0x18a
push dword [ebp + 0xc]
call ebx
inc eax
push eax
call fcn.00428d9a
pop ecx
mov edi, eax
push edi
push esi
push 0x189
push dword [ebp + 0xc]
call ebx
jmp 0x41e11a
push 0
push 0
push 0x147
push eax
call ebx
mov esi, eax
cmp esi, 0xffffffff
je 0x41e0f7
push 0
push esi
push 0x149
push dword [ebp + 0xc]
call ebx
inc eax
push eax
call fcn.00428d9a
pop ecx
mov edi, eax
push edi
push esi
push 0x148
jmp 0x41e018
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
push ebx
push 9
push 0x110a
push eax
mov dword [edi], ebx
call esi
cmp eax, ebx
je 0x41e2bf
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x5c]
push eax
push ebx
push 0x110c
mov dword [ebp - 0x5c], 4
push dword [ebp + 0xc]
call esi
test eax, eax
je 0x41e2bf
mov eax, dword [ebp - 0x38]
jmp 0x41e25b
cmp edx, 0x11
je 0x41e25f
cmp edx, 0x12
je 0x41e24b
cmp edx, 0x13
je 0x41e1f5
cmp edx, 0x14
je 0x41e145
cmp edx, 0x15
je 0x41e121
cmp edx, 0x18
jle 0x41e0fa
cmp edx, 0x1a
jg 0x41e0fa
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
mov dword [edi], eax
jne 0x41e2bf
mov dword [edi], 4
jmp 0x41e2bf
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0xe
push eax
call ebx
mov esi, eax
inc esi
push esi
call fcn.00428d9a
pop ecx
mov edi, eax
push esi
push edi
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, edi
jmp 0x41e2c1
add esi, 0x38
mov ecx, esi
call fcn.004028cf
test al, al
mov ecx, esi
je 0x41e13b
call fcn.00401f26
jmp 0x41e2c1
call fcn.00401f9e
jmp 0x41e25b
push 0x1000
call fcn.00428d9a
mov edi, eax
xor ebx, ebx
push 0x28
lea eax, [ebp - 0x34]
push ebx
push eax
mov dword [ebp + 8], edi
call fcn.00429a60
movsx eax, word [esi + 0x54]
add esp, 0x10
cmp byte [esi + 0x5f], bl
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0xfff
jbe 0x41e1d3
lea eax, [ebp - 0x34]
mov dword [ebp - 0x2c], ebx
push eax
push 0
push 0x1005
mov dword [ebp - 0x20], edi
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
call fcn.00428ea0
pop ecx
mov ecx, 0xffe
sub ecx, eax
test ecx, ecx
mov dword [ebp - 0x1c], ecx
jle 0x41e1ed
push dword [ebp + 8]
call fcn.00428ea0
add eax, dword [ebp + 8]
pop ecx
push eax
and byte [eax + 1], 0
mov byte [eax], 0x7c
call dword [sym.imp.USER32.dll_CharNextA]
mov edi, eax
inc ebx
movzx eax, byte [esi + 0x5f]
cmp ebx, eax
jl 0x41e17f
lea eax, [ebp - 0x34]
mov dword [ebp - 0x2c], ebx
push eax
push 0
push 0x1005
mov dword [ebp - 0x20], edi
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 8]
jmp 0x41e2c1
push 2
push 0xffffffffffffffff
push 0x100c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xc]
push 3
mov dword [edi], eax
pop esi
mov edx, dword [ecx + 0xc]
mov dword [ebp + 8], esi
cmp edx, esi
jl 0x41e241
lea esi, [ecx + 0x44]
mov ecx, dword [esi]
test ecx, ecx
je 0x41e236
cmp byte [ecx + 0x5c], 0x14
jne 0x41e236
mov ebx, dword [ebp + 0xc]
cmp dword [ecx + 0x18], ebx
jne 0x41e236
movsx ecx, word [ecx + 0x54]
cmp ecx, eax
je 0x41e246
inc dword [ebp + 8]
add esi, 4
cmp dword [ebp + 8], edx
jle 0x41e21a
and dword [edi], 0
jmp 0x41e2bf
mov eax, dword [ebp + 8]
jmp 0x41e25b
push 0
push 0
push 0x400
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi], eax
jmp 0x41e2bf
mov eax, dword [esi + 8]
and dword [edi], 0
push 0xfffffffffffffff0
mov dword [ebp - 0x58], eax
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, eax
lea eax, [ebp - 0x5c]
push eax
push 0
push 0x110c
mov dword [ebp - 0x5c], 8
push dword [esi + 0x18]
mov dword [ebp - 0x50], 0xf000
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x41e2bf
mov eax, 0x100
test eax, ebx
je 0x41e2b7
mov ecx, dword [ebp - 0x54]
shr ecx, 0xc
dec ecx
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 4
mov dword [edi], ecx
test byte [ebp - 0x54], 2
je 0x41e2bf
or dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8