Function at 0x10c79d0
Capabilities:
Persist via run registry key

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], esi
mov eax, 0x10122e0
lea ebx, [ebx]
add eax, 2
cmp word [eax], bx
jne 0x10c79f0
mov ecx, dword [esi]
mov edx, dword [ecx]
push 2
sub eax, 0x10122e0
sar eax, 1
push eax
push 0x10122e0
push 0x10122e0
push DirectSoundEnumerateW
lea eax, [ebp - 8]
push eax
push 0x10b0fd0
push edx
call fcn.010b2020
mov eax, dword [esi]
mov edx, dword [eax]
cmp dword [edx + 0x26b28], ebx
je 0x10c7a5b
push 0xa
push 0x10122e0
call fcn.0101e3c0
push eax
push 0x10122e0
push 0x10122e0
push DirectSoundEnumerateW
lea ecx, [ebp - 8]
push ecx
push 0x10b0fd0
push edx
call fcn.010b2020
mov dword [ebp - 4], ebx
mov dword [ebp - 8], esi
mov eax, 0x10122e0
add eax, 2
cmp word [eax], bx
jne 0x10c7a66
push 2
sub eax, 0x10122e0
sar eax, 1
push eax
mov eax, dword [esi]
mov ecx, dword [eax]
push 0x10122e0
push 0x10122e0
push DirectSoundEnumerateW
lea edx, [ebp - 8]
push edx
push 0x10b0fd0
push ecx
call fcn.010b2020
mov edx, dword [esi]
mov edx, dword [edx]
cmp dword [edx + 0x26b28], ebx
je 0x10c7ad1
push 0xa
push 0x10122e0
call fcn.0101e3c0
push eax
push 0x10122e0
push 0x10122e0
push DirectSoundEnumerateW
lea eax, [ebp - 8]
push eax
push 0x10b0fd0
push edx
call fcn.010b2020
mov dword [ebp - 4], ebx
mov dword [ebp - 8], esi
mov eax, 0x1015990
lea esp, [esp]
add eax, 2
cmp word [eax], bx
jne 0x10c7ae0
mov edx, dword [esi]
push 2
sub eax, 0x1015990
sar eax, 1
push eax
mov eax, dword [edx]
push 0x1015990
push 0x1015990
push DirectSoundEnumerateW
lea ecx, [ebp - 8]
push ecx
push 0x10b0fd0
push eax
call fcn.010b2020
mov ecx, dword [esi]
mov edx, dword [ecx]
cmp dword [edx + 0x26b28], ebx
je 0x10c7b4b
push 0xa
push 0x1015990
call fcn.0101e3c0
push eax
push 0x1015990
push 0x1015990
push DirectSoundEnumerateW
lea eax, [ebp - 8]
push eax
push 0x10b0fd0
push edx
call fcn.010b2020
mov dword [ebp - 4], ebx
mov dword [ebp - 8], esi
mov eax, 0x1015990
add eax, 2
cmp word [eax], bx
jne 0x10c7b56
mov edx, dword [esi]
push 2
sub eax, 0x1015990
sar eax, 1
push eax
mov eax, dword [edx]
push 0x1015990
push 0x1015990
push DirectSoundEnumerateW
lea ecx, [ebp - 8]
push ecx
push 0x10b0fd0
push eax
call fcn.010b2020
mov ecx, dword [esi]
mov edx, dword [ecx]
cmp dword [edx + 0x26b28], ebx
je 0x10c7bc1
push 0xa
push 0x1015990
call fcn.0101e3c0
push eax
push 0x1015990
push 0x1015990
push DirectSoundEnumerateW
lea eax, [ebp - 8]
push eax
push 0x10b0fd0
push edx
call fcn.010b2020
mov dword [ebp - 4], 0x1015978
mov dword [ebp - 8], esi
mov eax, 0x100da60
add eax, 2
cmp word [eax], bx
jne 0x10c7bd0
mov edx, dword [esi]
push 7
sub eax, 0x100da60
sar eax, 1
push eax
mov eax, dword [edx]
push 0x100da60
push 0x100da60
push DirectSoundEnumerateW
lea ecx, [ebp - 8]
push ecx
push 0x10b0fd0
push eax
call fcn.010b2020
mov dword [ebp - 4], 0x1015978
mov dword [ebp - 8], esi
mov eax, 0x100da60
add eax, 2
cmp word [eax], bx
jne 0x10c7c13
mov edx, dword [esi]
push 7
sub eax, 0x100da60
sar eax, 1
push eax
mov eax, dword [edx]
push 0x100da60
push 0x100da60
push DirectSoundEnumerateW
lea ecx, [ebp - 8]
push ecx
push 0x10b0fd0
push eax
call fcn.010b2020
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4