Function at 0x1000a0f0
Capabilities:
Set registry value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov ebp, dword [rsp + 0xf0]
mov ebx, ecx
mov esi, edx
mov rdi, r8
test byte [0x1000f080], 8
jne 0x1000a260
mov rax, qword [0x1000f070]
lea r13, [0x1000f070]
lea r12, [rax - 0x10]
cmp rax, r13
jne 0x1000a14e
jmp 0x1000a188
mov rax, qword [r12 + 0x10]
lea r12, [rax - 0x10]
cmp rax, r13
je 0x1000a188
mov edx, dword [r12]
mov ecx, ebx
call sym.compare_fourcc
test eax, eax
jne 0x1000a140
mov edx, dword [r12 + 4]
mov ecx, esi
call sym.compare_fourcc
test eax, eax
jne 0x1000a140
xor eax, eax
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebp, 1
je 0x1000a3a0
cmp ebp, 2
je 0x1000a1c8
test byte [0x1000f080], 1
je 0x1000a16d
mov dword [rsp + 0x20], ebp
lea r9, str.Unhandled_flags__x._n
lea r8, str.ICInstall
xor ecx, ecx
lea rdx, [0x1000f080]
call sym.wine_dbg_log.constprop.0_2
jmp 0x1000a16d
lea rax, [rsp + 0x68]
xor r8d, r8d
mov r9d, 2
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
lea rdx, str.SoftwareMicrosoftWindows_NTCurrentVersionDrivers32
call qword [sym.imp.advapi32.dll_RegOpenKeyExA]
mov r8d, eax
xor eax, eax
test r8d, r8d
jne 0x1000a16f
mov dword [rsp + 0x76], ebx
mov rcx, rdi
mov byte [rsp + 0x7a], 0x2e
mov dword [rsp + 0x7b], esi
mov byte [rsp + 0x7f], 0
call qword [sym.imp.ucrtbase.dll_strlen]
xor r8d, r8d
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x76]
add eax, 1
mov r9d, 1
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], eax
call qword [sym.imp.advapi32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x68]
mov ebx, eax
call qword [sym.imp.advapi32.dll_RegCloseKey]
xor eax, eax
test ebx, ebx
sete al
jmp 0x1000a16f
mov edx, 0xffffffff
mov rcx, r9
mov r14d, esi
mov r15d, esi
call sym.wine_dbgstr_an
shr r14d, 8
mov dword [rsp + 0x76], esi
shr r15d, 0x10
mov r13, rax
mov eax, esi
lea r12, [0x1001321b]
shr eax, 0x18
mov dword [rsp + 0x58], eax
test esi, esi
je 0x1000a2d9
mov r12, qword [sym.imp.ucrtbase.dll_isprint]
movsx ecx, sil
call r12
test eax, eax
je 0x1000a2c8
movsx ecx, r14b
call r12
test eax, eax
je 0x1000a2c8
movsx ecx, r15b
call r12
test eax, eax
jne 0x1000a3e9
nop word [rax + rax]
mov edx, esi
lea rcx, str.0x_08x
call sym.wine_dbg_sprintf_1
mov r12, rax
mov eax, ebx
mov ecx, ebx
mov r14d, ebx
mov dword [rsp + 0x76], ebx
shr eax, 0x10
shr ecx, 0x18
mov dword [rsp + 0x58], eax
shr r14d, 8
lea rax, [0x1001321b]
mov dword [rsp + 0x5c], ecx
test ebx, ebx
je 0x1000a35e
mov r15, qword [sym.imp.ucrtbase.dll_isprint]
movsx ecx, bl
call r15
test eax, eax
je 0x1000a350
movsx ecx, r14b
call r15
test eax, eax
je 0x1000a350
movsx ecx, byte [rsp + 0x58]
call r15
test eax, eax
je 0x1000a350
movsx ecx, byte [rsp + 0x5c]
call r15
test eax, eax
je 0x1000a350
lea rdx, [rsp + 0x76]
lea rcx, str._.4s
call sym.wine_dbg_sprintf_1
jmp 0x1000a35e
mov edx, ebx
lea rcx, str.0x_08x
call sym.wine_dbg_sprintf_1
mov dword [rsp + 0x40], ebp
lea r9, str.type__s__handler__s__lparam__Ix__desc__s__flags__x._n
mov ecx, 3
lea r8, str.ICInstall
mov qword [rsp + 0x38], r13
lea rdx, [0x1000f080]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call sym.wine_dbg_log.constprop.0_2
jmp 0x1000a11e
mov edx, 0x20
mov ecx, 1
call qword [sym.imp.ucrtbase.dll_calloc]
test rax, rax
je 0x1000a16d
mov rcx, qword [0x1000f078]
lea rdx, [rax + 0x10]
mov dword [rax], ebx
mov dword [rax + 4], esi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], rcx
mov eax, 1
mov qword [rcx], rdx
mov qword [0x1000f078], rdx
jmp 0x1000a16f
movsx ecx, byte [rsp + 0x58]
call r12
test eax, eax
je 0x1000a2c8
lea rdx, [rsp + 0x76]
lea rcx, str._.4s
call sym.wine_dbg_sprintf_1
mov r12, rax
jmp 0x1000a2d9