Function at 0x14004fd70
Capabilities:
Get graphical window text

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c0
mov qword [rsp + 0xb0], 0xfffffffffffffffe
mov qword [rsp + 0x218], rbx
mov rax, qword [0x14025e510]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
movzx edi, r9b
movzx esi, r8b
mov byte [rsp + 0x72], r8b
mov r13, rdx
mov rbx, rcx
call fcn.14000a5c4
bt eax, 0xc
jae 0x14004fddf
movzx r9d, dil
movzx r8d, sil
mov rdx, r13
mov rcx, rbx
call fcn.14004eda0
jmp 0x14005032a
lea rdx, [rsp + 0xa0]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
call fcn.140008c24
mov rdx, rax
xor esi, esi
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14004fe12
mov ecx, 0x80004005
call fcn.1400052e0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x1401dd700]
test rdx, 0xffffffffffff0000
jne 0x14004fe55
movzx edi, dx
mov ecx, edi
call fcn.14001b4a8
test rax, rax
je 0x14004fe73
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400060a0
jmp 0x14004fe73
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x78]
call fcn.140005080
nop
mov rax, qword [rbx]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [rax + 0x368]
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001256c
cmp rax, rbx
jne 0x14004fea5
test byte [rbx + 0x228], 1
je 0x14004fea5
mov dil, 1
jmp 0x14004fea8
xor dil, dil
movzx r14d, byte [rbx + 0x228]
shr r14b, 3
and r14b, 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x288]
mov byte [rsp + 0x70], al
test byte [rbx + 0x228], 4
je 0x14004fedf
call fcn.1400794f0
test eax, eax
jne 0x14004fedf
mov r15b, 1
jmp 0x14004fee2
xor r15b, r15b
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001256c
lea rdx, str.CControlBar
mov rcx, rax
call fcn.14001b150
movzx ecx, dil
test eax, eax
cmovne ecx, esi
mov dword [rsp + 0x88], ecx
mov rcx, rbx
call fcn.14004a090
mov r12d, eax
mov rdx, qword [rbx + 0xb0]
lea rcx, [rbx + 0xb0]
call qword [rdx + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x390]
test al, al
je 0x14004ffa0
cmp r12d, 0xffffffff
jne 0x14004ffd1
test r13, r13
jne 0x14004ff59
mov rcx, rsi
jmp 0x14004ff5d
mov rcx, qword [r13 + 8]
xor r9d, r9d
lea r8, [0x1400a9ea0]
mov rdx, qword [rbx + 0x40]
call fcn.1400a46e0
mov rdx, qword [rbx + 0xb0]
lea rcx, [rbx + 0xb0]
call qword [rdx + 0x20]
mov rdi, qword [rax]
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov r8, r13
mov dl, 1
mov rcx, rax
call qword [rdi + 0x3a0]
test al, al
je 0x14004ffa6
jmp 0x14004ffe4
cmp r12d, 0xffffffff
jne 0x14004ffd1
mov rax, qword [rbx + 0xb0]
lea rcx, [rbx + 0xb0]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r9d, r9d
mov r8, rbx
mov edx, 0x3e8
mov rcx, rax
call qword [rdi + 0x150]
mov r12d, eax
mov r8d, r12d
lea rdx, [rsp + 0xa0]
mov rcx, r13
call fcn.1400194c0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x370]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0xb0]
lea rcx, [rbx + 0xb0]
call qword [rax + 0x20]
mov rdi, qword [rax]
xor r9d, r9d
mov r8, rbx
lea rdx, [rsp + 0x80]
mov rcx, rax
call qword [rdi + 0x120]
test al, al
jne 0x140050097
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rsp + 0x150]
call fcn.14002fb80
lea r8, [rsp + 0x150]
mov edx, 0x5c
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.GDI32.dll_GetObjectW]
mov rax, qword [rbx]
mov dl, 1
mov rcx, rbx
call qword [rax + 0x2c8]
test eax, eax
je 0x14005007f
mov ecx, 0x2bc
mov eax, dword [rsp + 0x160]
cmp eax, ecx
cmovg ecx, eax
mov dword [rsp + 0x160], ecx
lea rcx, [rsp + 0x150]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov qword [rsp + 0x80], rax
jmp 0x14005009f
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x98], rsi
lea rcx, vtable.CFont.0
mov qword [rsp + 0x90], rcx
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.14000c9e8
mov byte [rsp + 0x71], 0
mov rcx, rbx
call fcn.14000a5c4
mov r12d, eax
mov rcx, rbx
call fcn.14000a5f8
test r12b, 0x20
jne 0x1400500ea
bt eax, 0xc
jae 0x1400500ef
mov byte [rsp + 0x71], 1
shr r12d, 0xd
and r12b, 1
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf0
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x14005015e
sub eax, 1
jne 0x14005019b
cmp byte [rsp + 0x70], al
je 0x140050157
test r15b, r15b
je 0x14005012f
test byte [rbx + 0x228], 0x10
je 0x14005013e
jmp 0x140050149
movzx eax, byte [rbx + 0x228]
test al, 0x10
je 0x140050145
test al, 0x20
jne 0x140050145
mov esi, 7
jmp 0x14005019b
test al, 0x20
je 0x140050150
mov esi, 4
jmp 0x14005019b
mov esi, 1
jmp 0x14005019b
mov esi, 0xa
jmp 0x14005019b
cmp byte [rsp + 0x70], 0
je 0x140050196
test r15b, r15b
je 0x140050175
test byte [rbx + 0x228], 0x10
je 0x140050184
jmp 0x14005018f
movzx eax, byte [rbx + 0x228]
test al, 0x10
je 0x14005018b
test al, 0x20
jne 0x14005018b
mov esi, 6
jmp 0x14005019b
test al, 0x20
je 0x14005019b
mov esi, 3
jmp 0x14005019b
mov esi, 9
mov rdi, qword [rsp + 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x380]
mov cl, byte [rsp + 0x72]
mov byte [rsp + 0x68], cl
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x88]
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x48], al
mov byte [rsp + 0x40], r14b
mov byte [rsp + 0x38], r15b
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], r12b
movzx r9d, byte [rsp + 0x71]
mov r8d, esi
mov rdx, rbx
lea rcx, [rsp + 0xc0]
call fcn.140132be0
mov rax, qword [rbx]
lea rdx, [rsp + 0x140]
mov rcx, rbx
call qword [rax + 0x390]
lea rdx, [rsp + 0xfc]
mov ecx, dword [rax]
mov dword [rdx], ecx
mov ecx, dword [rax + 4]
mov dword [rdx + 4], ecx
mov ecx, dword [rax + 8]
mov dword [rdx + 8], ecx
mov eax, dword [rax + 0xc]
mov dword [rdx + 0xc], eax
mov rcx, rbx
call fcn.14004a090
mov dword [rsp + 0x120], eax
call fcn.14004a050
mov dword [rsp + 0x110], eax
call fcn.14004a060
mov dword [rsp + 0x114], eax
call fcn.14004a070
mov dword [rsp + 0x118], eax
call fcn.14004a080
mov dword [rsp + 0x11c], eax
mov rax, qword [rbx + 0xb0]
lea rcx, [rbx + 0xb0]
call qword [rax + 0x20]
mov rdi, qword [rax]
lea r8, [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call qword [rdi + 0x260]
mov rax, qword [rbx]
mov r9d, dword [rsp + 0xc0]
lea r8, [rsp + 0x124]
mov rdx, r13
mov rcx, rbx
call qword [rax + 0x3b0]
mov rdx, qword [rbx + 0xb0]
lea rcx, [rbx + 0xb0]
call qword [rdx + 0x20]
mov rdi, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [rdi + 0x60]
nop
lea rax, vtable.CFont.0
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x90]
call fcn.14000cc4c
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
or rax, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14005032a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.14002f990
mov rbx, qword [rsp + 0x218]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret