## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Microsoft .NET CLI Disassembler. VisualBasic library

Assembler code

    conv.i8
        mul.ovf
        stloc.0
        ldarg.0
        ldfld    class [mscorlib]System.IO.FileStream Microsoft.VisualBasic.CompilerServices.VB6File::m_file
        ldloc.1
        ldloc.0
        callvirt instance void [mscorlib]System.IO.FileStream::Lock(int64, int64)
        ret
      }

      .method public hidebysig virtual instance void Unlock(int64 lStart, int64 lEnd)
      {
        .maxstack 3
        .locals init (int64 V0,
                      int64 V1)
        ldarg.1
        ldarg.2
        ble.s    loc_439
        ldstr    aArgumentInvali            // "Argument_InvalidValue1"
        ldstr    aStart                     // "Start"
        call     string Microsoft.VisualBasic.CompilerServices.Utils::GetResourceString(string ResourceKey, string Parm1)
        newobj   instance void [mscorlib]System.ArgumentException::.ctor(string)
        throw

    loc_439:                                // CODE XREF: Microsoft.VisualBasic.CompilerServices.VB6RandomFile__Unlock+2↑j
        ldarg.1
        ldc.i8   1
        sub.ovf
        ldarg.0
        ldfld    int32 Microsoft.VisualBasic.CompilerServices.VB6File::m_lRecordLen
        conv.i8
        mul.ovf
        stloc.1
        ldarg.2