Function at 0x1400a1ee0
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x220
mov r10, qword [rsp + 0x270]
mov r12, r8
mov rsi, rcx
cmp word [r10], 0
je 0x1400a1f24
mov rax, qword [rcx + 0x1018]
mov byte [rsp + 0x270], 1
cmp word [rax], 0
je 0x1400a1f2c
mov byte [rsp + 0x270], 0
mov r15, 0xffffffffffffffff
mov qword [rcx + 0x1018], r10
mov rax, r15
nop dword [rax]
inc rax
cmp word [r10 + rax*2], 0
jne 0x1400a1f40
mov qword [rcx + 0x1020], rax
xor edi, edi
mov rax, qword [rsp + 0x278]
mov r14d, edi
mov qword [rcx + 0x1030], rax
mov eax, dword [rcx]
mov qword [rcx + 8], rdx
lea rdx, str.ahk_
mov dword [rcx], edi
mov qword [rcx + 0x1028], r9
mov rcx, r12
mov qword [rsp + 0x250], rbx
mov dword [rsp + 0x278], eax
call fcn.14009af30
mov rbp, rax
test rax, rax
je 0x1400a22d2
nop
cmp rbp, r12
jbe 0x1400a1fb9
movzx eax, word [rbp - 2]
cmp ax, 0x20
je 0x1400a1fb9
cmp ax, 9
jne 0x1400a22a6
mov r8d, 2
lea rdx, [0x140108bbc]
lea rcx, [rbp + 8]
call fcn.1400bec00
test eax, eax
jne 0x1400a200f
or dword [rsi], 2
lea rcx, [rbp + 0xc]
call fcn.14009b440
mov qword [rsi + 0x1038], rax
cmp rax, 0xffff
je 0x1400a2246
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400a2246
mov qword [rsi + 0x1038], rdi
jmp 0x1400a23e5
mov r8d, 3
lea rdx, [0x140108bc8]
lea rcx, [rbp + 8]
call fcn.1400bec00
test eax, eax
jne 0x1400a2040
or dword [rsi], 4
lea rcx, [rbp + 0xe]
call fcn.14009b440
mov dword [rsi + 0x1040], eax
jmp 0x1400a2246
mov r8d, 5
lea rdx, str.group
lea rcx, [rbp + 8]
call fcn.1400bec00
test eax, eax
jne 0x1400a214a
or dword [rsi], 0x10
lea rdx, [rbp + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400a2074
cmp ax, 9
jne 0x1400a207a
add rdx, 2
jmp 0x1400a2065
mov r8d, 0xfd
lea rcx, [rsp + 0x20]
call fcn.1400cd4c4
movzx r9d, word [rsp + 0x20]
lea r8, [rsp + 0x20]
mov word [rsp + 0x21a], di
test r9w, r9w
je 0x1400a212b
movzx edx, r9w
nop dword [rax + rax]
lea rcx, [0x1400ffad4]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400a20e2
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400a20c0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x1400a20b0
jmp 0x1400a20f1
test r8, r8
je 0x1400a20f1
mov word [r8], di
movzx r9d, word [rsp + 0x20]
test r9w, r9w
je 0x1400a212b
mov rbx, qword [0x140124610]
test rbx, rbx
je 0x1400a212b
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x20]
call fcn.1400bea20
test eax, eax
je 0x1400a2139
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x1400a2110
mov qword [rsi + 0x1048], rdi
xor eax, eax
jmp 0x1400a23e5
mov qword [rsi + 0x1048], rbx
test rbx, rbx
je 0x1400a2132
jmp 0x1400a2246
mov r8d, 3
lea rdx, [0x140100520]
lea rcx, [rbp + 8]
call fcn.1400bec00
test eax, eax
jne 0x1400a2172
or dword [rsi], 0x20
lea rdx, [rbp + 0xe]
mov eax, 0x1050
jmp 0x1400a219c
mov r8d, 5
lea rdx, str.class
lea rcx, [rbp + 8]
call fcn.1400bec00
test eax, eax
jne 0x1400a22a6
or dword [rsi], 8
lea rdx, [rbp + 0x12]
mov eax, 0x810
lea rbx, [rax + rsi]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400a21af
cmp ax, 9
jne 0x1400a21b5
add rdx, 2
jmp 0x1400a21a0
mov r8d, 0x3ff
mov rcx, rbx
call fcn.1400cd4c4
lea rdx, str.ahk_
mov word [rbx + 0x7fe], di
mov rcx, rbx
call fcn.14009af30
test rax, rax
je 0x1400a2215
nop
cmp rax, rbx
je 0x1400a2212
movzx ecx, word [rax - 2]
cmp cx, 0x20
je 0x1400a220c
cmp cx, 9
je 0x1400a220c
lea rcx, [rax + 8]
lea rdx, str.ahk_
call fcn.14009af30
test rax, rax
jne 0x1400a21e0
jmp 0x1400a2215
mov word [rax - 2], di
jmp 0x1400a2215
mov word [rax], di
lea rcx, [rsi + 0x1050]
cmp rbx, rcx
jne 0x1400a2246
mov rax, qword [rsi + 8]
cmp dword [rax + 0xc], 4
je 0x1400a223e
mov edx, 0x5c
call fcn.1400ba088
test rax, rax
jne 0x1400a223e
mov al, 1
jmp 0x1400a2240
xor al, al
mov byte [rsi + 0x1850], al
test r14d, r14d
jne 0x1400a22a9
mov rcx, r12
call 0x140017ca0
cmp rbp, rax
jbe 0x1400a22a9
or dword [rsi], 1
lea rcx, [rsi + 0x10]
mov eax, 0x400
mov rbx, rbp
sub rbx, r12
mov rdx, r12
sar rbx, 1
cmp rbx, rax
cmova rbx, rax
lea r8, [rbx - 1]
call fcn.1400cd4c4
xor eax, eax
mov word [rsi + rbx*2 + 0xe], ax
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2 + 0x10], 0
jne 0x1400a2290
mov qword [rsi + 0x1010], rax
xor edi, edi
jmp 0x1400a22a9
dec r14d
mov eax, 8
lea rdx, str.ahk_
inc r14d
lea rcx, [rax + rbp]
call fcn.14009af30
mov rbp, rax
test rax, rax
jne 0x1400a1fa0
test r14d, r14d
jne 0x1400a2304
mov r8d, 0x3ff
mov dword [rsi], 1
mov rdx, r12
lea rcx, [rsi + 0x10]
call fcn.1400cd4c4
mov word [rsi + 0x80e], di
inc r15
cmp word [rsi + r15*2 + 0x10], 0
jne 0x1400a22f1
mov qword [rsi + 0x1010], r15
mov eax, dword [rsi]
cmp eax, dword [rsp + 0x278]
jne 0x1400a231d
cmp byte [rsp + 0x270], 0
je 0x1400a23e0
mov rcx, qword [rsi + 0x1890]
test rcx, rcx
je 0x1400a23e0
test eax, eax
je 0x1400a23e0
test al, 1
jne 0x1400a2346
mov rax, qword [rsi + 0x1018]
cmp word [rax], 0
je 0x1400a2364
mov r8d, 0x7fff
lea rdx, [rsi + 0x189c]
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jne 0x1400a2364
mov word [rsi + 0x189c], di
test byte [rsi], 4
je 0x1400a237d
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsi + 0x1898]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test byte [rsi], 0x20
je 0x1400a23c1
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsp + 0x270]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x1400a23c1
movzx r9d, byte [rsi + 0x1850]
lea rdx, [rsi + 0x11a9c]
mov ecx, dword [rsp + 0x270]
call fcn.140031ab0
test eax, eax
jne 0x1400a23c1
mov word [rsi + 0x11a9c], di
test byte [rsi], 8
je 0x1400a23e0
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsi + 0x1189a]
mov r8d, 0x101
call qword [sym.imp.USER32.dll_GetClassNameW]
mov eax, 1
mov rbx, qword [rsp + 0x250]
lea r11, [rsp + 0x220]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret