Function at 0x14005ed20
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
movsxd rbx, r8d
mov r15, rdx
mov r14, rcx
xor edi, edi
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14005ed7c
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14005ed70
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14005ed73
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14005ed83
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov qword [rsp + 0x78], rax
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.14005eb90
mov ebp, 0xffffffff
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14005ef61
movzx ecx, word [rax]
cmp cx, 0x43
jne 0x14005ee90
mov r10d, edi
lea r9, [0x140000000]
cmp cx, r10w
je 0x14005edf0
mov rdx, rdi
mov r8, rdi
cmp cx, word [r8 + r9 + 0x1964d8]
jne 0x14005edf0
inc r10d
inc rdx
lea r8, [rdx + rdx]
movzx ecx, word [r8 + rax]
test cx, cx
jne 0x14005edd1
movsxd rcx, r10d
lea rdx, [rcx + rcx]
movzx ecx, word [rdx + r9 + 0x1964d8]
cmp word [rdx + rax], cx
jne 0x14005ef61
test ebx, ebx
js 0x14005ef61
xor r9d, r9d
mov r8, rbx
mov edx, 0x149
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9b, 1
xor r8d, r8d
mov edx, eax
mov rcx, r14
call fcn.140030f50
mov r9, rax
mov r8, rbx
mov edx, 0x148
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [r14]
test rdx, rdx
je 0x14005ee75
mov rcx, rdx
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x14005ee60
sub rcx, rdx
sar rcx, 1
lea edi, [rcx - 1]
mov dword [rdx - 0x10], edi
mov eax, dword [rdx - 8]
cmp eax, ebp
jne 0x14005f11a
mov esi, 1
xchg dword [rdx - 8], esi
jmp 0x14005f11a
cmp cx, 0x4c
jne 0x14005ef61
mov r10d, edi
lea r9, [0x140000000]
cmp cx, r10w
je 0x14005eecf
mov rdx, rdi
mov r8, rdi
cmp cx, word [r8 + r9 + 0x1964f0]
jne 0x14005eecf
inc r10d
inc rdx
lea r8, [rdx + rdx]
movzx ecx, word [r8 + rax]
test cx, cx
jne 0x14005eeb0
movsxd rcx, r10d
lea rdx, [rcx + rcx]
movzx ecx, word [rdx + r9 + 0x1964f0]
cmp word [rdx + rax], cx
jne 0x14005ef61
cmp ebx, ebp
jne 0x14005ef00
xor r9d, r9d
xor r8d, r8d
mov edx, 0x188
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
movsxd rbx, ebx
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.140030f50
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 0x14005ee75
mov rcx, rdx
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x14005ef50
jmp 0x14005ee6c
cmp dword [rax - 0x10], 0
jle 0x14005f0c5
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
jle 0x14005efc1
lea ebx, [rax + 1]
mov r9b, 1
xor r8d, r8d
mov edx, eax
mov rcx, r14
call fcn.140030f50
mov rdx, rax
mov r8d, ebx
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rdx, qword [r14]
test rdx, rdx
je 0x14005ee75
mov rcx, rdx
nop dword [rax]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x14005efb0
jmp 0x14005ee6c
mov rbx, qword [r14]
mov rcx, qword [rbx - 0x18]
mov eax, dword [rbx - 8]
mov esi, 1
cmp eax, esi
jle 0x14005f00d
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 0x14005f084
mov eax, dword [rbx - 8]
jmp 0x14005f060
mov edx, 0xff
cmp dword [rbx - 0xc], edx
jg 0x14005f07f
mov r9d, esi
nop word [rax + rax]
add r9d, r9d
shr edx, 1
jne 0x14005f020
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 0x14005f084
mov eax, dword [rbx - 8]
cmp eax, ebp
je 0x14005f06f
mov eax, ebp
lock xadd dword [rbx - 8], eax
sub eax, esi
jg 0x14005f084
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005f084
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 0x14005f0b6
mov rcx, rdx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x14005f0a1
sub rcx, rdx
sar rcx, 1
lea edi, [rcx - 1]
mov dword [rdx - 0x10], edi
mov eax, dword [rdx - 8]
cmp eax, ebp
jne 0x14005f11a
xchg dword [rdx - 8], esi
jmp 0x14005f11a
mov rdx, qword [r14]
sub rdx, 0x18
cmp dword [rdx + 8], 0
jle 0x14005f11f
mov eax, dword [rdx + 0x10]
cmp eax, 1
jle 0x14005f111
mov rbx, qword [rdx]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14005f103
mov eax, dword [rdx + 0x10]
cmp eax, ebp
je 0x14005f0fa
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005f103
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 0x14005f11a
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 0x14005f149
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14005f13f
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x14005f149
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