Function at 0x14012d770
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 0x14012d7a7
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x14012fca4
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14012fca4
mov r9d, dword [rax + 0x2c]
not r9d
and r9d, 1
lea r8, str.ShowTrayIcon
lea rdx, str.General
lea rcx, [0x14022c580]
call fcn.14014ccf0
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, [0x14022c580]
call fcn.14014ccf0
mov rsi, qword [r13 + 0x10]
xor r14d, r14d
mov ebp, 1
test byte [rsi + 0x2e], bpl
jne 0x14012d822
test byte [rsi + 0x30], 0x10
je 0x14012d91f
mov rsi, qword [rsi + 0x1bd0]
test rsi, rsi
je 0x14012d91f
mov rdi, rsi
test rsi, rsi
je 0x14012d919
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012d90e
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012d8ad
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012d8ad
nop
cmp dword [rcx + 0x18], r14d
jne 0x14012d882
mov eax, r14d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x14012d88d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012d8ad
jmp 0x14012d870
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012d8b0
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140225d38]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
mov rbx, rax
test rax, rax
je 0x14012d90e
cmp dword [rdi + 0x168], r14d
je 0x14012d8f1
test byte [rdi + 0x310], bpl
je 0x14012d8f1
mov edx, ebp
mov rcx, rax
call fcn.140102730
cmp dword [rdi + 0x168], r14d
je 0x14012d90e
bt dword [rdi + 0x308], 8
jae 0x14012d90e
mov edx, ebp
mov rcx, rbx
call fcn.1401023c0
test rsi, rsi
jne 0x14012d832
jmp 0x14012d91f
call fcn.14013de24
int3
mov rcx, qword [r13 + 0x10]
bt dword [rcx + 0x6c], 0xb
jae 0x14012d932
mov dword [r13 + 0x1c], ebp
mov dword [r13 + 0x28], ebp
bt dword [rcx + 0x30], 0x1e
jae 0x14012d949
mov dword [r13 + 0x28], ebp
mov dword [r13 + 0x24], 3
mov dword [r13 + 0x1c], ebp
bt dword [rcx + 0x34], 0xb
jae 0x14012d958
mov dword [r13 + 0x1c], ebp
mov dword [r13 + 0x20], ebp
cmp dword [rcx + 0x64], r14d
je 0x14012d969
mov dword [r13 + 0x1c], ebp
mov eax, dword [rcx + 0x64]
mov dword [r13 + 0x24], eax
test byte [rcx + 0x110], 0x20
je 0x14012d97a
mov dword [r13 + 0x1c], ebp
mov dword [r13 + 0x24], r14d
cmp dword [r13 + 0x1c], r14d
je 0x14012d9ff
bt dword [rcx + 0x78], 0x19
jae 0x14012d9ff
mov r9d, dword [r13 + 0x28]
lea r8, str.Enabled
lea rdx, str.PowerMgnt
lea rcx, [0x14022c580]
call fcn.14014ccf0
mov r9d, dword [r13 + 0x24]
lea r8, str.DelayTime
lea rdx, str.PowerMgnt
lea rcx, [0x14022c580]
call fcn.14014ccf0
mov r9d, dword [r13 + 0x20]
lea r8, str.OnlyBattery
lea rdx, str.PowerMgnt
lea rcx, [0x14022c580]
call fcn.14014ccf0
mov r9d, dword [r13 + 0x2c]
lea r8, str.PowerState
lea rdx, str.PowerMgnt
lea rcx, [0x14022c580]
call fcn.14014ccf0
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x2c], 0x1c
jb 0x14012da14
test byte [rax + 0x30], 0x40
je 0x14012db69
cmp dword [0x14022c3f4], r14d
jne 0x14012da34
mov dword [0x14022c3f0], 0x114
lea rcx, [0x14022c3f0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x14022c3f4], 6
jne 0x14012db69
cmp dword [0x14022c3f8], r14d
jne 0x14012db69
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd0]
test rsi, rsi
je 0x14012db69
mov rdi, rsi
test rsi, rsi
je 0x14012db63
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012db36
mov ecx, r14d
mov edx, dword [rdi + 0x1d8]
cmp edx, ebp
jne 0x14012da97
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x2c], 0x1c
cmovb ecx, ebp
cmp edx, 9
jne 0x14012daa6
mov rax, qword [r13 + 0x10]
test byte [rax + 0x30], 0x40
jne 0x14012daae
test ecx, ecx
je 0x14012db36
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012db0e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012db0e
nop
cmp dword [rcx + 0x18], r14d
jne 0x14012dae3
mov eax, r14d
cmp dword [rcx], 5
sete al
test eax, eax
jne 0x14012daee
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012db0e
jmp 0x14012dad0
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012db11
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x1402259d0]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
mov rdi, rax
test rax, rax
jne 0x14012db40
test rsi, rsi
je 0x14012db69
jmp 0x14012da62
xor edx, edx
xor ecx, ecx
call fcn.14007bff0
mov rcx, rdi
call fcn.14007bd80
mov rcx, rdi
call fcn.14007be50
mov rcx, rdi
call fcn.14007bf20
jmp 0x14012db69
call fcn.14013de24
int3
mov rax, qword [r13 + 0x10]
lea rsi, [0x14019bd68]
test byte [rax + 0x34], 0x80
je 0x14012ddc4
cmp dword [0x14022c3f4], r14d
jne 0x14012db9e
mov dword [0x14022c3f0], 0x114
lea rcx, [0x14022c3f0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x14022c3f4], 6
jne 0x14012ddc4
cmp dword [0x14022c3f8], r14d
jne 0x14012ddc4
call fcn.14013e120
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012dbd8
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x178], rax
test rsi, 0xffffffffffff0000
jne 0x14012dc1a
movzx edi, si
mov ecx, edi
call fcn.14014c5c0
test rax, rax
je 0x14012dc3e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.140005140
jmp 0x14012dc3e
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.1400038f0
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd0]
test rsi, rsi
je 0x14012dd90
mov rbx, rsi
test rsi, rsi
je 0x14012dd8a
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14012dd5b
cmp dword [rbx + 0x168], 0
jne 0x14012dd5b
mov rax, qword [rbx]
lea rdx, [rsp + 0x178]
mov rcx, rbx
call qword [rax + 0x70]
test eax, eax
je 0x14012dd5b
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 0x14012dcc5
mov edx, edi
lea rcx, [rsp + 0x178]
call fcn.140001c90
mov rcx, qword [rsp + 0x178]
lea eax, [rdi + 1]
movsxd rdx, eax
call fcn.14015d030
test edi, edi
js 0x14012dd7f
mov rax, qword [rsp + 0x178]
cmp edi, dword [rax - 0xc]
jg 0x14012dd7f
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 0x14012dd5b
lea rdx, str.DIGITALMICWAVE
call fcn.14015d110
test rax, rax
je 0x14012dd5b
sub rax, qword [rsp + 0x178]
sar rax, 1
cmp eax, 0xffffffff
je 0x14012dd5b
mov edx, 5
mov rcx, rbx
call fcn.1400ec160
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea r9, [0x1402259d0]
lea r8, [0x140225138]
xor edx, edx
call fcn.14015da90
mov rdi, rax
test rax, rax
jne 0x14012dd65
test rsi, rsi
je 0x14012dd90
jmp 0x14012dc52
mov rcx, rax
call fcn.14007bd80
mov rcx, rdi
call fcn.14007be50
mov rcx, rdi
call fcn.14007bf20
jmp 0x14012dd90
mov ecx, 0x80070057
call fcn.140001c70
int3
call fcn.14013de24
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 0x14012ddbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rsi, [0x14019bd68]
jmp 0x14012ddc4
lea rsi, [0x14019bd68]
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x34], 0x1b
jae 0x14012df3a
call fcn.14013e120
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012ddf3
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x188], rax
test rsi, 0xffffffffffff0000
jne 0x14012de35
movzx edi, si
mov ecx, edi
call fcn.14014c5c0
test rax, rax
je 0x14012de59
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x188]
call fcn.140005140
jmp 0x14012de59
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.1400038f0
nop
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd0]
test rsi, rsi
je 0x14012df16
nop
mov rdi, rsi
test rsi, rsi
je 0x14012df10
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012deec
cmp dword [rdi + 0x168], 0
jne 0x14012deec
mov rax, qword [rdi]
lea rdx, [rsp + 0x188]
mov rcx, rdi
call qword [rax + 0x70]
test eax, eax
je 0x14012deec
cmp dword [rdi + 0x1d8], 4
jne 0x14012deec
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x34], 0x1b
jae 0x14012deec
mov edx, 5
mov rcx, rdi
call fcn.1400ec160
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea r9, [0x1402259d0]
lea r8, [0x140225138]
xor edx, edx
call fcn.14015da90
mov rdi, rax
test rax, rax
jne 0x14012def6
test rsi, rsi
je 0x14012df16
jmp 0x14012de70
mov rcx, rax
call fcn.14007bd80
mov rcx, rdi
call fcn.14007be50
mov rcx, rdi
call fcn.14007bf20
jmp 0x14012df16
call fcn.14013de24
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 0x14012df3a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
lea r12, [0x1401b0b78]
bt dword [rax + 0x2c], 0x1e
jae 0x14012e04a
mov rbx, qword [rax + 0x1bd0]
test rbx, rbx
je 0x14012e04a
mov rcx, rbx
test rbx, rbx
je 0x14012e044
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e039
cmp dword [rcx + 0x168], 0
je 0x14012e039
cmp dword [rcx + 0x1d8], 8
jne 0x14012e039
test byte [rcx + 0x314], 1
je 0x14012e039
mov edx, 7
call fcn.1400ec160
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea r9, [0x140225e30]
lea r8, [0x140225138]
xor edx, edx
call fcn.14015da90
mov r11, rax
test rax, rax
je 0x14012e039
mov edx, r14d
mov r8d, dword [rax + 0x68]
test r8d, r8d
je 0x14012e039
nop
cmp edx, r8d
jae 0x14012e020
mov rdi, qword [r11 + 0x60]
test rdi, rdi
je 0x14012e020
mov eax, edx
lea rcx, [rax + rax*8]
lea rsi, [rdi + rcx*8]
test rsi, rsi
je 0x14012e020
mov rdi, qword [r12]
cmp rdi, qword [rsi + 0x20]
jne 0x14012e017
mov rdi, qword [r12 + 8]
cmp rdi, qword [rsi + 0x28]
jne 0x14012e017
mov eax, r14d
jmp 0x14012e01c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14012e02a
add edx, 1
cmp edx, r8d
jae 0x14012e039
jmp 0x14012dfe0
lea rdx, [rsi + 0x30]
xor r8d, r8d
mov rcx, r11
call fcn.1400b4020
test rbx, rbx
jne 0x14012df60
jmp 0x14012e04a
call fcn.14013de24
int3
mov rsi, qword [r13 + 0x10]
mov eax, dword [rsi + 0x30]
test al, 0x20
jne 0x14012e05f
bt eax, 0xb
jae 0x14012e169
mov rsi, qword [rsi + 0x1bd0]
test rsi, rsi
je 0x14012e169
nop
mov rdi, rsi
test rsi, rsi
je 0x14012e163
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14012e158
test byte [rdi + 0x310], 8
je 0x14012e158
mov eax, dword [rdi + 0x314]
test al, 0x20
jne 0x14012e0c3
test al, 0x40
jne 0x14012e0c3
test al, al
js 0x14012e0c3
bt dword [rdi + 0x318], 0x12
jb 0x14012e0c3
mov rax, qword [r13 + 0x10]
test byte [rax + 0x30], 0x20
jne 0x14012e158
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012e120
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e120
cmp dword [rcx + 0x18], 0
jne 0x14012e0f5
mov eax, r14d
cmp dword [rcx], 1
sete al
test eax, eax
jne 0x14012e100
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e120
jmp 0x14012e0e2
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e123
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140226b28]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
test rax, rax
je 0x14012e158
cmp dword [rdi + 0x168], 0
je 0x14012e158
mov edx, ebp
mov rcx, rax
call fcn.1400f3d40
test rsi, rsi
jne 0x14012e070
jmp 0x14012e169
call fcn.14013de24
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x6c], 9
jae 0x14012e35a
mov rbx, qword [rax + 0x1bd0]
test rbx, rbx
je 0x14012e35a
nop
nop
mov rsi, rbx
test rbx, rbx
je 0x14012e354
mov rbx, qword [rbx]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14012e349
mov eax, dword [rsi + 0x314]
test al, 0x20
jne 0x14012e1cc
test al, 0x40
jne 0x14012e1cc
test al, al
js 0x14012e1cc
bt dword [rsi + 0x318], 0x12
jae 0x14012e349
mov eax, dword [rsi + 0x1d8]
cmp eax, 8
je 0x14012e1dc
cmp eax, 9
jne 0x14012e1eb
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 8
jb 0x14012e349
xor edx, edx
xor eax, eax
div dword [rsi + 0xe0]
mov rcx, qword [rsi + 0xd8]
test rcx, rcx
je 0x14012e24e
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e24e
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012e223
mov eax, r14d
cmp dword [rcx], 3
sete al
test eax, eax
jne 0x14012e22e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e24e
jmp 0x14012e210
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e251
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140225a78]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
mov rdi, rax
test rax, rax
je 0x14012e349
cmp dword [rsi + 0x168], 0
je 0x14012e2e0
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012e2e0
mov ecx, dword [rax + 0x314]
test cl, 0x20
jne 0x14012e2d6
bt dword [rax + 0x318], 0x12
jb 0x14012e2d6
test cl, 0x40
je 0x14012e2bd
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8b70]
mov rcx, rdi
call fcn.140055440
jmp 0x14012e2d6
test cl, cl
jns 0x14012e2d6
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8ba0]
mov rcx, rdi
call fcn.140055440
xor edx, edx
mov rcx, rdi
call fcn.140055fe0
test byte [rsi + 0x314], 0x20
je 0x14012e32a
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c78]
mov rcx, rdi
call fcn.140055440
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c48]
mov rcx, rdi
call fcn.140055440
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c18]
mov rcx, rdi
call fcn.140055440
jmp 0x14012e349
bt dword [rsi + 0x318], 0x12
jae 0x14012e349
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c78]
mov rcx, rdi
call fcn.140055440
test rbx, rbx
jne 0x14012e190
jmp 0x14012e35a
call fcn.14013de24
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x6c], 0xa
jae 0x14012e57d
mov rsi, qword [rax + 0x1bd0]
test rsi, rsi
je 0x14012e57d
nop
nop
mov rax, rsi
test rsi, rsi
je 0x14012e577
mov rsi, qword [rsi]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x14012e56c
test byte [rdi + 0x317], 1
je 0x14012e56c
mov eax, dword [rdi + 0x1d8]
cmp eax, 8
je 0x14012e3b9
cmp eax, 9
jne 0x14012e3c8
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 8
jb 0x14012e56c
xor edx, edx
xor eax, eax
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012e425
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e425
cmp dword [rcx + 0x18], 0
jne 0x14012e3fa
mov eax, r14d
cmp dword [rcx], 0xc
sete al
test eax, eax
jne 0x14012e405
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e425
jmp 0x14012e3e7
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e428
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140226080]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
test rax, rax
jne 0x14012e559
xor edx, edx
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012e4ae
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e4ae
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012e483
mov eax, r14d
cmp dword [rcx], 0xd
sete al
test eax, eax
jne 0x14012e48e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e4ae
jmp 0x14012e470
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e4b1
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140226080]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
test rax, rax
jne 0x14012e559
xor edx, edx
mov eax, ebp
div dword [rdi + 0xe0]
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x14012e534
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e534
cmp dword [rcx + 0x18], 1
jne 0x14012e509
mov eax, r14d
cmp dword [rcx], 0x12
sete al
test eax, eax
jne 0x14012e514
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e534
jmp 0x14012e4f6
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e537
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140226080]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
test rax, rax
je 0x14012e56c
cmp dword [rdi + 0x168], 0
je 0x14012e56c
mov edx, ebp
mov rcx, rax
call fcn.1400cda30
test rsi, rsi
jne 0x14012e380
jmp 0x14012e57d
call fcn.14013de24
int3
mov rdi, qword [r13 + 0x10]
test byte [rdi + 0x32], 1
je 0x14012e65d
mov rdi, qword [rdi + 0x1bd0]
test rdi, rdi
je 0x14012e65d
nop
nop
mov rcx, rdi
test rdi, rdi
je 0x14012e657
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e64c
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012e61d
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e61d
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012e5f2
mov eax, r14d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x14012e5fd
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e61d
jmp 0x14012e5e0
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e620
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140225d38]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
test rax, rax
je 0x14012e64c
mov edx, ebp
mov rcx, rax
call fcn.140101e30
test rdi, rdi
jne 0x14012e5a0
jmp 0x14012e65d
call fcn.14013de24
int3
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012e687
mov eax, dword [rax + 0x6c]
bt eax, 0xc
jb 0x14012e687
bt eax, 0xd
jb 0x14012e687
bt eax, 0xe
jb 0x14012e687
bt eax, 0xf
jae 0x14012e7cf
mov ecx, 0x40
call fcn.14013c710
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012e6ab
mov rcx, rax
call fcn.14007f130
mov rdi, rax
jmp 0x14012e6ae
mov rdi, r14
test rdi, rdi
je 0x14012e7cf
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd0]
test rsi, rsi
je 0x14012e7c5
nop
nop
mov rdx, rsi
test rsi, rsi
je 0x14012e7bf
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012e7b4
cmp dword [rdx + 0x168], 0
je 0x14012e7b4
bt dword [rdx + 0x314], 0x1b
jae 0x14012e7b4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14012e7b4
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012e72a
bt dword [rax + 0x6c], 0xc
jae 0x14012e73f
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c78]
mov rcx, rdi
call fcn.140055440
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012e751
bt dword [rax + 0x6c], 0xd
jae 0x14012e766
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c90]
mov rcx, rdi
call fcn.140055440
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012e778
bt dword [rax + 0x6c], 0xe
jae 0x14012e78d
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8ca8]
mov rcx, rdi
call fcn.140055440
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x30], 0x19
jb 0x14012e79f
bt dword [rax + 0x6c], 0xf
jae 0x14012e7b4
mov r9d, ebp
mov r8d, ebp
lea rdx, [0x1401a8c18]
mov rcx, rdi
call fcn.140055440
test rsi, rsi
jne 0x14012e6d0
jmp 0x14012e7c5
call fcn.14013de24
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 0x14012e7ed
bt eax, 0x1f
jb 0x14012e7ed
bt dword [rdi + 0x6c], 0x11
jae 0x14012e917
mov rdi, qword [rdi + 0x1bd0]
test rdi, rdi
je 0x14012e917
nop
mov rsi, rdi
test rdi, rdi
je 0x14012e911
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14012e906
cmp dword [rsi + 0x168], 0
je 0x14012e906
bt dword [rsi + 0x314], 0x1b
jae 0x14012e906
mov rcx, qword [r13 + 0x10]
mov eax, dword [rcx + 0x30]
bt eax, 0x1a
jae 0x14012e855
mov word [rsp + 0x50], 0x13
mov dword [rsp + 0x58], 3
jmp 0x14012e886
bt eax, 0x1f
jae 0x14012e86c
mov word [rsp + 0x50], 0x13
mov dword [rsp + 0x58], 6
jmp 0x14012e886
mov eax, dword [rcx + 0x6c]
bt eax, 0x11
jae 0x14012e886
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, [0x1401a6570]
mov r8d, ebp
xor edx, edx
lea rcx, [0x1401a6560]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14012e8c4
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012e8fb
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14012e8fb
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rdx
lea r9, [0x1401a8cc0]
mov r8d, ebp
mov rdx, qword [rsi + 0x118]
call qword [rax + 0x58]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012e8fb
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0x50]
call qword [sym.imp.ole32.dll_PropVariantClear]
test rdi, rdi
jne 0x14012e800
jmp 0x14012e917
call fcn.14013de24
int3
mov rdi, qword [r13 + 0x10]
bt dword [rdi + 0x30], 0x1d
jae 0x14012ea0e
mov rdi, qword [rdi + 0x1bd0]
test rdi, rdi
je 0x14012ea0e
nop
nop
nop
mov rcx, rdi
test rdi, rdi
je 0x14012ea08
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e9fd
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012e9be
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012e9be
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012e993
mov eax, r14d
cmp dword [rcx], 0xa
sete al
test eax, eax
jne 0x14012e99e
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012e9be
jmp 0x14012e980
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012e9c1
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x1402268a8]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
mov rsi, rax
test rax, rax
je 0x14012e9fd
mov edx, 2
mov rcx, rax
call fcn.140113db0
mov edx, ebp
mov rcx, rsi
call fcn.140113950
test rdi, rdi
jne 0x14012e940
jmp 0x14012ea0e
call fcn.14013de24
int3
mov rsi, qword [r13 + 0x10]
test byte [rsi + 0xdf], 1
je 0x14012eb5b
mov rsi, qword [rsi + 0x1bd0]
test rsi, rsi
je 0x14012eb5b
nop
mov rcx, rsi
test rsi, rsi
je 0x14012eb55
mov rsi, qword [rsi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012eb4a
cmp dword [rcx + 0x168], 0
jne 0x14012eb4a
mov rax, qword [0x14022c3b8]
add dword [rax + 0x1d58], 1
mov eax, dword [rcx + 0x30c]
shr eax, 0x12
and eax, 1
je 0x14012eb4a
xor edx, edx
xor eax, eax
div dword [rcx + 0xe0]
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x14012ead6
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012ead6
cmp dword [rcx + 0x18], 0
jne 0x14012eaab
mov eax, r14d
cmp dword [rcx], 2
sete al
test eax, eax
jne 0x14012eab6
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012ead6
jmp 0x14012ea98
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012ead9
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140225820]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
mov rdi, rax
test rax, rax
je 0x14012eb4a
mov rcx, qword [r13 + 0x10]
mov ecx, dword [rcx + 0x104]
test cl, 0x20
mov edx, r14d
cmovne edx, ebp
test cl, 0x40
je 0x14012eb19
or edx, 2
mov rcx, rax
call fcn.1400d1a30
mov rdx, qword [r13 + 0x10]
bt dword [rdx + 0x4c], 0xf
jae 0x14012eb36
mov edx, ebp
mov rcx, rdi
call fcn.1400d2330
mov rax, qword [r13 + 0x10]
test byte [rax + 0x50], 1
je 0x14012eb4a
mov edx, ebp
mov rcx, rdi
call fcn.1400d2840
test rsi, rsi
jne 0x14012ea30
jmp 0x14012eb5b
call fcn.14013de24
int3
mov rax, qword [r13 + 0x10]
lea r12, method.k.1.virtual_0
lea r15, [0x1401a6558]
cmp dword [rax + 0x14c], 0
je 0x14012eec2
bt dword [rax + 0x114], 8
jb 0x14012eec2
lea rcx, [rsp + 0x70]
call fcn.1400f8c50
nop
mov rax, qword [r13 + 0x10]
mov rbp, qword [rax + 0x1bd0]
test rbp, rbp
je 0x14012ee70
nop
nop
nop
mov rbx, rbp
test rbp, rbp
je 0x14012ee6a
mov rbp, qword [rbp]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14012ee55
cmp dword [rbx + 0x168], 0
je 0x14012ee55
bt dword [rbx + 0x314], 0x12
jae 0x14012ee55
mov qword [rsp + 0x90], rbx
call fcn.14013e120
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
je 0x14012ee5f
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 0x14012ec29
mov ecx, r14d
jmp 0x14012ec3c
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.1400038f0
mov rsi, qword [rsp + 0x48]
test rsi, rsi
jne 0x14012ec58
mov ecx, r14d
jmp 0x14012ec6b
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.1400038f0
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012ec9b
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 + 0x70]
mov rdx, qword [0x14022c3b8]
add dword [rdx + 0x1d58], 1
test rdx, rdx
je 0x14012ee55
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 0x14012ed5d
lea rcx, [0x14022dc10]
call fcn.1400f87f0
test eax, eax
je 0x14012ed5d
mov eax, 0x80000001
mov edi, dword [rsp + 0xb0]
cmp eax, 0x80000003
jne 0x14012ed24
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x118]
mov rax, qword [0x14022dc30]
test rax, rax
je 0x14012ed43
call rax
jmp 0x14012ed48
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012ed56
test edi, edi
jg 0x14012ed12
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0x80000001
je 0x14012edce
mov eax, 0x80000001
mov edi, dword [rsp + 0xb0]
cmp eax, 0x80000003
jne 0x14012ed88
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14022dc38]
test rax, rax
je 0x14012ed9f
mov ecx, dword [rsp + 0xa8]
call rax
jmp 0x14012eda4
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012edb4
test edi, edi
jg 0x14012ed76
jmp 0x14012edbb
cmp eax, 0x80000001
je 0x14012edce
mov rax, qword [0x14022dc40]
test rax, rax
je 0x14012edce
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 0x14012ee55
mov eax, 0x80000001
mov edi, dword [rsp + 0xb0]
nop
nop
cmp eax, 0x80000003
jne 0x14012ee12
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14022dc38]
test rax, rax
je 0x14012ee29
mov ecx, dword [rsp + 0xa8]
call rax
jmp 0x14012ee2e
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012ee3e
test edi, edi
jg 0x14012ee00
jmp 0x14012ee45
cmp eax, 0x80000001
je 0x14012ee55
mov rax, qword [0x14022dc78]
test rax, rax
je 0x14012ee55
mov ecx, esi
call rax
test rbp, rbp
je 0x14012ee70
jmp 0x14012ebb0
mov ecx, 0x80004005
call fcn.140001c70
int3
call fcn.14013de24
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 0x14012ee99
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 0x14012eec2
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 0x14012f191
lea rcx, [rsp + 0xc0]
call fcn.1400f8c50
nop
mov rax, qword [r13 + 0x10]
mov rbp, qword [rax + 0x1bd0]
test rbp, rbp
je 0x14012f139
nop
nop
nop
mov rbx, rbp
test rbp, rbp
je 0x14012f133
mov rbp, qword [rbp]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14012f11e
cmp dword [rbx + 0x168], 0
je 0x14012f11e
bt dword [rbx + 0x314], 0x12
jae 0x14012f11e
mov qword [rsp + 0xe0], rbx
call fcn.14013e120
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
je 0x14012f128
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 0x14012ef79
mov ecx, r14d
jmp 0x14012ef8c
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.1400038f0
mov rsi, qword [rsp + 0x40]
test rsi, rsi
jne 0x14012efa8
mov ecx, r14d
jmp 0x14012efbb
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.1400038f0
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012efeb
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 + 0x70]
mov rdx, qword [0x14022c3b8]
add dword [rdx + 0x1d58], 1
test rdx, rdx
je 0x14012f11e
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 0x14012f0ad
lea rcx, [0x14022dc10]
call fcn.1400f87f0
test eax, eax
je 0x14012f0ad
mov eax, 0x80000001
mov edi, dword [rsp + 0x100]
cmp eax, 0x80000003
jne 0x14012f074
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax + 0x118]
mov rax, qword [0x14022dc30]
test rax, rax
je 0x14012f093
call rax
jmp 0x14012f098
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f0a6
test edi, edi
jg 0x14012f062
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0x80000001
je 0x14012f11e
mov eax, 0x80000001
mov edi, dword [rsp + 0x100]
cmp eax, 0x80000003
jne 0x14012f0d8
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x14022dc38]
test rax, rax
je 0x14012f0ef
mov ecx, dword [rsp + 0xf8]
call rax
jmp 0x14012f0f4
mov eax, 0x80000001
sub edi, 1
cmp eax, 0x80000003
jne 0x14012f104
test edi, edi
jg 0x14012f0c6
jmp 0x14012f10b
cmp eax, 0x80000001
je 0x14012f11e
mov rax, qword [0x14022dc40]
test rax, rax
je 0x14012f11e
mov ecx, 1
call rax
test rbp, rbp
je 0x14012f139
jmp 0x14012ef00
mov ecx, 0x80004005
call fcn.140001c70
int3
call fcn.14013de24
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 0x14012f165
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 0x14012f191
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 0x14012f1a8
mov edx, 1
call fcn.140076820
mov rax, qword [r13 + 0x10]
bt dword [rax + 0x34], 0x1d
jae 0x14012f51c
mov ecx, 0x40
call fcn.14013c710
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012f1db
mov rcx, rax
call fcn.14007f130
mov rbp, rax
jmp 0x14012f1de
mov rbp, r14
mov ecx, 0x80
call fcn.14013c710
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012f202
mov rcx, rax
call fcn.1400b3460
mov rbx, rax
jmp 0x14012f205
mov rbx, r14
test rbp, rbp
je 0x14012f50a
test rbx, rbx
je 0x14012f4fc
mov rax, qword [r13 + 0x10]
mov r12, qword [rax + 0x1bd0]
test r12, r12
je 0x14012f4fc
lea r15, [0x1401b0b78]
mov rdx, r12
test r12, r12
je 0x14012f4f6
mov r12, qword [r12]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012f4eb
mov ecx, dword [rdx + 0x318]
mov eax, ecx
shr eax, 0xd
and eax, 1
jne 0x14012f275
bt ecx, 0x15
jb 0x14012f275
bt ecx, 0x16
jb 0x14012f275
bt ecx, 0x17
jae 0x14012f4eb
cmp dword [rdx + 0x168], 0
je 0x14012f4eb
test eax, eax
je 0x14012f3b4
mov ecx, dword [rdx + 0x1d8]
sub ecx, 1
je 0x14012f328
cmp ecx, 7
jne 0x14012f4eb
test byte [rdx + 0x314], 1
je 0x14012f4eb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov edx, r14d
mov r8d, dword [rbx + 0x68]
test r8d, r8d
je 0x14012f4eb
cmp edx, r8d
jae 0x14012f306
mov rdi, qword [rbx + 0x60]
test rdi, rdi
je 0x14012f306
mov eax, edx
lea rcx, [rax + rax*8]
lea rsi, [rdi + rcx*8]
test rsi, rsi
je 0x14012f306
mov rdi, qword [r15]
cmp rdi, qword [rsi + 0x20]
jne 0x14012f2fd
mov rdi, qword [r15 + 8]
cmp rdi, qword [rsi + 0x28]
jne 0x14012f2fd
mov eax, r14d
jmp 0x14012f302
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14012f314
add edx, 1
cmp edx, r8d
jae 0x14012f4eb
jmp 0x14012f2c8
lea rdx, [rsi + 0x30]
xor r8d, r8d
mov rcx, rbx
call fcn.1400b4020
jmp 0x14012f4eb
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
test eax, eax
je 0x14012f4eb
mov edx, 1
mov rcx, rbp
call fcn.140082280
mov edx, 1
mov rcx, rbp
call fcn.1400825d0
mov edx, 1
mov rcx, rbp
call fcn.140080b50
mov edx, 1
mov rcx, rbp
call fcn.140080ea0
mov edx, 1
mov rcx, rbp
call fcn.1400811f0
mov edx, 1
mov rcx, rbp
call fcn.140081540
mov edx, 1
mov rcx, rbp
call fcn.140081890
mov edx, 1
mov rcx, rbp
call fcn.140081be0
mov edx, 1
mov rcx, rbp
call fcn.140081f30
jmp 0x14012f4eb
mov ecx, dword [rdx + 0x1d8]
sub ecx, 1
je 0x14012f457
cmp ecx, 7
jne 0x14012f4eb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
test eax, eax
je 0x14012f4eb
cmp dword [rbx + 0x78], 0
je 0x14012f4eb
mov edx, r14d
mov r8d, dword [rbx + 0x68]
test r8d, r8d
je 0x14012f4eb
cmp edx, r8d
jae 0x14012f435
mov rdi, qword [rbx + 0x60]
test rdi, rdi
je 0x14012f435
mov eax, edx
lea rcx, [rax + rax*8]
lea rsi, [rdi + rcx*8]
test rsi, rsi
je 0x14012f435
mov rdi, qword [r15]
cmp rdi, qword [rsi + 0x20]
jne 0x14012f42c
mov rdi, qword [r15 + 8]
cmp rdi, qword [rsi + 0x28]
jne 0x14012f42c
mov eax, r14d
jmp 0x14012f431
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14012f443
add edx, 1
cmp edx, r8d
jae 0x14012f4eb
jmp 0x14012f3f7
lea rdx, [rsi + 0x30]
xor r8d, r8d
mov rcx, rbx
call fcn.1400b4020
jmp 0x14012f4eb
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
test eax, eax
je 0x14012f4eb
mov edx, 1
mov rcx, rbp
call fcn.140082ec0
mov edx, 1
mov rcx, rbp
call fcn.1400830f0
mov edx, 1
mov rcx, rbp
call fcn.140083320
mov edx, 1
mov rcx, rbp
call fcn.140083550
mov edx, 1
mov rcx, rbp
call fcn.140083780
mov edx, 1
mov rcx, rbp
call fcn.1400839b0
mov edx, 1
mov rcx, rbp
call fcn.140083be0
mov edx, 1
mov rcx, rbp
call fcn.140083e10
mov edx, 1
mov rcx, rbp
call fcn.140084040
mov edx, 1
mov rcx, rbp
call fcn.140084270
test r12, r12
jne 0x14012f232
jmp 0x14012f4fc
call fcn.14013de24
int3
mov rax, qword [rbp]
mov edx, 1
mov rcx, rbp
call qword [rax]
test rbx, rbx
je 0x14012f51c
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x48], 0
je 0x14012f684
mov ecx, 0x40
call fcn.14013c710
mov qword [rsp + 0x170], rax
test rax, rax
je 0x14012f54e
mov rcx, rax
call fcn.14007f130
mov rdi, rax
jmp 0x14012f551
mov rdi, r14
mov rsi, qword [r13 + 0x10]
movsxd rax, dword [rsi + 0x48]
test rdi, rdi
je 0x14012f684
mov rsi, qword [rsi + 0x1bd0]
mov rbp, rax
test rsi, rsi
je 0x14012f677
nop
nop
nop
mov rdx, rsi
test rsi, rsi
je 0x14012f671
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14012f666
cmp dword [rdx + 0x168], 0
je 0x14012f666
mov eax, dword [rdx + 0x318]
bt eax, 0x15
jb 0x14012f5c6
bt eax, 0x16
jb 0x14012f5c6
bt eax, 0x17
jb 0x14012f5c6
mov ebx, r14d
jmp 0x14012f5cb
mov ebx, 1
bt eax, 0xd
jb 0x14012f5d9
test ebx, ebx
je 0x14012f666
cmp dword [rdx + 0x1d8], 1
jne 0x14012f666
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14012f666
test rbp, rbp
je 0x14012f666
test ebx, ebx
je 0x14012f632
mov edx, 1
mov rcx, rdi
call fcn.140084040
mov edx, 1
mov rcx, rdi
call fcn.140082ec0
mov edx, 1
mov rcx, rdi
call fcn.140083320
mov edx, 1
mov rcx, rdi
call fcn.140083780
jmp 0x14012f666
mov edx, 1
mov rcx, rdi
call fcn.140082280
mov edx, 1
mov rcx, rdi
call fcn.140080b50
mov edx, 1
mov rcx, rdi
call fcn.1400811f0
mov edx, 1
mov rcx, rdi
call fcn.140081890
test rsi, rsi
jne 0x14012f580
jmp 0x14012f677
call fcn.14013de24
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 0x14012f6b4
mov rdx, qword [rdx + 0x1bd0]
test rdx, rdx
je 0x14012f6b4
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx]
test rcx, rcx
je 0x14012f695
cmp dword [rcx + 0x1d8], 1
jne 0x14012f695
call fcn.140061da0
mov rdx, qword [r13 + 0x10]
test byte [rdx + 0x50], 0x20
je 0x14012f707
mov rax, qword [rdx + 0x1bd0]
test rax, rax
je 0x14012f707
nop
nop
mov rcx, rax
test rax, rax
je 0x14012f701
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012f6f3
test byte [rdx + 0x50], 0x20
je 0x14012f6f3
cmp dword [rcx + 0x1d8], 4
je 0x14012f6fa
test rax, rax
je 0x14012f707
jmp 0x14012f6d0
call fcn.140062710
jmp 0x14012f707
call fcn.14013de24
int3
mov rcx, qword [r13 + 0x10]
test byte [rcx + 0x50], 0x80
je 0x14012f71c
test byte [rcx + 0x50], 0x80
je 0x14012f71c
call fcn.140073000
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x200], 0
je 0x14012fa07
mov rbx, r14
mov r12, qword [rax + 0x1bd0]
test r12, r12
je 0x14012fa07
lea r15, [0x140210630]
nop
nop
nop
mov rax, r12
test r12, r12
je 0x14012fa01
mov r12, qword [r12]
mov rbp, qword [rax + 0x10]
test rbp, rbp
je 0x14012f9f6
cmp dword [rbp + 0x1d8], 0
je 0x14012f9f6
xor edx, edx
xor eax, eax
div dword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14012f7dd
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14012f7dd
nop
nop
cmp dword [rcx + 0x18], 0
jne 0x14012f7b2
mov eax, r14d
cmp dword [rcx], eax
sete al
test eax, eax
jne 0x14012f7bd
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012f7dd
jmp 0x14012f7a0
mov dword [rsp + 0x20], r14d
lea r9, [0x140225138]
lea r8, [0x1402251b0]
xor edx, edx
mov rcx, qword [rcx + 8]
call fcn.14015da90
jmp 0x14012f7e0
mov rax, r14
mov dword [rsp + 0x20], r14d
lea r9, [0x140225d38]
lea r8, [0x140225138]
xor edx, edx
mov rcx, rax
call fcn.14015da90
mov rdi, rax
test rax, rax
je 0x14012f9f6
mov rcx, qword [r13 + 0x10]
mov edx, dword [rcx + 0x200]
cmp edx, 4
je 0x14012f957
cmp edx, 6
je 0x14012f89e
cmp edx, 8
jne 0x14012f9d1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012f874
test byte [rax + 0x3a0], 0x40
jne 0x14012f841
mov rbx, r14
jmp 0x14012f874
mov eax, r14d
mov rcx, r15
cmp dword [rcx], 0x40
je 0x14012f85a
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012f847
jmp 0x14012f864
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100530
jmp 0x14012f99c
mov rdi, qword [rbp + 0x118]
call fcn.140152e58
mov r9d, 8
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014ccf0
jmp 0x14012f9d1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012f8ed
test byte [rax + 0x3a0], 0x10
jne 0x14012f8b5
mov rbx, r14
jmp 0x14012f8ed
mov eax, r14d
mov rcx, r15
nop
nop
cmp dword [rcx], 0x10
je 0x14012f8d3
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012f8c0
jmp 0x14012f8dd
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100530
jmp 0x14012f99c
test rax, rax
je 0x14012f930
test byte [rax + 0x3a0], 0x20
jne 0x14012f900
mov rbx, r14
jmp 0x14012f930
mov eax, r14d
mov rcx, r15
cmp dword [rcx], 0x20
je 0x14012f919
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012f906
jmp 0x14012f923
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100530
jmp 0x14012f99c
mov rdi, qword [rbp + 0x118]
call fcn.140152e58
mov r9d, 6
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014ccf0
jmp 0x14012f9d1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14012f9ac
test byte [rax + 0x3a0], 4
jne 0x14012f96e
mov rbx, r14
jmp 0x14012f9ac
mov eax, r14d
mov rcx, r15
cmp dword [rcx], 4
je 0x14012f987
add eax, 1
add rcx, 0x18
cmp eax, 7
jb 0x14012f974
jmp 0x14012f991
cdqe
lea rcx, [rax + rax*2]
lea rbx, [r15 + rcx*8]
mov rdx, rbx
mov rcx, rdi
call fcn.140100530
test eax, eax
je 0x14012f9d1
mov rax, qword [r13 + 0x10]
mov esi, dword [rax + 0x200]
jmp 0x14012f9d4
mov rdi, qword [rbp + 0x118]
call fcn.140152e58
mov r9d, 4
lea r8, str.SetDefNoSupport
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014ccf0
mov esi, r14d
mov rdi, qword [rbp + 0x118]
call fcn.140152e58
mov r9d, esi
lea r8, str.SetDefCh
mov rdx, rdi
mov rcx, qword [rax + 8]
call fcn.14014ccf0
test r12, r12
jne 0x14012f750
jmp 0x14012fa07
call fcn.14013de24
int3
mov rbx, qword [r13 + 0x10]
test byte [rbx + 0xd6], 1
je 0x14012fc55
mov rbx, qword [rbx + 0x1bd0]
test rbx, rbx
je 0x14012fc55
nop
nop
mov rbp, rbx
test rbx, rbx
je 0x14012fc4f
mov rbx, qword [rbx]
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x14012fc34
cmp dword [rbp + 0x1d8], 1
jne 0x14012fc34
call fcn.14013e120
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
je 0x14012fc44
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 0x14012fb3d
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14019bd68]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14019bd68]
lea rcx, [rsp + 0x180]
call fcn.1400038f0
call fcn.140152e58
movzx r9d, word [rsi + 0xc]
mov r8d, 0xe22
mov rdx, qword [rax + 0x10]
lea rcx, [rsp + 0x180]
call fcn.140051bd0
xor r11d, r11d
lea rdi, [0x14019bd68]
mov rax, qword [rsp + 0x180]
mov rsi, rax
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14012fb0a
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
sete cl
test cl, cl
je 0x14012fb3d
call fcn.140152e58
mov r9w, 0x409
mov r8d, 0xe22
mov rdx, qword [rax + 0x10]
lea rcx, [rsp + 0x180]
call fcn.140051bd0
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 0x14012fb62
cmp rax, qword [rdi]
jne 0x14012fb62
mov rsi, rdi
lock add dword [rdi + 0x10], 1
jmp 0x14012fb9f
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14012fc3e
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.14015c410
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, [0x1401ab328]
call fcn.140056620
test eax, eax
jne 0x14012fbf7
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012fc19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14012fc19
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14012fc19
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 0x14012fc34
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
je 0x14012fc55
jmp 0x14012fa30
call fcn.1400c63c0
nop
mov ecx, 0x80004005
call fcn.140001c70
int3
call fcn.14013de24
int3
mov rdi, qword [r13 + 0x10]
test byte [rdi + 0x1d8], 8
je 0x14012fca4
mov rdi, qword [rdi + 0x1bd0]
test rdi, rdi
je 0x14012fca4
nop
mov rcx, rdi
test rdi, rdi
je 0x14012fc9e
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14012fc97
cmp dword [rcx + 0x1d8], 3
jne 0x14012fc97
mov edx, 1
call fcn.140064090
test rdi, rdi
jne 0x14012fc70
jmp 0x14012fca4
call fcn.14013de24
int3
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret