(CommandList
  children: [
    (C {(set)} {(-e)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-x)} 
                  {(TildeSubPart prefix:"") (/bin/) (${ VSub_Name INSTALLKERNEL)} {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Sentence
              child: 
                (C {(exec)} {(TildeSubPart prefix:"") (/bin/) (${ VSub_Name INSTALLKERNEL)} 
                  {(DQ ($ VSub_At "$@"))}
                )
              terminator: <Op_Semi ";">
            )
          ]
          spids: [-1 85]
        )
      ]
      spids: [-1 100]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-x)} {(/sbin/) (${ VSub_Name INSTALLKERNEL)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Sentence
              child: (C {(exec)} {(/sbin/) (${ VSub_Name INSTALLKERNEL)} {(DQ ($ VSub_At "$@"))})
              terminator: <Op_Semi ";">
            )
          ]
          spids: [-1 116]
        )
      ]
      spids: [-1 130]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:image_name)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(basename)} {($ VSub_Number "$2")})])
                left_token: <Left_Backtick "`">
                spids: [141 145]
              )
            }
          spids: [140]
        )
      ]
      spids: [140]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-f)} {($ VSub_Number "$4") (/) ($ VSub_Name "$image_name")} 
                  {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(mv)} {($ VSub_Number "$4") (/) ($ VSub_Name "$image_name")} 
              {($ VSub_Number "$4") (/) ($ VSub_Name "$image_name") (.old)}
            )
          ]
          spids: [-1 161]
        )
      ]
      spids: [-1 175]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-f)} {($ VSub_Number "$4") (/System.map)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(mv)} {($ VSub_Number "$4") (/System.map)} {($ VSub_Number "$4") (/System.old)})]
          spids: [-1 190]
        )
      ]
      spids: [-1 201]
    )
    (SimpleCommand
      words: [{(cat)} {($ VSub_Number "$2")}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: -1
          arg_word: {($ VSub_Number "$4") (/) ($ VSub_Name "$image_name")}
          spids: [208]
        )
      ]
    )
    (C {(cp)} {($ VSub_Number "$3")} {($ VSub_Number "$4") (/System.map)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:path) op:Equal rhs:{($ VSub_Number "$4")} spids:[225])]
      spids: [225]
    )
    (C {(shift)} {(4)})
    (Sentence
      child: 
        (While
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-ne)} {(0)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:image_name)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(basename)} {($ VSub_Number "$1")})]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [249 253]
                          )
                        }
                      spids: [248]
                    )
                  ]
                  spids: [248]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-f)} 
                              {($ VSub_Name "$path") (/) ($ VSub_Name "$image_name")} {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (C {(mv)} {($ VSub_Name "$path") (/) ($ VSub_Name "$image_name")} 
                          {($ VSub_Name "$path") (/) ($ VSub_Name "$image_name") (.old)}
                        )
                      ]
                      spids: [-1 269]
                    )
                  ]
                  spids: [-1 284]
                )
                (SimpleCommand
                  words: [{(cat)} {($ VSub_Number "$1")}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {($ VSub_Name "$path") (/) ($ VSub_Name "$image_name")}
                      spids: [291]
                    )
                  ]
                )
                (C {(shift)})
              ]
              spids: [245 300]
            )
        )
      terminator: <Op_Semi ";">
    )
  ]
)