fn read_old_syscall(mut reader: impl Read) -> Result<u16> {
    /*
     * Windows XP up to 7 used a different syscall convention.
     * Syscall functions called a KiFastSystemCall or KiFastSystemCallRet
     * which does sysenter. Calling convention for syscalls is __stdcall
     * for arguments and eax for syscall numbers.
     *
     * NtTerminateProcess:
     * mov eax, 101h             ;; 5 byte instruction
     * mov edx, KiFastSystemCall
     * call [edx]
     *
     * Windows 2000 >= doesn't use KiFastSystemCall in favour of int 2eh
     * but this parsing format is basically the same
     */
    let _opcodes = consume!(reader, 1, "Useless opcodes")?;
    Ok(typed_consume!(reader, u16, "Syscall number")?)
}
/// Read x86 syscall for Windows XP and lower
Read x86 syscall for Windows XP and lower
Read x86 syscall for Windows XP and lower
fn read_old_syscall(mut reader: impl Read) -> Result<u16> {
    /*
     * Windows XP up to 7 used a different syscall convention.
     * Syscall functions called a KiFastSystemCall or KiFastSystemCallRet
     * which does sysenter. Calling convention for syscalls is __stdcall
     * for arguments and eax for syscall numbers.
     *
     * NtTerminateProcess:
     * mov eax, 101h             ;; 5 byte instruction
     * mov edx, KiFastSystemCall
     * call [edx]
     *
     * Windows 2000 >= doesn't use KiFastSystemCall in favour of int 2eh
     * but this parsing format is basically the same
     */
    let _opcodes = consume!(reader, 1, "Useless opcodes")?;
    Ok(typed_consume!(reader, u16, "Syscall number")?)
}
fn read_old_syscall ( mut reader : impl Read ) -> Result < u16 > { /*
     * Windows XP up to 7 used a different syscall convention.
     * Syscall functions called a KiFastSystemCall or KiFastSystemCallRet
     * which does sysenter. Calling convention for syscalls is __stdcall
     * for arguments and eax for syscall numbers.
     *
     * NtTerminateProcess:
     * mov eax, 101h             ;; 5 byte instruction
     * mov edx, KiFastSystemCall
     * call [edx]
     *
     * Windows 2000 >= doesn't use KiFastSystemCall in favour of int 2eh
     * but this parsing format is basically the same
     */ let _opcodes = consume ! ( reader 1 " " ) ? ; Ok ( typed_consume ! ( reader u16 " " ) ? ) }
Read x86 syscall for Windows XP and lower
Read x86 syscall for Windows XP and lower
reader
impl Read
reader
impl Read