Function at 0x140047e7f
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r15
sub rsp, 0x30
mov rax, qword [rsp + 0x70]
mov rbx, qword [0x14018e0e0]
mov qword [rsp + 0x20], rax
call fcn.140057276
mov rbp, rax
mov r15d, 1
test rax, rax
je 0x140047ec5
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea esi, [rax + 1]
jmp 0x140047ec8
mov esi, r15d
lea eax, [rsi - 1]
mov byte [rsp + 0x20], r15b
movsxd r8, eax
xor r9d, r9d
xor edx, edx
mov rcx, rbx
call fcn.14009b349
cmp eax, r15d
je 0x140047ef9
xor eax, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop rsi
pop rbp
ret
mov qword [rsp + 0x50], rdi
test rbp, rbp
je 0x14004808e
cmp byte [rbx + 0x23], 0
mov qword [rsp + 0x58], r14
jne 0x140047f1f
mov rdi, qword [rbx + 0x10]
jmp 0x140047f22
mov rdi, rbx
test byte [rdi + 0x21], 8
je 0x140047f34
mov rcx, rdi
call fcn.14000134c
movzx eax, byte [rdi + 0x23]
cmp al, r15b
jne 0x140047f5c
test byte [rdi + 0x21], 4
je 0x140047f53
mov rdx, rdi
call fcn.14003cf59
mov rcx, qword [rdi + 8]
jmp 0x140047fd3
cmp al, 2
jne 0x140047fcc
mov rcx, qword [0x14018ef98]
test rcx, rcx
jne 0x140047fd3
mov ecx, SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140047fa9
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea rdx, [0x1400f0f40]
lea rcx, [0x14010d0d8]
cmovne rcx, rdx
jmp 0x140047fd3
xor edx, edx
call fcn.1400050db
mov edx, 0xffffffff
lea rcx, [0x14010d0d8]
cmp rax, rdx
cmovne rcx, qword [0x14018ef90]
jmp 0x140047fd3
lea rcx, [0x14018e2b0]
mov rdx, rcx
mov r8d, esi
mov rcx, rbp
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [rbx + 0x23], 0
movsxd r14, eax
jne 0x140047ff8
mov rsi, qword [rbx + 0x10]
jmp 0x140047ffb
mov rsi, rbx
lea rdi, [0x14018fbd8]
cmp byte [rsi + 0x23], r15b
jne 0x140048027
test byte [rsi + 0x21], 8
je 0x14004801e
mov rcx, rsi
call fcn.14000134c
add rsi, 0x10
jmp 0x14004802a
mov rsi, rdi
lea rax, [r14 + r14]
mov r14, qword [rsp + 0x58]
mov qword [rsi], rax
cmp byte [rbx + 0x23], 0
jne 0x140048049
mov rsi, qword [rbx + 0x10]
jmp 0x14004804c
mov rsi, rbx
cmp byte [rsi + 0x23], r15b
jne 0x14004806c
test byte [rsi + 0x21], 8
je 0x140048068
mov rcx, rsi
call fcn.14000134c
lea rdi, [rsi + 0x10]
cmp qword [rdi], 2
jae 0x14004819f
xor r8d, r8d
mov edx, r15d
mov rcx, rbx
call fcn.140001497
xor esi, esi
mov word [rax], si
jmp 0x14004819f
cmp byte [rbx + 0x23], 0
jne 0x1400480a1
mov rdi, qword [rbx + 0x10]
jmp 0x1400480a4
mov rdi, rbx
test byte [rdi + 0x21], 8
je 0x1400480b6
mov rcx, rdi
call fcn.14000134c
movzx eax, byte [rdi + 0x23]
cmp al, r15b
jne 0x1400480de
test byte [rdi + 0x21], 4
je 0x1400480d5
mov rdx, rdi
call fcn.14003cf59
mov rcx, qword [rdi + 8]
jmp 0x140048155
cmp al, 2
jne 0x14004814e
mov rcx, qword [0x14018ef98]
test rcx, rcx
jne 0x140048155
mov ecx, SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14004812b
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea rdx, [0x1400f0f40]
lea rcx, [0x14010d0d8]
cmovne rcx, rdx
jmp 0x140048155
xor edx, edx
call fcn.1400050db
mov edx, 0xffffffff
lea rcx, [0x14010d0d8]
cmp rax, rdx
cmovne rcx, qword [0x14018ef90]
jmp 0x140048155
lea rcx, [0x14018e2b0]
xor esi, esi
mov word [rcx], si
cmp byte [rbx + 0x23], sil
jne 0x14004816d
mov rdi, qword [rbx + 0x10]
jmp 0x140048170
mov rdi, rbx
cmp byte [rdi + 0x23], r15b
jne 0x140048195
test byte [rdi + 0x21], 8
je 0x14004818c
mov rcx, rdi
call fcn.14000134c
add rdi, 0x10
jmp 0x14004819c
lea rdi, [0x14018fbd8]
mov qword [rdi], rsi
cmp byte [rbx + 0x23], 0
mov rdi, qword [rsp + 0x50]
jne 0x1400481b2
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x1400481e7
cmp qword [0x14018ef98], 0
je 0x1400481e7
lea rcx, [0x14018ef80]
call fcn.14000552d
mov r15d, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop rsi
pop rbp
ret
and byte [rbx + 0x21], 0x86
mov eax, r15d
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop rsi
pop rbp
ret