Function at 0x1400a3b60
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 0x1400a3ba4
mov rax, qword [rcx + 0x1018]
mov byte [rsp + 0x270], 1
cmp word [rax], 0
je 0x1400a3bac
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 0x1400a3bc0
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.14009cc70
mov rbp, rax
test rax, rax
je 0x1400a3f52
nop
cmp rbp, r12
jbe 0x1400a3c39
movzx eax, word [rbp - 2]
cmp ax, 0x20
je 0x1400a3c39
cmp ax, 9
jne 0x1400a3f26
mov r8d, 2
lea rdx, [0x14010ac1c]
lea rcx, [rbp + 8]
call fcn.1400c06f0
test eax, eax
jne 0x1400a3c8f
or dword [rsi], 2
lea rcx, [rbp + 0xc]
call fcn.14009d180
mov qword [rsi + 0x1038], rax
cmp rax, 0xffff
je 0x1400a3ec6
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400a3ec6
mov qword [rsi + 0x1038], rdi
jmp 0x1400a4065
mov r8d, 3
lea rdx, [0x14010ac28]
lea rcx, [rbp + 8]
call fcn.1400c06f0
test eax, eax
jne 0x1400a3cc0
or dword [rsi], 4
lea rcx, [rbp + 0xe]
call fcn.14009d180
mov dword [rsi + 0x1040], eax
jmp 0x1400a3ec6
mov r8d, 5
lea rdx, str.group
lea rcx, [rbp + 8]
call fcn.1400c06f0
test eax, eax
jne 0x1400a3dca
or dword [rsi], 0x10
lea rdx, [rbp + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400a3cf4
cmp ax, 9
jne 0x1400a3cfa
add rdx, 2
jmp 0x1400a3ce5
mov r8d, 0xfd
lea rcx, [rsp + 0x20]
call fcn.1400cf044
movzx r9d, word [rsp + 0x20]
lea r8, [rsp + 0x20]
mov word [rsp + 0x21a], di
test r9w, r9w
je 0x1400a3dab
movzx edx, r9w
nop dword [rax + rax]
lea rcx, [0x140101b64]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400a3d62
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400a3d40
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x1400a3d30
jmp 0x1400a3d71
test r8, r8
je 0x1400a3d71
mov word [r8], di
movzx r9d, word [rsp + 0x20]
test r9w, r9w
je 0x1400a3dab
mov rbx, qword [0x140127680]
test rbx, rbx
je 0x1400a3dab
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x20]
call fcn.1400c0504
test eax, eax
je 0x1400a3db9
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x1400a3d90
mov qword [rsi + 0x1048], rdi
xor eax, eax
jmp 0x1400a4065
mov qword [rsi + 0x1048], rbx
test rbx, rbx
je 0x1400a3db2
jmp 0x1400a3ec6
mov r8d, 3
lea rdx, [0x140102580]
lea rcx, [rbp + 8]
call fcn.1400c06f0
test eax, eax
jne 0x1400a3df2
or dword [rsi], 0x20
lea rdx, [rbp + 0xe]
mov eax, 0x1050
jmp 0x1400a3e1c
mov r8d, 5
lea rdx, str.class
lea rcx, [rbp + 8]
call fcn.1400c06f0
test eax, eax
jne 0x1400a3f26
or dword [rsi], 8
lea rdx, [rbp + 0x12]
mov eax, 0x810
lea rbx, [rax + rsi]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400a3e2f
cmp ax, 9
jne 0x1400a3e35
add rdx, 2
jmp 0x1400a3e20
mov r8d, 0x3ff
mov rcx, rbx
call fcn.1400cf044
lea rdx, str.ahk_
mov word [rbx + 0x7fe], di
mov rcx, rbx
call fcn.14009cc70
test rax, rax
je 0x1400a3e95
nop
cmp rax, rbx
je 0x1400a3e92
movzx ecx, word [rax - 2]
cmp cx, 0x20
je 0x1400a3e8c
cmp cx, 9
je 0x1400a3e8c
lea rcx, [rax + 8]
lea rdx, str.ahk_
call fcn.14009cc70
test rax, rax
jne 0x1400a3e60
jmp 0x1400a3e95
mov word [rax - 2], di
jmp 0x1400a3e95
mov word [rax], di
lea rcx, [rsi + 0x1050]
cmp rbx, rcx
jne 0x1400a3ec6
mov rax, qword [rsi + 8]
cmp dword [rax + 0xc], 4
je 0x1400a3ebe
mov edx, 0x5c
call fcn.1400bbb88
test rax, rax
jne 0x1400a3ebe
mov al, 1
jmp 0x1400a3ec0
xor al, al
mov byte [rsi + 0x1850], al
test r14d, r14d
jne 0x1400a3f29
mov rcx, r12
call 0x140017ce0
cmp rbp, rax
jbe 0x1400a3f29
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.1400cf044
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 0x1400a3f10
mov qword [rsi + 0x1010], rax
xor edi, edi
jmp 0x1400a3f29
dec r14d
mov eax, 8
lea rdx, str.ahk_
inc r14d
lea rcx, [rax + rbp]
call fcn.14009cc70
mov rbp, rax
test rax, rax
jne 0x1400a3c20
test r14d, r14d
jne 0x1400a3f84
mov r8d, 0x3ff
mov dword [rsi], 1
mov rdx, r12
lea rcx, [rsi + 0x10]
call fcn.1400cf044
mov word [rsi + 0x80e], di
inc r15
cmp word [rsi + r15*2 + 0x10], 0
jne 0x1400a3f71
mov qword [rsi + 0x1010], r15
mov eax, dword [rsi]
cmp eax, dword [rsp + 0x278]
jne 0x1400a3f9d
cmp byte [rsp + 0x270], 0
je 0x1400a4060
mov rcx, qword [rsi + 0x1890]
test rcx, rcx
je 0x1400a4060
test eax, eax
je 0x1400a4060
test al, 1
jne 0x1400a3fc6
mov rax, qword [rsi + 0x1018]
cmp word [rax], 0
je 0x1400a3fe4
mov r8d, 0x7fff
lea rdx, [rsi + 0x189c]
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jne 0x1400a3fe4
mov word [rsi + 0x189c], di
test byte [rsi], 4
je 0x1400a3ffd
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsi + 0x1898]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test byte [rsi], 0x20
je 0x1400a4041
mov rcx, qword [rsi + 0x1890]
lea rdx, [rsp + 0x270]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x1400a4041
movzx r9d, byte [rsi + 0x1850]
lea rdx, [rsi + 0x11a9c]
mov ecx, dword [rsp + 0x270]
call fcn.140031a30
test eax, eax
jne 0x1400a4041
mov word [rsi + 0x11a9c], di
test byte [rsi], 8
je 0x1400a4060
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