Function at 0x4248f0
Capabilities:
Check for peb beingdebugged flag
Contain obfuscated stackstrings
Delete file
Get common file path
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x26c
mov dword [esp], str.winmm.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov ebx, dword [sym.imp.kernel32.dll_GetProcAddress]
sub esp, 4
mov esi, eax
mov dword [esp + 4], str.PlaySound
mov dword [esp], eax
call ebx
sub esp, 8
mov edi, eax
mov dword [esp + 4], 2
mov dword [esp], esi
call ebx
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x69a
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
xor eax, eax
cmp edi, ebx
mov dword [esp + 4], str.Expected_ordinal_2_to_be_PlaySound_function_n
sete al
mov dword [esp], eax
call fcn.0042d100
call sub.winmm.dll_waveOutGetNumDevs
test eax, eax
je 0x424f23
lea edi, [ebp - 0x220]
mov dword [esp], 0x104
mov dword [esp + 4], edi
call dword [sym.imp.kernel32.dll_GetTempPathA]
mov edx, edi
sub esp, 8
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x42498c
mov dword [ebp - 0x246], 0x10001
mov ecx, eax
mov dword [ebp - 0x242], 0x1f40
shr ecx, 0x10
test eax, 0x8080
mov dword [ebp - 0x23e], 0x1f40
cmove eax, ecx
lea ecx, [edx + 2]
mov dword [ebp - 0x23a], 0x80001
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
mov dword [edx], 0x6f73796d
mov dword [edx + 4], 0x2e646e75
mov dword [edx + 8], 0x766177
mov dword [esp + 8], 0x11001
mov dword [esp + 4], 0
mov dword [esp], edi
mov word [ebp - 0x236], ax
call sub.winmm.dll_mmioOpenA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x670
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.Cant_open_temp_file_n
setne al
mov dword [esp], eax
call fcn.0042d100
lea ecx, [ebp - 0x234]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x20
mov dword [ebp - 0x22c], 0x45564157
mov dword [ebp - 0x230], 0
call sub.winmm.dll_mmioCreateChunk
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x675
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.mmioCreateChunk_failed__got__u_n
lea esi, [ebp - 0x11c]
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [ebp - 0x11c], 0x20746d66
mov dword [ebp - 0x118], 0
call sub.winmm.dll_mmioCreateChunk
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x67a
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.mmioCreateChunk_failed__got__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
lea eax, [ebp - 0x246]
mov dword [esp], ebx
mov dword [esp + 8], 0x12
mov dword [esp + 4], eax
call sub.winmm.dll_mmioWrite
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x67c
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.mmioWrite_failed__got__d_n
cmp eax, 0x12
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
call sub.winmm.dll_mmioAscend
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x67e
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.mmioAscend_failed__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [ebp - 0x11c], 0x61746164
call sub.winmm.dll_mmioCreateChunk
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x682
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.mmioCreateChunk_failed__got__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], 0x9999999a
lea edx, [ebp - 0x24c]
lea eax, [ebp - 0x246]
mov dword [esp + 4], 0x3fb99999
call fcn.00424270
mov dword [esp], ebx
mov edx, eax
mov eax, dword [ebp - 0x24c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [ebp - 0x260], edx
call sub.winmm.dll_mmioWrite
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x685
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
cmp dword [ebp - 0x24c], eax
mov dword [esp + 4], str.mmioWrite_failed__got__d_n
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
call sub.winmm.dll_mmioAscend
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x687
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.mmioAscend_failed__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov edx, dword [ebp - 0x260]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [ebp - 0x234]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], 0
call sub.winmm.dll_mmioAscend
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x68b
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.mmioAscend_failed__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], ebx
mov dword [esp + 4], 0
call sub.winmm.dll_mmioClose
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x68e
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.mmioClose_failed__got__u_n
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 8], 0x20002
mov dword [esp + 4], 0
mov dword [esp], edi
call sub.winmm.dll_PlaySoundA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x6a6
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov dword [esp + 8], ebx
mov dword [esp], ebx
mov dword [esp + 4], str.PlaySound_failed__got__d_n
call fcn.0042d100
mov dword [esp + 8], 0x10002
mov dword [esp + 4], 0
mov dword [esp], edi
call sub.winmm.dll_PlaySoundA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x6aa
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov dword [esp + 8], ebx
mov dword [esp], ebx
mov dword [esp + 4], str.PlaySound_failed__got__d_n
call fcn.0042d100
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_strcpy]
mov dword [esp + 4], 0x2e
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_strrchr]
mov byte [eax], 0
mov ebx, eax
mov dword [esp + 8], 0x20002
mov dword [esp + 4], 0
mov dword [esp], esi
call sub.winmm.dll_PlaySoundA
sub esp, 0xc
mov dword [ebp - 0x25c], eax
mov dword [esp + 4], 0x6b2
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, dword [ebp - 0x25c]
mov dword [esp + 4], str.PlaySound_failed__got__d_n
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.0042d100
mov edx, 0x2e
mov word [ebx], dx
mov dword [esp + 8], 0x20002
mov dword [esp + 4], 0
mov dword [esp], esi
call sub.winmm.dll_PlaySoundA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x6b7
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov eax, 1
test ebx, ebx
jne 0x424f50
mov dword [esp + 8], ebx
mov dword [esp + 4], str.PlaySound_succeeded__got__d_n
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x69d
mov dword [esp], str..._wine_dlls_winmm_tests_wave.c
call fcn.0042ce90
mov dword [esp], str.No_output_devices_available_n
call fcn.0042d1f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
call fcn.0042cf70
test eax, eax
setne al
movzx eax, al
jmp 0x424efb