@staticmethod
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':
        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_
