Function at 0x1400127d0
Capabilities:
Query or enumerate registry value
Read .ini file

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x3160
call fcn.14011c260
sub rsp, rax
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x3150], rax
xor edi, edi
cmp edx, dword [rcx + 0x27428]
mov r13d, edx
cmova r13d, edi
mov rbx, rcx
mov qword [rsp + 0x40], rdi
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
test r13d, r13d
movzx ebp, ax
jne 0x14001293a
mov esi, 1
cmp dword [rbx + 0x27428], esi
jb 0x140012934
lea r12, [rbx + 0x27220]
nop
nop
nop
nop
lea r8, str.Language__d
lea rcx, [rsp + 0x260]
mov r9d, esi
mov edx, 0x104
call fcn.1400fa580
test r12, r12
je 0x1400128d8
lea r9, [rsp + 0x470]
lea r8, [0x14012c778]
lea rdx, [rsp + 0x260]
lea rcx, str.LANGUAGE_INDEX
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test r12, r12
je 0x1400128d8
lea r9, [rsp + 0xec0]
lea r8, [0x14012c778]
lea rdx, [rsp + 0x470]
lea rcx, str.LANGUAGE_INDEX
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r8, [rsp + 0x40]
lea rdx, [0x14012dea0]
lea rcx, [rsp + 0xec0]
call fcn.1400fa5e0
test rax, rax
je 0x140012920
mov rcx, rax
call fcn.1400fa6e0
cmp ax, bp
je 0x14001291d
lea r8, [rsp + 0x40]
lea rdx, [0x14012dea0]
xor ecx, ecx
call fcn.1400fa5e0
test rax, rax
jne 0x1400128f6
jmp 0x140012920
mov r13d, esi
add esi, 1
cmp esi, dword [rbx + 0x27428]
jbe 0x140012850
test r13d, r13d
jne 0x14001293a
mov r13d, 2
lea r8, str.Language__d.via
lea rcx, [rsp + 0x50]
mov r9d, r13d
mov edx, 0x104
call fcn.1400fa580
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.1400849c0
xor edx, edx
lea rcx, [rbx + 0x27434]
lea r8d, [rdx + 0x5c]
call fcn.1400fce30
mov esi, 1
cmp dword [rbx + 0x27428], esi
jb 0x140012a1a
lea r12, [rbx + 0x27220]
nop
lea r8, str.Language__d
lea rcx, [rsp + 0x260]
mov r9d, esi
mov edx, 0x104
call fcn.1400fa580
test r12, r12
je 0x140012a04
lea r9, [rsp + 0x470]
lea r8, [0x14012c778]
lea rdx, [rsp + 0x260]
lea rcx, str.LANGUAGE_INDEX
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test r12, r12
je 0x140012a04
lea rdx, [rsp + 0x470]
lea rcx, str.LANGUAGE_INDEX
mov r9, r12
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
jmp 0x140012a06
mov eax, edi
cmp ax, bp
je 0x140012a1a
add esi, 1
cmp esi, dword [rbx + 0x27428]
jbe 0x140012990
lea r9, [rsp + 0x50]
lea rdx, str.Font_Size
lea rcx, [rsp + 0x470]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r9, [rsp + 0x50]
lea rdx, str.Font_Weight
lea rcx, [rsp + 0x470]
xor r8d, r8d
mov dword [rbx + 0x27434], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rsi, [rbx + 0x27450]
test rsi, rsi
mov dword [rbx + 0x27444], eax
je 0x140012a9d
lea rax, [rsp + 0x50]
lea r8, [0x14012c778]
lea rdx, str.Font_Name
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x470]
mov r9, rsi
mov dword [rsp + 0x20], 0x20
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp dword [rbx + 0x27434], edi
jne 0x140012b1e
lea r9, [rsp + 0x50]
lea rdx, str.Font_Size
lea rcx, str.CPLFont
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r9, [rsp + 0x50]
lea rdx, str.Font_Weight
lea rcx, str.CPLFont
xor r8d, r8d
mov dword [rbx + 0x27434], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test rsi, rsi
mov dword [rbx + 0x27444], eax
je 0x140012b1e
lea rax, [rsp + 0x50]
lea r8, [0x14012c778]
lea rdx, str.Font_Name
mov qword [rsp + 0x28], rax
lea rcx, str.CPLFont
mov r9, rsi
mov dword [rsp + 0x20], 0x20
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [rbx + 0x2744c], 7
mov byte [rbx + 0x2744b], 1
mov esi, edi
lea rbp, [rbx + 0x27978]
nop
nop
nop
lea r8, str.ITEM__d
lea rcx, [rsp + 0x260]
mov r9d, esi
mov edx, 0x104
call fcn.1400fa580
test rbp, rbp
je 0x140012b92
lea rax, [rsp + 0x50]
lea r8, [0x14012c778]
lea rdx, [rsp + 0x260]
mov qword [rsp + 0x28], rax
lea rcx, str.STR_ITEM
mov r9, rbp
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esi, 1
add rbp, 0x208
cmp esi, 0xde
jl 0x140012b40
lea rsi, [rbx + 0x43c68]
nop
nop
lea r8, str.ITEM__d
lea rcx, [rsp + 0x260]
mov r9d, edi
mov edx, 0x104
call fcn.1400fa580
test rsi, rsi
je 0x140012c02
lea rax, [rsp + 0x50]
lea r8, [0x14012c778]
lea rdx, [rsp + 0x260]
mov qword [rsp + 0x28], rax
lea rcx, str.TOOLTIPS_ITEM
mov r9, rsi
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add edi, 1
add rsi, 0x208
cmp edi, 0x84
jl 0x140012bb0
lea rcx, [rsp + 0x10d0]
lea rdi, [0x140000000]
xor edx, edx
mov rax, qword [rdi + 0x12df68]
mov r8d, 0x1f8
mov qword [rcx], rax
mov rax, qword [rdi + 0x12df70]
mov qword [rcx + 8], rax
lea rcx, [rsp + 0x10e0]
call fcn.1400fce30
mov rax, qword [rdi + 0x12df78]
lea rdx, [rsp + 0x12d8]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12df80]
lea rcx, [rsp + 0x12ec]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x12df88]
mov r8d, 0x1f4
mov dword [rdx + 0x10], eax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12df90]
lea rdx, [rsp + 0x14e0]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12df98]
lea rcx, [rsp + 0x14f4]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x12dfa0]
mov r8d, 0x1f4
mov dword [rdx + 0x10], eax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12dfa8]
lea rdx, [rsp + 0x16e8]
mov qword [rdx], rax
movzx eax, word [rdi + 0x12dfb0]
lea rcx, [rsp + 0x16f2]
mov word [rdx + 8], ax
xor edx, edx
mov r8d, 0x1fe
call fcn.1400fce30
mov rax, qword [rdi + 0x12dfb8]
lea rdx, [rsp + 0x18f0]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12dfc0]
lea rcx, [rsp + 0x1906]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x12dfc8]
mov r8d, 0x1f2
mov dword [rdx + 0x10], eax
movzx eax, word [rdi + 0x12dfcc]
mov word [rdx + 0x14], ax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12dfd0]
lea rdx, [rsp + 0x1af8]
mov qword [rdx], rax
mov eax, dword [rdi + 0x12dfd8]
lea rcx, [rsp + 0x1b04]
mov dword [rdx + 8], eax
xor edx, edx
mov r8d, 0x1fc
call fcn.1400fce30
mov rax, qword [rdi + 0x12dfe0]
lea rdx, [rsp + 0x1d00]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12dfe8]
lea rcx, [rsp + 0x1d16]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x12dff0]
mov r8d, 0x1f2
mov dword [rdx + 0x10], eax
movzx eax, word [rdi + 0x12dff4]
mov word [rdx + 0x14], ax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12dff8]
lea rdx, [rsp + 0x1f08]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12e000]
mov qword [rdx + 8], rax
mov rax, qword [rdi + 0x12e008]
lea rcx, [rsp + 0x1f20]
mov r8d, 0x1f0
mov qword [rdx + 0x10], rax
xor edx, edx
call fcn.1400fce30
movabs rdx, 0x630069004d
lea rcx, [rsp + 0x2118]
mov qword [rsp + 0x2110], rdx
mov r8d, 0x200
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12e010]
lea rdx, [rsp + 0x2318]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12e018]
lea rcx, [rsp + 0x232e]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x12e020]
mov r8d, 0x1f2
mov dword [rdx + 0x10], eax
movzx eax, word [rdi + 0x12e024]
mov word [rdx + 0x14], ax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12e028]
lea rdx, [rsp + 0x2520]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12e030]
lea rcx, [rsp + 0x2530]
mov qword [rdx + 8], rax
xor edx, edx
mov r8d, 0x1f8
call fcn.1400fce30
mov rax, qword [rdi + 0x12e038]
lea rdx, [rsp + 0x2728]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12e040]
lea rcx, [rsp + 0x273a]
mov qword [rdx + 8], rax
movzx eax, word [rdi + 0x12e048]
mov r8d, 0x1f6
mov word [rdx + 0x10], ax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12c860]
lea rdx, [rsp + 0x2930]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12c868]
lea rcx, [rsp + 0x2942]
mov qword [rdx + 8], rax
movzx eax, word [rdi + 0x12c870]
mov r8d, 0x1f6
mov word [rdx + 0x10], ax
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12e050]
lea rdx, [rsp + 0x2b38]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12e058]
lea rcx, [rsp + 0x2b48]
mov qword [rdx + 8], rax
xor edx, edx
mov r8d, 0x1f8
call fcn.1400fce30
movabs rdx, 0x4100430052
lea rcx, [rsp + 0x2d48]
mov qword [rsp + 0x2d40], rdx
mov r8d, 0x200
xor edx, edx
call fcn.1400fce30
mov rax, qword [rdi + 0x12e060]
lea rdx, [rsp + 0x2f48]
mov qword [rdx], rax
mov rax, qword [rdi + 0x12e068]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x12e070]
mov dword [rdx + 0x10], eax
movzx eax, word [rdi + 0x12e074]
mov word [rdx + 0x14], ax
xor edx, edx
lea rcx, [rsp + 0x2f5e]
mov r8d, 0x1f2
call fcn.1400fce30
lea r13, [rbx + 0x27568]
lea rbp, [0x1401b99d0]
lea rsi, [rsp + 0x10d0]
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r14, str.OPTIONS
nop
nop
lea rdx, str._s_Name
lea rcx, [rsp + 0xaa0]
mov r8, rsi
call fcn.14001e4d0
test r13, r13
je 0x1400130a9
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x890]
mov r9, r13
mov dword [rsp + 0x30], 0x104
mov qword [rsp + 0x20], r14
call fcn.14001e4d0
lea rdx, [rsp + 0x38]
mov r9d, 1
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x890]
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400130a9
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea rdx, [rsp + 0xaa0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xcb0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
mov edx, 0x104
lea rcx, [rsp + 0x680]
lea r8, [0x14012c778]
jne 0x1400130a4
lea r8, [rsp + 0xcb0]
call fcn.1400f9e00
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x680]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x1400130e8
movsxd rax, dword [rbp]
lea r8, [rsp + 0x680]
mov edx, 0x104
imul rax, rax, 0x208
lea rcx, [rax + rbx + 0x27978]
call fcn.1400f9e00
add rsi, 0x208
add rbp, 4
sub r12, 1
jne 0x140012fd0
cmp dword [rbx + 0x214ac], r12d
je 0x140013127
cmp dword [rbx + 0x214b0], r12d
je 0x140013127
lea r8, [rbx + 0x3f550]
lea rcx, [rbx + 0x287b0]
mov edx, 0x104
call fcn.1400f9e00
mov rcx, qword [rsp + 0x3150]
xor rcx, rsp
call fcn.1400f9790
lea r11, [rsp + 0x3160]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret