Function at 0x140036d60
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4a8]
sub rsp, 0x5a8
mov rax, qword [0x1401198e8]
xor rax, rsp
mov qword [rbp + 0x490], rax
mov qword [rsp + 0x58], r9
mov byte [rsp + 0x44], r8b
mov r12, rdx
mov qword [rsp + 0x70], rdx
mov rdi, rcx
mov qword [rbp + 0x2e8], rcx
mov r15, qword [rbp + 0x510]
mov qword [rbp - 0x80], r15
mov qword [rbp + 0x190], r15
xor r13d, r13d
mov r14d, r13d
mov dword [rsp + 0x40], r13d
mov qword [rbp + 0x350], r13
mov rax, qword [rcx]
lea r8, [rbp + 0x350]
lea edx, [r13 + 1]
call qword [rax + 0x70]
test eax, eax
jns 0x140036e17
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x140036df5
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [r15 + 0x38]
test rcx, rcx
je 0x1400388be
mov rax, qword [rcx]
cmp rcx, r15
setne dl
call qword [rax + 0x20]
mov qword [r15 + 0x38], r13
jmp 0x1400388be
mov rcx, qword [rbp + 0x350]
mov rax, qword [rcx]
lea rdx, [rbp + 0x30c]
call qword [rax + 0x38]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rsi, rax
mov qword [rbp - 0x68], rax
mov ebx, r13d
cmp dword [rbp + 0x30c], ebx
jle 0x140038404
movzx edi, byte [rsp + 0x44]
mov r13d, dword [rbp + 0x518]
test r13d, r13d
je 0x140036e86
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, rsi
mov ecx, r13d
cmp rax, rcx
jbe 0x140036e86
mov rcx, qword [r15 + 0x38]
test rcx, rcx
je 0x1400388ee
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [rbp - 0x68], rax
xor esi, esi
mov qword [rbp + 0x340], rsi
mov rcx, qword [rbp + 0x350]
mov rax, qword [rcx]
mov r9, qword [rax + 0x40]
mov eax, 3
mov word [rbp + 0xb8], ax
lea eax, [rbx + 1]
mov ebx, eax
mov dword [rsp + 0x54], eax
mov dword [rbp + 0xc0], eax
movups xmm0, xmmword [rbp + 0xb8]
movaps xmmword [rbp + 0x150], xmm0
movsd xmm1, qword [rbp + 0xc8]
movsd qword [rbp + 0x160], xmm1
lea r8, [rbp + 0x340]
lea rdx, [rbp + 0x150]
call r9
nop
lea rcx, [rbp + 0xb8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x340]
test rcx, rcx
jne 0x140036f06
jmp 0x1400383e9
mov qword [rbp + 0x2d8], rsi
mov rax, qword [rcx]
lea rdx, [rbp + 0x2d8]
call qword [rax + 0x38]
mov word [rbp + 0x308], si
mov rcx, qword [rbp + 0x340]
mov rax, qword [rcx]
lea rdx, [rbp + 0x308]
call qword [rax + 0x50]
mov qword [rbp + 0x358], rsi
mov rcx, qword [rbp + 0x340]
mov rax, qword [rcx]
lea rdx, [rbp + 0x358]
call qword [rax + 0x98]
mov rcx, qword [rbp + 0x358]
test rcx, rcx
jne 0x140036f85
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x340]
test rcx, rcx
je 0x140036f80
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x1400383e9
mov qword [rbp + 0x398], rsi
mov rax, qword [rcx]
lea rdx, [rbp + 0x398]
call qword [rax + 0x38]
mov qword [rbp + 0x360], rsi
mov rcx, qword [rbp + 0x398]
mov rax, qword [rcx]
lea rdx, [rbp + 0x360]
call qword [rax + 0x38]
mov qword [rbp + 0x390], rsi
mov rcx, qword [rbp + 0x358]
mov rax, qword [rcx]
lea rdx, [rbp + 0x390]
call qword [rax + 0x88]
mov rcx, qword [rbp + 0x390]
test rcx, rcx
jne 0x140037038
mov rcx, qword [rbp + 0x360]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x398]
test rcx, rcx
je 0x140036fff
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x358]
test rcx, rcx
je 0x140037012
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x340]
test rcx, rcx
je 0x140037033
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x1400383e9
mov rax, qword [rcx]
lea rdx, [rbp + 0x370]
call qword [rax + 0x38]
mov r13d, esi
cmp dword [rbp + 0x370], esi
jle 0x14003837a
xor r15d, r15d
nop word [rax + rax]
mov qword [rbp + 0x330], r15
mov rcx, qword [rbp + 0x390]
mov rax, qword [rcx]
lea edx, [r13 + 1]
mov r13d, edx
mov dword [rsp + 0x50], edx
lea r8, [rbp + 0x330]
call qword [rax + 0x40]
nop
mov qword [rbp + 0x338], r15
mov rcx, qword [rbp + 0x330]
test rcx, rcx
je 0x1400370c8
mov rax, qword [rcx]
lea r8, [rbp + 0x338]
lea rdx, str.MbLk
call qword [rax]
mov rcx, qword [rbp + 0x338]
test eax, eax
cmovs rcx, r15
mov qword [rbp + 0x338], rcx
mov rcx, qword [rbp + 0x330]
cmp qword [rbp + 0x338], 0
je 0x140037ebb
mov ecx, 0x148
call fcn.14009bfa8
mov rsi, rax
mov qword [rbp - 0x70], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_struct_AutorunsEntry_.0
mov qword [rsi], rax
lea rbx, [rsi + 0x10]
mov qword [rsp + 0x48], rbx
xor edx, edx
mov r8d, 0x138
mov rcx, rbx
call fcn.14009e880
mov rcx, rbx
call fcn.140007090
xorps xmm0, xmm0
movups xmmword [rbp + 0x378], xmm0
bts r14d, 7
mov dword [rsp + 0x40], r14d
mov qword [rbp + 0x378], rbx
mov qword [rbp + 0x380], rsi
mov qword [rbp + 0x2f8], r15
mov qword [rbp + 0x300], r15
mov qword [rbp + 0x2d0], r15
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx]
lea rdx, [rbp + 0x2f8]
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx]
lea rdx, [rbp + 0x300]
call qword [rax + 0x70]
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx]
lea rdx, [rbp + 0x2d0]
call qword [rax + 0x60]
mov rcx, qword [rbp + 0x300]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14003727a
mov edx, 0x5c
mov rcx, qword [rbp + 0x2f8]
call fcn.14009ec30
test rax, rax
jne 0x14003727a
mov rbx, qword [rbp + 0x2f8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], r15
mov rdx, qword [rbp + 0x300]
mov r13, 0xffffffffffffffff
mov r8, r13
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400371f0
lea rcx, [rbp - 0x20]
call fcn.140003860
nop
or r14d, 1
mov dword [rsp + 0x40], r14d
mov r8d, 1
lea rdx, [0x1400eff20]
lea rcx, [rbp - 0x20]
call fcn.140006fe0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
bts r14d, 0xa
or r14d, 2
mov dword [rsp + 0x40], r14d
mov r8, rbx
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xd0]
call fcn.140006cf0
nop
or r14d, 4
jmp 0x1400372bc
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
mov rdx, qword [rbp + 0x2f8]
mov r13, 0xffffffffffffffff
mov r8, r13
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400372a0
lea rcx, [rbp + 0x40]
call fcn.140003860
lea rax, [rbp + 0x40]
or r14d, 8
mov dword [rsp + 0x40], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x310], xmm0
mov qword [rbp + 0x320], r15
mov qword [rbp + 0x328], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x310], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x320], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
test r14b, 8
je 0x14003734e
and r14d, 0xfffffff7
mov dword [rsp + 0x40], r14d
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x14003734e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037348
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400388f4
call fcn.14009bfe4
nop
test r14b, 4
je 0x1400373bd
and r14d, 0xfffffffb
mov dword [rsp + 0x40], r14d
mov rdx, qword [rbp + 0xe8]
cmp rdx, 8
jb 0x1400373a3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003739e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400388fa
call fcn.14009bfe4
mov qword [rbp + 0xe0], r15
mov qword [rbp + 0xe8], 7
mov word [rbp + 0xd0], r15w
test r14b, 2
je 0x14003741d
and r14d, 0xfffffffd
mov dword [rsp + 0x40], r14d
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x14003740c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037407
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038900
call fcn.14009bfe4
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r15w
test r14b, 1
je 0x14003747d
and r14d, 0xfffffffe
mov dword [rsp + 0x40], r14d
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14003746c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037467
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038906
call fcn.14009bfe4
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r15w
xorps xmm0, xmm0
movups xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r15
mov qword [rbp + 0x3c0], r15
mov r15, qword [rbp + 0x320]
lea rsi, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
cmovae rsi, qword [rbp + 0x310]
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
ja 0x140038957
cmp r15, 8
jae 0x1400374ef
mov qword [rbp + 0x3b8], r15
mov qword [rbp + 0x3c0], 7
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x3a8], xmm0
movq r12, xmm0
jmp 0x140037550
mov rbx, r15
or rbx, 7
cmp rbx, rax
jbe 0x140037500
mov rbx, rax
jmp 0x14003750d
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
cmovb rdx, r13
lea rcx, [rbp + 0x3a8]
call fcn.1400037f0
mov r12, rax
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x3b8], r15
mov qword [rbp + 0x3c0], rbx
lea r8, [r15*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14009d3c0
nop
lea rcx, [rbp + 0x310]
call fcn.14002e1f0
cmp qword [rbp + 0x320], 0
je 0x140037666
lea rcx, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
setae r8b
mov rdx, qword [rbp + 0x310]
cmovae rcx, rdx
cmp word [rcx], 0x22
jne 0x140037666
lea rbx, [rbp + 0x310]
test r8b, r8b
cmovne rbx, rdx
call fcn.140008180
mov rcx, rax
test rax, rax
je 0x14003890c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400062d0
test al, al
jne 0x1400375fb
test rbx, rbx
jne 0x1400375dc
xor ecx, ecx
mov eax, ecx
jmp 0x1400375ea
mov rax, r13
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400375e0
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400068f0
nop
mov edx, 0x22
lea rcx, [rsp + 0x60]
call fcn.14001c4a0
mov rdx, qword [rax]
mov r8, r13
inc r8
cmp word [rdx + r8*2], 0
jne 0x140037610
lea rcx, [rbp + 0x310]
call fcn.140003510
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140037647
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rbp + 0x378]
mov r14d, dword [rsp + 0x40]
mov r12, qword [rbp + 0x3a8]
mov r15, qword [rbp + 0x3b8]
mov qword [rsp + 0x48], rbx
lea rbx, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
cmovae rbx, qword [rbp + 0x310]
call fcn.140008180
mov rcx, rax
test rax, rax
je 0x14003894c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x368], rax
mov rdx, rbx
lea rcx, [rbp + 0x368]
call fcn.1400062d0
test al, al
jne 0x1400376dd
test rbx, rbx
jne 0x1400376bb
xor eax, eax
jmp 0x1400376ca
mov rax, r13
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400376c0
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x368]
call fcn.1400068f0
nop
mov rbx, qword [rbp + 0x368]
movsxd rsi, dword [rbx - 0x10]
test esi, esi
js 0x140038941
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x140037716
mov edx, esi
lea rcx, [rbp + 0x368]
call fcn.140006870
mov rbx, qword [rbp + 0x368]
lea eax, [rsi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.1400b14d0
lea r13, [rbx - 0x18]
cmp esi, dword [r13 + 0xc]
jg 0x140038941
mov dword [r13 + 8], esi
mov rax, rsi
xor esi, esi
mov word [rbx + rax*2], si
cmp dword [r13 + 8], esi
jl 0x1400378f7
lea rdx, str.RUNDLL32.EXE
mov rcx, rbx
call fcn.14009ecac
test rax, rax
je 0x1400378f7
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400378f7
mov rcx, qword [rbp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400378f7
lea edx, [rsi + 0x2c]
mov rcx, qword [rbp + 0x2d0]
call fcn.14009ec30
mov rbx, rax
test rax, rax
je 0x1400378f7
lea edx, [rsi + 0x20]
mov rcx, qword [rbp + 0x2d0]
call fcn.14009ec30
test rax, rax
je 0x1400377bc
cmp rax, rbx
lea rdx, [rax + 2]
jb 0x1400377c3
mov rdx, qword [rbp + 0x2d0]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], rsi
sub rbx, rdx
sar rbx, 1
mov r8, rbx
lea rcx, [rbp]
call fcn.140003860
lea rdx, [rbp]
lea rcx, [rbp + 0x310]
call fcn.140005f80
mov r8, qword [rbp + 0x18]
cmp r8, 8
jb 0x14003780e
inc r8
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.140003920
lea rcx, [rbp + 0x310]
call fcn.14002e1f0
mov rbx, qword [rbp + 0x2d0]
movabs rax, 0x7ffffffffffffffe
sub rax, r15
cmp rax, 1
jb 0x140038917
lea r9, [rbp + 0x3a8]
cmp qword [rbp + 0x3c0], 8
cmovae r9, r12
mov qword [rsp + 0x30], 1
lea r12, [0x1400eff9c]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
lea r8, [rbp + 0x3a8]
movzx edx, dil
lea rcx, [rbp + 0xf0]
call fcn.140008a60
bts r14d, 0xb
mov r8, rbx
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x60]
call fcn.140006cf0
mov r15, qword [rsp + 0x48]
lea rcx, [r15 + 0x80]
mov rdx, rax
call fcn.140005f80
mov r8, qword [rbp + 0x78]
cmp r8, 8
jb 0x1400378c2
inc r8
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp + 0x60]
call fcn.140003920
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], si
mov r8, qword [rbp + 0x108]
cmp r8, 8
jb 0x140037903
inc r8
mov rdx, qword [rbp + 0xf0]
lea rcx, [rbp + 0xf0]
call fcn.140003920
jmp 0x140037903
mov r15, qword [rsp + 0x48]
lea r12, [0x1400eff9c]
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x198]
call fcn.14002c0f0
mov rbx, rax
lea rax, [rbp + 0x310]
cmp rax, rbx
je 0x1400379ac
mov rdx, qword [rbp + 0x328]
cmp rdx, 8
jb 0x14003796f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003796a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003891d
call fcn.14009bfe4
mov qword [rbp + 0x320], rsi
mov qword [rbp + 0x328], 7
mov word [rbp + 0x310], si
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x310], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x320], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 7
mov word [rbx], si
mov rdx, qword [rbp + 0x1b0]
cmp rdx, 8
jb 0x1400379f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x198]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400379ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003891d
call fcn.14009bfe4
lea rcx, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
cmovae rcx, qword [rbp + 0x310]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
cmp eax, 0xffffffff
jne 0x140037a74
cmp byte [0x140135b10], 0
jne 0x140037a3c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [0x140135b0c]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
mov byte [0x140135b10], 1
cmp dword [0x140135b0c], 0
je 0x140037a74
lea rcx, [rbp + 0x310]
call fcn.14002e8b0
test al, al
je 0x140037a74
lea rcx, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
cmovae rcx, qword [rbp + 0x310]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
lea rbx, [r15 + 0x60]
lea rax, [rbp + 0x310]
cmp rbx, rax
je 0x140037aaa
lea rdx, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
cmovae rdx, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rcx, rbx
call fcn.140003510
cmp esi, 0xffffffff
jne 0x140037ab7
or dword [r15 + 0x118], 1
cmp qword [r15 + 0x90], 0
jne 0x140037b86
lea rdx, [rbp + 0x310]
lea rcx, [r15 + 0x80]
call fcn.140005f80
lea rdx, [r15 + 0x80]
lea rcx, [rbp + 0x1b8]
call fcn.14002c0f0
mov rdx, rax
mov rcx, rbx
call fcn.140005f80
mov rdx, qword [rbp + 0x1d0]
cmp rdx, 8
jb 0x140037b3c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037b37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038923
call fcn.14009bfe4
mov rcx, qword [rbp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140037b86
mov rbx, qword [rbp + 0x2d0]
mov r8d, 1
mov rdx, r12
lea rcx, [r15 + 0x80]
call fcn.140006fe0
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x140037b70
mov rdx, rbx
mov rcx, rax
call fcn.140006fe0
mov eax, 2
cmp word [rbp + 0x308], 0
mov esi, 0
cmovne eax, esi
bts eax, 0x12
or dword [r15 + 0x118], eax
mov rbx, qword [rbp + 0x2d8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], rsi
mov r8, 0xffffffffffffffff
mov r12, qword [rsp + 0x70]
inc r8
cmp word [r12 + r8*2], si
jne 0x140037bd1
mov rdx, r12
lea rcx, [rbp + 0x80]
call fcn.140003860
nop
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x140037bf2
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140006fe0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x110], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x120], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
or r14d, 0x40
mov dword [rsp + 0x40], r14d
lea rdx, [rbp + 0x110]
mov rcx, r15
call fcn.140005f80
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x140037c8f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037c89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038929
call fcn.14009bfe4
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140037cd5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037cd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003892f
call fcn.14009bfe4
mov rcx, qword [rbp + 0x360]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r14, 0xffffffffffffffff
test eax, eax
je 0x140037d10
lea rcx, [r15 + 0x20]
mov rdx, qword [rbp + 0x360]
mov r8, r14
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140037d00
call fcn.140003510
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov rsi, qword [rbp - 0x70]
lock inc dword [rsi + 8]
mov rbx, qword [rbp + 0x378]
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rsi
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.1400263f0
mov r15, qword [rsp + 0x58]
mov rdx, qword [r15 + 8]
cmp rdx, qword [r15 + 0x10]
je 0x140037d68
mov qword [rdx], rbx
mov qword [rdx + 8], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x378], xmm0
mov rsi, r15
add qword [r15 + 8], 0x10
jmp 0x140037d78
lea r8, [rbp + 0x378]
mov rcx, r15
call fcn.1400071a0
nop
mov eax, r14d
lock xadd dword [r13 + 0x10], eax
sub eax, 1
jg 0x140037d94
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 8
jb 0x140037ddb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037dd5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038935
call fcn.14009bfe4
nop
mov rdx, qword [rbp + 0x328]
cmp rdx, 8
jb 0x140037e21
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037e1c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003893b
call fcn.14009bfe4
xor r15d, r15d
mov qword [rbp + 0x320], r15
mov qword [rbp + 0x328], 7
mov word [rbp + 0x310], r15w
mov rcx, qword [rbp + 0x2d0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x300]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x2f8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x140037eaa
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140037eaa
mov rbx, qword [rbp + 0x380]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140037eaa
mov rcx, qword [rbp + 0x380]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r13d, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x40]
mov rcx, qword [rbp + 0x330]
mov rax, r15
mov qword [rbp + 0x348], rax
test rcx, rcx
je 0x140037efa
mov rax, qword [rcx]
lea r8, [rbp + 0x348]
lea rdx, [0x1400f6530]
call qword [rax]
mov ecx, eax
mov rax, qword [rbp + 0x348]
test ecx, ecx
cmovs rax, r15
mov qword [rbp + 0x348], rax
mov rcx, qword [rbp + 0x330]
test rax, rax
je 0x140038328
mov qword [rbp + 0x2e0], r15
mov qword [rbp + 0x2f0], r15
mov rcx, qword [rax]
mov r8, qword [rcx + 0x50]
lea rdx, [rbp + 0x2e0]
mov rcx, rax
call r8
mov rcx, qword [rbp + 0x348]
mov rax, qword [rcx]
lea rdx, [rbp + 0x2f0]
call qword [rax + 0x60]
xor r8d, r8d
mov rdx, qword [rbp + 0x2e0]
lea rcx, [rbp + 0x3e0]
call fcn.1400249e0
nop
mov rax, qword [rbp + 0x410]
test rax, rax
jne 0x140038057
mov r8b, 1
mov rdx, qword [rbp + 0x2e0]
lea rcx, [rbp + 0x220]
call fcn.1400249e0
mov rbx, rax
mov rdx, rax
lea rcx, [rbp + 0x3e0]
call fcn.140005f80
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x400]
call fcn.140005f80
lea rdx, [rbx + 0x40]
lea rcx, [rbp + 0x420]
call fcn.140005f80
lea rdx, [rbx + 0x60]
lea rcx, [rbp + 0x440]
call fcn.140005f80
lea rdx, [rbx + 0x80]
lea rcx, [rbp + 0x460]
call fcn.140005f80
movzx eax, byte [rbx + 0xa0]
mov byte [rbp + 0x480], al
lea rcx, [rbp + 0x220]
call fcn.140015ec0
mov rax, qword [rbp + 0x410]
test rax, rax
jne 0x140038057
lea rcx, [rbp + 0x3e0]
call fcn.140015ec0
nop
mov rcx, qword [rbp + 0x2f0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x2e0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x348]
test rcx, rcx
je 0x14003802c
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x338]
test rcx, rcx
je 0x14003803f
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x330]
test rcx, rcx
je 0x140038052
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x140038365
mov ecx, 0x148
call fcn.14009bfa8
mov r15, rax
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_struct_AutorunsEntry_.0
mov qword [r15], rax
lea rsi, [r15 + 0x10]
xor edx, edx
mov r8d, 0x138
mov rcx, rsi
call fcn.14009e880
mov rcx, rsi
call fcn.140007090
xorps xmm0, xmm0
movups xmmword [rbp + 0x3c8], xmm0
bts r14d, 8
mov qword [rbp + 0x3c8], rsi
mov qword [rbp + 0x3d0], r15
mov rbx, qword [rbp + 0x2d8]
movups xmmword [rbp + 0x20], xmm0
xor eax, eax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [r12 + r8*2], ax
jne 0x1400380e0
mov rdx, r12
lea rcx, [rbp + 0x20]
call fcn.140003860
nop
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rbx + r8*2], 0
jne 0x140038100
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.140006fe0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x130], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x140], xmm1
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], 7
mov word [rax], cx
bts r14d, 9
mov dword [rsp + 0x40], r14d
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140005f80
mov rdx, qword [rbp + 0x148]
cmp rdx, 8
jb 0x14003819d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038197
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003895d
call fcn.14009bfe4
nop
mov r8, qword [rbp + 0x38]
cmp r8, 8
jb 0x1400381b7
inc r8
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.140003920
lea rbx, [rsi + 0x60]
lea rdx, [rbp + 0x400]
mov rcx, rbx
call fcn.140005f80
mov eax, 2
cmp word [rbp + 0x308], 0
mov ecx, 0
cmovne eax, ecx
bts eax, 0x12
mov dword [rsi + 0x118], eax
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400381f6
mov rcx, qword [rbx]
call fcn.14000d4e0
cmp eax, 0xffffffff
jne 0x140038207
or dword [rsi + 0x118], 1
sub rsi, 0xffffffffffffff80
cmp rsi, rbx
je 0x140038229
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x14003821e
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rsi
call fcn.140003510
mov rcx, qword [rbp + 0x2f0]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140038276
mov rbx, qword [rbp + 0x2f0]
mov r8d, 1
lea rdx, [0x1400eff9c]
mov rcx, rsi
call fcn.140006fe0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140038260
mov rdx, rbx
mov rcx, rax
call fcn.140006fe0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
lock inc dword [r15 + 8]
mov rbx, qword [rbp + 0x3c8]
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r15
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x40]
call fcn.1400263f0
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1400382c8
mov qword [rdx], rbx
mov qword [rdx + 8], r15
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c8], xmm0
add qword [rsi + 8], 0x10
jmp 0x1400382d8
lea r8, [rbp + 0x3c8]
mov rcx, rsi
call fcn.1400071a0
nop
mov rcx, qword [rbp + 0x3d0]
test rcx, rcx
je 0x1400382ea
call fcn.140003a40
nop
lea rcx, [rbp + 0x3e0]
call fcn.140015ec0
nop
mov rcx, qword [rbp + 0x2f0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x2e0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbp + 0x330]
mov rax, qword [rbp + 0x348]
mov r14d, dword [rsp + 0x40]
xor r15d, r15d
test rax, rax
je 0x14003833d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov rcx, qword [rbp + 0x330]
mov rax, qword [rbp + 0x338]
test rax, rax
je 0x140038359
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov rcx, qword [rbp + 0x330]
test rcx, rcx
je 0x140038365
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp r13d, dword [rbp + 0x370]
jl 0x140037060
mov ebx, dword [rsp + 0x54]
mov r15, qword [rbp - 0x80]
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x14003838d
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x360]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x398]
test rcx, rcx
je 0x1400383ae
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x358]
test rcx, rcx
je 0x1400383c1
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rbp + 0x340]
test rcx, rcx
je 0x1400383e2
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r13d, dword [rbp + 0x518]
cmp ebx, dword [rbp + 0x30c]
jge 0x1400383fa
mov rsi, qword [rbp - 0x68]
jmp 0x140036e53
mov rdi, qword [rbp + 0x2e8]
xor r13d, r13d
mov qword [rbp + 0x3a0], r13
mov rax, qword [rdi]
lea r8, [rbp + 0x3a0]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x3a0]
test rcx, rcx
je 0x140038882
mov rax, qword [rcx]
lea rdx, [rbp + 0x30c]
call qword [rax + 0x38]
mov ebx, r13d
cmp dword [rbp + 0x30c], 0
jle 0x14003887b
nop word [rax + rax]
mov qword [rbp + 0x388], r13
mov rcx, qword [rbp + 0x3a0]
mov rax, qword [rcx]
mov r9, qword [rax + 0x40]
mov eax, 3
mov word [rbp + 0xa0], ax
lea eax, [rbx + 1]
mov ebx, eax
mov dword [rsp + 0x50], eax
mov dword [rbp + 0xa8], eax
movups xmm0, xmmword [rbp + 0xa0]
movaps xmmword [rbp + 0x170], xmm0
movsd xmm1, qword [rbp + 0xb0]
movsd qword [rbp + 0x180], xmm1
lea r8, [rbp + 0x388]
lea rdx, [rbp + 0x170]
call r9
nop
lea rcx, [rbp + 0xa0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x14003885e
mov qword [rbp + 0x2e8], r13
mov rax, qword [rcx]
lea rdx, [rbp + 0x2e8]
call qword [rax + 0x38]
lea rax, [rbp + 0x1d8]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x210], r13
mov rcx, qword [r15 + 0x38]
test rcx, rcx
je 0x14003850f
mov rax, qword [rcx]
lea rdx, [rbp + 0x1d8]
call qword [rax]
mov qword [rbp + 0x210], rax
mov rbx, qword [rbp + 0x2e8]
call fcn.140008180
mov rcx, rax
test rax, rax
je 0x1400388e3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.1400062d0
test al, al
jne 0x140038570
test rbx, rbx
jne 0x14003854f
mov eax, r13d
jmp 0x140038560
mov rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x140038556
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.1400068f0
nop
mov qword [rsp + 0x78], r13
mov rdi, qword [rbp - 0x78]
lea r13, [rdi - 0x18]
mov rcx, qword [r13]
test rcx, rcx
je 0x140038591
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x1400385a0
call fcn.140008180
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
nop
test rax, rax
je 0x140038984
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
or r14d, 0x20
mov dword [rsp + 0x40], r14d
movsxd r12, dword [r13 + 8]
mov rdx, qword [rsp + 0x70]
test rdx, rdx
jne 0x1400385d8
xor eax, eax
mov esi, eax
jmp 0x1400385ea
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [rdx + rsi*2], 0
jne 0x1400385e0
lea r15d, [r12 + rsi]
test r15d, r15d
js 0x140038979
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r15d
or eax, ecx
jge 0x140038620
mov edx, r15d
lea rcx, [rsp + 0x78]
call fcn.140006870
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
movsxd rsi, esi
add rsi, rsi
je 0x140038654
test rbx, rbx
je 0x140038644
mov r8, rsi
mov rcx, rbx
test rdx, rdx
je 0x14003863f
call fcn.14009d3c0
jmp 0x140038654
call fcn.14009e880
call fcn.1400a31cc
mov dword [rax], 0x16
call fcn.1400a3060
mov r8, r12
add r8, r8
lea rcx, [rbx + rsi]
je 0x140038690
test rcx, rcx
je 0x140038680
test rdi, rdi
je 0x140038674
mov rdx, rdi
call fcn.14009d3c0
jmp 0x140038690
xor edx, edx
call fcn.14009e880
test rdi, rdi
jne 0x140038690
call fcn.1400a31cc
mov dword [rax], 0x16
call fcn.1400a3060
lea rsi, [rbx - 0x18]
cmp r15d, dword [rsi + 0xc]
jg 0x140038979
mov dword [rsi + 8], r15d
movsxd rax, r15d
xor ecx, ecx
mov word [rbx + rax*2], cx
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400386c3
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x1400386d2
call fcn.140008180
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
nop
test rax, rax
je 0x14003896e
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x68], rdi
or r14d, 0x10
mov dword [rsp + 0x40], r14d
movsxd r15, dword [rsi + 8]
mov dword [rsp + 0x54], r15d
lea r12d, [r15 + 1]
test r12d, r12d
js 0x140038963
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r12d
or eax, ecx
jge 0x140038730
mov edx, r12d
lea rcx, [rsp + 0x68]
call fcn.140006870
mov rdi, qword [rsp + 0x68]
add r15, r15
je 0x14003876b
test rdi, rdi
je 0x14003875b
mov r8, r15
mov rcx, rdi
test rbx, rbx
je 0x14003874f
mov rdx, rbx
call fcn.14009d3c0
jmp 0x14003876b
xor edx, edx
call fcn.14009e880
test rbx, rbx
jne 0x14003876b
call fcn.1400a31cc
mov dword [rax], 0x16
call fcn.1400a3060
lea rcx, [r15 + rdi]
test rcx, rcx
jne 0x140038786
call fcn.1400a31cc
mov dword [rax], 0x16
call fcn.1400a3060
jmp 0x14003878f
mov eax, dword [0x1400eff20]
mov word [rcx], ax
lea rbx, [rdi - 0x18]
cmp r12d, dword [rbx + 0xc]
jg 0x140038963
mov dword [rbx + 8], r12d
movsxd rax, dword [rsp + 0x54]
xor ecx, ecx
mov word [rdi + rax*2 + 2], cx
mov eax, dword [rbp + 0x518]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x1d8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x58]
movzx r8d, byte [rsp + 0x44]
mov rdx, rdi
mov rcx, qword [rbp + 0x388]
call fcn.140036d60
and r14d, 0xffffffef
mov dword [rsp + 0x40], r14d
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140038805
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + VariantCopy]
and dword [rsp + 0x40], 0xffffffdf
mov eax, edi
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x140038823
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [r13 + 0x10], eax
sub eax, 1
jg 0x14003883e
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + VariantCopy]
nop
mov rcx, qword [rbp + 0x2e8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbp + 0x388]
mov r14d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x50]
xor r13d, r13d
test rcx, rcx
je 0x14003886a
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp ebx, dword [rbp + 0x30c]
jge 0x14003887b
mov r15, qword [rbp - 0x80]
jmp 0x140038450
mov rcx, qword [rbp + 0x3a0]
test rcx, rcx
je 0x14003888e
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x1400388a1
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400388be
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], r13
mov al, 1
mov rcx, qword [rbp + 0x490]
xor rcx, rsp
call fcn.14009c570
add rsp, 0x5a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140007f00
nop
call fcn.14009a56c
nop
call fcn.1400a3080
nop
call fcn.1400a3080
nop
call fcn.1400a3080
nop
call fcn.1400a3080
nop
mov ecx, 0x80004005
call fcn.140007f00
nop
call fcn.140003690
int3
call fcn.1400a3080
int3
call fcn.1400a3080
nop
call fcn.1400a3080
nop
call fcn.1400a3080
nop
call fcn.1400a3080
nop
call fcn.1400a3080
nop
mov ecx, 0x80070057
call fcn.140007f00
nop
mov ecx, 0x80004005
call fcn.140007f00
nop
call fcn.140003690
nop
call fcn.1400a3080
nop
mov ecx, 0x80070057
call fcn.140007f00
nop
mov ecx, 0x80004005
call fcn.140007f00
nop
mov ecx, 0x80070057
call fcn.140007f00
nop
mov ecx, 0x80004005
call fcn.140007f00
int3