Function at 0x14012de50
Capabilities:
Check os version

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x128
mov qword [rsp + 0x110], 0xfffffffffffffffe
mov r13, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14012de87
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x140130384
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x140130384
mov r9d, dword [rax + 0x2c]
not r9d
and r9d, 1
lea r8, str.ShowTrayIcon
lea rdx, str.General
lea rcx, [0x14022e890]
call fcn.14014baf0
mov rcx, qword [r13 + 0x10]
mov r9d, dword [rcx + 0x2c]
shr r9d, 2
not r9d
and r9d, 1
lea r8, str.JDPopup
lea rdx, str.General
lea rcx, [0x14022e890]
call fcn.14014baf0
mov rsi, qword [r13 + 0x10]
xor r14d, r14d
mov ebp, 1
test byte [rsi + 0x2e], bpl
jne 0x14012df02
test byte [rsi + 0x30], 0x10
je 0x14012dfff
mov rsi, qword [rsi + 0x1bd8]
test rsi, rsi
je 0x14012dfff
mov rdi, rsi
test rsi, rsi
je 0x14012dff9
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012dfee
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012df8d
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012df8d
nop
cmp dword [rcx + 0x18], r14d
jne 0x14012df62
mov eax, r14d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x14012df6d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012df8d
jmp 0x14012df50
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012df90
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
mov rbx, rax
test rax, rax
je 0x14012dfee
cmp dword [rdi + 0x168], r14d
je 0x14012dfd1
test byte [rdi + 0x310], bpl
je 0x14012dfd1
mov edx, ebp
mov rcx, rax
call fcn.140102d40
cmp dword [rdi + 0x168], r14d
je 0x14012dfee
bt dword [rdi + 0x308], 8
jae 0x14012dfee
mov edx, ebp
mov rcx, rbx
call fcn.1401029d0
test rsi, rsi
jne 0x14012df12
jmp 0x14012dfff
call fcn.14013d908
int3
mov rcx, qword [r13 + 0x10]
bt dword [rcx + 0x6c], 0xb
jae 0x14012e012
mov dword [r13 + 0x1c], ebp
mov dword [r13 + 0x28], ebp
bt dword [rcx + 0x30], 0x1e
jae 0x14012e029
mov dword [r13 + 0x28], ebp
mov dword [r13 + 0x24], 3
mov dword [r13 + 0x1c], ebp
bt dword [rcx + 0x34], 0xb
jae 0x14012e038
mov dword [r13 + 0x1c], ebp
mov dword [r13 + 0x20], ebp
cmp dword [rcx + 0x64], r14d
je 0x14012e049
mov dword [r13 + 0x1c], ebp
mov eax, dword [rcx + 0x64]
mov dword [r13 + 0x24], eax
test byte [rcx + 0x110], 0x20
je 0x14012e05a
mov dword [r13 + 0x1c], ebp
mov dword [r13 + 0x24], r14d
cmp dword [r13 + 0x1c], r14d
je 0x14012e0df
bt dword [rcx + 0x78], 0x19
jae 0x14012e0df
mov r9d, dword [r13 + 0x28]
lea r8, str.Enabled
lea rdx, str.PowerMgnt
lea rcx, [0x14022e890]
call fcn.14014baf0
mov r9d, dword [r13 + 0x24]
lea r8, str.DelayTime
lea rdx, str.PowerMgnt
lea rcx, [0x14022e890]
call fcn.14014baf0
mov r9d, dword [r13 + 0x20]
lea r8, str.OnlyBattery
lea rdx, str.PowerMgnt
lea rcx, [0x14022e890]
call fcn.14014baf0
mov r9d, dword [r13 + 0x2c]
lea r8, str.PowerState
lea rdx, str.PowerMgnt
lea rcx, [0x14022e890]
call fcn.14014baf0
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x2c], 0x1c
jb 0x14012e0f4
test byte [rax + 0x30], 0x40
je 0x14012e249
cmp dword [0x14022e714], r14d
jne 0x14012e114
mov dword [0x14022e710], 0x114
lea rcx, [0x14022e710]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x14022e714], 6
jne 0x14012e249
cmp dword [0x14022e718], r14d
jne 0x14012e249
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x14012e249
mov rdi, rsi
test rsi, rsi
je 0x14012e243
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012e216
mov ecx, r14d
mov edx, dword [rdi + 0x1d8]
cmp edx, ebp
jne 0x14012e177
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x2c], 0x1c
cmovb ecx, ebp
cmp edx, 9
jne 0x14012e186
mov rax, qword [r13 + 0x10]
test byte [rax + 0x30], 0x40
jne 0x14012e18e
test ecx, ecx
je 0x14012e216
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012e1ee
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e1ee
nop
cmp dword [rcx + 0x18], r14d
jne 0x14012e1c3
mov eax, r14d
cmp dword [rcx], 5
sete al
test eax, eax
jne 0x14012e1ce
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e1ee
jmp 0x14012e1b0
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012e1f1
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
mov rdi, rax
test rax, rax
jne 0x14012e220
test rsi, rsi
je 0x14012e249
jmp 0x14012e142
xor edx, edx
xor ecx, ecx
call fcn.14007c320
mov rcx, rdi
call fcn.14007c0b0
mov rcx, rdi
call fcn.14007c180
mov rcx, rdi
call fcn.14007c250
jmp 0x14012e249
call fcn.14013d908
int3
mov rax, qword [r13 + 0x10]
lea rsi, [0x14019cf88]
test byte [rax + 0x34], 0x80
je 0x14012e4a4
cmp dword [0x14022e714], r14d
jne 0x14012e27e
mov dword [0x14022e710], 0x114
lea rcx, [0x14022e710]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x14022e714], 6
jne 0x14012e4a4
cmp dword [0x14022e718], r14d
jne 0x14012e4a4
call fcn.14013d07c
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012e2b8
mov ecx, 0x80004005
call fcn.140001c00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x178], rax
test rsi, 0xffffffffffff0000
jne 0x14012e2fa
movzx edi, si
mov ecx, edi
call fcn.14013d654
test rax, rax
je 0x14012e31e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.1400020e0
jmp 0x14012e31e
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x178]
call fcn.140002390
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x14012e470
mov rbx, rsi
test rsi, rsi
je 0x14012e46a
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14012e43b
cmp dword [rbx + 0x168], 0
jne 0x14012e43b
mov rax, qword [rbx]
lea rdx, [rsp + 0x178]
mov rcx, rbx
call qword [rax + 0x78]
test eax, eax
je 0x14012e43b
mov rcx, qword [rsp + 0x178]
movsxd rdi, dword [rcx - 0x10]
mov edx, ebp
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, edi
or eax, edx
jge 0x14012e3a5
mov edx, edi
lea rcx, [rsp + 0x178]
call fcn.140001df0
mov rcx, qword [rsp + 0x178]
lea eax, [rdi + 1]
movsxd rdx, eax
call fcn.14015d470
test edi, edi
js 0x14012e45f
mov rax, qword [rsp + 0x178]
cmp edi, dword [rax - 0xc]
jg 0x14012e45f
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x178]
mov word [rax + rdi*2], 0
mov rcx, qword [rsp + 0x178]
cmp dword [rcx - 0x10], 0
jl 0x14012e43b
lea rdx, str.DIGITALMICWAVE
call fcn.14015c8e0
test rax, rax
je 0x14012e43b
sub rax, qword [rsp + 0x178]
sar rax, 1
cmp eax, 0xffffffff
je 0x14012e43b
mov edx, 5
mov rcx, rbx
call fcn.14005f3f0
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
call fcn.14015e400
mov rdi, rax
test rax, rax
jne 0x14012e445
test rsi, rsi
je 0x14012e470
jmp 0x14012e332
mov rcx, rax
call fcn.14007c0b0
mov rcx, rdi
call fcn.14007c180
mov rcx, rdi
call fcn.14007c250
jmp 0x14012e470
mov ecx, 0x80070057
call fcn.140001c00
int3
call fcn.14013d908
nop
mov rdx, qword [rsp + 0x178]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012e49d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rsi, [0x14019cf88]
jmp 0x14012e4a4
lea rsi, [0x14019cf88]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x34], 0x1b
jae 0x14012e61a
call fcn.14013d07c
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012e4d3
mov ecx, 0x80004005
call fcn.140001c00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x188], rax
test rsi, 0xffffffffffff0000
jne 0x14012e515
movzx edi, si
mov ecx, edi
call fcn.14013d654
test rax, rax
je 0x14012e539
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x188]
call fcn.1400020e0
jmp 0x14012e539
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x188]
call fcn.140002390
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x14012e5f6
nop
mov rdi, rsi
test rsi, rsi
je 0x14012e5f0
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012e5cc
cmp dword [rdi + 0x168], 0
jne 0x14012e5cc
mov rax, qword [rdi]
lea rdx, [rsp + 0x188]
mov rcx, rdi
call qword [rax + 0x78]
test eax, eax
je 0x14012e5cc
cmp dword [rdi + 0x1d8], 4
jne 0x14012e5cc
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x34], 0x1b
jae 0x14012e5cc
mov edx, 5
mov rcx, rdi
call fcn.14005f3f0
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
call fcn.14015e400
mov rdi, rax
test rax, rax
jne 0x14012e5d6
test rsi, rsi
je 0x14012e5f6
jmp 0x14012e550
mov rcx, rax
call fcn.14007c0b0
mov rcx, rdi
call fcn.14007c180
mov rcx, rdi
call fcn.14007c250
jmp 0x14012e5f6
call fcn.14013d908
nop
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012e61a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
lea r12, [0x1401b1f90]
bt dword [rax + 0x2c], 0x1e
jae 0x14012e72a
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14012e72a
mov rcx, rbx
test rbx, rbx
je 0x14012e724
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e719
cmp dword [rcx + 0x168], 0
je 0x14012e719
cmp dword [rcx + 0x1d8], 8
jne 0x14012e719
test byte [rcx + 0x314], 1
je 0x14012e719
mov edx, 7
call fcn.14005f3f0
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
call fcn.14015e400
mov r11, rax
test rax, rax
je 0x14012e719
mov edx, r14d
mov r8d, dword [rax + 0x68]
test r8d, r8d
je 0x14012e719
nop
cmp edx, r8d
jae 0x14012e700
mov rdi, qword [r11 + 0x60]
test rdi, rdi
je 0x14012e700
mov eax, edx
lea rcx, [rax + rax*8]
lea rsi, [rdi + rcx*8]
test rsi, rsi
je 0x14012e700
mov rdi, qword [r12]
cmp rdi, qword [rsi + 0x20]
jne 0x14012e6f7
mov rdi, qword [r12 + 8]
cmp rdi, qword [rsi + 0x28]
jne 0x14012e6f7
mov eax, r14d
jmp 0x14012e6fc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14012e70a
add edx, 1
cmp edx, r8d
jae 0x14012e719
jmp 0x14012e6c0
lea rdx, [rsi + 0x30]
xor r8d, r8d
mov rcx, r11
call fcn.1400b1f60
test rbx, rbx
jne 0x14012e640
jmp 0x14012e72a
call fcn.14013d908
int3
mov rsi, qword [r13 + 0x10]
mov eax, dword [rsi + 0x30]
test al, 0x20
jne 0x14012e73f
bt eax, 0xb
jae 0x14012e849
mov rsi, qword [rsi + 0x1bd8]
test rsi, rsi
je 0x14012e849
nop
mov rdi, rsi
test rsi, rsi
je 0x14012e843
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012e838
test byte [rdi + 0x310], 8
je 0x14012e838
mov eax, dword [rdi + 0x314]
test al, 0x20
jne 0x14012e7a3
test al, 0x40
jne 0x14012e7a3
test al, al
js 0x14012e7a3
bt dword [rdi + 0x318], 0x12
jb 0x14012e7a3
mov rax, qword [r13 + 0x10]
test byte [rax + 0x30], 0x20
jne 0x14012e838
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012e800
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e800
cmp dword [rcx + 0x18], 0
jne 0x14012e7d5
mov eax, r14d
cmp dword [rcx], 1
sete al
test eax, eax
jne 0x14012e7e0
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e800
jmp 0x14012e7c2
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012e803
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
test rax, rax
je 0x14012e838
cmp dword [rdi + 0x168], 0
je 0x14012e838
mov edx, ebp
mov rcx, rax
call fcn.1400f4220
test rsi, rsi
jne 0x14012e750
jmp 0x14012e849
call fcn.14013d908
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x6c], 9
jae 0x14012ea3a
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14012ea3a
nop
nop
mov rsi, rbx
test rbx, rbx
je 0x14012ea34
mov rbx, qword [rbx]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14012ea29
mov eax, dword [rsi + 0x314]
test al, 0x20
jne 0x14012e8ac
test al, 0x40
jne 0x14012e8ac
test al, al
js 0x14012e8ac
bt dword [rsi + 0x318], 0x12
jae 0x14012ea29
mov eax, dword [rsi + 0x1d8]
cmp eax, 8
je 0x14012e8bc
cmp eax, 9
jne 0x14012e8cb
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 8
jb 0x14012ea29
xor edx, edx
xor eax, eax
div dword [rsi + 0xe0]
mov rcx, qword [rsi + 0xd8]
test rcx, rcx
je 0x14012e92e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e92e
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012e903
mov eax, r14d
cmp dword [rcx], 3
sete al
test eax, eax
jne 0x14012e90e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e92e
jmp 0x14012e8f0
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012e931
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
mov rdi, rax
test rax, rax
je 0x14012ea29
cmp dword [rsi + 0x168], 0
je 0x14012e9c0
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012e9c0
mov ecx, dword [rax + 0x314]
test cl, 0x20
jne 0x14012e9b6
bt dword [rax + 0x318], 0x12
jb 0x14012e9b6
test cl, 0x40
je 0x14012e99d
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9dd0]
mov rcx, rdi
call fcn.140055830
jmp 0x14012e9b6
test cl, cl
jns 0x14012e9b6
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9e00]
mov rcx, rdi
call fcn.140055830
xor edx, edx
mov rcx, rdi
call fcn.1400563d0
test byte [rsi + 0x314], 0x20
je 0x14012ea0a
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9ed8]
mov rcx, rdi
call fcn.140055830
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9ea8]
mov rcx, rdi
call fcn.140055830
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9e78]
mov rcx, rdi
call fcn.140055830
jmp 0x14012ea29
bt dword [rsi + 0x318], 0x12
jae 0x14012ea29
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9ed8]
mov rcx, rdi
call fcn.140055830
test rbx, rbx
jne 0x14012e870
jmp 0x14012ea3a
call fcn.14013d908
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x6c], 0xa
jae 0x14012ec5d
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x14012ec5d
nop
nop
mov rax, rsi
test rsi, rsi
je 0x14012ec57
mov rsi, qword [rsi]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x14012ec4c
test byte [rdi + 0x317], 1
je 0x14012ec4c
mov eax, dword [rdi + 0x1d8]
cmp eax, 8
je 0x14012ea99
cmp eax, 9
jne 0x14012eaa8
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 8
jb 0x14012ec4c
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012eb05
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012eb05
cmp dword [rcx + 0x18], 0
jne 0x14012eada
mov eax, r14d
cmp dword [rcx], 0xc
sete al
test eax, eax
jne 0x14012eae5
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012eb05
jmp 0x14012eac7
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012eb08
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
test rax, rax
jne 0x14012ec39
xor edx, edx
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012eb8e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012eb8e
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012eb63
mov eax, r14d
cmp dword [rcx], 0xd
sete al
test eax, eax
jne 0x14012eb6e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012eb8e
jmp 0x14012eb50
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012eb91
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
test rax, rax
jne 0x14012ec39
xor edx, edx
mov eax, ebp
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012ec14
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012ec14
cmp dword [rcx + 0x18], 1
jne 0x14012ebe9
mov eax, r14d
cmp dword [rcx], 0x12
sete al
test eax, eax
jne 0x14012ebf4
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012ec14
jmp 0x14012ebd6
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012ec17
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
test rax, rax
je 0x14012ec4c
cmp dword [rdi + 0x168], 0
je 0x14012ec4c
mov edx, ebp
mov rcx, rax
call fcn.1400cc850
test rsi, rsi
jne 0x14012ea60
jmp 0x14012ec5d
call fcn.14013d908
int3
mov rdi, qword [r13 + 0x10]
test byte [rdi + 0x32], 1
je 0x14012ed3d
mov rdi, qword [rdi + 0x1bd8]
test rdi, rdi
je 0x14012ed3d
nop
nop
mov rcx, rdi
test rdi, rdi
je 0x14012ed37
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012ed2c
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012ecfd
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012ecfd
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012ecd2
mov eax, r14d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x14012ecdd
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012ecfd
jmp 0x14012ecc0
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012ed00
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
test rax, rax
je 0x14012ed2c
mov edx, ebp
mov rcx, rax
call fcn.140102480
test rdi, rdi
jne 0x14012ec80
jmp 0x14012ed3d
call fcn.14013d908
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012ed67
mov eax, dword [rax + 0x6c]
bt eax, 0xc
jb 0x14012ed67
bt eax, 0xd
jb 0x14012ed67
bt eax, 0xe
jb 0x14012ed67
bt eax, 0xf
jae 0x14012eeaf
mov ecx, 0x40
call fcn.14013d028
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012ed8b
mov rcx, rax
call fcn.14007f4a0
mov rdi, rax
jmp 0x14012ed8e
mov rdi, r14
test rdi, rdi
je 0x14012eeaf
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x14012eea5
nop
nop
mov rdx, rsi
test rsi, rsi
je 0x14012ee9f
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012ee94
cmp dword [rdx + 0x168], 0
je 0x14012ee94
bt dword [rdx + 0x314], 0x1b
jae 0x14012ee94
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14012ee94
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012ee0a
bt dword [rax + 0x6c], 0xc
jae 0x14012ee1f
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9ed8]
mov rcx, rdi
call fcn.140055830
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012ee31
bt dword [rax + 0x6c], 0xd
jae 0x14012ee46
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9ef0]
mov rcx, rdi
call fcn.140055830
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012ee58
bt dword [rax + 0x6c], 0xe
jae 0x14012ee6d
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9f08]
mov rcx, rdi
call fcn.140055830
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012ee7f
bt dword [rax + 0x6c], 0xf
jae 0x14012ee94
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a9e78]
mov rcx, rdi
call fcn.140055830
test rsi, rsi
jne 0x14012edb0
jmp 0x14012eea5
call fcn.14013d908
int3
mov rax, qword [rdi]
mov edx, ebp
mov rcx, rdi
call qword [rax]
mov rdi, qword [r13 + 0x10]
mov eax, dword [rdi + 0x30]
bt eax, 0x1a
jb 0x14012eecd
bt eax, 0x1f
jb 0x14012eecd
bt dword [rdi + 0x6c], 0x11
jae 0x14012eff7
mov rdi, qword [rdi + 0x1bd8]
test rdi, rdi
je 0x14012eff7
nop
mov rsi, rdi
test rdi, rdi
je 0x14012eff1
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14012efe6
cmp dword [rsi + 0x168], 0
je 0x14012efe6
bt dword [rsi + 0x314], 0x1b
jae 0x14012efe6
mov rcx, qword [r13 + 0x10]
mov eax, dword [rcx + 0x30]
bt eax, 0x1a
jae 0x14012ef35
mov word [rsp + 0x50], 0x13
mov dword [rsp + 0x58], 3
jmp 0x14012ef66
bt eax, 0x1f
jae 0x14012ef4c
mov word [rsp + 0x50], 0x13
mov dword [rsp + 0x58], 6
jmp 0x14012ef66
mov eax, dword [rcx + 0x6c]
bt eax, 0x11
jae 0x14012ef66
shr eax, 0x12
and eax, 7
mov word [rsp + 0x50], 0x13
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [0x1401a77d0]
mov r8d, ebp
xor edx, edx
lea rcx, [0x1401a77c0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14012efa4
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012efdb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14012efdb
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rdx
lea r9, [0x1401a9f20]
mov r8d, ebp
mov rdx, qword [rsi + 0x118]
call qword [rax + 0x58]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012efdb
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0x50]
call qword [sym.imp.ole32.dll_PropVariantClear]
test rdi, rdi
jne 0x14012eee0
jmp 0x14012eff7
call fcn.14013d908
int3
mov rdi, qword [r13 + 0x10]
bt dword [rdi + 0x30], 0x1d
jae 0x14012f0ee
mov rdi, qword [rdi + 0x1bd8]
test rdi, rdi
je 0x14012f0ee
nop
nop
nop
mov rcx, rdi
test rdi, rdi
je 0x14012f0e8
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012f0dd
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012f09e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012f09e
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012f073
mov eax, r14d
cmp dword [rcx], 0xa
sete al
test eax, eax
jne 0x14012f07e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012f09e
jmp 0x14012f060
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012f0a1
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
mov rsi, rax
test rax, rax
je 0x14012f0dd
mov edx, 2
mov rcx, rax
call fcn.140114310
mov edx, ebp
mov rcx, rsi
call fcn.140113eb0
test rdi, rdi
jne 0x14012f020
jmp 0x14012f0ee
call fcn.14013d908
int3
mov rsi, qword [r13 + 0x10]
test byte [rsi + 0xdf], 1
je 0x14012f23b
mov rsi, qword [rsi + 0x1bd8]
test rsi, rsi
je 0x14012f23b
nop
mov rcx, rsi
test rsi, rsi
je 0x14012f235
mov rsi, qword [rsi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012f22a
cmp dword [rcx + 0x168], 0
jne 0x14012f22a
mov rax, qword [0x14022e6d8]
add dword [rax + 0x1d60], 1
mov eax, dword [rcx + 0x30c]
shr eax, 0x12
and eax, 1
je 0x14012f22a
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012f1b6
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012f1b6
cmp dword [rcx + 0x18], 0
jne 0x14012f18b
mov eax, r14d
cmp dword [rcx], 2
sete al
test eax, eax
jne 0x14012f196
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012f1b6
jmp 0x14012f178
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012f1b9
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
mov rdi, rax
test rax, rax
je 0x14012f22a
mov rcx, qword [r13 + 0x10]
mov ecx, dword [rcx + 0x104]
test cl, 0x20
mov edx, r14d
cmovne edx, ebp
test cl, 0x40
je 0x14012f1f9
or edx, 2
mov rcx, rax
call fcn.1400d2820
mov rdx, qword [r13 + 0x10]
bt dword [rdx + 0x4c], 0xf
jae 0x14012f216
mov edx, ebp
mov rcx, rdi
call fcn.1400d3120
mov rax, qword [r13 + 0x10]
test byte [rax + 0x50], 1
je 0x14012f22a
mov edx, ebp
mov rcx, rdi
call fcn.1400d3630
test rsi, rsi
jne 0x14012f110
jmp 0x14012f23b
call fcn.14013d908
int3
mov rax, qword [r13 + 0x10]
lea r12, method..21.virtual_0
lea r15, [0x1401a77b8]
cmp dword [rax + 0x14c], 0
je 0x14012f5a2
bt dword [rax + 0x114], 8
jb 0x14012f5a2
lea rcx, [rsp + 0x70]
call fcn.1400f91e0
nop
mov rax, qword [r13 + 0x10]
mov rbp, qword [rax + 0x1bd8]
test rbp, rbp
je 0x14012f550
nop
nop
nop
mov rbx, rbp
test rbp, rbp
je 0x14012f54a
mov rbp, qword [rbp]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14012f535
cmp dword [rbx + 0x168], 0
je 0x14012f535
bt dword [rbx + 0x314], 0x12
jae 0x14012f535
mov qword [rsp + 0x90], rbx
call fcn.14013d07c
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
je 0x14012f53f
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdx, qword [rbx + 0x118]
test rdx, rdx
jne 0x14012f309
mov ecx, r14d
jmp 0x14012f31c
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x48]
call fcn.140002390
mov rsi, qword [rsp + 0x48]
test rsi, rsi
jne 0x14012f338
mov ecx, r14d
jmp 0x14012f34b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0x80]
call fcn.140002390
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012f37b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
call qword [rax + 0x78]
mov rdx, qword [0x14022e6d8]
add dword [rdx + 0x1d60], 1
test rdx, rdx
je 0x14012f535
mov eax, dword [rdx + 0x3c]
shr eax, 0xa
and eax, 1
mov dword [rsp + 0xac], eax
mov eax, dword [rbx + 0x314]
shr eax, 0x13
and eax, 1
mov dword [rsp + 0x98], eax
cmp qword [rsp + 0x90], 0
je 0x14012f43d
lea rcx, [0x14022ff80]
call fcn.1400f8d80
test eax, eax
je 0x14012f43d
mov eax, 0x80000001
mov edi, dword [rsp + 0xb0]
cmp eax, 0x80000003
jne 0x14012f404
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x118]
mov rax, qword [0x14022ffa0]
test rax, rax
je 0x14012f423
call rax
jmp 0x14012f428
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f436
test edi, edi
jg 0x14012f3f2
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0x80000001
je 0x14012f4ae
mov eax, 0x80000001
mov edi, dword [rsp + 0xb0]
cmp eax, 0x80000003
jne 0x14012f468
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14022ffa8]
test rax, rax
je 0x14012f47f
mov ecx, dword [rsp + 0xa8]
call rax
jmp 0x14012f484
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f494
test edi, edi
jg 0x14012f456
jmp 0x14012f49b
cmp eax, 0x80000001
je 0x14012f4ae
mov rax, qword [0x14022ffb0]
test rax, rax
je 0x14012f4ae
mov ecx, 1
call rax
mov rax, qword [r13 + 0x10]
mov ecx, dword [rax + 0x14c]
mov esi, r14d
test ecx, ecx
cmovne esi, ecx
cmp dword [rsp + 0xa8], 0x80000001
je 0x14012f535
mov eax, 0x80000001
mov edi, dword [rsp + 0xb0]
nop
nop
cmp eax, 0x80000003
jne 0x14012f4f2
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14022ffa8]
test rax, rax
je 0x14012f509
mov ecx, dword [rsp + 0xa8]
call rax
jmp 0x14012f50e
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f51e
test edi, edi
jg 0x14012f4e0
jmp 0x14012f525
cmp eax, 0x80000001
je 0x14012f535
mov rax, qword [0x14022ffe8]
test rax, rax
je 0x14012f535
mov ecx, esi
call rax
test rbp, rbp
je 0x14012f550
jmp 0x14012f290
mov ecx, 0x80004005
call fcn.140001c00
int3
call fcn.14013d908
nop
mov qword [rsp + 0x70], r12
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012f579
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x70], r15
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012f5a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x118], 0xb
jae 0x14012f871
lea rcx, [rsp + 0xc0]
call fcn.1400f91e0
nop
mov rax, qword [r13 + 0x10]
mov rbp, qword [rax + 0x1bd8]
test rbp, rbp
je 0x14012f819
nop
nop
nop
mov rbx, rbp
test rbp, rbp
je 0x14012f813
mov rbp, qword [rbp]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14012f7fe
cmp dword [rbx + 0x168], 0
je 0x14012f7fe
bt dword [rbx + 0x314], 0x12
jae 0x14012f7fe
mov qword [rsp + 0xe0], rbx
call fcn.14013d07c
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
je 0x14012f808
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rdx, qword [rbx + 0x118]
test rdx, rdx
jne 0x14012f659
mov ecx, r14d
jmp 0x14012f66c
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x40]
call fcn.140002390
mov rsi, qword [rsp + 0x40]
test rsi, rsi
jne 0x14012f688
mov ecx, r14d
jmp 0x14012f69b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0xd0]
call fcn.140002390
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012f6cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
lea rdx, [rsp + 0xf0]
call qword [rax + 0x78]
mov rdx, qword [0x14022e6d8]
add dword [rdx + 0x1d60], 1
test rdx, rdx
je 0x14012f7fe
mov eax, dword [rdx + 0x3c]
shr eax, 0xa
and eax, 1
mov dword [rsp + 0xfc], eax
mov eax, dword [rbx + 0x314]
shr eax, 0x13
and eax, 1
mov dword [rsp + 0xe8], eax
cmp qword [rsp + 0xe0], 0
je 0x14012f78d
lea rcx, [0x14022ff80]
call fcn.1400f8d80
test eax, eax
je 0x14012f78d
mov eax, 0x80000001
mov edi, dword [rsp + 0x100]
cmp eax, 0x80000003
jne 0x14012f754
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax + 0x118]
mov rax, qword [0x14022ffa0]
test rax, rax
je 0x14012f773
call rax
jmp 0x14012f778
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f786
test edi, edi
jg 0x14012f742
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0x80000001
je 0x14012f7fe
mov eax, 0x80000001
mov edi, dword [rsp + 0x100]
cmp eax, 0x80000003
jne 0x14012f7b8
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14022ffa8]
test rax, rax
je 0x14012f7cf
mov ecx, dword [rsp + 0xf8]
call rax
jmp 0x14012f7d4
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f7e4
test edi, edi
jg 0x14012f7a6
jmp 0x14012f7eb
cmp eax, 0x80000001
je 0x14012f7fe
mov rax, qword [0x14022ffb0]
test rax, rax
je 0x14012f7fe
mov ecx, 1
call rax
test rbp, rbp
je 0x14012f819
jmp 0x14012f5e0
mov ecx, 0x80004005
call fcn.140001c00
int3
call fcn.14013d908
nop
mov qword [rsp + 0xc0], r12
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012f845
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0xc0], r15
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012f871
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x10f], 1
je 0x14012f888
mov edx, 1
call fcn.140076700
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x34], 0x1d
jae 0x14012fbfc
mov ecx, 0x40
call fcn.14013d028
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012f8bb
mov rcx, rax
call fcn.14007f4a0
mov rbp, rax
jmp 0x14012f8be
mov rbp, r14
mov ecx, 0x80
call fcn.14013d028
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012f8e2
mov rcx, rax
call fcn.1400b13c0
mov rbx, rax
jmp 0x14012f8e5
mov rbx, r14
test rbp, rbp
je 0x14012fbea
test rbx, rbx
je 0x14012fbdc
mov rax, qword [r13 + 0x10]
mov r12, qword [rax + 0x1bd8]
test r12, r12
je 0x14012fbdc
lea r15, [0x1401b1f90]
mov rdx, r12
test r12, r12
je 0x14012fbd6
mov r12, qword [r12]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012fbcb
mov ecx, dword [rdx + 0x318]
mov eax, ecx
shr eax, 0xd
and eax, 1
jne 0x14012f955
bt ecx, 0x15
jb 0x14012f955
bt ecx, 0x16
jb 0x14012f955
bt ecx, 0x17
jae 0x14012fbcb
cmp dword [rdx + 0x168], 0
je 0x14012fbcb
test eax, eax
je 0x14012fa94
mov ecx, dword [rdx + 0x1d8]
sub ecx, 1
je 0x14012fa08
cmp ecx, 7
jne 0x14012fbcb
test byte [rdx + 0x314], 1
je 0x14012fbcb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov edx, r14d
mov r8d, dword [rbx + 0x68]
test r8d, r8d
je 0x14012fbcb
cmp edx, r8d
jae 0x14012f9e6
mov rdi, qword [rbx + 0x60]
test rdi, rdi
je 0x14012f9e6
mov eax, edx
lea rcx, [rax + rax*8]
lea rsi, [rdi + rcx*8]
test rsi, rsi
je 0x14012f9e6
mov rdi, qword [r15]
cmp rdi, qword [rsi + 0x20]
jne 0x14012f9dd
mov rdi, qword [r15 + 8]
cmp rdi, qword [rsi + 0x28]
jne 0x14012f9dd
mov eax, r14d
jmp 0x14012f9e2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14012f9f4
add edx, 1
cmp edx, r8d
jae 0x14012fbcb
jmp 0x14012f9a8
lea rdx, [rsi + 0x30]
xor r8d, r8d
mov rcx, rbx
call fcn.1400b1f60
jmp 0x14012fbcb
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
test eax, eax
je 0x14012fbcb
mov edx, 1
mov rcx, rbp
call fcn.1400825f0
mov edx, 1
mov rcx, rbp
call fcn.140082940
mov edx, 1
mov rcx, rbp
call fcn.140080ec0
mov edx, 1
mov rcx, rbp
call fcn.140081210
mov edx, 1
mov rcx, rbp
call fcn.140081560
mov edx, 1
mov rcx, rbp
call fcn.1400818b0
mov edx, 1
mov rcx, rbp
call fcn.140081c00
mov edx, 1
mov rcx, rbp
call fcn.140081f50
mov edx, 1
mov rcx, rbp
call fcn.1400822a0
jmp 0x14012fbcb
mov ecx, dword [rdx + 0x1d8]
sub ecx, 1
je 0x14012fb37
cmp ecx, 7
jne 0x14012fbcb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test eax, eax
je 0x14012fbcb
cmp dword [rbx + 0x78], 0
je 0x14012fbcb
mov edx, r14d
mov r8d, dword [rbx + 0x68]
test r8d, r8d
je 0x14012fbcb
cmp edx, r8d
jae 0x14012fb15
mov rdi, qword [rbx + 0x60]
test rdi, rdi
je 0x14012fb15
mov eax, edx
lea rcx, [rax + rax*8]
lea rsi, [rdi + rcx*8]
test rsi, rsi
je 0x14012fb15
mov rdi, qword [r15]
cmp rdi, qword [rsi + 0x20]
jne 0x14012fb0c
mov rdi, qword [r15 + 8]
cmp rdi, qword [rsi + 0x28]
jne 0x14012fb0c
mov eax, r14d
jmp 0x14012fb11
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14012fb23
add edx, 1
cmp edx, r8d
jae 0x14012fbcb
jmp 0x14012fad7
lea rdx, [rsi + 0x30]
xor r8d, r8d
mov rcx, rbx
call fcn.1400b1f60
jmp 0x14012fbcb
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
test eax, eax
je 0x14012fbcb
mov edx, 1
mov rcx, rbp
call fcn.140083300
mov edx, 1
mov rcx, rbp
call fcn.140083530
mov edx, 1
mov rcx, rbp
call fcn.140083760
mov edx, 1
mov rcx, rbp
call fcn.140083990
mov edx, 1
mov rcx, rbp
call fcn.140083bc0
mov edx, 1
mov rcx, rbp
call fcn.140083df0
mov edx, 1
mov rcx, rbp
call fcn.140084020
mov edx, 1
mov rcx, rbp
call fcn.140084250
mov edx, 1
mov rcx, rbp
call fcn.140084480
mov edx, 1
mov rcx, rbp
call fcn.1400846b0
test r12, r12
jne 0x14012f912
jmp 0x14012fbdc
call fcn.14013d908
int3
mov rax, qword [rbp]
mov edx, 1
mov rcx, rbp
call qword [rax]
test rbx, rbx
je 0x14012fbfc
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x48], 0
je 0x14012fd64
mov ecx, 0x40
call fcn.14013d028
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012fc2e
mov rcx, rax
call fcn.14007f4a0
mov rdi, rax
jmp 0x14012fc31
mov rdi, r14
mov rsi, qword [r13 + 0x10]
movsxd rax, dword [rsi + 0x48]
test rdi, rdi
je 0x14012fd64
mov rsi, qword [rsi + 0x1bd8]
mov rbp, rax
test rsi, rsi
je 0x14012fd57
nop
nop
nop
mov rdx, rsi
test rsi, rsi
je 0x14012fd51
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012fd46
cmp dword [rdx + 0x168], 0
je 0x14012fd46
mov eax, dword [rdx + 0x318]
bt eax, 0x15
jb 0x14012fca6
bt eax, 0x16
jb 0x14012fca6
bt eax, 0x17
jb 0x14012fca6
mov ebx, r14d
jmp 0x14012fcab
mov ebx, 1
bt eax, 0xd
jb 0x14012fcb9
test ebx, ebx
je 0x14012fd46
cmp dword [rdx + 0x1d8], 1
jne 0x14012fd46
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14012fd46
test rbp, rbp
je 0x14012fd46
test ebx, ebx
je 0x14012fd12
mov edx, 1
mov rcx, rdi
call fcn.140084480
mov edx, 1
mov rcx, rdi
call fcn.140083300
mov edx, 1
mov rcx, rdi
call fcn.140083760
mov edx, 1
mov rcx, rdi
call fcn.140083bc0
jmp 0x14012fd46
mov edx, 1
mov rcx, rdi
call fcn.1400825f0
mov edx, 1
mov rcx, rdi
call fcn.140080ec0
mov edx, 1
mov rcx, rdi
call fcn.140081560
mov edx, 1
mov rcx, rdi
call fcn.140081c00
test rsi, rsi
jne 0x14012fc60
jmp 0x14012fd57
call fcn.14013d908
int3
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
mov rdx, qword [r13 + 0x10]
test byte [rdx + 0x50], 4
je 0x14012fd94
mov rdx, qword [rdx + 0x1bd8]
test rdx, rdx
je 0x14012fd94
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx]
test rcx, rcx
je 0x14012fd75
cmp dword [rcx + 0x1d8], 1
jne 0x14012fd75
call fcn.1400618a0
mov rdx, qword [r13 + 0x10]
test byte [rdx + 0x50], 0x20
je 0x14012fde7
mov rax, qword [rdx + 0x1bd8]
test rax, rax
je 0x14012fde7
nop
nop
mov rcx, rax
test rax, rax
je 0x14012fde1
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012fdd3
test byte [rdx + 0x50], 0x20
je 0x14012fdd3
cmp dword [rcx + 0x1d8], 4
je 0x14012fdda
test rax, rax
je 0x14012fde7
jmp 0x14012fdb0
call fcn.140062210
jmp 0x14012fde7
call fcn.14013d908
int3
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x50], 0x80
je 0x14012fdfc
test byte [rcx + 0x50], 0x80
je 0x14012fdfc
call fcn.140072db0
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x200], 0
je 0x1401300e7
mov rbx, r14
mov r12, qword [rax + 0x1bd8]
test r12, r12
je 0x1401300e7
lea r15, [0x140212620]
nop
nop
nop
mov rax, r12
test r12, r12
je 0x1401300e1
mov r12, qword [r12]
mov rbp, qword [rax + 0x10]
test rbp, rbp
je 0x1401300d6
cmp dword [rbp + 0x1d8], 0
je 0x1401300d6
xor edx, edx
xor eax, eax
div dword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14012febd
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012febd
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012fe92
mov eax, r14d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x14012fe9d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012febd
jmp 0x14012fe80
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015e400
jmp 0x14012fec0
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, vtable..10.0
lea r8, vtable..10.0
xor edx, edx
mov rcx, rax
call fcn.14015e400
mov rdi, rax
test rax, rax
je 0x1401300d6
mov rcx, qword [r13 + 0x10]
mov edx, dword [rcx + 0x200]
cmp edx, 4
je 0x140130037
cmp edx, 6
je 0x14012ff7e
cmp edx, 8
jne 0x1401300b1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012ff54
test byte [rax + 0x3a0], 0x40
jne 0x14012ff21
mov rbx, r14
jmp 0x14012ff54
mov eax, r14d
mov rcx, r15
cmp dword [rcx], 0x40
je 0x14012ff3a
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012ff27
jmp 0x14012ff44
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100c20
jmp 0x14013007c
mov rdi, qword [rbp + 0x118]
call fcn.140153968
mov r9d, 8
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014baf0
jmp 0x1401300b1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012ffcd
test byte [rax + 0x3a0], 0x10
jne 0x14012ff95
mov rbx, r14
jmp 0x14012ffcd
mov eax, r14d
mov rcx, r15
nop
nop
cmp dword [rcx], 0x10
je 0x14012ffb3
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012ffa0
jmp 0x14012ffbd
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100c20
jmp 0x14013007c
test rax, rax
je 0x140130010
test byte [rax + 0x3a0], 0x20
jne 0x14012ffe0
mov rbx, r14
jmp 0x140130010
mov eax, r14d
mov rcx, r15
cmp dword [rcx], 0x20
je 0x14012fff9
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012ffe6
jmp 0x140130003
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100c20
jmp 0x14013007c
mov rdi, qword [rbp + 0x118]
call fcn.140153968
mov r9d, 6
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014baf0
jmp 0x1401300b1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14013008c
test byte [rax + 0x3a0], 4
jne 0x14013004e
mov rbx, r14
jmp 0x14013008c
mov eax, r14d
mov rcx, r15
cmp dword [rcx], 4
je 0x140130067
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x140130054
jmp 0x140130071
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100c20
test eax, eax
je 0x1401300b1
mov rax, qword [r13 + 0x10]
mov esi, dword [rax + 0x200]
jmp 0x1401300b4
mov rdi, qword [rbp + 0x118]
call fcn.140153968
mov r9d, 4
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014baf0
mov esi, r14d
mov rdi, qword [rbp + 0x118]
call fcn.140153968
mov r9d, esi
lea r8, str.SetDefCh
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014baf0
test r12, r12
jne 0x14012fe30
jmp 0x1401300e7
call fcn.14013d908
int3
mov rbx, qword [r13 + 0x10]
test byte [rbx + 0xd6], 1
je 0x140130335
mov rbx, qword [rbx + 0x1bd8]
test rbx, rbx
je 0x140130335
nop
nop
mov rbp, rbx
test rbx, rbx
je 0x14013032f
mov rbx, qword [rbx]
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x140130314
cmp dword [rbp + 0x1d8], 1
jne 0x140130314
call fcn.14013d07c
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
je 0x140130324
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x180], rax
mov rcx, qword [r13 + 0x10]
mov rsi, qword [rcx + 0x550]
test rsi, rsi
je 0x14013021d
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14019cf88]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14019cf88]
lea rcx, [rsp + 0x180]
call fcn.140002390
call fcn.140153968
movzx r9d, word [rsi + 0xc]
mov r8d, 0xe22
mov rdx, qword [rax + 0x10]
lea rcx, [rsp + 0x180]
call fcn.140051e80
xor r11d, r11d
lea rdi, [0x14019cf88]
mov rax, qword [rsp + 0x180]
mov rsi, rax
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x1401301ea
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
sete cl
test cl, cl
je 0x14013021d
call fcn.140153968
mov r9w, 0x409
mov r8d, 0xe22
mov rdx, qword [rax + 0x10]
lea rcx, [rsp + 0x180]
call fcn.140051e80
mov rax, qword [rsp + 0x180]
lea rdi, [rax - 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140130242
cmp rax, qword [rdi]
jne 0x140130242
mov rsi, rdi
lock add dword [rdi + 0x10], 1
jmp 0x14013027f
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14013031e
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14015cd30
lea rax, [rsi + 0x18]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x170], rax
lea rcx, [rbp + 0x108]
xor r9d, r9d
lea r8, [rsp + 0x38]
lea rdx, [0x1401ac430]
call fcn.140056a10
test eax, eax
jne 0x1401302d7
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1401302f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1401302f9
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1401302f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140130314
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
je 0x140130335
jmp 0x140130110
call fcn.1400c5210
nop
mov ecx, 0x80004005
call fcn.140001c00
int3
call fcn.14013d908
int3
mov rdi, qword [r13 + 0x10]
test byte [rdi + 0x1d8], 8
je 0x140130384
mov rdi, qword [rdi + 0x1bd8]
test rdi, rdi
je 0x140130384
nop
mov rcx, rdi
test rdi, rdi
je 0x14013037e
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140130377
cmp dword [rcx + 0x1d8], 3
jne 0x140130377
mov edx, 1
call fcn.140063b90
test rdi, rdi
jne 0x140130350
jmp 0x140130384
call fcn.14013d908
int3
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret