Function at 0x140011350
Capabilities:
Get graphical window text

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov rsi, qword [sym.imp.msvcrt.dll__errno]
mov qword [rsp + 0xc0], 1
mov rdi, rcx
lea rbx, [rsp + 0xc0]
mov dword [rsp + 0xc8], 0x1dcd6500
mov rdx, rbx
mov rcx, rbx
call sym.nanosleep
cmp eax, 0xffffffff
je 0x140011520
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x140011500
mov rcx, qword [rsp + 0x38]
lea r14, [rsp + 0x50]
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov edx, 2
mov rcx, rax
mov r12, rax
call qword [sym.imp.USER32.dll_GetAncestor]
mov r8d, 0x200
mov rdx, rbx
mov rcx, rax
mov rsi, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, rbx
mov qword [rsp + 0x40], r14
call sym.wcslen
lea r13, [rax + rax]
mov rbp, rax
mov r15, r13
sar r15, 1
cmp r13, 0xe
ja 0x140011530
mov rcx, qword [rsp + 0x40]
cmp r15, 1
jne 0x1400115b0
movzx eax, word [rsp + 0xc0]
mov word [rcx], ax
xor r13d, r13d
mov qword [rsp + 0x48], r15
mov word [rcx + rbp*2], r13w
lea rbp, [0x1402e636a]
mov rcx, rbp
call sym.wcslen
mov rcx, qword [rsp + 0x40]
cmp rax, r15
je 0x1400115c0
cmp rcx, r14
je 0x140011465
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
lea r14, [rsp + 0x90]
mov rcx, rbx
mov qword [rsp + 0x80], r14
call sym.wcslen
lea r13, [rax + rax]
mov rbp, rax
mov r15, r13
sar r15, 1
cmp r13, 0xe
ja 0x140011718
mov rcx, qword [rsp + 0x80]
cmp r15, 1
jne 0x140011588
movzx eax, word [rsp + 0xc0]
mov word [rcx], ax
xor r8d, r8d
mov qword [rsp + 0x88], r15
mov word [rcx + rbp*2], r8w
lea rbp, [0x1402e638e]
mov rcx, rbp
call sym.wcslen
mov rcx, qword [rsp + 0x80]
cmp rax, r15
je 0x140011760
cmp rcx, r14
je 0x140011500
mov rax, qword [rsp + 0x90]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
nop dword [rax + rax]
xor esi, esi
mov rax, rsi
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call rsi
cmp dword [rax], 4
jne 0x1400113a0
jmp 0x14001138c
movabs rax, 0x7ffffffffffffffe
cmp rax, r13
jb 0x140011bb5
movabs rax, 0x3fffffffffffffff
cmp r15, rax
je 0x140011a65
lea rcx, [r13 + 2]
call sym.operator_new_unsigned_long_long_
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x40], rax
mov rcx, rax
mov r8, r13
mov rdx, rbx
call sym.memcpy
mov rcx, qword [rsp + 0x40]
jmp 0x140011427
test r15, r15
je 0x1400114b1
nop dword [rax]
mov r8, r13
mov rdx, rbx
call sym.memcpy
mov rcx, qword [rsp + 0x80]
jmp 0x1400114b1
test r15, r15
je 0x140011427
jmp 0x14001156c
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x140011600
cmp rcx, rbp
je 0x140011600
test rcx, rcx
je 0x140011456
xor eax, eax
nop word [rax + rax]
movzx r10d, word [rbp + rax*2]
cmp word [rcx + rax*2], r10w
jne 0x140011451
add rax, 1
cmp rdx, rax
jne 0x1400115e0
nop word [rax + rax]
cmp rcx, r14
je 0x140011614
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
lea r12, [rsp + 0x70]
mov rcx, rbx
mov qword [rsp + 0x60], r12
call sym.wcslen
lea r14, [rax + rax]
mov r15, rax
mov rbp, r14
sar rbp, 1
mov r13, rbp
cmp r14, 0xe
ja 0x1400119d2
mov rax, qword [rsp + 0x60]
cmp rbp, 1
jne 0x1400119b1
movzx edx, word [rsp + 0xc0]
mov word [rax], dx
mov rcx, qword [rdi]
xor r11d, r11d
lea rdx, [rdi + 0x10]
mov qword [rsp + 0x68], rbp
mov word [rax + r15*2], r11w
cmp rcx, rdx
je 0x140011ae0
cmp rax, r12
je 0x140011afb
movq xmm0, rbp
mov rdx, qword [rdi + 0x10]
mov qword [rdi], rax
movhps xmm0, qword [rsp + 0x70]
movups xmmword [rdi + 8], xmm0
test rcx, rcx
je 0x1400116c8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], 0
xor r9d, r9d
mov word [rcx], r9w
cmp rcx, r12
je 0x1400116c8
mov rax, qword [rsp + 0x70]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [str.8P8_]
mov rdx, rsi
call sym.std::ostream_std::ostream::_M_insert_void_const__void_const_
mov rbx, rax
mov rax, qword [rax]
mov rax, qword [rax - 0x18]
mov rdi, qword [rbx + rax + 0xf0]
test rdi, rdi
je 0x140011bb0
cmp byte [rdi + 0x38], 0
je 0x140011980
movsx edx, byte [rdi + 0x43]
mov rcx, rbx
call sym.std::ostream::put_char_
mov rcx, rax
call sym.std::ostream::flush__
jmp 0x140011502
movabs rax, 0x7ffffffffffffffe
cmp rax, r13
jb 0x140011bb5
movabs rax, 0x3fffffffffffffff
cmp r15, rax
je 0x140011a65
lea rcx, [r13 + 2]
call sym.operator_new_unsigned_long_long_
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x80], rax
mov rcx, rax
jmp 0x140011598
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x1400117a0
cmp rcx, rbp
je 0x1400117a0
test rcx, rcx
je 0x1400114e6
xor eax, eax
nop dword [rax]
movzx r11d, word [rbp + rax*2]
cmp word [rcx + rax*2], r11w
jne 0x1400114e1
add rax, 1
cmp rdx, rax
jne 0x140011780
nop word [rax + rax]
cmp rcx, r14
je 0x1400117b7
mov rax, qword [rsp + 0x90]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
lea r13, [rsp + 0xb0]
mov rcx, rbx
mov qword [rsp + 0xa0], r13
call sym.wcslen
lea r8, [rax + rax]
mov r14, rax
mov rbp, r8
sar rbp, 1
mov r15, rbp
cmp r8, 0xe
ja 0x140011a6a
mov r9, qword [rsp + 0xa0]
cmp rbp, 1
jne 0x140011a09
movzx eax, word [rsp + 0xc0]
mov word [r9], ax
xor ecx, ecx
mov qword [rsp + 0xa8], rbp
lea rax, [rdi + 0x10]
mov word [r9 + r14*2], cx
mov rcx, qword [rdi]
cmp rcx, rax
je 0x140011b17
cmp r9, r13
je 0x140011b35
movq xmm0, rbp
mov rax, qword [rdi + 0x10]
mov qword [rdi], r9
movhps xmm0, qword [rsp + 0xb0]
movups xmmword [rdi + 8], xmm0
test rcx, rcx
je 0x140011884
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa8], 0
xor eax, eax
mov word [rcx], ax
cmp rcx, r13
je 0x140011884
mov rax, qword [rsp + 0xb0]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [str.8P8_]
mov rdx, r12
call sym.std::ostream_std::ostream::_M_insert_void_const__void_const_
mov rbx, rax
mov rax, qword [rax]
mov rax, qword [rax - 0x18]
mov rdi, qword [rbx + rax + 0xf0]
test rdi, rdi
je 0x140011bb0
cmp byte [rdi + 0x38], 0
je 0x140011a34
movsx edx, byte [rdi + 0x43]
mov rcx, rbx
call sym.std::ostream::put_char_
mov rcx, rax
call sym.std::ostream::flush__
lea r8, [rsp + 0xa0]
lea rdx, [method.WindowManager.getWindowHandle_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____::lambda_HWND____long_long_1::_FUN_HWND____long_long_]
mov rcx, rsi
mov qword [rsp + 0xa0], 0
call qword [sym.imp.USER32.dll_EnumChildWindows]
cmp qword [rsp + 0xa0], 0
je 0x140011ab7
lea rbx, str.Found_child_window_with_title_
mov rcx, rbx
call sym.wcslen
mov rdx, rbx
mov rbx, qword [str._P8_]
mov r8, rax
mov rcx, rbx
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::__ostream_insert_wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const__long_long_
mov rdx, qword [rsp + 0xa0]
mov rcx, rbx
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t___::_M_insert_void_const__void_const_
mov rbx, rax
mov rax, qword [rbx]
mov rax, qword [rax - 0x18]
mov rcx, qword [rax + rbx + 0xf0]
test rcx, rcx
je 0x140011bb0
mov rax, qword [rcx]
mov edx, 0xa
call qword [rax + 0x50]
mov rcx, rbx
movzx edx, ax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::put_wchar_t_
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::flush__
mov rsi, qword [rsp + 0xa0]
jmp 0x140011502
mov rcx, rdi
call sym.std::ctype_char_::_M_widen_init___const
mov rax, qword [rdi]
mov edx, 0xa
lea rcx, [method.std::ctype_char_.do_widen_char__const]
mov rax, qword [rax + 0x30]
cmp rax, rcx
je 0x140011700
mov rcx, rdi
call rax
movsx edx, al
jmp 0x140011700
test rbp, rbp
je 0x14001165a
mov r8, r14
mov rdx, rbx
mov rcx, rax
call sym.memcpy
mov rax, qword [rsp + 0x60]
jmp 0x14001165a
movabs rax, 0x7ffffffffffffffe
cmp rax, r14
jb 0x140011bb5
movabs rax, 0x3fffffffffffffff
cmp rbp, rax
je 0x140011a65
lea rcx, [r14 + 2]
call sym.operator_new_unsigned_long_long_
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x60], rax
jmp 0x1400119ba
test rbp, rbp
je 0x140011807
mov rcx, r9
mov rdx, rbx
mov qword [rsp + 0x28], r8
call sym.memcpy
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x28]
jmp 0x140011807
mov rcx, rdi
call sym.std::ctype_char_::_M_widen_init___const
mov rax, qword [rdi]
mov edx, 0xa
lea rcx, [method.std::ctype_char_.do_widen_char__const]
mov rax, qword [rax + 0x30]
cmp rax, rcx
je 0x1400118bc
mov rcx, rdi
call rax
movsx edx, al
jmp 0x1400118bc
call sym.std::__throw_bad_alloc__
movabs rax, 0x7ffffffffffffffe
cmp rax, r8
jb 0x140011bb5
movabs rax, 0x3fffffffffffffff
cmp rbp, rax
je 0x140011a65
lea rcx, [r8 + 2]
mov qword [rsp + 0x28], r8
call sym.operator_new_unsigned_long_long_
mov qword [rsp + 0xb0], rbp
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0xa0], rax
mov r9, rax
jmp 0x140011a12
lea rbx, str.Child_window_with_title_
mov rcx, rbx
call sym.wcslen
mov rdx, rbx
mov rbx, qword [str._P8_]
mov r8, rax
mov rcx, rbx
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::__ostream_insert_wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const__long_long_
jmp 0x140011936
cmp rax, r12
je 0x140011afb
movq xmm0, rbp
mov qword [rdi], rax
movhps xmm0, qword [rsp + 0x70]
movups xmmword [rdi + 8], xmm0
jmp 0x1400116c8
test rbp, rbp
jne 0x140011b50
mov rdx, rcx
mov rcx, rax
xor r10d, r10d
mov qword [rdi + 8], r13
mov word [rdx + r14], r10w
jmp 0x1400116a4
cmp r9, r13
je 0x140011b35
movq xmm0, rbp
mov qword [rdi], r9
movhps xmm0, qword [rsp + 0xb0]
movups xmmword [rdi + 8], xmm0
jmp 0x140011884
test rbp, rbp
jne 0x140011b75
mov rax, rcx
mov rcx, r9
xor edx, edx
mov qword [rdi + 8], r15
mov word [rax + r8], dx
jmp 0x14001185c
cmp rbp, 1
je 0x140011b9c
mov r8, r14
mov rdx, rax
call sym.memcpy
mov r13, qword [rsp + 0x68]
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x60]
lea r14, [r13 + r13]
jmp 0x140011b06
cmp rbp, 1
je 0x140011ba7
mov rdx, r9
call sym.memcpy
mov r15, qword [rsp + 0xa8]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0xa0]
lea r8, [r15 + r15]
jmp 0x140011b40
movzx edx, word [rax]
mov word [rcx], dx
jmp 0x140011b00
movzx eax, word [r9]
mov word [rcx], ax
jmp 0x140011b3a
call sym.std::__throw_bad_cast__
lea rcx, [0x1402e6352]
call sym.std::__throw_length_error_char_const_
nop
nop word cs:[rax + rax]
nop dword [rax]