Function at 0x1005f5c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e445d
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push esi
push edi
mov eax, dword [0x10276bc4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x14], eax
mov edi, ecx
test eax, eax
je 0x10060faa
mov edx, dword [eax]
mov dword [ebp - 0x10], edx
test edx, edx
je 0x10060faa
mov esi, 0x1025a8f0
mov dword [ebp - 0x18], 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005f624
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005f610
jmp 0x1005f675
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8f0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005f648
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005f632
xor eax, eax
jmp 0x1005f66d
cmp al, byte [esi]
jne 0x1005f668
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005f668
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005f668
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005f668
xor eax, eax
jmp 0x1005f66d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005f743
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1f58
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1f5c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1f5c]
je 0x1005f6eb
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005f73e
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 1
mov ecx, 0x102a1f58
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSound3DBuffer8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x18]
push eax
mov dword [esi], vtable.m_IDirectSound3DBuffer8.0
mov dword [ebp - 0x18], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8e0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005f765
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005f751
jmp 0x1005f7b6
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8e0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005f789
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005f773
xor eax, eax
jmp 0x1005f7ae
cmp al, byte [esi]
jne 0x1005f7a9
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005f7a9
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005f7a9
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005f7a9
xor eax, eax
jmp 0x1005f7ae
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005f89e
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x1c], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x10], eax
test edx, edx
jne 0x1005f7da
mov dword [ebp - 0x10], edx
jmp 0x1005f899
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x10]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x1c]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1f78
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1f7c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1f7c]
je 0x1005f846
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005f899
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 2
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 3
mov ecx, 0x102a1f78
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSound3DListener8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSound3DListener8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8a0
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005f8c4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005f8b0
jmp 0x1005f915
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8b0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005f8e8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005f8d2
xor eax, eax
jmp 0x1005f90d
cmp al, byte [esi]
jne 0x1005f908
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005f908
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005f908
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005f908
xor eax, eax
jmp 0x1005f90d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005f9fd
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x1005f939
mov dword [ebp - 0x10], edx
jmp 0x1005f9f8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1f38
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1f3c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1f3c]
je 0x1005f9a5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005f9f8
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 4
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 5
mov ecx, 0x102a1f38
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSound8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSound8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8c0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fa24
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fa10
jmp 0x1005fa75
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a8d0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fa48
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fa32
xor eax, eax
jmp 0x1005fa6d
cmp al, byte [esi]
jne 0x1005fa68
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005fa68
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005fa68
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005fa68
xor eax, eax
jmp 0x1005fa6d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005fb5d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x1005fa99
mov dword [ebp - 0x10], edx
jmp 0x1005fb58
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1f98
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1f9c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1f9c]
je 0x1005fb05
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005fb58
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 6
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 7
mov ecx, 0x102a1f98
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundBuffer8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundBuffer8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a900
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fb84
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fb70
jmp 0x1005fbd5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a900
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fba8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fb92
xor eax, eax
jmp 0x1005fbcd
cmp al, byte [esi]
jne 0x1005fbc8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005fbc8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005fbc8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005fbc8
xor eax, eax
jmp 0x1005fbcd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005fcbd
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x1005fbf9
mov dword [ebp - 0x10], edx
jmp 0x1005fcb8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1fb8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1fbc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1fbc]
je 0x1005fc65
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005fcb8
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 8
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 9
mov ecx, 0x102a1fb8
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundCapture8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundCapture8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a910
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fce4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fcd0
jmp 0x1005fd35
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a920
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fd08
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fcf2
xor eax, eax
jmp 0x1005fd2d
cmp al, byte [esi]
jne 0x1005fd28
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005fd28
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005fd28
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005fd28
xor eax, eax
jmp 0x1005fd2d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005fe1d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x1005fd59
mov dword [ebp - 0x10], edx
jmp 0x1005fe18
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1fd8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1fdc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1fdc]
je 0x1005fdc5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005fe18
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0xa
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0xb
mov ecx, 0x102a1fd8
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundCaptureBuffer8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundCaptureBuffer8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9e0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fe44
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fe30
jmp 0x1005fe95
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9e0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005fe68
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005fe52
xor eax, eax
jmp 0x1005fe8d
cmp al, byte [esi]
jne 0x1005fe88
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005fe88
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005fe88
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005fe88
xor eax, eax
jmp 0x1005fe8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005ff7d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x1005feb9
mov dword [ebp - 0x10], edx
jmp 0x1005ff78
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a1ff8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a1ffc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a1ffc]
je 0x1005ff25
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005ff78
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0xc
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0xd
mov ecx, 0x102a1ff8
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundCaptureFXAec8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundCaptureFXAec8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9f0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005ffa4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005ff90
jmp 0x1005fff5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9f0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005ffc8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005ffb2
xor eax, eax
jmp 0x1005ffed
cmp al, byte [esi]
jne 0x1005ffe8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005ffe8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005ffe8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005ffe8
xor eax, eax
jmp 0x1005ffed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100600dd
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060019
mov dword [ebp - 0x10], edx
jmp 0x100600d8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2018
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a201c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a201c]
je 0x10060085
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x100600d8
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0xe
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0xf
mov ecx, 0x102a2018
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundCaptureFXNoiseSuppress8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundCaptureFXNoiseSuppress8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025aa00
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060104
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x100600f0
jmp 0x10060155
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025aa00
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060128
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060112
xor eax, eax
jmp 0x1006014d
cmp al, byte [esi]
jne 0x10060148
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060148
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060148
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060148
xor eax, eax
jmp 0x1006014d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006023d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060179
mov dword [ebp - 0x10], edx
jmp 0x10060238
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2038
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a203c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a203c]
je 0x100601e5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060238
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x10
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x11
mov ecx, 0x102a2038
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFullDuplex8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFullDuplex8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a960
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060264
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060250
jmp 0x100602b5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a960
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060288
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060272
xor eax, eax
jmp 0x100602ad
cmp al, byte [esi]
jne 0x100602a8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100602a8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100602a8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x100602a8
xor eax, eax
jmp 0x100602ad
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006039d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x100602d9
mov dword [ebp - 0x10], edx
jmp 0x10060398
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2058
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a205c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a205c]
je 0x10060345
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060398
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x12
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x13
mov ecx, 0x102a2058
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXChorus8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXChorus8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9a0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100603c4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x100603b0
jmp 0x10060415
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9a0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100603e8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x100603d2
xor eax, eax
jmp 0x1006040d
cmp al, byte [esi]
jne 0x10060408
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060408
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060408
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060408
xor eax, eax
jmp 0x1006040d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100604fd
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060439
mov dword [ebp - 0x10], edx
jmp 0x100604f8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2078
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a207c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a207c]
je 0x100604a5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x100604f8
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x14
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x15
mov ecx, 0x102a2078
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXCompressor8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXCompressor8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a990
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060524
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060510
jmp 0x10060575
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a990
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060548
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060532
xor eax, eax
jmp 0x1006056d
cmp al, byte [esi]
jne 0x10060568
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060568
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060568
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060568
xor eax, eax
jmp 0x1006056d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006065d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060599
mov dword [ebp - 0x10], edx
jmp 0x10060658
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2098
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a209c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a209c]
je 0x10060605
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060658
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x16
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x17
mov ecx, 0x102a2098
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXDistortion8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXDistortion8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a980
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060684
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060670
jmp 0x100606d5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a980
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100606a8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060692
xor eax, eax
jmp 0x100606cd
cmp al, byte [esi]
jne 0x100606c8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100606c8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100606c8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x100606c8
xor eax, eax
jmp 0x100606cd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100607bd
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x100606f9
mov dword [ebp - 0x10], edx
jmp 0x100607b8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a20b8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a20bc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a20bc]
je 0x10060765
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x100607b8
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x18
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x19
mov ecx, 0x102a20b8
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXEcho8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXEcho8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a970
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100607e4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x100607d0
jmp 0x10060835
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a970
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060808
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x100607f2
xor eax, eax
jmp 0x1006082d
cmp al, byte [esi]
jne 0x10060828
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060828
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060828
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060828
xor eax, eax
jmp 0x1006082d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006091d
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060859
mov dword [ebp - 0x10], edx
jmp 0x10060918
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a20d8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a20dc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a20dc]
je 0x100608c5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060918
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x1a
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x1b
mov ecx, 0x102a20d8
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXFlanger8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXFlanger8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a950
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060944
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060930
jmp 0x10060995
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a950
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060968
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060952
xor eax, eax
jmp 0x1006098d
cmp al, byte [esi]
jne 0x10060988
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060988
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060988
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060988
xor eax, eax
jmp 0x1006098d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10060a2a
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x100609a4
mov dword [ebp - 0x10], edx
jmp 0x10060a25
lea eax, [ebp - 0x18]
mov ecx, 0x102a20f8
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10060fc0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x102a20fc]
je 0x100609d2
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060a25
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x1c
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x1d
mov ecx, 0x102a20f8
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXGargle8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXGargle8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9c0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060a4c
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060a38
jmp 0x10060aa3
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9c0
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060a76
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060a60
xor eax, eax
jmp 0x10060a9b
cmp al, byte [esi]
jne 0x10060a96
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060a96
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060a96
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060a96
xor eax, eax
jmp 0x10060a9b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10060b8b
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060ac7
mov dword [ebp - 0x10], edx
jmp 0x10060b86
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2118
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a211c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a211c]
je 0x10060b33
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060b86
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x1e
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x1f
mov ecx, 0x102a2118
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXI3DL2Reverb8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXI3DL2Reverb8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9b0
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060bb4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060ba0
jmp 0x10060c05
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9b0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060bd8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060bc2
xor eax, eax
jmp 0x10060bfd
cmp al, byte [esi]
jne 0x10060bf8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060bf8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060bf8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060bf8
xor eax, eax
jmp 0x10060bfd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10060ced
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 0x10
mov esi, edx
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 8
shr esi, 0x18
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x10060c29
mov dword [ebp - 0x10], edx
jmp 0x10060ce8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x102a2138
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1005ccc0
mov edx, dword [0x102a213c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x102a213c]
je 0x10060c95
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060ce8
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x20
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x21
mov ecx, 0x102a2138
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXParamEq8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXParamEq8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9d0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060d14
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060d00
jmp 0x10060d65
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a9d0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060d38
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060d22
xor eax, eax
jmp 0x10060d5d
cmp al, byte [esi]
jne 0x10060d58
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060d58
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060d58
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060d58
xor eax, eax
jmp 0x10060d5d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10060dfa
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x10060d74
mov dword [ebp - 0x10], edx
jmp 0x10060df5
lea eax, [ebp - 0x18]
mov ecx, 0x102a2158
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10060fc0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x102a215c]
je 0x10060da2
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060df5
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x22
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x23
mov ecx, 0x102a2158
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundFXWavesReverb8.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundFXWavesReverb8.1.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a930
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060e1c
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060e08
jmp 0x10060e73
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1025a930
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x10060e46
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x10060e30
xor eax, eax
jmp 0x10060e6b
cmp al, byte [esi]
jne 0x10060e66
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x10060e66
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x10060e66
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x10060e66
xor eax, eax
jmp 0x10060e6b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10060f08
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x10060e82
mov dword [ebp - 0x10], edx
jmp 0x10060f03
lea eax, [ebp - 0x18]
mov ecx, 0x102a2178
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10060fc0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x102a217c]
je 0x10060eb0
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x10060f03
push 0xc
call fcn.101dee34
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
lea esi, [eax + 4]
mov dword [ebp - 4], 0x24
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x25
mov ecx, 0x102a2178
mov edx, dword [ebp - 0x18]
mov dword [eax], vtable.m_IDirectSoundNotify8.1.0
mov dword [eax + 8], edx
lea eax, [ebp - 0x1c]
push eax
mov dword [esi], vtable.m_IDirectSoundNotify8.0
mov dword [ebp - 0x1c], edx
call fcn.1005c800
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ecx, 0x1025a940
mov esi, 0xc
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x10060faa
add edi, 4
add ecx, 4
sub esi, 4
jae 0x10060f12
mov dword [ebp - 0x1c], edx
test edx, edx
jne 0x10060f32
xor edi, edi
jmp 0x10060fa5
lea eax, [ebp - 0x1c]
mov ecx, 0x102a2198
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10060fc0
mov eax, dword [ebp - 0x18]
cmp eax, dword [0x102a219c]
je 0x10060f5d
mov edi, dword [eax + 0xc]
lea eax, [edi - 4]
neg edi
sbb edi, edi
and edi, eax
jmp 0x10060fa5
push 0xc
call fcn.101dee34
mov edi, eax
add esp, 4
mov dword [ebp - 0x20], edi
lea esi, [edi + 4]
mov dword [ebp - 4], 0x26
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x27
mov ecx, 0x102a2198
mov eax, dword [ebp - 0x10]
mov dword [edi + 8], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [edi], vtable.m_IKsPropertySet.0
mov dword [esi], vtable.m_IKsPropertySet.1.0
call fcn.1005c800
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret