Function at 0x14004f730
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 0x14004f79f
movzx r9d, dil
movzx r8d, sil
mov rdx, r13
mov rcx, rbx
call fcn.14004eda0
jmp 0x14004fd45
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 0x14004f7d2
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 0x14004f815
movzx edi, dx
mov ecx, edi
call fcn.14001b4a8
test rax, rax
je 0x14004f833
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400060a0
jmp 0x14004f833
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 0x14004f865
test byte [rbx + 0x228], 1
je 0x14004f865
mov dil, 1
jmp 0x14004f868
xor dil, dil
movzx r15d, byte [rbx + 0x228]
shr r15b, 3
and r15b, 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x288]
mov byte [rsp + 0x70], al
test byte [rbx + 0x228], 4
je 0x14004f89f
call fcn.1400794f0
test eax, eax
jne 0x14004f89f
mov r14b, 1
jmp 0x14004f8a2
xor r14b, r14b
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 0x14004f960
cmp r12d, 0xffffffff
jne 0x14004f991
test r13, r13
jne 0x14004f919
mov rcx, rsi
jmp 0x14004f91d
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 0x14004f966
jmp 0x14004f9a4
cmp r12d, 0xffffffff
jne 0x14004f991
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 0x14004fa57
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 0x14004fa3f
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 0x14004fa5f
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 0x14004faaa
bt eax, 0xc
jae 0x14004faaf
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 0x14004fb79
sub eax, 1
je 0x14004fb33
sub eax, 1
jne 0x14004fbb6
cmp byte [rsp + 0x70], al
je 0x14004fb29
test r14b, r14b
je 0x14004faf8
test byte [rbx + 0x228], 0x10
je 0x14004fb07
jmp 0x14004fb15
movzx eax, byte [rbx + 0x228]
test al, 0x10
je 0x14004fb11
test al, 0x20
jne 0x14004fb11
mov esi, 8
jmp 0x14004fbb6
test al, 0x20
je 0x14004fb1f
mov esi, 5
jmp 0x14004fbb6
mov esi, 2
jmp 0x14004fbb6
mov esi, VariantTimeToDosDateTime
jmp 0x14004fbb6
cmp byte [rsp + 0x70], 0
je 0x14004fb72
test r14b, r14b
je 0x14004fb4a
test byte [rbx + 0x228], 0x10
je 0x14004fb59
jmp 0x14004fb64
movzx eax, byte [rbx + 0x228]
test al, 0x10
je 0x14004fb60
test al, 0x20
jne 0x14004fb60
mov esi, 7
jmp 0x14004fbb6
test al, 0x20
je 0x14004fb6b
mov esi, 4
jmp 0x14004fbb6
mov esi, 1
jmp 0x14004fbb6
mov esi, 0xa
jmp 0x14004fbb6
cmp byte [rsp + 0x70], 0
je 0x14004fbb1
test r14b, r14b
je 0x14004fb90
test byte [rbx + 0x228], 0x10
je 0x14004fb9f
jmp 0x14004fbaa
movzx eax, byte [rbx + 0x228]
test al, 0x10
je 0x14004fba6
test al, 0x20
jne 0x14004fba6
mov esi, 6
jmp 0x14004fbb6
test al, 0x20
je 0x14004fbb6
mov esi, 3
jmp 0x14004fbb6
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], r15b
mov byte [rsp + 0x38], r14b
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 + 0x258]
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 0x14004fd45
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