Function at 0x14016d6c0
Capabilities:
Get graphical window text

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp - 0x49], 0xfffffffffffffffe
mov rax, qword [0x140479080]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rbx, r9
mov r10, rdx
mov rsi, rcx
mov rdi, qword [rbp + 0x7f]
mov eax, r8d
sub eax, 0x10
je 0x14016dc13
sub eax, 4
je 0x14016dbe4
sub eax, 0xec
je 0x14016d95e
sub eax, 0x11
je 0x14016d78e
sub eax, 0x22
jne 0x14016d978
cmp byte [rcx + 0x80], al
jne 0x14016dc13
mov rax, qword [rcx + 0xb0]
cmp qword [rbp + 0x77], rax
jne 0x14016dc13
mov edx, 1
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, 8
call qword [sym.imp.USER32.dll_GetSysColor]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, reloc.WS2_32.dll_ntohs
call qword [sym.imp.USER32.dll_GetSysColor]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, reloc.WS2_32.dll_ntohs
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov qword [rdi], rax
jmp 0x14016dc13
movzx ecx, bx
sub ecx, 0x65
je 0x14016d88f
cmp ecx, 1
jne 0x14016d978
call fcn.1401ad120
sub eax, dword [rsi + 0xe8]
cmp eax, 0x1f4
jb 0x14016dc13
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [rax + 1]
movsxd rcx, ebx
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.14023ed88
mov r14, rax
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp qword [rsi + 0x88], 0
je 0x14016d879
movdqa xmm0, xmmword [0x1404107e0]
movdqu xmmword [rbp - 0x31], xmm0
xor ecx, ecx
mov word [rbp - 0x41], cx
nop word [rax + rax]
inc rdi
cmp word [r14 + rdi*2], cx
jne 0x14016d820
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.1400ae980
nop
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 1]
call fcn.1400b1b00
nop
mov rdx, rax
lea rcx, [rbp - 0x21]
call fcn.14000b200
mov r8, rax
xor edx, edx
lea rcx, [rsi + 0x88]
call fcn.14016dc30
nop
lea rcx, [rbp - 1]
call fcn.14000b5d0
nop
lea rcx, [rbp - 0x41]
call fcn.1400ae780
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
mov rcx, r14
call fcn.14023ed44
jmp 0x14016dc13
call fcn.1401ad120
sub eax, dword [rsi + 0xe8]
cmp eax, 0x1f4
jb 0x14016dc13
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [rax + 1]
movsxd rcx, ebx
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.14023ed88
mov r14, rax
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp qword [rsi + 0x88], 0
je 0x14016d879
movdqa xmm0, xmmword [0x1404107e0]
movdqu xmmword [rbp - 0x31], xmm0
xor ecx, ecx
mov word [rbp - 0x41], cx
inc rdi
cmp word [r14 + rdi*2], cx
jne 0x14016d906
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.1400ae980
nop
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.1400b1b00
nop
mov rdx, rax
lea rcx, [rbp - 1]
call fcn.14000b200
mov r8, rax
mov edx, 1
lea rcx, [rsi + 0x88]
call fcn.14016dc30
nop
lea rcx, [rbp - 0x21]
call fcn.14000b5d0
nop
jmp 0x14016d870
cmp rbx, 9
je 0x14016db98
cmp rbx, 0xd
je 0x14016dac5
cmp rbx, 0x1b
je 0x14016d9f4
cmp r10, qword [rsi + 0xb0]
jne 0x14016d99f
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0xc8]
call qword [sym.imp.USER32.dll_CallWindowProcA]
mov qword [rdi], rax
jmp 0x14016dc13
cmp r10, qword [rsi + 0xb8]
jne 0x14016d9c6
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0xd0]
call qword [sym.imp.USER32.dll_CallWindowProcA]
mov qword [rdi], rax
jmp 0x14016dc13
cmp r10, qword [rsi + 0xc0]
jne 0x14016d9ed
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0xd8]
call qword [sym.imp.USER32.dll_CallWindowProcA]
mov qword [rdi], rax
jmp 0x14016dc13
mov al, 1
jmp 0x14016dc15
call fcn.1401ad120
sub eax, dword [rsi + 0xe8]
cmp eax, 0x1f4
jb 0x14016dc13
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [rax + 1]
movsxd rcx, ebx
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.14023ed88
mov r14, rax
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp qword [rsi + 0x88], 0
je 0x14016d879
movdqa xmm0, xmmword [0x1404107e0]
movdqu xmmword [rbp - 0x31], xmm0
xor ecx, ecx
mov word [rbp - 0x41], cx
nop
inc rdi
cmp word [r14 + rdi*2], cx
jne 0x14016da70
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.1400ae980
nop
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.1400b1b00
nop
mov rdx, rax
lea rcx, [rbp - 1]
call fcn.14000b200
mov r8, rax
xor edx, edx
lea rcx, [rsi + 0x88]
call fcn.14016dc30
nop
lea rcx, [rbp - 0x21]
call fcn.14000b5d0
nop
jmp 0x14016d870
call fcn.1401ad120
sub eax, dword [rsi + 0xe8]
cmp eax, 0x1f4
jb 0x14016dc13
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ebx, [rax + 1]
movsxd rcx, ebx
mov eax, 2
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.14023ed88
mov r14, rax
mov r8d, ebx
mov rdx, rax
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp qword [rsi + 0x88], 0
je 0x14016d879
movdqa xmm0, xmmword [0x1404107e0]
movdqu xmmword [rbp - 0x31], xmm0
xor ecx, ecx
mov word [rbp - 0x41], cx
inc rdi
cmp word [r14 + rdi*2], cx
jne 0x14016db40
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.1400ae980
nop
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.1400b1b00
nop
mov rdx, rax
lea rcx, [rbp - 1]
call fcn.14000b200
mov r8, rax
mov edx, 1
lea rcx, [rsi + 0x88]
call fcn.14016dc30
nop
lea rcx, [rbp - 0x21]
call fcn.14000b5d0
nop
jmp 0x14016d870
mov rcx, qword [rcx + 0xb0]
cmp r10, rcx
jne 0x14016dbb3
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x14016dc13
cmp r10, qword [rsi + 0xb8]
jne 0x14016dbd3
mov rax, qword [rsi + 0xc0]
test rax, rax
je 0x14016dbdc
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x14016dc13
cmp r10, qword [rsi + 0xc0]
jne 0x14016dc13
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x14016dc13
lea rdx, [rbp - 0x41]
mov rcx, r10
call qword [sym.imp.USER32.dll_GetClientRect]
mov ecx, reloc.WS2_32.dll_ntohs
call qword [sym.imp.USER32.dll_GetSysColorBrush]
mov r8, rax
lea rdx, [rbp - 0x41]
mov rcx, rbx
call qword [sym.imp.USER32.dll_FillRect]
mov qword [rdi], 1
xor al, al
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14023ed20
add rsp, 0xa0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret