Function at 0x1400a2a30
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x10400]
mov eax, 0x10500
call fcn.1400d9fd0
sub rsp, rax
mov r11, rdx
mov rsi, rcx
movzx edx, word [rdx]
lea eax, [rdx - 0x41]
mov ecx, 0xffdf
mov r10, qword [rbp + 0x10430]
test cx, ax
jne 0x1400a2b08
cmp word [r11 + 2], 0
jne 0x1400a2b08
cmp word [r8], 0
jne 0x1400a2b08
cmp word [r9], 0
jne 0x1400a2b08
cmp word [r10], 0
jne 0x1400a2b08
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x1400a2ae9
cmp byte [rsi + 0xbf], 0
jne 0x1400a2ae9
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindowVisible]
xor edi, edi
test eax, eax
je 0x1400a2ae6
mov dword [rbp + 0x10450], edi
lea r9d, [rdi + 4]
lea r8, [rbp + 0x10450]
lea edx, [rdi + 0xe]
mov rcx, rbx
call qword [sym.imp.dwmapi.dll_DwmGetWindowAttribute]
test eax, eax
js 0x1400a2ae9
cmp dword [rbp + 0x10450], edi
je 0x1400a2ae9
mov rbx, rdi
cmp byte [rbp + 0x10440], 0
je 0x1400a2d6d
test rbx, rbx
je 0x1400a2d6d
mov qword [rsi + 0x38], rbx
jmp 0x1400a2d6d
test dx, dx
jne 0x1400a2b2c
cmp word [r8], dx
jne 0x1400a2b2c
cmp word [r9], dx
jne 0x1400a2b2c
cmp word [r10], dx
jne 0x1400a2b2c
mov rcx, rsi
call fcn.1400a3000
jmp 0x1400a2d70
xor edi, edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
lea rax, [0x1400fbbd0]
mov qword [rsp + 0x68], rax
mov byte [rbp - 0x57], dil
mov dword [rbp - 0x54], edi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rdi
mov dword [rbp - 0x38], edi
mov qword [rbp - 0x30], rdi
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, [rsi + 0x80]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r9
mov r9, r8
mov r8, r11
lea rcx, [rsp + 0x30]
call fcn.1400a3ea0
test eax, eax
je 0x1400a2d60
movzx eax, byte [rbp + 0x10438]
mov byte [rbp - 0x57], al
mov qword [rbp - 0x40], rdi
mov dword [rbp - 0x38], edi
test byte [rsp + 0x30], 2
je 0x1400a2fc1
mov rbx, qword [rbp - 0x78]
cmp rbx, 0xffff
je 0x1400a2c26
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400a2d60
mov rbx, qword [rbp - 0x78]
cmp byte [rsi + 0xbf], dil
jne 0x1400a2c26
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1400a2c0d
mov dword [rbp + 0x10450], edi
lea r9d, [rdi + 4]
lea r8, [rbp + 0x10450]
lea edx, [rdi + 0xe]
mov rcx, rbx
call qword [sym.imp.dwmapi.dll_DwmGetWindowAttribute]
test eax, eax
js 0x1400a2c26
cmp dword [rbp + 0x10450], edi
je 0x1400a2c26
mov edx, 0xfffffff0
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x1e
jae 0x1400a2d60
mov rbx, qword [rbp - 0x78]
cmp qword [rbp - 0x18], rbx
je 0x1400a2ce9
mov qword [rbp - 0x18], rbx
test rbx, rbx
je 0x1400a2d60
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1400a2ce9
test al, 1
jne 0x1400a2c5c
mov rax, qword [rsp + 0x68]
cmp word [rax], 0
je 0x1400a2c78
mov r8d, 0x7fff
lea rdx, [rbp - 0xc]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jne 0x1400a2c78
mov word [rbp - 0xc], di
test byte [rsp + 0x30], 4
je 0x1400a2c8d
lea rdx, [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test byte [rsp + 0x30], 0x20
je 0x1400a2ccb
lea rdx, [rbp + 0x10450]
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x1400a2ccb
movzx r9d, byte [rbp - 0x58]
lea rdx, [rbp + 0x101f4]
mov ecx, dword [rbp + 0x10450]
call fcn.140031a54
test eax, eax
jne 0x1400a2ccb
mov word [rbp + 0x101f4], di
test byte [rsp + 0x30], 8
je 0x1400a2ce9
mov r8d, 0x101
lea rdx, [rbp + 0xfff2]
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.USER32.dll_GetClassNameW]
cmp qword [rbp - 0x18], 0
je 0x1400a2d60
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1400a2d60
test al, 1
je 0x1400a2dac
mov r9, qword [rsp + 0x50]
cmp word [r9], 0
je 0x1400a2dac
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rdx + 0xc]
sub ecx, 1
je 0x1400a2d97
sub ecx, 1
je 0x1400a2d89
cmp ecx, 2
je 0x1400a2d4f
lea rax, [rbp - 0xc]
sub r9, rax
movzx r8d, word [rax]
movzx ecx, word [rax + r9]
sub r8d, ecx
jne 0x1400a2d48
add rax, 2
test ecx, ecx
jne 0x1400a2d32
test r8d, r8d
je 0x1400a2db1
jmp 0x1400a2d60
mov rdx, r9
lea rcx, [rbp - 0xc]
call fcn.140032e40
test rax, rax
jne 0x1400a2dac
mov rbx, rdi
mov rcx, qword [rsp + 0x40]
call fcn.1400c0990
mov rax, rbx
lea r11, [rsp + 0x10500]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
mov rdx, r9
lea rcx, [rbp - 0xc]
call fcn.1400bc860
jmp 0x1400a2d5b
mov r8, qword [rsp + 0x60]
mov rdx, r9
lea rcx, [rbp - 0xc]
call fcn.1400cced4
test eax, eax
jne 0x1400a2d60
mov rdx, qword [rsp + 0x38]
test byte [rsp + 0x30], 8
je 0x1400a2e0f
cmp dword [rdx + 0xc], 4
jne 0x1400a2ddb
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xfff2]
call fcn.140032e40
test rax, rax
je 0x1400a2d60
mov rdx, qword [rsp + 0x38]
jmp 0x1400a2e0f
lea rax, [rbp + 0xfff2]
mov r9, qword [rsp + 0x58]
sub r9, rax
nop word [rax + rax]
movzx r8d, word [rax]
movzx ecx, word [rax + r9]
sub r8d, ecx
jne 0x1400a2e06
add rax, 2
test ecx, ecx
jne 0x1400a2df0
test r8d, r8d
jne 0x1400a2d60
test byte [rsp + 0x30], 4
je 0x1400a2e22
mov eax, dword [rbp - 0x70]
cmp dword [rbp - 0x10], eax
jne 0x1400a2d60
test byte [rsp + 0x30], 0x20
je 0x1400a2e5b
lea rcx, [rbp + 0x101f4]
cmp dword [rdx + 0xc], 4
mov rdx, qword [rbp - 0x60]
jne 0x1400a2e49
call fcn.140032e40
test rax, rax
jne 0x1400a2e56
jmp 0x1400a2d60
call fcn.1400c0814
test eax, eax
jne 0x1400a2d60
mov rdx, qword [rsp + 0x38]
test byte [rsp + 0x30], 0x10
je 0x1400a2e89
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400a2d60
mov r8, rdx
mov rdx, qword [rbp - 0x18]
call fcn.1400a5380
test rax, rax
je 0x1400a2d60
mov rdx, qword [rsp + 0x38]
test byte [rsp + 0x30], 2
je 0x1400a2e9e
mov rax, qword [rbp - 0x78]
cmp qword [rbp - 0x18], rax
jne 0x1400a2d60
mov r8, qword [rsp + 0x68]
cmp word [r8], 0
je 0x1400a2f38
mov ecx, dword [rdx + 0xc]
sub ecx, 1
je 0x1400a2f1d
sub ecx, 1
je 0x1400a2f05
cmp ecx, 2
je 0x1400a2eed
lea rax, [rbp - 0xc]
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1400a2ee4
add rax, 2
test ecx, ecx
jne 0x1400a2ed0
test edx, edx
jne 0x1400a2f38
jmp 0x1400a2d60
mov rdx, qword [rsp + 0x68]
lea rcx, [rbp - 0xc]
call fcn.140032e40
test rax, rax
je 0x1400a2f38
jmp 0x1400a2d60
mov rdx, qword [rsp + 0x68]
lea rcx, [rbp - 0xc]
call fcn.1400bc860
test rax, rax
je 0x1400a2f38
jmp 0x1400a2d60
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
lea rcx, [rbp - 0xc]
call fcn.1400cced4
test eax, eax
je 0x1400a2d60
mov ecx, edi
cmp dword [rbp - 0x38], ecx
jle 0x1400a2f5b
mov rdx, qword [rbp - 0x40]
mov rax, qword [rdx]
cmp qword [rbp - 0x18], rax
je 0x1400a2d60
inc ecx
add rdx, 8
cmp ecx, dword [rbp - 0x38]
jl 0x1400a2f43
mov rax, qword [rsp + 0x78]
cmp word [rax], 0
jne 0x1400a2f70
mov rax, qword [rbp - 0x80]
cmp word [rax], 0
je 0x1400a2f95
mov qword [rbp - 0x48], rdi
lea r8, [rsp + 0x30]
lea rdx, [0x1400a3190]
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.USER32.dll_EnumChildWindows]
cmp qword [rbp - 0x48], 0
je 0x1400a2d60
mov rbx, qword [rbp - 0x18]
mov qword [rbp - 0x50], rbx
inc dword [rbp - 0x54]
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400a2fb5
mov rdx, rbx
call fcn.14003f7e0
mov rbx, qword [rbp - 0x50]
cmp qword [rbp - 0x18], 0
jne 0x1400a2fd7
jmp 0x1400a2d60
lea rdx, [rsp + 0x30]
lea rcx, [0x1400a30f0]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rbx, qword [rbp - 0x50]
cmp byte [rbp + 0x10440], 0
je 0x1400a2d63
test rbx, rbx
je 0x1400a2d63
mov qword [rsi + 0x38], rbx
jmp 0x1400a2d63