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 + 0x1b8], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rsp + 0x228], 0
xor ebx, ebx
mov dword [rsp + 0x218], ebx
call fcn.140063708
mov rcx, rax
xor edx, edx
test rax, rax
setne dl
test edx, edx
jne 0x1400111ca
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x170], rax
lea rax, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0xa
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x118], 0
xor ecx, ecx
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x110], rcx
xor r9d, r9d
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], 0xa
lea rax, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x48], rax
xor r8d, r8d
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x58], SafeArrayUnaccessData
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], 0xa
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r8
mov dword [rsp + 0x90], SafeArrayUnaccessData
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], 0xa
mov rax, qword [rsi + 0x40]
mov r15, qword [rax + 0xb0]
or r12, 0xffffffffffffffff
test r15, r15
je 0x140011783
nop
nop
nop
nop
mov r13, qword [r15 + 0x10]
mov r15, qword [r15]
test r13, r13
je 0x140011732
xor r14d, r14d
mov esi, dword [r13 + 8]
mov dword [rsp + 0x198], esi
mov edi, esi
shr edi, 4
xor edx, edx
mov eax, edi
div dword [rsp + 0x58]
test r8, r8
je 0x14001136f
mov rcx, qword [r8 + rdx*8]
test rcx, rcx
je 0x14001136f
nop
nop
cmp dword [rcx + 0x10], edi
jne 0x140011360
xor eax, eax
cmp dword [rcx], esi
sete al
test eax, eax
jne 0x14001136b
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14001136f
jmp 0x140011350
mov r14d, dword [rcx + 4]
mov rbp, qword [r13]
mov rax, qword [rsp + 0x210]
mov rdi, qword [rax + 0x40]
xor esi, esi
lea rdx, [rdi + 0x190]
xor r8d, r8d
lea rcx, [rsp + 0x1a0]
call fcn.1400727a8
nop
or edx, 0xffffffff
lea rcx, [rsp + 0x1a0]
call fcn.140072750
mov rdi, qword [rdi + 0x128]
test rdi, rdi
je 0x14001146b
nop
nop
mov rsi, rdi
test rdi, rdi
je 0x140011747
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14001144a
lea rdx, [rsp + 0x178]
mov rcx, rsi
call fcn.14003a580
nop
xor ecx, ecx
test rbp, rbp
setne cl
test ecx, ecx
je 0x14001173c
mov rax, qword [rax]
mov rdx, rbp
sub rdx, rax
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x140011418
add rax, 2
test cx, cx
jne 0x140011402
xor eax, eax
jmp 0x14001141d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete bl
mov rdx, qword [rsp + 0x178]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140011446
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x140011454
test rdi, rdi
je 0x140011464
jmp 0x1400113c0
add dword [rsi + 0x144], 1
mov ebx, dword [rsp + 0x218]
jmp 0x14001146b
mov ebx, dword [rsp + 0x218]
lea rcx, [rsp + 0x1a0]
call fcn.14007276c
nop
lea rcx, [rsp + 0x1a0]
call fcn.14007276c
mov edx, dword [rsi + 0x140]
mov eax, edx
neg eax
sbb ecx, ecx
add ecx, 2
or r14d, ecx
cmp dword [0x1400fd394], 0
je 0x1400114af
test edx, edx
jne 0x1400114af
add ebx, 1
mov dword [rsp + 0x218], ebx
mov ebx, dword [r13 + 8]
mov esi, ebx
shr esi, 4
xor edx, edx
mov eax, esi
mov edi, dword [rsp + 0x58]
div edi
mov r12d, edx
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400114f7
mov rdi, qword [rcx + rdx*8]
test rdi, rdi
je 0x140011542
cmp dword [rdi + 0x10], esi
jne 0x1400114ec
xor eax, eax
cmp dword [rdi], ebx
sete al
test eax, eax
jne 0x1400115fd
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x140011542
jmp 0x1400114d8
mov eax, 8
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140063144
mov qword [rsp + 0x50], rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140011765
lea r8, [rdi*8]
xor edx, edx
mov rcx, rax
call fcn.1400935f0
mov dword [rsp + 0x58], edi
mov rcx, qword [rsp + 0x50]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x14001175f
mov rdi, qword [rsp + 0x68]
test rdi, rdi
jne 0x1400115ad
lea r8d, [rdi + 0x18]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.14006455c
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rdx*2]
lea rcx, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x1400115a8
mov rdi, qword [rsp + 0x68]
nop
nop
mov qword [rcx + 8], rdi
mov rdi, rcx
mov qword [rsp + 0x68], rcx
sub rcx, 0x18
sub rdx, 1
jns 0x140011590
jmp 0x1400115ad
mov rdi, qword [rsp + 0x68]
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x140011759
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 + 0x68]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x68], rcx
add qword [rsp + 0x60], 1
mov dword [rdi], ebx
mov dword [rdi + 0x10], esi
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + r12*8]
mov qword [rdi + 8], rcx
mov rax, qword [rsp + 0x50]
mov qword [rax + r12*8], rdi
mov dword [rdi + 4], r14d
mov edi, dword [r13 + 8]
mov dword [rsp + 0x190], edi
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14001165c
nop
nop
lea rdx, [rcx + 0x10]
test rdx, rdx
je 0x14001174d
xor eax, eax
cmp dword [rdx], edi
sete al
test eax, eax
jne 0x140011642
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140011620
jmp 0x14001165c
test rcx, rcx
je 0x14001165c
mov r8, qword [rsp + 0x50]
or r12, 0xffffffffffffffff
mov ebx, dword [rsp + 0x218]
jmp 0x140011732
mov rsi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
jne 0x1400116d2
lea r8d, [rcx + 0x18]
mov rdx, qword [rsp + 0xf8]
lea rcx, [rsp + 0xf0]
call fcn.14006455c
mov rdx, qword [rsp + 0xf8]
lea rcx, [rdx + rdx*2]
lea rax, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x1400116ca
mov rcx, qword [rsp + 0xe8]
nop
nop
mov qword [rax], rcx
mov rcx, rax
mov qword [rsp + 0xe8], rax
sub rax, 0x18
sub rdx, 1
jns 0x1400116b0
jmp 0x1400116d2
mov rcx, qword [rsp + 0xe8]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x140011753
mov rax, qword [rcx]
mov qword [rsp + 0xe8], rax
mov qword [rcx + 8], rsi
mov qword [rcx], 0
add qword [rsp + 0xe0], 1
mov dword [rcx + 0x10], edi
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x140011712
mov qword [rax], rcx
jmp 0x14001171a
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rcx
mov r8, qword [rsp + 0x50]
or r12, 0xffffffffffffffff
mov ebx, dword [rsp + 0x218]
test r15, r15
je 0x14001176b
jmp 0x140011310
mov ecx, 0x80004005
call fcn.140001950
nop
call fcn.140063294
nop
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
int3
mov rcx, qword [rsp + 0x120]
mov r9, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x210]
mov r13, qword [rsi + 0x10]
test r13, r13
je 0x140011a62
mov rbx, qword [r13 + 0x10]
mov r13, qword [r13]
test rbx, rbx
je 0x140011a32
mov esi, dword [rbx]
mov dword [rsp + 0x180], esi
mov rdx, r9
test r9, r9
je 0x1400117dd
lea rdi, [rdx + 0x10]
test rdi, rdi
je 0x140011a3c
xor eax, eax
cmp dword [rdi], esi
sete al
test eax, eax
jne 0x1400117d4
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400117b2
jmp 0x1400117dd
test rdx, rdx
jne 0x140011a32
mov rdi, qword [rsp + 0x110]
test rcx, rcx
jne 0x140011844
lea r8d, [rcx + 0x18]
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x128]
call fcn.14006455c
mov rdx, qword [rsp + 0x130]
lea rcx, [rdx + rdx*2]
lea rax, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x14001183c
mov rcx, qword [rsp + 0x120]
mov qword [rax], rcx
mov rcx, rax
mov qword [rsp + 0x120], rax
sub rax, 0x18
sub rdx, 1
jns 0x140011822
jmp 0x140011844
mov rcx, qword [rsp + 0x120]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x140011a54
mov rax, qword [rcx]
mov qword [rsp + 0x120], rax
mov qword [rcx + 8], rdi
mov qword [rcx], 0
add qword [rsp + 0x118], 1
mov dword [rcx + 0x10], esi
mov rax, qword [rsp + 0x110]
test rax, rax
je 0x140011888
mov qword [rax], rcx
jmp 0x140011890
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], 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 + 0x90]
div edi
mov r12d, edx
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x1400118ef
mov rdi, qword [rcx + rdx*8]
test rdi, rdi
je 0x140011943
nop
nop
cmp dword [rdi + 0x10], esi
jne 0x1400118e4
xor eax, eax
cmp dword [rdi], ebx
sete al
test eax, eax
jne 0x140011a1e
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x140011943
jmp 0x1400118d0
mov eax, 8
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140063144
mov qword [rsp + 0x88], rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140011a4e
lea r8, [rdi*8]
xor edx, edx
mov rcx, rax
call fcn.1400935f0
mov dword [rsp + 0x90], edi
mov rcx, qword [rsp + 0x88]
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x140011a48
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
jne 0x1400119c3
lea r8d, [rdi + 0x18]
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0xa8]
call fcn.14006455c
mov rdx, qword [rsp + 0xb0]
lea rcx, [rdx + rdx*2]
lea rcx, [rax + rcx*8 - 0x10]
add rdx, 0xffffffffffffffff
js 0x1400119bb
mov rdi, qword [rsp + 0xa0]
nop
nop
mov qword [rcx + 8], rdi
mov rdi, rcx
mov qword [rsp + 0xa0], rcx
sub rcx, 0x18
sub rdx, 1
jns 0x1400119a0
jmp 0x1400119c3
mov rdi, qword [rsp + 0xa0]
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x140011a42
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 + 0xa0]
mov rcx, qword [rax + 8]
mov qword [rsp + 0xa0], rcx
add qword [rsp + 0x98], 1
mov dword [rdi], ebx
mov dword [rdi + 0x10], esi
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + r12*8]
mov qword [rdi + 8], rcx
mov rax, qword [rsp + 0x88]
mov qword [rax + r12*8], rdi
mov dword [rdi + 4], r14d
mov rcx, qword [rsp + 0x120]
mov r9, qword [rsp + 0x108]
test r13, r13
je 0x140011a5a
jmp 0x140011790
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
int3
mov rsi, qword [rsp + 0x210]
call fcn.140063708
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140011a81
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 + 0xb8], rax
mov r14, qword [rsi + 0x10]
mov ebp, 1
test r14, r14
je 0x140011f3b
nop
nop
mov r12, r14
mov r13, qword [r14 + 0x10]
mov r14, qword [r14]
test r13, r13
je 0x140011f19
mov edi, dword [r13]
mov dword [rsp + 0x188], edi
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x140011b0b
nop
nop
lea rdx, [rcx + 0x10]
test rdx, rdx
je 0x140011f23
xor eax, eax
cmp dword [rdx], edi
sete al
test eax, eax
jne 0x140011b02
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140011ae0
jmp 0x140011b0b
test rcx, rcx
jne 0x140011f19
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 0x140011b27
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140011b63
cmp dword [0x1400fd380], 0
je 0x140011b63
mov rdx, qword [r13 + 0x18]
mov rax, qword [rsp + 0x210]
mov rcx, qword [rax + 0x40]
call fcn.1400355f0
mov r9d, ebp
xor r8d, r8d
lea rdx, [0x1400c27c0]
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 0x140011b84
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011bd5
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rdx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140011ba8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011bd5
xor eax, eax
lea rdi, str.lync.exe
mov rsi, rdx
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140011bcc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140011bda
mov ebp, 1
mov rdx, qword [r13 + 0x18]
lea rdi, [rdx - 0x18]
mov rsi, qword [rsp + 0xb8]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140011cac
cmp dword [rsi + 0x10], 0
jl 0x140011c95
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140011c95
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140011c2b
cmp rax, qword [rdi]
jne 0x140011c2b
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140011c68
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140011f29
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.14008f260
or r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rsi + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140011c87
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 + 0xb8], rax
jmp 0x140011cb0
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xb8]
call fcn.140001bd0
or r15, 0xffffffffffffffff
jmp 0x140011cb0
or r15, 0xffffffffffffffff
mov rsi, qword [rsp + 0x210]
lea rcx, [rsi + 8]
mov rdx, r12
call fcn.140063ca0
test ebp, ebp
je 0x140011f14
xor ebx, ebx
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x140011dbb
nop
nop
mov r9, rdx
test rdx, rdx
je 0x140011f2f
mov rdx, qword [rdx]
mov r9, qword [r9 + 0x10]
test r9, r9
je 0x140011d91
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 0x140011d1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011d6c
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, r8
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140011d3f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011d6c
xor eax, eax
lea rdi, str.lync.exe
mov rsi, r8
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140011d63
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140011d91
xor eax, eax
lea rdi, str.Voice
mov rsi, qword [r9 + 0x10]
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140011d88
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140011d9b
test rdx, rdx
je 0x140011dac
jmp 0x140011ce0
mov ebp, 1
mov ebx, ebp
mov rsi, qword [rsp + 0x210]
jmp 0x140011dc0
mov rsi, qword [rsp + 0x210]
mov ebp, 1
jmp 0x140011dc0
mov ebp, 1
cmp dword [0x1400fd37c], 0
je 0x140011eaa
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x148]
mov rcx, qword [rsi + 0x40]
call fcn.1400358c0
nop
mov qword [rsp + 0x138], 0
lea rax, [rsp + 0x138]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c3590]
mov r8d, ebp
xor edx, edx
lea rcx, [0x1400c3580]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x140011e86
mov rax, qword [rcx]
movzx r8d, bx
mov rdx, qword [rsp + 0x148]
call qword [rax + 0x38]
test ebx, ebx
jne 0x140011e77
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140011e77
mov rax, rdi
test rdi, rdi
je 0x140011f35
mov rdi, qword [rdi]
cmp qword [rax + 0x10], 0
je 0x140011e72
mov rcx, qword [rsp + 0x138]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rsp + 0x148]
call qword [rax + 0x38]
test rdi, rdi
jne 0x140011e43
mov rcx, qword [rsp + 0x138]
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 0x140011eaa
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 0x140011eca
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 0x140011eea
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 0x140011f0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, r13
call fcn.14006314c
jmp 0x140011f19
mov ebp, 1
test r14, r14
je 0x140011f3b
jmp 0x140011ab0
call fcn.140063294
int3
call fcn.140001a80
int3
call fcn.140063294
nop
call fcn.140063294
nop
mov rax, qword [rsp + 0x60]
neg rax
sbb rdx, rdx
jne 0x1400122fb
cmp dword [0x1400fd398], 0
je 0x140011f6b
mov rdi, qword [0x1400fbe50]
test rdi, rdi
je 0x140011f6b
xor edx, edx
mov rcx, rdi
call fcn.140046460
cmp dword [0x1400fd37c], 0
je 0x140012017
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x158]
mov rcx, qword [rsi + 0x40]
call fcn.1400358c0
nop
mov qword [rsp + 0x140], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c3590]
mov r8d, ebp
xor edx, edx
lea rcx, [0x1400c3580]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x140011fef
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rsp + 0x158]
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 + 0x158]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14001201b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14001201b
or rbx, 0xffffffffffffffff
cmp dword [0x1400fd394], 0
je 0x1400120d1
mov rax, qword [rsi + 0x48]
test byte [rax + 0x3e], 1
je 0x1400120d1
mov rdi, qword [0x1400fbe50]
cmp dword [0x1400fd600], 0
je 0x1400120d1
mov dword [0x1400fd600], 0
lea rcx, [rdi + 0x868]
mov r8d, ebp
xor edx, edx
call fcn.140035e70
mov dword [rsp + 0x44], 0
lea rdx, [rsp + 0x44]
mov rcx, rdi
call fcn.140047480
xor esi, esi
nop
mov edx, dword [rdi + 0x122c]
mov rcx, rdi
call fcn.140047090
lea rdx, [rsp + 0x44]
mov rcx, rdi
call fcn.140047480
mov eax, dword [rdi + 0x122c]
cmp dword [rsp + 0x44], eax
je 0x1400120ba
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add esi, 1
cmp esi, 0xa
jl 0x140012080
cmp dword [0x1400fd394], 0
jne 0x1400120d1
mov edx, 2
mov rcx, rdi
call fcn.140048440
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400120f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rbp, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x80], rbp
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x140012143
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x140012143
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x140012139
nop
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x140012130
add rdx, 8
sub rcx, 1
jne 0x140012122
mov rcx, rdi
call fcn.14006314c
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0xa8]
call fcn.140064594
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0x48], rbp
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1400121c3
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1400121c3
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x1400121b9
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400121b0
add rdx, 8
sub rcx, 1
jne 0x1400121a5
mov rcx, rdi
call fcn.14006314c
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x70]
call fcn.140064594
mov qword [rsp + 0x70], 0
lea rdi, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x100], rdi
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14001221d
mov rax, qword [rax]
test rax, rax
jne 0x140012215
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x108], 0
mov rcx, qword [rsp + 0x128]
call fcn.140064594
mov qword [rsp + 0x128], 0
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x140012288
nop
nop
mov rax, qword [rax]
test rax, rax
jne 0x140012280
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], 0
mov rcx, qword [rsp + 0xf0]
call fcn.140064594
mov qword [rsp + 0xf0], 0
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x140013412
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140013412
test rdx, rdx
je 0x140013145
lea r15, [0x1400c33b0]
mov r8d, dword [rsp + 0x58]
xor eax, eax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
setne al
test eax, eax
je 0x14001313f
mov rdi, rdx
mov qword [rsp + 0x220], rdx
cmp rdx, 0xffffffffffffffff
jne 0x14001236c
xor eax, eax
test r8d, r8d
je 0x14001235c
nop
mov rdi, qword [rcx]
mov qword [rsp + 0x220], rdi
test rdi, rdi
jne 0x14001235c
add eax, 1
add rcx, 8
cmp eax, r8d
jb 0x140012340
xor eax, eax
test rdi, rdi
setne al
test eax, eax
je 0x1400130bc
mov rax, qword [rdi + 8]
mov qword [rsp + 0x160], rax
test rax, rax
jne 0x1400123c4
xor edx, edx
mov eax, dword [rdi + 0x10]
div r8d
add edx, 1
movsxd rcx, edx
cmp edx, r8d
jae 0x1400123c4
mov rax, qword [rsp + 0x50]
lea rcx, [rax + rcx*8]
nop
nop
mov rdi, qword [rcx]
mov qword [rsp + 0x160], rdi
test rdi, rdi
jne 0x1400123bc
add edx, 1
add rcx, 8
cmp edx, r8d
jb 0x1400123a0
mov rdi, qword [rsp + 0x220]
mov r13d, dword [rdi]
mov dword [rsp + 0x220], r13d
mov r9d, dword [rdi + 4]
mov dword [rsp + 0x40], r9d
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14001252f
nop
nop
lea rdx, [rcx + 0x10]
test rdx, rdx
je 0x1400130c8
xor eax, eax
cmp dword [rdx], r13d
sete al
test eax, eax
jne 0x14001241e
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400123f0
mov r14, qword [rsp + 0x210]
jmp 0x140012541
test rcx, rcx
je 0x140012539
xor esi, esi
mov edi, r13d
shr edi, 4
xor edx, edx
mov eax, edi
div dword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14001246f
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14001246f
cmp dword [rcx + 0x10], edi
jne 0x140012461
xor eax, eax
cmp dword [rcx], r13d
sete al
test eax, eax
jne 0x14001246c
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14001246f
jmp 0x140012450
mov esi, dword [rcx + 4]
cmp esi, r9d
je 0x14001309f
mov r14, qword [rsp + 0x210]
mov rsi, qword [r14 + 0x10]
test rsi, rsi
je 0x140012541
nop
mov rbx, rsi
mov rdi, rsi
test rsi, rsi
je 0x1400130c2
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140012524
cmp r13d, dword [rdi]
jne 0x140012524
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 0x1400124d2
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 0x1400124f1
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 0x140012510
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.14006314c
lea rcx, [r14 + 8]
mov rdx, rbx
call fcn.140063ca0
test rsi, rsi
jne 0x140012490
jmp 0x140012541
mov r14, qword [rsp + 0x210]
jmp 0x140012541
mov r14, qword [rsp + 0x210]
mov edx, r13d
lea rcx, [rsp + 0xc0]
call fcn.140018730
nop
mov rcx, qword [rsp + 0xc0]
mov edi, dword [rcx - 0x10]
mov dx, 0x5c
call fcn.14008ff20
test rax, rax
jne 0x140012574
or r12, 0xffffffffffffffff
mov eax, r12d
jmp 0x140012583
sub rax, qword [rsp + 0xc0]
sar rax, 1
or r12, 0xffffffffffffffff
sub edi, eax
lea r8d, [rdi - 1]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.1400106e0
nop
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140013134
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbp, [rax + 0x18]
mov qword [rsp + 0x30], rbp
test r15, 0xffffffffffff0000
jne 0x1400125fa
movzx edi, r15w
mov ecx, edi
call fcn.140063514
test rax, rax
je 0x1400126ed
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140001fe0
mov rbp, qword [rsp + 0x30]
jmp 0x1400126ed
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 0x14001266c
lea rdx, [rbp - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1400126ed
cmp dword [rdx + 0x10], eax
jge 0x14001263d
cmp dword [rbp - 0xc], eax
jl 0x1400130ce
mov dword [rbp - 0x10], eax
mov word [rbp], ax
jmp 0x1400126ed
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012655
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 rbp, [rax + 0x18]
mov qword [rsp + 0x30], rbp
jmp 0x1400126ed
mov esi, dword [rbp - 0x10]
mov rbx, r15
sub rbx, rbp
sar rbx, 1
mov ecx, 1
sub ecx, dword [rbp - 8]
mov eax, dword [rbp - 0xc]
sub eax, edi
or eax, ecx
jge 0x14001269a
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140001970
mov rbp, qword [rsp + 0x30]
cmp rbx, rsi
ja 0x1400126bb
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbp + rbx*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbp
call fcn.14008ea80
jmp 0x1400126d3
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, r15
mov rdx, rsi
mov rcx, rbp
call fcn.14008f260
test edi, edi
js 0x140013129
cmp edi, dword [rbp - 0xc]
jg 0x140013129
mov dword [rbp - 0x10], edi
mov word [rsi + rbp], 0
xor eax, eax
lea rdi, str.ShellExperienceHost.exe
mov rbx, qword [rsp + 0x38]
mov rsi, rbx
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
repe cmpsw word [rsi], word [rdi]
je 0x14001270d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140013030
xor eax, eax
lea rdi, str.3DMarkICFDemo.exe
mov rsi, rbx
mov ecx, 0x12
repe cmpsw word [rsi], word [rdi]
je 0x140012730
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140013030
mov rax, qword [r14 + 0x40]
mov r15, qword [rax + 0xb0]
test r15, r15
je 0x140012fc6
nop
mov rax, r15
test r15, r15
je 0x140013123
mov r15, qword [r15]
mov r14, qword [rax + 0x10]
test r14, r14
je 0x140012fbd
cmp dword [r14 + 8], r13d
jne 0x140012fbd
mov edi, dword [rsp + 0x40]
cmp edi, 1
jne 0x1400127e4
mov edx, r13d
mov r13, qword [rsp + 0x210]
mov rcx, r13
call fcn.140013610
cmp eax, edi
mov ecx, 4
cmove edi, ecx
mov dword [rsp + 0x40], edi
lea rdx, str.Movie
cmp eax, 1
lea rax, str.Music
cmove rdx, rax
test rdx, rdx
jne 0x1400127be
xor ecx, ecx
jmp 0x1400127d0
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 rbp, qword [rsp + 0x30]
jmp 0x140012827
cmp edi, 3
jne 0x14001281f
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 rbp, qword [rsp + 0x30]
mov r13, qword [rsp + 0x210]
jmp 0x140012827
mov r13, qword [rsp + 0x210]
mov rsi, qword [r13 + 0x10]
test rsi, rsi
je 0x140012922
nop
nop
nop
mov rbx, rsi
mov rax, rsi
test rsi, rsi
je 0x1400130e4
mov rsi, qword [rsi]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x14001290f
mov rdx, qword [r14]
xor eax, eax
test rdx, rdx
setne al
test eax, eax
je 0x1400130d9
mov r8, qword [rdi + 0x18]
mov rax, r8
sub rdx, r8
nop
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x140012896
add rax, 2
test cx, cx
jne 0x140012880
xor eax, eax
jmp 0x14001289b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14001290f
lea rdx, [r8 - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400128bb
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 0x1400128db
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 0x1400128fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.14006314c
lea rcx, [r13 + 8]
mov rdx, rbx
call fcn.140063ca0
test rsi, rsi
jne 0x140012840
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov ecx, 0x20
call fcn.140063100
mov r13, rax
test rax, rax
je 0x1400129a8
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140013100
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [r13 + 8], rax
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400130f5
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [r13 + 0x10], rax
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400130ea
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [r13 + 0x18], rax
jmp 0x1400129ab
xor r13d, r13d
mov eax, dword [rsp + 0x220]
mov dword [r13], eax
lea rdi, [rbx - 0x18]
mov rsi, qword [r13 + 8]
sub rsi, 0x18
cmp rdi, rsi
je 0x140012a7b
cmp dword [rsi + 0x10], 0
jl 0x140012a6b
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140012a6b
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x1400129ff
cmp rax, qword [rdi]
jne 0x1400129ff
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140012a3c
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x14001310b
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.14008f260
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012a57
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 rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
jmp 0x140012a7b
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [r13 + 8]
call fcn.140001bd0
lea rdi, [rbp - 0x18]
mov rsi, qword [r13 + 0x10]
sub rsi, 0x18
cmp rdi, rsi
je 0x140012b40
cmp dword [rsi + 0x10], 0
jl 0x140012b30
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140012b30
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140012ac4
cmp rax, qword [rdi]
jne 0x140012ac4
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140012b01
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140013111
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.14008f260
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012b1c
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 rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
jmp 0x140012b40
mov r8d, dword [rbp - 0x10]
mov rdx, rbp
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 0x140012c05
cmp dword [rsi + 0x10], 0
jl 0x140012bf8
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140012bf8
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140012b8c
cmp rax, qword [rdi]
jne 0x140012b8c
mov rbx, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140012bc9
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140013117
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.14008f260
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012be4
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 rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
jmp 0x140012c05
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.140063e18
xor r11d, r11d
lea rdi, str.MecApoComRunnerx86.exe
mov rsi, rbx
mov ecx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
repe cmpsw word [rsi], word [rdi]
je 0x140012c37
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
sete al
test al, al
je 0x140012c7c
cmp dword [0x1400fd380], 0
je 0x140012c74
mov rdx, qword [r13 + 0x18]
mov rcx, qword [r14 + 0x40]
call fcn.1400355f0
mov r13d, 1
mov r9d, r13d
mov r8d, r13d
lea rdx, [0x1400c27c0]
mov rcx, rax
call fcn.140004040
jmp 0x140012c82
mov r13d, 1
jmp 0x140012c82
mov r13d, 1
cmp dword [0x1400fd398], 0
je 0x140012d67
xor edx, edx
lea rdi, str.SpeechRuntime.exe
mov rsi, rbx
mov ecx, 0x12
repe cmpsw word [rsi], word [rdi]
je 0x140012caa
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete al
test al, al
jne 0x140012d67
xor eax, eax
lea rdi, str.SearchUI.exe
mov rsi, rbx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012cd2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012d67
test edx, edx
sete al
test al, al
jne 0x140012d67
mov r9d, dword [rsp + 0x40]
cmp r9d, 3
jne 0x140012d5a
mov rax, qword [r14 + 0x48]
bt dword [rax + 0x20], 0x1e
jae 0x140012d50
xor eax, eax
lea rdi, str.Skype.exe
mov rsi, rbx
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
je 0x140012d19
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012d46
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rbx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012d3d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140012d67
add dword [rsp + 0x228], 1
jmp 0x140012d67
add dword [rsp + 0x228], 1
jmp 0x140012d67
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, rbx
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
je 0x140012d82
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012dd7
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rbx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012da6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012dd7
xor eax, eax
lea rdi, str.lync.exe
mov rsi, rbx
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140012dca
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140012fa3
xor eax, eax
lea rdi, str.Voice
mov rsi, rbp
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140012df2
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 0x140012ece
nop
mov rax, r9
test r9, r9
je 0x14001311d
mov r9, qword [r9]
mov r8, qword [rax + 0x10]
test r8, r8
je 0x140012ec1
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 0x140012e4b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012e9c
xor eax, eax
lea rdi, str.SkypeHost.exe
mov rsi, rdx
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
je 0x140012e6f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012e9c
xor eax, eax
lea rdi, str.lync.exe
mov rsi, rdx
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x140012e93
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140012ec1
xor eax, eax
lea rdi, str.Voice
mov rsi, qword [r8 + 0x10]
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x140012eb8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x140012ecb
test r9, r9
je 0x140012ece
jmp 0x140012e10
mov r12d, r13d
cmp dword [0x1400fd37c], 0
je 0x140012fb1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x168]
mov rcx, qword [r14 + 0x40]
call fcn.1400358c0
nop
mov qword [rsp + 0x150], 0
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c3590]
mov r8d, r13d
xor edx, edx
lea rcx, [0x1400c3580]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x140012f53
mov rax, qword [rcx]
movzx r8d, r12w
mov rdx, qword [rsp + 0x168]
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x150]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
or r12, 0xffffffffffffffff
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140012f8f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x220]
jmp 0x140012fbd
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x220]
jmp 0x140012fbd
or r12, 0xffffffffffffffff
mov r13d, dword [rsp + 0x220]
jmp 0x140012fbd
or r12, 0xffffffffffffffff
mov r13d, dword [rsp + 0x220]
test r15, r15
jne 0x140012750
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140012fe3
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 0x140013005
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001309a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rsp + 0x58]
jmp 0x14001309f
lea rdx, [rbp - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001304d
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 0x14001306f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001309a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rsp + 0x58]
jmp 0x14001309f
mov r8d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x140013145
lea r15, [0x1400c33b0]
jmp 0x140012310
call fcn.140063294
int3
call fcn.140063294
int3
call fcn.140063294
nop
mov ecx, 0x80070057
call fcn.140001950
nop
mov ecx, 0x80004005
call fcn.140001950
int3
call fcn.140063294
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.140063294
int3
call fcn.140063294
nop
mov ecx, 0x80070057
call fcn.140001950
nop
mov ecx, 0x80004005
call fcn.140001950
nop
call fcn.140063294
int3
cmp dword [0x1400fd398], 0
je 0x14001319a
cmp dword [rsp + 0x228], 0
jle 0x140013179
mov rcx, qword [0x1400fbe50]
test rcx, rcx
je 0x1400131a8
mov edi, 1
mov edx, edi
call fcn.140046460
mov rcx, qword [0x1400fbe50]
jmp 0x1400131b4
mov rcx, qword [0x1400fbe50]
test rcx, rcx
je 0x1400131af
xor edx, edx
call fcn.140046460
mov rcx, qword [0x1400fbe50]
mov edi, 1
jmp 0x1400131b4
mov rcx, qword [0x1400fbe50]
mov edi, 1
jmp 0x1400131b4
mov edi, 1
jmp 0x1400131b4
mov edi, 1
cmp dword [0x1400fd394], 0
je 0x1400131ea
mov rax, qword [rsp + 0x210]
mov rax, qword [rax + 0x48]
test byte [rax + 0x3e], 1
je 0x1400131ea
cmp dword [rsp + 0x218], 0
jle 0x1400131e2
mov edx, edi
call fcn.140046f70
jmp 0x1400131ea
xor edx, edx
call fcn.140046f70
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140013211
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rbp, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x80], rbp
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x140013263
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x140013263
mov rdx, rdi
mov rcx, rax
nop
mov rax, qword [rdx]
test rax, rax
je 0x140013259
nop
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x140013250
add rdx, 8
sub rcx, 1
jne 0x140013240
mov rcx, rdi
call fcn.14006314c
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0xa8]
call fcn.140064594
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0x48], rbp
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1400132e3
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1400132e3
mov rdx, rdi
mov rcx, rax
mov rax, qword [rdx]
test rax, rax
je 0x1400132d9
nop
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400132d0
add rdx, 8
sub rcx, 1
jne 0x1400132c5
mov rcx, rdi
call fcn.14006314c
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x70]
call fcn.140064594
mov qword [rsp + 0x70], 0
lea rdi, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x100], rdi
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14001333d
mov rax, qword [rax]
test rax, rax
jne 0x140013335
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x108], 0
mov rcx, qword [rsp + 0x128]
call fcn.140064594
mov qword [rsp + 0x128], 0
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1400133a8
nop
nop
mov rax, qword [rax]
test rax, rax
jne 0x1400133a0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], 0
mov rcx, qword [rsp + 0xf0]
call fcn.140064594
mov qword [rsp + 0xf0], 0
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140013412
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