Function at 0x14006f4d0
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 0x14006f536
xor eax, eax
jmp 0x1400705a3
mov rcx, rdi
call fcn.1400ddd00
test eax, eax
je 0x14006f566
mov ecx, 0xff
call fcn.140051570
test al, al
jne 0x14006f566
call fcn.14006b7f0
test al, al
jne 0x14006f566
mov dword [r13 + 0x704], 1
jmp 0x14006f56d
mov dword [r13 + 0x704], r12d
call fcn.140004e00
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f58d
mov ecx, 0x80004005
call fcn.140004c30
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
call fcn.140004e00
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f5bf
mov ecx, 0x80004005
call fcn.140004c30
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 0x14006f6ec
mov r8, rdi
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140073140
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x20]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006f64c
cmp dword [rbx + 0x10], 0
jl 0x14006f63d
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006f63d
call fcn.14000bc70
mov rsi, rax
lock add dword [rbx + 0x10], r15d
jg 0x14006f632
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 0x14006f64c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.14000c250
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f664
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.140073330
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x38]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006f6cd
cmp dword [rbx + 0x10], 0
jl 0x14006f6be
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006f6be
call fcn.14000bc70
mov rsi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14006f6b3
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 0x14006f6cd
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.14000c250
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f6e5
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 0x14006f734
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x14006f734
add rcx, 2
cmp rcx, 0x1a
jne 0x14006f710
jmp 0x14006f764
lea rdx, [rbp - 0x40]
lea r8, str.SynTrackCursorWindowClass
mov rcx, r12
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x14006f76d
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x14006f76d
add rcx, 2
cmp rcx, 0x1a
jne 0x14006f742
or r12d, 0xffffffff
jmp 0x140070563
call fcn.140004e00
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f78d
mov ecx, 0x80004005
call fcn.140004c30
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.1400dbef0
test eax, eax
je 0x14006f7e1
lea rcx, [rbp + 0x3e0]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f7c3
mov r8d, eax
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x28]
call fcn.14000c250
call fcn.140004e00
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f801
mov ecx, 0x80004005
call fcn.140004c30
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 0x14006f84c
lea rcx, [rbp + 0x1d0]
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f840
jmp 0x14006f880
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 0x14006f894
lea rcx, [rbp + 0x1d0]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006f876
mov r8d, eax
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x48]
call fcn.14000c250
mov rax, qword [rsp + 0x38]
mov r12d, dword [rax - 0x10]
test r12d, r12d
je 0x14006fb76
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0x40], rsi
mov eax, dword [rsi - 0x10]
test eax, eax
je 0x14006fb76
sub r12d, eax
lea r8d, [r12 - 0xf]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x38]
call fcn.14000c1b0
nop
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006fb40
mov r15, qword [rdi]
test r15, r15
je 0x14006fb1d
mov rbx, qword [r15 + 0x70]
cmp rbx, qword [r15 + 0x78]
je 0x14006fb1d
nop word [rax + rax]
mov r8d, dword [rsi - 0x10]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14000bfb0
nop
or r14d, 1
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rax]
call fcn.1400e9b3c
test eax, eax
jne 0x14006f97c
lea r8d, [r12 - 0xf]
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.14000c1b0
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 0x14006fb2a
mov rcx, qword [rax]
call fcn.1400e9b3c
test eax, eax
jne 0x14006f97c
test dword [r15 + 0xcc], 0x100
je 0x14006f97c
mov sil, 1
jmp 0x14006f97f
xor sil, sil
test r14b, 2
je 0x14006f9af
and r14d, 0xfffffffd
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f9a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 1
je 0x14006f9df
and r14d, 0xfffffffe
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14006f9d8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test sil, sil
jne 0x14006f9fc
add rbx, 8
cmp rbx, qword [r15 + 0x78]
mov rsi, qword [rsp + 0x40]
jne 0x14006f900
jmp 0x14006fb1d
mov eax, dword [r15 + 8]
mov dword [rbp + 0x648], eax
lea rcx, [r15 + 0x88]
mov rdx, rbx
call fcn.14000b740
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.14000b900
mov rax, qword [rsp + 0x28]
mov rdx, r14
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [r15 + 0xb8]
call fcn.14000b900
call fcn.140004e00
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fb35
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 0x14006fab2
movzx esi, cx
xor edx, edx
mov ecx, esi
call fcn.14000bbc0
test rax, rax
je 0x14006fae2
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14000c050
mov rbx, qword [rsp + 0x78]
jmp 0x14006fae2
lea rcx, [rbp - 0x40]
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006fac0
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x78]
call fcn.14000c250
mov rbx, qword [rsp + 0x78]
jmp 0x14006fae7
mov rsi, qword [rsp + 0x40]
mov rdx, r14
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [r15 + 0x28]
call fcn.14000b900
nop
lea rdx, [rbx - 0x18]
or r15, 0xffffffffffffffff
lock add dword [rdx + 0x10], r15d
jg 0x14006fb14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
jmp 0x14006fb21
or r15, 0xffffffffffffffff
add rdi, 8
jmp 0x14006f8d6
mov ecx, 0x80004005
call fcn.140004c30
nop
mov ecx, 0x80004005
call fcn.140004c30
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006fb5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r12d, dword [rbp + 0x648]
test r12d, r12d
jne 0x140070525
mov r14d, dword [rbp + 0x640]
jmp 0x14006fb7d
mov r12d, dword [rbp + 0x648]
mov rax, qword [rsp + 0x20]
cmp dword [rax - 0x10], 0
je 0x14006fd66
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006fd66
nop word [rax + rax]
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006fd3c
mov rbx, qword [rsi + 0x50]
cmp rbx, qword [rsi + 0x58]
je 0x14006fd3c
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rbx]
call fcn.1400e9b3c
test eax, eax
jne 0x14006fc10
mov eax, dword [rsi + 0xcc]
test al, 0x20
je 0x14006fc10
test al, 2
je 0x14006fbf1
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14006fbf1
cmp dword [r13 + 0x704], 0
jne 0x14006fc16
jmp 0x14006fc10
test byte [rsi + 0xcc], 4
je 0x14006fc16
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14006fc16
cmp dword [r13 + 0x704], 0
je 0x14006fc16
add rbx, 8
jmp 0x14006fbb0
mov r12d, dword [rsi + 8]
mov dword [rbp + 0x648], r12d
lea rcx, [rsi + 0x68]
mov rdx, rbx
call fcn.14000b740
mov rax, qword [rsp + 0x28]
lea rdx, [0x1401226e8]
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [rsi + 0xb8]
test rdx, rdx
jne 0x14006fc51
xor eax, eax
jmp 0x14006fc5e
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006fc54
mov r8d, eax
call fcn.14000c250
call fcn.140004e00
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006fd4b
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 0x14006fcc2
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000bbc0
test rax, rax
je 0x14006fcf0
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000c050
jmp 0x14006fceb
lea rcx, [rbp - 0x40]
mov rax, r15
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006fcd0
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.14000c250
mov rbx, qword [rsp + 0x70]
lea rdx, [0x1401226e8]
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x14006fd0c
xor eax, eax
jmp 0x14006fd1a
mov rax, r15
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006fd10
mov r8d, eax
call fcn.14000c250
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006fd3c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006fd56
jmp 0x14006fba0
mov ecx, 0x80004005
call fcn.140004c30
int3
test r12d, r12d
jne 0x140070525
mov r14d, dword [rbp + 0x640]
mov rax, qword [rsp + 0x48]
cmp dword [rax - 0x10], 0
je 0x14006ff4a
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x14006ff4a
mov rsi, qword [rdi]
test rsi, rsi
je 0x14006ff20
mov rbx, qword [rsi + 0x30]
cmp rbx, qword [rsi + 0x38]
je 0x14006ff20
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rbx]
call fcn.1400e9b3c
test eax, eax
jne 0x14006fdf5
mov eax, dword [rsi + 0xcc]
test al, 0x10
je 0x14006fdf5
test al, 2
je 0x14006fdd6
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14006fdd6
cmp dword [r13 + 0x704], 0
jne 0x14006fdfb
jmp 0x14006fdf5
test byte [rsi + 0xcc], 4
je 0x14006fdfb
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14006fdfb
cmp dword [r13 + 0x704], 0
je 0x14006fdfb
add rbx, 8
jmp 0x14006fd93
mov r12d, dword [rsi + 8]
mov dword [rbp + 0x648], r12d
lea rcx, [rsi + 0x48]
mov rdx, rbx
call fcn.14000b740
mov rax, qword [rsp + 0x28]
lea rdx, [0x1401226e8]
cmp dword [rax - 0x10], 0
cmovne rdx, rax
lea rcx, [rsi + 0xb8]
test rdx, rdx
jne 0x14006fe36
xor eax, eax
jmp 0x14006fe4a
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006fe40
mov r8d, eax
call fcn.14000c250
call fcn.140004e00
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14006ff2f
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 0x14006feae
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000bbc0
test rax, rax
je 0x14006fed5
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000c050
jmp 0x14006fed0
lea rcx, [rbp - 0x40]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006feb5
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.14000c250
mov rbx, qword [rsp + 0x60]
lea rdx, [0x1401226e8]
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x14006fef1
xor eax, eax
jmp 0x14006fefe
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14006fef4
mov r8d, eax
call fcn.14000c250
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14006ff20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
cmp rdi, qword [r13 + 0x60]
je 0x14006ff3a
jmp 0x14006fd83
mov ecx, 0x80004005
call fcn.140004c30
int3
test r12d, r12d
jne 0x140070525
mov r14d, dword [rbp + 0x640]
xor r12d, r12d
mov rsi, qword [r13 + 0x58]
cmp rsi, qword [r13 + 0x60]
je 0x1400701ca
nop dword [rax + rax]
test r12d, r12d
jne 0x1400701b8
mov r15, qword [rsi]
test r15, r15
je 0x14007019e
mov rdi, qword [r15 + 0x10]
cmp rdi, qword [r15 + 0x18]
je 0x14007019e
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 0x14006ffa4
add rax, 2
test ecx, ecx
jne 0x14006ff90
test edx, edx
jne 0x14006fff7
test byte [r15 + 0xcc], 2
je 0x14006ffca
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14006ffca
cmp dword [r13 + 0x704], 0
je 0x14006fff7
jmp 0x14006ffea
test byte [r15 + 0xcc], 4
je 0x14006ffea
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14006ffea
cmp dword [r13 + 0x704], 0
jne 0x14006fff7
test dword [r15 + 0xcc], 0x100
je 0x140070000
add rdi, 8
jmp 0x14006ff79
test byte [r15 + 0xcc], 1
je 0x14007006b
mov rax, qword [rsp + 0x28]
cmp dword [rax - 0x10], 0
je 0x140070058
mov rbx, qword [r15 + 0xa0]
cmp rbx, qword [r15 + 0xa8]
je 0x140070058
nop word [rax + rax]
lea rdx, [rbp + 0x3e0]
mov rcx, qword [rbx]
call fcn.1400e9b3c
test eax, eax
je 0x140070052
add rbx, 8
cmp rbx, qword [r15 + 0xa8]
jne 0x140070030
jmp 0x140070058
mov r12d, 1
test byte [r15 + 0xcc], 1
je 0x14007006b
test r12d, r12d
je 0x14007019e
mov eax, dword [r15 + 8]
mov dword [rbp + 0x648], eax
lea rcx, [r15 + 0x28]
mov rdx, rdi
call fcn.14000b740
mov rax, qword [r15 + 0xa8]
cmp qword [r15 + 0xa0], rax
je 0x1400700b6
mov rax, qword [r15 + 0xa0]
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000bc70
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
or r14d, 4
jmp 0x140070129
call fcn.140004e00
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400701ad
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 0x14007010f
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14000bbc0
test rax, rax
je 0x140070120
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000c050
jmp 0x140070120
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000c250
nop
lea rdx, [rsp + 0x50]
or r14d, 8
mov dword [rbp + 0x640], r14d
lea rcx, [r15 + 0xb8]
call fcn.14000b740
nop
test r14b, 8
je 0x14007016e
and r14d, 0xfffffff7
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140070167
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 4
je 0x14007019e
and r14d, 0xfffffffb
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140070197
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 0x1400701b8
jmp 0x14006ff60
mov ecx, 0x80004005
call fcn.140004c30
int3
mov r12d, dword [rbp + 0x648]
test r12d, r12d
jne 0x140070521
jmp 0x1400701d1
mov r12d, dword [rbp + 0x648]
mov r15, qword [rsp + 0x28]
cmp dword [r15 - 0x10], 0
je 0x1400703c1
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x1400703c1
nop
mov rsi, qword [rdi]
test rsi, rsi
je 0x14007039e
mov rbx, qword [rsi + 0xa0]
cmp rbx, qword [rsi + 0xa8]
je 0x14007039e
test dword [rsi + 0xcc], 0x100
jne 0x140070274
lea rdx, [rbp + 0x3e0]
mov rcx, qword [rbx]
call fcn.1400e9b3c
test eax, eax
jne 0x140070274
mov eax, dword [rsi + 0xcc]
test al, 1
jne 0x140070274
test al, 2
je 0x140070255
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x140070255
cmp dword [r13 + 0x704], 0
jne 0x14007027a
jmp 0x140070274
test byte [rsi + 0xcc], 4
je 0x14007027a
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14007027a
cmp dword [r13 + 0x704], 0
je 0x14007027a
add rbx, 8
jmp 0x140070203
mov r12d, dword [rsi + 8]
lea rcx, [rsi + 0xb8]
mov rdx, rbx
call fcn.14000b740
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x1400702b9
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.14000bc70
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
or r14d, 0x10
jmp 0x14007032c
call fcn.140004e00
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400703ad
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 0x140070312
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14000bbc0
test rax, rax
je 0x140070323
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000c050
jmp 0x140070323
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000c250
nop
lea rdx, [rsp + 0x58]
or r14d, 0x20
mov dword [rbp + 0x640], r14d
lea rcx, [rsi + 0x28]
call fcn.14000b740
nop
test r14b, 0x20
je 0x14007036e
and r14d, 0xffffffdf
mov dword [rbp + 0x640], r14d
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140070367
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, dword [rbp + 0x640]
test r14b, 0x10
je 0x14007039e
and r14d, 0xffffffef
mov dword [rbp + 0x640], r14d
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140070397
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 0x1400703b8
jmp 0x1400701f0
mov ecx, 0x80004005
call fcn.140004c30
int3
test r12d, r12d
jne 0x140070521
mov rdi, qword [r13 + 0x58]
cmp rdi, qword [r13 + 0x60]
je 0x140070521
mov rsi, qword [rdi]
test byte [rsi + 0xcc], 0x80
je 0x14007050d
xor ecx, ecx
call fcn.1400dc0c0
cmp eax, 0xb
jl 0x14007050d
cmp dword [r13 + 0x704], 0
je 0x14007050d
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 0x140070423
xor eax, eax
jmp 0x14007043a
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140070430
mov r8d, eax
call fcn.14000c250
call fcn.140004e00
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140070516
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 0x14007049e
movzx r14d, cx
xor edx, edx
mov ecx, r14d
call fcn.14000bbc0
test rax, rax
je 0x1400704c6
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000c050
jmp 0x1400704c1
lea rcx, [rbp - 0x40]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400704a6
mov r8d, eax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x68]
call fcn.14000c250
mov rbx, qword [rsp + 0x68]
lea rdx, [0x1401226e8]
cmp dword [rbx - 0x10], 0
cmovne rdx, rbx
lea rcx, [rsi + 0x28]
test rdx, rdx
jne 0x1400704e2
xor eax, eax
jmp 0x1400704f0
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400704e6
mov r8d, eax
call fcn.14000c250
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14007050d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 8
jmp 0x1400703c5
mov ecx, 0x80004005
call fcn.140004c30
int3
or r15, 0xffffffffffffffff
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x140070544
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 0x140070563
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 0x140070582
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 0x1400705a0
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