Function at 0x14004c780
Capabilities:
Check os version

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov r13, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14004c7c2
mov rax, qword [rcx]
call qword [rax + 0xb0]
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jne 0x14004c7e5
lea r8, str.Customized.cpp
mov edx, 0xa0b
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14004c7b1
xor esi, esi
test byte [rcx + 0x30], 8
je 0x14004c82d
mov rcx, qword [rcx + 0x1bd8]
test rcx, rcx
je 0x14004c82d
mov rax, rcx
mov rcx, qword [rcx]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14004c7f4
cmp dword [rax + 0x1d8], 8
jne 0x14004c7f4
cmp dword [rax + 0x168], esi
jne 0x14004c7f4
mov rax, qword [rax + 0x1e8]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14004c7f4
mov qword [rdx + 0x18], rsi
mov rax, qword [r13 + 0x10]
test dword [rax + 0x30], 0x820
je 0x14004c919
mov dword [rbp + 0x48], esi
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x14004c919
mov rbx, rdi
test rdi, rdi
je 0x14004d79b
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004c90c
test byte [rbx + 0x310], 8
je 0x14004c90c
test byte [rbx + 0x314], 0xe0
jne 0x14004c899
test dword [rbx + 0x318], 0x40000
jne 0x14004c899
mov rax, qword [r13 + 0x10]
test byte [rax + 0x30], 0x20
jne 0x14004c90c
mov edx, 1
mov rcx, rbx
call fcn.1400c0350
mov dword [rsp + 0x20], esi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x14004c90a
cmp dword [rbx + 0x168], 0
je 0x14004c90a
lea rdx, [rbp + 0x48]
mov rcx, rax
call fcn.1400ccd90
test eax, eax
jne 0x14004c90a
cmp dword [rbp + 0x48], eax
jne 0x14004c90a
xor edx, edx
mov rcx, rsi
call fcn.14000fe30
mov r9d, 1
mov r8d, r9d
lea rdx, [0x1403422b8]
mov rcx, rsi
call fcn.14000f4d0
xor esi, esi
test rdi, rdi
jne 0x14004c851
mov rax, qword [r13 + 0x10]
lea r14, [0x140345b70]
or r15, 0xffffffffffffffff
lea r12d, [r15 + 0xb]
lea rbx, str.SetSpeakersAsDefaultAt1stPlugIn
test dword [rax + 0x34], 0x4018
je 0x14004cca9
cmp dword [0x1403ff444], 0
jne 0x14004c95c
mov dword [0x1403ff440], 0x114
lea rcx, [0x1403ff440]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1403ff444], 6
jne 0x14004cca9
cmp dword [0x1403ff448], 0
jne 0x14004cca9
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14004d790
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x60], rax
mov rdx, r14
lea rcx, [rbp + 0x60]
call fcn.140015a40
test al, al
jne 0x14004c9cb
mov rax, r15
nop dword [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x14004c9b0
mov r8d, eax
mov rdx, r14
lea rcx, [rbp + 0x60]
call fcn.1400105e0
nop
mov r14d, r12d
mov rax, qword [r13 + 0x10]
mov ecx, dword [rax + 0x34]
test cl, 8
je 0x14004ca01
mov rax, r15
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14004c9e0
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.1400105e0
mov r14d, 1
jmp 0x14004ca5c
test cl, 0x10
je 0x14004ca2e
lea rdx, str.SetHDMIAsDefaultAt1stPlugIn
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14004ca10
mov r8d, eax
lea rcx, [rbp + 0x60]
call fcn.1400105e0
mov r14d, 9
jmp 0x14004ca5c
bt ecx, 0xe
jae 0x14004ca5c
lea rdx, str.SetFrontMicAsDefaultAt1stPlugIn
mov rax, r15
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14004ca40
mov r8d, eax
lea rcx, [rbp + 0x60]
call fcn.1400105e0
mov r14d, 4
xor r9d, r9d
mov rbx, qword [rbp + 0x60]
mov r8, rbx
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.1401076a0
test eax, eax
jne 0x14004cc81
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x1bd8]
xor ebx, ebx
nop
test rsi, rsi
je 0x14004cc7d
mov rdi, qword [rsi + 0x10]
mov rsi, qword [rsi]
test rdi, rdi
je 0x14004ca90
cmp dword [rdi + 0x1d8], r14d
jne 0x14004ca90
mov rax, qword [r13 + 0x10]
test dword [rax + 0x34], 0x4000
je 0x14004cbeb
call fcn.1400f9930
test rax, rax
je 0x14004d7b7
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x50], rax
lea rdx, [0x140345b70]
lea rcx, [rbp + 0x50]
call fcn.140015a40
test al, al
jne 0x14004cb06
xor r8d, r8d
lea rdx, [0x140345b70]
lea rcx, [rbp + 0x50]
call fcn.1400105e0
nop
mov rax, qword [rdi]
lea rdx, [rbp + 0x50]
mov rcx, rdi
call qword [rax + 0x78]
test eax, eax
jne 0x14004cb3e
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004ca90
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004ca90
mov rcx, qword [rbp + 0x50]
movsxd rbx, dword [rcx - 0x10]
test ebx, ebx
js 0x14004d7ac
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, ebx
or eax, edx
jge 0x14004cb6e
mov edx, ebx
lea rcx, [rbp + 0x50]
call fcn.14000ddb0
mov rcx, qword [rbp + 0x50]
lea eax, [rbx + 1]
movsxd rdx, eax
call fcn.1402a6f14
mov rax, qword [rbp + 0x50]
cmp ebx, dword [rax - 0xc]
jg 0x14004d7a1
mov dword [rax - 0x10], ebx
mov rcx, rbx
mov rax, qword [rbp + 0x50]
xor ebx, ebx
mov word [rax + rcx*2], bx
mov rax, qword [rbp + 0x50]
cmp dword [rax - 0x10], ebx
jl 0x14004cc5a
lea rdx, str.FRONTMICINWAVE
mov rcx, rax
call fcn.14029fa1c
mov rcx, rax
test rax, rax
mov rax, qword [rbp + 0x50]
je 0x14004cc5a
sub rcx, rax
sar rcx, 1
cmp ecx, 0xffffffff
je 0x14004cc5a
lea rdx, [rax - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004cbeb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 5
mov rcx, rdi
call fcn.1400c0350
mov dword [rsp + 0x20], ebx
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rbx, rax
test rax, rax
je 0x14004ca8c
mov rcx, rax
call fcn.140055760
mov rcx, rbx
call fcn.140055830
mov rcx, rbx
call fcn.140055900
mov r9d, 1
mov rbx, qword [rbp + 0x60]
mov r8, rbx
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
jmp 0x14004cc81
lea rdx, [rax - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004ca90
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004ca90
mov rbx, qword [rbp + 0x60]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004cc9b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r14, [0x140345b70]
lea rbx, str.SetSpeakersAsDefaultAt1stPlugIn
mov rax, qword [r13 + 0x10]
test byte [rax + 0x4c], 0x10
je 0x14004ce58
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14004d7c2
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x20], rax
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.140015a40
test al, al
jne 0x14004cd0b
mov rax, r15
nop dword [rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x14004ccf0
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.1400105e0
nop
mov esi, r12d
mov rax, qword [r13 + 0x10]
test byte [rax + 0x4c], 0x10
je 0x14004cd3e
mov rax, r15
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14004cd20
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.1400105e0
mov esi, 1
xor r9d, r9d
mov rbx, qword [rbp - 0x20]
mov r8, rbx
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.1401076a0
test eax, eax
jne 0x14004ce3e
mov rax, qword [r13 + 0x10]
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x14004ce3e
nop word [rax + rax]
mov rcx, rdi
test rdi, rdi
je 0x14004d7d8
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004cddb
cmp dword [rcx + 0x1d8], esi
jne 0x14004cddb
cmp dword [rcx + 0x178], 1
jne 0x14004cddb
mov edx, 5
call fcn.1400c0350
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov r14, rax
test rax, rax
jne 0x14004cde2
test rdi, rdi
je 0x14004ce37
jmp 0x14004cd80
xor esi, esi
mov rcx, r14
call fcn.140055760
mov edi, eax
mov rcx, r14
call fcn.140055830
and edi, eax
mov rcx, r14
call fcn.140055900
and edi, eax
jne 0x14004ce0d
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc esi
test edi, edi
jne 0x14004ce18
cmp esi, 5
jb 0x14004cde4
xor r9d, r9d
test edi, edi
setne r9b
mov r8, rbx
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
lea r14, [0x140345b70]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004ce58
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x10]
test dword [rax + 0x4c], 0x800
je 0x14004d016
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14004d7cd
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
mov rdx, r14
lea rcx, [rbp - 0x28]
call fcn.140015a40
test al, al
jne 0x14004cebb
mov rax, r15
nop dword [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x14004cea0
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x28]
call fcn.1400105e0
nop
mov rsi, qword [r13 + 0x10]
test dword [rsi + 0x4c], 0x800
je 0x14004cef2
lea rdx, str.SetMicAsDefaultAt1stPlugIn
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x14004ced2
mov r8d, eax
lea rcx, [rbp - 0x28]
call fcn.1400105e0
mov r12d, 4
mov rsi, qword [r13 + 0x10]
mov rsi, qword [rsi + 0x1bd8]
test rsi, rsi
je 0x14004cff2
call fcn.1400f9930
test rax, rax
je 0x14004d7e4
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x58], rax
mov rdx, r14
lea rcx, [rbp + 0x58]
call fcn.140015a40
test al, al
jne 0x14004cf41
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x58]
call fcn.1400105e0
nop
mov rbx, rsi
test rsi, rsi
je 0x14004d7de
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14004cf79
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004cfe9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004cfe9
cmp dword [rbx + 0x1d8], r12d
jne 0x14004cf59
cmp dword [rbx + 0x178], 1
jne 0x14004cf59
mov edx, 5
mov rcx, rbx
call fcn.1400c0350
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov r14, rax
test rax, rax
jne 0x14004d0d9
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004cfe2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r14, [0x140345b70]
test rsi, rsi
jne 0x14004cf02
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004d010
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r12d, 0xa
mov rax, qword [r13 + 0x10]
test dword [rax + 0x34], 0x8000
je 0x14004d217
cmp dword [0x1403ff444], 0
jne 0x14004d047
mov dword [0x1403ff440], 0x114
lea rcx, [0x1403ff440]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1403ff444], 6
jne 0x14004d217
cmp dword [0x1403ff448], 0
jne 0x14004d217
xor r9d, r9d
lea r8, str.SetSpkAsDefaultAt1stSPDIFPlugIn
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.1401076a0
test eax, eax
jne 0x14004d217
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1bd8]
mov rax, rbx
test rbx, rbx
je 0x14004d217
mov rcx, rax
test rax, rax
je 0x14004d7fa
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004d0d4
cmp dword [rcx + 0x1d8], 8
jne 0x14004d0d4
cmp dword [rcx + 0x168], 0
je 0x14004d0d4
cmp dword [rcx + 0x178], 1
je 0x14004d17a
test rax, rax
jmp 0x14004d097
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x58]
call fcn.1400157c0
mov r8d, 1
lea rdx, [0x14034b868]
lea rcx, [rbp + 0x58]
call fcn.14001cfc0
mov rdx, qword [rbx + 0x118]
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x58]
call fcn.14001cfc0
xor r9d, r9d
mov rbx, qword [rbp + 0x58]
mov r8, rbx
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.1401076a0
test eax, eax
je 0x14004d13a
lea rdx, [rbx - 0x18]
jmp 0x14004cfcc
mov rcx, r14
call fcn.140055760
mov edi, eax
mov rcx, r14
call fcn.140055830
and edi, eax
mov rcx, r14
call fcn.140055900
and edi, eax
mov r9d, 0
setne r9b
mov r8, rbx
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
jmp 0x14004d131
test rbx, rbx
je 0x14004d217
mov rcx, rbx
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004d17a
cmp dword [rcx + 0x1d8], 1
jne 0x14004d17a
cmp dword [rcx + 0x168], 0
je 0x14004d17a
cmp dword [rcx + 0x178], 1
jne 0x14004d17a
mov edx, 5
call fcn.1400c0350
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rdi, rax
test rax, rax
je 0x14004d17a
mov rcx, rax
call fcn.140055760
mov rcx, rdi
call fcn.140055830
mov rcx, rdi
call fcn.140055900
mov r9d, 1
lea r8, str.SetSpkAsDefaultAt1stSPDIFPlugIn
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
mov rax, qword [r13 + 0x10]
test dword [rax + 0x50], 0x400
je 0x14004d431
cmp dword [0x1403ff444], 0
jne 0x14004d248
mov dword [0x1403ff440], 0x114
lea rcx, [0x1403ff440]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1403ff444], 6
jne 0x14004d431
cmp dword [0x1403ff448], 1
jne 0x14004d431
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14004d7ef
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.140015a40
test al, al
jne 0x14004d2af
mov rax, r15
inc rax
cmp word [r14 + rax*2], 0
jne 0x14004d294
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.1400105e0
nop
mov edi, r15d
mov rax, qword [r13 + 0x10]
test dword [rax + 0x50], 0x400
je 0x14004d2ef
lea rdx, str.SetWId1EDigitalOutAsDefCommDev
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14004d2d0
mov r8d, eax
lea rcx, [rbp - 0x30]
call fcn.1400105e0
mov edi, 0x1e
lea r12d, [rdi - 0x16]
xor r9d, r9d
mov r8, qword [rbp - 0x30]
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.1401076a0
test eax, eax
jne 0x14004d414
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14004d414
movsxd rsi, edi
call fcn.1400f9930
test rax, rax
je 0x14004d806
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x38], rax
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.140015a40
test al, al
jne 0x14004d367
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.1400105e0
nop
mov r8, rbx
test rbx, rbx
je 0x14004d800
mov rbx, qword [rbx]
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x14004d3ed
cmp dword [r8 + 0x1d8], r12d
jne 0x14004d3ed
cmp dword [r8 + 0x178], 1
jne 0x14004d3ed
cmp rsi, 0xffffffffffffffff
je 0x14004d3ed
xor ecx, ecx
mov edx, dword [r8 + 0x3a4]
test edx, edx
je 0x14004d3ed
cmp dword [r8 + rcx*4 + 0x3a8], edi
je 0x14004d3b7
inc ecx
cmp ecx, edx
jb 0x14004d3a5
jmp 0x14004d3ed
mov edx, 5
mov rcx, r8
call fcn.1400c0350
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
test rax, rax
jne 0x14004d556
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004d40b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbx, rbx
jne 0x14004d328
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x14004d431
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [0x1403ff444], 0
jne 0x14004d451
mov dword [0x1403ff440], 0x114
lea rcx, [0x1403ff440]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1403ff444], 6
jne 0x14004d5a6
cmp dword [0x1403ff448], 1
jae 0x14004d5ac
mov rdx, qword [r13 + 0x10]
test dword [rdx + 0x12c], 0x40000
je 0x14004d4b6
mov rbx, qword [rdx + 0x1bd8]
test rbx, rbx
je 0x14004d4b6
nop word [rax + rax]
mov rcx, rbx
test rbx, rbx
je 0x14004d811
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004d4ad
call fcn.140035df0
test rbx, rbx
jne 0x14004d490
mov rdx, qword [r13 + 0x10]
test dword [rdx + 0x4c], 0x1000
je 0x14004d607
cmp dword [r13 + 0x78], 0
je 0x14004d607
movsxd rax, dword [r13 + 0x74]
cmp eax, 0xffffffff
je 0x14004d607
imul rcx, rax, 0xac
mov edi, dword [rcx + rdx + 0x6a4]
mov r14d, dword [rcx + rdx + 0x6b4]
mov r15d, dword [rcx + rdx + 0x6bc]
mov rbx, qword [rdx + 0x1bd8]
xor r12d, r12d
test rbx, rbx
je 0x14004d607
mov r8, qword [rbx + 0x10]
mov rbx, qword [rbx]
test r8, r8
je 0x14004d503
cmp dword [r8 + 0x178], 1
jne 0x14004d503
cmp r14d, dword [r8 + reloc.COMCTL32.dll_Ordinal_380]
jne 0x14004d503
cmp r15d, dword [r8 + 0x170]
jne 0x14004d503
mov ecx, r12d
mov edx, dword [r8 + 0x3a4]
test edx, edx
je 0x14004d503
mov eax, ecx
cmp dword [r8 + rax*4 + 0x3a8], edi
je 0x14004d5b5
inc ecx
cmp ecx, edx
jb 0x14004d542
jmp 0x14004d503
mov rcx, rax
call fcn.140055900
xor r9d, r9d
test eax, eax
setne r9b
mov r8, qword [rbp - 0x30]
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004d414
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004d414
jbe 0x14004d46b
mov rdx, qword [r13 + 0x10]
jmp 0x14004d47b
mov edx, 5
mov rcx, r8
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x14004d503
mov rcx, rax
call fcn.140055760
mov rcx, rsi
call fcn.140055830
mov rcx, rsi
call fcn.140055900
mov dword [r13 + 0x78], r12d
mov rax, qword [r13 + 0x10]
test byte [rax + 0x50], 0x80
je 0x14004d6df
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14004d659
mov rcx, rbx
test rbx, rbx
je 0x14004d817
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004d650
cmp dword [rcx + 0x1d8], 4
jne 0x14004d650
cmp dword [rcx + 0x178], 1
jne 0x14004d650
call fcn.14001bdb0
test rbx, rbx
jne 0x14004d621
mov rax, qword [r13 + 0x10]
mov ecx, dword [rax + 0x274]
bt ecx, 0xe
jae 0x14004d6b6
bt ecx, 0xd
jae 0x14004d6b6
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14004d6df
nop word [rax + rax]
mov rcx, rbx
test rbx, rbx
je 0x14004d81d
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004d6af
cmp dword [rcx + 0x1d8], 4
jne 0x14004d6af
cmp dword [rcx + 0x178], 1
jne 0x14004d6af
call fcn.14001b920
test rbx, rbx
jne 0x14004d680
jmp 0x14004d6df
mov rax, qword [rax + 0x1bd8]
test rax, rax
je 0x14004d6df
mov rcx, rax
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004d6bd
cmp dword [rcx + 0x1d8], 4
jne 0x14004d6bd
call fcn.14001b920
mov rdi, qword [r13 + 0x10]
test dword [rdi + 0x84], 0x2000
je 0x14004c7b1
mov rdi, qword [rdi + 0x1bd8]
test rdi, rdi
je 0x14004c7b1
mov rbx, rdi
test rdi, rdi
je 0x14004d823
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004d782
cmp dword [rbx + 0x178], 1
jne 0x14004d782
cmp dword [rbx + 0x168], 0
jne 0x14004d782
xor r9d, r9d
mov r8, qword [rbx + 0x118]
lea rdx, str.DevFixFlag
lea rcx, [0x140400ce0]
call fcn.1401076a0
test eax, eax
jne 0x14004d782
mov rax, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x21070201
mov rcx, rbx
call qword [rax + 0x28]
mov r9d, 1
mov r8, qword [rbx + 0x118]
lea rdx, str.DevFixFlag
lea rcx, [0x140400ce0]
call fcn.140107c34
test rdi, rdi
jne 0x14004d703
jmp 0x14004c7b1
mov ecx, 0x80004005
call fcn.14000de90
int3
call fcn.1400f91a0
nop
mov ecx, 0x80070057
call fcn.14000de90
int3
mov ecx, 0x80070057
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
int3
mov ecx, 0x80004005
call fcn.14000de90
nop
call fcn.1400f91a0
nop
call fcn.1400f91a0
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
int3
call fcn.1400f91a0
nop
call fcn.1400f91a0
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3