Function at 0x14004eb20
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov r15, rcx
call fcn.1400470a0
cmp qword [r15 + 0x10], 0
jne 0x14004eb82
lea r8, str.c:userschunyung_source_repos_rtkngui_rtknguicustomother.cpp
mov edx, 0x1ae
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140052e90
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea rsi, [0x140328530]
mov r14, 0xffffffffffffffff
xor r12d, r12d
test byte [r15 + 0x80], 2
je 0x14004ecd4
call fcn.1400339f0
test eax, eax
je 0x14004ecd4
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x14004f1e4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
mov rdx, rsi
lea rcx, [rbp + 0x38]
call fcn.140014ab0
test al, al
jne 0x14004ebfa
mov rax, r14
inc rax
cmp word [rsi + rax*2], 0
jne 0x14004ebe0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0x38]
call fcn.140010390
nop
mov rax, qword [r15 + 0x10]
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14004ecb6
mov rdi, rbx
mov rbx, qword [rbx]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14004ec05
cmp dword [rdi + 0x168], 0
jne 0x14004ec05
mov rax, qword [rdi]
lea rdx, [rbp + 0x38]
mov rcx, rdi
call qword [rax + 0x78]
test eax, eax
je 0x14004ec05
lea rcx, [rbp + 0x38]
call fcn.14001b8e0
mov rcx, qword [rbp + 0x38]
cmp dword [rcx - 0x10], 0
jl 0x14004ec05
lea rdx, str.DIGITALMICWAVE
call fcn.140283820
test rax, rax
je 0x14004ec05
sub rax, qword [rbp + 0x38]
sar rax, 1
cmp eax, 0xffffffff
je 0x14004ec05
mov edx, 5
mov rcx, rdi
call fcn.1400bd170
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.1402a6fac
mov rdi, rax
test rax, rax
je 0x14004ec05
mov rcx, rax
call fcn.140053640
mov rcx, rdi
call fcn.140053710
mov rcx, rdi
call fcn.1400537e0
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004ecd4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test byte [r15 + 0x80], 4
je 0x14004ed8f
mov rax, qword [r15 + 0x10]
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14004ed8f
mov rcx, rbx
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004eced
xor edx, edx
call fcn.1400bd170
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.1402a6fac
mov r8, rax
test rax, rax
je 0x14004eced
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x14004ed52
lea r8, str.c:userschunyung_source_repos_rtkngui_rtkngui_spksetting.cpp
lea edx, [rcx + 0x4d]
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140052e90
jmp 0x14004eced
test byte [rcx + 0x3a0], 4
je 0x14004eced
mov eax, r12d
lea rdx, [0x1403be5f0]
mov rcx, rdx
cmp dword [rcx], 4
je 0x14004ed7d
inc eax
add rcx, 0x18
cmp eax, 7
jb 0x14004ed68
mov rdx, r12
jmp 0x14004ed87
cdqe
lea rcx, [rax + rax*2]
lea rdx, [rdx + rcx*8]
mov rcx, r8
call fcn.1400d33d0
test dword [r15 + 0x80], 0x100
je 0x14004ee51
mov eax, dword [0x1403db8d4]
test eax, eax
jne 0x14004edc7
mov dword [0x1403db8d0], 0x114
lea rcx, [0x1403db8d0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [0x1403db8d4]
cmp eax, 6
jne 0x14004ee51
cmp dword [0x1403db8d8], 0
jne 0x14004ee51
mov rax, qword [r15 + 0x10]
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x14004ee51
mov rcx, rbx
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004ede4
cmp dword [rcx + 0x168], 0
je 0x14004ede4
cmp dword [rcx + 0x1d8], 8
jne 0x14004ede4
mov edx, 5
call fcn.1400bd170
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.1402a6fac
mov rdi, rax
test rax, rax
je 0x14004ede4
mov rcx, rax
call fcn.140053640
mov rcx, rdi
call fcn.140053710
mov rcx, rdi
call fcn.1400537e0
test dword [r15 + 0x80], 0x130000
je 0x14004f0a8
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x14004f1ef
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x30], rax
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140014ab0
test al, al
jne 0x14004eeae
mov rax, r14
inc rax
cmp word [rsi + rax*2], 0
jne 0x14004ee94
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140010390
nop
mov rax, qword [r15 + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x14004f08b
mov rbx, rsi
mov rsi, qword [rsi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14004eeb9
cmp dword [rbx + 0x168], 0
jne 0x14004eeb9
cmp dword [rbx + 0x1d8], 4
jne 0x14004eeb9
mov rax, qword [rbx]
lea rdx, [rbp + 0x30]
mov rcx, rbx
call qword [rax + 0x78]
test eax, eax
je 0x14004eeb9
mov edx, 2
mov rcx, rbx
call fcn.1400bd170
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.1402a6fac
mov rdi, rax
test rax, rax
je 0x14004eeb9
mov rcx, qword [rbp + 0x30]
movsxd rbx, dword [rcx - 0x10]
test ebx, ebx
js 0x14004f1d3
mov r8d, 1
sub r8d, dword [rcx - 8]
mov edx, dword [rcx - 0xc]
sub edx, ebx
or edx, r8d
jge 0x14004ef59
mov edx, ebx
lea rcx, [rbp + 0x30]
call fcn.14000db90
mov rcx, qword [rbp + 0x30]
lea eax, [rbx + 1]
movsxd rdx, eax
call fcn.14028b1ac
mov rax, qword [rbp + 0x30]
cmp ebx, dword [rax - 0xc]
jg 0x14004f1fa
mov dword [rax - 0x10], ebx
mov rax, qword [rbp + 0x30]
mov word [rax + rbx*2], r12w
mov eax, dword [r15 + 0x80]
bt eax, 0x10
jae 0x14004efe5
mov rcx, qword [rbp + 0x30]
cmp dword [rcx - 0x10], 0
jge 0x14004ef99
mov eax, r14d
jmp 0x14004efb6
lea rdx, str.DIGITALMICWAVE
call fcn.140283820
test rax, rax
jne 0x14004efaf
mov eax, r14d
jmp 0x14004efb6
sub rax, qword [rbp + 0x30]
sar rax, 1
mov ebx, r12d
cmp eax, 0xffffffff
setne bl
mov rax, qword [rdi]
mov edx, ebx
mov rcx, rdi
call qword [rax + 0x38]
mov rax, qword [rdi]
mov edx, ebx
mov rcx, rdi
call qword [rax + 0x48]
mov edx, ebx
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14004eeb9
bt eax, 0x11
jae 0x14004f03b
mov rcx, qword [rbp + 0x30]
cmp dword [rcx - 0x10], 0
jge 0x14004effa
mov eax, r14d
jmp 0x14004f017
lea rdx, str.FRONTMICINWAVE
call fcn.140283820
test rax, rax
jne 0x14004f010
mov eax, r14d
jmp 0x14004f017
sub rax, qword [rbp + 0x30]
sar rax, 1
mov ebx, r12d
cmp eax, 0xffffffff
sete bl
mov rax, qword [rdi]
mov edx, ebx
mov rcx, rdi
call qword [rax + 0x38]
mov edx, ebx
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14004eeb9
bt eax, 0x14
jae 0x14004eeb9
mov rcx, qword [rbp + 0x30]
cmp dword [rcx - 0x10], 0
jge 0x14004f054
mov ecx, r14d
jmp 0x14004f074
lea rdx, str.DIGITALMICWAVE
call fcn.140283820
mov rcx, rax
test rax, rax
jne 0x14004f06d
mov ecx, r14d
jmp 0x14004f074
sub rcx, qword [rbp + 0x30]
sar rcx, 1
mov edx, r12d
cmp ecx, 0xffffffff
setne dl
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x14004eeb9
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x14004f0a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dword [r15 + 0x80], 0x40000
je 0x14004eb69
mov rcx, qword [r15 + 0x10]
movzx esi, word [rcx + 0x44a]
shl esi, 0x10
movzx eax, word [rcx + 0x448]
or esi, eax
mov rdi, qword [rcx + 0x1bd8]
test rdi, rdi
je 0x14004eb69
mov rcx, rdi
test rdi, rdi
je 0x14004f1de
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004f1c5
mov edx, 0xa
call fcn.1400bd170
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.1402a6fac
mov rbx, rax
test rax, rax
je 0x14004f1c5
cmp esi, 0x14c0004b
je 0x14004f143
cmp esi, 0x14c000ce
jne 0x14004f1c5
cmp dword [rax + 0x3c], 0
je 0x14004f15d
mov r9d, 2
lea r8, [0x140324ac8]
call fcn.1400e17c0
jmp 0x14004f176
mov r9d, 1
lea r8d, [r9 + 1]
lea rdx, [0x140324e40]
mov rcx, rbx
call fcn.14000f280
mov r9d, 1
cmp dword [rbx + 0x3c], 0
je 0x14004f190
lea r8, [0x140324ae0]
call fcn.1400e17c0
jmp 0x14004f1a2
mov r8d, r9d
lea rdx, [0x140324e58]
mov rcx, rbx
call fcn.14000f280
xor edx, edx
mov rcx, rbx
call fcn.14000fbe0
mov r9d, 1
lea r8d, [r9 + 0x63]
lea rdx, [0x140324d38]
mov rcx, rbx
call fcn.14000f280
test rdi, rdi
jne 0x14004f0e0
jmp 0x14004eb69
mov ecx, 0x80070057
call fcn.14000dc70
nop
call fcn.1400f5890
int3
mov ecx, 0x80004005
call fcn.14000dc70
int3
mov ecx, 0x80004005
call fcn.14000dc70
nop
mov ecx, 0x80070057
call fcn.14000dc70
int3