Function at 0x100f7620
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10255b3d
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x103e1bc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x24], eax
mov edi, ecx
test eax, eax
je 0x100f9169
mov ebx, dword [eax]
test ebx, ebx
je 0x100f9169
mov edx, 0x102c6b34
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7683
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7670
jmp 0x100f76d4
mov ecx, edi
mov edx, 0x102c6b34
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f76a5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7690
xor eax, eax
jmp 0x100f76cc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f76c7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f76c7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f76c7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f76c7
xor eax, eax
jmp 0x100f76cc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f77a9
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x10464480
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10077640
mov ebx, dword [0x10464484]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464484]
je 0x100f7747
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f77a4
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 0
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 1
mov ecx, 0x10464480
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebx], vtable.m_IDirectSound3DBuffer8.1.0
mov dword [esi], vtable.m_IDirectSound3DBuffer8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6b24
mov esi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f77c8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f77b5
jmp 0x100f7818
mov ecx, edi
mov edx, 0x102c6b24
mov esi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f77e9
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f77d4
xor eax, eax
jmp 0x100f7810
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f780b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f780b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f780b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f780b
xor eax, eax
jmp 0x100f7810
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7903
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x14], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x1c], eax
test ebx, ebx
je 0x100f78fe
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x1c]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x14]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x104644a0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104644a4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104644a4]
je 0x100f78a1
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f78fe
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 2
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 3
mov ecx, 0x104644a0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSound3DListener8.0
mov dword [esi], vtable.m_IDirectSound3DListener8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6ae4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7923
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7910
jmp 0x100f7974
mov ecx, edi
mov edx, 0x102c6af4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7945
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7930
xor eax, eax
jmp 0x100f796c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f7967
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f7967
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f7967
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f7967
xor eax, eax
jmp 0x100f796c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7a5f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f7a5a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464460
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464464]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464464]
je 0x100f79fd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f7a5a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 4
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 5
mov ecx, 0x10464460
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSound8.0
mov dword [esi], vtable.m_IDirectSound8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6b04
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7a83
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7a70
jmp 0x100f7ad4
mov ecx, edi
mov edx, 0x102c6b14
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7aa5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7a90
xor eax, eax
jmp 0x100f7acc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f7ac7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f7ac7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f7ac7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f7ac7
xor eax, eax
jmp 0x100f7acc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7bbf
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f7bba
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104644c0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104644c4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104644c4]
je 0x100f7b5d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f7bba
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 6
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 7
mov ecx, 0x104644c0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundBuffer8.1.0
mov dword [esi], vtable.m_IDirectSoundBuffer8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6b44
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7be3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7bd0
jmp 0x100f7c34
mov ecx, edi
mov edx, 0x102c6b44
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7c05
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7bf0
xor eax, eax
jmp 0x100f7c2c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f7c27
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f7c27
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f7c27
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f7c27
xor eax, eax
jmp 0x100f7c2c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7d1f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f7d1a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104644e0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104644e4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104644e4]
je 0x100f7cbd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f7d1a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 8
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 9
mov ecx, 0x104644e0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundCapture8.1.0
mov dword [esi], vtable.m_IDirectSoundCapture8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6b54
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7d43
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7d30
jmp 0x100f7d94
mov ecx, edi
mov edx, 0x102c6b64
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7d65
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7d50
xor eax, eax
jmp 0x100f7d8c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f7d87
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f7d87
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f7d87
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f7d87
xor eax, eax
jmp 0x100f7d8c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7e7f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f7e7a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464500
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464504]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464504]
je 0x100f7e1d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f7e7a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0xa
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0xb
mov ecx, 0x10464500
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundCaptureBuffer8.0
mov dword [esi], vtable.m_IDirectSoundCaptureBuffer8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6c24
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7ea3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7e90
jmp 0x100f7ef4
mov ecx, edi
mov edx, 0x102c6c24
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f7ec5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7eb0
xor eax, eax
jmp 0x100f7eec
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f7ee7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f7ee7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f7ee7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f7ee7
xor eax, eax
jmp 0x100f7eec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7fdf
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f7fda
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464520
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464524]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464524]
je 0x100f7f7d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f7fda
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0xc
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0xd
mov ecx, 0x10464520
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundCaptureFXAec8.0
mov dword [esi], vtable.m_IDirectSoundCaptureFXAec8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6c34
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8003
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f7ff0
jmp 0x100f8054
mov ecx, edi
mov edx, 0x102c6c34
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8025
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8010
xor eax, eax
jmp 0x100f804c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8047
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8047
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8047
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8047
xor eax, eax
jmp 0x100f804c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f813f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f813a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464540
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464544]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464544]
je 0x100f80dd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f813a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0xe
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0xf
mov ecx, 0x10464540
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundCaptureFXNoiseSuppress8.0
mov dword [esi], vtable.m_IDirectSoundCaptureFXNoiseSuppress8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6c44
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8163
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8150
jmp 0x100f81b4
mov ecx, edi
mov edx, 0x102c6c44
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8185
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8170
xor eax, eax
jmp 0x100f81ac
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f81a7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f81a7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f81a7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f81a7
xor eax, eax
jmp 0x100f81ac
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f829f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f829a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464560
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464564]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464564]
je 0x100f823d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f829a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x10
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x11
mov ecx, 0x10464560
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFullDuplex8.1.0
mov dword [esi], vtable.m_IDirectSoundFullDuplex8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6ba4
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f82c3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f82b0
jmp 0x100f8314
mov ecx, edi
mov edx, 0x102c6ba4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f82e5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f82d0
xor eax, eax
jmp 0x100f830c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8307
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8307
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8307
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8307
xor eax, eax
jmp 0x100f830c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f83ff
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f83fa
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464580
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464584]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464584]
je 0x100f839d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f83fa
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x12
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x13
mov ecx, 0x10464580
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXChorus8.0
mov dword [esi], vtable.m_IDirectSoundFXChorus8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6be4
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8423
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8410
jmp 0x100f8474
mov ecx, edi
mov edx, 0x102c6be4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8445
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8430
xor eax, eax
jmp 0x100f846c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8467
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8467
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8467
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8467
xor eax, eax
jmp 0x100f846c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f855f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f855a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104645a0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104645a4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104645a4]
je 0x100f84fd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f855a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x14
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x15
mov ecx, 0x104645a0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXCompressor8.1.0
mov dword [esi], vtable.m_IDirectSoundFXCompressor8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6bd4
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8583
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8570
jmp 0x100f85d4
mov ecx, edi
mov edx, 0x102c6bd4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f85a5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8590
xor eax, eax
jmp 0x100f85cc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f85c7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f85c7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f85c7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f85c7
xor eax, eax
jmp 0x100f85cc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f86bf
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f86ba
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104645c0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104645c4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104645c4]
je 0x100f865d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f86ba
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x16
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x17
mov ecx, 0x104645c0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXDistortion8.0
mov dword [esi], vtable.m_IDirectSoundFXDistortion8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6bc4
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f86e3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f86d0
jmp 0x100f8734
mov ecx, edi
mov edx, 0x102c6bc4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8705
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f86f0
xor eax, eax
jmp 0x100f872c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8727
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8727
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8727
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8727
xor eax, eax
jmp 0x100f872c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f881f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f881a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104645e0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104645e4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104645e4]
je 0x100f87bd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f881a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x18
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x19
mov ecx, 0x104645e0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXEcho8.0
mov dword [esi], vtable.m_IDirectSoundFXEcho8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6bb4
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8843
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8830
jmp 0x100f8894
mov ecx, edi
mov edx, 0x102c6bb4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8865
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8850
xor eax, eax
jmp 0x100f888c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8887
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8887
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8887
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8887
xor eax, eax
jmp 0x100f888c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f897f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f897a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464600
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464604]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464604]
je 0x100f891d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f897a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x1a
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x1b
mov ecx, 0x10464600
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXFlanger8.1.0
mov dword [esi], vtable.m_IDirectSoundFXFlanger8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6b94
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f89a3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8990
jmp 0x100f89f4
mov ecx, edi
mov edx, 0x102c6b94
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f89c5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f89b0
xor eax, eax
jmp 0x100f89ec
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f89e7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f89e7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f89e7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f89e7
xor eax, eax
jmp 0x100f89ec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f8adf
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f8ada
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464620
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464624]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464624]
je 0x100f8a7d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f8ada
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x1c
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x1d
mov ecx, 0x10464620
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXGargle8.1.0
mov dword [esi], vtable.m_IDirectSoundFXGargle8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6c04
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8b03
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8af0
jmp 0x100f8b54
mov ecx, edi
mov edx, 0x102c6c04
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8b25
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8b10
xor eax, eax
jmp 0x100f8b4c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8b47
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8b47
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8b47
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8b47
xor eax, eax
jmp 0x100f8b4c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f8c3f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f8c3a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464640
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464644]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464644]
je 0x100f8bdd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f8c3a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x1e
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x1f
mov ecx, 0x10464640
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXI3DL2Reverb8.1.0
mov dword [esi], vtable.m_IDirectSoundFXI3DL2Reverb8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6bf4
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8c63
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8c50
jmp 0x100f8cb4
mov ecx, edi
mov edx, 0x102c6bf4
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8c85
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8c70
xor eax, eax
jmp 0x100f8cac
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8ca7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8ca7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8ca7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8ca7
xor eax, eax
jmp 0x100f8cac
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f8d9f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f8d9a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464660
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464664]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464664]
je 0x100f8d3d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f8d9a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x20
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x21
mov ecx, 0x10464660
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXParamEq8.1.0
mov dword [esi], vtable.m_IDirectSoundFXParamEq8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6c14
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8dc3
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8db0
jmp 0x100f8e14
mov ecx, edi
mov edx, 0x102c6c14
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8de5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8dd0
xor eax, eax
jmp 0x100f8e0c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8e07
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8e07
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8e07
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8e07
xor eax, eax
jmp 0x100f8e0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f8eff
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f8efa
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x10464680
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x10464684]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x10464684]
je 0x100f8e9d
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f8efa
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x22
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x23
mov ecx, 0x10464680
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundFXWavesReverb8.0
mov dword [esi], vtable.m_IDirectSoundFXWavesReverb8.1.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, edi
mov edx, 0x102c6b74
mov esi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8f23
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8f10
jmp 0x100f8f74
mov ecx, edi
mov edx, 0x102c6b74
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f8f45
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100f8f30
xor eax, eax
jmp 0x100f8f6c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f8f67
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f8f67
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f8f67
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f8f67
xor eax, eax
jmp 0x100f8f6c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f905f
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x100f905a
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104646a0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10077640
mov ebx, dword [0x104646a4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ebx, eax
cmp ebx, dword [0x104646a4]
je 0x100f8ffd
mov ebx, dword [ebx + 0xc]
lea eax, [ebx - 4]
neg ebx
sbb ebx, ebx
and ebx, eax
jmp 0x100f905a
push 0xc
call fcn.1024da37
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], 0x24
lea esi, [ebx + 4]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x25
mov ecx, 0x104646a0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebx], vtable.m_IDirectSoundNotify8.1.0
mov dword [esi], vtable.m_IDirectSoundNotify8.0
call fcn.10077220
mov dword [ebp - 4], 0xffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov ecx, 0x102c6b84
mov edx, 0xc
nop dword [eax]
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x100f9169
add edi, 4
add ecx, 4
sub edx, 4
jae 0x100f9070
mov eax, ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x10
mov edx, ebx
mov dword [ebp - 0x1c], eax
mov eax, ebx
shr eax, 8
shr edx, 0x18
mov dword [ebp - 0x14], eax
test ebx, ebx
jne 0x100f90a8
xor edi, edi
jmp 0x100f9164
movzx eax, bl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
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, 0x104646c0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10077640
mov edi, dword [0x104646c4]
mov eax, dword [eax + 4]
test eax, eax
cmovne edi, eax
cmp edi, dword [0x104646c4]
je 0x100f9111
mov edi, dword [edi + 0xc]
lea eax, [edi - 4]
neg edi
sbb edi, edi
and edi, eax
jmp 0x100f9164
push 0xc
call fcn.1024da37
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], 0x26
lea esi, [edi + 4]
xorps xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov dword [esi], vtable.AddressLookupTableObject.0
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x104646c0
mov dword [edi], vtable.m_IKsPropertySet.0
mov dword [esi], vtable.m_IKsPropertySet.1.0
mov dword [edi + 8], ebx
mov dword [ebp - 0x14], ebx
call fcn.10077220
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
mov dword [eax], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1024d940
mov esp, ebp
pop ebp
ret