Function at 0x402b9e
Capabilities:
Get graphical window text

Disassembly:
push edi
call dword [sym.imp.USER32.dll_IsHungAppWindow]
xor edi, edi
mov ecx, esi
mov edx, ebx
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], eax
call fcn.004018a1
test eax, eax
je 0x402b04
cmp dword [eax + 4], reloc.KERNEL32.dll_VerSetConditionMask
jne 0x402b04
mov ebx, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
mov edx, dword [eax + 0xc]
push 3
pop ecx
call fcn.00401156
mov ebx, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
xor edi, edi
mov ecx, esi
mov edx, ebx
call fcn.004018a1
test eax, eax
je 0x402b2a
cmp dword [eax + 4], reloc.KERNEL32.dll_VerSetConditionMask
jne 0x402b2a
mov ebx, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
mov edx, dword [eax + 0xc]
call fcn.004028be
mov edi, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
mov ebx, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
push 0
mov ecx, esi
mov edx, edi
call fcn.00402914
mov ebx, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
push dword [ebx + 4]
mov ecx, esi
push 1
mov edx, edi
call fcn.004011a9
push dword [ebx]
mov ecx, esi
push 2
mov edx, edi
call fcn.004011a9
push 0x100
lea eax, reloc.KERNEL32.dll_VerSetConditionMask
push eax
push dword [ebp - 0x214]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x402c81
lea eax, reloc.KERNEL32.dll_VerSetConditionMask
push eax
push 4
mov ecx, esi
mov edx, edi
call fcn.004011a9
jmp 0x402c81
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x411038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
xor eax, eax
push 0x1fc
push eax
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], eax
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], eax
lea eax, reloc.KERNEL32.dll_VerSetConditionMask
push eax
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], edi
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], esi
call sub.msvcrt.dll_memset
add esp, 0xc
test edi, edi
je 0x402ca1
test esi, esi
je 0x402ca1
mov ebx, dword [esi + 0xc]
lea eax, reloc.KERNEL32.dll_VerSetConditionMask
push eax
push edi
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], ebx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x402c81
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x10000000
jne 0x402c2c
cmp dword [esi + 8], 1
je 0x402c81
push 4
push edi
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
jne 0x402c81
mov eax, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
push 0
mov dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask], eax
lea eax, reloc.KERNEL32.dll_VerSetConditionMask
push eax
push 0
push ebx
mov ebx, 0x40000
call fcn.0040129b
mov ebx, dword [ebp - reloc.KERNEL32.dll_VerSetConditionMask]
mov esi, eax
cmp esi, reloc.KERNEL32.dll_VerSetConditionMask
je 0x402c95
mov ecx, esi
mov edx, ebx
call fcn.00401336
test eax, eax
je 0x402c78
or esi, reloc.KERNEL32.dll_VerSetConditionMask
cmp esi, reloc.KERNEL32.dll_VerSetConditionMask
jne 0x402ac8
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401d62
leave
ret 8
push 6
push ebx
call fcn.00404b38
mov esi, eax
jmp 0x402c78
xor eax, eax
jmp 0x402c84