Function at 0x140053e90
Capabilities:
Check os version

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x228
mov qword [rsp + 0x200], 0xfffffffffffffffe
mov r13, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x140053ec7
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x1400570be
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1400570be
mov r9d, dword [rax + 8]
not r9d
and r9d, 1
lea r8, str.ShowTrayIcon
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
mov rcx, qword [r13 + 0x10]
mov r9d, dword [rcx + 8]
shr r9d, 2
not r9d
and r9d, 1
lea r8, str.JDPopup
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
mov rbp, qword [r13 + 0x10]
xor r15d, r15d
mov r14d, 1
test byte [rbp + 0xa], r14b
jne 0x140053f43
test byte [rbp + 0xc], 0x10
je 0x14005401d
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x14005401d
mov rsi, rbp
test rbp, rbp
je 0x140054017
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x140054007
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140053faa
nop
mov rbx, rdi
test rdi, rdi
je 0x140054011
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140053fa5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x140053fad
test rdi, rdi
jne 0x140053f80
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x140054007
cmp dword [rsi + 0x48], r15d
je 0x140053fec
test byte [rsi + 0x178], r14b
je 0x140053fec
mov edx, r14d
mov rcx, rax
call fcn.14019fcc0
cmp dword [rsi + 0x48], r15d
je 0x140054007
bt dword [rsi + 0x170], 8
jae 0x140054007
mov edx, r14d
mov rcx, rdi
call fcn.14019f910
test rbp, rbp
je 0x14005401d
jmp 0x140053f53
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rcx, qword [r13 + 0x10]
bt dword [rcx + 0x48], 0xb
jae 0x140054030
mov dword [r13 + 0x18], r14d
mov dword [r13 + 0x24], r14d
bt dword [rcx + 0xc], 0x1e
jae 0x140054047
mov dword [r13 + 0x24], r14d
mov dword [r13 + 0x20], 3
mov dword [r13 + 0x18], r14d
bt dword [rcx + 0x10], 0xb
jae 0x140054056
mov dword [r13 + 0x18], r14d
mov dword [r13 + 0x1c], r14d
cmp dword [rcx + 0x40], r15d
je 0x140054067
mov dword [r13 + 0x18], r14d
mov eax, dword [rcx + 0x40]
mov dword [r13 + 0x20], eax
test byte [rcx + 0xec], 0x20
je 0x140054078
mov dword [r13 + 0x18], r14d
mov dword [r13 + 0x20], r15d
cmp dword [r13 + 0x18], r15d
je 0x1400540fd
bt dword [rcx + 0x54], 0x19
jae 0x1400540fd
mov r9d, dword [r13 + 0x24]
lea r8, str.Enabled
lea rdx, str.PowerMgnt
lea rcx, [0x14032a360]
call fcn.1401ffaf4
mov r9d, dword [r13 + 0x20]
lea r8, str.DelayTime
lea rdx, str.PowerMgnt
lea rcx, [0x14032a360]
call fcn.1401ffaf4
mov r9d, dword [r13 + 0x1c]
lea r8, str.OnlyBattery
lea rdx, str.PowerMgnt
lea rcx, [0x14032a360]
call fcn.1401ffaf4
mov r9d, dword [r13 + 0x28]
lea r8, str.PowerState
lea rdx, str.PowerMgnt
lea rcx, [0x14032a360]
call fcn.1401ffaf4
mov rax, qword [r13 + 0x10]
bt dword [rax + 8], 0x1c
jb 0x140054112
test byte [rax + 0xc], 0x40
je 0x14005423e
cmp dword [0x140326104], r15d
jne 0x140054132
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x14005423e
cmp dword [0x140326108], r15d
jne 0x14005423e
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x14005423e
mov rdi, rsi
test rsi, rsi
je 0x140054238
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140054205
mov ecx, r15d
mov edx, dword [rdi + 0xb8]
cmp edx, r14d
jne 0x140054197
mov rax, qword [r13 + 0x10]
bt dword [rax + 8], 0x1c
cmovb ecx, r14d
cmp edx, 9
jne 0x1400541a6
mov rax, qword [r13 + 0x10]
test byte [rax + 0xc], 0x40
jne 0x1400541aa
test ecx, ecx
je 0x140054205
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x1400541dd
mov rbx, rdi
test rdi, rdi
je 0x14005420f
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400541d8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 5
je 0x1400541e0
test rdi, rdi
jne 0x1400541b6
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
jne 0x140054215
test rsi, rsi
je 0x14005423e
jmp 0x140054160
call fcn.1401f8920
int3
xor edx, edx
xor ecx, ecx
call fcn.140065620
mov rcx, rdi
call fcn.1400653c0
mov rcx, rdi
call fcn.140065480
mov rcx, rdi
call fcn.140065550
jmp 0x14005423e
call fcn.1401f8920
int3
mov rax, qword [r13 + 0x10]
lea rbx, [0x140273028]
or r12, 0xffffffffffffffff
test byte [rax + 0x10], 0x80
je 0x140054476
cmp dword [0x140326104], r15d
jne 0x140054277
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x140054476
cmp dword [0x140326108], r15d
jne 0x140054476
call fcn.1401fa4b0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400542b1
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
test rbx, 0xffffffffffff0000
jne 0x1400542ed
movzx edi, bx
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x14005430d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140007610
jmp 0x14005430d
xor eax, eax
mov rcx, r12
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140007880
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x140054455
mov rbx, rsi
test rsi, rsi
je 0x14005444f
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054410
cmp dword [rbx + 0x48], 0
jne 0x140054410
mov rax, qword [rbx]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x140054410
mov rcx, qword [rsp + 0x60]
movsxd rdi, dword [rcx - 0x10]
mov edx, r14d
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, edi
or eax, edx
jge 0x140054386
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.140003d40
mov rcx, qword [rsp + 0x60]
lea eax, [rdi + 1]
movsxd rdx, eax
call fcn.140228500
test edi, edi
js 0x14005443b
mov rax, qword [rsp + 0x60]
cmp edi, dword [rax - 0xc]
jg 0x14005443b
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x60]
mov word [rax + rdi*2], 0
mov rcx, qword [rsp + 0x60]
cmp dword [rcx - 0x10], 0
jl 0x140054410
lea rdx, str.DIGITALMICWAVE
call fcn.140228250
test rax, rax
je 0x140054410
sub rax, qword [rsp + 0x60]
sar rax, 1
cmp eax, 0xffffffff
je 0x140054410
mov edx, 5
mov rcx, rbx
call fcn.1400160a0
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
call fcn.140227810
mov rdi, rax
test rax, rax
jne 0x14005441a
test rsi, rsi
je 0x140054446
jmp 0x140054321
mov rcx, rax
call fcn.1400653c0
mov rcx, rdi
call fcn.140065480
mov rcx, rdi
call fcn.140065550
lea rbx, [0x140273028]
jmp 0x140054455
mov ecx, 0x80070057
call fcn.140003d20
int3
lea rbx, [0x140273028]
jmp 0x140054455
call fcn.1401f8920
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140054476
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
test byte [rax + 0xe4], 2
je 0x140054675
call fcn.1401fa4b0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400544a7
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
test rbx, 0xffffffffffff0000
jne 0x1400544e3
movzx edi, bx
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x140054503
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140007610
jmp 0x140054503
xor eax, eax
mov rcx, r12
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140007880
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x140054654
nop
nop
nop
mov rbx, rsi
test rsi, rsi
je 0x14005464e
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14005460f
cmp dword [rbx + 0x48], 0
jne 0x14005460f
mov rax, qword [rbx]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x14005460f
mov rcx, qword [rsp + 0x50]
movsxd rdi, dword [rcx - 0x10]
mov edx, r14d
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, edi
or eax, edx
jge 0x140054585
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.140003d40
mov rcx, qword [rsp + 0x50]
lea eax, [rdi + 1]
movsxd rdx, eax
call fcn.140228500
test edi, edi
js 0x14005463a
mov rax, qword [rsp + 0x50]
cmp edi, dword [rax - 0xc]
jg 0x14005463a
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x50]
mov word [rax + rdi*2], 0
mov rcx, qword [rsp + 0x50]
cmp dword [rcx - 0x10], 0
jl 0x14005460f
lea rdx, str.DIGITALMICWAVE
call fcn.140228250
test rax, rax
je 0x14005460f
sub rax, qword [rsp + 0x50]
sar rax, 1
cmp eax, 0xffffffff
je 0x14005460f
mov edx, 5
mov rcx, rbx
call fcn.1400160a0
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
call fcn.140227810
mov rdi, rax
test rax, rax
jne 0x140054619
test rsi, rsi
je 0x140054645
jmp 0x140054520
mov rcx, rax
call fcn.1400653c0
mov rcx, rdi
call fcn.140065480
mov rcx, rdi
call fcn.140065550
lea rbx, [0x140273028]
jmp 0x140054654
mov ecx, 0x80070057
call fcn.140003d20
int3
lea rbx, [0x140273028]
jmp 0x140054654
call fcn.1401f8920
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140054675
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10], 0x1b
jae 0x1400547d2
call fcn.1401fa4b0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400546a4
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
test rbx, 0xffffffffffff0000
jne 0x1400546e0
movzx edi, bx
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x140054700
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140007610
jmp 0x140054700
xor eax, eax
mov rcx, r12
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140007880
nop
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x1400547b1
mov rdi, rbx
test rbx, rbx
je 0x1400547ab
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14005478a
cmp dword [rdi + 0x48], 0
jne 0x14005478a
mov rax, qword [rdi]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [rax + 0x28]
test eax, eax
je 0x14005478a
cmp dword [rdi + 0xb8], 4
jne 0x14005478a
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10], 0x1b
jae 0x14005478a
mov edx, 5
mov rcx, rdi
call fcn.1400160a0
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
call fcn.140227810
mov rdi, rax
test rax, rax
jne 0x140054791
test rbx, rbx
je 0x1400547b1
jmp 0x140054714
mov rcx, rax
call fcn.1400653c0
mov rcx, rdi
call fcn.140065480
mov rcx, rdi
call fcn.140065550
jmp 0x1400547b1
call fcn.1401f8920
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400547d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [r13 + 0x10]
lea rsi, [0x140000000]
bt dword [rbx + 8], 0x1e
jae 0x1400548ec
mov rbx, qword [rbx + 0x1a20]
test rbx, rbx
je 0x1400548ec
nop
nop
mov rcx, rbx
test rbx, rbx
je 0x1400548e6
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400548db
cmp dword [rcx + 0x48], 0
je 0x1400548db
cmp dword [rcx + 0xb8], 8
jne 0x1400548db
test byte [rcx + 0x17c], 1
je 0x1400548db
mov edx, 7
call fcn.1400160a0
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
call fcn.140227810
mov r11, rax
test rax, rax
je 0x1400548db
mov edx, r15d
mov r9d, dword [rax + 0x78]
test r9d, r9d
je 0x1400548db
nop
nop
cmp edx, r9d
jae 0x1400548c5
mov rdi, qword [r11 + 0x70]
test rdi, rdi
je 0x1400548c5
mov eax, edx
lea rcx, [rax + rax*8]
lea r8, [rdi + rcx*8]
test r8, r8
je 0x1400548c5
mov rdi, qword [rsi + 0x275bd8]
cmp rdi, qword [r8 + 0x20]
jne 0x1400548bc
mov rdi, qword [rsi + 0x275be0]
cmp rdi, qword [r8 + 0x28]
jne 0x1400548bc
mov eax, r15d
jmp 0x1400548c1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400548cf
add edx, 1
cmp edx, r9d
jae 0x1400548db
jmp 0x140054880
lea rdx, [r8 + 0x30]
mov rcx, r11
call fcn.1400c6670
test rbx, rbx
jne 0x140054800
jmp 0x1400548ec
call fcn.1401f8920
int3
mov rbp, qword [r13 + 0x10]
mov eax, dword [rbp + 0xc]
test al, 0x20
jne 0x140054901
bt eax, 0xb
jae 0x1400549e3
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x1400549e3
mov rsi, rbp
test rbp, rbp
je 0x1400549dd
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x1400549cd
test byte [rsi + 0x178], 8
je 0x1400549cd
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x140054961
test al, 0x40
jne 0x140054961
test al, al
js 0x140054961
bt dword [rsi + 0x180], 0x12
jb 0x140054961
mov rax, qword [r13 + 0x10]
test byte [rax + 0xc], 0x20
jne 0x1400549cd
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140054997
nop
mov rbx, rdi
test rdi, rdi
je 0x1400549d7
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054992
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 1
je 0x14005499a
test rdi, rdi
jne 0x140054970
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
test rax, rax
je 0x1400549cd
cmp dword [rsi + 0x48], 0
je 0x1400549cd
mov edx, r14d
mov rcx, rax
call fcn.14017e9a0
test rbp, rbp
je 0x1400549e3
jmp 0x140054911
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rbp, qword [r13 + 0x10]
test byte [rbp + 0xe2], 1
je 0x140054adc
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x140054adc
mov rsi, rbp
test rbp, rbp
je 0x140054ad6
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x140054ac6
test byte [rsi + 0x178], 8
je 0x140054ac6
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x140054a54
test al, 0x40
jne 0x140054a54
test al, al
js 0x140054a54
bt dword [rsi + 0x180], 0x12
jb 0x140054a54
mov rax, qword [r13 + 0x10]
test byte [rax + 0xc], 0x20
jne 0x140054ac6
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140054a87
mov rbx, rdi
test rdi, rdi
je 0x140054ad0
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054a82
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 1
je 0x140054a8a
test rdi, rdi
jne 0x140054a60
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
test rax, rax
je 0x140054ac6
cmp dword [rsi + 0x48], 0
je 0x140054ac6
cmp dword [rsi + 0xb8], 1
jne 0x140054ac6
mov edx, r14d
mov rcx, rax
call fcn.14017e9a0
test rbp, rbp
je 0x140054adc
jmp 0x140054a04
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x48], 9
jae 0x140054caa
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x140054caa
nop
nop
mov rsi, rbp
test rbp, rbp
je 0x140054ca4
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x140054c94
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x140054b3d
test al, 0x40
jne 0x140054b3d
test al, al
js 0x140054b3d
bt dword [rsi + 0x180], 0x12
jae 0x140054c94
mov eax, dword [rsi + 0xb8]
cmp eax, 8
je 0x140054b4d
cmp eax, 9
jne 0x140054b5c
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 8
jb 0x140054c94
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140054b9b
nop
nop
mov rbx, rdi
test rdi, rdi
je 0x140054c9e
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054b96
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 3
je 0x140054b9e
test rdi, rdi
jne 0x140054b70
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x140054c94
cmp dword [rsi + 0x48], 0
je 0x140054c2b
mov rax, qword [rax + 0x30]
test rax, rax
je 0x140054c2b
mov ecx, dword [rax + 0x17c]
test cl, 0x20
jne 0x140054c20
bt dword [rax + 0x180], 0x12
jb 0x140054c20
test cl, 0x40
je 0x140054c07
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270a78]
mov rcx, rdi
call fcn.1401620d0
jmp 0x140054c20
test cl, cl
jns 0x140054c20
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270aa8]
mov rcx, rdi
call fcn.1401620d0
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x40]
test byte [rsi + 0x17c], 0x20
je 0x140054c75
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b80]
mov rcx, rdi
call fcn.1401620d0
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b50]
mov rcx, rdi
call fcn.1401620d0
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b20]
mov rcx, rdi
call fcn.1401620d0
jmp 0x140054c94
bt dword [rsi + 0x180], 0x12
jae 0x140054c94
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b80]
mov rcx, rdi
call fcn.1401620d0
test rbp, rbp
je 0x140054caa
jmp 0x140054b00
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x48], 0xa
jae 0x140054e6f
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x140054e6f
nop
nop
mov rax, rbp
test rbp, rbp
je 0x140054e69
mov rbp, qword [rbp]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x140054e4d
test byte [rsi + 0x17f], 1
je 0x140054e4d
mov eax, dword [rsi + 0xb8]
cmp eax, 8
je 0x140054d0a
cmp eax, 9
jne 0x140054d19
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 8
jb 0x140054e4d
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140054d5b
nop
nop
nop
mov rbx, rdi
test rdi, rdi
je 0x140054e57
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054d56
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0xc
je 0x140054d5e
test rdi, rdi
jne 0x140054d30
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
test rax, rax
jne 0x140054e3c
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140054dbb
mov rbx, rdi
test rdi, rdi
je 0x140054e5d
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054db6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0xd
je 0x140054dbe
test rdi, rdi
jne 0x140054d90
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
test rax, rax
jne 0x140054e3c
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x140054e17
nop
mov rbx, rdi
test rdi, rdi
je 0x140054e63
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054e12
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0x12
je 0x140054e1a
test rdi, rdi
jne 0x140054df0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
test rax, rax
je 0x140054e4d
cmp dword [rsi + 0x48], 0
je 0x140054e4d
mov edx, r14d
mov rcx, rax
call fcn.140108730
test rbp, rbp
je 0x140054e6f
jmp 0x140054cd0
call fcn.1401f8920
int3
call fcn.1401f8920
int3
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rsi, qword [r13 + 0x10]
test byte [rsi + 0xe], 1
je 0x140054f19
mov rsi, qword [rsi + 0x1a20]
test rsi, rsi
je 0x140054f19
nop
mov rdi, rsi
test rsi, rsi
je 0x140054f13
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140054f06
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x140054ed6
mov rbx, rdi
test rdi, rdi
je 0x140054f0d
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140054ed1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x140054ed9
test rdi, rdi
jne 0x140054eb0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
test rax, rax
je 0x140054f06
mov edx, r14d
mov rcx, rax
call fcn.14019f350
test rsi, rsi
je 0x140054f19
jmp 0x140054e90
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r13 + 0x10]
lea rbx, [0x14027cdc8]
bt dword [rax + 0xc], 0x19
jb 0x140054f4a
mov eax, dword [rax + 0x48]
bt eax, 0xc
jb 0x140054f4a
bt eax, 0xd
jb 0x140054f4a
bt eax, 0xe
jb 0x140054f4a
bt eax, 0xf
jae 0x14005509e
mov ecx, 0x50
call fcn.1401ebd7c
mov rdi, rax
mov qword [rsp + 0x288], rax
test rax, rax
je 0x140054f78
mov rcx, rax
call fcn.1401616c0
mov qword [rdi], rbx
mov dword [rdi + 0x28], 3
jmp 0x140054f7b
mov rdi, r15
test rdi, rdi
je 0x14005509e
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x140055092
nop
nop
mov rdx, rbx
test rbx, rbx
je 0x14005508c
mov rbx, qword [rbx]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140055081
cmp dword [rdx + 0x48], 0
je 0x140055081
bt dword [rdx + 0x17c], 0x1b
jae 0x140055081
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
test eax, eax
je 0x140055081
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x140054ff7
bt dword [rax + 0x48], 0xc
jae 0x14005500c
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b80]
mov rcx, rdi
call fcn.1401620d0
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x14005501e
bt dword [rax + 0x48], 0xd
jae 0x140055033
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b98]
mov rcx, rdi
call fcn.1401620d0
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x140055045
bt dword [rax + 0x48], 0xe
jae 0x14005505a
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270bb0]
mov rcx, rdi
call fcn.1401620d0
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x14005506c
bt dword [rax + 0x48], 0xf
jae 0x140055081
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140270b20]
mov rcx, rdi
call fcn.1401620d0
test rbx, rbx
jne 0x140054fa0
jmp 0x140055092
call fcn.1401f8920
int3
mov rax, qword [rdi]
mov edx, r14d
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [r13 + 0x10]
mov eax, dword [rdi + 0xc]
bt eax, 0x1a
jb 0x1400550bc
bt eax, 0x1f
jb 0x1400550bc
bt dword [rdi + 0x48], 0x11
jae 0x140055208
mov rdi, qword [rdi + 0x1a20]
test rdi, rdi
je 0x140055208
nop
mov rbx, rdi
test rdi, rdi
je 0x140055202
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400551f7
cmp dword [rbx + 0x48], 0
je 0x1400551f7
bt dword [rbx + 0x17c], 0x1b
jae 0x1400551f7
mov rcx, qword [r13 + 0x10]
mov eax, dword [rcx + 0xc]
bt eax, 0x1a
jae 0x140055128
mov word [rsp + 0xf8], 0x13
mov dword [rsp + 0x100], 3
jmp 0x140055165
bt eax, 0x1f
jae 0x140055145
mov word [rsp + 0xf8], 0x13
mov dword [rsp + 0x100], 6
jmp 0x140055165
mov eax, dword [rcx + 0x48]
bt eax, 0x11
jae 0x140055165
shr eax, 0x12
and eax, 7
mov word [rsp + 0xf8], 0x13
mov dword [rsp + 0x100], eax
mov qword [rsp + 0x80], r15
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
mov r8d, r14d
xor edx, edx
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400551ac
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400551e9
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x1400551e9
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
lea rdx, [rsp + 0xf8]
mov qword [rsp + 0x20], rdx
lea r9, [0x140270bc8]
mov r8d, r14d
mov rdx, qword [rbx + 0x28]
call qword [rax + 0x58]
nop
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1400551e9
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
lea rcx, [rsp + 0xf8]
call qword [sym.imp.ole32.dll_PropVariantClear]
test rdi, rdi
jne 0x1400550d0
jmp 0x140055208
call fcn.1401f8920
int3
mov rsi, qword [r13 + 0x10]
bt dword [rsi + 0xc], 0x1d
jae 0x1400552d1
mov rsi, qword [rsi + 0x1a20]
test rsi, rsi
je 0x1400552d1
nop
nop
nop
mov rdi, rsi
test rsi, rsi
je 0x1400552cb
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x1400552bb
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x14005527b
mov rbx, rdi
test rdi, rdi
je 0x1400552c5
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140055276
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0xa
je 0x14005527e
test rdi, rdi
jne 0x140055254
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x1400552bb
mov edx, 2
mov rcx, rax
call fcn.1401c0920
mov edx, r14d
mov rcx, rdi
call fcn.1401c04a0
test rsi, rsi
je 0x1400552d1
jmp 0x140055230
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r13 + 0x10]
test byte [rax + 0xbb], 1
je 0x140055515
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x140055515
mov rbx, rsi
test rsi, rsi
je 0x14005550f
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400554ff
cmp dword [rbx + 0x48], 0
jne 0x1400554ff
call fcn.1401fafc0
test rax, rax
je 0x1400554ff
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x1400554ff
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x1400554ff
add dword [rcx + 0x1ab4], 1
mov edi, dword [rbx + 0x174]
shr edi, 0x12
and edi, 1
add dword [rcx + 0x1ab4], 0xffffffff
jne 0x140055370
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x1400554ff
mov rdi, qword [rbx + 0x100]
test rdi, rdi
je 0x1400553af
mov rbx, rdi
test rdi, rdi
je 0x140055509
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400553aa
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 2
je 0x1400553b2
test rdi, rdi
jne 0x140055384
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x1400554ff
mov rcx, qword [r13 + 0x10]
mov ecx, dword [rcx + 0xe0]
test cl, 0x20
mov edx, r15d
cmovne edx, r14d
test cl, 0x40
je 0x1400553f7
or edx, 2
mov rcx, rax
call fcn.14012ae70
mov rdx, qword [r13 + 0x10]
bt dword [rdx + 0x28], 0xf
jae 0x1400554d2
mov dword [rsp + 0x270], r15d
mov r9d, r14d
lea r8, [rsp + 0x270]
lea rdx, [0x140271b28]
mov rcx, rdi
call fcn.140161f50
cmp dword [rdi + 0x270], 0
je 0x140055448
mov edx, dword [rsp + 0x270]
and edx, 0xfffffffd
or edx, 0xc
jmp 0x140055452
mov edx, dword [rsp + 0x270]
or edx, 0xc
mov rcx, rdi
call fcn.14012ae70
test eax, eax
je 0x1400554b9
mov dword [rsp + 0x280], r14d
lea rcx, [rsp + 0x210]
lea rdx, [0x140000000]
mov rax, qword [rdx + 0x26de28]
mov qword [rcx], rax
mov rax, qword [rdx + 0x26de30]
mov qword [rcx + 8], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8d, 0x32
lea rdx, [rsp + 0x210]
mov rcx, qword [rdi + 0x40]
call fcn.14003bb90
cmp dword [rdi + 0x60], 0
je 0x1400554c7
mov rcx, rdi
call fcn.14012bc40
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x40]
mov rax, qword [r13 + 0x10]
test byte [rax + 0x2c], 1
je 0x1400554e7
mov edx, r14d
mov rcx, rdi
call fcn.14012bfd0
mov rax, qword [r13 + 0x10]
test byte [rax + 0xfb], 1
je 0x1400554ff
mov edx, r14d
mov rcx, rdi
call fcn.14012fa50
test rsi, rsi
je 0x140055515
jmp 0x1400552f2
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r13 + 0x10]
lea rbp, [0x140298b00]
lea r14, [0x140295e58]
bt dword [rax + 0xb8], 0x1b
jae 0x140055a5b
cmp byte [rax + 0x11c], 0
jne 0x140055552
mov ecx, dword [rax + 0xf0]
test cl, 0x10
jne 0x140055552
test cl, 0x20
je 0x140055a5b
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x140055a5b
lea rsi, [0x14026def8]
nop
nop
mov qword [rsp + 0x90], rbp
call fcn.1401fa4b0
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140055a50
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
call fcn.1401fa4b0
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140055a45
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
xor eax, eax
mov rcx, r12
lea rdi, [0x140273028]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x140273028]
lea rcx, [rsp + 0xa0]
call fcn.140007880
mov qword [rsp + 0xa8], r15
mov dword [rsp + 0xb0], r15d
mov qword [rsp + 0x90], r14
call fcn.1401fa4b0
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140055a3a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0xc8], r15d
mov dword [rsp + 0xcc], r15d
xor eax, eax
mov rcx, r12
lea rdi, [0x140273028]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x140273028]
lea rcx, [rsp + 0xd0]
call fcn.140007880
nop
mov qword [rsp + 0x90], rsi
mov dword [rsp + 0xb8], SafeArrayDestroy
mov dword [rsp + 0xd8], r15d
mov dword [rsp + 0xdc], r15d
mov rcx, rbx
test rbx, rbx
je 0x140055a34
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140055742
mov qword [rsp + 0x90], r14
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400556e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x90], rbp
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055715
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140055a29
cmp dword [rcx + 0x48], 0
je 0x1400557d1
mov qword [rsp + 0x90], r14
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055778
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x90], rbp
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400557a4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140055a29
mov eax, dword [rcx + 0x174]
bt eax, 0xc
jb 0x140055870
bt eax, 0xe
jb 0x140055870
mov qword [rsp + 0x90], r14
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055817
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x90], rbp
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055843
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140055a29
mov qword [rsp + 0xc0], rcx
mov rax, qword [rcx]
lea rdx, [rsp + 0xd0]
call qword [rax + 0x28]
mov rdx, qword [rsp + 0xc0]
mov eax, dword [rdx + 0x174]
shr eax, 0x11
and eax, 1
mov dword [rsp + 0xdc], eax
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10c], 8
jae 0x140055916
movzx ecx, byte [rax + 0x11c]
sub ecx, 1
je 0x1400558ff
sub ecx, 1
je 0x1400558e8
cmp ecx, 1
je 0x1400558d1
xor ecx, ecx
call fcn.1401e7380
jmp 0x1400559ad
mov edx, 1
lea rcx, [rsp + 0x90]
call fcn.140008700
jmp 0x1400559ad
mov edx, 1
lea rcx, [rsp + 0x90]
call fcn.140008340
jmp 0x1400559ad
mov edx, 1
lea rcx, [rsp + 0x90]
call fcn.140007f80
jmp 0x1400559ad
test byte [rax + 0x11c], 1
je 0x140055929
mov ecx, 1
call fcn.1401e8d20
mov rax, qword [r13 + 0x10]
test byte [rax + 0xf0], 0x10
je 0x140055948
mov edx, 1
lea rcx, [rsp + 0x90]
call fcn.140008e80
mov rax, qword [r13 + 0x10]
movzx ecx, byte [rax + 0x11c]
test cl, 2
je 0x14005598b
mov al, cl
shr eax, 2
and eax, 1
mov edi, r15d
setne dil
mov edx, edi
lea rcx, [rsp + 0x90]
call fcn.140008c30
mov r8d, 1
mov edx, edi
lea rcx, [rsp + 0x90]
call fcn.140008ad0
mov rax, qword [r13 + 0x10]
test byte [rax + 0xf0], 0x20
je 0x1400559ad
call fcn.1401e84d0
cmp eax, 1
je 0x1400559ad
mov ecx, 1
call fcn.1401e8960
nop
mov qword [rsp + 0x90], r14
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400559d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x90], rbp
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055a05
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055a29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
jne 0x140055570
jmp 0x140055a5b
call fcn.1401f8920
nop
mov ecx, 0x80004005
call fcn.140003d20
nop
mov ecx, 0x80004005
call fcn.140003d20
nop
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [r13 + 0x10]
lea rsi, [0x14029b178]
cmp dword [rax + 0x128], 0
je 0x140055d1a
bt dword [rax + 0xf0], 8
jb 0x140055d1a
lea rcx, [rsp + 0x110]
call fcn.1401616c0
mov qword [rsp + 0x110], rsi
mov dword [rsp + 0x138], 0x14
mov dword [rsp + 0x158], r15d
mov dword [rsp + 0x15c], r15d
mov dword [rsp + 0x160], 5
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x140055c9e
mov rdi, rbx
test rbx, rbx
je 0x140055c98
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140055c8d
cmp dword [rdi + 0x48], 0
je 0x140055c8d
bt dword [rdi + 0x17c], 0x12
jae 0x140055c8d
mov qword [rsp + 0x140], rdi
mov rax, qword [rdi]
lea rdx, [rsp + 0x150]
mov rcx, rdi
call qword [rax + 0x28]
call fcn.1401fafc0
test rax, rax
je 0x140055c8d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x140055c8d
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x140055c8d
add dword [rcx + 0x1ab4], 1
mov eax, dword [rcx + 0x18]
shr eax, 0xa
and eax, 1
mov dword [rsp + 0x15c], eax
mov eax, dword [rdi + 0x17c]
shr eax, 0x13
and eax, 1
mov dword [rsp + 0x148], eax
add dword [rcx + 0x1ab4], 0xffffffff
jne 0x140055b8e
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rsp + 0x140], 0
je 0x140055bfd
lea rcx, [0x14032c2d0]
call fcn.14018a5f0
test eax, eax
je 0x140055bfd
mov eax, 0x80000001
mov edi, dword [rsp + 0x160]
cmp eax, 0x80000003
jne 0x140055bc7
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x140]
mov rcx, qword [rax + 0x28]
mov rax, qword [0x14032c2f0]
test rax, rax
je 0x140055be3
call rax
jmp 0x140055be8
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140055bf6
test edi, edi
jg 0x140055bb5
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x158], 0x80000001
je 0x140055c6e
mov eax, 0x80000001
mov edi, dword [rsp + 0x160]
cmp eax, 0x80000003
jne 0x140055c28
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14032c2f8]
test rax, rax
je 0x140055c3f
mov ecx, dword [rsp + 0x158]
call rax
jmp 0x140055c44
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140055c54
test edi, edi
jg 0x140055c16
jmp 0x140055c5b
cmp eax, 0x80000001
je 0x140055c6e
mov rax, qword [0x14032c300]
test rax, rax
je 0x140055c6e
mov ecx, 1
call rax
mov rax, qword [r13 + 0x10]
mov ecx, dword [rax + 0x128]
mov edx, r15d
test ecx, ecx
cmovne edx, ecx
lea rcx, [rsp + 0x110]
call fcn.14018b3f0
test rbx, rbx
jne 0x140055ad0
jmp 0x140055c9e
call fcn.1401f8920
nop
mov qword [rsp + 0x110], r14
mov rdx, qword [rsp + 0x150]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055cca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x110], rbp
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055cf6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055d1a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xf4], 0xb
jae 0x140055fab
lea rcx, [rsp + 0x190]
call fcn.1401616c0
mov qword [rsp + 0x190], rsi
mov dword [rsp + 0x1b8], 0x14
mov dword [rsp + 0x1d8], r15d
mov dword [rsp + 0x1dc], r15d
mov dword [rsp + 0x1e0], 5
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x140055f2f
nop
nop
mov rdi, rbx
test rbx, rbx
je 0x140055f29
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140055f1e
cmp dword [rdi + 0x48], 0
je 0x140055f1e
bt dword [rdi + 0x17c], 0x12
jae 0x140055f1e
mov qword [rsp + 0x1c0], rdi
mov rax, qword [rdi]
lea rdx, [rsp + 0x1d0]
mov rcx, rdi
call qword [rax + 0x28]
call fcn.1401fafc0
test rax, rax
je 0x140055f1e
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x140055f1e
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x140055f1e
add dword [rcx + 0x1ab4], 1
mov eax, dword [rcx + 0x18]
shr eax, 0xa
and eax, 1
mov dword [rsp + 0x1dc], eax
mov eax, dword [rdi + 0x17c]
shr eax, 0x13
and eax, 1
mov dword [rsp + 0x1c8], eax
add dword [rcx + 0x1ab4], 0xffffffff
jne 0x140055e3e
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rsp + 0x1c0], 0
je 0x140055ead
lea rcx, [0x14032c2d0]
call fcn.14018a5f0
test eax, eax
je 0x140055ead
mov eax, 0x80000001
mov edi, dword [rsp + 0x1e0]
cmp eax, 0x80000003
jne 0x140055e77
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rax + 0x28]
mov rax, qword [0x14032c2f0]
test rax, rax
je 0x140055e93
call rax
jmp 0x140055e98
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140055ea6
test edi, edi
jg 0x140055e65
mov dword [rsp + 0x1d8], eax
cmp dword [rsp + 0x1d8], 0x80000001
je 0x140055f1e
mov eax, 0x80000001
mov edi, dword [rsp + 0x1e0]
cmp eax, 0x80000003
jne 0x140055ed8
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14032c2f8]
test rax, rax
je 0x140055eef
mov ecx, dword [rsp + 0x1d8]
call rax
jmp 0x140055ef4
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140055f04
test edi, edi
jg 0x140055ec6
jmp 0x140055f0b
cmp eax, 0x80000001
je 0x140055f1e
mov rax, qword [0x14032c300]
test rax, rax
je 0x140055f1e
mov ecx, 1
call rax
test rbx, rbx
jne 0x140055d80
jmp 0x140055f2f
call fcn.1401f8920
nop
mov qword [rsp + 0x190], r14
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055f5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x190], rbp
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055f87
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x198]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140055fab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
test byte [rax + 0xeb], 1
je 0x14005672c
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0x78], r15
mov dword [rsp + 0x278], r15d
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea r9, [0x14026dec8]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x14026de78]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400566f6
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
lea r9, [rsp + 0x78]
mov edx, 1
mov r8d, 0x1000000f
call qword [rax + 0x18]
test eax, eax
js 0x1400566ff
lea rsi, [0x140273028]
mov rdx, rsi
lea rcx, [rsp + 0xe8]
call fcn.140007530
nop
lea rcx, [rsp + 0x1f0]
lea r14, [0x140000000]
mov rax, qword [r14 + 0x275fe0]
mov qword [rcx], rax
mov rax, qword [r14 + 0x275fe8]
mov qword [rcx + 8], rax
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x188]
call fcn.140041590
nop
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140007e70
nop
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400560ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rsp + 0x278]
call qword [rax + 0x18]
test eax, eax
js 0x1400566d0
mov ebx, r15d
cmp dword [rsp + 0x278], ebx
jbe 0x1400566d0
nop
nop
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], r15
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140007530
nop
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.140007530
nop
mov qword [rsp + 0xe0], r15
mov rcx, r15
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x140056133
mov qword [rsp + 0x30], r15
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x140056150
mov qword [rsp + 0x40], r15
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140056160
mov qword [rsp + 0x38], r15
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov edx, ebx
call qword [rax + 0x20]
test eax, eax
jns 0x1400561f5
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140056187
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400561a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400561cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400561dc
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056638
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
xor edx, edx
call qword [rax + 0x20]
test eax, eax
jns 0x14005628a
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14005621c
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005623e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056260
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140056271
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056638
xor eax, eax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r8, [rsp + 0x170]
lea rdx, [0x140275b00]
call qword [rax + 0x28]
test eax, eax
jns 0x140056341
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400562d3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400562f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056317
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140056328
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056638
mov rdx, qword [rsp + 0x178]
lea rcx, [rsp + 0x68]
call fcn.14001c4f0
lea rcx, [rsp + 0x170]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov edx, r15d
mov rax, qword [rsp + 0x68]
test rax, rax
setne dl
test edx, edx
je 0x1400566c5
mov rcx, qword [rsp + 0xe8]
mov rdi, rax
sub rdi, rcx
movzx edx, word [rcx]
cmp dx, word [rcx + rdi]
jne 0x14005639c
add rcx, 2
test dx, dx
jne 0x140056385
mov ecx, r15d
jmp 0x1400563a1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
setne cl
test cl, cl
je 0x140056428
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400563bf
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [rsp + 0x68]
lea rdx, [rax - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400563dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400563fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14005640f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056638
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0xe0]
call qword [rax + 0x28]
test eax, eax
jns 0x1400564be
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140056450
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056472
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056494
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400564a5
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056638
xor eax, eax
mov rcx, r12
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140007880
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x58]
call fcn.14001c4f0
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rdx
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400565a4
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140056536
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056558
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005657a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14005658b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056638
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov r8d, 1
mov rdx, qword [rsp + 0x58]
call qword [rax + 0x68]
test eax, eax
jns 0x14005664d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400565d3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400565f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056617
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140056628
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140056638
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
add ebx, 1
cmp ebx, dword [rsp + 0x278]
jb 0x1400560e0
jmp 0x1400566d0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14005665e
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140056680
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400566a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400566b3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400566d0
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x1400566d0
mov ecx, 0x80004005
call fcn.140003d20
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140056706
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140056706
lea r14, [0x140000000]
jmp 0x140056706
lea r14, [0x140000000]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140056717
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x140056733
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140056733
lea r14, [0x140000000]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10], 0x1d
jae 0x140056ac3
mov ecx, 0x50
call fcn.1401ebd7c
mov rsi, rax
mov qword [rsp + 0x270], rax
test rax, rax
je 0x140056777
mov rcx, rax
call fcn.1401616c0
lea r12, [0x14027cdc8]
mov qword [rsi], r12
mov dword [rsi + 0x28], 3
jmp 0x140056781
mov rsi, r15
lea r12, [0x14027cdc8]
mov ecx, 0x90
call fcn.1401ebd7c
mov qword [rsp + 0x270], rax
test rax, rax
je 0x1400567a5
mov rcx, rax
call fcn.1400c5ba0
mov rbx, rax
jmp 0x1400567a8
mov rbx, r15
test rsi, rsi
je 0x140056aae
test rbx, rbx
je 0x140056aa0
mov rax, qword [r13 + 0x10]
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x140056aa0
nop
mov rdx, rbp
test rbp, rbp
je 0x140056a9a
mov rbp, qword [rbp]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140056a8f
mov ecx, dword [rdx + 0x180]
mov eax, ecx
shr eax, 0xd
and eax, 1
jne 0x140056813
bt ecx, 0x15
jb 0x140056813
bt ecx, 0x16
jb 0x140056813
bt ecx, 0x17
jae 0x140056a8f
cmp dword [rdx + 0x48], 0
je 0x140056a8f
test eax, eax
je 0x140056952
mov ecx, dword [rdx + 0xb8]
sub ecx, 1
je 0x1400568c7
cmp ecx, 7
jne 0x140056a8f
test byte [rdx + 0x17c], 1
je 0x140056a8f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov edx, r15d
mov r9d, dword [rbx + 0x78]
test r9d, r9d
je 0x140056a8f
cmp edx, r9d
jae 0x1400568a8
mov rdi, qword [rbx + 0x70]
test rdi, rdi
je 0x1400568a8
mov eax, edx
lea rcx, [rax + rax*8]
lea r8, [rdi + rcx*8]
test r8, r8
je 0x1400568a8
mov rdi, qword [r14 + 0x275bd8]
cmp rdi, qword [r8 + 0x20]
jne 0x14005689f
mov rdi, qword [r14 + 0x275be0]
cmp rdi, qword [r8 + 0x28]
jne 0x14005689f
mov eax, r15d
jmp 0x1400568a4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400568b6
add edx, 1
cmp edx, r9d
jae 0x140056a8f
jmp 0x140056863
lea rdx, [r8 + 0x30]
mov rcx, rbx
call fcn.1400c6670
jmp 0x140056a8f
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test eax, eax
je 0x140056a8f
mov edx, 1
mov rcx, rsi
call fcn.140086d10
mov edx, 1
mov rcx, rsi
call fcn.1400870b0
mov edx, 1
mov rcx, rsi
call fcn.1400853b0
mov edx, 1
mov rcx, rsi
call fcn.140085750
mov edx, 1
mov rcx, rsi
call fcn.140085af0
mov edx, 1
mov rcx, rsi
call fcn.140085e90
mov edx, 1
mov rcx, rsi
call fcn.140086230
mov edx, 1
mov rcx, rsi
call fcn.1400865d0
mov edx, 1
mov rcx, rsi
call fcn.140086970
jmp 0x140056a8f
mov ecx, dword [rdx + 0xb8]
sub ecx, 1
je 0x1400569fc
cmp ecx, 7
jne 0x140056a8f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
test eax, eax
je 0x140056a8f
cmp dword [rbx + 0x88], 0
je 0x140056a8f
mov edx, r15d
mov r9d, dword [rbx + 0x78]
test r9d, r9d
je 0x140056a8f
cmp edx, r9d
jae 0x1400569dd
mov rdi, qword [rbx + 0x70]
test rdi, rdi
je 0x1400569dd
mov eax, edx
lea rcx, [rax + rax*8]
lea r8, [rdi + rcx*8]
test r8, r8
je 0x1400569dd
mov rdi, qword [r14 + 0x275bd8]
cmp rdi, qword [r8 + 0x20]
jne 0x1400569d4
mov rdi, qword [r14 + 0x275be0]
cmp rdi, qword [r8 + 0x28]
jne 0x1400569d4
mov eax, r15d
jmp 0x1400569d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400569eb
add edx, 1
cmp edx, r9d
jae 0x140056a8f
jmp 0x140056998
lea rdx, [r8 + 0x30]
mov rcx, rbx
call fcn.1400c6670
jmp 0x140056a8f
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test eax, eax
je 0x140056a8f
mov edx, 1
mov rcx, rsi
call fcn.140087ef0
mov edx, 1
mov rcx, rsi
call fcn.140088290
mov edx, 1
mov rcx, rsi
call fcn.140088630
mov edx, 1
mov rcx, rsi
call fcn.1400889d0
mov edx, 1
mov rcx, rsi
call fcn.140088d70
mov edx, 1
mov rcx, rsi
call fcn.140089110
mov edx, 1
mov rcx, rsi
call fcn.1400894b0
mov edx, 1
mov rcx, rsi
call fcn.140089850
mov edx, 1
mov rcx, rsi
call fcn.140089bf0
mov edx, 1
mov rcx, rsi
call fcn.140089f90
test rbp, rbp
jne 0x1400567d0
jmp 0x140056aa0
call fcn.1401f8920
int3
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
je 0x140056aca
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140056aca
lea r12, [0x14027cdc8]
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x24], 0
je 0x140056c32
mov ecx, 0x50
call fcn.1401ebd7c
mov rdi, rax
mov qword [rsp + 0x270], rax
test rax, rax
je 0x140056b06
mov rcx, rax
call fcn.1401616c0
mov qword [rdi], r12
mov dword [rdi + 0x28], 3
jmp 0x140056b09
mov rdi, r15
mov rbx, qword [r13 + 0x10]
movsxd rax, dword [rbx + 0x24]
test rdi, rdi
je 0x140056c32
mov rbx, qword [rbx + 0x1a20]
mov rbp, rax
test rbx, rbx
je 0x140056c24
nop
mov rdx, rbx
test rbx, rbx
je 0x140056c1e
mov rbx, qword [rbx]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140056c13
cmp dword [rdx + 0x48], 0
je 0x140056c13
mov eax, dword [rdx + 0x180]
bt eax, 0x15
jb 0x140056b73
bt eax, 0x16
jb 0x140056b73
bt eax, 0x17
jb 0x140056b73
mov esi, r15d
jmp 0x140056b78
mov esi, 1
bt eax, 0xd
jb 0x140056b86
test esi, esi
je 0x140056c13
cmp dword [rdx + 0xb8], 1
jne 0x140056c13
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
test eax, eax
je 0x140056c13
test rbp, rbp
je 0x140056c13
test esi, esi
je 0x140056bdf
mov edx, 1
mov rcx, rdi
call fcn.140089bf0
mov edx, 1
mov rcx, rdi
call fcn.140087ef0
mov edx, 1
mov rcx, rdi
call fcn.140088630
mov edx, 1
mov rcx, rdi
call fcn.140088d70
jmp 0x140056c13
mov edx, 1
mov rcx, rdi
call fcn.140086d10
mov edx, 1
mov rcx, rdi
call fcn.1400853b0
mov edx, 1
mov rcx, rdi
call fcn.140085af0
mov edx, 1
mov rcx, rdi
call fcn.140086230
test rbx, rbx
jne 0x140056b30
jmp 0x140056c24
call fcn.1401f8920
int3
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r13 + 0x10]
test byte [rdx + 0x2c], 4
je 0x140056c62
mov rdx, qword [rdx + 0x1a20]
test rdx, rdx
je 0x140056c62
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx]
test rcx, rcx
je 0x140056c43
cmp dword [rcx + 0xb8], 1
jne 0x140056c43
call fcn.140018ab0
mov rdx, qword [r13 + 0x10]
test byte [rdx + 0x2c], 0x20
je 0x140056caf
mov rax, qword [rdx + 0x1a20]
test rax, rax
je 0x140056caf
mov rcx, rax
test rax, rax
je 0x140056ca9
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140056c9b
test byte [rdx + 0x2c], 0x20
je 0x140056c9b
cmp dword [rcx + 0xb8], 4
je 0x140056ca2
test rax, rax
je 0x140056caf
jmp 0x140056c78
call fcn.140019330
jmp 0x140056caf
call fcn.1401f8920
int3
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x2c], 0x80
je 0x140056cc4
test byte [rcx + 0x2c], 0x80
je 0x140056cc4
call fcn.14003cf50
mov rcx, qword [r13 + 0x10]
bt dword [rcx + 0x34], 0xb
jae 0x140056cd4
call fcn.140045a50
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x1dc], 0
je 0x140056fdd
mov rsi, r15
mov qword [rsp + 0x48], r15
mov r12, qword [rax + 0x1a20]
test r12, r12
je 0x140056fdd
lea r14, [0x1403183e0]
lea r15, [0x140318488]
nop
nop
mov rax, r12
test r12, r12
je 0x140056fd7
mov r12, qword [r12]
mov rbp, qword [rax + 0x10]
test rbp, rbp
je 0x140056fc7
cmp dword [rbp + 0xb8], 0
je 0x140056fc7
mov rdi, qword [rbp + 0x100]
test rdi, rdi
je 0x140056d7a
nop
nop
nop
mov rbx, rdi
test rdi, rdi
je 0x140056fd1
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140056d75
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x140056d7c
test rdi, rdi
jne 0x140056d50
xor ebx, ebx
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x140056fc7
mov rcx, qword [r13 + 0x10]
mov edx, dword [rcx + 0x1dc]
cmp edx, 4
je 0x140056efe
cmp edx, 6
je 0x140056e27
cmp edx, 8
jne 0x140056fa6
cmp qword [rax + 0x30], 0
je 0x140056e00
lea r8, [rsp + 0x48]
mov edx, 0x40
mov rcx, rax
call fcn.14019d3f0
test eax, eax
je 0x140056dfb
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call fcn.14019da60
jmp 0x140056f74
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x28]
call fcn.1401ed45c
mov r9d, 8
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401ffaf4
jmp 0x140056fa6
mov rax, qword [rax + 0x30]
test rax, rax
je 0x140056ea2
test byte [rax + 0x210], 0x10
jne 0x140056e42
xor esi, esi
mov qword [rsp + 0x48], rsi
jmp 0x140056ea2
xor eax, eax
mov rcx, r14
cmp dword [rcx], 0x10
je 0x140056e5a
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140056e47
jmp 0x140056e69
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r14 + rcx*8]
mov qword [rsp + 0x48], rsi
xor eax, eax
mov rcx, r15
nop
cmp dword [rcx], 0x10
je 0x140056e83
add eax, 1
add rcx, 0x18
cmp eax, 2
jb 0x140056e70
jmp 0x140056e92
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r15 + rcx*8]
mov qword [rsp + 0x48], rsi
mov rdx, rsi
mov rcx, rdi
call fcn.14019da60
jmp 0x140056f74
test rax, rax
je 0x140056ed7
lea r8, [rsp + 0x48]
mov edx, 0x20
mov rcx, rdi
call fcn.14019d3f0
test eax, eax
je 0x140056ed2
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call fcn.14019da60
jmp 0x140056f74
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x28]
call fcn.1401ed45c
mov r9d, 6
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401ffaf4
jmp 0x140056fa6
mov rax, qword [rax + 0x30]
test rax, rax
je 0x140056f84
test byte [rax + 0x210], 4
jne 0x140056f19
xor esi, esi
mov qword [rsp + 0x48], rsi
jmp 0x140056f84
xor eax, eax
mov rcx, r14
nop
cmp dword [rcx], 4
je 0x140056f33
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140056f20
jmp 0x140056f42
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r14 + rcx*8]
mov qword [rsp + 0x48], rsi
xor eax, eax
mov rcx, r15
cmp dword [rcx], 4
je 0x140056f5a
add eax, 1
add rcx, 0x18
cmp eax, 2
jb 0x140056f47
jmp 0x140056f69
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r15 + rcx*8]
mov qword [rsp + 0x48], rsi
mov rdx, rsi
mov rcx, rdi
call fcn.14019da60
test eax, eax
je 0x140056fa6
mov rax, qword [r13 + 0x10]
mov ebx, dword [rax + 0x1dc]
jmp 0x140056fa8
mov rdi, qword [rbp + 0x28]
call fcn.1401ed45c
mov r9d, 4
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401ffaf4
xor ebx, ebx
mov rdi, qword [rbp + 0x28]
call fcn.1401ed45c
mov r9d, ebx
lea r8, str.SetDefCh
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401ffaf4
test r12, r12
je 0x140056fdd
jmp 0x140056d10
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rdi, qword [r13 + 0x10]
test byte [rdi + 0x1b4], 8
je 0x14005702a
mov rdi, qword [rdi + 0x1a20]
test rdi, rdi
je 0x14005702a
mov rcx, rdi
test rdi, rdi
je 0x140057024
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005701d
cmp dword [rcx + 0xb8], 3
jne 0x14005701d
mov edx, 1
call fcn.14001b650
test rdi, rdi
jne 0x140056ff6
jmp 0x14005702a
call fcn.1401f8920
int3
cmp dword [0x140326104], 0
jne 0x14005704a
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x14005705e
cmp dword [0x140326108], 2
jne 0x140057087
jmp 0x140057090
cmp dword [0x140326104], 0
jne 0x14005707e
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x1400570a2
cmp dword [0x140326108], 3
jne 0x1400570a2
mov rax, qword [r13 + 0x10]
test byte [rax + 0x1b4], 4
je 0x1400570a2
call fcn.1401d63e0
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x140]
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x3a], 1
je 0x1400570be
call fcn.1400481a0
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret