Function at 0x14006eda0
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 0x14006ee06
xor eax, eax
jmp 0x14006fe73
mov rcx, rdi
call fcn.1400ddaa0
test eax, eax
je 0x14006ee36
mov ecx, 0xff
call fcn.140051030
test al, al
jne 0x14006ee36
call fcn.14006b0a0
test al, al
jne 0x14006ee36
mov dword [r13 + 0x704], 1
jmp 0x14006ee3d
mov dword [r13 + 0x704], r12d
call fcn.140005220
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006ee5d
mov ecx, 0x80004005
call fcn.1400051c0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
call fcn.140005220
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006ee8f
mov ecx, 0x80004005
call fcn.1400051c0
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 0x14006efbc
mov r8, rdi
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140072a30
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x20]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006ef1c
cmp dword [rbx + 0x10], 0
jl 0x14006ef0d
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006ef0d
call fcn.14000bab0
mov rsi, rax
lock add dword [rbx + 0x10], r15d
jg 0x14006ef02
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 + 0x20], rax
jmp 0x14006ef1c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.14000c060
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006ef34
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.140072c20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x38]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006ef9d
cmp dword [rbx + 0x10], 0
jl 0x14006ef8e
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006ef8e
call fcn.14000bab0
mov rsi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14006ef83
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 0x14006ef9d
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.14000c060
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006efb5
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 0x14006f004
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x14006f004
add rcx, 2
cmp rcx, 0x1a
jne 0x14006efe0
jmp 0x14006f034
lea rdx, [rbp - 0x40]
lea r8, str.SynTrackCursorWindowClass
mov rcx, r12
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x14006f03d
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x14006f03d
add rcx, 2
cmp rcx, 0x1a
jne 0x14006f012
or r12d, 0xffffffff
jmp 0x14006fe33
call fcn.140005220
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f05d
mov ecx, 0x80004005
call fcn.1400051c0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r8d, 0x104
lea rdx, [rbp + 0x3e0]
mov ecx, dword [rsp + 0x30]
call fcn.1400dbc90
test eax, eax
je 0x14006f0b1
lea rcx, [rbp + 0x3e0]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f093
mov r8d, eax
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x28]
call fcn.14000c060
call fcn.140005220
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f0d1
mov ecx, 0x80004005
call fcn.1400051c0
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 0x14006f11c
lea rcx, [rbp + 0x1d0]
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f110
jmp 0x14006f150
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 0x14006f164
lea rcx, [rbp + 0x1d0]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f146
mov r8d, eax
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x48]
call fcn.14000c060
mov rax, qword [rsp + 0x38]
mov r12d, dword [rax - 0x10]
test r12d, r12d
je 0x14006f446
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0x40], rsi
mov eax, dword [rsi - 0x10]
test eax, eax
je 0x14006f446
sub r12d, eax
lea r8d, [r12 - 0xf]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x38]
call fcn.14000bfc0
nop
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006f410
mov r15, qword [rdi]
test r15, r15
je 0x14006f3ed
mov rbx, qword [r15 + 0x70]
cmp rbx, qword [r15 + 0x78]
je 0x14006f3ed
nop word [rax + rax]
mov r8d, dword [rsi - 0x10]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14000bdc0
nop
or r14d, 1
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rax]
call fcn.1400e995c
test eax, eax
jne 0x14006f24c
lea r8d, [r12 - 0xf]
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.14000bfc0
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 0x14006f3fa
mov rcx, qword [rax]
call fcn.1400e995c
test eax, eax
jne 0x14006f24c
test dword [r15 + 0xcc], 0x100
je 0x14006f24c
mov sil, 1
jmp 0x14006f24f
xor sil, sil
test r14b, 2
je 0x14006f27f
and r14d, 0xfffffffd
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f278
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 1
je 0x14006f2af
and r14d, 0xfffffffe
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f2a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test sil, sil
jne 0x14006f2cc
add rbx, 8
cmp rbx, qword [r15 + 0x78]
mov rsi, qword [rsp + 0x40]
jne 0x14006f1d0
jmp 0x14006f3ed
mov eax, dword [r15 + 8]
mov dword [rbp + 0x648], eax
lea rcx, [r15 + 0x88]
mov rdx, rbx
call fcn.14000b580
lea r14, [0x1401226e8]
mov rdx, r14
mov rsi, qword [rsp + 0x40]
cmp dword [rsi - 0x10], 0
cmovne rdx, qword [rsp + 0x20]
lea rcx, [r15 + 0x68]
call fcn.14000b740
mov rax, qword [rsp + 0x28]
mov rdx, r14
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [r15 + 0xb8]
call fcn.14000b740
call fcn.140005220
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006f405
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 0x14006f382
movzx esi, cx
xor edx, edx
mov ecx, esi
call fcn.14000ba00
test rax, rax
je 0x14006f3b2
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14000be60
mov rbx, qword [rsp + 0x78]
jmp 0x14006f3b2
lea rcx, [rbp - 0x40]
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f390
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x78]
call fcn.14000c060
mov rbx, qword [rsp + 0x78]
jmp 0x14006f3b7
mov rsi, qword [rsp + 0x40]
mov rdx, r14
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [r15 + 0x28]
call fcn.14000b740
nop
lea rdx, [rbx - 0x18]
or r15, 0xffffffffffffffff
lock add dword [rdx + 0x10], r15d
jg 0x14006f3e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
jmp 0x14006f3f1
or r15, 0xffffffffffffffff
add rdi, 8
jmp 0x14006f1a6
mov ecx, 0x80004005
call fcn.1400051c0
nop
mov ecx, 0x80004005
call fcn.1400051c0
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006f42d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r12d, dword [rbp + 0x648]
test r12d, r12d
jne 0x14006fdf5
mov r14d, dword [rbp + 0x640]
jmp 0x14006f44d
mov r12d, dword [rbp + 0x648]
mov rax, qword [rsp + 0x20]
cmp dword [rax - 0x10], 0
je 0x14006f636
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006f636
nop word [rax + rax]
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006f60c
mov rbx, qword [rsi + 0x50]
cmp rbx, qword [rsi + 0x58]
je 0x14006f60c
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rbx]
call fcn.1400e995c
test eax, eax
jne 0x14006f4e0
mov eax, dword [rsi + 0xcc]
test al, 0x20
je 0x14006f4e0
test al, 2
je 0x14006f4c1
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006f4c1
cmp dword [r13 + 0x704], 0
jne 0x14006f4e6
jmp 0x14006f4e0
test byte [rsi + 0xcc], 4
je 0x14006f4e6
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006f4e6
cmp dword [r13 + 0x704], 0
je 0x14006f4e6
add rbx, 8
jmp 0x14006f480
mov r12d, dword [rsi + 8]
mov dword [rbp + 0x648], r12d
lea rcx, [rsi + 0x68]
mov rdx, rbx
call fcn.14000b580
mov rax, qword [rsp + 0x28]
lea rdx, [0x1401226e8]
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [rsi + 0xb8]
test rdx, rdx
jne 0x14006f521
xor eax, eax
jmp 0x14006f52e
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f524
mov r8d, eax
call fcn.14000c060
call fcn.140005220
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006f61b
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 0x14006f592
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000ba00
test rax, rax
je 0x14006f5c0
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000be60
jmp 0x14006f5bb
lea rcx, [rbp - 0x40]
mov rax, r15
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f5a0
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.14000c060
mov rbx, qword [rsp + 0x70]
lea rdx, [0x1401226e8]
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x14006f5dc
xor eax, eax
jmp 0x14006f5ea
mov rax, r15
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f5e0
mov r8d, eax
call fcn.14000c060
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006f60c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006f626
jmp 0x14006f470
mov ecx, 0x80004005
call fcn.1400051c0
int3
test r12d, r12d
jne 0x14006fdf5
mov r14d, dword [rbp + 0x640]
mov rax, qword [rsp + 0x48]
cmp dword [rax - 0x10], 0
je 0x14006f81a
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006f81a
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006f7f0
mov rbx, qword [rsi + 0x30]
cmp rbx, qword [rsi + 0x38]
je 0x14006f7f0
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rbx]
call fcn.1400e995c
test eax, eax
jne 0x14006f6c5
mov eax, dword [rsi + 0xcc]
test al, 0x10
je 0x14006f6c5
test al, 2
je 0x14006f6a6
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006f6a6
cmp dword [r13 + 0x704], 0
jne 0x14006f6cb
jmp 0x14006f6c5
test byte [rsi + 0xcc], 4
je 0x14006f6cb
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006f6cb
cmp dword [r13 + 0x704], 0
je 0x14006f6cb
add rbx, 8
jmp 0x14006f663
mov r12d, dword [rsi + 8]
mov dword [rbp + 0x648], r12d
lea rcx, [rsi + 0x48]
mov rdx, rbx
call fcn.14000b580
mov rax, qword [rsp + 0x28]
lea rdx, [0x1401226e8]
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [rsi + 0xb8]
test rdx, rdx
jne 0x14006f706
xor eax, eax
jmp 0x14006f71a
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f710
mov r8d, eax
call fcn.14000c060
call fcn.140005220
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006f7ff
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 0x14006f77e
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000ba00
test rax, rax
je 0x14006f7a5
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000be60
jmp 0x14006f7a0
lea rcx, [rbp - 0x40]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f785
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.14000c060
mov rbx, qword [rsp + 0x60]
lea rdx, [0x1401226e8]
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x14006f7c1
xor eax, eax
jmp 0x14006f7ce
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006f7c4
mov r8d, eax
call fcn.14000c060
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006f7f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006f80a
jmp 0x14006f653
mov ecx, 0x80004005
call fcn.1400051c0
int3
test r12d, r12d
jne 0x14006fdf5
mov r14d, dword [rbp + 0x640]
xor r12d, r12d
mov rsi, qword [r13 + 0x58]
cmp rsi, qword [r13 + 0x60]
je 0x14006fa9a
nop dword [rax + rax]
test r12d, r12d
jne 0x14006fa88
mov r15, qword [rsi]
test r15, r15
je 0x14006fa6e
mov rdi, qword [r15 + 0x10]
cmp rdi, qword [r15 + 0x18]
je 0x14006fa6e
mov rax, qword [rdi]
lea r8, [rbp - 0x40]
sub r8, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14006f874
add rax, 2
test ecx, ecx
jne 0x14006f860
test edx, edx
jne 0x14006f8c7
test byte [r15 + 0xcc], 2
je 0x14006f89a
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006f89a
cmp dword [r13 + 0x704], 0
je 0x14006f8c7
jmp 0x14006f8ba
test byte [r15 + 0xcc], 4
je 0x14006f8ba
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006f8ba
cmp dword [r13 + 0x704], 0
jne 0x14006f8c7
test dword [r15 + 0xcc], 0x100
je 0x14006f8d0
add rdi, 8
jmp 0x14006f849
test byte [r15 + 0xcc], 1
je 0x14006f93b
mov rax, qword [rsp + 0x28]
cmp dword [rax - 0x10], 0
je 0x14006f928
mov rbx, qword [r15 + 0xa0]
cmp rbx, qword [r15 + 0xa8]
je 0x14006f928
nop word [rax + rax]
lea rdx, [rbp + 0x3e0]
mov rcx, qword [rbx]
call fcn.1400e995c
test eax, eax
je 0x14006f922
add rbx, 8
cmp rbx, qword [r15 + 0xa8]
jne 0x14006f900
jmp 0x14006f928
mov r12d, 1
test byte [r15 + 0xcc], 1
je 0x14006f93b
test r12d, r12d
je 0x14006fa6e
mov eax, dword [r15 + 8]
mov dword [rbp + 0x648], eax
lea rcx, [r15 + 0x28]
mov rdx, rdi
call fcn.14000b580
mov rax, qword [r15 + 0xa8]
cmp qword [r15 + 0xa0], rax
je 0x14006f986
mov rax, qword [r15 + 0xa0]
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000bab0
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
or r14d, 4
jmp 0x14006f9f9
call fcn.140005220
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fa7d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rax, [0x1401226e8]
test rax, 0xffffffffffff0000
jne 0x14006f9df
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14000ba00
test rax, rax
je 0x14006f9f0
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000be60
jmp 0x14006f9f0
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000c060
nop
lea rdx, [rsp + 0x50]
or r14d, 8
mov dword [rbp + 0x640], r14d
lea rcx, [r15 + 0xb8]
call fcn.14000b580
nop
test r14b, 8
je 0x14006fa3e
and r14d, 0xfffffff7
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fa37
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 4
je 0x14006fa6e
and r14d, 0xfffffffb
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fa67
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 0x14006fa88
jmp 0x14006f830
mov ecx, 0x80004005
call fcn.1400051c0
int3
mov r12d, dword [rbp + 0x648]
test r12d, r12d
jne 0x14006fdf1
jmp 0x14006faa1
mov r12d, dword [rbp + 0x648]
mov r15, qword [rsp + 0x28]
cmp dword [r15 - 0x10], 0
je 0x14006fc91
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006fc91
nop
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006fc6e
mov rbx, qword [rsi + 0xa0]
cmp rbx, qword [rsi + 0xa8]
je 0x14006fc6e
test dword [rsi + 0xcc], 0x100
jne 0x14006fb44
lea rdx, [rbp + 0x3e0]
mov rcx, qword [rbx]
call fcn.1400e995c
test eax, eax
jne 0x14006fb44
mov eax, dword [rsi + 0xcc]
test al, 1
jne 0x14006fb44
test al, 2
je 0x14006fb25
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006fb25
cmp dword [r13 + 0x704], 0
jne 0x14006fb4a
jmp 0x14006fb44
test byte [rsi + 0xcc], 4
je 0x14006fb4a
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006fb4a
cmp dword [r13 + 0x704], 0
je 0x14006fb4a
add rbx, 8
jmp 0x14006fad3
mov r12d, dword [rsi + 8]
lea rcx, [rsi + 0xb8]
mov rdx, rbx
call fcn.14000b580
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x14006fb89
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000bab0
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
or r14d, 0x10
jmp 0x14006fbfc
call fcn.140005220
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fc7d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rax, [0x1401226e8]
test rax, 0xffffffffffff0000
jne 0x14006fbe2
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14000ba00
test rax, rax
je 0x14006fbf3
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000be60
jmp 0x14006fbf3
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000c060
nop
lea rdx, [rsp + 0x58]
or r14d, 0x20
mov dword [rbp + 0x640], r14d
lea rcx, [rsi + 0x28]
call fcn.14000b580
nop
test r14b, 0x20
je 0x14006fc3e
and r14d, 0xffffffdf
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fc37
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 0x10
je 0x14006fc6e
and r14d, 0xffffffef
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fc67
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 0x14006fc88
jmp 0x14006fac0
mov ecx, 0x80004005
call fcn.1400051c0
int3
test r12d, r12d
jne 0x14006fdf1
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006fdf1
mov rsi, qword [rdi]
test byte [rsi + 0xcc], 0x80
je 0x14006fddd
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xb
jl 0x14006fddd
cmp dword [r13 + 0x704], 0
je 0x14006fddd
mov r12d, dword [rsi + 8]
lea rdx, [0x1401226e8]
cmp dword [r15 - 0x10], 0
cmovne rdx, qword [rsp + 0x28]
lea rcx, [rsi + 0xb8]
test rdx, rdx
jne 0x14006fcf3
xor eax, eax
jmp 0x14006fd0a
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006fd00
mov r8d, eax
call fcn.14000c060
call fcn.140005220
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fde6
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 0x14006fd6e
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000ba00
test rax, rax
je 0x14006fd96
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000be60
jmp 0x14006fd91
lea rcx, [rbp - 0x40]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006fd76
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x68]
call fcn.14000c060
mov rbx, qword [rsp + 0x68]
lea rdx, [0x1401226e8]
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x14006fdb2
xor eax, eax
jmp 0x14006fdc0
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006fdb6
mov r8d, eax
call fcn.14000c060
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006fddd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
jmp 0x14006fc95
mov ecx, 0x80004005
call fcn.1400051c0
int3
or r15, 0xffffffffffffffff
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006fe14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006fe33
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 0x14006fe52
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
dec r15d
jg 0x14006fe70
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