Function at 0x1400a4950
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 r13, r8
mov rsi, rcx
cmp word [r10], 0
je 0x1400a4994
mov rax, qword [rcx + 0x1018]
mov byte [rsp + 0x270], 1
cmp word [rax], 0
je 0x1400a499c
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 0x1400a49b0
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, r13
mov qword [rsp + 0x250], rbx
mov dword [rsp + 0x278], eax
call fcn.14009d9e0
mov rbp, rax
test rax, rax
je 0x1400a4d42
nop
test r14d, r14d
je 0x1400a4a29
movzx eax, word [rbp - 2]
cmp ax, 0x20
je 0x1400a4a29
cmp ax, 9
jne 0x1400a4d16
mov r8d, 2
lea rdx, [0x14010bb3c]
lea rcx, [rbp + 8]
call fcn.1400c15e4
test eax, eax
jne 0x1400a4a7f
or dword [rsi], 2
lea rcx, [rbp + 0xc]
call fcn.14009def0
mov qword [rsi + 0x1038], rax
cmp rax, 0xffff
je 0x1400a4cb6
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400a4cb6
mov qword [rsi + 0x1038], rdi
jmp 0x1400a4e55
mov r8d, 3
lea rdx, [0x14010bb48]
lea rcx, [rbp + 8]
call fcn.1400c15e4
test eax, eax
jne 0x1400a4ab0
or dword [rsi], 4
lea rcx, [rbp + 0xe]
call fcn.14009def0
mov dword [rsi + 0x1040], eax
jmp 0x1400a4cb6
mov r8d, 5
lea rdx, str.group
lea rcx, [rbp + 8]
call fcn.1400c15e4
test eax, eax
jne 0x1400a4bba
or dword [rsi], 0x10
lea rdx, [rbp + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400a4ae4
cmp ax, 9
jne 0x1400a4aea
add rdx, 2
jmp 0x1400a4ad5
mov r8d, 0xfd
lea rcx, [rsp + 0x20]
call fcn.1400d02a4
movzx r9d, word [rsp + 0x20]
lea r8, [rsp + 0x20]
mov word [rsp + 0x21a], di
test r9w, r9w
je 0x1400a4b9b
movzx edx, r9w
nop dword [rax + rax]
lea rcx, [0x140102ab4]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400a4b52
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400a4b30
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x1400a4b20
jmp 0x1400a4b61
test r8, r8
je 0x1400a4b61
mov word [r8], di
movzx r9d, word [rsp + 0x20]
test r9w, r9w
je 0x1400a4b9b
mov rbx, qword [0x140127590]
test rbx, rbx
je 0x1400a4b9b
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x20]
call fcn.1400c1404
test eax, eax
je 0x1400a4ba9
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x1400a4b80
mov qword [rsi + 0x1048], rdi
xor eax, eax
jmp 0x1400a4e55
mov qword [rsi + 0x1048], rbx
test rbx, rbx
je 0x1400a4ba2
jmp 0x1400a4cb6
mov r8d, 3
lea rdx, [0x140103530]
lea rcx, [rbp + 8]
call fcn.1400c15e4
test eax, eax
jne 0x1400a4be2
or dword [rsi], 0x20
lea rdx, [rbp + 0xe]
mov eax, 0x1050
jmp 0x1400a4c0c
mov r8d, 5
lea rdx, str.class
lea rcx, [rbp + 8]
call fcn.1400c15e4
test eax, eax
jne 0x1400a4d16
or dword [rsi], 8
lea rdx, [rbp + 0x12]
mov eax, 0x810
lea rbx, [rax + rsi]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400a4c1f
cmp ax, 9
jne 0x1400a4c25
add rdx, 2
jmp 0x1400a4c10
mov r8d, 0x3ff
mov rcx, rbx
call fcn.1400d02a4
lea rdx, str.ahk_
mov word [rbx + 0x7fe], di
mov rcx, rbx
call fcn.14009d9e0
test rax, rax
je 0x1400a4c85
nop
cmp rax, rbx
je 0x1400a4c82
movzx ecx, word [rax - 2]
cmp cx, 0x20
je 0x1400a4c7c
cmp cx, 9
je 0x1400a4c7c
lea rcx, [rax + 8]
lea rdx, str.ahk_
call fcn.14009d9e0
test rax, rax
jne 0x1400a4c50
jmp 0x1400a4c85
mov word [rax - 2], di
jmp 0x1400a4c85
mov word [rax], di
lea rcx, [rsi + 0x1050]
cmp rbx, rcx
jne 0x1400a4cb6
mov rax, qword [rsi + 8]
cmp dword [rax + 0xc], 4
je 0x1400a4cae
mov edx, 0x5c
call fcn.1400bcaf8
test rax, rax
jne 0x1400a4cae
mov al, 1
jmp 0x1400a4cb0
xor al, al
mov byte [rsi + 0x1850], al
test r14d, r14d
jne 0x1400a4d19
mov rcx, r13
call 0x140017dd0
cmp rbp, rax
jbe 0x1400a4d19
or dword [rsi], 1
lea rcx, [rsi + 0x10]
mov eax, 0x400
mov rbx, rbp
sub rbx, r13
mov rdx, r13
sar rbx, 1
cmp rbx, rax
cmova rbx, rax
lea r8, [rbx - 1]
call fcn.1400d02a4
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 0x1400a4d00
mov qword [rsi + 0x1010], rax
xor edi, edi
jmp 0x1400a4d19
dec r14d
mov eax, 8
lea rdx, str.ahk_
inc r14d
lea rcx, [rax + rbp]
call fcn.14009d9e0
mov rbp, rax
test rax, rax
jne 0x1400a4a10
test r14d, r14d
jne 0x1400a4d74
mov r8d, 0x3ff
mov dword [rsi], 1
mov rdx, r13
lea rcx, [rsi + 0x10]
call fcn.1400d02a4
mov word [rsi + 0x80e], di
inc r15
cmp word [rsi + r15*2 + 0x10], 0
jne 0x1400a4d61
mov qword [rsi + 0x1010], r15
mov eax, dword [rsi]
cmp eax, dword [rsp + 0x278]
jne 0x1400a4d8d
cmp byte [rsp + 0x270], 0
je 0x1400a4e50
mov rcx, qword [rsi + 0x1890]
test rcx, rcx
je 0x1400a4e50
test eax, eax
je 0x1400a4e50
test al, 1
jne 0x1400a4db6
mov rax, qword [rsi + 0x1018]
cmp word [rax], 0
je 0x1400a4dd4
mov r8d, 0x7fff
lea rdx, [rsi + 0x189c]
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jne 0x1400a4dd4
mov word [rsi + 0x189c], di
test byte [rsi], 4
je 0x1400a4ded
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsi + 0x1898]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test byte [rsi], 0x20
je 0x1400a4e31
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsp + 0x270]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x1400a4e31
movzx r9d, byte [rsi + 0x1850]
lea rdx, [rsi + 0x11a9c]
mov ecx, dword [rsp + 0x270]
call fcn.140031d80
test eax, eax
jne 0x1400a4e31
mov word [rsi + 0x11a9c], di
test byte [rsi], 8
je 0x1400a4e50
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