Function at 0x140017750
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
push r12
push r14
push r15
sub rsp, 0x450
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140267b40]
xor rax, rsp
mov qword [rsp + 0x440], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rsi, rax
call fcn.140023c3c
mov rdx, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400177b7
mov ecx, 0x80004005
call fcn.140019e30
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x28], rdi
call fcn.140023c3c
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400177e9
mov ecx, 0x80004005
call fcn.140019e30
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
mov r8d, 0x100
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov r8d, 0x100
lea rdx, [rsp + 0x240]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rax, [rsp + 0x40]
or rbp, 0xffffffffffffffff
mov rsi, rbp
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140017832
test esi, esi
jne 0x14001789e
lea rdx, [rdi - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14001791d
cmp dword [rdx + 0x10], 0
jge 0x140017875
cmp dword [rdi - 0xc], 0
jge 0x140017868
mov ecx, 0x80070057
call fcn.140019e30
int3
mov dword [rdi - 0x10], r12d
mov word [rdi], r12w
jmp 0x14001791d
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140017885
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x20]
jmp 0x14001791d
mov r15d, dword [rdi - 0x10]
lea r14, [rsp + 0x40]
sub r14, rdi
sar r14, 1
test esi, esi
jns 0x1400178bc
mov ecx, 0x80070057
call fcn.140019e30
int3
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x1400178de
mov edx, esi
lea rcx, [rsp + 0x28]
call fcn.140019dd0
mov rdi, qword [rsp + 0x28]
movsxd rax, esi
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
add rdx, rdx
cmp r14, r15
lea r15, [rax + rax]
mov r9, r15
ja 0x140017902
lea r8, [rdi + r14*2]
call fcn.14019a16c
jmp 0x14001790c
lea r8, [rsp + 0x40]
call fcn.14019a0e4
cmp esi, dword [rdi - 0xc]
jg 0x140017a8f
mov dword [rdi - 0x10], esi
mov word [r15 + rdi], r12w
lea rax, [rsp + 0x240]
mov rdi, rbp
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140017930
test edi, edi
jne 0x14001799a
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140017a1b
cmp dword [rdx + 0x10], 0
jge 0x140017973
cmp dword [rbx - 0xc], 0
jge 0x140017966
mov ecx, 0x80070057
call fcn.140019e30
int3
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x140017a1b
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140017983
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
jmp 0x140017a1b
mov r14d, dword [rbx - 0x10]
lea rsi, [rsp + 0x240]
sub rsi, rbx
sar rsi, 1
test edi, edi
jns 0x1400179bb
mov ecx, 0x80070057
call fcn.140019e30
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400179dd
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.140019dd0
mov rbx, qword [rsp + 0x20]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r14
lea r14, [rax + rax]
mov r9, r14
ja 0x140017a01
lea r8, [rbx + rsi*2]
call fcn.14019a16c
jmp 0x140017a0e
lea r8, [rsp + 0x240]
call fcn.14019a0e4
cmp edi, dword [rbx - 0xc]
jg 0x140017a84
mov dword [rbx - 0x10], edi
mov word [r14 + rbx], r12w
cmp dword [rbx - 0x10], 0
jl 0x140017a46
lea rdx, str.NativeHWNDHost
mov rcx, rbx
call fcn.14019aaf8
test rax, rax
je 0x140017a46
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140017a46
mov edx, 1
jmp 0x140017a48
xor edx, edx
mov ecx, 8
call qword [0x140279260]
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140017a69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140017a9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140017a9a
mov ecx, 0x80070057
call fcn.140019e30
int3
mov ecx, 0x80070057
call fcn.140019e30
nop
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.140199f00
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret