Function at 0x140004110
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x1b0], rbx
mov rbx, rdx
mov r12, rcx
xor r14d, r14d
mov qword [rbp - 0x60], r14
mov qword [rsp + 0x70], r14
mov r15d, r14d
mov edi, r14d
mov dword [rbp + 0xc0], r14d
lea rcx, str.WmiGetMonitorRawEEdidV1Block
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov r13, rax
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x70], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x78], r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
or rsi, 0xffffffffffffffff
mov edx, esi
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x1400299a0]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x140029990]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140004b96
mov rdi, qword [rbp - 0x60]
lea ecx, [rsi + 0x19]
call fcn.1400115d0
mov rbx, rax
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x140004227
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.rootwmi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14000422a
mov ecx, 0x8007000e
call fcn.140011fb0
int3
mov rbx, r14
mov qword [rbp + 0x38], rbx
test rbx, rbx
jne 0x14000423e
mov ecx, 0x8007000e
call fcn.140011fb0
nop
mov rax, qword [rdi]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov edi, eax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400042ac
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000428d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000429f
call fcn.1400115c8
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400115c8
test edi, edi
jne 0x140004b89
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [rdi + 0xa]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jne 0x140004b89
mov r14, qword [rsp + 0x70]
lea ecx, [rdi + 0x18]
call fcn.1400115d0
mov rbx, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x140004332
mov qword [rax + 8], 0
mov dword [rax + 0x10], 1
lea rcx, str.Select__from_WmiMonitorDescriptorMethods
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140004334
mov ecx, 0x8007000e
call fcn.140011fb0
int3
xor ebx, ebx
mov qword [rbp + 0x40], rbx
test rbx, rbx
jne 0x140004348
mov ecx, 0x8007000e
call fcn.140011fb0
nop
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400115d0
mov rdi, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14000437e
mov qword [rax + 8], 0
mov dword [rax + 0x10], 1
lea rcx, [0x140031c24]
call fcn.140011fe0
mov qword [rdi], rax
jmp 0x140004380
xor edi, edi
mov qword [rbp + 0x48], rdi
test rdi, rdi
jne 0x140004394
mov ecx, 0x8007000e
call fcn.140011fb0
nop
mov rax, qword [r14]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
mov r9d, 0x30
mov r8, qword [rbx]
mov rdx, qword [rdi]
mov rcx, r14
call qword [rax + 0xa0]
mov r14d, eax
mov eax, esi
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140004406
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400043e2
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], 0
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400043f8
call fcn.1400115c8
mov qword [rdi + 8], 0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rdi
call fcn.1400115c8
nop
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14000444a
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004427
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], 0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000443d
call fcn.1400115c8
mov qword [rbx + 8], 0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400115c8
test r14d, r14d
jne 0x140004b86
mov rdi, qword [rsp + 0x70]
lea ecx, [r14 + 0x18]
call fcn.1400115d0
mov rbx, rax
mov qword [rbp - 0x80], rax
xor r14d, r14d
test rax, rax
je 0x14000449b
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, [0x140031c28]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14000449e
mov ecx, 0x8007000e
call fcn.140011fb0
int3
mov rbx, r14
mov qword [rbp + 0x50], rbx
test rbx, rbx
jne 0x1400044b2
mov ecx, 0x8007000e
call fcn.140011fb0
nop
mov rax, qword [rdi]
mov qword [rsp + 0x28], r14
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, rdi
call qword [rax + 0x30]
mov edi, eax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140004510
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400044f1
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140004503
call fcn.1400115c8
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400115c8
test edi, edi
jne 0x140004b89
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x70]
xor r8d, r8d
mov rdx, r13
call qword [rax + 0x98]
test eax, eax
jne 0x140004b89
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
xor edx, edx
call qword [rax + 0x78]
test eax, eax
jne 0x140004b89
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140004b89
test r15d, r15d
jne 0x140004b73
mov qword [rsp + 0x58], r14
mov dword [rbp + 0xc8], r14d
mov r10, qword [rax]
lea rcx, [rbp + 0xc8]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x58]
mov edi, 1
mov r8d, edi
mov edx, esi
mov rcx, rax
call qword [r10 + 0x20]
test eax, eax
jne 0x140004b31
lea rdx, [0x140030238]
lea rcx, [rsp + 0x50]
call fcn.140002b80
nop
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x58]
xor r8d, r8d
lea rdx, str.InstanceName
call qword [rax + 0x20]
mov ebx, eax
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
lea r9d, [r15 + 8]
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x140004b6b
mov rdx, qword [rbp - 0x28]
test rdx, rdx
jne 0x140004629
mov eax, r14d
jmp 0x14000463a
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140004630
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.140002fe0
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
jne 0x140004b12
mov rcx, qword [rsp + 0x50]
movsxd rbx, dword [rcx - 0x10]
test ebx, ebx
js 0x140004b60
mov edx, edi
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, ebx
or eax, edx
jge 0x140004694
mov edx, ebx
lea rcx, [rsp + 0x50]
call fcn.1400032c0
mov rcx, qword [rsp + 0x50]
lea eax, [rbx + 1]
movsxd rdx, eax
call fcn.140018cdc
mov rax, qword [rsp + 0x50]
cmp ebx, dword [rax - 0xc]
jg 0x140004b55
mov dword [rax - 0x10], ebx
mov rax, qword [rsp + 0x50]
mov word [rax + rbx*2], r14w
mov rbx, qword [rbp + 0xb8]
mov rdx, qword [rbx]
test rdx, rdx
je 0x140004a92
mov rcx, qword [rsp + 0x50]
cmp dword [rcx - 0x10], 0
jl 0x140004a92
call fcn.140013cbc
test rax, rax
je 0x140004a92
sub rax, qword [rsp + 0x50]
sar rax, 1
cmp eax, 0xffffffff
je 0x140004a92
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r14
mov rdi, qword [rsp + 0x58]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400115d0
mov rbx, rax
mov qword [rbp + 0x58], rax
test rax, rax
je 0x14000474e
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.__PATH
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140004ae5
jmp 0x140004751
mov rbx, r14
mov qword [rbp + 0x60], rbx
test rbx, rbx
je 0x140004b43
mov rax, qword [rdi]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x18]
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, rdi
call qword [rax + 0x20]
mov edi, eax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400047b9
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000479a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400047ac
call fcn.1400115c8
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400115c8
test edi, edi
jne 0x140004af0
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, 0x11
mov word [rbp - 0x58], di
mov word [rbp - 0x50], r14w
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov dword [rsp + 0x20], r14d
lea r9, [rbp - 0x58]
xor r8d, r8d
lea rdx, str.BlockId
call qword [rax + 0x28]
mov ebx, eax
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
jne 0x140004af0
mov rcx, qword [rsp + 0x70]
mov r10, qword [rcx]
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, r13
mov rdx, qword [rbp + 0x20]
call qword [r10 + 0xc0]
mov ebx, eax
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
jne 0x140004af0
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x18]
xor r8d, r8d
lea rdx, str.BlockContent
call qword [rax + 0x20]
test eax, eax
jne 0x140004af0
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov word [rbp - 0x58], di
mov edi, 1
mov word [rbp - 0x50], di
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov dword [rsp + 0x20], r14d
lea r9, [rbp - 0x58]
xor r8d, r8d
lea rdx, str.BlockId
call qword [rax + 0x28]
mov ebx, eax
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
jne 0x140004af0
mov rcx, qword [rsp + 0x70]
mov r10, qword [rcx]
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, r13
mov rdx, qword [rbp + 0x20]
call qword [r10 + 0xc0]
mov ebx, eax
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
jne 0x140004af0
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp]
xor r8d, r8d
lea rdx, str.BlockContent
call qword [rax + 0x20]
test eax, eax
jne 0x140004af0
lea rdx, [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
lea rdx, [rbp - 0x38]
mov rcx, qword [rbp + 8]
call qword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140004a3f
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140004a3f
movups xmm0, xmmword [rcx]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [r12 + 0x60], xmm0
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [r12 + 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [r12 + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x90], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r12 + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r12 + 0xb0], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r12 + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r12 + 0xd0], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r12 + 0xe0], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r12 + 0xf0], xmm1
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
mov rcx, qword [rbp + 8]
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov r15d, edi
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140004a7b
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140004a8b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rbp + 0xb8]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140004aa8
mov qword [rsp + 0x58], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140004ac7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140004ad7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140004b4e
jmp 0x140004562
mov ecx, 0x8007000e
call fcn.140011fb0
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140004b01
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140004b12
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140004b31
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140004b89
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140004b89
mov ecx, 0x8007000e
call fcn.140011fb0
nop
test r15d, r15d
je 0x140004b90
jmp 0x140004b73
mov ecx, 0x80070057
call fcn.140001580
int3
mov ecx, 0x80070057
call fcn.140001580
nop
mov ecx, eax
call fcn.140001580
nop
mov rcx, r12
call fcn.140003be0
mov edi, eax
mov rbx, qword [rbp + 0xb8]
jmp 0x140004b96
xor r14d, r14d
mov rbx, qword [rbp + 0xb8]
mov edi, dword [rbp + 0xc0]
lea rcx, [rbp - 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rbp + 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140004bd3
mov qword [rsp + 0x70], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140004be6
mov qword [rbp - 0x60], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140004bf9
mov qword [rbp - 0x78], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140004c0c
mov qword [rbp - 0x68], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140004c1f
mov qword [rbp - 0x70], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140004c34
mov qword [rsp + 0x78], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140004c54
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140004c65
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140004c75
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140004c85
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140004c96
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140004ca6
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rbx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140004cc0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, edi
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret