Function at 0x412ac0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
mov ebx, eax
lea eax, [ebp - 0x84]
sub esp, 0xac
mov dword [esp + 8], 0x2c
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.winmm.dll_midiInGetDevCapsA
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x74
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
test edi, edi
mov edx, eax
sete al
movzx eax, al
cmp ebx, 0xffffffff
je 0x413490
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.midiInGetDevCaps_dev_d__rc_s_n
mov dword [esp], eax
call fcn.0042d100
test edi, edi
je 0x413420
test esi, esi
je 0x41346c
mov dword [esp + 0x10], 0x10000
mov dword [esp + 0xc], 0x4cafe5a8
mov dword [esp + 8], esi
lea eax, [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.winmm.dll_midiInOpen
sub esp, 0x14
mov dword [ebp - 0x8c], eax
mov dword [esp + 4], 0x7f
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call fcn.00424ff0
mov edi, eax
cmp ebx, 0xffffffff
je 0x4134c0
mov edx, dword [ebp - 0x8c]
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.midiInOpen_dev_d__rc_s_n
mov dword [esp], eax
call fcn.0042d100
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
jne 0x413418
mov edx, str.midiInOpen
mov ecx, 0x3c1
lea ebx, [ebp - 0x58]
mov eax, esi
mov dword [esp + 4], 0x83
mov edi, ebx
mov dword [esp], 0
call fcn.00412760
mov eax, dword [ebp - 0x8c]
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0x11170
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x4c], 0x56fa552c
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x54], 0x11170
mov dword [ebp - 0x50], 5
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov dword [ebp - 0x58], eax
mov dword [esp + 4], 0x8b
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
mov dword [esp + 4], str.No__d_bytes_of_memory__n
mov dword [esp + 8], eax
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.0042d100
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x413211
mov eax, dword [ebp - 0x88]
mov dword [esp + 8], 0x1b
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.winmm.dll_midiInPrepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x8e
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInPrepare_tiny_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xb
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0x8f
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1c
mov dword [esp], eax
or dword [ebp - 0x48], 4
call sub.winmm.dll_midiInPrepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x93
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInPrepare_old_size_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0x94
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov edx, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp edx, 7
mov dword [esp + 8], edx
sete al
cmp edx, 2
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0x96
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp], str.MIDIHDR_flags_x_when_unsent_n
mov dword [esp + 4], eax
call fcn.0042d130
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x40
mov dword [esp], eax
or dword [ebp - 0x48], 5
call sub.winmm.dll_midiInPrepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x9a
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInPrepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0x9b
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 7
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x40
mov dword [esp], eax
and dword [ebp - 0x48], 0xfffffffb
call sub.winmm.dll_midiInUnprepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x9f
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInUnprepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xa0
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x40
mov dword [esp], eax
and dword [ebp - 0x48], 0xfffffffe
call sub.winmm.dll_midiInUnprepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xa4
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInUnprepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xa5
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1c
mov dword [esp], eax
call sub.winmm.dll_midiInPrepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xa8
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInPrepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xa9
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1c
mov dword [esp], eax
or dword [ebp - 0x48], 1
call sub.winmm.dll_midiInPrepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xad
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInPrepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xae
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], str.BytesRec_u_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x40
mov dword [esp], eax
or dword [ebp - 0x48], 1
call sub.winmm.dll_midiInAddBuffer
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xb2
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiAddBuffer_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xb3
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 6
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x413540
mov eax, dword [ebp - 0x88]
mov dword [esp + 8], 0x40
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.winmm.dll_midiInAddBuffer
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xba
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiAddBuffer_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0x41
sete al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1c
mov dword [esp], eax
call sub.winmm.dll_midiInPrepareHeader
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xbd
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInPrepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xbe
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 6
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp], eax
call sub.winmm.dll_midiInReset
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0xc1
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], edi
call fcn.00424ff0
mov dword [esp + 4], str.midiInReset_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], ebx
mov ecx, 0x3c4
mov eax, esi
mov dword [esp + 4], 0xc2
mov edx, str.midiInReset
call fcn.00412760
mov dword [esp + 4], 0xc4
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], str.dwFlags_x_n
cmp eax, 3
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x40
mov dword [esp], eax
call sub.winmm.dll_midiInUnprepareHeader
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xc6
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.00424ff0
mov dword [esp + 4], str.midiInUnprepare_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xc8
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], str.Did_some_MIDI_HW_send__u_bytes__n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0x88]
mov dword [esp], eax
call sub.winmm.dll_midiInClose
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0xcb
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.00424ff0
mov dword [esp + 4], str.midiInClose_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xcd
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], str.MIDIHDR.dwUser_changed_to__lx_n
cmp eax, 0x56fa552c
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov edx, dword [ebp - 0x58]
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 ecx, 0x3c2
mov edx, str.midiInClose
mov eax, esi
sub esp, 0xc
mov dword [esp + 4], 0xcf
mov dword [esp], 0
call fcn.00412760
mov dword [esp], 0xfeedf00d
xor ecx, ecx
mov eax, esi
mov dword [esp + 4], 0xd0
mov edx, str.midiIn_over
call fcn.00412760
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x78
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x5c]
mov dword [esp], str.__s:_manufacturer_d__product_d__support_X_n
mov dword [esp + 0x10], eax
movzx eax, word [ebp - 0x82]
mov dword [esp + 0xc], eax
movzx eax, word [ebp - 0x84]
mov dword [esp + 8], eax
lea eax, [ebp - 0x7c]
mov dword [esp + 4], eax
call fcn.0042d130
test esi, esi
jne 0x412b46
mov dword [esp + 0x10], 0x30000
mov dword [esp + 0xc], 0x4cafe5a8
mov dword [esp + 8], 0x412290
jmp 0x412b5a
cmp edi, 2
jne 0x4134f3
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.midiInGetDevCaps_dev_d__rc_s_n
mov dword [esp], 1
call fcn.0042d100
jmp 0x412b3e
mov eax, dword [ebp - 0x8c]
cmp eax, 2
jne 0x413520
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.midiInOpen_dev_d__rc_s_n
mov dword [esp], 1
call fcn.0042d100
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
cmp edi, 6
mov dword [ebp - 0x8c], edx
sete al
mov dword [esp], eax
call fcn.0042cf70
mov edx, dword [ebp - 0x8c]
test eax, eax
setne al
movzx eax, al
jmp 0x412b1e
cmp eax, 6
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042cf70
test eax, eax
setne al
movzx eax, al
jmp 0x412baf
mov dword [esp + 4], 0xb7
mov dword [esp], str..._wine_dlls_winmm_tests_midi.c
call fcn.0042ce90
mov eax, dword [ebp - 0x50]
mov dword [esp], str.dwBytesRecorded__u_n
mov dword [esp + 4], eax
call fcn.0042d130
jmp 0x413130