LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_PlayLoopedRaw
int FX_PlayLoopedRaw
   (
   char *ptr,
   unsigned int length,
   char *loopstart,
   char *loopend,
   unsigned rate,
   int pitchoffset,
   int vol,
   int left,
   int right,
   int priority,
   unsigned int callbackval
   )

   {
   int handle;

   handle = MV_PlayLoopedRaw( ptr, length, loopstart, loopend,
      rate, pitchoffset, vol, left, right, priority, callbackval );
   if ( handle < MV_Ok )
      {
      FX_SetErrorCode( FX_MultiVocError );
      handle = FX_Warning;
      }

   return( handle );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movl 0x30(%rbp), %eax
movl 0x28(%rbp), %eax
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x18(%rbp)
movl %esi, -0x1c(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movl %r8d, -0x34(%rbp)
movl %r9d, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movl -0x34(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl 0x10(%rbp), %r14d
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x6240
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
jge 0x3e9f
movl $0x4, 0x11dec(%rip)     # 0x15c84
movl $0xfffffffe, -0x3c(%rbp) # imm = 0xFFFFFFFE
movl -0x3c(%rbp), %eax
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_Pan3D
int FX_Pan3D
   (
   int handle,
   int angle,
   int distance
   )

   {
   int status;

   status = MV_Pan3D( handle, angle, distance );
   if ( status != MV_Ok )
      {
      FX_SetErrorCode( FX_MultiVocError );
      status = FX_Warning;
      }

   return( status );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl -0xc(%rbp), %edx
callq 0x5470
movl %eax, -0x10(%rbp)
cmpl $0x0, -0x10(%rbp)
je 0x3ee9
movl $0x4, 0x11da2(%rip)     # 0x15c84
movl $0xfffffffe, -0x10(%rbp) # imm = 0xFFFFFFFE
movl -0x10(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_StopSound
int FX_StopSound
   (
   int handle
   )

   {
   int status;

   status = MV_Kill( handle );
   if ( status != MV_Ok )
      {
      FX_SetErrorCode( FX_MultiVocError );
      return( FX_Warning );
      }

   return( FX_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %edi
callq 0x4880
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
je 0x3f5f
movl $0x4, 0x11d2e(%rip)     # 0x15c84
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x3f66
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_PauseSound
int FX_PauseSound
   (
   int handle,
   int pauseon
   )

   {
   int status;
   
   status = MV_PauseVoice( handle, pauseon );
   if ( status != MV_Ok )
      {
      FX_SetErrorCode( FX_MultiVocError );
      return( FX_Warning );
      }
   
   return( FX_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
callq 0x49e0
movl %eax, -0x10(%rbp)
cmpl $0x0, -0x10(%rbp)
je 0x3fa5
movl $0x4, 0x11ce8(%rip)     # 0x15c84
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x3fac
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_StopAllSounds
int FX_StopAllSounds
   (
   void
   )

   {
   int status;

   status = MV_KillAllVoices();
   if ( status != MV_Ok )
      {
      FX_SetErrorCode( FX_MultiVocError );
      return( FX_Warning );
      }

   return( FX_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
callq 0x47f0
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
je 0x3fe9
movl $0x4, 0x11ca4(%rip)     # 0x15c84
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x3ff0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_StartDemandFeedPlayback
int FX_StartDemandFeedPlayback
   (
   void ( *function )( char **ptr, unsigned int *length ),
   int rate,
   int pitchoffset,
   int vol,
   int left,
   int right,
   int priority,
   unsigned int callbackval
   )

   {
   int handle;

   handle = MV_StartDemandFeedPlayback( function, rate,
      pitchoffset, vol, left, right, priority, callbackval );
   if ( handle < MV_Ok )
      {
      FX_SetErrorCode( FX_MultiVocError );
      handle = FX_Warning;
      }

   return( handle );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %r10d
movl 0x18(%rbp), %eax
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x5ee0
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jge 0x4066
movl $0x4, 0x11c25(%rip)     # 0x15c84
movl $0xfffffffe, -0x20(%rbp) # imm = 0xFFFFFFFE
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_PlayAuto
int FX_PlayAuto( char *ptr, unsigned int length, int pitchoffset, int vol,
                 int left, int right, int priority, unsigned int callbackval )
{
   int handle = -1;
   
   if (!memcmp("Creative Voice File\x1a", ptr, 20)) {
      handle = MV_PlayVOC(ptr, length, pitchoffset, vol, left, right, priority, callbackval);
   } else if (!memcmp("RIFF", ptr, 4) && !memcmp("WAVE", ptr + 8, 4)) {
      handle = MV_PlayWAV(ptr, length, pitchoffset, vol, left, right, priority, callbackval);
   #ifdef HAVE_VORBIS
   } else if (!memcmp("OggS", ptr, 4)) {
      handle = MV_PlayVorbis(ptr, length, pitchoffset, vol, left, right, priority, callbackval);
   #endif
   }
   
   if ( handle < MV_Ok )
   {
      FX_SetErrorCode( FX_MultiVocError );
      handle = FX_Warning;
   }
   
   return handle;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
movq -0x8(%rbp), %rsi
leaq 0xb32d(%rip), %rdi      # 0xf412
movl $0x14, %edx
callq 0x20e0
cmpl $0x0, %eax
jne 0x4125
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %r10d
movl 0x18(%rbp), %eax
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x6f00
movl %eax, -0x20(%rbp)
jmp 0x41c9
movq -0x8(%rbp), %rax
movl (%rax), %eax
subl $0x46464952, %eax       # imm = 0x46464952
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x4183
movq -0x8(%rbp), %rax
addq $0x8, %rax
movl (%rax), %eax
subl $0x45564157, %eax       # imm = 0x45564157
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x4183
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %r10d
movl 0x18(%rbp), %eax
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x64f0
movl %eax, -0x20(%rbp)
jmp 0x41c7
movq -0x8(%rbp), %rax
movl (%rax), %eax
subl $0x5367674f, %eax       # imm = 0x5367674F
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x41c5
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %r10d
movl 0x18(%rbp), %eax
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x9bf0
movl %eax, -0x20(%rbp)
jmp 0x41c7
jmp 0x41c9
cmpl $0x0, -0x20(%rbp)
jge 0x41e0
movl $0x4, 0x11aab(%rip)     # 0x15c84
movl $0xfffffffe, -0x20(%rbp) # imm = 0xFFFFFFFE
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/fx_man.c
// Function: FX_PlayAuto3D
int FX_PlayAuto3D( char *ptr, unsigned int length, int pitchoffset, int angle,
                   int distance, int priority, unsigned int callbackval )
{
   int handle = -1;
   
   if (!memcmp("Creative Voice File\x1a", ptr, 20)) {
      handle = MV_PlayVOC3D(ptr, length, pitchoffset, angle, distance, priority, callbackval);
   } else if (!memcmp("RIFF", ptr, 4) && !memcmp("WAVE", ptr + 8, 4)) {
      handle = MV_PlayWAV3D(ptr, length, pitchoffset, angle, distance, priority, callbackval);
   #ifdef HAVE_VORBIS
   } else if (!memcmp("OggS", ptr, 4)) {
      handle = MV_PlayVorbis3D(ptr, length, pitchoffset, angle, distance, priority, callbackval);
   #endif
   }
   
   if ( handle < MV_Ok )
   {
      FX_SetErrorCode( FX_MultiVocError );
      handle = FX_Warning;
   }
   
   return handle;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
movq -0x8(%rbp), %rsi
leaq 0xb070(%rip), %rdi      # 0xf412
movl $0x14, %edx
callq 0x20e0
cmpl $0x0, %eax
jne 0x43d9
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %eax
movl %eax, (%rsp)
callq 0x6da0
movl %eax, -0x20(%rbp)
jmp 0x446b
movq -0x8(%rbp), %rax
movl (%rax), %eax
subl $0x46464952, %eax       # imm = 0x46464952
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x442e
movq -0x8(%rbp), %rax
addq $0x8, %rax
movl (%rax), %eax
subl $0x45564157, %eax       # imm = 0x45564157
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x442e
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %eax
movl %eax, (%rsp)
callq 0x69b0
movl %eax, -0x20(%rbp)
jmp 0x4469
movq -0x8(%rbp), %rax
movl (%rax), %eax
subl $0x5367674f, %eax       # imm = 0x5367674F
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x4467
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl 0x10(%rbp), %eax
movl %eax, (%rsp)
callq 0x9a80
movl %eax, -0x20(%rbp)
jmp 0x4469
jmp 0x446b
cmpl $0x0, -0x20(%rbp)
jge 0x4482
movl $0x4, 0x11809(%rip)     # 0x15c84
movl $0xfffffffe, -0x20(%rbp) # imm = 0xFFFFFFFE
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_PlayVoice
void MV_PlayVoice
   (
   VoiceNode *voice
   )

   {
   int flags;

   flags = DisableInterrupts();
   LL_SortedInsertion( &VoiceList, voice, prev, next, VoiceNode, priority );

   RestoreInterrupts( flags );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
callq 0x4640
movl %eax, -0xc(%rbp)
movq 0x116e5(%rip), %rax     # 0x15ca0
movq %rax, -0x18(%rbp)
xorl %eax, %eax
leaq 0x116d0(%rip), %rcx     # 0x15c98
cmpq %rcx, -0x18(%rbp)
movb %al, -0x19(%rbp)
je 0x45e5
movq -0x8(%rbp), %rax
movl 0x7c(%rax), %eax
movq -0x18(%rbp), %rcx
cmpl 0x7c(%rcx), %eax
setg %al
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %al
testb $0x1, %al
jne 0x45ee
jmp 0x45fc
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x45bf
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl -0xc(%rbp), %edi
callq 0x4680
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: DisableInterrupts
static int DisableInterrupts(void)
{
   if (lockdepth++ > 0) {
      return 0;
   }
   SoundDriver_PCM_Lock();
   return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl 0x1a916(%rip), %eax     # 0x1ef64
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x1a90b(%rip)     # 0x1ef64
cmpl $0x0, %eax
jle 0x4667
movl $0x0, -0x4(%rbp)
jmp 0x4673
callq 0x31a0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_VoicePlaying
int MV_VoicePlaying
   (
   int handle
   )

   {
   VoiceNode *voice;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( FALSE );
      }

   voice = MV_GetVoice( handle );

   if ( voice == NULL )
      {
      return( FALSE );
      }

   return( TRUE );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
cmpl $0x0, 0x115ce(%rip)     # 0x15c90
jne 0x46d7
movl $0x2, 0x115c6(%rip)     # 0x15c94
movl $0x0, -0x4(%rbp)
jmp 0x46fa
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x46f3
movl $0x0, -0x4(%rbp)
jmp 0x46fa
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_GetVoice
static VoiceNode *MV_GetVoice
   (
   int handle
   )

   {
   VoiceNode *voice;
   int        flags;

   flags = DisableInterrupts();

   for( voice = VoiceList.next; voice != &VoiceList; voice = voice->next )
      {
      if ( handle == voice->handle )
         {
         break;
         }
      }

   RestoreInterrupts( flags );

   if ( voice == &VoiceList )
      {
      MV_SetErrorCode( MV_VoiceNotFound );
      voice = 0;
      }

   return( voice );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
callq 0x4640
movl %eax, -0x14(%rbp)
movq 0x1156e(%rip), %rax     # 0x15c98
movq %rax, -0x10(%rbp)
leaq 0x11563(%rip), %rax     # 0x15c98
cmpq %rax, -0x10(%rbp)
je 0x4758
movl -0x4(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x78(%rcx), %eax
jne 0x4749
jmp 0x4758
jmp 0x474b
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x472e
movl -0x14(%rbp), %edi
callq 0x4680
leaq 0x11531(%rip), %rax     # 0x15c98
cmpq %rax, -0x10(%rbp)
jne 0x477f
movl $0x6, 0x1151d(%rip)     # 0x15c94
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_VoicePaused
int MV_VoicePaused
   (
   int handle
   )

   {
   VoiceNode *voice;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( FALSE );
      }

   voice = MV_GetVoice( handle );

   if ( voice == NULL )
      {
      return( FALSE );
      }

   return voice->Paused;
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
cmpl $0x0, 0x114ee(%rip)     # 0x15c90
jne 0x47b7
movl $0x2, 0x114e6(%rip)     # 0x15c94
movl $0x0, -0x4(%rbp)
jmp 0x47dd
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x47d3
movl $0x0, -0x4(%rbp)
jmp 0x47dd
movq -0x10(%rbp), %rax
movl 0x74(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_KillAllVoices
int MV_KillAllVoices
   (
   void
   )

   {
   VoiceNode * voice, * next;
   int        flags;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   flags = DisableInterrupts();

   // Remove all the voices from the list
   for( voice = VoiceList.next; voice != &VoiceList; voice = next )
      {
      next = voice->next;
      if (voice->priority < MV_MUSIC_PRIORITY)
         {
         MV_Kill( voice->handle );
         }
      }

   RestoreInterrupts(flags);

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
cmpl $0x0, 0x11491(%rip)     # 0x15c90
jne 0x4814
movl $0x2, 0x11489(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4876
callq 0x4640
movl %eax, -0x1c(%rbp)
movq 0x11475(%rip), %rax     # 0x15c98
movq %rax, -0x10(%rbp)
leaq 0x1146a(%rip), %rax     # 0x15c98
cmpq %rax, -0x10(%rbp)
je 0x4867
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq 0x7c(%rax), %rax
cmpq $0x7fffffff, %rax       # imm = 0x7FFFFFFF
jge 0x485b
movq -0x10(%rbp), %rax
movl 0x78(%rax), %edi
callq 0x4880
jmp 0x485d
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4827
movl -0x1c(%rbp), %edi
callq 0x4680
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_Kill
int MV_Kill
   (
   int handle
   )

   {
   VoiceNode *voice;
   int        flags;
   unsigned int callbackval;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   flags = DisableInterrupts();

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
      {
      RestoreInterrupts( flags );
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Error );
      }

   callbackval = voice->callbackval;

   MV_StopVoice( voice );

   RestoreInterrupts( flags );

   if ( MV_CallBackFunc )
      {
      MV_CallBackFunc( callbackval );
      }

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
cmpl $0x0, 0x113fe(%rip)     # 0x15c90
jne 0x48a7
movl $0x2, 0x113f6(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4918
callq 0x4640
movl %eax, -0x14(%rbp)
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x48dd
movl -0x14(%rbp), %edi
callq 0x4680
movl $0x6, 0x113c0(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4918
movq -0x10(%rbp), %rax
movl 0xa0(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x4930
movl -0x14(%rbp), %edi
callq 0x4680
cmpq $0x0, 0x1143d(%rip)     # 0x15d40
je 0x4911
movq 0x11434(%rip), %rax     # 0x15d40
movl -0x18(%rbp), %edi
callq *%rax
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_StopVoice
static void MV_StopVoice
   (
   VoiceNode *voice
   )

   {
   int flags;

   flags = DisableInterrupts();

   // move the voice from the play list to the free list
   LL_Remove( voice, next, prev );
   LL_Add( (VoiceNode*) &VoicePool, voice, next, prev );

   RestoreInterrupts( flags );

   #ifdef HAVE_VORBIS
   if (voice->wavetype == Vorbis)
      {
      MV_ReleaseVorbisVoice(voice);
      }
   #endif
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
callq 0x4640
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
leaq 0x113c5(%rip), %rcx     # 0x15d50
movq %rcx, (%rax)
movq 0x113c3(%rip), %rcx     # 0x15d58
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq 0x113b0(%rip), %rax     # 0x15d58
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, 0x113a2(%rip)     # 0x15d58
movl -0xc(%rbp), %edi
callq 0x4680
movq -0x8(%rbp), %rax
cmpl $0x4, 0x10(%rax)
jne 0x49d1
movq -0x8(%rbp), %rdi
callq 0xa290
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_PauseVoice
int MV_PauseVoice
(
 int handle,
 int pauseon
 )

{
   VoiceNode *voice;
   int        flags;

   if ( !MV_Installed )
   {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
   }

   flags = DisableInterrupts();

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
   {
      RestoreInterrupts( flags );
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Error );
   }

   voice->Paused = pauseon;

   RestoreInterrupts( flags );

   return( MV_Ok );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, 0x1129b(%rip)     # 0x15c90
jne 0x4a0a
movl $0x2, 0x11293(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4a59
callq 0x4640
movl %eax, -0x1c(%rbp)
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4a40
movl -0x1c(%rbp), %edi
callq 0x4680
movl $0x6, 0x1125d(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4a59
movl -0xc(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x74(%rax)
movl -0x1c(%rbp), %edi
callq 0x4680
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_VoicesPlaying
int MV_VoicesPlaying
   (
   void
   )

   {
   VoiceNode   *voice;
   int         NumVoices = 0;
   int         flags;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( 0 );
      }

   flags = DisableInterrupts();

   for( voice = VoiceList.next; voice != &VoiceList; voice = voice->next )
      {
      NumVoices++;
      }

   RestoreInterrupts( flags );

   return( NumVoices );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x14(%rbp)
cmpl $0x0, 0x1120a(%rip)     # 0x15c90
jne 0x4a9b
movl $0x2, 0x11202(%rip)     # 0x15c94
movl $0x0, -0x4(%rbp)
jmp 0x4adf
callq 0x4640
movl %eax, -0x18(%rbp)
movq 0x111ee(%rip), %rax     # 0x15c98
movq %rax, -0x10(%rbp)
leaq 0x111e3(%rip), %rax     # 0x15c98
cmpq %rax, -0x10(%rbp)
je 0x4ad1
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x4aae
movl -0x18(%rbp), %edi
callq 0x4680
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_VoiceAvailable
int MV_VoiceAvailable
   (
   int priority
   )

   {
   VoiceNode   *voice;
   VoiceNode   *node;
   int          flags;

   // Check if we have any free voices
   if ( !LL_Empty( &VoicePool, next, prev ) )
      {
      return( TRUE );
      }

   flags = DisableInterrupts();

   // check if we have a higher priority than a voice that is playing.
   voice = VoiceList.next;
   for( node = VoiceList.next; node != &VoiceList; node = node->next )
      {
      if ( node->priority < voice->priority )
         {
         voice = node;
         }
      }

   RestoreInterrupts( flags );

   if ( ( voice != &VoiceList ) && ( priority >= voice->priority ) )
      {
      return( TRUE );
      }

   return( FALSE );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movq 0x110be(%rip), %rax     # 0x15d50
leaq 0x110b7(%rip), %rcx     # 0x15d50
cmpq %rcx, %rax
jne 0x4cb1
movq 0x110b3(%rip), %rax     # 0x15d58
leaq 0x110a4(%rip), %rcx     # 0x15d50
cmpq %rcx, %rax
je 0x4cbd
movl $0x1, -0x4(%rbp)
jmp 0x4d40
callq 0x4640
movl %eax, -0x1c(%rbp)
movq 0x10fcc(%rip), %rax     # 0x15c98
movq %rax, -0x10(%rbp)
movq 0x10fc1(%rip), %rax     # 0x15c98
movq %rax, -0x18(%rbp)
leaq 0x10fb6(%rip), %rax     # 0x15c98
cmpq %rax, -0x18(%rbp)
je 0x4d0f
movq -0x18(%rbp), %rax
movl 0x7c(%rax), %eax
movq -0x10(%rbp), %rcx
cmpl 0x7c(%rcx), %eax
jge 0x4d00
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x4d02
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x4cdb
movl -0x1c(%rbp), %edi
callq 0x4680
leaq 0x10f7a(%rip), %rax     # 0x15c98
cmpq %rax, -0x10(%rbp)
je 0x4d39
movl -0x8(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x7c(%rcx), %eax
jl 0x4d39
movl $0x1, -0x4(%rbp)
jmp 0x4d40
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetPitch
int MV_SetPitch
   (
   int handle,
   int pitchoffset
   )

   {
   VoiceNode *voice;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
      {
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Error );
      }

   MV_SetVoicePitch( voice, voice->SamplingRate, pitchoffset );

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, 0x10f2b(%rip)     # 0x15c90
jne 0x4d7a
movl $0x2, 0x10f23(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4dba
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4da0
movl $0x6, 0x10efd(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4dba
movq -0x18(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x64(%rax), %esi
movl -0xc(%rbp), %edx
callq 0x4dd0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetVoicePitch
static void MV_SetVoicePitch
   (
   VoiceNode *voice,
   unsigned int rate,
   int pitchoffset
   )

   {
   voice->SamplingRate = rate;
   voice->PitchScale   = PITCH_GetScale( pitchoffset );
   voice->RateScale    = ( rate * voice->PitchScale ) / MV_MixRate;

   // Multiply by MixBufferSize - 1
   voice->FixedPointBufferSize = ( voice->RateScale * MixBufferSize ) -
      voice->RateScale;
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x64(%rax)
movl -0x10(%rbp), %edi
callq 0x9990
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x4c(%rax)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
imull 0x4c(%rcx), %eax
xorl %edx, %edx
divl 0x1a124(%rip)           # 0x1ef34
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x68(%rax)
movq -0x8(%rbp), %rax
movl 0x68(%rax), %ecx
shll $0x8, %ecx
movq -0x8(%rbp), %rax
subl 0x68(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x50(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetFrequency
int MV_SetFrequency
   (
   int handle,
   int frequency
   )

   {
   VoiceNode *voice;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
      {
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Error );
      }

   MV_SetVoicePitch( voice, frequency, 0 );

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, 0x10e3b(%rip)     # 0x15c90
jne 0x4e6a
movl $0x2, 0x10e33(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4ea5
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4e90
movl $0x6, 0x10e0d(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4ea5
movq -0x18(%rbp), %rdi
movl -0xc(%rbp), %esi
xorl %edx, %edx
callq 0x4dd0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_GetFrequency
int MV_GetFrequency
   (
   int handle,
   int *frequency
   )

   {
   VoiceNode *voice;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
      {
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Error );
      }

    if ( voice->SamplingRate == 0 )
      {
      voice->GetSound( voice );
      }

   *frequency = voice->SamplingRate;

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x0, 0x10dca(%rip)     # 0x15c90
jne 0x4edb
movl $0x2, 0x10dc2(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4f2d
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4f01
movl $0x6, 0x10d9c(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4f2d
movq -0x18(%rbp), %rax
cmpl $0x0, 0x64(%rax)
jne 0x4f19
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x18(%rbp), %rdi
callq *%rax
movq -0x18(%rbp), %rax
movl 0x64(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetVoiceVolume
void MV_SetVoiceVolume
   (
   VoiceNode *voice,
   int vol,
   int left,
   int right
   )

   {
   if ( MV_Channels == 1 )
      {
      left  = vol;
      right = vol;
      }

   if ( MV_SwapLeftRight )
      {
      // SBPro uses reversed panning
      voice->LeftVolume  = MV_GetVolumeTable( right );
      voice->RightVolume = MV_GetVolumeTable( left );
      }
   else
      {
      voice->LeftVolume  = MV_GetVolumeTable( left );
      voice->RightVolume = MV_GetVolumeTable( right );
      }

   MV_SetVoiceMixMode( voice );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
cmpl $0x1, 0x104ec(%rip)     # 0x15728
jne 0x524a
movl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, 0x18bbf(%rip)     # 0x1de10
je 0x5281
movl -0x14(%rbp), %edi
callq 0x52c0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x90(%rax)
movl -0x10(%rbp), %edi
callq 0x52c0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x98(%rax)
jmp 0x52ad
movl -0x10(%rbp), %edi
callq 0x52c0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x90(%rax)
movl -0x14(%rbp), %edi
callq 0x52c0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x98(%rax)
movq -0x8(%rbp), %rdi
callq 0x4f40
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_GetVolumeTable
static short *MV_GetVolumeTable
   (
   int vol
   )

   {
   int volume;
   short *table;

   volume = MIX_VOLUME( vol );

   table = (short *) &MV_VolumeTable[ volume ];

   return( table );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
cmpl $0xff, -0x4(%rbp)
jge 0x52d8
movl -0x4(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x52e2
movl $0xff, %eax
movl %eax, -0x14(%rbp)
jmp 0x52e2
movl -0x14(%rbp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x52f2
xorl %eax, %eax
movl %eax, -0x18(%rbp)
jmp 0x5313
cmpl $0xff, -0x4(%rbp)
jge 0x5303
movl -0x4(%rbp), %eax
movl %eax, -0x1c(%rbp)
jmp 0x530d
movl $0xff, %eax
movl %eax, -0x1c(%rbp)
jmp 0x530d
movl -0x1c(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
movl 0x103fc(%rip), %ecx     # 0x15718
addl $0x1, %ecx
imull %ecx, %eax
sarl $0x8, %eax
movl %eax, -0x8(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x10acd(%rip), %rax     # 0x15e00
shlq $0x9, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_EndLooping
int MV_EndLooping
   (
   int handle
   )

   {
   VoiceNode *voice;
   int        flags;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   flags = DisableInterrupts();

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
      {
      RestoreInterrupts( flags );
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Warning );
      }

   voice->LoopCount = 0;
   voice->LoopStart = NULL;
   voice->LoopEnd   = NULL;

   RestoreInterrupts( flags );

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
cmpl $0x0, 0x1092e(%rip)     # 0x15c90
jne 0x5377
movl $0x2, 0x10926(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x53df
callq 0x4640
movl %eax, -0x14(%rbp)
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x53ad
movl -0x14(%rbp), %edi
callq 0x4680
movl $0x6, 0x108f0(%rip)     # 0x15c94
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x53df
movq -0x10(%rbp), %rax
movl $0x0, 0x40(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x30(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x38(%rax)
movl -0x14(%rbp), %edi
callq 0x4680
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetPan
int MV_SetPan
   (
   int handle,
   int vol,
   int left,
   int right
   )

   {
   VoiceNode *voice;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   voice = MV_GetVoice( handle );
   if ( voice == NULL )
      {
      MV_SetErrorCode( MV_VoiceNotFound );
      return( MV_Warning );
      }

   MV_SetVoiceVolume( voice, vol, left, right );

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
cmpl $0x0, 0x10885(%rip)     # 0x15c90
jne 0x5420
movl $0x2, 0x1087d(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x545f
movl -0x8(%rbp), %edi
callq 0x4710
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x5446
movl $0x6, 0x10857(%rip)     # 0x15c94
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x545f
movq -0x20(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
callq 0x5220
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_Pan3D
int MV_Pan3D
   (
   int handle,
   int angle,
   int distance
   )

   {
   int left;
   int right;
   int mid;
   int volume;
   int status;

   if ( distance < 0 )
      {
      distance  = -distance;
      angle    += MV_NumPanPositions / 2;
      }

   volume = MIX_VOLUME( distance );

   // Ensure angle is within 0 - 31
   angle &= MV_MaxPanPosition;

   left  = MV_PanTable[ angle ][ volume ].left;
   right = MV_PanTable[ angle ][ volume ].right;
   mid   = max( 0, 255 - distance );

   status = MV_SetPan( handle, mid, left, right );

   return( status );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jge 0x5498
xorl %eax, %eax
subl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %eax
addl $0x10, %eax
movl %eax, -0x8(%rbp)
cmpl $0xff, -0xc(%rbp)
jge 0x54a9
movl -0xc(%rbp), %eax
movl %eax, -0x24(%rbp)
jmp 0x54b3
movl $0xff, %eax
movl %eax, -0x24(%rbp)
jmp 0x54b3
movl -0x24(%rbp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x54c3
xorl %eax, %eax
movl %eax, -0x28(%rbp)
jmp 0x54e4
cmpl $0xff, -0xc(%rbp)
jge 0x54d4
movl -0xc(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0x54de
movl $0xff, %eax
movl %eax, -0x2c(%rbp)
jmp 0x54de
movl -0x2c(%rbp), %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl 0x1022b(%rip), %ecx     # 0x15718
addl $0x1, %ecx
imull %ecx, %eax
sarl $0x8, %eax
movl %eax, -0x1c(%rbp)
movl -0x8(%rbp), %eax
andl $0x1f, %eax
movl %eax, -0x8(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x18913(%rip), %rax     # 0x1de20
shlq $0x7, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movzbl (%rax,%rcx,2), %eax
movl %eax, -0x10(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x188f6(%rip), %rax     # 0x1de20
shlq $0x7, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movzbl 0x1(%rax,%rcx,2), %eax
movl %eax, -0x14(%rbp)
movl $0xff, %ecx
subl -0xc(%rbp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x5552
xorl %eax, %eax
movl %eax, -0x30(%rbp)
jmp 0x555d
movl $0xff, %eax
subl -0xc(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x4(%rbp), %edi
movl -0x18(%rbp), %esi
movl -0x10(%rbp), %edx
movl -0x14(%rbp), %ecx
callq 0x53f0
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetReverbDelay
void MV_SetReverbDelay
   (
   int delay
   )

   {
   int maxdelay;

   maxdelay = MV_GetMaxReverbDelay();
   MV_ReverbDelay = max( MixBufferSize, min( delay, maxdelay ) );
   MV_ReverbDelay *= MV_SampleSize;
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
callq 0x5680
movl %eax, -0x8(%rbp)
movl -0x4(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x56e3
movl -0x4(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x56e9
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %ecx
movl $0x100, %eax            # imm = 0x100
cmpl %ecx, %eax
jle 0x56ff
movl $0x100, %eax            # imm = 0x100
movl %eax, -0x10(%rbp)
jmp 0x571b
movl -0x4(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x570f
movl -0x4(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x5715
movl -0x8(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
movl %eax, 0x1970c(%rip)     # 0x1ee30
movl 0xfff2(%rip), %eax      # 0x1571c
imull 0x196ff(%rip), %eax     # 0x1ee30
movl %eax, 0x196f9(%rip)     # 0x1ee30
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_SetMixMode
int MV_SetMixMode
   (
   int numchannels,
   int samplebits
   )

   {
   int mode;

   if ( !MV_Installed )
      {
      MV_SetErrorCode( MV_NotInstalled );
      return( MV_Error );
      }

   mode = 0;
   if ( numchannels == 2 )
      {
      mode |= STEREO;
      }
   if ( samplebits == 16 )
      {
      mode |= SIXTEEN_BIT;
      }

   MV_MixMode = mode;

   MV_Channels = 1;
   if ( MV_MixMode & STEREO )
      {
      MV_Channels = 2;
      }

   MV_Bits = 8;
   if ( MV_MixMode & SIXTEEN_BIT )
      {
      MV_Bits = 16;
      }

   MV_BuffShift  = 7 + MV_Channels;
   MV_SampleSize = sizeof( MONO8 ) * MV_Channels;

   if ( MV_Bits == 8 )
      {
      MV_Silence = SILENCE_8BIT;
      }
   else
      {
      MV_Silence     = SILENCE_16BIT;
      MV_BuffShift  += 1;
      MV_SampleSize *= 2;
      }

   MV_BufferSize = MixBufferSize * MV_SampleSize;
   MV_NumberOfBuffers = TotalBufferSize / MV_BufferSize;
   MV_BufferLength = TotalBufferSize;

   MV_RightChannelOffset = MV_SampleSize / 2;

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, 0x1053f(%rip)     # 0x15c90
jne 0x5769
movl $0x2, 0x10537(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x587e
movl $0x0, -0x10(%rbp)
cmpl $0x2, -0x8(%rbp)
jne 0x577f
movl -0x10(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x10(%rbp)
cmpl $0x10, -0xc(%rbp)
jne 0x578e
movl -0x10(%rbp), %eax
orl $0x2, %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
movl %eax, 0x1969d(%rip)     # 0x1ee34
movl $0x1, 0xff87(%rip)      # 0x15728
movl 0x1968d(%rip), %eax     # 0x1ee34
andl $0x1, %eax
cmpl $0x0, %eax
je 0x57b9
movl $0x2, 0xff6f(%rip)      # 0x15728
movl $0x8, 0xff61(%rip)      # 0x15724
movl 0x1966b(%rip), %eax     # 0x1ee34
andl $0x2, %eax
cmpl $0x0, %eax
je 0x57db
movl $0x10, 0xff49(%rip)     # 0x15724
movl 0xff47(%rip), %eax      # 0x15728
addl $0x7, %eax
movl %eax, 0x1964e(%rip)     # 0x1ee38
movslq 0xff37(%rip), %rax      # 0x15728
shlq $0x0, %rax
movl %eax, 0xff21(%rip)      # 0x1571c
cmpl $0x8, 0xff22(%rip)      # 0x15724
jne 0x5810
movl $0x80808080, 0xff22(%rip) # imm = 0x80808080
jmp 0x5837
movl $0x0, 0xff16(%rip)      # 0x15730
movl 0x19618(%rip), %eax     # 0x1ee38
addl $0x1, %eax
movl %eax, 0x1960f(%rip)     # 0x1ee38
movl 0xfeed(%rip), %eax      # 0x1571c
shll %eax
movl %eax, 0xfee5(%rip)      # 0x1571c
movl 0xfedf(%rip), %eax      # 0x1571c
shll $0x8, %eax
movl %eax, 0xfeee(%rip)      # 0x15734
movl $0x1000, %eax           # imm = 0x1000
xorl %edx, %edx
divl 0xfee1(%rip)            # 0x15734
movl %eax, 0xfed3(%rip)      # 0x1572c
movl $0x1000, 0x195d9(%rip)  # imm = 0x1000
movl 0xfeb3(%rip), %eax      # 0x1571c
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, 0x195c9(%rip)     # 0x1ee40
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_StartPlayback
int MV_StartPlayback
   (
   void
   )

   {
   int status;
   int buffer;

   // Initialize the buffers
   ClearBuffer_DW( MV_MixBuffer[ 0 ], MV_Silence, TotalBufferSize >> 2 );
   for( buffer = 0; buffer < MV_NumberOfBuffers; buffer++ )
      {
      MV_BufferEmpty[ buffer ] = TRUE;
      }

   // Set the mix buffer variables
   MV_MixPage = 1;

   MV_MixFunction = MV_Mix;

//JIM
//   MV_MixRate = MV_RequestedMixRate;
//   return( MV_Ok );

   // Start playback
   status = SoundDriver_PCM_BeginPlayback(MV_MixBuffer[0], MV_BufferSize,
                                      MV_NumberOfBuffers, MV_ServiceVoc);
   if (status != MV_Ok) {
      MV_SetErrorCode(MV_DriverError);
      return MV_Error;
   }

   MV_MixRate = MV_RequestedMixRate;

   return( MV_Ok );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x195b1(%rip), %rdi     # 0x1ee50
movl 0xfe8b(%rip), %esi      # 0x15730
movl $0x400, %edx            # imm = 0x400
callq 0x8150
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0xfe6d(%rip), %eax      # 0x1572c
jge 0x58de
movslq -0xc(%rbp), %rcx
leaq 0x19614(%rip), %rax     # 0x1eee0
movl $0x1, (%rax,%rcx,4)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x58b6
movl $0x1, 0x19638(%rip)     # 0x1ef20
leaq 0x61(%rip), %rax        # 0x5950
movq %rax, 0x19632(%rip)     # 0x1ef28
movq 0x19553(%rip), %rdi     # 0x1ee50
movl 0xfe31(%rip), %esi      # 0x15734
movl 0xfe23(%rip), %edx      # 0x1572c
leaq 0x220(%rip), %rcx       # 0x5b30
callq 0x3120
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
je 0x5931
movl $0x3, 0x1036c(%rip)     # 0x15c94
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5944
movl 0x195f9(%rip), %eax     # 0x1ef30
movl %eax, 0x195f7(%rip)     # 0x1ef34
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_StopPlayback
void MV_StopPlayback
   (
   void
   )

   {
   VoiceNode   *voice;
   VoiceNode   *next;
   int          flags;

   // Stop sound playback
   SoundDriver_PCM_StopPlayback();

   // Make sure all callbacks are done.
   flags = DisableInterrupts();

   for( voice = VoiceList.next; voice != &VoiceList; voice = next )
      {
      next = voice->next;

      MV_StopVoice( voice );

      if ( MV_CallBackFunc )
         {
         MV_CallBackFunc( voice->callbackval );
         }
      }

   RestoreInterrupts( flags );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
callq 0x3170
callq 0x4640
movl %eax, -0x14(%rbp)
movq 0xfe4c(%rip), %rax      # 0x15c98
movq %rax, -0x8(%rbp)
leaq 0xfe41(%rip), %rax      # 0x15c98
cmpq %rax, -0x8(%rbp)
je 0x5e9a
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4930
cmpq $0x0, 0xfec7(%rip)      # 0x15d40
je 0x5e8e
movq 0xfebe(%rip), %rax      # 0x15d40
movq -0x8(%rbp), %rcx
movl 0xa0(%rcx), %edi
callq *%rax
jmp 0x5e90
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x5e50
movl -0x14(%rbp), %edi
callq 0x4680
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_GetNextDemandFeedBlock
static playbackstatus MV_GetNextDemandFeedBlock
   (
   VoiceNode *voice
   )

   {
   if ( voice->BlockLength > 0 )
      {
      voice->position    -= voice->length;
      voice->sound       += voice->length >> 16;
      voice->length       = min( voice->BlockLength, 0x8000 );
      voice->BlockLength -= voice->length;
      voice->length     <<= 16;

      return( KeepPlaying );
      }

   if ( voice->DemandFeed == NULL )
      {
      return( NoMoreData );
      }

   voice->position     = 0;
   ( voice->DemandFeed )( &voice->sound, &voice->BlockLength );
   voice->length       = min( voice->BlockLength, 0x8000 );
   voice->BlockLength -= voice->length;
   voice->length     <<= 16;

   if ( ( voice->length > 0 ) && ( voice->sound != NULL ) )
      {
      return( KeepPlaying );
      }
   return( NoMoreData );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x48(%rax)
jbe 0x6101
movq -0x10(%rbp), %rax
movl 0x60(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x6c(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x6c(%rax)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %edx
shrl $0x10, %edx
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rcx
movl %edx, %edx
addq %rdx, %rcx
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rax
cmpl $0x8000, 0x48(%rax)     # imm = 0x8000
jae 0x60c1
movq -0x10(%rbp), %rax
movl 0x48(%rax), %eax
movl %eax, -0x14(%rbp)
jmp 0x60cb
movl $0x8000, %eax           # imm = 0x8000
movl %eax, -0x14(%rbp)
jmp 0x60cb
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x60(%rax)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x48(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x48(%rax)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %ecx
shll $0x10, %ecx
movl %ecx, 0x60(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61b5
movq -0x10(%rbp), %rax
cmpq $0x0, 0x80(%rax)
jne 0x611b
movl $0x0, -0x4(%rbp)
jmp 0x61b5
movq -0x10(%rbp), %rax
movl $0x0, 0x6c(%rax)
movq -0x10(%rbp), %rax
movq 0x80(%rax), %rax
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
movq -0x10(%rbp), %rsi
addq $0x48, %rsi
callq *%rax
movq -0x10(%rbp), %rax
cmpl $0x8000, 0x48(%rax)     # imm = 0x8000
jae 0x615c
movq -0x10(%rbp), %rax
movl 0x48(%rax), %eax
movl %eax, -0x18(%rbp)
jmp 0x6166
movl $0x8000, %eax           # imm = 0x8000
movl %eax, -0x18(%rbp)
jmp 0x6166
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x60(%rax)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x48(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x48(%rax)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %ecx
shll $0x10, %ecx
movl %ecx, 0x60(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x60(%rax)
jbe 0x61ae
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x61ae
movl $0x1, -0x4(%rbp)
jmp 0x61b5
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jfaudiolib/src/multivoc.c
// Function: MV_PlayRaw
int MV_PlayRaw
   (
   char *ptr,
   unsigned int length,
   unsigned rate,
   int   pitchoffset,
   int   vol,
   int   left,
   int   right,
   int   priority,
   unsigned int callbackval
   )

   {
   int status;

   status = MV_PlayLoopedRaw( ptr, length, NULL, NULL, rate, pitchoffset,
      vol, left, right, priority, callbackval );

   return( status );
   }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x50, %rsp
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x18(%rbp)
movl %esi, -0x1c(%rbp)
movl %edx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl %r8d, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
movl -0x20(%rbp), %r8d
movl -0x24(%rbp), %r9d
movl -0x28(%rbp), %r14d
movl -0x2c(%rbp), %ebx
movl 0x10(%rbp), %r11d
movl 0x18(%rbp), %r10d
movl 0x20(%rbp), %eax
xorl %ecx, %ecx
movq %rcx, %rdx
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x6240
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nopl (%rax)