Function at 0x140093950
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push r12
lea rbp, [rsp - 0x11c8]
mov eax, 0x12c8
call fcn.140121190
sub rsp, rax
mov r12, rcx
test rcx, rcx
jne 0x140093987
xor eax, eax
add rsp, 0x12c8
pop r12
pop rbp
ret
mov qword [rsp + 0x12c0], rbx
mov qword [rsp + 0x12b8], rsi
mov qword [rsp + 0x12b0], rdi
mov qword [rsp + 0x12a8], r13
mov qword [rsp + 0x12a0], r14
mov qword [rsp + 0x1298], r15
call fcn.1400931c0
xor r15d, r15d
mov rcx, r12
mov dword [rbp + 0x11f8], eax
mov dword [rbp + 0x11e0], r15d
call qword [sym.imp.USER32.dll_GetParent]
lea rdx, [rsp + 0x44]
mov rcx, r12
mov qword [rsp + 0x50], rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea rbx, [rsp + 0x58]
lea edi, [r15 + 7]
mov rcx, qword [rbx - 8]
test rcx, rcx
je 0x140093a02
call qword [sym.imp.USER32.dll_GetParent]
jmp 0x140093a05
mov rax, r15
mov qword [rbx], rax
test rax, rax
je 0x140093a28
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x44], eax
je 0x140093a28
mov qword [rbx], r15
add rbx, 8
dec rdi
jne 0x1400939f1
lea rdx, [rbp - 0x70]
mov r8d, 0x100
mov rcx, r12
mov word [rbp - 0x70], r15w
mov word [rbp + 0x190], r15w
mov word [rbp + 0x390], r15w
mov word [rbp + 0x590], r15w
mov word [rbp + 0x790], r15w
mov word [rbp + 0x990], r15w
mov word [rbp + 0xb90], r15w
mov word [rbp + 0xd90], r15w
mov word [rbp + 0xf90], r15w
call qword [sym.imp.USER32.dll_GetClassNameW]
test byte [0x1402d741c], 4
je 0x140093ab4
lea rax, [rbp - 0x70]
lea r8, str.current:_hWnd0x_x__CurClassName_s_n
lea edx, [rdi + 3]
lea rcx, str.CSynOSD::GetClassFlags
mov r9, r12
mov qword [rsp + 0x20], rax
call fcn.14011a590
lea rdx, [rbp - 0x70]
lea rcx, str.HwndWrapper
mov r8d, VariantTimeToDosDateTime
call fcn.1401228e4
mov r13d, r15d
mov ecx, 0x4000
test eax, eax
mov ebx, r15d
lea r14, [rsp + 0x50]
cmove r13d, ecx
lea rdi, [rbp + 0x190]
mov rsi, qword [r14]
test rsi, rsi
je 0x140093b2f
mov r8d, 0x100
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
test byte [0x1402d741c], 4
je 0x140093b2f
lea r8, str.Ancestor__d_:_hWnd0x_x__ClassName_s_n
lea rcx, str.CSynOSD::GetClassFlags
mov r9d, ebx
mov edx, 3
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
call fcn.14011a590
inc ebx
add rdi, 0x200
add r14, 8
cmp ebx, 8
jl 0x140093ae7
xor ecx, ecx
mov r14, r15
call fcn.14011b8e0
mov rdi, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x140093c8c
nop word [rax + rax]
test byte [0x1402d741c], 4
je 0x140093b92
mov ecx, dword [rdi + 0xc]
mov eax, dword [rdi + 0x10]
mov r9, rdx
mov dword [rsp + 0x28], ecx
lea r8, str.ptr__Name_s__ptr__iAncestorsToCheckForName_x__ptr__iFlgas_x_n
lea rcx, str.CSynOSD::GetClassFlags
mov edx, 3
mov dword [rsp + 0x20], eax
call fcn.14011a590
mov ebx, r15d
mov rsi, r15
mov eax, dword [rdi + 0x10]
bt eax, ebx
jae 0x140093bca
mov rcx, qword [rdi]
movsxd rax, ebx
lea rdx, [rbp + 0x190]
shl rax, 9
add rdx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140093bca
xor ecx, ecx
call fcn.140116270
cmp eax, dword [rdi + 8]
jge 0x140093bd6
inc ebx
inc rsi
cmp ebx, 8
jl 0x140093b98
jmp 0x140093c25
test byte [0x1402d741c], 4
mov r14, qword [rsp + rsi*8 + 0x50]
je 0x140093c20
mov dword [rsp + 0x30], ebx
movsxd rax, ebx
lea rcx, [rbp + 0x190]
shl rax, 9
lea r8, str._Find_Target_h_x:_ClassName_s__flag_x__at_AncestorName__d__n
mov r9, r14
add rcx, rax
mov eax, dword [rdi + 0xc]
mov edx, 3
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea rcx, str.CSynOSD::GetClassFlags
call fcn.14011a590
test r14, r14
jne 0x140093c8c
mov rcx, qword [rdi]
lea rdx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140093c42
xor ecx, ecx
call fcn.140116270
cmp eax, dword [rdi + 8]
jge 0x140093c55
mov rdx, qword [rdi + 0x20]
add rdi, 0x20
test rdx, rdx
jne 0x140093b60
jmp 0x140093c8c
test byte [0x1402d741c], 4
mov r14, r12
je 0x140093c8c
mov eax, dword [rdi + 0xc]
lea r8, str._Current_window_found_in_ClassDatabase__set_as_target__x___s___x__n
lea rcx, str.CSynOSD::GetClassFlags
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x70]
mov r9, r12
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.14011a590
mov ecx, 1
test r14, r14
je 0x140093d6e
mov eax, r13d
or eax, dword [rdi + 0xc]
bt eax, 0x19
mov dword [rbp + 0x11e0], eax
cmovb r15d, ecx
test dword [rdi + 0xc], 0x8000
je 0x140093cd4
lea r8, [rbp + 0x11e0]
lea rdx, [0x14011ba90]
mov rcx, r14
call qword [sym.imp.USER32.dll_EnumChildWindows]
mov eax, dword [rbp + 0x11e0]
mov rdx, qword [rbp + 0x11e8]
test rdx, rdx
je 0x140093cea
mov ecx, dword [rdi + 0x14]
cmp ecx, 0xffffffff
je 0x140093cea
mov dword [rdx], ecx
mov rdx, qword [rbp + 0x11f0]
test rdx, rdx
je 0x140093d00
mov ecx, dword [rdi + 0x18]
cmp ecx, 0xffffffff
je 0x140093d00
mov dword [rdx], ecx
test byte [0x1402d741c], 4
je 0x140093d2e
lea r8, str.Search_ClassBase:_hTarget_x__dwFlags_x_n
lea rcx, str.CSynOSD::GetClassFlags
mov r9, r14
mov edx, 3
mov dword [rsp + 0x20], eax
call fcn.14011a490
mov eax, dword [rbp + 0x11e0]
mov r14d, dword [rbp + 0x11f8]
test r14d, r14d
jne 0x140093d43
test r15d, r15d
je 0x140093fec
test byte [0x1402d741c], 4
je 0x140093d75
lea r8, str.bIsImmersiveHWND_d__bForceToSearchWindowTitleDB_d__dwFlags_x__will_search_window_title_n
lea rcx, str.CSynOSD::GetClassFlags
mov r9d, r14d
mov edx, 3
mov dword [rsp + 0x20], r15d
call fcn.14011a490
jmp 0x140093d75
mov r14d, dword [rbp + 0x11f8]
xor ebx, ebx
lea rdx, [rbp - 0x70]
mov r8d, 0x100
mov rcx, r12
mov word [rbp - 0x70], bx
mov word [rbp + 0x190], bx
mov word [rbp + 0x390], bx
mov word [rbp + 0x590], bx
mov word [rbp + 0x790], bx
mov word [rbp + 0x990], bx
mov word [rbp + 0xb90], bx
mov word [rbp + 0xd90], bx
mov word [rbp + 0xf90], bx
call sub.USER32.dll_GetWindowTextW
test byte [0x1402d741c], 4
je 0x140093de8
lea r9, [rbp - 0x70]
lea r8, str.CurWindowTitle__s_n
lea edx, [rbx + 3]
lea rcx, str.CSynOSD::GetClassFlags
call fcn.14011a590
lea rsi, [rsp + 0x50]
lea rdi, [rbp + 0x190]
mov rcx, qword [rsi]
test rcx, rcx
je 0x140093e33
mov r8d, 0x100
mov rdx, rdi
call sub.USER32.dll_GetWindowTextW
test byte [0x1402d741c], 4
je 0x140093e33
lea r8, str.Ancestor__d_WindowTitle__s_n
lea rcx, str.CSynOSD::GetClassFlags
mov r9d, ebx
mov edx, 3
mov qword [rsp + 0x20], rdi
call fcn.14011a590
inc ebx
add rdi, 0x200
add rsi, 8
cmp ebx, 8
jl 0x140093df4
mov ecx, 1
call fcn.14011b8e0
mov rdi, rax
cmp qword [rax], 0
je 0x140093ec6
nop dword [rax + rax]
xor ebx, ebx
mov ecx, dword [rdi + 0x10]
bt ecx, ebx
jae 0x140093e94
mov rcx, qword [rdi]
movsxd rax, ebx
lea rdx, [rbp + 0x190]
shl rax, 9
add rdx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140093e94
xor ecx, ecx
call fcn.140116270
cmp eax, dword [rdi + 8]
jge 0x140093f03
inc ebx
cmp ebx, 8
jl 0x140093e62
mov rcx, qword [rdi]
lea rdx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140093ebc
xor ecx, ecx
call fcn.140116270
cmp eax, dword [rdi + 8]
jge 0x140093f65
add rdi, 0x20
cmp qword [rdi], 0
jne 0x140093e60
test r14d, r14d
jne 0x140093fbe
test r15d, r15d
jne 0x140093fbe
test byte [0x1402d741c], 4
je 0x140093efb
lea r8, str.cannot_find_out_matches_in_class_and_title_database__return_escfModifier_x_n
lea edx, [r14 + 3]
lea rcx, str.CSynOSD::GetClassFlags
mov r9d, r13d
call fcn.14011a490
mov eax, r13d
jmp 0x140093fec
mov rcx, qword [rbp + 0x11e8]
test rcx, rcx
je 0x140093f19
mov eax, dword [rdi + 0x14]
cmp eax, 0xffffffff
je 0x140093f19
mov dword [rcx], eax
mov rcx, qword [rbp + 0x11f0]
test rcx, rcx
je 0x140093f2f
mov eax, dword [rdi + 0x18]
cmp eax, 0xffffffff
je 0x140093f2f
mov dword [rcx], eax
test byte [0x1402d741c], 4
je 0x140093fb6
mov eax, dword [rdi + 0xc]
lea r8, str.find_out_window_name_title_in_ancestor__d___return_flag_x_n
lea rcx, str.CSynOSD::GetClassFlags
mov r9d, ebx
mov edx, 3
mov dword [rsp + 0x20], eax
call fcn.14011a490
mov eax, dword [rdi + 0xc]
or eax, r13d
jmp 0x140093fec
mov rcx, qword [rbp + 0x11e8]
test rcx, rcx
je 0x140093f7b
mov eax, dword [rdi + 0x14]
cmp eax, 0xffffffff
je 0x140093f7b
mov dword [rcx], eax
mov rcx, qword [rbp + 0x11f0]
test rcx, rcx
je 0x140093f91
mov eax, dword [rdi + 0x18]
cmp eax, 0xffffffff
je 0x140093f91
mov dword [rcx], eax
test byte [0x1402d741c], 4
je 0x140093fb6
mov r9d, dword [rdi + 0xc]
lea r8, str.find_out_window_title_name_for_cur._window__return_flag_x_n
lea rcx, str.CSynOSD::GetClassFlags
mov edx, 3
call fcn.14011a490
mov eax, dword [rdi + 0xc]
or eax, r13d
jmp 0x140093fec
test byte [0x1402d741c], 4
je 0x140093fe6
mov r9d, dword [rbp + 0x11e0]
lea r8, str.cannot_find_out_matches_in_title_database__return_dwFlags_x_n
lea rcx, str.CSynOSD::GetClassFlags
mov edx, 3
call fcn.14011a490
mov eax, dword [rbp + 0x11e0]
mov r14, qword [rsp + 0x12a0]
mov r13, qword [rsp + 0x12a8]
mov rdi, qword [rsp + 0x12b0]
mov rsi, qword [rsp + 0x12b8]
mov rbx, qword [rsp + 0x12c0]
mov r15, qword [rsp + 0x1298]
add rsp, 0x12c8
pop r12
pop rbp
ret