Function at 0x140011170
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c8
mov qword [rsp + 0x1b0], 0xfffffffffffffffe
mov rdi, rcx
mov dword [rsp + 0x228], 0
call fcn.1400628f8
mov rcx, rax
xor edx, edx
test rax, rax
setne dl
test edx, edx
jne 0x1400111c1
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x158], rax
lea rax, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0xa
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x110], 0
xor ecx, ecx
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x108], rcx
xor r9d, r9d
mov qword [rsp + 0x100], r9
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], 0xa
lea rax, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x48], r8
mov dword [rsp + 0x50], SafeArrayUnaccessData
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], 0xa
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x88], SafeArrayUnaccessData
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], 0xa
mov rax, qword [rdi + 0x40]
mov r15, qword [rax + 0xb0]
or r12, 0xffffffffffffffff
test r15, r15
je 0x14001173e
nop
nop
nop
mov r14, qword [r15 + 0x10]
mov r15, qword [r15]
test r14, r14
je 0x1400116ed
xor r13d, r13d
mov esi, dword [r14 + 8]
mov dword [rsp + 0x188], esi
mov edi, esi
shr edi, 4
xor edx, edx
mov eax, edi
div dword [rsp + 0x50]
test r8, r8
je 0x14001135f
mov rcx, qword [r8 + rdx*8]
test rcx, rcx
je 0x14001135f
nop
nop
cmp dword [rcx + 0x10], edi
jne 0x140011350
xor eax, eax
cmp dword [rcx], esi
sete al
test eax, eax
jne 0x14001135b
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14001135f
jmp 0x140011340
mov r13d, dword [rcx + 4]
mov rbp, qword [r14]
mov rax, qword [rsp + 0x210]
mov rdi, qword [rax + 0x40]
xor esi, esi
lea rdx, [rdi + 0x190]
xor r8d, r8d
lea rcx, [rsp + 0x198]
call fcn.1400719a4
nop
or edx, 0xffffffff
lea rcx, [rsp + 0x198]
call fcn.14007194c
mov rdi, qword [rdi + 0x128]
test rdi, rdi
je 0x14001144b
nop
nop
mov rsi, rdi
test rdi, rdi
je 0x140011702
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14001143a
lea rdx, [rsp + 0x170]
mov rcx, rsi
call fcn.14003a360
nop
xor ecx, ecx
test rbp, rbp
setne cl
test ecx, ecx
je 0x1400116f7
mov rax, qword [rax]
mov rdx, rbp
sub rdx, rax
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x140011408
add rax, 2
test cx, cx
jne 0x1400113f2
xor eax, eax
jmp 0x14001140d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete bl
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140011436
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x140011444
test rdi, rdi
je 0x14001144b
jmp 0x1400113b0
add dword [rsi + 0x144], 1
lea rcx, [rsp + 0x198]
call fcn.140071968
nop
lea rcx, [rsp + 0x198]
call fcn.140071968
mov edx, dword [rsi + 0x140]
neg edx
sbb r12d, r12d
add r12d, 2
or r12d, r13d
mov ebx, dword [r14 + 8]
mov esi, ebx
shr esi, 4
xor edx, edx
mov eax, esi
mov edi, dword [rsp + 0x50]
div edi
mov r13d, edx
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400114c0
mov rdi, qword [rcx + rdx*8]
test rdi, rdi
je 0x14001150b
cmp dword [rdi + 0x10], esi
jne 0x1400114b5
xor eax, eax
cmp dword [rdi], ebx
sete al
test eax, eax
jne 0x1400115cd
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x14001150b
jmp 0x1400114a1
mov eax, 8
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140062334
mov qword [rsp + 0x48], rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140011720
lea r8, [rdi*8]
xor edx, edx
mov rcx, rax
call fcn.140092640
mov dword [rsp + 0x50], edi
mov rcx, qword [rsp + 0x48]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x14001171a
mov rdi, qword [rsp + 0x60]
test rdi, rdi
jne 0x14001157d
lea r8d, [rdi + 0x18]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rdx, qword [rsp + 0x70]
lea rcx, [rdx + rdx*2]
lea rcx, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x140011578
mov rdi, qword [rsp + 0x60]
nop
nop
nop
nop
mov qword [rcx + 8], rdi
mov rdi, rcx
mov qword [rsp + 0x60], rcx
sub rcx, 0x18
sub rdx, 1
jns 0x140011560
jmp 0x14001157d
mov rdi, qword [rsp + 0x60]
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x140011714
mov rax, qword [rdi + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov qword [rdi + 0x10], rcx
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x60], rcx
add qword [rsp + 0x58], 1
mov dword [rdi], ebx
mov dword [rdi + 0x10], esi
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + r13*8]
mov qword [rdi + 8], rcx
mov rax, qword [rsp + 0x48]
mov qword [rax + r13*8], rdi
mov dword [rdi + 4], r12d
mov edi, dword [r14 + 8]
mov dword [rsp + 0x180], edi
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x140011625
nop
nop
lea rdx, [rcx + 0x10]
test rdx, rdx
je 0x140011708
xor eax, eax
cmp dword [rdx], edi
sete al
test eax, eax
jne 0x140011612
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400115f0
jmp 0x140011625
test rcx, rcx
je 0x140011625
mov r8, qword [rsp + 0x48]
or r12, 0xffffffffffffffff
jmp 0x1400116ed
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
jne 0x140011694
lea r8d, [rcx + 0x18]
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0xe8]
call fcn.140063754
mov rdx, qword [rsp + 0xf0]
lea rcx, [rdx + rdx*2]
lea rax, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x14001168c
mov rcx, qword [rsp + 0xe0]
mov qword [rax], rcx
mov rcx, rax
mov qword [rsp + 0xe0], rax
sub rax, 0x18
sub rdx, 1
jns 0x140011672
jmp 0x140011694
mov rcx, qword [rsp + 0xe0]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x14001170e
mov rax, qword [rcx]
mov qword [rsp + 0xe0], rax
mov qword [rcx + 8], rsi
mov qword [rcx], 0
add qword [rsp + 0xd8], 1
mov dword [rcx + 0x10], edi
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1400116d4
mov qword [rax], rcx
jmp 0x1400116dc
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rcx
mov r8, qword [rsp + 0x48]
or r12, 0xffffffffffffffff
test r15, r15
je 0x140011726
jmp 0x140011300
mov ecx, 0x80004005
call fcn.140001950
nop
call fcn.140062484
nop
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
int3
mov rcx, qword [rsp + 0x118]
mov r9, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x210]
mov r12, qword [rdi + 0x10]
test r12, r12
je 0x140011a22
nop
nop
mov rbx, qword [r12 + 0x10]
mov r12, qword [r12]
test rbx, rbx
je 0x1400119f2
mov esi, dword [rbx]
mov dword [rsp + 0x190], esi
mov rdx, r9
test r9, r9
je 0x14001179e
lea rdi, [rdx + 0x10]
test rdi, rdi
je 0x1400119fc
xor eax, eax
cmp dword [rdi], esi
sete al
test eax, eax
jne 0x140011795
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140011773
jmp 0x14001179e
test rdx, rdx
jne 0x1400119f2
mov rdi, qword [rsp + 0x108]
test rcx, rcx
jne 0x140011812
lea r8d, [rcx + 0x18]
mov rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x120]
call fcn.140063754
mov rdx, qword [rsp + 0x128]
lea rcx, [rdx + rdx*2]
lea rax, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x14001180a
mov rcx, qword [rsp + 0x118]
nop
nop
nop
nop
mov qword [rax], rcx
mov rcx, rax
mov qword [rsp + 0x118], rax
sub rax, 0x18
sub rdx, 1
jns 0x1400117f0
jmp 0x140011812
mov rcx, qword [rsp + 0x118]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x140011a14
mov rax, qword [rcx]
mov qword [rsp + 0x118], rax
mov qword [rcx + 8], rdi
mov qword [rcx], 0
add qword [rsp + 0x110], 1
mov dword [rcx + 0x10], esi
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x140011856
mov qword [rax], rcx
jmp 0x14001185e
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rcx
mov r14d, dword [rbx + 4]
mov ebx, dword [rbx]
mov esi, ebx
shr esi, 4
xor edx, edx
mov eax, esi
mov edi, dword [rsp + 0x88]
div edi
mov r13d, edx
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400118b6
mov rdi, qword [rcx + rdx*8]
test rdi, rdi
je 0x14001190a
cmp dword [rdi + 0x10], esi
jne 0x1400118ab
xor eax, eax
cmp dword [rdi], ebx
sete al
test eax, eax
jne 0x1400119de
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x14001190a
jmp 0x140011897
mov eax, 8
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140062334
mov qword [rsp + 0x80], rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140011a0e
lea r8, [rdi*8]
xor edx, edx
mov rcx, rax
call fcn.140092640
mov dword [rsp + 0x88], edi
mov rcx, qword [rsp + 0x80]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x140011a08
mov rdi, qword [rsp + 0x98]
test rdi, rdi
jne 0x140011983
lea r8d, [rdi + 0x18]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0xa0]
call fcn.140063754
mov rdx, qword [rsp + 0xa8]
lea rcx, [rdx + rdx*2]
lea rcx, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x14001197b
mov rdi, qword [rsp + 0x98]
nop
mov qword [rcx + 8], rdi
mov rdi, rcx
mov qword [rsp + 0x98], rcx
sub rcx, 0x18
sub rdx, 1
jns 0x140011960
jmp 0x140011983
mov rdi, qword [rsp + 0x98]
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x140011a02
mov rax, qword [rdi + 8]
xor ecx, ecx
mov qword [rdi], rcx
mov qword [rdi + 0x10], rcx
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x98], rcx
add qword [rsp + 0x90], 1
mov dword [rdi], ebx
mov dword [rdi + 0x10], esi
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + r13*8]
mov qword [rdi + 8], rcx
mov rax, qword [rsp + 0x80]
mov qword [rax + r13*8], rdi
mov dword [rdi + 4], r14d
mov rcx, qword [rsp + 0x118]
mov r9, qword [rsp + 0x100]
test r12, r12
je 0x140011a1a
jmp 0x140011750
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
int3
mov rdi, qword [rsp + 0x210]
call fcn.1400628f8
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140011a41
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0xb0], rax
mov r14, qword [rdi + 0x10]
mov ebx, 1
test r14, r14
je 0x140011f1c
nop
nop
mov r12, r14
mov r13, qword [r14 + 0x10]
mov r14, qword [r14]
test r13, r13
je 0x140011ef0
mov edi, dword [r13]
mov dword [rsp + 0x178], edi
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x140011acb
nop
nop
lea rdx, [rcx + 0x10]
test rdx, rdx
je 0x140011eff
xor eax, eax
cmp dword [rdx], edi
sete al
test eax, eax
jne 0x140011ac2
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140011aa0
jmp 0x140011acb
test rcx, rcx
jne 0x140011ee8
xor eax, eax
lea rdi, str.MecApoComRunnerx86.exe
mov rsi, qword [r13 + 8]
mov ecx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
repe cmpsw word [rsi], word [rdi]
je 0x140011ae7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140011b23
cmp dword [0x1400fb360], 0
je 0x140011b23
mov rdx, qword [r13 + 0x18]
mov rax, qword [rsp + 0x210]
mov rcx, qword [rax + 0x40]
call fcn.1400353f0
mov r9d, ebx
xor r8d, r8d
lea rdx, [0x1400c17c0]
mov rcx, rax
call fcn.140004040
xor ebp, ebp
mov rdx, qword [r13 + 8]
xor eax, eax
lea rdi, str.Skype.exe
mov rsi, rdx
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
je 0x140011b44
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011b95
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rdx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140011b68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011b95
xor eax, eax
lea rdi, str.lync.exe
mov rsi, rdx
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140011b8c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140011b97
mov ebp, ebx
mov rdx, qword [r13 + 0x18]
lea rdi, [rdx - 0x18]
mov rsi, qword [rsp + 0xb0]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140011c69
cmp dword [rsi + 0x10], 0
jl 0x140011c52
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140011c52
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140011be8
cmp rax, qword [rdi]
jne 0x140011be8
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140011c25
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140011f05
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14008e450
or r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rsi + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140011c44
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0xb0], rax
jmp 0x140011c6d
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xb0]
call fcn.140001bd0
or r15, 0xffffffffffffffff
jmp 0x140011c6d
or r15, 0xffffffffffffffff
mov rdi, qword [rsp + 0x210]
lea rcx, [rdi + 8]
mov rdx, r12
call fcn.140062e90
test ebp, ebp
je 0x140011ef0
xor ebx, ebx
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x140011d7b
nop
nop
mov r9, rdx
test rdx, rdx
je 0x140011f0b
mov rdx, qword [rdx]
mov r9, qword [r9 + 0x10]
test r9, r9
je 0x140011d51
mov r8, qword [r9 + 8]
xor eax, eax
lea rdi, str.Skype.exe
mov rsi, r8
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
je 0x140011cdb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011d2c
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, r8
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140011cff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011d2c
xor eax, eax
lea rdi, str.lync.exe
mov rsi, r8
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140011d23
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140011d51
xor eax, eax
lea rdi, str.Voice
mov rsi, qword [r9 + 0x10]
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140011d48
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011d5b
test rdx, rdx
je 0x140011d6c
jmp 0x140011ca0
mov esi, 1
mov ebx, esi
mov rdi, qword [rsp + 0x210]
jmp 0x140011d80
mov rdi, qword [rsp + 0x210]
mov esi, 1
jmp 0x140011d80
mov esi, 1
cmp dword [0x1400fb35c], 0
je 0x140011e7e
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x148]
mov rcx, qword [rdi + 0x40]
call fcn.1400356c0
nop
mov qword [rsp + 0x130], 0
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c2590]
mov r8d, esi
xor edx, edx
lea rcx, [0x1400c2580]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x140011e5a
mov rax, qword [rcx]
movzx r8d, bx
mov rdx, qword [rsp + 0x148]
call qword [rax + 0x38]
test ebx, ebx
jne 0x140011e4b
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140011e39
mov rax, rdi
test rdi, rdi
je 0x140011f11
mov rdi, qword [rdi]
cmp qword [rax + 0x10], 0
je 0x140011e32
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rsp + 0x148]
call qword [rax + 0x38]
test rdi, rdi
jne 0x140011e03
jmp 0x140011e43
mov rdi, qword [rsp + 0x210]
jmp 0x140011e4b
mov rdi, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x148]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140011e7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r13 + 0x18]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140011e9e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r13 + 0x10]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140011ebe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r13 + 8]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140011ede
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, r13
call fcn.14006233c
jmp 0x140011ef0
mov rdi, qword [rsp + 0x210]
test r14, r14
je 0x140011f17
mov ebx, 1
jmp 0x140011a70
call fcn.140062484
int3
call fcn.140001a80
int3
call fcn.140062484
nop
call fcn.140062484
nop
mov ebx, 1
mov rax, qword [rsp + 0x58]
neg rax
sbb rdx, rdx
jne 0x14001221b
cmp dword [0x1400fb378], 0
je 0x140011f49
mov rcx, qword [0x1400f9e30]
test rcx, rcx
je 0x140011f49
xor edx, edx
call fcn.140046300
cmp dword [0x1400fb35c], 0
je 0x140011ff5
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x168]
mov rcx, qword [rdi + 0x40]
call fcn.1400356c0
nop
mov qword [rsp + 0x140], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c2590]
mov r8d, ebx
xor edx, edx
lea rcx, [0x1400c2580]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x140011fcd
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rsp + 0x168]
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x140]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140011ff9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140011ff9
or rsi, 0xffffffffffffffff
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001201d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rbx, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x78], rbx
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x140012063
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x140012063
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x140012059
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x140012050
add rdx, 8
sub rcx, 1
jne 0x140012047
mov rcx, rdi
call fcn.14006233c
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xa0]
call fcn.14006378c
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x40], rbx
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x1400120e3
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1400120e3
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x1400120d9
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400120d0
add rdx, 8
sub rcx, 1
jne 0x1400120c5
mov rcx, rdi
call fcn.14006233c
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov rcx, qword [rsp + 0x68]
call fcn.14006378c
mov qword [rsp + 0x68], 0
lea rdi, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0xf8], rdi
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x14001213d
mov rax, qword [rax]
test rax, rax
jne 0x140012135
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x100], 0
mov rcx, qword [rsp + 0x120]
call fcn.14006378c
mov qword [rsp + 0x120], 0
mov qword [rsp + 0xc0], rdi
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x1400121a8
nop
nop
mov rax, qword [rax]
test rax, rax
jne 0x1400121a0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc8], 0
mov rcx, qword [rsp + 0xe8]
call fcn.14006378c
mov qword [rsp + 0xe8], 0
mov rdx, qword [rsp + 0x158]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140013262
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140013262
test rdx, rdx
je 0x140013005
lea r15, [0x1400c23b0]
mov r8d, dword [rsp + 0x50]
xor eax, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
setne al
test eax, eax
je 0x140012fff
mov rdi, rdx
mov qword [rsp + 0x218], rdx
cmp rdx, 0xffffffffffffffff
jne 0x14001228c
xor eax, eax
test r8d, r8d
je 0x14001227c
nop
mov rdi, qword [rcx]
mov qword [rsp + 0x218], rdi
test rdi, rdi
jne 0x14001227c
add eax, 1
add rcx, 8
cmp eax, r8d
jb 0x140012260
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x140012f7c
mov rax, qword [rdi + 8]
mov qword [rsp + 0x160], rax
test rax, rax
jne 0x1400122e4
xor edx, edx
mov eax, dword [rdi + 0x10]
div r8d
add edx, 1
movsxd rcx, edx
cmp edx, r8d
jae 0x1400122e4
mov rax, qword [rsp + 0x48]
lea rcx, [rax + rcx*8]
nop
nop
mov rdi, qword [rcx]
mov qword [rsp + 0x160], rdi
test rdi, rdi
jne 0x1400122dc
add edx, 1
add rcx, 8
cmp edx, r8d
jb 0x1400122c0
mov rdi, qword [rsp + 0x218]
mov r13d, dword [rdi]
mov dword [rsp + 0x218], r13d
mov r9d, dword [rdi + 4]
mov dword [rsp + 0x220], r9d
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14001244f
nop
lea rdx, [rcx + 0x10]
test rdx, rdx
je 0x140012f88
xor eax, eax
cmp dword [rdx], r13d
sete al
test eax, eax
jne 0x14001233e
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140012310
mov r14, qword [rsp + 0x210]
jmp 0x140012461
test rcx, rcx
je 0x140012459
xor esi, esi
mov edi, r13d
shr edi, 4
xor edx, edx
mov eax, edi
div dword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14001238f
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14001238f
cmp dword [rcx + 0x10], edi
jne 0x140012381
xor eax, eax
cmp dword [rcx], r13d
sete al
test eax, eax
jne 0x14001238c
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14001238f
jmp 0x140012370
mov esi, dword [rcx + 4]
cmp esi, r9d
je 0x140012f5f
mov r14, qword [rsp + 0x210]
mov rsi, qword [r14 + 0x10]
test rsi, rsi
je 0x140012461
nop
mov rbx, rsi
mov rdi, rsi
test rsi, rsi
je 0x140012f82
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140012444
cmp r13d, dword [rdi]
jne 0x140012444
mov rdx, qword [rdi + 0x18]
sub rdx, 0x18
or rbp, 0xffffffffffffffff
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x1400123f2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x10]
sub rdx, 0x18
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012411
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 8]
sub rdx, 0x18
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012430
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.14006233c
lea rcx, [r14 + 8]
mov rdx, rbx
call fcn.140062e90
test rsi, rsi
jne 0x1400123b0
jmp 0x140012461
mov r14, qword [rsp + 0x210]
jmp 0x140012461
mov r14, qword [rsp + 0x210]
mov edx, r13d
lea rcx, [rsp + 0xb8]
call fcn.140018580
nop
mov rcx, qword [rsp + 0xb8]
mov edi, dword [rcx - 0x10]
mov dx, 0x5c
call fcn.14008f110
test rax, rax
jne 0x140012494
or r12, 0xffffffffffffffff
mov eax, r12d
jmp 0x1400124a3
sub rax, qword [rsp + 0xb8]
sar rax, 1
or r12, 0xffffffffffffffff
sub edi, eax
lea r8d, [rdi - 1]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xb8]
call fcn.1400106e0
nop
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140012ff4
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
test r15, 0xffffffffffff0000
jne 0x14001251a
movzx edi, r15w
mov ecx, edi
call fcn.140062704
test rax, rax
je 0x14001260b
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140001fe0
mov rbx, qword [rsp + 0x30]
jmp 0x14001260b
xor eax, eax
mov rcx, r12
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14001258b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14001260b
cmp dword [rdx + 0x10], eax
jge 0x14001255c
cmp dword [rbx - 0xc], eax
jl 0x140012f8e
mov dword [rbx - 0x10], eax
mov word [rbx], ax
jmp 0x14001260b
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012574
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
jmp 0x14001260b
mov esi, dword [rbx - 0x10]
mov rbp, r15
sub rbp, rbx
sar rbp, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400125b9
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001970
mov rbx, qword [rsp + 0x30]
cmp rbp, rsi
ja 0x1400125d9
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbx + rbp*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.14008dc70
jmp 0x1400125f1
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, r15
mov rdx, rsi
mov rcx, rbx
call fcn.14008e450
test edi, edi
js 0x140012fe9
cmp edi, dword [rbx - 0xc]
jg 0x140012fe9
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
xor eax, eax
lea rdi, str.ShellExperienceHost.exe
mov rbp, qword [rsp + 0x38]
mov rsi, rbp
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
repe cmpsw word [rsi], word [rdi]
je 0x14001262b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140012ef0
xor eax, eax
lea rdi, str.3DMarkICFDemo.exe
mov rsi, rbp
mov ecx, 0x12
repe cmpsw word [rsi], word [rdi]
je 0x14001264e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140012ef0
mov rax, qword [r14 + 0x40]
mov r15, qword [rax + 0xb0]
test r15, r15
je 0x140012e86
nop
nop
mov rax, r15
test r15, r15
je 0x140012fe3
mov r15, qword [r15]
mov r14, qword [rax + 0x10]
test r14, r14
je 0x140012e7d
cmp dword [r14 + 8], r13d
jne 0x140012e7d
mov edi, dword [rsp + 0x220]
cmp edi, 1
jne 0x14001270a
mov edx, r13d
mov r13, qword [rsp + 0x210]
mov rcx, r13
call fcn.140013460
cmp eax, edi
mov ecx, 4
cmove edi, ecx
mov dword [rsp + 0x220], edi
lea rdx, str.Movie
cmp eax, 1
lea rax, str.Music
cmove rdx, rax
test rdx, rdx
jne 0x1400126e4
xor ecx, ecx
jmp 0x1400126f6
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x30]
call fcn.140001bd0
mov rbx, qword [rsp + 0x30]
jmp 0x14001274d
cmp edi, 3
jne 0x140012745
xor eax, eax
mov rcx, r12
lea rdi, str.Voice
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Voice
lea rcx, [rsp + 0x30]
call fcn.140001bd0
mov rbx, qword [rsp + 0x30]
mov r13, qword [rsp + 0x210]
jmp 0x14001274d
mov r13, qword [rsp + 0x210]
mov rsi, qword [r13 + 0x10]
test rsi, rsi
je 0x140012842
nop
nop
mov rbx, rsi
mov rax, rsi
test rsi, rsi
je 0x140012fa4
mov rsi, qword [rsi]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x14001282f
mov rdx, qword [r14]
xor eax, eax
test rdx, rdx
setne al
test eax, eax
je 0x140012f99
mov r8, qword [rdi + 0x18]
mov rax, r8
sub rdx, r8
nop
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x1400127b6
add rax, 2
test cx, cx
jne 0x1400127a0
xor eax, eax
jmp 0x1400127bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14001282f
lea rdx, [r8 - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400127db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x10]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400127fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 8]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001281b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.14006233c
lea rcx, [r13 + 8]
mov rdx, rbx
call fcn.140062e90
test rsi, rsi
jne 0x140012760
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov ecx, 0x20
call fcn.1400622f0
mov r13, rax
test rax, rax
je 0x1400128c8
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140012fc0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [r13 + 8], rax
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140012fb5
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [r13 + 0x10], rax
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140012faa
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [r13 + 0x18], rax
jmp 0x1400128cb
xor r13d, r13d
mov eax, dword [rsp + 0x218]
mov dword [r13], eax
lea rdi, [rbp - 0x18]
mov rsi, qword [r13 + 8]
sub rsi, 0x18
cmp rdi, rsi
je 0x14001299b
cmp dword [rsi + 0x10], 0
jl 0x14001298b
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x14001298b
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x14001291f
cmp rax, qword [rdi]
jne 0x14001291f
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x14001295c
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140012fcb
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14008e450
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012977
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [r13 + 8], rax
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
jmp 0x14001299b
mov r8d, dword [rbp - 0x10]
mov rdx, rbp
lea rcx, [r13 + 8]
call fcn.140001bd0
lea rdi, [rbx - 0x18]
mov rsi, qword [r13 + 0x10]
sub rsi, 0x18
cmp rdi, rsi
je 0x140012a60
cmp dword [rsi + 0x10], 0
jl 0x140012a50
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140012a50
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x1400129e4
cmp rax, qword [rdi]
jne 0x1400129e4
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140012a21
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140012fd1
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14008e450
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012a3c
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [r13 + 0x10], rax
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
jmp 0x140012a60
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [r13 + 0x10]
call fcn.140001bd0
mov rdx, qword [r14]
lea rdi, [rdx - 0x18]
mov rsi, qword [r13 + 0x18]
sub rsi, 0x18
cmp rdi, rsi
je 0x140012b25
cmp dword [rsi + 0x10], 0
jl 0x140012b18
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140012b18
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140012aac
cmp rax, qword [rdi]
jne 0x140012aac
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140012ae9
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140012fd7
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14008e450
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012b04
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [r13 + 0x18], rax
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
jmp 0x140012b25
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0x18]
call fcn.140001bd0
mov r14, qword [rsp + 0x210]
lea rcx, [r14 + 8]
mov rdx, r13
call fcn.140063030
xor r11d, r11d
lea rdi, str.MecApoComRunnerx86.exe
mov rsi, rbp
mov ecx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
repe cmpsw word [rsi], word [rdi]
je 0x140012b57
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
sete al
test al, al
je 0x140012b9c
cmp dword [0x1400fb360], 0
je 0x140012b94
mov rdx, qword [r13 + 0x18]
mov rcx, qword [r14 + 0x40]
call fcn.1400353f0
mov r13d, 1
mov r9d, r13d
mov r8d, r13d
lea rdx, [0x1400c17c0]
mov rcx, rax
call fcn.140004040
jmp 0x140012ba2
mov r13d, 1
jmp 0x140012ba2
mov r13d, 1
cmp dword [0x1400fb378], 0
je 0x140012c21
xor edx, edx
lea rdi, str.SpeechRuntime.exe
mov rsi, rbp
mov ecx, 0x12
repe cmpsw word [rsi], word [rdi]
je 0x140012bc6
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete al
test al, al
jne 0x140012c21
xor eax, eax
lea rdi, str.SearchUI.exe
mov rsi, rbp
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012bea
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012c21
test edx, edx
sete al
test al, al
jne 0x140012c21
mov r9d, dword [rsp + 0x220]
cmp r9d, 3
jne 0x140012c14
add dword [rsp + 0x228], 1
jmp 0x140012c21
lea rcx, str._ZZ__non_recorder__do_nothing_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
lea rdi, str.Skype.exe
mov rsi, rbp
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
je 0x140012c3c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012c91
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rbp
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012c60
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012c91
xor eax, eax
lea rdi, str.lync.exe
mov rsi, rbp
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140012c84
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140012e63
xor eax, eax
lea rdi, str.Voice
mov rsi, rbx
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140012cac
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
xor r12d, r12d
test al, al
cmovne r12d, r13d
mov r9, qword [r14 + 0x10]
test r9, r9
je 0x140012d8e
nop
nop
nop
mov rax, r9
test r9, r9
je 0x140012fdd
mov r9, qword [r9]
mov r8, qword [rax + 0x10]
test r8, r8
je 0x140012d81
mov rdx, qword [r8 + 8]
xor eax, eax
lea rdi, str.Skype.exe
mov rsi, rdx
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
je 0x140012d0b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012d5c
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rdx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012d2f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012d5c
xor eax, eax
lea rdi, str.lync.exe
mov rsi, rdx
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140012d53
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140012d81
xor eax, eax
lea rdi, str.Voice
mov rsi, qword [r8 + 0x10]
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140012d78
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012d8b
test r9, r9
je 0x140012d8e
jmp 0x140012cd0
mov r12d, r13d
cmp dword [0x1400fb35c], 0
je 0x140012e71
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x150]
mov rcx, qword [r14 + 0x40]
call fcn.1400356c0
nop
mov qword [rsp + 0x138], 0
lea rax, [rsp + 0x138]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c2590]
mov r8d, r13d
xor edx, edx
lea rcx, [0x1400c2580]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x140012e13
mov rax, qword [rcx]
movzx r8d, r12w
mov rdx, qword [rsp + 0x150]
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x138]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x150]
add rdx, 0xffffffffffffffe8
or r12, 0xffffffffffffffff
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140012e4f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x218]
jmp 0x140012e7d
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x218]
jmp 0x140012e7d
or r12, 0xffffffffffffffff
mov r13d, dword [rsp + 0x218]
jmp 0x140012e7d
or r12, 0xffffffffffffffff
mov r13d, dword [rsp + 0x218]
test r15, r15
jne 0x140012670
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012ea3
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012ec5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012f5a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rsp + 0x50]
jmp 0x140012f5f
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012f0d
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012f2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012f5a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rsp + 0x50]
jmp 0x140012f5f
mov r8d, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x140013005
lea r15, [0x1400c23b0]
jmp 0x140012230
call fcn.140062484
int3
call fcn.140062484
int3
call fcn.140062484
nop
mov ecx, 0x80070057
call fcn.140001950
nop
mov ecx, 0x80004005
call fcn.140001950
int3
call fcn.140062484
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
call fcn.140001a80
int3
call fcn.140001a80
int3
call fcn.140001a80
int3
call fcn.140062484
int3
call fcn.140062484
nop
mov ecx, 0x80070057
call fcn.140001950
nop
mov ecx, 0x80004005
call fcn.140001950
nop
call fcn.140062484
int3
cmp dword [0x1400fb378], 0
je 0x140013044
cmp dword [rsp + 0x228], 0
jle 0x140013030
mov rcx, qword [0x1400f9e30]
test rcx, rcx
je 0x140013044
mov edx, 1
call fcn.140046300
jmp 0x140013044
mov rcx, qword [0x1400f9e30]
test rcx, rcx
je 0x140013044
xor edx, edx
call fcn.140046300
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14001306b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rbx, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x78], rbx
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x1400130b3
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x1400130b3
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x1400130a9
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400130a0
add rdx, 8
sub rcx, 1
jne 0x140013095
mov rcx, rdi
call fcn.14006233c
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xa0]
call fcn.14006378c
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x40], rbx
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x140013133
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x140013133
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x140013129
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x140013120
add rdx, 8
sub rcx, 1
jne 0x140013115
mov rcx, rdi
call fcn.14006233c
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov rcx, qword [rsp + 0x68]
call fcn.14006378c
mov qword [rsp + 0x68], 0
lea rdi, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0xf8], rdi
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x14001318d
mov rax, qword [rax]
test rax, rax
jne 0x140013185
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x100], 0
mov rcx, qword [rsp + 0x120]
call fcn.14006378c
mov qword [rsp + 0x120], 0
mov qword [rsp + 0xc0], rdi
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x1400131f8
nop
nop
mov rax, qword [rax]
test rax, rax
jne 0x1400131f0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc8], 0
mov rcx, qword [rsp + 0xe8]
call fcn.14006378c
mov qword [rsp + 0xe8], 0
mov rdx, qword [rsp + 0x158]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140013262
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0x1c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret