Function at 0x4c1f20
Capabilities:
Capture microphone audio

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov ecx, 0xc
mov eax, dword [esi + 0x18]
mov byte [eax], 0
mov eax, dword [esi + 0x14]
inc eax
cdq
idiv ecx
mov dword [esi + 0x14], edx
cmp edx, 0xb
ja case.default.0x4c1f45
push edi
jmp dword [edx*4 + 0x4c2354]
mov edi, dword [esi + 0x20]
test byte [edi + 0x10], 1
je 0x4c1f68
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x24]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x28]
test byte [edi + 0x10], 1
je 0x4c1fbe
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x2c]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x30]
test byte [edi + 0x10], 1
je 0x4c2014
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x34]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x38]
test byte [edi + 0x10], 1
je 0x4c206a
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x3c]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x40]
test byte [edi + 0x10], 1
je 0x4c20c0
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x44]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x48]
test byte [edi + 0x10], 1
je 0x4c2116
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x4c]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x50]
test byte [edi + 0x10], 1
je 0x4c216c
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x54]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x58]
test byte [edi + 0x10], 1
je 0x4c21c2
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x5c]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x60]
test byte [edi + 0x10], 1
je 0x4c2218
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x64]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x68]
test byte [edi + 0x10], 1
je 0x4c226e
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x6c]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x70]
test byte [edi + 0x10], 1
je 0x4c22c4
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x74]
pop edi
mov dword [esi + 0x18], eax
pop esi
pop ebp
ret 8
mov edi, dword [esi + 0x78]
test byte [edi + 0x10], 1
je 0x4c231a
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInUnprepareHeader]
mov dword [edi + 0x10], 0
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0xc]
push ecx
push dword [edi]
push dword [ebp + 8]
mov dword [eax], ecx
call fcn.0051cad0
add esp, 0xc
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInPrepareHeader]
push 0x20
push edi
push dword [esi + 0xc]
call dword [sym.imp.WINMM.dll_waveInAddBuffer]
lea eax, [esi + 0x1c]
mov dword [esi + 0x18], eax
pop edi
pop esi
pop ebp
ret 8