code: def _extract_args(state, main, argc, argv, init, fini):
          
  
          main_ = main
          argc_ = argc
          argv_ = argv
          init_ = init
          fini_ = fini
  
          if state.arch.name == "PPC32":
              # for some dumb reason, PPC passes arguments to libc_start_main in some completely absurd way
              argv_ = argc_
              argc_ = main_
              main_ = state.mem[state.regs.r8 + 4:].int.resolved
              init_ = state.mem[state.regs.r8 + 8:].int.resolved
              fini_ = state.mem[state.regs.r8 + 12:].int.resolved
  
          elif state.arch.name == "PPC64":
              main_ = state.mem[state.regs.r8 + 8:].long.resolved
              init_ = state.mem[state.regs.r8 + 16:].long.resolved
              fini_ = state.mem[state.regs.r8 + 24:].long.resolved
  
          return main_, argc_, argv_, init_, fini_
docs: Extract arguments and set them to
  
          :param angr.sim_state.SimState state: The program state.
          :param main: An argument to __libc_start_main.
          :param argc: An argument to __libc_start_main.
          :param argv: An argument to __libc_start_main.
          :param init: An argument to __libc_start_main.
          :param fini: An argument to __libc_start_main.
          :return: A tuple of five elements: (main, argc, argv, init, fini)
          :rtype: tuple