Function at 0x401710
Capabilities:
Access peb ldr_data
Capture microphone audio
Contain obfuscated stackstrings
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
push ebx
mov ebx, edx
sub esp, 0x10c
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xb0], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateEventW]
movzx edi, word [ebx + 0xe]
movzx edx, word [ebx + 2]
mov dword [ebp - 0xac], ebx
sub esp, 0x10
mov dword [ebp - 0xb4], eax
mov word [ebp - 0xb8], di
mov edi, dword [ebp + 8]
mov word [ebp - 0xd2], dx
mov edx, dword [ebx + 4]
or edi, 0x50000
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 8], ebx
mov ebx, esi
mov dword [esp + 4], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp], eax
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xa0], 0
call sub.winmm.dll_waveInOpen
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x8d
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov dword [esp], edi
mov dword [ebp - 0xbc], eax
call fcn.00425380
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xac]
movzx edx, word [eax + 2]
mov dword [ebp - 0xc4], edx
movzx edx, word [eax + 0xe]
mov dword [ebp - 0xc8], edx
mov edx, dword [eax + 4]
mov dword [esp], ebx
mov dword [ebp - 0xcc], edx
call fcn.00424fd0
test esi, 0xfffffffd
je 0x401961
cmp esi, 8
sete dl
cmp esi, 0x20
sete cl
or edx, ecx
lea ecx, [esi - 3]
cmp ecx, 1
jbe 0x401844
cmp esi, 6
jne 0x402015
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 0x18], edi
mov dword [esp + 8], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 4], str.waveInOpen__s_:_format_dx_2dx_d_flags_x__s__rc_s_n
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [esp], 1
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0xc8]
mov byte [ebp - 0xdc], dl
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [esp + 0xc], ecx
call fcn.0042d100
movzx edx, byte [ebp - 0xdc]
test dl, dl
je 0x401947
mov edx, dword [ebp + 8]
and edx, 8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xd0]
and eax, dword [ecx + 0x28]
test edx, edx
je 0x401df3
test eax, eax
jne 0x402110
mov dword [esp + 4], 0x9f
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], esi
mov esi, 0x4301be
call fcn.00424ff0
mov edi, eax
mov eax, dword [ebp - 0xac]
movzx ecx, word [eax + 2]
movzx edx, word [eax + 0xe]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ecx
mov dword [esp], eax
mov dword [ebp - 0xac], edx
call fcn.00424fd0
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xac]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.waveInOpen__s_:_format_dx_2dx_d__s_rc_s_failed_but_format_not_supported_so_OK._n
call fcn.0042d130
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebp - 0xbc]
mov dword [esp + 0x18], edi
mov dword [esp + 8], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 4], str.waveInOpen__s_:_format_dx_2dx_d_flags_x__s__rc_s_n
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [esp], 1
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [esp + 0xc], ecx
call fcn.0042d100
test esi, esi
jne 0x401947
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], 0x3e8
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [ebp - 0xbc], eax
call eax
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xa9
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
xor eax, eax
test esi, esi
mov dword [esp + 4], str.WaitForSingleObject_failed_for_open_n
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xab
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, dword [ebp - 0xac]
movzx esi, word [ebp - 0xd2]
mov ebx, dword [ebp - 0xd8]
movzx ecx, word [eax + 2]
movzx edx, word [eax + 0xe]
mov edi, esi
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], esi
movzx esi, word [ebp - 0xb8]
cmp cx, di
mov dword [esp + 0x14], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x18], esi
movzx esi, cx
sete cl
cmp dx, word [ebp - 0xb8]
mov dword [esp + 0x10], esi
movzx esi, dx
sete dl
and edx, ecx
cmp eax, ebx
mov dword [esp + 0xc], esi
sete al
mov dword [esp + 4], 0x430320
movzx eax, al
and eax, edx
mov dword [esp], eax
call fcn.0042d100
lea eax, [ebp - 0x68]
mov dword [esp + 8], 0x50
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.winmm.dll_waveInGetDevCapsW
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xb4
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov ebx, dword [ebp - 0xb0]
mov edi, eax
mov dword [esp], ebx
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.waveInGetDevCapsW__s_:_MMSYSERR_NOERROR_expected__got__s_n
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0xac]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call sub.winmm.dll_waveInOpen
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0xba
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov dword [esp], ebx
mov edi, eax
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 2
sete al
mov dword [esp + 4], str.waveInOpen__s_:_MMSYSERR_BADDEVICEID_expected__got__s_n
mov dword [esp], eax
call fcn.0042d100
test esi, esi
je 0x401e30
mov edi, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xa0]
mov ecx, edi
mov eax, ebx
call fcn.004010c0
mov edx, dword [edi + 8]
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_HeapAlloc]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 8]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp + 8], 0x20
mov dword [esp], eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
call sub.winmm.dll_waveInPrepareHeader
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xcc
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov dword [esp], ebx
mov edi, eax
call fcn.00424fd0
test esi, esi
mov dword [esp + 0xc], edi
sete cl
mov dword [esp + 8], eax
movzx eax, cl
mov dword [esp + 4], str.waveInPrepareHeader__s_:_rc_s_n
mov esi, ecx
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xce
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.00424fd0
mov dword [esp + 4], str.waveInPrepareHeader__s_:_prepared_flag_not_set_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x78]
and eax, 2
mov dword [esp], eax
call fcn.0042d100
mov edx, dword [0x43ed64]
test edx, edx
je 0x401ca8
mov eax, esi
test al, al
jne 0x4021c4
lea eax, [ebp - 0x88]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.winmm.dll_waveInUnprepareHeader
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xf9
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov ebx, dword [ebp - 0xb0]
mov edi, eax
mov dword [esp], ebx
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.waveInUnprepareHeader__s_:_rc_s_n
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.winmm.dll_waveInClose
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0xfd
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov dword [esp], ebx
mov edi, eax
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.waveInClose__s_:_rc_s_n
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], 0x3e8
mov dword [esp], eax
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x100
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
xor eax, eax
test esi, esi
mov dword [esp + 4], str.WaitForSingleObject_failed_for_close_n
sete al
mov dword [esp], eax
call fcn.0042d100
mov eax, dword [0x43ed64]
test eax, eax
jne 0x401e50
mov edx, dword [ebp - 0x88]
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]
sub esp, 0xc
jmp 0x401947
test eax, eax
jne 0x4019af
mov dword [esp + 4], 0x9f
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], esi
mov esi, 0x4301d7
call fcn.00424ff0
test byte [ebp + 8], 4
mov edi, eax
mov eax, 0x4301e9
cmove esi, eax
jmp 0x4018ec
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call sub.winmm.dll_waveInClose
sub esp, 4
jmp 0x401b7e
mov dword [esp + 4], 0x109
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], str.Playing_back_recorded_sound_n
call fcn.0042d130
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xac]
mov dword [esp + 0x14], 0x50000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sub.winmm.dll_waveOutOpen
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x10b
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], esi
call fcn.004252f0
mov edi, eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0xac], eax
movzx eax, word [ebx + 0xe]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.00424fd0
test esi, 0xfffffffd
jne 0x4020a0
mov ecx, dword [ebp - 0xac]
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str.waveOutOpen__s__format_dx_2dx_d_flagsCALLBACK_EVENT_rc_s_n
mov dword [esp], 1
call fcn.0042d100
test esi, esi
jne 0x4020e6
lea eax, [ebp - 0x88]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sub.winmm.dll_waveOutPrepareHeader
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x116
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.004252f0
mov esi, eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.00424fd0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], 0x4305fc
mov dword [esp], eax
call fcn.0042d100
test ebx, ebx
je 0x402610
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sub.winmm.dll_waveOutClose
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x126
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.004252f0
mov esi, eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.00424fd0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], 0x43065b
mov dword [esp], eax
call fcn.0042d100
jmp 0x401dc4
test dl, dl
je 0x402520
mov edx, dword [ebp + 8]
and edx, 8
je 0x402150
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xd0]
test dword [ebx + 0x28], ecx
jne 0x402168
mov ebx, dword [ebp - 0xbc]
mov dword [esp + 0x18], edi
mov dword [esp + 8], eax
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp - 0xc0]
mov dword [esp + 4], str.waveInOpen__s_:_format_dx_2dx_d_flags_x__s__rc_s_n
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0xc4]
mov dword [esp], 1
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], edx
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp - 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0042d100
mov edx, dword [ebp - 0xdc]
jmp 0x4018ad
lea edx, [esi - 3]
cmp edx, 1
jbe 0x4020b1
cmp esi, 6
jne 0x402580
mov edx, 1
mov ecx, dword [ebp - 0xac]
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str.waveOutOpen__s__format_dx_2dx_d_flagsCALLBACK_EVENT_rc_s_n
mov dword [esp], edx
call fcn.0042d100
mov dword [esp + 4], 0x12a
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], str.Unable_to_play_back_the_recorded_sound_n
call fcn.0042d130
jmp 0x401dc4
mov dword [esp + 4], 0x9b
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], 0x430244
call fcn.0042d130
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xd0]
test dword [eax + 0x28], ecx
jne 0x4019af
jmp 0x4018c9
cmp dword [ebp + 8], 8
je 0x402168
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0xd0]
test dword [ecx + 0x28], ebx
je 0x40203b
cmp esi, 0xa
je 0x4025b0
mov ebx, dword [ebp - 0xbc]
mov dword [esp + 0x18], edi
mov dword [esp + 8], eax
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp - 0xc0]
mov dword [esp + 4], str.waveInOpen__s_:_format_dx_2dx_d_flags_x__s__rc_s_n
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0xc4]
mov dword [esp], 0
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0xc8]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp - 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0042d100
jmp 0x4018a7
mov dword [esp + 4], 0xd2
mov esi, str.WAVE_FORMAT_DIRECT
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
test byte [ebp + 8], 8
jne 0x4021f4
test byte [ebp + 8], 4
mov esi, str.WAVE_MAPPED
mov eax, 0x4301e9
cmove esi, eax
mov edi, dword [ebp - 0xac]
movzx eax, word [edi]
mov dword [esp], eax
call fcn.004264c0
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
movzx eax, word [edi + 2]
mov dword [ebp - 0xac], edi
mov dword [esp + 0xc], eax
movzx eax, word [edi + 0xe]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], str.Recording_for_1_second_at__5dx_2dx_d__s__s_n
mov dword [esp + 4], eax
call fcn.0042d130
lea eax, [ebp - 0x88]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.winmm.dll_waveInAddBuffer
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xd8
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov ebx, dword [ebp - 0xb0]
mov edi, eax
mov dword [esp], ebx
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.waveInAddBuffer__s_:_rc_s_n
mov dword [esp], eax
call fcn.0042d100
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xac]
mov eax, ebx
call fcn.004010c0
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.winmm.dll_waveInStart
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0xdf
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov dword [esp], ebx
mov edi, eax
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.waveInStart__s_:_rc_s_n
mov dword [esp], eax
call fcn.0042d100
mov ecx, dword [ebp - 0xb4]
mov dword [esp + 4], 0x4b0
mov dword [esp], ecx
mov ecx, dword [ebp - 0xbc]
call ecx
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0xe3
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
xor eax, eax
test edi, edi
mov dword [esp + 4], str.WaitForSingleObject_failed_for_header_n
sete al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xe4
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov ecx, dword [ebp - 0x78]
mov dword [esp + 4], str.WHDR_DONE_not_set_in_frag.dwFlags_n
and ecx, 1
mov dword [esp], ecx
call fcn.0042d100
mov dword [esp + 4], 0xe5
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, dword [ebp - 0xac]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], str.frag.dwBytesRecorded_d__should_d_n
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
lea eax, [ebp - 0x94]
mov dword [esp + 8], 0xc
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x94], 4
mov dword [esp], eax
call sub.winmm.dll_waveInGetPosition
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xeb
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov dword [esp], ebx
mov dword [ebp - 0xb8], eax
call fcn.00424fd0
mov edx, dword [ebp - 0xb8]
mov dword [esp + 4], str.waveInGetPosition__s_:_rc_s_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xed
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, dword [ebp - 0x94]
mov dword [esp + 4], str.doesnt_support_TIME_BYTES:__u_n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
mov dword [esp + 4], 0xee
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0x80], eax
mov dword [esp + 4], str.Got_wrong_position:__u_n
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042d100
test edi, edi
je 0x401ca8
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.winmm.dll_waveInStop
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0xf3
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov eax, esi
call fcn.00401030
mov edi, eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call fcn.00424fd0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.waveInStop__s_:_rc_s_n
mov dword [esp], eax
call fcn.0042d100
jmp 0x401ca8
cmp esi, 0xa
je 0x4025b0
mov ebx, dword [ebp - 0xbc]
mov dword [esp + 0x18], edi
mov dword [esp + 8], eax
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp - 0xc0]
mov dword [esp + 4], str.waveInOpen__s_:_format_dx_2dx_d_flags_x__s__rc_s_n
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0xc4]
mov dword [esp], 0
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0xc8]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp - 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0042d100
jmp 0x401947
cmp esi, 0x20
je 0x402590
xor edx, edx
cmp esi, 8
jne 0x4020b6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xd0]
test dword [ecx + 0x28], edx
sete dl
movzx edx, dl
jmp 0x4020b6
mov ebx, dword [ebp - 0xbc]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp - 0xc0]
shr eax, 3
mov dword [esp + 4], str.waveInOpen__s_:_format_dx_2dx_d_flags_x__s__rc_s_n
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0xc4]
and eax, 1
mov dword [esp], eax
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0xc8]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp - 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0042d100
jmp 0x401947
mov edi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xbc]
mov dword [esp + 4], 0xffffffff
lea ebx, [ebp - 0x88]
mov dword [esp], edi
call eax
mov eax, dword [ebp - 0x98]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x20
mov dword [esp], eax
call sub.winmm.dll_waveOutWrite
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x11d
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.004252f0
mov ecx, dword [ebp - 0xb0]
mov esi, eax
mov dword [esp], ecx
call fcn.00424fd0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], 0x43061d
mov dword [esp], eax
call fcn.0042d100
mov dword [esp], edi
mov eax, dword [ebp - 0xbc]
mov dword [esp + 4], 0xffffffff
call eax
lea eax, [ebp - 0x88]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 8], 0x20
mov dword [esp], eax
call sub.winmm.dll_waveOutUnprepareHeader
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x122
mov dword [esp], str..._wine_dlls_winmm_tests_capture.c
call fcn.0042ce90
mov dword [esp], ebx
call fcn.004252f0
mov ecx, dword [ebp - 0xb0]
mov esi, eax
mov dword [esp], ecx
call fcn.00424fd0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], 0x430638
mov dword [esp], eax
call fcn.0042d100
jmp 0x401fb2