Function at 0x1005c4a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101d9fed
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push esi
push edi
mov eax, dword [0x1026abac]
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 0x1005de8a
mov edx, dword [eax]
mov dword [ebp - 0x10], edx
test edx, edx
je 0x1005de8a
mov esi, 0x1024f6b0
mov dword [ebp - 0x18], 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c504
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c4f0
jmp 0x1005c555
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f6b0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c528
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c512
xor eax, eax
jmp 0x1005c54d
cmp al, byte [esi]
jne 0x1005c548
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c548
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c548
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c548
xor eax, eax
jmp 0x1005c54d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005c623
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, 0x1072a868
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.100557b0
mov edx, dword [0x1072a86c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a86c]
je 0x1005c5cb
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005c61e
push 0xc
call fcn.101d51fe
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, 0x1072a868
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.10055370
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, 0x1024f6a0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c645
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c631
jmp 0x1005c696
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f6a0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c669
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c653
xor eax, eax
jmp 0x1005c68e
cmp al, byte [esi]
jne 0x1005c689
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c689
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c689
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c689
xor eax, eax
jmp 0x1005c68e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005c77e
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 0x1005c6ba
mov dword [ebp - 0x10], edx
jmp 0x1005c779
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, 0x1072a888
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a88c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a88c]
je 0x1005c726
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005c779
push 0xc
call fcn.101d51fe
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, 0x1072a888
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.10055370
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, 0x1024f660
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c7a4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c790
jmp 0x1005c7f5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f670
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c7c8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c7b2
xor eax, eax
jmp 0x1005c7ed
cmp al, byte [esi]
jne 0x1005c7e8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c7e8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c7e8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c7e8
xor eax, eax
jmp 0x1005c7ed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005c8dd
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 0x1005c819
mov dword [ebp - 0x10], edx
jmp 0x1005c8d8
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, 0x1072a848
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a84c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a84c]
je 0x1005c885
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005c8d8
push 0xc
call fcn.101d51fe
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, 0x1072a848
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.10055370
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, 0x1024f680
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c904
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c8f0
jmp 0x1005c955
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f690
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005c928
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005c912
xor eax, eax
jmp 0x1005c94d
cmp al, byte [esi]
jne 0x1005c948
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005c948
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005c948
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005c948
xor eax, eax
jmp 0x1005c94d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005ca3d
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 0x1005c979
mov dword [ebp - 0x10], edx
jmp 0x1005ca38
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, 0x1072a8a8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a8ac]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a8ac]
je 0x1005c9e5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005ca38
push 0xc
call fcn.101d51fe
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, 0x1072a8a8
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.10055370
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, 0x1024f6c0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005ca64
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005ca50
jmp 0x1005cab5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f6c0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005ca88
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005ca72
xor eax, eax
jmp 0x1005caad
cmp al, byte [esi]
jne 0x1005caa8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005caa8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005caa8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005caa8
xor eax, eax
jmp 0x1005caad
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005cb9d
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 0x1005cad9
mov dword [ebp - 0x10], edx
jmp 0x1005cb98
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, 0x1072a8c8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a8cc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a8cc]
je 0x1005cb45
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005cb98
push 0xc
call fcn.101d51fe
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, 0x1072a8c8
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.10055370
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, 0x1024f6d0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cbc4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cbb0
jmp 0x1005cc15
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f6e0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cbe8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cbd2
xor eax, eax
jmp 0x1005cc0d
cmp al, byte [esi]
jne 0x1005cc08
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cc08
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cc08
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cc08
xor eax, eax
jmp 0x1005cc0d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005ccfd
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 0x1005cc39
mov dword [ebp - 0x10], edx
jmp 0x1005ccf8
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, 0x1072a8e8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a8ec]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a8ec]
je 0x1005cca5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005ccf8
push 0xc
call fcn.101d51fe
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, 0x1072a8e8
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.10055370
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, 0x1024f7a0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cd24
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cd10
jmp 0x1005cd75
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f7a0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cd48
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cd32
xor eax, eax
jmp 0x1005cd6d
cmp al, byte [esi]
jne 0x1005cd68
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cd68
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cd68
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cd68
xor eax, eax
jmp 0x1005cd6d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005ce5d
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 0x1005cd99
mov dword [ebp - 0x10], edx
jmp 0x1005ce58
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, 0x1072a908
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a90c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a90c]
je 0x1005ce05
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005ce58
push 0xc
call fcn.101d51fe
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, 0x1072a908
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.10055370
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, 0x1024f7b0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005ce84
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005ce70
jmp 0x1005ced5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f7b0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cea8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005ce92
xor eax, eax
jmp 0x1005cecd
cmp al, byte [esi]
jne 0x1005cec8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005cec8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005cec8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005cec8
xor eax, eax
jmp 0x1005cecd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005cfbd
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 0x1005cef9
mov dword [ebp - 0x10], edx
jmp 0x1005cfb8
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, 0x1072a928
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a92c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a92c]
je 0x1005cf65
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005cfb8
push 0xc
call fcn.101d51fe
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, 0x1072a928
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.10055370
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, 0x1024f7c0
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005cfe4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cfd0
jmp 0x1005d035
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f7c0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d008
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005cff2
xor eax, eax
jmp 0x1005d02d
cmp al, byte [esi]
jne 0x1005d028
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d028
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d028
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d028
xor eax, eax
jmp 0x1005d02d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d11d
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 0x1005d059
mov dword [ebp - 0x10], edx
jmp 0x1005d118
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, 0x1072a948
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a94c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a94c]
je 0x1005d0c5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d118
push 0xc
call fcn.101d51fe
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, 0x1072a948
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.10055370
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, 0x1024f720
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d144
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d130
jmp 0x1005d195
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f720
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d168
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d152
xor eax, eax
jmp 0x1005d18d
cmp al, byte [esi]
jne 0x1005d188
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d188
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d188
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d188
xor eax, eax
jmp 0x1005d18d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d27d
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 0x1005d1b9
mov dword [ebp - 0x10], edx
jmp 0x1005d278
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, 0x1072a968
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a96c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a96c]
je 0x1005d225
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d278
push 0xc
call fcn.101d51fe
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, 0x1072a968
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.10055370
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, 0x1024f760
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d2a4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d290
jmp 0x1005d2f5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f760
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d2c8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d2b2
xor eax, eax
jmp 0x1005d2ed
cmp al, byte [esi]
jne 0x1005d2e8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d2e8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d2e8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d2e8
xor eax, eax
jmp 0x1005d2ed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d3dd
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 0x1005d319
mov dword [ebp - 0x10], edx
jmp 0x1005d3d8
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, 0x1072a988
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a98c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a98c]
je 0x1005d385
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d3d8
push 0xc
call fcn.101d51fe
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, 0x1072a988
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.10055370
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, 0x1024f750
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d404
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d3f0
jmp 0x1005d455
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f750
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d428
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d412
xor eax, eax
jmp 0x1005d44d
cmp al, byte [esi]
jne 0x1005d448
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d448
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d448
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d448
xor eax, eax
jmp 0x1005d44d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d53d
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 0x1005d479
mov dword [ebp - 0x10], edx
jmp 0x1005d538
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, 0x1072a9a8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a9ac]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a9ac]
je 0x1005d4e5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d538
push 0xc
call fcn.101d51fe
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, 0x1072a9a8
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.10055370
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, 0x1024f740
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d564
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d550
jmp 0x1005d5b5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f740
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d588
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d572
xor eax, eax
jmp 0x1005d5ad
cmp al, byte [esi]
jne 0x1005d5a8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d5a8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d5a8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d5a8
xor eax, eax
jmp 0x1005d5ad
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d69d
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 0x1005d5d9
mov dword [ebp - 0x10], edx
jmp 0x1005d698
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, 0x1072a9c8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a9cc]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a9cc]
je 0x1005d645
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d698
push 0xc
call fcn.101d51fe
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, 0x1072a9c8
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.10055370
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, 0x1024f730
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d6c4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d6b0
jmp 0x1005d715
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f730
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d6e8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d6d2
xor eax, eax
jmp 0x1005d70d
cmp al, byte [esi]
jne 0x1005d708
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d708
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d708
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d708
xor eax, eax
jmp 0x1005d70d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d7fd
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 0x1005d739
mov dword [ebp - 0x10], edx
jmp 0x1005d7f8
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, 0x1072a9e8
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072a9ec]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072a9ec]
je 0x1005d7a5
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d7f8
push 0xc
call fcn.101d51fe
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, 0x1072a9e8
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.10055370
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, 0x1024f710
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d824
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d810
jmp 0x1005d875
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f710
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d848
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d832
xor eax, eax
jmp 0x1005d86d
cmp al, byte [esi]
jne 0x1005d868
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d868
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d868
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d868
xor eax, eax
jmp 0x1005d86d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005d90a
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x1005d884
mov dword [ebp - 0x10], edx
jmp 0x1005d905
lea eax, [ebp - 0x18]
mov ecx, 0x1072aa08
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005dea0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x1072aa0c]
je 0x1005d8b2
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005d905
push 0xc
call fcn.101d51fe
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, 0x1072aa08
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.10055370
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, 0x1024f780
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d92c
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d918
jmp 0x1005d983
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f780
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005d956
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005d940
xor eax, eax
jmp 0x1005d97b
cmp al, byte [esi]
jne 0x1005d976
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005d976
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005d976
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005d976
xor eax, eax
jmp 0x1005d97b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005da6b
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 0x1005d9a7
mov dword [ebp - 0x10], edx
jmp 0x1005da66
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, 0x1072aa28
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072aa2c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072aa2c]
je 0x1005da13
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005da66
push 0xc
call fcn.101d51fe
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, 0x1072aa28
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.10055370
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, 0x1024f770
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005da94
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005da80
jmp 0x1005dae5
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f770
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dab8
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005daa2
xor eax, eax
jmp 0x1005dadd
cmp al, byte [esi]
jne 0x1005dad8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005dad8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005dad8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005dad8
xor eax, eax
jmp 0x1005dadd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005dbcd
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 0x1005db09
mov dword [ebp - 0x10], edx
jmp 0x1005dbc8
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, 0x1072aa48
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100557b0
mov edx, dword [0x1072aa4c]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1072aa4c]
je 0x1005db75
mov edx, dword [edx + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005dbc8
push 0xc
call fcn.101d51fe
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, 0x1072aa48
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.10055370
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, 0x1024f790
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dbf4
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dbe0
jmp 0x1005dc45
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f790
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dc18
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dc02
xor eax, eax
jmp 0x1005dc3d
cmp al, byte [esi]
jne 0x1005dc38
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005dc38
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005dc38
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005dc38
xor eax, eax
jmp 0x1005dc3d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005dcda
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x1005dc54
mov dword [ebp - 0x10], edx
jmp 0x1005dcd5
lea eax, [ebp - 0x18]
mov ecx, 0x1072aa68
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005dea0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x1072aa6c]
je 0x1005dc82
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005dcd5
push 0xc
call fcn.101d51fe
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, 0x1072aa68
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.10055370
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, 0x1024f6f0
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dcfc
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dce8
jmp 0x1005dd53
mov ecx, edi
mov dword [ebp - 0x18], 0xc
mov esi, 0x1024f6f0
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1005dd26
add ecx, 4
add esi, 4
sub dword [ebp - 0x18], 4
jae 0x1005dd10
xor eax, eax
jmp 0x1005dd4b
cmp al, byte [esi]
jne 0x1005dd46
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x1005dd46
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x1005dd46
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x1005dd46
xor eax, eax
jmp 0x1005dd4b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1005dde8
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x1005dd62
mov dword [ebp - 0x10], edx
jmp 0x1005dde3
lea eax, [ebp - 0x18]
mov ecx, 0x1072aa88
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1005dea0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x1072aa8c]
je 0x1005dd90
mov edx, dword [eax + 0xc]
lea eax, [edx - 4]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp - 0x10], edx
jmp 0x1005dde3
push 0xc
call fcn.101d51fe
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, 0x1072aa88
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.10055370
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, 0x1024f700
mov esi, 0xc
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x1005de8a
add edi, 4
add ecx, 4
sub esi, 4
jae 0x1005ddf2
mov dword [ebp - 0x1c], edx
test edx, edx
jne 0x1005de12
xor edi, edi
jmp 0x1005de85
lea eax, [ebp - 0x1c]
mov ecx, 0x1072aaa8
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1005dea0
mov eax, dword [ebp - 0x18]
cmp eax, dword [0x1072aaac]
je 0x1005de3d
mov edi, dword [eax + 0xc]
lea eax, [edi - 4]
neg edi
sbb edi, edi
and edi, eax
jmp 0x1005de85
push 0xc
call fcn.101d51fe
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, 0x1072aaa8
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.10055370
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