Function at 0x7b32f810
Capabilities:
Create thread
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
push ebx
mov ebx, ecx
sub esp, 0x84
mov dword [ebp - 0x64], eax
test byte [0x7b33c1a0], 8
jne 0x7b32f930
test bl, 0x10
je 0x7b32f850
mov edx, dword [0x7b3429cc]
xor eax, eax
test edx, edx
je 0x7b32f850
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x7b32f860
test bl, 0x40
je 0x7b32f975
mov dword [esp], 0x7b342a00
xor esi, esi
call sym._EnterCriticalSection_4
mov eax, dword [0x7b3429cc]
sub esp, 4
test eax, eax
je 0x7b32fb3a
nop
mov eax, dword [0x7b342a18]
mov dword [esp], eax
call sym._ResetEvent_4
mov eax, dword [0x7b3429cc]
mov dword [0x7b3429c8], 1
sub esp, 4
mov eax, dword [eax + 8]
test eax, eax
je 0x7b32f8b1
mov dword [esp], eax
call sym.winmm.dll_waveOutReset
sub esp, 4
mov dword [esp], 0x7b342a00
call sym._LeaveCriticalSection_4
mov eax, dword [0x7b342a18]
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._WaitForSingleObject_8
sub esp, 8
mov dword [esp], 0x7b342a00
call sym._EnterCriticalSection_4
mov edx, dword [0x7b3429cc]
mov dword [0x7b3429c8], 0
sub esp, 4
test edx, edx
jne 0x7b32f880
mov dword [esp], 0x7b342a00
mov dword [0x7b3429cc], esi
call sym._LeaveCriticalSection_4
sub esp, 4
test esi, esi
je 0x7b32fb49
test bl, 1
jne 0x7b32fac0
mov eax, esi
call sym._proc_PlaySound
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], str.pszSound_p_hmod_p_fdwSound_08X_n
mov dword [esp + 0x10], 0x251
mov dword [esp + 0xc], str.MULTIMEDIA_PlaySound
mov dword [esp + 8], 0x7b33f939
mov dword [esp + 4], 0x7b33c1a0
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x7b32f830
mov eax, ebx
and eax, 0x170004
cmp eax, 0x10000
je 0x7b32fb72
jbe 0x7b32fb60
cmp eax, 0x40004
je 0x7b32fd90
cmp eax, 0x110000
je 0x7b32f9c0
cmp eax, 0x20000
je 0x7b32fb72
test byte [0x7b33c1a0], 1
jne 0x7b32fd50
lea esi, [esi]
nop
call sym._GetProcessHeap_0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 8
mov dword [esp], eax
call sym._HeapAlloc_12
mov byte [ebp - 0x68], 0
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x7b32fbe1
test byte [0x7b33c1a0], 8
jne 0x7b32fda0
test bl, 4
je 0x7b32fbfe
mov eax, ebx
and eax, 0x40004
cmp eax, 0x40004
je 0x7b32fce5
lea edx, [ebp - 0x58]
xor eax, eax
mov ecx, 0x12
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x54], 0x204d454d
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], eax
test byte [0x7b33c1a0], 8
jne 0x7b32fe66
mov dword [esp + 8], 0
xor edi, edi
mov dword [esp + 4], edx
mov dword [esp], 0
call sym.winmm.dll_mmioOpenW
sub esp, 0xc
test eax, eax
je 0x7b32fdf0
mov dword [esi + 4], eax
cmp byte [ebp - 0x68], 0
je 0x7b32fa82
lea eax, [ebp - 0x60]
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
sub esp, 4
mov dword [esp], 0x7b342a00
call sym._EnterCriticalSection_4
mov ecx, dword [0x7b3429cc]
sub esp, 4
test ecx, ecx
jne 0x7b32f880
mov dword [esp], 0x7b342a00
mov dword [0x7b3429cc], esi
call sym._LeaveCriticalSection_4
sub esp, 4
jmp 0x7b32f918
shr ebx, 3
mov eax, ebx
movzx ebx, byte [esi]
and eax, 1
and ebx, 0xfffffffe
or ebx, eax
mov byte [esi], bl
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], sym._PlaySoundAsyncThreadProc_4
mov dword [esp + 4], 0
mov dword [esp], 0
call sym._CreateThread_24
sub esp, 0x18
mov ebx, eax
test eax, eax
je 0x7b32fbf0
mov dword [esp + 4], 0xf
mov dword [esp], eax
call sym._SetThreadPriority_8
sub esp, 8
mov dword [esp], ebx
call sym._CloseHandle_4
mov eax, 1
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x7b342a00
call sym._LeaveCriticalSection_4
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
je 0x7b32fb72
cmp eax, 4
je 0x7b32f9c0
jmp 0x7b32f9aa
mov ecx, 1
mov eax, dword [ebp + 8]
xor eax, 1
test eax, ecx
je 0x7b32f9c0
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x68], eax
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlCreateUnicodeStringFromAsciiz]
mov eax, dword [ebp - 0x5c]
sub esp, 8
mov dword [ebp - 0x64], eax
test eax, eax
je 0x7b32fbe1
call sym._GetProcessHeap_0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 8
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov esi, eax
test eax, eax
jne 0x7b32fe5d
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
sub esp, 4
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, esi
call sym._PlaySound_Free
xor eax, eax
jmp 0x7b32f841
test ebx, 0x10000
je 0x7b32fcbc
mov eax, ebx
and eax, 0x110000
cmp eax, 0x110000
jne 0x7b32fe30
mov eax, dword [ebp - 0x64]
cmp eax, 0x2a53
je 0x7b32febf
cmp eax, 0x4453
je 0x7b32fecb
cmp eax, 0x2153
je 0x7b32fed7
cmp eax, 0x4553
je 0x7b32fee3
cmp eax, 0x4853
je 0x7b32fefb
cmp eax, 0x3f53
je 0x7b32fe29
cmp eax, 0x5353
je 0x7b32ff07
cmp eax, 0x5753
je 0x7b32feef
test bl, 2
jne 0x7b32fe1d
test bl, 0x80
jne 0x7b32fea6
mov edx, str.SystemDefault
mov eax, ebx
call sym._get_mmioFromProfile
mov dword [esi + 4], eax
test eax, eax
jne 0x7b32fa6d
mov eax, esi
call sym._PlaySound_Free
cmp byte [ebp - 0x68], 0
je 0x7b32fbe1
lea eax, [ebp - 0x60]
mov dword [ebp - 0x68], eax
jmp 0x7b32fbd2
test ebx, 0x20000
jne 0x7b32fcd6
mov edx, dword [ebp - 0x64]
mov eax, ebx
call sym._get_mmioFromProfile
test eax, eax
jne 0x7b32fa6a
mov eax, dword [ebp - 0x64]
xor edi, edi
call sym._get_mmioFromFile
jmp 0x7b32fa62
mov eax, dword [ebp - 0x64]
mov dword [esp], edi
mov dword [esp + 8], str.WAVE
mov dword [esp + 4], eax
call sym._FindResourceW_12
sub esp, 0xc
mov dword [ebp - 0x64], eax
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._LoadResource_8
mov ecx, dword [ebp - 0x64]
sub esp, 8
mov edi, eax
test ecx, ecx
je 0x7b32fc77
test eax, eax
je 0x7b32fc77
mov dword [esp], eax
call sym._LockResource_4
sub esp, 4
mov dword [ebp - 0x64], eax
mov dword [esp], edi
call sym._FreeResource_4
mov edi, dword [ebp - 0x64]
sub esp, 4
test edi, edi
jne 0x7b32fa16
jmp 0x7b32fc77
mov dword [esp + 0x14], str.WTF_n
mov dword [esp + 0x10], 0x16f
mov dword [esp + 0xc], str.PlaySound_IsString
mov dword [esp + 8], 0x7b33f939
mov dword [esp + 4], 0x7b33c1a0
mov dword [esp], 0
call sym._ros_dbg_log
jmp 0x7b32f9c0
mov eax, dword [ebp - 0x64]
xor ecx, ecx
shr eax, 0x10
setne cl
jmp 0x7b32fb77
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], str.SoundName_s___n
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0xcc
mov dword [esp + 0xc], str.PlaySound_GetMMIO
mov dword [esp + 8], 0x7b33f939
mov dword [esp + 4], 0x7b33c1a0
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x7b32f9fb
test bl, 2
jne 0x7b32fe1d
test bl, 0x80
je 0x7b32fe15
test edi, edi
je 0x7b32fea6
mov eax, ebx
mov edx, str.SystemDefault
and al, 0x7f
call sym._get_mmioFromProfile
jmp 0x7b32fc95
test edi, edi
je 0x7b32fc89
mov dword [esi + 4], 0
jmp 0x7b32fca0
mov dword [ebp - 0x64], str.SystemQuestion
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], str.SystemDefault
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
mov edx, dword [ebp - 0x64]
test eax, eax
sete al
movzx eax, al
mov edi, eax
mov eax, ebx
call sym._get_mmioFromProfile
jmp 0x7b32fa62
mov byte [ebp - 0x68], 1
jmp 0x7b32f9ee
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], str.Memory_sound__p_n
mov dword [esp + 0x10], 0xed
mov dword [esp + 0xc], str.PlaySound_GetMMIO
mov dword [esp + 8], 0x7b33f939
mov dword [esp + 4], 0x7b33c1a0
mov dword [esp], 3
call sym._ros_dbg_log
lea edx, [ebp - 0x58]
jmp 0x7b32fa45
mov edx, str.SystemDefault
mov eax, ebx
call sym._get_mmioFromProfile
test eax, eax
jne 0x7b32fa6a
jmp 0x7b32fe02
mov dword [ebp - 0x64], str.SystemAsterisk
jmp 0x7b32fe30
mov dword [ebp - 0x64], str.SystemDefault
jmp 0x7b32fe30
mov dword [ebp - 0x64], str.SystemExclamation
jmp 0x7b32fe30
mov dword [ebp - 0x64], str.SystemExit
jmp 0x7b32fe30
mov dword [ebp - 0x64], str.SystemWelcome
jmp 0x7b32fe30
mov dword [ebp - 0x64], str.SystemHand
jmp 0x7b32fe30
mov dword [ebp - 0x64], str.SystemStart
jmp 0x7b32fe30