.file "postproc"
.text
.align 16
.globl _pp16Mono
.globl _pp8Mono
.globl _pp16Stereo
.globl _pp8Stereo
_pp16Mono: enter $0x00,$0x0000
pushl %esi
pushl %edi
pushl %ebx
movl +0xc(%ebp),%edi
addl +0x10(%ebp),%edi
movl +0x14(%ebp),%esi
movl L24,%ebx
movl +0x8(%ebp),%ecx
testl %ecx,%ecx
je L4
L1: movl (%esi),%eax
addl $0x00000004,%esi
cmpl $0x00007fff,%eax
jg L2
cmpl $0xffff8000,%eax
jl L3
movw %ax,(%edi)
addl $0x00000002,%edi
decl %ecx
jne L1
jmp L4
L2: movw $0x7fff,(%edi)
movl $0x00007fff,%ebx
addl $0x00000002,%edi
decl %ecx
jne L1
jmp L4
L3: movw $0x8000,(%edi)
movl $0xffff8000,%ebx
addl $0x00000002,%edi
decl %ecx
jne L1
L4: movl %ebx,L24
subl +0xc(%ebp),%edi
movl %edi,%eax
popl %ebx
popl %edi
popl %esi
leave
ret
L5: .long L6
.long L7
.long L8
.long L9
.long L10
.long L11
.long L12
.long L13
.long L14
.long L15
.long L16
.long L17
.long L18
.long L19
.long L20
.long L21
.long L22
_pp8Mono: enter $0x00,$0x0000
pushl %esi
pushl %edi
pushl %ebx
movl +0x14(%ebp),%esi
movl +0xc(%ebp),%edi
addl +0x10(%ebp),%edi
movl +0x8(%ebp),%ecx
testl %ecx,%ecx
je L23
shrl $1,%ecx
movl %ecx,%eax
andl $0x0000000f,%eax
shll $1,%eax
negl %eax
addl $0x00000020,%eax
subl %eax,%edi
shll $1,%eax
movl L5(%eax),%ebx
shll $1,%eax
subl %eax,%esi
shrl $0x04,%ecx
incl %ecx
movl +0x18(%ebp),%edx
jmp %ebx
L6: movl (%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x4(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,(%edi)
L7: movl +0x8(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0xc(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x2(%edi)
L8: movl +0x10(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x14(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x4(%edi)
L9: movl +0x18(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x1c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x6(%edi)
L10: movl +0x20(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x24(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x8(%edi)
L11: movl +0x28(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x2c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0xa(%edi)
L12: movl +0x30(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x34(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0xc(%edi)
L13: movl +0x38(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x3c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0xe(%edi)
L14: movl +0x40(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x44(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x10(%edi)
L15: movl +0x48(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x4c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x12(%edi)
L16: movl +0x50(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x54(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x14(%edi)
L17: movl +0x58(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x5c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x16(%edi)
L18: movl +0x60(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x64(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x18(%edi)
L19: movl +0x68(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x6c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x1a(%edi)
L20: movl +0x70(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x74(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x1c(%edi)
L21: movl +0x78(%esi),%ebx
movb +0x800(%edx,%ebx),%al
movl +0x7c(%esi),%ebx
movb +0x800(%edx,%ebx),%ah
movw %ax,+0x1e(%edi)
L22: addl $0x00000080,%esi
addl $0x00000020,%edi
decl %ecx
jne L6
L23: subl +0xc(%ebp),%edi
movl %edi,%eax
popl %ebx
popl %edi
popl %esi
leave
ret
_pp16Stereo: enter $0x00,$0x0000
pushl %esi
pushl %edi
pushl %ebx
movl +0x8(%ebp),%eax
shll $1,%eax
pushl +0x18(%ebp)
pushl +0x14(%ebp)
pushl +0x10(%ebp)
pushl +0xc(%ebp)
pushl %eax
call _pp16Mono
addl $0x00000014,%esp
popl %ebx
popl %edi
popl %esi
leave
ret
_pp8Stereo: enter $0x00,$0x0000
pushl %esi
pushl %edi
pushl %ebx
movl +0x8(%ebp),%eax
shll $1,%eax
pushl +0x18(%ebp)
pushl +0x14(%ebp)
pushl +0x10(%ebp)
pushl +0xc(%ebp)
pushl %eax
call _pp8Mono
addl $0x00000014,%esp
popl %ebx
popl %edi
popl %esi
leave
ret
.data
.align 16
L24: .byte 0x00,0x00,0x00,0x00