Function at 0x14006efe0
Capabilities:
Get graphical window text

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5f0]
sub rsp, 0x6f0
mov qword [rbp - 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x730], rbx
mov rdi, rdx
mov r13, rcx
xor r12d, r12d
mov r14d, r12d
mov dword [rbp + 0x640], r12d
mov dword [rbp + 0x648], r12d
mov dword [rsp + 0x30], r12d
lea rdx, [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [rsp + 0x30], r12d
jne 0x14006f046
xor eax, eax
jmp 0x140070082
mov rcx, rdi
call fcn.1400df290
test eax, eax
je 0x14006f076
mov ecx, 0xff
call fcn.140050f90
test al, al
jne 0x14006f076
call fcn.14006b1a0
test al, al
jne 0x14006f076
mov dword [r13 + 0x704], 1
jmp 0x14006f07d
mov dword [r13 + 0x704], r12d
call fcn.140004f70
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f09d
mov ecx, 0x80004005
call fcn.140004f20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
call fcn.140004f70
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f0cf
mov ecx, 0x80004005
call fcn.140004f20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
or r15, 0xffffffffffffffff
cmp dword [r13 + 0x704], 0
je 0x14006f1fc
mov r8, rdi
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140072c40
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x28]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006f15c
cmp dword [rbx + 0x10], 0
jl 0x14006f14d
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006f14d
call fcn.14000b870
mov rsi, rax
lock add dword [rbx + 0x10], r15d
jg 0x14006f142
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x28], rax
jmp 0x14006f15c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.14000be50
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f174
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8, rdi
lea rdx, [rbp - 0x58]
mov rcx, r13
call fcn.140072e30
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x38]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006f1dd
cmp dword [rbx + 0x10], 0
jl 0x14006f1ce
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006f1ce
call fcn.14000b870
mov rsi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14006f1c3
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x14006f1dd
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.14000be50
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f1f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
mov r8d, 0x104
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, [rbp - 0x40]
lea r8, str.SynShapedFrameWindowClass
mov rcx, r12
nop dword [rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x14006f244
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x14006f244
add rcx, 2
cmp rcx, 0x1a
jne 0x14006f220
jmp 0x14006f274
lea rdx, [rbp - 0x40]
lea r8, str.SynTrackCursorWindowClass
mov rcx, r12
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x14006f27d
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x14006f27d
add rcx, 2
cmp rcx, 0x1a
jne 0x14006f252
or r12d, 0xffffffff
jmp 0x140070042
call fcn.140004f70
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f29d
mov ecx, 0x80004005
call fcn.140004f20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8d, 0x104
lea rdx, [rbp + 0x3e0]
mov ecx, dword [rsp + 0x30]
call fcn.1400dd380
test eax, eax
je 0x14006f2f1
lea rcx, [rbp + 0x3e0]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f2d3
mov r8d, eax
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x20]
call fcn.14000be50
call fcn.140004f70
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f311
mov ecx, 0x80004005
call fcn.140004f20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov r8d, 0x104
lea rdx, [rbp + 0x1d0]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x14006f35c
lea rcx, [rbp + 0x1d0]
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f350
jmp 0x14006f390
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, rax
mov r8d, 0x104
lea rdx, [rbp + 0x1d0]
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x14006f3a4
lea rcx, [rbp + 0x1d0]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f386
mov r8d, eax
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x48]
call fcn.14000be50
mov rax, qword [rsp + 0x38]
mov r12d, dword [rax - 0x10]
test r12d, r12d
je 0x14006f686
mov rsi, qword [rsp + 0x28]
mov qword [rsp + 0x40], rsi
mov eax, dword [rsi - 0x10]
test eax, eax
je 0x14006f686
sub r12d, eax
lea r8d, [r12 - 0xf]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x38]
call fcn.14000bdb0
nop
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006f650
mov r15, qword [rdi]
test r15, r15
je 0x14006f62d
mov rbx, qword [r15 + 0x70]
cmp rbx, qword [r15 + 0x78]
je 0x14006f62d
nop word [rax + rax]
mov r8d, dword [rsi - 0x10]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14000bbb0
nop
or r14d, 1
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rax]
call fcn.1400eb7fc
test eax, eax
jne 0x14006f48c
lea r8d, [r12 - 0xf]
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.14000bdb0
nop
or r14d, 2
mov dword [rbp + 0x640], r14d
xor ecx, ecx
mov rdx, qword [rbp - 0x70]
test rdx, rdx
setne cl
test ecx, ecx
je 0x14006f63a
mov rcx, qword [rax]
call fcn.1400eb7fc
test eax, eax
jne 0x14006f48c
test dword [r15 + 0xcc], 0x100
je 0x14006f48c
mov sil, 1
jmp 0x14006f48f
xor sil, sil
test r14b, 2
je 0x14006f4bf
and r14d, 0xfffffffd
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f4b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 1
je 0x14006f4ef
and r14d, 0xfffffffe
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f4e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test sil, sil
jne 0x14006f50c
add rbx, 8
cmp rbx, qword [r15 + 0x78]
mov rsi, qword [rsp + 0x40]
jne 0x14006f410
jmp 0x14006f62d
mov eax, dword [r15 + 8]
mov dword [rbp + 0x648], eax
lea rcx, [r15 + 0x88]
mov rdx, rbx
call fcn.14000b340
lea r14, [0x1401246c4]
mov rdx, r14
mov rsi, qword [rsp + 0x40]
cmp dword [rsi - 0x10], 0
cmovne rdx, qword [rsp + 0x28]
lea rcx, [r15 + 0x68]
call fcn.14000b500
mov rax, qword [rsp + 0x20]
mov rdx, r14
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [r15 + 0xb8]
call fcn.14000b500
call fcn.140004f70
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006f645
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
lea rcx, [rbp - 0x40]
lea rax, [rbp - 0x40]
test rax, 0xffffffffffff0000
jne 0x14006f5c2
movzx esi, cx
xor edx, edx
mov ecx, esi
call fcn.14000b7c0
test rax, rax
je 0x14006f5f2
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14000bc50
mov rbx, qword [rsp + 0x78]
jmp 0x14006f5f2
lea rcx, [rbp - 0x40]
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f5d0
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x78]
call fcn.14000be50
mov rbx, qword [rsp + 0x78]
jmp 0x14006f5f7
mov rsi, qword [rsp + 0x40]
mov rdx, r14
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [r15 + 0x28]
call fcn.14000b500
nop
lea rdx, [rbx - 0x18]
or r15, 0xffffffffffffffff
lock add dword [rdx + 0x10], r15d
jg 0x14006f624
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
jmp 0x14006f631
or r15, 0xffffffffffffffff
add rdi, 8
jmp 0x14006f3e6
mov ecx, 0x80004005
call fcn.140004f20
nop
mov ecx, 0x80004005
call fcn.140004f20
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006f66d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r12d, dword [rbp + 0x648]
test r12d, r12d
jne 0x140070004
mov r14d, dword [rbp + 0x640]
jmp 0x14006f68d
mov r12d, dword [rbp + 0x648]
mov rax, qword [rsp + 0x28]
cmp dword [rax - 0x10], 0
je 0x14006f866
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006f866
nop word [rax + rax]
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006f83c
mov rbx, qword [rsi + 0x50]
cmp rbx, qword [rsi + 0x58]
je 0x14006f83c
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rbx]
call fcn.1400eb7fc
test eax, eax
jne 0x14006f720
mov eax, dword [rsi + 0xcc]
test al, 0x20
je 0x14006f720
test al, 2
je 0x14006f701
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006f701
cmp dword [r13 + 0x704], 0
jne 0x14006f726
jmp 0x14006f720
test byte [rsi + 0xcc], 4
je 0x14006f726
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006f726
cmp dword [r13 + 0x704], 0
je 0x14006f726
add rbx, 8
jmp 0x14006f6c0
mov r12d, dword [rsi + 8]
mov dword [rbp + 0x648], r12d
lea rcx, [rsi + 0x68]
mov rdx, rbx
call fcn.14000b340
mov rax, qword [rsp + 0x20]
lea rcx, [rsi + 0xb8]
cmp dword [rax - 0x10], 0
lea rdx, [0x1401246c4]
je 0x14006f759
mov rdx, rax
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f760
mov r8d, eax
call fcn.14000be50
call fcn.140004f70
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006f84b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
lea rcx, [rbp - 0x40]
lea rax, [rbp - 0x40]
test rax, 0xffffffffffff0000
jne 0x14006f7ce
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000b7c0
test rax, rax
je 0x14006f7f5
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000bc50
jmp 0x14006f7f0
lea rcx, [rbp - 0x40]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f7d5
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.14000be50
mov rbx, qword [rsp + 0x70]
lea rcx, [rsi + 0x28]
cmp dword [rbx - 0x10], 0
lea rdx, [0x1401246c4]
je 0x14006f809
mov rdx, rbx
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f810
mov r8d, eax
call fcn.14000be50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006f83c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006f856
jmp 0x14006f6b0
mov ecx, 0x80004005
call fcn.140004f20
int3
test r12d, r12d
jne 0x140070004
mov r14d, dword [rbp + 0x640]
mov rax, qword [rsp + 0x48]
cmp dword [rax - 0x10], 0
je 0x14006fa36
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006fa36
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006fa0c
mov rbx, qword [rsi + 0x30]
cmp rbx, qword [rsi + 0x38]
je 0x14006fa0c
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rbx]
call fcn.1400eb7fc
test eax, eax
jne 0x14006f8f5
mov eax, dword [rsi + 0xcc]
test al, 0x10
je 0x14006f8f5
test al, 2
je 0x14006f8d6
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006f8d6
cmp dword [r13 + 0x704], 0
jne 0x14006f8fb
jmp 0x14006f8f5
test byte [rsi + 0xcc], 4
je 0x14006f8fb
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006f8fb
cmp dword [r13 + 0x704], 0
je 0x14006f8fb
add rbx, 8
jmp 0x14006f893
mov r12d, dword [rsi + 8]
mov dword [rbp + 0x648], r12d
lea rcx, [rsi + 0x48]
mov rdx, rbx
call fcn.14000b340
mov rax, qword [rsp + 0x20]
lea rcx, [rsi + 0xb8]
cmp dword [rax - 0x10], 0
lea rdx, [0x1401246c4]
je 0x14006f92e
mov rdx, rax
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f931
mov r8d, eax
call fcn.14000be50
call fcn.140004f70
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fa1b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
lea rcx, [rbp - 0x40]
lea rax, [rbp - 0x40]
test rax, 0xffffffffffff0000
jne 0x14006f99f
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000b7c0
test rax, rax
je 0x14006f9c6
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000bc50
jmp 0x14006f9c1
lea rcx, [rbp - 0x40]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f9a6
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.14000be50
mov rbx, qword [rsp + 0x60]
lea rcx, [rsi + 0x28]
cmp dword [rbx - 0x10], 0
lea rdx, [0x1401246c4]
je 0x14006f9da
mov rdx, rbx
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f9e0
mov r8d, eax
call fcn.14000be50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006fa0c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006fa26
jmp 0x14006f883
mov ecx, 0x80004005
call fcn.140004f20
int3
test r12d, r12d
jne 0x140070004
mov r14d, dword [rbp + 0x640]
xor r12d, r12d
mov rsi, qword [r13 + 0x58]
cmp rsi, qword [r13 + 0x60]
je 0x14006fcaa
test r12d, r12d
jne 0x14006fc98
mov r15, qword [rsi]
test r15, r15
je 0x14006fc7e
mov rdi, qword [r15 + 0x10]
cmp rdi, qword [r15 + 0x18]
je 0x14006fc7e
mov rax, qword [rdi]
lea r8, [rbp - 0x40]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14006fa88
add rax, 2
test ecx, ecx
jne 0x14006fa74
test edx, edx
jne 0x14006fadb
test byte [r15 + 0xcc], 2
je 0x14006faae
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006faae
cmp dword [r13 + 0x704], 0
je 0x14006fadb
jmp 0x14006face
test byte [r15 + 0xcc], 4
je 0x14006face
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006face
cmp dword [r13 + 0x704], 0
jne 0x14006fadb
test dword [r15 + 0xcc], 0x100
je 0x14006fae4
add rdi, 8
jmp 0x14006fa60
test byte [r15 + 0xcc], 1
je 0x14006fb4b
mov rax, qword [rsp + 0x20]
cmp dword [rax - 0x10], 0
je 0x14006fb38
mov rbx, qword [r15 + 0xa0]
cmp rbx, qword [r15 + 0xa8]
je 0x14006fb38
nop dword [rax]
lea rdx, [rbp + 0x3e0]
mov rcx, qword [rbx]
call fcn.1400eb7fc
test eax, eax
je 0x14006fb32
add rbx, 8
cmp rbx, qword [r15 + 0xa8]
jne 0x14006fb10
jmp 0x14006fb38
mov r12d, 1
test byte [r15 + 0xcc], 1
je 0x14006fb4b
test r12d, r12d
je 0x14006fc7e
mov eax, dword [r15 + 8]
mov dword [rbp + 0x648], eax
lea rcx, [r15 + 0x28]
mov rdx, rdi
call fcn.14000b340
mov rax, qword [r15 + 0xa8]
cmp qword [r15 + 0xa0], rax
je 0x14006fb96
mov rax, qword [r15 + 0xa0]
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000b870
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
or r14d, 4
jmp 0x14006fc09
call fcn.140004f70
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fc8d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rax, [0x1401246c4]
test rax, 0xffffffffffff0000
jne 0x14006fbef
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14000b7c0
test rax, rax
je 0x14006fc00
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000bc50
jmp 0x14006fc00
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000be50
nop
lea rdx, [rsp + 0x50]
or r14d, 8
mov dword [rbp + 0x640], r14d
lea rcx, [r15 + 0xb8]
call fcn.14000b340
nop
test r14b, 8
je 0x14006fc4e
and r14d, 0xfffffff7
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fc47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 4
je 0x14006fc7e
and r14d, 0xfffffffb
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fc77
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
add rsi, 8
cmp rsi, qword [r13 + 0x60]
je 0x14006fc98
jmp 0x14006fa47
mov ecx, 0x80004005
call fcn.140004f20
int3
mov r12d, dword [rbp + 0x648]
test r12d, r12d
jne 0x140070000
jmp 0x14006fcb1
mov r12d, dword [rbp + 0x648]
mov r15, qword [rsp + 0x20]
cmp dword [r15 - 0x10], 0
je 0x14006fea1
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006fea1
nop
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006fe7e
mov rbx, qword [rsi + 0xa0]
cmp rbx, qword [rsi + 0xa8]
je 0x14006fe7e
test dword [rsi + 0xcc], 0x100
jne 0x14006fd54
lea rdx, [rbp + 0x3e0]
mov rcx, qword [rbx]
call fcn.1400eb7fc
test eax, eax
jne 0x14006fd54
mov eax, dword [rsi + 0xcc]
test al, 1
jne 0x14006fd54
test al, 2
je 0x14006fd35
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006fd35
cmp dword [r13 + 0x704], 0
jne 0x14006fd5a
jmp 0x14006fd54
test byte [rsi + 0xcc], 4
je 0x14006fd5a
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006fd5a
cmp dword [r13 + 0x704], 0
je 0x14006fd5a
add rbx, 8
jmp 0x14006fce3
mov r12d, dword [rsi + 8]
lea rcx, [rsi + 0xb8]
mov rdx, rbx
call fcn.14000b340
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x14006fd99
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000b870
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
or r14d, 0x10
jmp 0x14006fe0c
call fcn.140004f70
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fe8d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rax, [0x1401246c4]
test rax, 0xffffffffffff0000
jne 0x14006fdf2
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14000b7c0
test rax, rax
je 0x14006fe03
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000bc50
jmp 0x14006fe03
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000be50
nop
lea rdx, [rsp + 0x58]
or r14d, 0x20
mov dword [rbp + 0x640], r14d
lea rcx, [rsi + 0x28]
call fcn.14000b340
nop
test r14b, 0x20
je 0x14006fe4e
and r14d, 0xffffffdf
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fe47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 0x10
je 0x14006fe7e
and r14d, 0xffffffef
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fe77
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006fe98
jmp 0x14006fcd0
mov ecx, 0x80004005
call fcn.140004f20
int3
test r12d, r12d
jne 0x140070000
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x140070000
mov rsi, qword [rdi]
test byte [rsi + 0xcc], 0x80
je 0x14006ffec
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x14006ffec
cmp dword [r13 + 0x704], 0
je 0x14006ffec
mov r12d, dword [rsi + 8]
lea rcx, [rsi + 0xb8]
cmp dword [r15 - 0x10], 0
lea rdx, [0x1401246c4]
je 0x14006fefb
mov rdx, qword [rsp + 0x20]
or r14, 0xffffffffffffffff
mov rax, r14
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006ff02
mov r8d, eax
call fcn.14000be50
call fcn.140004f70
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fff5
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
lea rcx, [rbp - 0x40]
lea rax, [rbp - 0x40]
test rax, 0xffffffffffff0000
jne 0x14006ff75
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000b7c0
test rax, rax
je 0x14006ffa2
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000bc50
mov rbx, qword [rsp + 0x68]
jmp 0x14006ffa2
lea rcx, [rbp - 0x40]
mov rax, r14
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006ff80
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x68]
call fcn.14000be50
mov rbx, qword [rsp + 0x68]
jmp 0x14006ffa6
or r14, 0xffffffffffffffff
lea rcx, [rsi + 0x28]
cmp dword [rbx - 0x10], 0
lea rdx, [0x1401246c4]
je 0x14006ffba
mov rdx, rbx
mov rax, r14
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006ffc0
mov r8d, eax
call fcn.14000be50
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006ffec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
jmp 0x14006fea5
mov ecx, 0x80004005
call fcn.140004f20
int3
or r15, 0xffffffffffffffff
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x140070023
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x140070042
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x140070061
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
dec r15d
jg 0x14007007f
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, r12d
mov rbx, qword [rsp + 0x730]
add rsp, 0x6f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret