<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _extract_args(state, main, argc, argv, init, fini):
 """ 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 """


        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_