Function at 0x7b32e920
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
sub esp, 0x14c
mov dword [ebp - 0x134], eax
test byte [0x7b33c1a0], 8
jne 0x7b32eb31
mov dword [esp + 4], str.SystemDefault
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
mov edi, eax
mov eax, esi
test edi, edi
jne 0x7b32e95f
mov eax, str.Default
lea ebx, [ebp - 0x110]
mov dword [esp + 0x10], pe_nt_image_headers32
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x7b33f972
mov dword [esp + 4], eax
mov dword [esp], str.Sounds
call sym._GetProfileStringW_20
movzx eax, word [ebp - 0x110]
sub esp, 0x14
test ax, ax
je 0x7b32e9f0
cmp ax, 0x2c
mov eax, ebx
je 0x7b32ea80
add eax, 2
movzx edx, word [eax]
test dx, dx
je 0x7b32e9b5
cmp dx, 0x2c
jne 0x7b32e9a4
test dx, dx
jne 0x7b32ea80
mov dword [esp + 8], 0x10020
mov dword [esp + 4], 0
mov dword [esp], ebx
call sym.winmm.dll_mmioOpenW
sub esp, 0xc
mov edx, eax
test eax, eax
je 0x7b32e9f0
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x12c]
mov dword [esp], 0x20019
mov dword [esp + 4], eax
call sym._RegOpenCurrentUser_8
sub esp, 8
test eax, eax
je 0x7b32ea90
xor edx, edx
test byte [0x7b33c1a0], 4
je 0x7b32e9df
mov dword [esp], esi
mov dword [esp + 4], 0xffffffff
mov dword [ebp - 0x134], edx
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str.cant_find_SystemSound_s___n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0xc3
mov dword [esp + 0xc], str.get_mmioFromProfile
mov dword [esp + 8], 0x7b33f939
mov dword [esp + 4], 0x7b33c1a0
mov dword [esp], 2
call sym._ros_dbg_log
mov edx, dword [ebp - 0x134]
lea esp, [ebp - 0xc]
pop ebx
pop esi
mov eax, edx
pop edi
pop ebp
ret
xor ecx, ecx
mov word [eax], cx
jmp 0x7b32e9be
lea eax, [ebp - 0x128]
mov dword [esp + 4], str.AppEventsSchemesApps
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sym._RegOpenKeyW_12
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x12c]
sub esp, 0xc
mov dword [esp], eax
call sym._RegCloseKey_4
mov edx, dword [ebp - 0x138]
sub esp, 4
test edx, edx
jne 0x7b32ea11
test byte [ebp - 0x134], 0x80
je 0x7b32eb80
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym._GetModuleFileNameW_12
sub eax, 1
sub esp, 0xc
cmp eax, 0x7e
jbe 0x7b32ed20
mov eax, dword [ebp - 0x128]
mov dword [esp], eax
call sym._RegCloseKey_4
xor edx, edx
sub esp, 4
test byte [0x7b33c1a0], 4
je 0x7b32e9df
jmp 0x7b32ea1c
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str.searching_in_SystemSound_list_for__s_n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x44
mov dword [esp + 0xc], str.get_mmioFromProfile
mov dword [esp + 8], 0x7b33f939
mov dword [esp + 4], 0x7b33c1a0
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x7b32e941
lea eax, [ebp - 0x124]
mov dword [esp + 4], str..Default
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x128]
mov dword [esp], eax
call sym._RegOpenKeyW_12
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x128]
sub esp, 0xc
mov dword [esp], eax
call sym._RegCloseKey_4
mov eax, dword [ebp - 0x134]
sub esp, 4
test eax, eax
jne 0x7b32ea11
mov eax, esi
test edi, edi
je 0x7b32ed10
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x124]
lea edx, [ebp - 0x120]
mov dword [esp + 8], edx
mov dword [esp], eax
call sym._RegOpenKeyW_12
mov edi, eax
mov eax, dword [ebp - 0x124]
sub esp, 0xc
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
test edi, edi
jne 0x7b32ea11
lea eax, [ebp - 0x11c]
mov dword [esp + 4], str..Current
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x120]
mov dword [esp], eax
call sym._RegOpenKeyW_12
mov edi, eax
mov eax, dword [ebp - 0x120]
sub esp, 0xc
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
test edi, edi
jne 0x7b32ea11
lea eax, [ebp - 0x114]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x118]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x11c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0x114], 0x100
call sym._RegQueryValueExW_24
mov edi, eax
mov eax, dword [ebp - 0x11c]
sub esp, 0x18
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
test edi, edi
jne 0x7b32ea11
cmp word [ebp - 0x110], 0
je 0x7b32ea11
mov eax, dword [ebp - 0x118]
cmp eax, 2
je 0x7b32ed77
cmp eax, 1
jne 0x7b32ea11
mov edi, ebx
mov dword [esp + 8], 0x10020
mov dword [esp + 4], 0
mov dword [esp], edi
call sym.winmm.dll_mmioOpenW
sub esp, 0xc
cmp dword [ebp - 0x118], 2
mov edx, eax
je 0x7b32ee0c
test edx, edx
jne 0x7b32e9df
jmp 0x7b32ea11
mov eax, str..Default
jmp 0x7b32ebd2
mov dword [esp], ebx
call sym._lstrlenW_4
lea eax, [ebx + eax*2 - 2]
sub esp, 4
cmp eax, ebx
jae 0x7b32ed51
jmp 0x7b32eb0c
cmp dx, 0x5c
je 0x7b32ed61
sub eax, 2
cmp eax, ebx
jb 0x7b32eb0c
movzx edx, word [eax]
cmp dx, 0x2e
jne 0x7b32ed40
xor edx, edx
mov word [eax], dx
jmp 0x7b32ed46
lea edx, [ebp - 0x124]
add eax, 2
mov dword [esp + 8], edx
mov dword [esp + 4], eax
jmp 0x7b32eb92
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call sym._ExpandEnvironmentStringsW_12
sub esp, 0xc
mov edi, eax
mov dword [ebp - 0x114], eax
test eax, eax
je 0x7b32ea11
call sym._GetProcessHeap_0
add edi, edi
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov edi, eax
test eax, eax
je 0x7b32ea11
mov eax, dword [ebp - 0x114]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._ExpandEnvironmentStringsW_12
sub esp, 0xc
test eax, eax
jne 0x7b32ecd0
call sym._GetProcessHeap_0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
sub esp, 0xc
jmp 0x7b32ea11
mov dword [ebp - 0x134], eax
call sym._GetProcessHeap_0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
mov edx, dword [ebp - 0x134]
sub esp, 0xc
jmp 0x7b32ecfa