Function at 0x1005c530
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dbe0d
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push esi
push edi
mov eax, dword [0x1026dbac]
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 0x1005df1a
mov edx, dword [eax]
mov dword [ebp - 0x10], edx
test edx, edx
je 0x1005df1a
mov esi, 0x10251750
mov dword [ebp - 0x18], 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c594
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c580
jmp 0x1005c5e5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251750
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c5b8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c5a2
xor eax, eax
jmp 0x1005c5dd
cmp al, byte [esi]
jne 0x1005c5d8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c5d8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c5d8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c5d8
xor eax, eax
jmp 0x1005c5dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005c6b3
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, 0x103a17a8
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10055680
mov edx, dword [0x103a17ac]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a17ac]
je 0x1005c65b
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005c6ae
push 0xc
call fcn.101d6fe4
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, 0x103a17a8
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.10055240
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, 0x10251740
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c6d5
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c6c1
jmp 0x1005c726
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251740
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c6f9
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c6e3
xor eax, eax
jmp 0x1005c71e
cmp al, byte [esi]
jne 0x1005c719
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c719
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c719
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c719
xor eax, eax
jmp 0x1005c71e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005c80e
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 0x1005c74a
mov dword [ebp - 0x10], edx
jmp 0x1005c809
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, 0x103a17c8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a17cc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a17cc]
je 0x1005c7b6
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005c809
push 0xc
call fcn.101d6fe4
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, 0x103a17c8
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.10055240
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, 0x10251700
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c834
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c820
jmp 0x1005c885
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251710
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c858
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c842
xor eax, eax
jmp 0x1005c87d
cmp al, byte [esi]
jne 0x1005c878
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c878
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c878
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c878
xor eax, eax
jmp 0x1005c87d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005c96d
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 0x1005c8a9
mov dword [ebp - 0x10], edx
jmp 0x1005c968
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, 0x103a1788
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a178c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a178c]
je 0x1005c915
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005c968
push 0xc
call fcn.101d6fe4
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, 0x103a1788
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.10055240
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, 0x10251720
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c994
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c980
jmp 0x1005c9e5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251730
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c9b8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c9a2
xor eax, eax
jmp 0x1005c9dd
cmp al, byte [esi]
jne 0x1005c9d8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c9d8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c9d8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c9d8
xor eax, eax
jmp 0x1005c9dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005cacd
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 0x1005ca09
mov dword [ebp - 0x10], edx
jmp 0x1005cac8
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, 0x103a17e8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a17ec]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a17ec]
je 0x1005ca75
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005cac8
push 0xc
call fcn.101d6fe4
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, 0x103a17e8
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.10055240
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, 0x10251760
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005caf4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cae0
jmp 0x1005cb45
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251760
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cb18
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cb02
xor eax, eax
jmp 0x1005cb3d
cmp al, byte [esi]
jne 0x1005cb38
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cb38
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cb38
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cb38
xor eax, eax
jmp 0x1005cb3d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005cc2d
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 0x1005cb69
mov dword [ebp - 0x10], edx
jmp 0x1005cc28
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, 0x103a1808
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a180c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a180c]
je 0x1005cbd5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005cc28
push 0xc
call fcn.101d6fe4
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, 0x103a1808
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.10055240
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, 0x10251770
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cc54
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cc40
jmp 0x1005cca5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251780
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cc78
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cc62
xor eax, eax
jmp 0x1005cc9d
cmp al, byte [esi]
jne 0x1005cc98
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cc98
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cc98
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cc98
xor eax, eax
jmp 0x1005cc9d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005cd8d
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 0x1005ccc9
mov dword [ebp - 0x10], edx
jmp 0x1005cd88
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, 0x103a1828
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a182c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a182c]
je 0x1005cd35
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005cd88
push 0xc
call fcn.101d6fe4
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, 0x103a1828
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.10055240
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, 0x10251840
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cdb4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cda0
jmp 0x1005ce05
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251840
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cdd8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cdc2
xor eax, eax
jmp 0x1005cdfd
cmp al, byte [esi]
jne 0x1005cdf8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cdf8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cdf8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cdf8
xor eax, eax
jmp 0x1005cdfd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005ceed
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 0x1005ce29
mov dword [ebp - 0x10], edx
jmp 0x1005cee8
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, 0x103a1848
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a184c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a184c]
je 0x1005ce95
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005cee8
push 0xc
call fcn.101d6fe4
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, 0x103a1848
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.10055240
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, 0x10251850
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cf14
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cf00
jmp 0x1005cf65
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251850
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cf38
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cf22
xor eax, eax
jmp 0x1005cf5d
cmp al, byte [esi]
jne 0x1005cf58
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cf58
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cf58
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cf58
xor eax, eax
jmp 0x1005cf5d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d04d
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 0x1005cf89
mov dword [ebp - 0x10], edx
jmp 0x1005d048
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, 0x103a1868
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a186c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a186c]
je 0x1005cff5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d048
push 0xc
call fcn.101d6fe4
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, 0x103a1868
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.10055240
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, 0x10251860
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d074
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d060
jmp 0x1005d0c5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251860
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d098
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d082
xor eax, eax
jmp 0x1005d0bd
cmp al, byte [esi]
jne 0x1005d0b8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d0b8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d0b8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d0b8
xor eax, eax
jmp 0x1005d0bd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d1ad
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 0x1005d0e9
mov dword [ebp - 0x10], edx
jmp 0x1005d1a8
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, 0x103a1888
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a188c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a188c]
je 0x1005d155
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d1a8
push 0xc
call fcn.101d6fe4
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, 0x103a1888
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.10055240
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, 0x102517c0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d1d4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d1c0
jmp 0x1005d225
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x102517c0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d1f8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d1e2
xor eax, eax
jmp 0x1005d21d
cmp al, byte [esi]
jne 0x1005d218
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d218
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d218
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d218
xor eax, eax
jmp 0x1005d21d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d30d
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 0x1005d249
mov dword [ebp - 0x10], edx
jmp 0x1005d308
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, 0x103a18a8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a18ac]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a18ac]
je 0x1005d2b5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d308
push 0xc
call fcn.101d6fe4
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, 0x103a18a8
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.10055240
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, 0x10251800
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d334
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d320
jmp 0x1005d385
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251800
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d358
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d342
xor eax, eax
jmp 0x1005d37d
cmp al, byte [esi]
jne 0x1005d378
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d378
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d378
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d378
xor eax, eax
jmp 0x1005d37d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d46d
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 0x1005d3a9
mov dword [ebp - 0x10], edx
jmp 0x1005d468
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, 0x103a18c8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a18cc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a18cc]
je 0x1005d415
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d468
push 0xc
call fcn.101d6fe4
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, 0x103a18c8
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.10055240
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, 0x102517f0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d494
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d480
jmp 0x1005d4e5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x102517f0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d4b8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d4a2
xor eax, eax
jmp 0x1005d4dd
cmp al, byte [esi]
jne 0x1005d4d8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d4d8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d4d8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d4d8
xor eax, eax
jmp 0x1005d4dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d5cd
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 0x1005d509
mov dword [ebp - 0x10], edx
jmp 0x1005d5c8
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, 0x103a18e8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a18ec]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a18ec]
je 0x1005d575
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d5c8
push 0xc
call fcn.101d6fe4
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, 0x103a18e8
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.10055240
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, 0x102517e0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d5f4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d5e0
jmp 0x1005d645
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x102517e0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d618
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d602
xor eax, eax
jmp 0x1005d63d
cmp al, byte [esi]
jne 0x1005d638
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d638
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d638
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d638
xor eax, eax
jmp 0x1005d63d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d72d
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 0x1005d669
mov dword [ebp - 0x10], edx
jmp 0x1005d728
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, 0x103a1908
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a190c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a190c]
je 0x1005d6d5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d728
push 0xc
call fcn.101d6fe4
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, 0x103a1908
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.10055240
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, 0x102517d0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d754
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d740
jmp 0x1005d7a5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x102517d0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d778
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d762
xor eax, eax
jmp 0x1005d79d
cmp al, byte [esi]
jne 0x1005d798
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d798
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d798
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d798
xor eax, eax
jmp 0x1005d79d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d88d
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 0x1005d7c9
mov dword [ebp - 0x10], edx
jmp 0x1005d888
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, 0x103a1928
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a192c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a192c]
je 0x1005d835
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d888
push 0xc
call fcn.101d6fe4
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, 0x103a1928
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.10055240
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, 0x102517b0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d8b4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d8a0
jmp 0x1005d905
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x102517b0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d8d8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d8c2
xor eax, eax
jmp 0x1005d8fd
cmp al, byte [esi]
jne 0x1005d8f8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d8f8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d8f8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d8f8
xor eax, eax
jmp 0x1005d8fd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d99a
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x1005d914
mov dword [ebp - 0x10], edx
jmp 0x1005d995
lea eax, [ebp - 0x18]
mov ecx, 0x103a1948
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005df30
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x103a194c]
je 0x1005d942
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d995
push 0xc
call fcn.101d6fe4
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, 0x103a1948
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.10055240
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, 0x10251820
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d9bc
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d9a8
jmp 0x1005da13
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251820
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d9e6
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d9d0
xor eax, eax
jmp 0x1005da0b
cmp al, byte [esi]
jne 0x1005da06
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005da06
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005da06
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005da06
xor eax, eax
jmp 0x1005da0b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005dafb
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 0x1005da37
mov dword [ebp - 0x10], edx
jmp 0x1005daf6
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, 0x103a1968
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a196c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a196c]
je 0x1005daa3
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005daf6
push 0xc
call fcn.101d6fe4
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, 0x103a1968
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.10055240
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, 0x10251810
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005db24
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005db10
jmp 0x1005db75
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251810
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005db48
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005db32
xor eax, eax
jmp 0x1005db6d
cmp al, byte [esi]
jne 0x1005db68
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005db68
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005db68
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005db68
xor eax, eax
jmp 0x1005db6d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005dc5d
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 0x1005db99
mov dword [ebp - 0x10], edx
jmp 0x1005dc58
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, 0x103a1988
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10055680
mov edx, dword [0x103a198c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x103a198c]
je 0x1005dc05
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005dc58
push 0xc
call fcn.101d6fe4
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, 0x103a1988
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.10055240
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, 0x10251830
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dc84
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dc70
jmp 0x1005dcd5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251830
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dca8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dc92
xor eax, eax
jmp 0x1005dccd
cmp al, byte [esi]
jne 0x1005dcc8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005dcc8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005dcc8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005dcc8
xor eax, eax
jmp 0x1005dccd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005dd6a
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x1005dce4
mov dword [ebp - 0x10], edx
jmp 0x1005dd65
lea eax, [ebp - 0x18]
mov ecx, 0x103a19a8
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005df30
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x103a19ac]
je 0x1005dd12
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005dd65
push 0xc
call fcn.101d6fe4
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, 0x103a19a8
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.10055240
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, 0x10251790
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dd8c
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dd78
jmp 0x1005dde3
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x10251790
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005ddb6
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dda0
xor eax, eax
jmp 0x1005dddb
cmp al, byte [esi]
jne 0x1005ddd6
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005ddd6
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005ddd6
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005ddd6
xor eax, eax
jmp 0x1005dddb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005de78
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x1005ddf2
mov dword [ebp - 0x10], edx
jmp 0x1005de73
lea eax, [ebp - 0x18]
mov ecx, 0x103a19c8
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005df30
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x103a19cc]
je 0x1005de20
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005de73
push 0xc
call fcn.101d6fe4
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, 0x103a19c8
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.10055240
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, 0x102517a0
mov esi, 0xc
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x1005df1a
add edi, 4
add ecx, 4
sub esi, 4
jae 0x1005de82
mov dword [ebp - 0x1c], edx
test edx, edx
jne 0x1005dea2
xor edi, edi
jmp 0x1005df15
lea eax, [ebp - 0x1c]
mov ecx, 0x103a19e8
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1005df30
mov eax, dword [ebp - 0x18]
cmp eax, dword [0x103a19ec]
je 0x1005decd
mov edi, dword [eax + 0xc]
lea eax, [edi - 4]
neg edi
sbb edi, edi
and edi, eax
jmp 0x1005df15
push 0xc
call fcn.101d6fe4
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, 0x103a19e8
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.10055240
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