Function at 0x140084c10
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17a8]
mov eax, 0x18a8
call fcn.14010cf70
sub rsp, rax
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov rbx, rcx
xor r14d, r14d
mov r15d, r14d
mov dword [rbp + 0x17f8], r14d
mov qword [rsp + 0x68], r14
mov word [rbp + 0x1a0], r14w
mov qword [rsp + 0x70], r14
mov word [rbp + 0x3a0], r14w
mov qword [rsp + 0x78], r14
mov word [rbp + 0x5a0], r14w
lea rdx, [rsp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, r14d
mov dword [rbp + 0x1800], eax
lea r13, [rsp + 0x68]
mov qword [rsp + 0x38], r13
lea rdi, [0x140150af4]
nop word [rax + rax]
test r15d, r15d
jne 0x1400851a5
test eax, eax
jne 0x140084cb6
mov rax, rbx
mov qword [r13], rbx
jmp 0x140084cce
mov rcx, qword [r13 - 8]
test rcx, rcx
je 0x140084cc7
call qword [sym.imp.USER32.dll_GetParent]
jmp 0x140084cca
mov rax, r14
mov qword [r13], rax
test rax, rax
je 0x14008514d
mov dword [rbp + 0x1808], r14d
lea rdx, [rbp + 0x1808]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [rsp + 0x48]
cmp dword [rbp + 0x1808], eax
jne 0x14008514d
movsxd rax, dword [rbp + 0x1800]
shl rax, 9
lea r12, [rbp + 0x1a0]
add r12, rax
mov qword [rsp + 0x50], r12
mov rsi, qword [r13]
mov r8d, 0x100
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
mov word [rbp - 0x70], r14w
call fcn.140004e20
mov rcx, rax
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
je 0x14008519a
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
test rdi, 0xffffffffffff0000
jne 0x140084d87
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.140007c90
test rax, rax
je 0x140084d9c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140008550
jmp 0x140084d97
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140008830
mov rbx, qword [rsp + 0x30]
mov r8d, 0x104
lea rdx, [rbp - 0x70]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x140084e9b
lea rax, [rbp - 0x70]
or rdi, 0xffffffffffffffff
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140084dc0
test edi, edi
jne 0x140084e20
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140084e9b
cmp dword [rdx + 0x10], 0
jge 0x140084dfc
cmp dword [rbx - 0xc], 0
jl 0x14008516e
mov dword [rbx - 0x10], r14d
mov word [rbx], r14w
jmp 0x140084e9b
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140084e0c
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 + 0x30], rbx
jmp 0x140084e9b
mov r14d, dword [rbx - 0x10]
lea rsi, [rbp - 0x70]
sub rsi, rbx
sar rsi, 1
test edi, edi
js 0x140085184
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140084e58
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140008630
mov rbx, qword [rsp + 0x30]
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 0x140084e7c
lea r8, [rbx + rsi*2]
call fcn.14010bcc0
jmp 0x140084e85
lea r8, [rbp - 0x70]
call fcn.14010bc38
cmp edi, dword [rbx - 0xc]
jg 0x140085179
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r14 + rbx], ax
xor r14d, r14d
mov rax, qword [str.MS_Edge]
cmp word [rax], 0
je 0x140085128
lea r13, str.Microsoft_Edge
cmp qword [r13], 0
je 0x140085123
test r15d, r15d
jne 0x140085123
mov rsi, qword [r13 - 8]
call fcn.140004e20
mov rcx, rax
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
je 0x14008518f
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
test rsi, rsi
je 0x140084f3c
test rsi, 0xffffffffffff0000
jne 0x140084f2b
movzx r14d, si
xor edx, edx
mov ecx, r14d
call fcn.140007c90
test rax, rax
je 0x140084f56
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140008550
mov rdi, qword [rsp + 0x40]
jmp 0x140084f56
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x140084f30
jmp 0x140084f3f
mov eax, r14d
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140008830
mov rdi, qword [rsp + 0x40]
jmp 0x140084f59
xor r14d, r14d
mov r15, qword [r13]
cmp dword [rdi - 0x10], 0
jge 0x140084f68
or eax, 0xffffffff
jmp 0x140084f87
lea rdx, [0x14015c778]
mov rcx, rdi
call fcn.14010e42c
test rax, rax
jne 0x140084f81
or eax, 0xffffffff
jmp 0x140084f87
sub rax, rdi
sar rax, 1
test eax, eax
js 0x140085093
lea rax, [fcn.140007a80]
mov qword [rsp + 0x20], rax
lea r9, [0x1400078f0]
mov edx, 8
mov r8d, 0x200
lea rcx, [rbp + 0x7a0]
call fcn.14010ceec
nop
lea rax, [rsp + 0x60]
mov qword [rbp - 0x80], rax
lea rdx, [0x14015c778]
lea rcx, [rsp + 0x60]
call fcn.140007840
mov rsi, rax
lea rcx, [rdi - 0x18]
call fcn.140007d60
add rax, 0x18
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x20], 0x200
lea r9, [rbp + 0x7a0]
mov r8, rsi
lea rdx, [rsp + 0x58]
lea rcx, [0x1402ad8a0]
call fcn.140044810
mov r12d, eax
test eax, eax
je 0x14008506e
lea rsi, [rbp + 0x7a0]
nop word [rax + rax]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x140085056
test r15, r15
je 0x140085064
cmp dword [rbx - 0x10], eax
jl 0x140085064
mov rdx, r15
mov rcx, rbx
call fcn.14010e42c
test rax, rax
je 0x140085064
sub rax, rbx
sar rax, 1
test eax, eax
jne 0x140085064
inc r14d
add rsi, 8
cmp r14d, r12d
jae 0x14008506e
jmp 0x140085020
mov dword [rbp + 0x17f8], 1
lea r9, [fcn.140007a80]
mov edx, 8
mov r8d, 0x200
lea rcx, [rbp + 0x7a0]
call fcn.14010b8e0
mov r12, qword [rsp + 0x50]
jmp 0x1400850c7
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1400850c7
test r15, r15
je 0x1400850fd
cmp dword [rbx - 0x10], eax
jl 0x1400850fd
mov rdx, r15
mov rcx, rbx
call fcn.14010e42c
test rax, rax
je 0x1400850fd
sub rax, rbx
sar rax, 1
test eax, eax
jne 0x1400850fd
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400850db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add r13, 0x18
mov rax, qword [r13 - 0x10]
mov r15d, dword [rbp + 0x17f8]
cmp word [rax], 0
je 0x14008511e
mov rbx, qword [rsp + 0x30]
xor r14d, r14d
jmp 0x140084eb3
mov r15d, 1
mov dword [rbp + 0x17f8], r15d
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14008511e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14008513c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdi, [0x140150af4]
xor r14d, r14d
mov rbx, qword [rbp + 0x17f0]
mov eax, dword [rbp + 0x1800]
inc eax
mov dword [rbp + 0x1800], eax
add r13, 8
mov qword [rsp + 0x38], r13
cmp eax, 3
jge 0x1400851a5
jmp 0x140084ca0
mov ecx, 0x80070057
call fcn.140007d40
int3
mov ecx, 0x80070057
call fcn.140007d40
int3
mov ecx, 0x80070057
call fcn.140007d40
int3
mov ecx, 0x80004005
call fcn.140007d40
nop
mov ecx, 0x80004005
call fcn.140007d40
int3
mov eax, r15d
add rsp, 0x18a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret