Function at 0x140015d00
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2040
call fcn.140046160
sub rsp, rax
mov rax, qword [0x14008b040]
xor rax, rsp
mov qword [rsp + 0x2030], rax
mov r15, qword [0x14008f018]
mov rbx, qword [0x14008f058]
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
xor r12d, r12d
lea r13, [0x14008fe90]
mov eax, dword [rcx + rax]
cmp dword [0x14008fe8c], eax
jle 0x140015dd9
lea rcx, [0x14008fe8c]
call fcn.140045a7c
cmp dword [0x14008fe8c], 0xffffffff
jne 0x140015dd9
mov dword [0x14008fe90], r12d
mov qword [0x14008fe98], r12
mov qword [0x14008fea0], r12
xorps xmm0, xmm0
movups xmmword [0x14008fea8], xmm0
movups xmmword [0x14008feb8], xmm0
movups xmmword [0x14008fec8], xmm0
mov qword [0x14008fed8], r12
lea edx, [r12 + 2]
mov rcx, r13
call fcn.14001e400
lea rcx, [0x14006f740]
call fcn.140045718
lea rcx, [0x14008fe8c]
call fcn.140045a10
mov qword [rsp + 0x20], r13
mov rcx, r13
call fcn.14001e414
test eax, eax
jne 0x1400160d3
mov eax, dword [0x14008fedc]
cmp eax, 0x7fffffff
je 0x1400160de
xor edx, edx
mov r8d, 0x2000
lea rcx, [rsp + 0x30]
call fcn.14006cda0
mov rcx, qword [0x14008fb98]
test rcx, rcx
je 0x140016074
test rbx, rbx
je 0x140016074
mov r8d, 0x1000
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x14001606d
call fcn.140002aa0
mov rcx, rax
test rax, rax
je 0x1400160f1
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
mov rbp, 0xffffffffffffffff
cmp rax, 0x10000
lea rax, [rsp + 0x30]
jae 0x140015e8e
movzx edx, ax
lea rcx, [rsp + 0x28]
call fcn.140001a30
jmp 0x140015eac
mov r8, rbp
inc r8
cmp word [rax + r8*2], 0
jne 0x140015e91
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.140001ca0
nop
mov rbx, qword [rsp + 0x28]
mov rsi, rbx
mov rdi, r12
movzx eax, word [rbx]
mov r14d, 1
test ax, ax
je 0x140015f36
movzx ecx, ax
call fcn.14005185c
test eax, eax
je 0x140015ee0
mov rax, rsi
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x140015ee3
mov rdi, r12
add rsi, 2
movzx eax, word [rsi]
test ax, ax
jne 0x140015ec5
test rdi, rdi
je 0x140015f36
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x1400160c8
mov ecx, r14d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140015f22
mov edx, edi
lea rcx, [rsp + 0x28]
call fcn.140001e70
mov rbx, qword [rsp + 0x28]
cmp edi, dword [rbx - 0xc]
jg 0x1400160c8
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], r12w
cmp dword [rbx - 0x10], 0
je 0x140016032
mov rdx, qword [0x14008fbf8]
test rdx, rdx
je 0x1400160fc
mov rcx, rbx
call fcn.14004c640
test eax, eax
je 0x14001601a
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x1400160c8
sub r14d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, r14d
jge 0x140015f8b
mov edx, edi
lea rcx, [rsp + 0x28]
call fcn.140001e70
mov rbx, qword [rsp + 0x28]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140051a60
cmp edi, dword [rbx - 0xc]
jg 0x1400160c8
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r12w
lea rcx, [rbx - 0x18]
mov rdi, qword [0x14008fbf8]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140016012
cmp dword [rdi + 0x10], 0
jl 0x140015fff
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140015fff
call fcn.140001bb0
mov rbx, rax
mov ecx, ebp
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x140015fed
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rVariantCopy + 8]
lea rax, [rbx + 0x18]
mov qword [0x14008fbf8], rax
mov rbx, qword [rsp + 0x28]
jmp 0x140016012
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [0x14008fbf8]
call fcn.140001ca0
mov rdx, r15
call fcn.1400159a0
xor edx, edx
mov rcx, qword [0x14008fb90]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x14008fb98]
jmp 0x140016048
xor edx, edx
mov rcx, qword [0x14008fb98]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x14008fb90]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x14001608f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
jmp 0x14001608f
mov rcx, qword [0x14008fb98]
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov edx, 5
mov rcx, qword [0x14008fb90]
call qword [sym.imp.USER32.dll_ShowWindow]
nop
mov rcx, r13
call fcn.14001e41c
mov rcx, qword [rsp + 0x2030]
xor rcx, rsp
call fcn.1400454d0
lea r11, [rsp + 0x2040]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80070057
call fcn.140002830
nop
mov ecx, 5
call fcn.14001e318
int3
dec eax
mov dword [0x14008fedc], eax
mov ecx, 6
call fcn.14001e318
nop
mov ecx, 0x80004005
call fcn.140002830
nop
mov ecx, 0x80004005
call fcn.140002830
int3