Function at 0x10001280
Capabilities:
Link many functions at runtime
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov dword [ecx], 0x1001c408
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
mov eax, dword [0x10022960]
add esp, 4
push str.waveInReset
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
mov ecx, dword [0x10022960]
add esp, 4
push str.waveInStop
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
mov edx, dword [0x10022960]
add esp, 4
push str.waveInClose
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x14], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
mov eax, dword [0x10022960]
add esp, 4
push str.waveInUnprepareHeader
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
mov ecx, dword [0x10022960]
add esp, 4
push str.waveOutReset
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x18], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
mov edx, dword [0x10022960]
add esp, 4
push str.waveOutClose
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x20], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0x100200a0
call dword [sym.imp.MSVCRT.dll_puts]
add esp, 4
mov eax, dword [0x10022960]
push str.waveOutUnprepareHeader
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1c], eax
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebp - 4]
mov al, byte [edi + 0x44]
test al, al
je 0x100015ed
mov ecx, dword [edi + 0x18]
push ecx
call dword [ebp - 8]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
push eax
call dword [ebp - 0xc]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov ebx, dword [ebp - 4]
mov edi, 2
lea esi, [ebx + 0x30]
mov ecx, dword [esi]
mov edx, dword [ebx + 0x18]
push 0x20
push ecx
push edx
call dword [ebp - 0x10]
add esi, 4
dec edi
jne 0x100015a6
mov eax, dword [ebx + 0x18]
push eax
call dword [ebp - 0x14]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov ecx, dword [ebp - 4]
push 0xffffffffffffffff
mov edx, dword [ecx + 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov edi, dword [ebp - 4]
mov al, byte [edi + 0x45]
test al, al
je 0x1000165d
mov eax, dword [edi + 0x40]
push eax
call dword [ebp - 0x18]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov ebx, dword [ebp - 4]
mov edi, 2
lea esi, [ebx + 0x30]
mov ecx, dword [esi]
mov edx, dword [ebx + 0x40]
push 0x20
push ecx
push edx
call dword [ebp - 0x1c]
add esi, 4
dec edi
jne 0x10001622
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
push ecx
call dword [ebp - 0x20]
mov edi, dword [ebp - 4]
lea esi, [edi + 0x30]
mov ebx, 2
mov edx, dword [esi - 0x28]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi]
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esi - 0x20]
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov edx, dword [esi + 8]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x10
add esi, 4
dec ebx
jne 0x10001665
mov eax, dword [edi + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pushal
add eax, eax
add eax, eax
push ecx
push ecx
push edx
push eax
push ecx
push ebx
push ecx
push edx
push edx
and eax, eax
pop ebx
pop eax
pop edx
add eax, eax
pop ecx
pop eax
pop edx
pop ebx
pop eax
pop edx
popal
mov edx, dword [0x10022960]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret