Function at 0x4031d0
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword [esp + 8]
mov dl, byte [0x41d55c]
sub esp, 0x30
lea ecx, [eax + eax*4]
push ebx
push esi
lea eax, [eax + ecx*2]
mov cl, byte [0x41d561]
shl eax, 5
push edi
mov byte [eax + 0x431740], dl
mov dl, byte [0x41d55f]
mov byte [eax + 0x431744], cl
mov cl, byte [0x4247ce]
mov byte [eax + 0x431742], dl
mov dl, byte [0x41d55e]
mov byte [eax + 0x431743], cl
mov cl, byte [0x41d560]
mov byte [eax + 0x431741], dl
mov dl, byte [0x41d562]
mov byte [eax + 0x431745], cl
mov byte [eax + 0x431746], dl
mov eax, dword [esp + 0x48]
lea ecx, [eax + eax*4]
lea esi, [eax + ecx*2]
shl esi, 5
test eax, eax
mov dl, byte [esi + 0x431740]
mov cl, byte [esi + 0x431744]
mov byte [0x41d55c], dl
mov dl, byte [esi + 0x431742]
mov byte [0x41d561], cl
mov cl, byte [esi + 0x431743]
mov byte [0x41d55f], dl
mov dl, byte [esi + 0x431741]
mov byte [0x4247ce], cl
mov cl, byte [esi + 0x431745]
mov byte [0x41d55e], dl
mov dl, byte [esi + 0x431746]
mov byte [0x41d560], cl
mov cl, byte [0x41d54c]
mov byte [0x41d562], dl
jne 0x4032a6
test cl, cl
je 0x4032bc
mov dl, byte [esi + 0x431622]
test dl, dl
je 0x4033fd
test eax, eax
jne 0x4032ca
test cl, cl
jne 0x4032ca
mov eax, dword [esp + 0x40]
push 1
push 0x9c63
push eax
jmp 0x4032d6
mov ecx, dword [esp + 0x40]
push 0
push 0x9c63
push ecx
call dword [sym.imp.USER32.dll_GetMenu]
mov edi, dword [sym.imp.USER32.dll_EnableMenuItem]
push eax
call edi
mov edx, dword [0x432624]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x9c52
push 0x401
push edx
call ebx
mov eax, dword [0x4357f0]
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
push 0
push 0x9c52
push eax
call esi
mov ecx, dword [0x4357f0]
push 1
push 0x9c52
push ecx
call edi
mov dl, byte [0x41d562]
mov eax, dword [0x4357f0]
neg dl
sbb edx, edx
and edx, 8
push edx
push 0x9c6d
push eax
call esi
mov ecx, dword [0x432624]
push 0
push 0x9c5c
push 0x401
push ecx
call ebx
mov edx, dword [0x4357f0]
push 0
push 0x9c5c
push edx
call esi
mov eax, dword [0x4357f0]
push 1
push 0x9c5c
push eax
call edi
mov ecx, dword [0x432624]
push 0
push 0x9c5f
push 0x401
push ecx
call ebx
mov edx, dword [0x4357f0]
push 0
push 0x9c5f
push edx
call esi
mov eax, dword [0x4357f0]
push 1
push 0x9c5f
push eax
call edi
mov ecx, dword [0x432624]
push 0
push 0x9c5a
push 0x401
push ecx
call ebx
mov edx, dword [0x4357f0]
push 0
push 0x9c5a
push edx
call esi
mov eax, dword [0x4357f0]
push 1
push 0x9c5a
push eax
call edi
mov cl, byte [0x41d560]
neg cl
mov edx, dword [0x4357f0]
sbb ecx, ecx
and ecx, 8
push ecx
push 0x9c74
push edx
call esi
jmp 0x4036b1
mov eax, dword [esp + 0x40]
push ebp
push 0
push 0x9c63
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov ebp, dword [sym.imp.USER32.dll_EnableMenuItem]
push eax
call ebp
mov eax, dword [0x431604]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [eax], 0xffffffff
je 0x40344e
xor ebx, ebx
mov ecx, dword [eax + 4]
mov edx, dword [0x432624]
push 1
push ecx
push 0x401
push edx
call edi
mov eax, dword [0x431604]
add ebx, 0x14
add eax, ebx
cmp dword [eax], 0xffffffff
jne 0x40342b
mov ecx, dword [0x4357f0]
push 0
push 0x9c52
push ecx
call ebp
mov dl, byte [0x41d55c]
mov eax, dword [0x4357f0]
neg dl
mov ebx, dword [sym.imp.USER32.dll_CheckMenuItem]
sbb edx, edx
and edx, 8
push edx
push 0x9c52
push eax
call ebx
mov al, byte [0x41d55c]
xor ecx, ecx
mov edx, dword [0x432624]
test al, al
setne cl
inc ecx
push ecx
push 0x9c52
push 0x42b
push edx
call edi
mov al, byte [0x41d562]
mov ecx, dword [0x4357f0]
neg al
sbb eax, eax
and eax, 8
push eax
push 0x9c6d
push ecx
call ebx
mov edx, dword [0x4357f0]
push 0
push 0x9c5c
push edx
call ebp
mov al, byte [0x41d55f]
mov ecx, dword [0x4357f0]
neg al
sbb eax, eax
and eax, 8
push eax
push 0x9c5c
push ecx
call ebx
mov dl, byte [0x41d55f]
mov eax, dword [0x432624]
neg dl
sbb edx, edx
add edx, 0xd
push edx
push 0x9c5c
push 0x42b
push eax
call edi
mov al, byte [esi + 0x431623]
push 0
test al, al
push 0x9c5f
je 0x40357d
mov ecx, dword [0x432624]
push 0x401
push ecx
call edi
mov edx, dword [0x4357f0]
push 0
push 0x9c5f
push edx
call ebx
mov eax, dword [0x4357f0]
push 1
push 0x9c5f
push eax
call ebp
mov ecx, dword [0x432624]
push 0
push 0x9c5a
push 0x401
push ecx
call edi
mov edx, dword [0x4357f0]
push 0
push 0x9c5a
push edx
call ebx
mov eax, dword [0x4357f0]
push 1
push 0x9c5a
push eax
call ebp
jmp 0x40360d
mov ecx, dword [0x4357f0]
push ecx
call ebp
mov dl, byte [0x41d561]
mov eax, dword [0x4357f0]
neg dl
sbb edx, edx
and edx, 8
push edx
push 0x9c5f
push eax
call ebx
mov cl, byte [0x41d561]
mov edx, dword [0x432624]
neg cl
sbb ecx, ecx
add ecx, 0x12
push ecx
push 0x9c5f
push 0x42b
push edx
call edi
mov eax, dword [0x4357f0]
push 0
push 0x9c5a
push eax
call ebp
mov cl, byte [0x41d55e]
mov edx, dword [0x4357f0]
neg cl
sbb ecx, ecx
and ecx, 8
push ecx
push 0x9c5a
push edx
call ebx
mov al, byte [0x41d55e]
mov ecx, dword [0x432624]
neg al
sbb eax, eax
add eax, 0xa
push eax
push 0x9c5a
push 0x42b
push ecx
call edi
mov eax, dword [esp + 0x4c]
pop ebp
test eax, eax
jne 0x403679
mov al, byte [0x4247cc]
test al, al
je 0x403679
mov dl, byte [0x4247ce]
mov ecx, dword [0x4357f0]
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x30
neg dl
push eax
push 1
sbb edx, edx
push 1
and edx, 8
push 2
push ecx
mov dword [esp + 0x24], 0x13
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x9c76
mov dword [esp + 0x44], str.Capture_Global_Win32
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call dword [sym.imp.USER32.dll_InsertMenuItemA]
jmp 0x403696
mov edx, dword [0x4357f0]
push 0
push 0x9c76
push 2
push edx
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
mov al, byte [0x41d560]
mov ecx, dword [0x4357f0]
neg al
sbb eax, eax
and eax, 8
push eax
push 0x9c74
push ecx
call ebx
mov edx, dword [0x432624]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
add esp, 0x30
ret