Function at 0x6f2604a0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x6c
mov dword [ebp - 0x4c], edx
test byte [0x6f266638], 8
jne 0x6f2606a0
lea esi, [ebx + 0xcc]
mov edi, dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov dword [esp], esi
call edi
mov eax, dword [ebx + 0x14]
sub esp, 4
test eax, eax
je 0x6f2604dd
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x6f260500
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov edx, 1
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0xa0]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 8]
shl eax, 0x10
or eax, 9
test edx, edx
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x50], eax
jne 0x6f2606d0
call sym._WID_Open
test eax, eax
jne 0x6f2606dd
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x2c]
sub esp, 4
test eax, eax
js 0x6f260720
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x48]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 8
mov edx, eax
test eax, eax
js 0x6f260790
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x40]
mov edx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0xc
mov edx, eax
test eax, eax
js 0x6f260760
mov eax, dword [ebp - 0x48]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xac]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
sub eax, dword [ebx + 0xc0]
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 8]
sub esp, 0xc
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x34], edx
shl eax, 0x10
or eax, 8
mov dword [ebp - 0x20], eax
mov eax, edx
test ecx, ecx
je 0x6f2607b0
call sym._WOD_Close
mov eax, dword [0x6f266d60]
mov dword [esp], 0x6f2668bc
mov dword [ebp - 0x58], eax
call edi
mov eax, dword [ebp - 0x58]
mov edi, dword [sym.imp.kernel32.dll_LeaveCriticalSection]
sub esp, 4
mov eax, dword [eax]
mov dword [esp], 0x6f2668bc
mov dword [ebp - 0x58], eax
call edi
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [ebx + 0xe4], eax
mov eax, dword [ebp - 0x50]
call sym._WOD_Open
test eax, eax
jne 0x6f260844
mov edx, dword [ebp - 0x2c]
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]
mov edx, dword [ebp - 0x54]
sub esp, 0xc
test edx, edx
jne 0x6f26068c
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x6f260838
mov eax, ebx
call sym._WINMM_BeginPlaying
mov dword [esp], esi
call edi
xor edx, edx
sub esp, 4
jmp 0x6f2604ee
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], str.rerouting_device__p_n
mov dword [esp + 8], str.reroute_mapper_device
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x6f266638
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x6f2604bb
call sym._WOD_Open
test eax, eax
je 0x6f260559
test byte [0x6f266638], 8
je 0x6f2604dd
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xc], str.New_default_device_doesnt_support_this_stream:__p_n
mov dword [esp + 8], str.reroute_mapper_device
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x6f266638
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x6f2604dd
test byte [0x6f266638], 4
je 0x6f26056f
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Stop_failed:__08lx_n
mov dword [esp + 8], str.reroute_mapper_device
mov dword [esp + 4], 0x6f266638
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_7
jmp 0x6f26056f
test byte [0x6f266638], 4
jne 0x6f260800
mov dword [ebp - 0x4c], edx
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov edx, dword [ebp - 0x4c]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
test byte [0x6f266638], 4
je 0x6f26076d
mov dword [esp + 0x10], eax
mov dword [ebp - 0x4c], eax
mov dword [esp + 0xc], str.GetFrequency_failed:__08lx_n
jmp 0x6f26080f
call sym._WID_Close
mov eax, dword [0x6f26690c]
mov dword [esp], 0x6f2668bc
mov dword [ebp - 0x58], eax
call edi
mov eax, dword [ebp - 0x58]
mov edi, dword [sym.imp.kernel32.dll_LeaveCriticalSection]
sub esp, 4
mov eax, dword [eax]
mov dword [esp], 0x6f2668bc
mov dword [ebp - 0x58], eax
call edi
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [ebx + 0xe4], eax
mov eax, dword [ebp - 0x50]
call sym._WID_Open
jmp 0x6f260644
mov dword [esp + 0x10], eax
mov dword [ebp - 0x4c], eax
mov dword [esp + 0xc], str.GetPosition_failed:__08lx_n
mov dword [esp + 8], str.reroute_mapper_device
mov dword [esp + 4], 0x6f266638
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_7
mov edx, dword [ebp - 0x4c]
jmp 0x6f26076d
mov eax, ebx
call sym._WOD_PushData
jmp 0x6f260685
test byte [0x6f266638], 2
jne 0x6f26085f
mov dword [esp], esi
call edi
mov edx, 0x80004005
sub esp, 4
jmp 0x6f2604ee
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Opening_new_default_device_failed___u_n
mov dword [esp + 8], str.reroute_mapper_device
mov dword [esp + 4], 0x6f266638
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_7
jmp 0x6f26084d