Function at 0x14004eec0
Capabilities:
Check os version

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x218
mov qword [rsp + 0x1f0], 0xfffffffffffffffe
mov r13, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14004eef7
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x140051dde
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x140051dde
mov r9d, dword [rax + 8]
not r9d
and r9d, 1
lea r8, str.ShowTrayIcon
lea rdx, str.General
lea rcx, [0x1403149a0]
call fcn.1401eea54
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, [0x1403149a0]
call fcn.1401eea54
mov rbp, qword [r13 + 0x10]
xor r15d, r15d
mov r14d, 1
test byte [rbp + 0xa], r14b
jne 0x14004ef73
test byte [rbp + 0xc], 0x10
je 0x14004f04d
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x14004f04d
mov rsi, rbp
test rbp, rbp
je 0x14004f047
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14004f037
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14004efda
nop
mov rbx, rdi
test rdi, rdi
je 0x14004f041
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004efd5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x14004efdd
test rdi, rdi
jne 0x14004efb0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
mov rdi, rax
test rax, rax
je 0x14004f037
cmp dword [rsi + 0x48], r15d
je 0x14004f01c
test byte [rsi + 0x178], r14b
je 0x14004f01c
mov edx, r14d
mov rcx, rax
call fcn.14018ead0
cmp dword [rsi + 0x48], r15d
je 0x14004f037
bt dword [rsi + 0x170], 8
jae 0x14004f037
mov edx, r14d
mov rcx, rdi
call fcn.14018e720
test rbp, rbp
je 0x14004f04d
jmp 0x14004ef83
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rcx, qword [r13 + 0x10]
bt dword [rcx + 0x48], 0xb
jae 0x14004f060
mov dword [r13 + 0x1c], r14d
mov dword [r13 + 0x28], r14d
bt dword [rcx + 0xc], 0x1e
jae 0x14004f077
mov dword [r13 + 0x28], r14d
mov dword [r13 + 0x24], 3
mov dword [r13 + 0x1c], r14d
bt dword [rcx + 0x10], 0xb
jae 0x14004f086
mov dword [r13 + 0x1c], r14d
mov dword [r13 + 0x20], r14d
cmp dword [rcx + 0x40], r15d
je 0x14004f097
mov dword [r13 + 0x1c], r14d
mov eax, dword [rcx + 0x40]
mov dword [r13 + 0x24], eax
test byte [rcx + 0xec], 0x20
je 0x14004f0a8
mov dword [r13 + 0x1c], r14d
mov dword [r13 + 0x24], r15d
cmp dword [r13 + 0x1c], r15d
je 0x14004f12d
bt dword [rcx + 0x54], 0x19
jae 0x14004f12d
mov r9d, dword [r13 + 0x28]
lea r8, str.Enabled
lea rdx, str.PowerMgnt
lea rcx, [0x1403149a0]
call fcn.1401eea54
mov r9d, dword [r13 + 0x24]
lea r8, str.DelayTime
lea rdx, str.PowerMgnt
lea rcx, [0x1403149a0]
call fcn.1401eea54
mov r9d, dword [r13 + 0x20]
lea r8, str.OnlyBattery
lea rdx, str.PowerMgnt
lea rcx, [0x1403149a0]
call fcn.1401eea54
mov r9d, dword [r13 + 0x2c]
lea r8, str.PowerState
lea rdx, str.PowerMgnt
lea rcx, [0x1403149a0]
call fcn.1401eea54
mov rax, qword [r13 + 0x10]
bt dword [rax + 8], 0x1c
jb 0x14004f142
test byte [rax + 0xc], 0x40
je 0x14004f26e
cmp dword [0x140311024], r15d
jne 0x14004f162
mov dword [0x140311020], 0x114
lea rcx, [0x140311020]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140311024], 6
jne 0x14004f26e
cmp dword [0x140311028], r15d
jne 0x14004f26e
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x14004f26e
mov rdi, rsi
test rsi, rsi
je 0x14004f268
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14004f235
mov ecx, r15d
mov edx, dword [rdi + 0xb8]
cmp edx, r14d
jne 0x14004f1c7
mov rax, qword [r13 + 0x10]
bt dword [rax + 8], 0x1c
cmovb ecx, r14d
cmp edx, 9
jne 0x14004f1d6
mov rax, qword [r13 + 0x10]
test byte [rax + 0xc], 0x40
jne 0x14004f1da
test ecx, ecx
je 0x14004f235
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x14004f20d
mov rbx, rdi
test rdi, rdi
je 0x14004f23f
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004f208
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 5
je 0x14004f210
test rdi, rdi
jne 0x14004f1e6
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
mov rdi, rax
test rax, rax
jne 0x14004f245
test rsi, rsi
je 0x14004f26e
jmp 0x14004f190
call fcn.1401e7838
int3
xor edx, edx
xor ecx, ecx
call fcn.1400600d0
mov rcx, rdi
call fcn.14005fe70
mov rcx, rdi
call fcn.14005ff30
mov rcx, rdi
call fcn.140060000
jmp 0x14004f26e
call fcn.1401e7838
int3
mov rax, qword [r13 + 0x10]
lea rbx, [0x140260b08]
or r12, 0xffffffffffffffff
test byte [rax + 0x10], 0x80
je 0x14004f4a6
cmp dword [0x140311024], r15d
jne 0x14004f2a7
mov dword [0x140311020], 0x114
lea rcx, [0x140311020]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140311024], 6
jne 0x14004f4a6
cmp dword [0x140311028], r15d
jne 0x14004f4a6
call fcn.1401e9268
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004f2e1
mov ecx, 0x80004005
call fcn.140003c70
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
test rbx, 0xffffffffffff0000
jne 0x14004f31d
movzx edi, bx
mov ecx, edi
call fcn.1401eb134
test rax, rax
je 0x14004f33d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400074b0
jmp 0x14004f33d
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 + 0x58]
call fcn.140007720
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x14004f485
mov rbx, rsi
test rsi, rsi
je 0x14004f47f
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004f440
cmp dword [rbx + 0x48], 0
jne 0x14004f440
mov rax, qword [rbx]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x14004f440
mov rcx, qword [rsp + 0x58]
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 0x14004f3b6
mov edx, edi
lea rcx, [rsp + 0x58]
call fcn.140003c90
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
movsxd rdx, eax
call fcn.1402173a0
test edi, edi
js 0x14004f46b
mov rax, qword [rsp + 0x58]
cmp edi, dword [rax - 0xc]
jg 0x14004f46b
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x58]
mov word [rax + rdi*2], 0
mov rcx, qword [rsp + 0x58]
cmp dword [rcx - 0x10], 0
jl 0x14004f440
lea rdx, str.DIGITALMICWAVE
call fcn.140217480
test rax, rax
je 0x14004f440
sub rax, qword [rsp + 0x58]
sar rax, 1
cmp eax, 0xffffffff
je 0x14004f440
mov edx, 5
mov rcx, rbx
call fcn.140015e70
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
call fcn.140216fa0
mov rdi, rax
test rax, rax
jne 0x14004f44a
test rsi, rsi
je 0x14004f476
jmp 0x14004f351
mov rcx, rax
call fcn.14005fe70
mov rcx, rdi
call fcn.14005ff30
mov rcx, rdi
call fcn.140060000
lea rbx, [0x140260b08]
jmp 0x14004f485
mov ecx, 0x80070057
call fcn.140003c70
int3
lea rbx, [0x140260b08]
jmp 0x14004f485
call fcn.1401e7838
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 0x14004f4a6
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 0x14004f60e
call fcn.1401e9268
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14004f4d5
mov ecx, 0x80004005
call fcn.140003c70
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
test rbx, 0xffffffffffff0000
jne 0x14004f511
movzx edi, bx
mov ecx, edi
call fcn.1401eb134
test rax, rax
je 0x14004f531
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1400074b0
jmp 0x14004f531
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 + 0x68]
call fcn.140007720
nop
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x14004f5ed
nop
nop
nop
mov rdi, rbx
test rbx, rbx
je 0x14004f5e7
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14004f5c6
cmp dword [rdi + 0x48], 0
jne 0x14004f5c6
mov rax, qword [rdi]
lea rdx, [rsp + 0x68]
mov rcx, rdi
call qword [rax + 0x28]
test eax, eax
je 0x14004f5c6
cmp dword [rdi + 0xb8], 4
jne 0x14004f5c6
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10], 0x1b
jae 0x14004f5c6
mov edx, 5
mov rcx, rdi
call fcn.140015e70
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
call fcn.140216fa0
mov rdi, rax
test rax, rax
jne 0x14004f5cd
test rbx, rbx
je 0x14004f5ed
jmp 0x14004f550
mov rcx, rax
call fcn.14005fe70
mov rcx, rdi
call fcn.14005ff30
mov rcx, rdi
call fcn.140060000
jmp 0x14004f5ed
call fcn.1401e7838
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 0x14004f60e
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 0x14004f71c
mov rbx, qword [rbx + 0x1a20]
test rbx, rbx
je 0x14004f71c
mov rcx, rbx
test rbx, rbx
je 0x14004f716
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004f70b
cmp dword [rcx + 0x48], 0
je 0x14004f70b
cmp dword [rcx + 0xb8], 8
jne 0x14004f70b
test byte [rcx + 0x17c], 1
je 0x14004f70b
mov edx, 7
call fcn.140015e70
mov rcx, rax
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
call fcn.140216fa0
mov r11, rax
test rax, rax
je 0x14004f70b
mov edx, r15d
mov r9d, dword [rax + 0x78]
test r9d, r9d
je 0x14004f70b
nop
cmp edx, r9d
jae 0x14004f6f5
mov rdi, qword [r11 + 0x70]
test rdi, rdi
je 0x14004f6f5
mov eax, edx
lea rcx, [rax + rax*8]
lea r8, [rdi + rcx*8]
test r8, r8
je 0x14004f6f5
mov rdi, qword [rsi + 0x2636b8]
cmp rdi, qword [r8 + 0x20]
jne 0x14004f6ec
mov rdi, qword [rsi + 0x2636c0]
cmp rdi, qword [r8 + 0x28]
jne 0x14004f6ec
mov eax, r15d
jmp 0x14004f6f1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14004f6ff
add edx, 1
cmp edx, r9d
jae 0x14004f70b
jmp 0x14004f6b0
lea rdx, [r8 + 0x30]
mov rcx, r11
call fcn.1400c10f0
test rbx, rbx
jne 0x14004f634
jmp 0x14004f71c
call fcn.1401e7838
int3
mov rbp, qword [r13 + 0x10]
mov eax, dword [rbp + 0xc]
test al, 0x20
jne 0x14004f731
bt eax, 0xb
jae 0x14004f813
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x14004f813
mov rsi, rbp
test rbp, rbp
je 0x14004f80d
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14004f7fd
test byte [rsi + 0x178], 8
je 0x14004f7fd
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x14004f791
test al, 0x40
jne 0x14004f791
test al, al
js 0x14004f791
bt dword [rsi + 0x180], 0x12
jb 0x14004f791
mov rax, qword [r13 + 0x10]
test byte [rax + 0xc], 0x20
jne 0x14004f7fd
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14004f7c7
nop
mov rbx, rdi
test rdi, rdi
je 0x14004f807
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004f7c2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 1
je 0x14004f7ca
test rdi, rdi
jne 0x14004f7a0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
test rax, rax
je 0x14004f7fd
cmp dword [rsi + 0x48], 0
je 0x14004f7fd
mov edx, r14d
mov rcx, rax
call fcn.14016d850
test rbp, rbp
je 0x14004f813
jmp 0x14004f741
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x48], 9
jae 0x14004f9da
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x14004f9da
mov rsi, rbp
test rbp, rbp
je 0x14004f9d4
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14004f9c4
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x14004f86f
test al, 0x40
jne 0x14004f86f
test al, al
js 0x14004f86f
bt dword [rsi + 0x180], 0x12
jae 0x14004f9c4
mov eax, dword [rsi + 0xb8]
cmp eax, 8
je 0x14004f87f
cmp eax, 9
jne 0x14004f88e
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 8
jb 0x14004f9c4
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14004f8cb
nop
nop
mov rbx, rdi
test rdi, rdi
je 0x14004f9ce
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004f8c6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 3
je 0x14004f8ce
test rdi, rdi
jne 0x14004f8a0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
mov rdi, rax
test rax, rax
je 0x14004f9c4
cmp dword [rsi + 0x48], 0
je 0x14004f95b
mov rax, qword [rax + 0x30]
test rax, rax
je 0x14004f95b
mov ecx, dword [rax + 0x17c]
test cl, 0x20
jne 0x14004f950
bt dword [rax + 0x180], 0x12
jb 0x14004f950
test cl, 0x40
je 0x14004f937
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e708]
mov rcx, rdi
call fcn.140151260
jmp 0x14004f950
test cl, cl
jns 0x14004f950
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e738]
mov rcx, rdi
call fcn.140151260
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x40]
test byte [rsi + 0x17c], 0x20
je 0x14004f9a5
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e810]
mov rcx, rdi
call fcn.140151260
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e7e0]
mov rcx, rdi
call fcn.140151260
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e7b0]
mov rcx, rdi
call fcn.140151260
jmp 0x14004f9c4
bt dword [rsi + 0x180], 0x12
jae 0x14004f9c4
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e810]
mov rcx, rdi
call fcn.140151260
test rbp, rbp
je 0x14004f9da
jmp 0x14004f832
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x48], 0xa
jae 0x14004fb9f
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x14004fb9f
nop
nop
mov rax, rbp
test rbp, rbp
je 0x14004fb99
mov rbp, qword [rbp]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x14004fb7d
test byte [rsi + 0x17f], 1
je 0x14004fb7d
mov eax, dword [rsi + 0xb8]
cmp eax, 8
je 0x14004fa3a
cmp eax, 9
jne 0x14004fa49
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 8
jb 0x14004fb7d
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14004fa8b
nop
nop
nop
mov rbx, rdi
test rdi, rdi
je 0x14004fb87
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004fa86
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0xc
je 0x14004fa8e
test rdi, rdi
jne 0x14004fa60
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
test rax, rax
jne 0x14004fb6c
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14004faeb
mov rbx, rdi
test rdi, rdi
je 0x14004fb8d
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004fae6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0xd
je 0x14004faee
test rdi, rdi
jne 0x14004fac0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
test rax, rax
jne 0x14004fb6c
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14004fb47
nop
mov rbx, rdi
test rdi, rdi
je 0x14004fb93
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004fb42
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0x12
je 0x14004fb4a
test rdi, rdi
jne 0x14004fb20
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
test rax, rax
je 0x14004fb7d
cmp dword [rsi + 0x48], 0
je 0x14004fb7d
mov edx, r14d
mov rcx, rax
call fcn.140103020
test rbp, rbp
je 0x14004fb9f
jmp 0x14004fa00
call fcn.1401e7838
int3
call fcn.1401e7838
int3
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rsi, qword [r13 + 0x10]
test byte [rsi + 0xe], 1
je 0x14004fc49
mov rsi, qword [rsi + 0x1a20]
test rsi, rsi
je 0x14004fc49
nop
mov rdi, rsi
test rsi, rsi
je 0x14004fc43
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14004fc36
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x14004fc06
mov rbx, rdi
test rdi, rdi
je 0x14004fc3d
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004fc01
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x14004fc09
test rdi, rdi
jne 0x14004fbe0
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
test rax, rax
je 0x14004fc36
mov edx, r14d
mov rcx, rax
call fcn.14018e160
test rsi, rsi
je 0x14004fc49
jmp 0x14004fbc0
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rax, qword [r13 + 0x10]
lea rbx, [0x14026a2a8]
bt dword [rax + 0xc], 0x19
jb 0x14004fc7a
mov eax, dword [rax + 0x48]
bt eax, 0xc
jb 0x14004fc7a
bt eax, 0xd
jb 0x14004fc7a
bt eax, 0xe
jb 0x14004fc7a
bt eax, 0xf
jae 0x14004fdce
mov ecx, 0x50
call fcn.1401dac8c
mov rdi, rax
mov qword [rsp + 0x278], rax
test rax, rax
je 0x14004fca8
mov rcx, rax
call fcn.140150960
mov qword [rdi], rbx
mov dword [rdi + 0x28], 3
jmp 0x14004fcab
mov rdi, r15
test rdi, rdi
je 0x14004fdce
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x14004fdc2
nop
nop
mov rdx, rbx
test rbx, rbx
je 0x14004fdbc
mov rbx, qword [rbx]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14004fdb1
cmp dword [rdx + 0x48], 0
je 0x14004fdb1
bt dword [rdx + 0x17c], 0x1b
jae 0x14004fdb1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
test eax, eax
je 0x14004fdb1
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x14004fd27
bt dword [rax + 0x48], 0xc
jae 0x14004fd3c
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e810]
mov rcx, rdi
call fcn.140151260
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x14004fd4e
bt dword [rax + 0x48], 0xd
jae 0x14004fd63
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e828]
mov rcx, rdi
call fcn.140151260
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x14004fd75
bt dword [rax + 0x48], 0xe
jae 0x14004fd8a
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e840]
mov rcx, rdi
call fcn.140151260
mov rax, qword [r13 + 0x10]
bt dword [rax + 0xc], 0x19
jb 0x14004fd9c
bt dword [rax + 0x48], 0xf
jae 0x14004fdb1
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x14025e7b0]
mov rcx, rdi
call fcn.140151260
test rbx, rbx
jne 0x14004fcd0
jmp 0x14004fdc2
call fcn.1401e7838
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 0x14004fdec
bt eax, 0x1f
jb 0x14004fdec
bt dword [rdi + 0x48], 0x11
jae 0x14004ff29
mov rdi, qword [rdi + 0x1a20]
test rdi, rdi
je 0x14004ff29
nop
mov rbx, rdi
test rdi, rdi
je 0x14004ff23
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004ff18
cmp dword [rbx + 0x48], 0
je 0x14004ff18
bt dword [rbx + 0x17c], 0x1b
jae 0x14004ff18
mov rcx, qword [r13 + 0x10]
mov eax, dword [rcx + 0xc]
bt eax, 0x1a
jae 0x14004fe58
mov word [rsp + 0xe8], 0x13
mov dword [rsp + 0xf0], 3
jmp 0x14004fe95
bt eax, 0x1f
jae 0x14004fe75
mov word [rsp + 0xe8], 0x13
mov dword [rsp + 0xf0], 6
jmp 0x14004fe95
mov eax, dword [rcx + 0x48]
bt eax, 0x11
jae 0x14004fe95
shr eax, 0x12
and eax, 7
mov word [rsp + 0xe8], 0x13
mov dword [rsp + 0xf0], eax
mov qword [rsp + 0x78], r15
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [0x140260ad8]
mov r8d, r14d
xor edx, edx
lea rcx, [0x140260a78]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14004fed3
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14004ff0a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14004ff0a
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rsp + 0xe8]
mov qword [rsp + 0x20], rdx
lea r9, [0x14025e858]
mov r8d, r14d
mov rdx, qword [rbx + 0x28]
call qword [rax + 0x58]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14004ff0a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
lea rcx, [rsp + 0xe8]
call qword [sym.imp.ole32.dll_PropVariantClear]
test rdi, rdi
jne 0x14004fe00
jmp 0x14004ff29
call fcn.1401e7838
int3
mov rsi, qword [r13 + 0x10]
bt dword [rsi + 0xc], 0x1d
jae 0x14004fff1
mov rsi, qword [rsi + 0x1a20]
test rsi, rsi
je 0x14004fff1
nop
nop
mov rdi, rsi
test rsi, rsi
je 0x14004ffeb
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14004ffdb
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x14004ff9b
mov rbx, rdi
test rdi, rdi
je 0x14004ffe5
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004ff96
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 0xa
je 0x14004ff9e
test rdi, rdi
jne 0x14004ff74
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
mov rdi, rax
test rax, rax
je 0x14004ffdb
mov edx, 2
mov rcx, rax
call fcn.1401af740
mov edx, r14d
mov rcx, rdi
call fcn.1401af2c0
test rsi, rsi
je 0x14004fff1
jmp 0x14004ff50
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rax, qword [r13 + 0x10]
test byte [rax + 0xbb], 1
je 0x140050235
mov rsi, qword [rax + 0x1a20]
test rsi, rsi
je 0x140050235
mov rbx, rsi
test rsi, rsi
je 0x14005022f
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14005021f
cmp dword [rbx + 0x48], 0
jne 0x14005021f
call fcn.1401e9d6c
test rax, rax
je 0x14005021f
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x14005021f
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x14005021f
add dword [rcx + 0x1ab4], 1
mov edi, dword [rbx + 0x174]
shr edi, 0x12
and edi, 1
add dword [rcx + 0x1ab4], 0xffffffff
jne 0x140050090
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x14005021f
mov rdi, qword [rbx + 0x100]
test rdi, rdi
je 0x1400500cf
mov rbx, rdi
test rdi, rdi
je 0x140050229
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400500ca
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 2
je 0x1400500d2
test rdi, rdi
jne 0x1400500a4
mov rbx, r15
mov dword [rsp + 0x20], r15d
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
mov rdi, rax
test rax, rax
je 0x14005021f
mov rcx, qword [r13 + 0x10]
mov ecx, dword [rcx + 0xe0]
test cl, 0x20
mov edx, r15d
cmovne edx, r14d
test cl, 0x40
je 0x140050117
or edx, 2
mov rcx, rax
call fcn.14011a160
mov rdx, qword [r13 + 0x10]
bt dword [rdx + 0x28], 0xf
jae 0x1400501f2
mov dword [rsp + 0x260], r15d
mov r9d, r14d
lea r8, [rsp + 0x260]
lea rdx, [0x14025f7b8]
mov rcx, rdi
call fcn.1401510e0
cmp dword [rdi + 0x270], 0
je 0x140050168
mov edx, dword [rsp + 0x260]
and edx, 0xfffffffd
or edx, 0xc
jmp 0x140050172
mov edx, dword [rsp + 0x260]
or edx, 0xc
mov rcx, rdi
call fcn.14011a160
test eax, eax
je 0x1400501d9
mov dword [rsp + 0x270], r14d
lea rcx, [rsp + 0x200]
lea rdx, [0x140000000]
mov rax, qword [rdx + 0x25bab8]
mov qword [rcx], rax
mov rax, qword [rdx + 0x25bac0]
mov qword [rcx + 8], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x270]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8d, 0x32
lea rdx, [rsp + 0x200]
mov rcx, qword [rdi + 0x40]
call fcn.14003b8e0
cmp dword [rdi + 0x60], 0
je 0x1400501e7
mov rcx, rdi
call fcn.14011af30
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 0x140050207
mov edx, r14d
mov rcx, rdi
call fcn.14011b2c0
mov rax, qword [r13 + 0x10]
test byte [rax + 0xfb], 1
je 0x14005021f
mov edx, r14d
mov rcx, rdi
call fcn.14011ed40
test rsi, rsi
je 0x140050235
jmp 0x140050012
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rax, qword [r13 + 0x10]
lea rbp, [0x140285850]
lea r14, [0x140282bc8]
bt dword [rax + 0xb8], 0x1b
jae 0x14005077b
cmp byte [rax + 0x11c], 0
jne 0x140050272
mov ecx, dword [rax + 0xf0]
test cl, 0x10
jne 0x140050272
test cl, 0x20
je 0x14005077b
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x14005077b
lea rsi, [0x14025bb88]
nop
nop
mov qword [rsp + 0x80], rbp
call fcn.1401e9268
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140050770
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
call fcn.1401e9268
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140050765
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
xor eax, eax
mov rcx, r12
lea rdi, [0x140260b08]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x140260b08]
lea rcx, [rsp + 0x90]
call fcn.140007720
mov qword [rsp + 0x98], r15
mov dword [rsp + 0xa0], r15d
mov qword [rsp + 0x80], r14
call fcn.1401e9268
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14005075a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb0], r15
mov dword [rsp + 0xb8], r15d
mov dword [rsp + 0xbc], r15d
xor eax, eax
mov rcx, r12
lea rdi, [0x140260b08]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x140260b08]
lea rcx, [rsp + 0xc0]
call fcn.140007720
nop
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0xa8], SafeArrayDestroy
mov dword [rsp + 0xc8], r15d
mov dword [rsp + 0xcc], r15d
mov rcx, rbx
test rbx, rbx
je 0x140050754
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140050462
mov qword [rsp + 0x80], r14
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050409
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x80], rbp
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050435
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050749
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050749
cmp dword [rcx + 0x48], 0
je 0x1400504f1
mov qword [rsp + 0x80], r14
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050498
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x80], rbp
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400504c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050749
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050749
mov eax, dword [rcx + 0x174]
bt eax, 0xc
jb 0x140050590
bt eax, 0xe
jb 0x140050590
mov qword [rsp + 0x80], r14
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050537
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x80], rbp
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050563
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050749
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050749
mov qword [rsp + 0xb0], rcx
mov rax, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [rax + 0x28]
mov rdx, qword [rsp + 0xb0]
mov eax, dword [rdx + 0x174]
shr eax, 0x11
and eax, 1
mov dword [rsp + 0xcc], eax
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10c], 8
jae 0x140050636
movzx ecx, byte [rax + 0x11c]
sub ecx, 1
je 0x14005061f
sub ecx, 1
je 0x140050608
cmp ecx, 1
je 0x1400505f1
xor ecx, ecx
call fcn.1401d6290
jmp 0x1400506cd
mov edx, 1
lea rcx, [rsp + 0x80]
call fcn.1400085a0
jmp 0x1400506cd
mov edx, 1
lea rcx, [rsp + 0x80]
call fcn.1400081e0
jmp 0x1400506cd
mov edx, 1
lea rcx, [rsp + 0x80]
call fcn.140007e20
jmp 0x1400506cd
test byte [rax + 0x11c], 1
je 0x140050649
mov ecx, 1
call fcn.1401d7c30
mov rax, qword [r13 + 0x10]
test byte [rax + 0xf0], 0x10
je 0x140050668
mov edx, 1
lea rcx, [rsp + 0x80]
call fcn.140008d20
mov rax, qword [r13 + 0x10]
movzx ecx, byte [rax + 0x11c]
test cl, 2
je 0x1400506ab
mov al, cl
shr eax, 2
and eax, 1
mov edi, r15d
setne dil
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140008ad0
mov r8d, 1
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140008970
mov rax, qword [r13 + 0x10]
test byte [rax + 0xf0], 0x20
je 0x1400506cd
call fcn.1401d73e0
cmp eax, 1
je 0x1400506cd
mov ecx, 1
call fcn.1401d7870
nop
mov qword [rsp + 0x80], r14
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400506f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x80], rbp
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050725
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050749
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
jne 0x140050290
jmp 0x14005077b
call fcn.1401e7838
nop
mov ecx, 0x80004005
call fcn.140003c70
nop
mov ecx, 0x80004005
call fcn.140003c70
nop
mov ecx, 0x80004005
call fcn.140003c70
int3
mov rax, qword [r13 + 0x10]
lea rsi, [0x140287e98]
cmp dword [rax + 0x128], 0
je 0x140050a3a
bt dword [rax + 0xf0], 8
jb 0x140050a3a
lea rcx, [rsp + 0x100]
call fcn.140150960
mov qword [rsp + 0x100], rsi
mov dword [rsp + 0x128], 0x14
mov dword [rsp + 0x148], r15d
mov dword [rsp + 0x14c], r15d
mov dword [rsp + 0x150], 5
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x1400509be
mov rdi, rbx
test rbx, rbx
je 0x1400509b8
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x1400509ad
cmp dword [rdi + 0x48], 0
je 0x1400509ad
bt dword [rdi + 0x17c], 0x12
jae 0x1400509ad
mov qword [rsp + 0x130], rdi
mov rax, qword [rdi]
lea rdx, [rsp + 0x140]
mov rcx, rdi
call qword [rax + 0x28]
call fcn.1401e9d6c
test rax, rax
je 0x1400509ad
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x1400509ad
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x1400509ad
add dword [rcx + 0x1ab4], 1
mov eax, dword [rcx + 0x18]
shr eax, 0xa
and eax, 1
mov dword [rsp + 0x14c], eax
mov eax, dword [rdi + 0x17c]
shr eax, 0x13
and eax, 1
mov dword [rsp + 0x138], eax
add dword [rcx + 0x1ab4], 0xffffffff
jne 0x1400508ae
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rsp + 0x130], 0
je 0x14005091d
lea rcx, [0x140316910]
call fcn.1401794a0
test eax, eax
je 0x14005091d
mov eax, 0x80000001
mov edi, dword [rsp + 0x150]
cmp eax, 0x80000003
jne 0x1400508e7
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x130]
mov rcx, qword [rax + 0x28]
mov rax, qword [0x140316930]
test rax, rax
je 0x140050903
call rax
jmp 0x140050908
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140050916
test edi, edi
jg 0x1400508d5
mov dword [rsp + 0x148], eax
cmp dword [rsp + 0x148], 0x80000001
je 0x14005098e
mov eax, 0x80000001
mov edi, dword [rsp + 0x150]
cmp eax, 0x80000003
jne 0x140050948
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x140316938]
test rax, rax
je 0x14005095f
mov ecx, dword [rsp + 0x148]
call rax
jmp 0x140050964
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140050974
test edi, edi
jg 0x140050936
jmp 0x14005097b
cmp eax, 0x80000001
je 0x14005098e
mov rax, qword [0x140316940]
test rax, rax
je 0x14005098e
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 + 0x100]
call fcn.14017a300
test rbx, rbx
jne 0x1400507f0
jmp 0x1400509be
call fcn.1401e7838
nop
mov qword [rsp + 0x100], r14
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400509ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x100], rbp
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050a16
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050a3a
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 0x140050ccb
lea rcx, [rsp + 0x180]
call fcn.140150960
mov qword [rsp + 0x180], rsi
mov dword [rsp + 0x1a8], 0x14
mov dword [rsp + 0x1c8], r15d
mov dword [rsp + 0x1cc], r15d
mov dword [rsp + 0x1d0], 5
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1a20]
test rbx, rbx
je 0x140050c4f
nop
nop
mov rdi, rbx
test rbx, rbx
je 0x140050c49
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140050c3e
cmp dword [rdi + 0x48], 0
je 0x140050c3e
bt dword [rdi + 0x17c], 0x12
jae 0x140050c3e
mov qword [rsp + 0x1b0], rdi
mov rax, qword [rdi]
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call qword [rax + 0x28]
call fcn.1401e9d6c
test rax, rax
je 0x140050c3e
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x140050c3e
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x140050c3e
add dword [rcx + 0x1ab4], 1
mov eax, dword [rcx + 0x18]
shr eax, 0xa
and eax, 1
mov dword [rsp + 0x1cc], eax
mov eax, dword [rdi + 0x17c]
shr eax, 0x13
and eax, 1
mov dword [rsp + 0x1b8], eax
add dword [rcx + 0x1ab4], 0xffffffff
jne 0x140050b5e
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rsp + 0x1b0], 0
je 0x140050bcd
lea rcx, [0x140316910]
call fcn.1401794a0
test eax, eax
je 0x140050bcd
mov eax, 0x80000001
mov edi, dword [rsp + 0x1d0]
cmp eax, 0x80000003
jne 0x140050b97
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rax + 0x28]
mov rax, qword [0x140316930]
test rax, rax
je 0x140050bb3
call rax
jmp 0x140050bb8
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140050bc6
test edi, edi
jg 0x140050b85
mov dword [rsp + 0x1c8], eax
cmp dword [rsp + 0x1c8], 0x80000001
je 0x140050c3e
mov eax, 0x80000001
mov edi, dword [rsp + 0x1d0]
cmp eax, 0x80000003
jne 0x140050bf8
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x140316938]
test rax, rax
je 0x140050c0f
mov ecx, dword [rsp + 0x1c8]
call rax
jmp 0x140050c14
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x140050c24
test edi, edi
jg 0x140050be6
jmp 0x140050c2b
cmp eax, 0x80000001
je 0x140050c3e
mov rax, qword [0x140316940]
test rax, rax
je 0x140050c3e
mov ecx, 1
call rax
test rbx, rbx
jne 0x140050aa0
jmp 0x140050c4f
call fcn.1401e7838
nop
mov qword [rsp + 0x180], r14
mov rdx, qword [rsp + 0x1c0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050c7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x180], rbp
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050ca7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050ccb
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 0x14005144c
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x268], r15d
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
lea r9, [0x14025bb58]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x14025bb08]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140051416
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
lea r9, [rsp + 0x70]
mov edx, 1
mov r8d, 0x1000000f
call qword [rax + 0x18]
test eax, eax
js 0x14005141f
lea rsi, [0x140260b08]
mov rdx, rsi
lea rcx, [rsp + 0xd8]
call fcn.1400073d0
nop
lea rcx, [rsp + 0x1e0]
lea r14, [0x140000000]
mov rax, qword [r14 + 0x263ac0]
mov qword [rcx], rax
mov rax, qword [r14 + 0x263ac8]
mov qword [rcx + 8], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x178]
call fcn.1400412e0
nop
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140007d10
nop
mov rdx, qword [rsp + 0x178]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050dcd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x268]
call qword [rax + 0x18]
test eax, eax
js 0x1400513f0
mov ebx, r15d
cmp dword [rsp + 0x268], ebx
jbe 0x1400513f0
nop
nop
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], r15
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.1400073d0
nop
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1400073d0
nop
mov qword [rsp + 0xd0], r15
mov rcx, r15
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x140050e53
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 0x140050e70
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 0x140050e80
mov qword [rsp + 0x38], r15
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov edx, ebx
call qword [rax + 0x20]
test eax, eax
jns 0x140050f15
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140050ea7
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x140050ec9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x140050eeb
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 0x140050efc
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051358
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
xor edx, edx
call qword [rax + 0x20]
test eax, eax
jns 0x140050faa
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140050f3c
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x140050f5e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x140050f80
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 0x140050f91
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051358
xor eax, eax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r8, [rsp + 0x160]
lea rdx, [0x1402635e0]
call qword [rax + 0x28]
test eax, eax
jns 0x140051061
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140050ff3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x140051015
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x140051037
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 0x140051048
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051358
mov rdx, qword [rsp + 0x168]
lea rcx, [rsp + 0x60]
call fcn.14001c2f0
lea rcx, [rsp + 0x160]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov edx, r15d
mov rax, qword [rsp + 0x60]
test rax, rax
setne dl
test edx, edx
je 0x1400513e5
mov rcx, qword [rsp + 0xd8]
mov rdi, rax
sub rdi, rcx
movzx edx, word [rcx]
cmp dx, word [rcx + rdi]
jne 0x1400510bc
add rcx, 2
test dx, dx
jne 0x1400510a5
mov ecx, r15d
jmp 0x1400510c1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
setne cl
test cl, cl
je 0x140051148
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400510df
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [rsp + 0x60]
lea rdx, [rax - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400510fc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x14005111e
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 0x14005112f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051358
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0xd0]
call qword [rax + 0x28]
test eax, eax
jns 0x1400511de
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140051170
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x140051192
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x1400511b4
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 0x1400511c5
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051358
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 + 0x50]
call fcn.140007720
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.14001c2f0
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rdx
lea r9, [0x140260ad8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140260a78]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400512c4
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140051256
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x140051278
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x14005129a
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 0x1400512ab
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051358
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov r8d, 1
mov rdx, qword [rsp + 0x50]
call qword [rax + 0x68]
test eax, eax
jns 0x14005136d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400512f3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x140051315
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x140051337
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 0x140051348
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140051358
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
add ebx, 1
cmp ebx, dword [rsp + 0x268]
jb 0x140050e00
jmp 0x1400513f0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14005137e
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
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 0x1400513a0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x1400513c2
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 0x1400513d3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400513f0
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x1400513f0
mov ecx, 0x80004005
call fcn.140003c70
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140051426
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140051426
lea r14, [0x140000000]
jmp 0x140051426
lea r14, [0x140000000]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140051437
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x140051453
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140051453
lea r14, [0x140000000]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x10], 0x1d
jae 0x1400517e3
mov ecx, 0x50
call fcn.1401dac8c
mov rsi, rax
mov qword [rsp + 0x260], rax
test rax, rax
je 0x140051497
mov rcx, rax
call fcn.140150960
lea r12, [0x14026a2a8]
mov qword [rsi], r12
mov dword [rsi + 0x28], 3
jmp 0x1400514a1
mov rsi, r15
lea r12, [0x14026a2a8]
mov ecx, 0x90
call fcn.1401dac8c
mov qword [rsp + 0x260], rax
test rax, rax
je 0x1400514c5
mov rcx, rax
call fcn.1400c04f0
mov rbx, rax
jmp 0x1400514c8
mov rbx, r15
test rsi, rsi
je 0x1400517ce
test rbx, rbx
je 0x1400517c0
mov rax, qword [r13 + 0x10]
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x1400517c0
nop
mov rdx, rbp
test rbp, rbp
je 0x1400517ba
mov rbp, qword [rbp]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x1400517af
mov ecx, dword [rdx + 0x180]
mov eax, ecx
shr eax, 0xd
and eax, 1
jne 0x140051533
bt ecx, 0x15
jb 0x140051533
bt ecx, 0x16
jb 0x140051533
bt ecx, 0x17
jae 0x1400517af
cmp dword [rdx + 0x48], 0
je 0x1400517af
test eax, eax
je 0x140051672
mov ecx, dword [rdx + 0xb8]
sub ecx, 1
je 0x1400515e7
cmp ecx, 7
jne 0x1400517af
test byte [rdx + 0x17c], 1
je 0x1400517af
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov edx, r15d
mov r9d, dword [rbx + 0x78]
test r9d, r9d
je 0x1400517af
cmp edx, r9d
jae 0x1400515c8
mov rdi, qword [rbx + 0x70]
test rdi, rdi
je 0x1400515c8
mov eax, edx
lea rcx, [rax + rax*8]
lea r8, [rdi + rcx*8]
test r8, r8
je 0x1400515c8
mov rdi, qword [r14 + 0x2636b8]
cmp rdi, qword [r8 + 0x20]
jne 0x1400515bf
mov rdi, qword [r14 + 0x2636c0]
cmp rdi, qword [r8 + 0x28]
jne 0x1400515bf
mov eax, r15d
jmp 0x1400515c4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1400515d6
add edx, 1
cmp edx, r9d
jae 0x1400517af
jmp 0x140051583
lea rdx, [r8 + 0x30]
mov rcx, rbx
call fcn.1400c10f0
jmp 0x1400517af
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test eax, eax
je 0x1400517af
mov edx, 1
mov rcx, rsi
call fcn.140081780
mov edx, 1
mov rcx, rsi
call fcn.140081b20
mov edx, 1
mov rcx, rsi
call fcn.14007fe20
mov edx, 1
mov rcx, rsi
call fcn.1400801c0
mov edx, 1
mov rcx, rsi
call fcn.140080560
mov edx, 1
mov rcx, rsi
call fcn.140080900
mov edx, 1
mov rcx, rsi
call fcn.140080ca0
mov edx, 1
mov rcx, rsi
call fcn.140081040
mov edx, 1
mov rcx, rsi
call fcn.1400813e0
jmp 0x1400517af
mov ecx, dword [rdx + 0xb8]
sub ecx, 1
je 0x14005171c
cmp ecx, 7
jne 0x1400517af
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
test eax, eax
je 0x1400517af
cmp dword [rbx + 0x88], 0
je 0x1400517af
mov edx, r15d
mov r9d, dword [rbx + 0x78]
test r9d, r9d
je 0x1400517af
cmp edx, r9d
jae 0x1400516fd
mov rdi, qword [rbx + 0x70]
test rdi, rdi
je 0x1400516fd
mov eax, edx
lea rcx, [rax + rax*8]
lea r8, [rdi + rcx*8]
test r8, r8
je 0x1400516fd
mov rdi, qword [r14 + 0x2636b8]
cmp rdi, qword [r8 + 0x20]
jne 0x1400516f4
mov rdi, qword [r14 + 0x2636c0]
cmp rdi, qword [r8 + 0x28]
jne 0x1400516f4
mov eax, r15d
jmp 0x1400516f9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14005170b
add edx, 1
cmp edx, r9d
jae 0x1400517af
jmp 0x1400516b8
lea rdx, [r8 + 0x30]
mov rcx, rbx
call fcn.1400c10f0
jmp 0x1400517af
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test eax, eax
je 0x1400517af
mov edx, 1
mov rcx, rsi
call fcn.140082960
mov edx, 1
mov rcx, rsi
call fcn.140082d00
mov edx, 1
mov rcx, rsi
call fcn.1400830a0
mov edx, 1
mov rcx, rsi
call fcn.140083440
mov edx, 1
mov rcx, rsi
call fcn.1400837e0
mov edx, 1
mov rcx, rsi
call fcn.140083b80
mov edx, 1
mov rcx, rsi
call fcn.140083f20
mov edx, 1
mov rcx, rsi
call fcn.1400842c0
mov edx, 1
mov rcx, rsi
call fcn.140084660
mov edx, 1
mov rcx, rsi
call fcn.140084a00
test rbp, rbp
jne 0x1400514f0
jmp 0x1400517c0
call fcn.1401e7838
int3
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
je 0x1400517ea
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400517ea
lea r12, [0x14026a2a8]
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x24], 0
je 0x140051952
mov ecx, 0x50
call fcn.1401dac8c
mov rdi, rax
mov qword [rsp + 0x260], rax
test rax, rax
je 0x140051826
mov rcx, rax
call fcn.140150960
mov qword [rdi], r12
mov dword [rdi + 0x28], 3
jmp 0x140051829
mov rdi, r15
mov rbx, qword [r13 + 0x10]
movsxd rax, dword [rbx + 0x24]
test rdi, rdi
je 0x140051952
mov rbx, qword [rbx + 0x1a20]
mov rbp, rax
test rbx, rbx
je 0x140051944
nop
mov rdx, rbx
test rbx, rbx
je 0x14005193e
mov rbx, qword [rbx]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140051933
cmp dword [rdx + 0x48], 0
je 0x140051933
mov eax, dword [rdx + 0x180]
bt eax, 0x15
jb 0x140051893
bt eax, 0x16
jb 0x140051893
bt eax, 0x17
jb 0x140051893
mov esi, r15d
jmp 0x140051898
mov esi, 1
bt eax, 0xd
jb 0x1400518a6
test esi, esi
je 0x140051933
cmp dword [rdx + 0xb8], 1
jne 0x140051933
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
test eax, eax
je 0x140051933
test rbp, rbp
je 0x140051933
test esi, esi
je 0x1400518ff
mov edx, 1
mov rcx, rdi
call fcn.140084660
mov edx, 1
mov rcx, rdi
call fcn.140082960
mov edx, 1
mov rcx, rdi
call fcn.1400830a0
mov edx, 1
mov rcx, rdi
call fcn.1400837e0
jmp 0x140051933
mov edx, 1
mov rcx, rdi
call fcn.140081780
mov edx, 1
mov rcx, rdi
call fcn.14007fe20
mov edx, 1
mov rcx, rdi
call fcn.140080560
mov edx, 1
mov rcx, rdi
call fcn.140080ca0
test rbx, rbx
jne 0x140051850
jmp 0x140051944
call fcn.1401e7838
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 0x140051982
mov rdx, qword [rdx + 0x1a20]
test rdx, rdx
je 0x140051982
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx]
test rcx, rcx
je 0x140051963
cmp dword [rcx + 0xb8], 1
jne 0x140051963
call fcn.140018880
mov rdx, qword [r13 + 0x10]
test byte [rdx + 0x2c], 0x20
je 0x1400519cf
mov rax, qword [rdx + 0x1a20]
test rax, rax
je 0x1400519cf
mov rcx, rax
test rax, rax
je 0x1400519c9
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400519bb
test byte [rdx + 0x2c], 0x20
je 0x1400519bb
cmp dword [rcx + 0xb8], 4
je 0x1400519c2
test rax, rax
je 0x1400519cf
jmp 0x140051998
call fcn.140019100
jmp 0x1400519cf
call fcn.1401e7838
int3
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x2c], 0x80
je 0x1400519e4
test byte [rcx + 0x2c], 0x80
je 0x1400519e4
call fcn.14003cca0
mov rcx, qword [r13 + 0x10]
bt dword [rcx + 0x34], 0xb
jae 0x1400519f4
call fcn.140045630
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x1dc], 0
je 0x140051cfd
mov rsi, r15
mov qword [rsp + 0x48], r15
mov r12, qword [rax + 0x1a20]
test r12, r12
je 0x140051cfd
lea r14, [0x140303390]
lea r15, [0x140303438]
nop
nop
mov rax, r12
test r12, r12
je 0x140051cf7
mov r12, qword [r12]
mov rbp, qword [rax + 0x10]
test rbp, rbp
je 0x140051ce7
cmp dword [rbp + 0xb8], 0
je 0x140051ce7
mov rdi, qword [rbp + 0x100]
test rdi, rdi
je 0x140051a9a
nop
nop
nop
mov rbx, rdi
test rdi, rdi
je 0x140051cf1
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140051a95
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
je 0x140051a9c
test rdi, rdi
jne 0x140051a70
xor ebx, ebx
mov dword [rsp + 0x20], 0
lea r9, str._a__
lea r8, str._a__
xor edx, edx
mov rcx, rbx
call fcn.140216fa0
mov rdi, rax
test rax, rax
je 0x140051ce7
mov rcx, qword [r13 + 0x10]
mov edx, dword [rcx + 0x1dc]
cmp edx, 4
je 0x140051c1e
cmp edx, 6
je 0x140051b47
cmp edx, 8
jne 0x140051cc6
cmp qword [rax + 0x30], 0
je 0x140051b20
lea r8, [rsp + 0x48]
mov edx, 0x40
mov rcx, rax
call fcn.14018c360
test eax, eax
je 0x140051b1b
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call fcn.14018c870
jmp 0x140051c94
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x28]
call fcn.1401dc36c
mov r9d, 8
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401eea54
jmp 0x140051cc6
mov rax, qword [rax + 0x30]
test rax, rax
je 0x140051bc2
test byte [rax + 0x210], 0x10
jne 0x140051b62
xor esi, esi
mov qword [rsp + 0x48], rsi
jmp 0x140051bc2
xor eax, eax
mov rcx, r14
cmp dword [rcx], 0x10
je 0x140051b7a
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140051b67
jmp 0x140051b89
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 0x140051ba3
add eax, 1
add rcx, 0x18
cmp eax, 2
jb 0x140051b90
jmp 0x140051bb2
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r15 + rcx*8]
mov qword [rsp + 0x48], rsi
mov rdx, rsi
mov rcx, rdi
call fcn.14018c870
jmp 0x140051c94
test rax, rax
je 0x140051bf7
lea r8, [rsp + 0x48]
mov edx, 0x20
mov rcx, rdi
call fcn.14018c360
test eax, eax
je 0x140051bf2
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call fcn.14018c870
jmp 0x140051c94
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x28]
call fcn.1401dc36c
mov r9d, 6
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401eea54
jmp 0x140051cc6
mov rax, qword [rax + 0x30]
test rax, rax
je 0x140051ca4
test byte [rax + 0x210], 4
jne 0x140051c39
xor esi, esi
mov qword [rsp + 0x48], rsi
jmp 0x140051ca4
xor eax, eax
mov rcx, r14
nop
cmp dword [rcx], 4
je 0x140051c53
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140051c40
jmp 0x140051c62
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 0x140051c7a
add eax, 1
add rcx, 0x18
cmp eax, 2
jb 0x140051c67
jmp 0x140051c89
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r15 + rcx*8]
mov qword [rsp + 0x48], rsi
mov rdx, rsi
mov rcx, rdi
call fcn.14018c870
test eax, eax
je 0x140051cc6
mov rax, qword [r13 + 0x10]
mov ebx, dword [rax + 0x1dc]
jmp 0x140051cc8
mov rdi, qword [rbp + 0x28]
call fcn.1401dc36c
mov r9d, 4
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401eea54
xor ebx, ebx
mov rdi, qword [rbp + 0x28]
call fcn.1401dc36c
mov r9d, ebx
lea r8, str.SetDefCh
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.1401eea54
test r12, r12
je 0x140051cfd
jmp 0x140051a30
call fcn.1401e7838
int3
call fcn.1401e7838
int3
mov rdi, qword [r13 + 0x10]
test byte [rdi + 0x1b4], 8
je 0x140051d4a
mov rdi, qword [rdi + 0x1a20]
test rdi, rdi
je 0x140051d4a
mov rcx, rdi
test rdi, rdi
je 0x140051d44
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140051d3d
cmp dword [rcx + 0xb8], 3
jne 0x140051d3d
mov edx, 1
call fcn.14001b420
test rdi, rdi
jne 0x140051d16
jmp 0x140051d4a
call fcn.1401e7838
int3
cmp dword [0x140311024], 0
jne 0x140051d6a
mov dword [0x140311020], 0x114
lea rcx, [0x140311020]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140311024], 6
jne 0x140051d7e
cmp dword [0x140311028], 2
jne 0x140051da7
jmp 0x140051db0
cmp dword [0x140311024], 0
jne 0x140051d9e
mov dword [0x140311020], 0x114
lea rcx, [0x140311020]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140311024], 6
jne 0x140051dc2
cmp dword [0x140311028], 3
jne 0x140051dc2
mov rax, qword [r13 + 0x10]
test byte [rax + 0x1b4], 4
je 0x140051dc2
call fcn.1401c5300
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x140]
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x3a], 1
je 0x140051dde
call fcn.140047d00
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret