Function at 0x6acc3ca0
Capabilities:
Query or enumerate registry value

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x448
mov dword [esp + 4], str.wine_mmdevapi_notification
mov dword [esp], 0xfffffffe
call dword [sym.imp.kernel32.dll_SetThreadDescription]
xor eax, eax
lea ecx, [ebp - 0x218]
sub esp, 8
lea esi, [esi]
nop
movzx edx, word [eax + str.SoftwareWineDrivers]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x6acc3ce0
cmp word [ebp - 0x218], 0
mov edx, ecx
je 0x6acc3d09
nop
add edx, 2
cmp word [edx], 0
jne 0x6acc3d00
xor eax, eax
mov ebx, 0x5c
jmp 0x6acc3d1f
movzx ebx, word [eax + 0x6acd24ba]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x6acc3d18
cmp word [ebp - 0x218], 0
mov edx, ecx
je 0x6acc3d49
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x6acc3d40
xor eax, eax
lea esi, [esi]
nop
movzx ebx, word [eax + 0x6acdd024]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x6acc3d50
lea eax, [ebp - 0x420]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x2000000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp], 0x80000001
call dword [sym.imp.advapi32.dll_RegCreateKeyExW]
sub esp, 0x24
test eax, eax
je 0x6acc3e10
test byte [0x6acd00b4], 2
jne 0x6acc3dd8
lea esp, [ebp - 0x10]
mov eax, 1
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 4
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.RegCreateKeyEx_failed:__lu_n
mov dword [esp + 8], str.notif_thread_proc
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x6acd00b4
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_1
jmp 0x6acc3dbe
lea eax, [ebp - 0x418]
lea edi, [ebp - 0x41c]
mov dword [ebp - 0x41c], pe_nt_image_headers32
mov esi, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x420]
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultOutput
mov dword [esp], eax
call esi
sub esp, 0x18
test eax, eax
je 0x6acc3e67
xor ebx, ebx
mov word [ebp - 0x418], bx
lea eax, [ebp - 0x398]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x41c], pe_nt_image_headers32
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultVoiceOutput
mov dword [esp], eax
call esi
sub esp, 0x18
test eax, eax
je 0x6acc3eb2
xor ecx, ecx
mov word [ebp - 0x398], cx
mov eax, dword [ebp - 0x420]
lea ebx, [ebp - 0x318]
mov dword [esp + 0x14], edi
mov dword [ebp - 0x41c], pe_nt_image_headers32
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultInput
mov dword [esp], eax
call esi
sub esp, 0x18
test eax, eax
je 0x6acc3efd
xor edx, edx
mov word [ebp - 0x318], dx
mov eax, dword [ebp - 0x420]
mov dword [esp + 0x14], edi
lea edi, [ebp - 0x298]
mov dword [ebp - 0x41c], pe_nt_image_headers32
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultVoiceInput
mov dword [esp], eax
call esi
sub esp, 0x18
test eax, eax
jne 0x6acc4078
mov esi, dword [sym.imp.advapi32.dll_RegNotifyChangeKeyValue]
jmp 0x6acc4014
mov dword [esp], 0x6acd0080
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x6acdd004]
mov ecx, dword [ebp - 0x420]
xor edx, edx
sub esp, 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x418]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], str.DefaultOutput
call sym._notify_if_changed
mov eax, dword [0x6acdd004]
mov ecx, dword [ebp - 0x420]
mov dword [esp], str.DefaultVoiceOutput
mov edx, 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x398]
mov dword [esp + 4], eax
xor eax, eax
call sym._notify_if_changed
mov eax, dword [0x6acdd008]
mov dword [esp + 4], ebx
xor edx, edx
mov dword [esp], str.DefaultInput
mov ecx, dword [ebp - 0x420]
mov dword [esp + 8], eax
mov eax, 1
call sym._notify_if_changed
mov eax, dword [0x6acdd008]
mov dword [esp + 4], edi
mov edx, 2
mov dword [esp], str.DefaultVoiceInput
mov ecx, dword [ebp - 0x420]
mov dword [esp + 8], eax
mov eax, 1
call sym._notify_if_changed
mov dword [esp], 0x6acd0080
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
sub esp, 4
mov eax, dword [ebp - 0x420]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 0x14
test eax, eax
je 0x6acc3f50
test byte [0x6acd00b4], 2
jne 0x6acc4090
mov eax, dword [ebp - 0x420]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov dword [section..bss], 0
sub esp, 4
jmp 0x6acc3dbe
xor eax, eax
mov word [ebp - 0x298], ax
jmp 0x6acc3f43
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.RegNotifyChangeKeyValue_failed:__lu_n
mov dword [esp + 8], str.notif_thread_proc
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x6acd00b4
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_1
jmp 0x6acc4053