Function at 0x140085f40
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov r15, rdx
mov r14, rcx
xor edi, edi
cmp dword [0x14021c658], 0xb23a8c33
je 0x140085f99
mov ecx, 0x6c0
call fcn.140111d34
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140085f8d
mov rcx, rax
call fcn.140036570
mov rcx, rax
jmp 0x140085f90
mov rcx, rdi
mov qword [0x140229e08], rcx
jmp 0x140085fa0
mov rcx, qword [0x140229e08]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov qword [rsp + 0x78], rax
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.140085db0
mov ebp, 0xffffffff
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400860b0
movzx ecx, word [rax]
cmp cx, 0x4c
jne 0x1400860b0
mov r9d, edi
lea r10, str.ListBox
cmp cx, r9w
je 0x14008600a
mov r8, rdi
mov rdx, rdi
nop
cmp cx, word [rdx + r10]
jne 0x14008600a
inc r9d
inc r8
lea rdx, [r8 + r8]
movzx ecx, word [rdx + rax]
test cx, cx
jne 0x140085ff0
movsxd rcx, r9d
lea rdx, [rcx + rcx]
movzx ecx, word [rdx + r10]
cmp word [rdx + rax], cx
jne 0x1400860b0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x188
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rbx, eax
xor r9d, r9d
mov r8, rbx
mov edx, 0x18a
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9b, 1
xor r8d, r8d
mov edx, eax
mov rcx, r14
call fcn.140037200
mov r9, rax
mov r8, rbx
mov edx, 0x189
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [r14]
test rdx, rdx
je 0x140086095
mov rcx, rdx
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x140086080
sub rcx, rdx
sar rcx, 1
lea edi, [rcx - 1]
mov dword [rdx - 0x10], edi
mov eax, dword [rdx - 8]
cmp eax, ebp
jne 0x14008625a
mov esi, 1
xchg dword [rdx - 8], esi
jmp 0x14008625a
cmp dword [rax - 0x10], 0
jle 0x140086205
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
jle 0x140086102
lea ebx, [rax + 1]
mov r9b, 1
xor r8d, r8d
mov edx, eax
mov rcx, r14
call fcn.140037200
mov rdx, rax
mov r8d, ebx
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rdx, qword [r14]
test rdx, rdx
je 0x140086095
mov rcx, rdx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1400860f4
jmp 0x14008608c
mov rbx, qword [r14]
mov rcx, qword [rbx - 0x18]
mov eax, dword [rbx - 8]
mov esi, 1
cmp eax, esi
jle 0x14008614e
mov rax, qword [rcx]
mov byte [rsp + 0x30], sil
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x20], sil
mov r9d, 0xff
mov r8d, dword [rbx - 0x10]
mov rdx, qword [r14]
call qword [rax + 0x28]
mov qword [r14], rax
mov ecx, ebp
xchg dword [rax - 8], ecx
mov eax, dword [rbx - 8]
cmp eax, 0x7ffffc17
je 0x1400861c4
mov eax, dword [rbx - 8]
jmp 0x1400861a0
mov edx, 0xff
cmp dword [rbx - 0xc], edx
jg 0x1400861bf
mov r9d, esi
nop dword [rax + rax]
add r9d, r9d
shr edx, 1
jne 0x140086160
mov rdx, qword [r14]
mov eax, dword [rbx - 8]
mov r10, qword [rcx]
cmp eax, ebp
setne al
mov byte [rsp + 0x30], sil
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], 0
mov r8d, dword [rbx - 0x10]
call qword [r10 + 0x28]
mov qword [r14], rax
mov ecx, ebp
xchg dword [rax - 8], ecx
mov eax, dword [rbx - 8]
cmp eax, 0x7ffffc17
je 0x1400861c4
mov eax, dword [rbx - 8]
cmp eax, ebp
je 0x1400861af
mov eax, ebp
lock xadd dword [rbx - 8], eax
sub eax, esi
jg 0x1400861c4
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400861c4
mov eax, ebp
xchg dword [rbx - 8], eax
mov r8d, 0x100
mov rdx, qword [r14]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rdx, qword [r14]
test rdx, rdx
je 0x1400861f6
mov rcx, rdx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1400861e1
sub rcx, rdx
sar rcx, 1
lea edi, [rcx - 1]
mov dword [rdx - 0x10], edi
mov eax, dword [rdx - 8]
cmp eax, ebp
jne 0x14008625a
xchg dword [rdx - 8], esi
jmp 0x14008625a
mov rdx, qword [r14]
sub rdx, 0x18
cmp dword [rdx + 8], 0
jle 0x14008625f
mov eax, dword [rdx + 0x10]
cmp eax, 1
jle 0x140086251
mov rbx, qword [rdx]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140086243
mov eax, dword [rdx + 0x10]
cmp eax, ebp
je 0x14008623a
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140086243
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov qword [r14], rax
jmp 0x14008625a
mov rax, qword [r14]
mov word [rax], di
mov dword [rdx + 8], edi
mov rax, qword [rsp + 0x78]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140086289
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14008627f
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x140086289
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret