Function at 0x4059be
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
xor ebx, ebx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x3c], bl
jne 0x4059dd
cmp byte [eax + 0x3d], bl
je 0x405bae
test byte [0x41b990], 1
jne 0x405a07
or byte [0x41b990], 1
lea eax, [ebp - 1]
push eax
mov ecx, 0x41b998
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
push 0x405bb5
call fcn.00413e72
pop ecx
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov esi, eax
lea eax, [ebp - 2]
push eax
push ebx
lea eax, [esi + 1]
lea ecx, [ebp - 0x28]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_unsigned_int__char__class_std::allocator_char__const__]
cmp esi, ebx
je 0x405aec
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
push eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x28]
push 0x41b998
push eax
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
pop ecx
test al, al
pop ecx
jne 0x405aec
lea eax, [ebp - 0x28]
mov ecx, 0x41b998
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
dec eax
lea ecx, [ebp - 0x28]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::resize_unsigned_int_]
cmp byte [0x41b93e], bl
je 0x405ab1
sub esp, 0x10
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, dword [ebp - 8]
call fcn.00405dd3
jmp 0x405aec
push ebx
lea eax, [ebp - 0x28]
sub esp, 0x10
mov esi, esp
push str.___r_n
push eax
lea eax, [ebp - 0x38]
push str._r_n_
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push eax
push esi
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
mov ecx, dword [ebp - 8]
add esp, 0xc
call fcn.004054e9
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00406c35
call fcn.0041269b
mov esi, 0xea60
cmp eax, esi
jb 0x405b97
cmp byte [edi + 0x3c], bl
jne 0x405b16
cmp byte [edi + 0x3d], bl
je 0x405ba5
call fcn.0041269b
cmp eax, esi
jb 0x405b2f
push 0x3e8
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x405b08
lea eax, [ebp - 0x18]
push 0xa
push eax
mov eax, dword [ebp - 0xc]
xor edx, edx
div esi
push eax
call dword [sym.imp.MSVCRT.dll__itoa]
add esp, 0xc
lea eax, [ebp - 3]
lea ecx, [ebp - 0x58]
push ebx
sub esp, 0x10
mov esi, esp
push str._minutes__r_n
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
push eax
lea eax, [ebp - 0x48]
push str._r_n_User_has_been_idle_for
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push eax
push esi
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
add esp, 0xc
mov ecx, edi
call fcn.004054e9
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x4059cc
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret