(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:mfs_size spids:[100])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (command.SimpleCommand
                        words: [{(stat)} {(-f)} {(SQ <'%z'>)} {($ VSub_Number '$2')}]
                        redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [101 115]
              )
            }
          spids: [100]
        )
      ]
      spids: [100]
    )
    (command.AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name mfs_size)} {(Lit_Other ']')})
        (C {(echo)} {(DQ ("Can't determine MFS image size"))})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sec_info spids:[145])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (command.SimpleCommand
                            words: [{(elfdump)} {(-c)} {($ VSub_Number '$1')}]
                            redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                          )
                          (C {(grep)} {(-A)} {(5)} {(-E)} {(DQ ('sh_name: oldmfs') (Lit_Other '$'))})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [146 171]
              )
            }
          spids: [145]
        )
      ]
      spids: [145]
    )
    (command.AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name sec_info))} {(Lit_Other ']')})
        (C {(echo)} {(DQ ("Can't locate mfs section within kernel"))})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sec_size spids:[203])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} {(DQ (${ VSub_Name sec_info))})
                          (command.SimpleCommand
                            words: [{(awk)} {(SQ <'/sh_size/ {print $2}'>)}]
                            redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [204 224]
              )
            }
          spids: [203]
        )
      ]
      spids: [203]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sec_start spids:[226])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} {(DQ (${ VSub_Name sec_info))})
                          (command.SimpleCommand
                            words: [{(awk)} {(SQ <'/sh_offset/ {print $2}'>)}]
                            redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [227 247]
              )
            }
          spids: [226]
        )
      ]
      spids: [226]
    )
    (command.AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(${ VSub_Name sec_size)} {(-lt)} {(${ VSub_Name mfs_size)} {(Lit_Other ']')})
        (C {(echo)} {(DQ ('MFS image too large'))})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (command.AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (command.SimpleCommand
          words: [
            {(dd)}
            {(Lit_VarLike 'if=') ($ VSub_Number '$2')}
            {(Lit_VarLike 'ibs=') (8192)}
            {(Lit_VarLike 'of=') ($ VSub_Number '$1')}
            {(Lit_VarLike 'obs=') (${ VSub_Name sec_start)}
            {(Lit_VarLike 'oseek=') (1)}
            {(Lit_VarLike 'conv=') (notrunc)}
          ]
          redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
        )
        (C {(echo)} {(DQ ('MFS image embedded into kernel'))})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
      ]
    )
  ]
)