Sponsored Links

Sponsored Links

Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 31



  1. #21
    Senior Member daveribz's Avatar
    Join Date
    Jan 2009
    Posts
    132
    Sponsored Links
    Sponsored Links
    I don't get why a different ID is used than the original game ID since it's using the BD Emulator built in the PS3 OS to play the games. So basically, it's suppose to show the ID of the game you're playing since it's a total emulation of the disk, which doesn't even use some 'homebrew' code. I think they might have been some misunderstanding of the Title ID stuff: i'm sure the only time the fake ID is used is when you're in the Backup Manager. After, the game is mounted using official debug functions and launched like a real game.

  2. #22
    Registered User silentcircuit's Avatar
    Join Date
    Jun 2005
    Posts
    45
    Sponsored Links
    Sponsored Links
    Quote Originally Posted by kingpin007 View Post
    I guess the market will be flooded soon with ps3 usb mod sticks and the price will come down so I should hold off on purchasing the usb modkey?
    I seriously doubt they're going to go well below $30 any time soon, and that's the approximate price one of these programmable sticks is going to run you. Of course, you never know, the Chinese clones may be down to $15 shortly after they launch to stay competitive with DIY solutions.

    All said, if you're willing to wait you certainly should, since there are sure to be kinks no one even sees yet that will be ironed out in the next two weeks to a month.

  3. #23
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    27,820
    Sponsored Links

    Cool

    Sponsored Links
    Let's try to keep this thread more on the Dev topic, and use the one in the hacks section for general discussion. That said, here is what I believe may be a disassembly attempt from n00b130 on IRC for anyone interested:
    Code:
    ROM:8000000000700000             # Input MD5   : AAAA82EAC2F4C9F91ED52F1864749CAF
    ROM:8000000000700000             # Format      : Binary file
    ROM:8000000000700000             # Base Address: 0000h Range: 8000000000700000h - 8000000000700F00h Loaded length: 0F00h
    ROM:8000000000700000
    ROM:8000000000700000             # Processor       : PPC
    ROM:8000000000700000             # Target assembler: GNU Assembler
    ROM:8000000000700000             # Byte sex        : Big endian
    ROM:8000000000700000
    ROM:8000000000700000             # ===========================================================================
    ROM:8000000000700000
    ROM:8000000000700000             # Segment type: Pure code
    ROM:8000000000700000                             .section "ROM"
    ROM:8000000000700000 09                          .byte    9
    ROM:8000000000700001 02                          .byte    2
    ROM:8000000000700002 12                          .byte 0x12
    ROM:8000000000700003 00                          .byte    0
    ROM:8000000000700004 01                          .byte    1
    ROM:8000000000700005 00                          .byte    0
    ROM:8000000000700006 00                          .byte    0
    ROM:8000000000700007 80                          .byte 0x80 # 
    ROM:8000000000700008 FA                          .byte 0xFA # 
    ROM:8000000000700009 09                          .byte    9
    ROM:800000000070000A 04                          .byte    4
    ROM:800000000070000B 00                          .byte    0
    ROM:800000000070000C 00                          .byte    0
    ROM:800000000070000D 00                          .byte    0
    ROM:800000000070000E FE                          .byte 0xFE # 
    ROM:800000000070000F 01                          .byte    1
    ROM:8000000000700010 02                          .byte    2
    ROM:8000000000700011 00                          .byte    0
    ROM:8000000000700012 00                          .byte    0
    ROM:8000000000700013 00                          .byte    0
    ROM:8000000000700014 00                          .byte    0
    ROM:8000000000700015 00                          .byte    0
    ROM:8000000000700016 00                          .byte    0
    ROM:8000000000700017 00                          .byte    0
    ROM:8000000000700018 FA                          .byte 0xFA # 
    ROM:8000000000700019 CE                          .byte 0xCE # +
    ROM:800000000070001A B0                          .byte 0xB0 # 
    ROM:800000000070001B 03                          .byte    3
    ROM:800000000070001C AA                          .byte 0xAA # 
    ROM:800000000070001D BB                          .byte 0xBB # +
    ROM:800000000070001E CC                          .byte 0xCC # 
    ROM:800000000070001F DD                          .byte 0xDD # 
    ROM:8000000000700020 38                          .byte 0x38 # 8
    ROM:8000000000700021 63                          .byte 0x63 # c
    ROM:8000000000700022 F0                          .byte 0xF0 # 
    ROM:8000000000700023 00                          .byte    0
    ROM:8000000000700024 38                          .byte 0x38 # 8
    ROM:8000000000700025 A0                          .byte 0xA0 # 
    ROM:8000000000700026 10                          .byte 0x10
    ROM:8000000000700027 00                          .byte    0
    ROM:8000000000700028 38                          .byte 0x38 # 8
    ROM:8000000000700029 80                          .byte 0x80 # 
    ROM:800000000070002A 00                          .byte    0
    ROM:800000000070002B 01                          .byte    1
    ROM:800000000070002C 78                          .byte 0x78 # x
    ROM:800000000070002D 84                          .byte 0x84 # 
    ROM:800000000070002E F8                          .byte 0xF8 # 
    ROM:800000000070002F 06                          .byte    6
    ROM:8000000000700030 64                          .byte 0x64 # d
    ROM:8000000000700031 84                          .byte 0x84 # 
    ROM:8000000000700032 00                          .byte    0
    ROM:8000000000700033 70                          .byte 0x70 # p
    ROM:8000000000700034 38                          .byte 0x38 # 8
    ROM:8000000000700035 A5                          .byte 0xA5 # 
    ROM:8000000000700036 FF                          .byte 0xFF
    ROM:8000000000700037 F8                          .byte 0xF8 # 
    ROM:8000000000700038 7C                          .byte 0x7C # |
    ROM:8000000000700039 C3                          .byte 0xC3 # +
    ROM:800000000070003A 28                          .byte 0x28 # (
    ROM:800000000070003B 2A                          .byte 0x2A # *
    ROM:800000000070003C 7C                          .byte 0x7C # |
    ROM:800000000070003D C4                          .byte 0xC4 # -
    ROM:800000000070003E 29                          .byte 0x29 # )
    ROM:800000000070003F 2A                          .byte 0x2A # *
    ROM:8000000000700040 28                          .byte 0x28 # (
    ROM:8000000000700041 25                          .byte 0x25 # %
    ROM:8000000000700042 00                          .byte    0
    ROM:8000000000700043 00                          .byte    0
    ROM:8000000000700044 40                          .byte 0x40 # @
    ROM:8000000000700045 82                          .byte 0x82 # 
    ROM:8000000000700046 FF                          .byte 0xFF
    ROM:8000000000700047 F0                          .byte 0xF0 # 
    ROM:8000000000700048 38                          .byte 0x38 # 8
    ROM:8000000000700049 84                          .byte 0x84 # 
    ROM:800000000070004A 00                          .byte    0
    ROM:800000000070004B 80                          .byte 0x80 # 
    ROM:800000000070004C 7C                          .byte 0x7C # |
    ROM:800000000070004D 89                          .byte 0x89 # 
    ROM:800000000070004E 03                          .byte    3
    ROM:800000000070004F A6                          .byte 0xA6 # 
    ROM:8000000000700050 4E                          .byte 0x4E # N
    ROM:8000000000700051 80                          .byte 0x80 # 
    ROM:8000000000700052 04                          .byte    4
    ROM:8000000000700053 20                          .byte 0x20
    ROM:8000000000700054 00                          .byte    0
    ROM:8000000000700055 00                          .byte    0
    ROM:8000000000700056 00                          .byte    0
    ROM:8000000000700057 00                          .byte    0
    ROM:8000000000700058 00                          .byte    0
    ROM:8000000000700059 00                          .byte    0
    ROM:800000000070005A 00                          .byte    0
    ROM:800000000070005B 00                          .byte    0
    ROM:800000000070005C 00                          .byte    0
    ROM:800000000070005D 00                          .byte    0
    ROM:800000000070005E 00                          .byte    0
    ROM:800000000070005F 00                          .byte    0
    ROM:8000000000700060 00                          .byte    0
    ROM:8000000000700061 00                          .byte    0
    ROM:8000000000700062 00                          .byte    0
    ROM:8000000000700063 00                          .byte    0
    ROM:8000000000700064 00                          .byte    0
    ROM:8000000000700065 00                          .byte    0
    ROM:8000000000700066 00                          .byte    0
    ROM:8000000000700067 00                          .byte    0
    ROM:8000000000700068 00                          .byte    0
    ROM:8000000000700069 00                          .byte    0
    ROM:800000000070006A 00                          .byte    0
    ROM:800000000070006B 00                          .byte    0
    ROM:800000000070006C 00                          .byte    0
    ROM:800000000070006D 00                          .byte    0
    ROM:800000000070006E 00                          .byte    0
    ROM:800000000070006F 00                          .byte    0
    ROM:8000000000700070 00                          .byte    0
    ROM:8000000000700071 00                          .byte    0
    ROM:8000000000700072 00                          .byte    0
    ROM:8000000000700073 00                          .byte    0
    ROM:8000000000700074 00                          .byte    0
    ROM:8000000000700075 00                          .byte    0
    ROM:8000000000700076 00                          .byte    0
    ROM:8000000000700077 00                          .byte    0
    ROM:8000000000700078 00                          .byte    0
    ROM:8000000000700079 00                          .byte    0
    ROM:800000000070007A 00                          .byte    0
    ROM:800000000070007B 00                          .byte    0
    ROM:800000000070007C 00                          .byte    0
    ROM:800000000070007D 00                          .byte    0
    ROM:800000000070007E 00                          .byte    0
    ROM:800000000070007F 00                          .byte    0
    ROM:8000000000700080
    ROM:8000000000700080             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700080
    ROM:8000000000700080
    ROM:8000000000700080             sub_8000000000700080:
    ROM:8000000000700080
    ROM:8000000000700080             .set var_A0, -0xA0
    ROM:8000000000700080             .set arg_78,  0x78
    ROM:8000000000700080             .set arg_80,  0x80
    ROM:8000000000700080             .set arg_88,  0x88
    ROM:8000000000700080             .set arg_90,  0x90
    ROM:8000000000700080             .set arg_98,  0x98
    ROM:8000000000700080             .set arg_B0,  0xB0
    ROM:8000000000700080
    ROM:8000000000700080 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:8000000000700084 F8 21 FF 61                 stdu    %sp, var_A0(%sp) # Store Double Word with Update
    ROM:8000000000700088 FB 61 00 78                 std     %r27, arg_78(%sp) # Store Double Word
    ROM:800000000070008C FB 81 00 80                 std     %r28, arg_80(%sp) # Store Double Word
    ROM:8000000000700090 FB A1 00 88                 std     %r29, arg_88(%sp) # Store Double Word
    ROM:8000000000700094 FB C1 00 90                 std     %r30, arg_90(%sp) # Store Double Word
    ROM:8000000000700098 FB E1 00 98                 std     %r31, arg_98(%sp) # Store Double Word
    ROM:800000000070009C F8 01 00 B0                 std     %r0, arg_B0(%sp) # Store Double Word
    ROM:80000000007000A0 3B E0 00 01                 li      %r31, 1         # Load Immediate
    ROM:80000000007000A4 7B FF F8 06                 rldicr  %r31, %r31, 63,0 # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007000A8 7F E3 FB 78                 mr      %r3, %r31       # Move Register
    ROM:80000000007000AC 64 63 00 05                 oris    %r3, %r3, 5     # OR Immediate Shifted
    ROM:80000000007000B0 60 63 0B 3C                 ori     %r3, %r3, 0xB3C # OR Immediate
    ROM:80000000007000B4 7F E4 FB 78                 mr      %r4, %r31       # Move Register
    ROM:80000000007000B8 64 84 00 70                 oris    %r4, %r4, 0x70  # OR Immediate Shifted
    ROM:80000000007000BC 60 84 01 AC                 ori     %r4, %r4, 0x1AC # OR Immediate
    ROM:80000000007000C0 38 A0 04 FA                 li      %r5, 0x4FA      # Load Immediate
    ROM:80000000007000C4 4B 97 BF 59                 bl      0x800000000007C01C # Branch
    ROM:80000000007000C8 7F E3 FB 78                 mr      %r3, %r31       # Move Register
    ROM:80000000007000CC 64 63 00 05                 oris    %r3, %r3, 5     # OR Immediate Shifted
    ROM:80000000007000D0 60 63 0B 3C                 ori     %r3, %r3, 0xB3C # OR Immediate
    ROM:80000000007000D4 38 63 00 20                 addi    %r3, %r3, 0x20  # Add Immediate
    ROM:80000000007000D8 4B 9D 22 01                 bl      0x80000000000D22D8 # Branch
    ROM:80000000007000DC 7F E3 FB 78                 mr      %r3, %r31       # Move Register
    ROM:80000000007000E0 64 63 00 05                 oris    %r3, %r3, 5     # OR Immediate Shifted
    ROM:80000000007000E4 60 63 0B 3C                 ori     %r3, %r3, 0xB3C # OR Immediate
    ROM:80000000007000E8 7F E4 FB 78                 mr      %r4, %r31       # Move Register
    ROM:80000000007000EC 64 84 00 2E                 oris    %r4, %r4, 0x2E  # OR Immediate Shifted
    ROM:80000000007000F0 60 84 B1 28                 ori     %r4, %r4, -0x4ED8 # OR Immediate
    ROM:80000000007000F4 38 63 00 10                 addi    %r3, %r3, 0x10  # Add Immediate
    ROM:80000000007000F8 F8 64 01 20                 std     %r3, 0x120(%r4) # Store Double Word
    ROM:80000000007000FC 7F E5 FB 78                 mr      %r5, %r31       # Move Register
    ROM:8000000000700100 64 A5 00 70                 oris    %r5, %r5, 0x70  # OR Immediate Shifted
    ROM:8000000000700104 60 A5 01 50                 ori     %r5, %r5, 0x150 # OR Immediate
    ROM:8000000000700108
    ROM:8000000000700108             loc_8000000000700108:                   # CODE XREF: sub_8000000000700080+A4j
    ROM:8000000000700108 80 65 00 00                 lwz     %r3, 0(%r5)     # Load Word and Zero
    ROM:800000000070010C 28 03 00 00                 cmplwi  %r3, 0          # Compare Logical Word Immediate
    ROM:8000000000700110 41 82 00 18                 beq     loc_8000000000700128 # Branch if equal
    ROM:8000000000700114 80 85 00 04                 lwz     %r4, 4(%r5)     # Load Word and Zero
    ROM:8000000000700118 7C 63 FA 14                 add     %r3, %r3, %r31  # Add
    ROM:800000000070011C 90 83 00 00                 stw     %r4, 0(%r3)     # Store Word
    ROM:8000000000700120 38 A5 00 08                 addi    %r5, %r5, 8     # Add Immediate
    ROM:8000000000700124 4B FF FF E4                 b       loc_8000000000700108 # Branch
    ROM:8000000000700128             # ---------------------------------------------------------------------------
    ROM:8000000000700128
    ROM:8000000000700128             loc_8000000000700128:                   # CODE XREF: sub_8000000000700080+90j
    ROM:8000000000700128 48 00 05 88                 b       sub_80000000007006B0 # Branch
    ROM:8000000000700128             # End of function sub_8000000000700080
    ROM:8000000000700128
    ROM:800000000070012C
    ROM:800000000070012C             # =============== S U B R O U T I N E =======================================
    ROM:800000000070012C
    ROM:800000000070012C
    ROM:800000000070012C             sub_800000000070012C:
    ROM:800000000070012C
    ROM:800000000070012C             .set var_B0, -0xB0
    ROM:800000000070012C             .set arg_98,  0x98
    ROM:800000000070012C             .set arg_A0,  0xA0
    ROM:800000000070012C             .set arg_A8,  0xA8
    ROM:800000000070012C             .set arg_C0,  0xC0
    ROM:800000000070012C
    ROM:800000000070012C F8 21 FF 51                 stdu    %sp, var_B0(%sp) # Store Double Word with Update
    ROM:8000000000700130 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:8000000000700134 FB C1 00 A0                 std     %r30, arg_A0(%sp) # Store Double Word
    ROM:8000000000700138 FB E1 00 A8                 std     %r31, arg_A8(%sp) # Store Double Word
    ROM:800000000070013C FB A1 00 98                 std     %r29, arg_98(%sp) # Store Double Word
    ROM:8000000000700140 F8 01 00 C0                 std     %r0, arg_C0(%sp) # Store Double Word
    ROM:8000000000700144 3B C0 07 D0                 li      %r30, 0x7D0     # Load Immediate
    ROM:8000000000700148 3B E0 00 C8                 li      %r31, 0xC8      # Load Immediate
    ROM:800000000070014C 4B 90 A9 B8                 b       0x800000000000AB04 # Branch
    ROM:800000000070014C             # End of function sub_800000000070012C
    ROM:800000000070014C
    ROM:800000000070014C             # ---------------------------------------------------------------------------
    ROM:8000000000700150 00 04 90 E0                 .long 0x490E0
    ROM:8000000000700154 E8 82 0F 08                 .long 0xE8820F08
    ROM:8000000000700158 00 04 90 E4                 .long 0x490E4
    ROM:800000000070015C E8 7C 00 20                 .long 0xE87C0020
    ROM:8000000000700160 00 04 90 E8                 .long 0x490E8
    ROM:8000000000700164 F8 64 00 00                 .long 0xF8640000
    ROM:8000000000700168 00 04 F0 A8                 .long 0x4F0A8
    ROM:800000000070016C 48 00 1A 9D                 .long 0x48001A9D
    ROM:8000000000700170 00 2A AF C8                 .long 0x2AAFC8
    ROM:8000000000700174 4B DA 5B 80                 .long 0x4BDA5B80
    ROM:8000000000700178 00 04 ED 18                 .long 0x4ED18
    ROM:800000000070017C 38 80 00 00                 .long 0x38800000
    ROM:8000000000700180 00 04 ED 1C                 .long 0x4ED1C
    ROM:8000000000700184 90 83 00 00                 .long 0x90830000
    ROM:8000000000700188 00 04 ED 20                 .long 0x4ED20
    ROM:800000000070018C 4E 80 00 20                 .long 0x4E800020
    ROM:8000000000700190 00 3B A8 90                 .long 0x3BA890
    ROM:8000000000700194 01 00 00 00                 .long 0x1000000
    ROM:8000000000700198 00 05 05 D0                 .long 0x505D0
    ROM:800000000070019C 38 60 00 01                 .long 0x38600001
    ROM:80000000007001A0 00 05 05 D4                 .long 0x505D4
    ROM:80000000007001A4 4E 80 00 20                 .long 0x4E800020
    ROM:80000000007001A8 00 00 00 00                 .long 0
    ROM:80000000007001AC             # ---------------------------------------------------------------------------
    ROM:80000000007001AC 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:80000000007001B0 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:80000000007001B4             # ---------------------------------------------------------------------------
    ROM:80000000007001B4 48 00 02 78                 b       sub_800000000070042C # Branch
    ROM:80000000007001B8             # ---------------------------------------------------------------------------
    ROM:80000000007001B8 48 00 01 EC                 b       sub_80000000007003A4 # Branch
    ROM:80000000007001B8             # ---------------------------------------------------------------------------
    ROM:80000000007001BC 80                          .byte 0x80 # 
    ROM:80000000007001BD 00                          .byte    0
    ROM:80000000007001BE 00                          .byte    0
    ROM:80000000007001BF 00                          .byte    0
    ROM:80000000007001C0 00                          .byte    0
    ROM:80000000007001C1 05                          .byte    5
    ROM:80000000007001C2 0C                          .byte  0xC
    ROM:80000000007001C3 A8                          .byte 0xA8 # 
    ROM:80000000007001C4 80                          .byte 0x80 # 
    ROM:80000000007001C5 00                          .byte    0
    ROM:80000000007001C6 00                          .byte    0
    ROM:80000000007001C7 00                          .byte    0
    ROM:80000000007001C8 00                          .byte    0
    ROM:80000000007001C9 33                          .byte 0x33 # 3
    ROM:80000000007001CA E7                          .byte 0xE7 # 
    ROM:80000000007001CB 20                          .byte 0x20
    ROM:80000000007001CC 80                          .byte 0x80 # 
    ROM:80000000007001CD 00                          .byte    0
    ROM:80000000007001CE 00                          .byte    0
    ROM:80000000007001CF 00                          .byte    0
    ROM:80000000007001D0 00                          .byte    0
    ROM:80000000007001D1 05                          .byte    5
    ROM:80000000007001D2 10                          .byte 0x10
    ROM:80000000007001D3 32                          .byte 0x32 # 2
    ROM:80000000007001D4 80                          .byte 0x80 # 
    ROM:80000000007001D5 00                          .byte    0
    ROM:80000000007001D6 00                          .byte    0
    ROM:80000000007001D7 00                          .byte    0
    ROM:80000000007001D8 00                          .byte    0
    ROM:80000000007001D9 05                          .byte    5
    ROM:80000000007001DA 0B                          .byte  0xB
    ROM:80000000007001DB 7C                          .byte 0x7C # |
    ROM:80000000007001DC 80                          .byte 0x80 # 
    ROM:80000000007001DD 00                          .byte    0
    ROM:80000000007001DE 00                          .byte    0
    ROM:80000000007001DF 00                          .byte    0
    ROM:80000000007001E0 00                          .byte    0
    ROM:80000000007001E1 05                          .byte    5
    ROM:80000000007001E2 0B                          .byte  0xB
    ROM:80000000007001E3 8C                          .byte 0x8C # 
    ROM:80000000007001E4 80                          .byte 0x80 # 
    ROM:80000000007001E5 00                          .byte    0
    ROM:80000000007001E6 00                          .byte    0
    ROM:80000000007001E7 00                          .byte    0
    ROM:80000000007001E8 00                          .byte    0
    ROM:80000000007001E9 05                          .byte    5
    ROM:80000000007001EA 0B                          .byte  0xB
    ROM:80000000007001EB 9C                          .byte 0x9C # 
    ROM:80000000007001EC 80                          .byte 0x80 # 
    ROM:80000000007001ED 00                          .byte    0
    ROM:80000000007001EE 00                          .byte    0
    ROM:80000000007001EF 00                          .byte    0
    ROM:80000000007001F0 00                          .byte    0
    ROM:80000000007001F1 05                          .byte    5
    ROM:80000000007001F2 0B                          .byte  0xB
    ROM:80000000007001F3 D4                          .byte 0xD4 # 
    ROM:80000000007001F4 80                          .byte 0x80 # 
    ROM:80000000007001F5 00                          .byte    0
    ROM:80000000007001F6 00                          .byte    0
    ROM:80000000007001F7 00                          .byte    0
    ROM:80000000007001F8 00                          .byte    0
    ROM:80000000007001F9 33                          .byte 0x33 # 3
    ROM:80000000007001FA E7                          .byte 0xE7 # 
    ROM:80000000007001FB 20                          .byte 0x20
    ROM:80000000007001FC 80                          .byte 0x80 # 
    ROM:80000000007001FD 00                          .byte    0
    ROM:80000000007001FE 00                          .byte    0
    ROM:80000000007001FF 00                          .byte    0
    ROM:8000000000700200 00                          .byte    0
    ROM:8000000000700201 05                          .byte    5
    ROM:8000000000700202 0C                          .byte  0xC
    ROM:8000000000700203 1C                          .byte 0x1C
    ROM:8000000000700204 80                          .byte 0x80 # 
    ROM:8000000000700205 00                          .byte    0
    ROM:8000000000700206 00                          .byte    0
    ROM:8000000000700207 00                          .byte    0
    ROM:8000000000700208 00                          .byte    0
    ROM:8000000000700209 33                          .byte 0x33 # 3
    ROM:800000000070020A E7                          .byte 0xE7 # 
    ROM:800000000070020B 20                          .byte 0x20
    ROM:800000000070020C 80                          .byte 0x80 # 
    ROM:800000000070020D 00                          .byte    0
    ROM:800000000070020E 00                          .byte    0
    ROM:800000000070020F 00                          .byte    0
    ROM:8000000000700210 00                          .byte    0
    ROM:8000000000700211 05                          .byte    5
    ROM:8000000000700212 0C                          .byte  0xC
    ROM:8000000000700213 78                          .byte 0x78 # x
    ROM:8000000000700214 80                          .byte 0x80 # 
    ROM:8000000000700215 00                          .byte    0
    ROM:8000000000700216 00                          .byte    0
    ROM:8000000000700217 00                          .byte    0
    ROM:8000000000700218 00                          .byte    0
    ROM:8000000000700219 33                          .byte 0x33 # 3
    ROM:800000000070021A E7                          .byte 0xE7 # 
    ROM:800000000070021B 20                          .byte 0x20
    ROM:800000000070021C 80                          .byte 0x80 # 
    ROM:800000000070021D 00                          .byte    0
    ROM:800000000070021E 00                          .byte    0
    ROM:800000000070021F 00                          .byte    0
    ROM:8000000000700220 00                          .byte    0
    ROM:8000000000700221 05                          .byte    5
    ROM:8000000000700222 0C                          .byte  0xC
    ROM:8000000000700223 84                          .byte 0x84 # 
    ROM:8000000000700224 80                          .byte 0x80 # 
    ROM:8000000000700225 00                          .byte    0
    ROM:8000000000700226 00                          .byte    0
    ROM:8000000000700227 00                          .byte    0
    ROM:8000000000700228 00                          .byte    0
    ROM:8000000000700229 33                          .byte 0x33 # 3
    ROM:800000000070022A E7                          .byte 0xE7 # 
    ROM:800000000070022B 20                          .byte 0x20
    ROM:800000000070022C 00                          .byte    0
    ROM:800000000070022D 00                          .byte    0
    ROM:800000000070022E 00                          .byte    0
    ROM:800000000070022F 00                          .byte    0
    ROM:8000000000700230 00                          .byte    0
    ROM:8000000000700231 00                          .byte    0
    ROM:8000000000700232 00                          .byte    0
    ROM:8000000000700233 00                          .byte    0
    ROM:8000000000700234 00                          .byte    0
    ROM:8000000000700235 00                          .byte    0
    ROM:8000000000700236 00                          .byte    0
    ROM:8000000000700237 00                          .byte    0
    ROM:8000000000700238 00                          .byte    0
    ROM:8000000000700239 00                          .byte    0
    ROM:800000000070023A 00                          .byte    0
    ROM:800000000070023B 00                          .byte    0
    ROM:800000000070023C 00                          .byte    0
    ROM:800000000070023D 00                          .byte    0
    ROM:800000000070023E 00                          .byte    0
    ROM:800000000070023F 00                          .byte    0
    ROM:8000000000700240 00                          .byte    0
    ROM:8000000000700241 00                          .byte    0
    ROM:8000000000700242 00                          .byte    0
    ROM:8000000000700243 00                          .byte    0
    ROM:8000000000700244
    ROM:8000000000700244             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700244
    ROM:8000000000700244
    ROM:8000000000700244             sub_8000000000700244:
    ROM:8000000000700244
    ROM:8000000000700244             .set var_80, -0x80
    ROM:8000000000700244             .set arg_90,  0x90
    ROM:8000000000700244
    ROM:8000000000700244 F8 21 FF 81                 stdu    %sp, var_80(%sp) # Store Double Word with Update
    ROM:8000000000700248 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:800000000070024C F8 01 00 90                 std     %r0, arg_90(%sp) # Store Double Word
    ROM:8000000000700250 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700254 38 A0 00 01                 li      %r5, 1          # Load Immediate
    ROM:8000000000700258 48 08 1D B1                 bl      0x8000000000782008 # Branch
    ROM:800000000070025C 80 A3 00 08                 lwz     %r5, 8(%r3)     # Load Word and Zero
    ROM:8000000000700260 38 60 00 00                 li      %r3, 0          # Load Immediate
    ROM:8000000000700264 3C 80 AA AA                 lis     %r4, -0x5556 # 0xAAAAC0DE # Load Immediate Shifted
    ROM:8000000000700268 60 84 C0 DE                 ori     %r4, %r4, -0x3F22 # 0xAAAAC0DE # OR Immediate
    ROM:800000000070026C 7C 04 28 40                 cmplw   %r4, %r5        # Compare Logical Word
    ROM:8000000000700270 41 82 00 08                 beq     loc_8000000000700278 # Branch if equal
    ROM:8000000000700274 38 60 FF FF                 li      %r3, -1         # Load Immediate
    ROM:8000000000700278
    ROM:8000000000700278             loc_8000000000700278:                   # CODE XREF: sub_8000000000700244+2Cj
    ROM:8000000000700278 7C 63 07 B4                 extsw   %r3, %r3        # Extend Sign Word
    ROM:800000000070027C E8 01 00 90                 ld      %r0, arg_90(%sp) # Load Double Word
    ROM:8000000000700280 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700284 38 21 00 80                 addi    %sp, %sp, 0x80  # Add Immediate
    ROM:8000000000700288 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:8000000000700288             # End of function sub_8000000000700244
    ROM:8000000000700288
    ROM:800000000070028C
    ROM:800000000070028C             # =============== S U B R O U T I N E =======================================
    ROM:800000000070028C
    ROM:800000000070028C
    ROM:800000000070028C             sub_800000000070028C:
    ROM:800000000070028C
    ROM:800000000070028C             .set var_80, -0x80
    ROM:800000000070028C             .set arg_70,  0x70
    ROM:800000000070028C             .set arg_90,  0x90
    ROM:800000000070028C
    ROM:800000000070028C F8 21 FF 81                 stdu    %sp, var_80(%sp) # Store Double Word with Update
    ROM:8000000000700290 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:8000000000700294 F8 01 00 90                 std     %r0, arg_90(%sp) # Store Double Word
    ROM:8000000000700298 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:800000000070029C 48 08 1D 99                 bl      0x8000000000782034 # Branch
    ROM:80000000007002A0 38 81 00 70                 addi    %r4, %sp, arg_70 # Add Immediate
    ROM:80000000007002A4 38 A0 00 00                 li      %r5, 0          # Load Immediate
    ROM:80000000007002A8 F8 A4 00 00                 std     %r5, 0(%r4)     # Store Double Word
    ROM:80000000007002AC 38 C0 21 AA                 li      %r6, 0x21AA     # Load Immediate
    ROM:80000000007002B0 B0 C4 00 00                 sth     %r6, 0(%r4)     # Store Half Word
    ROM:80000000007002B4 38 C0 00 00                 li      %r6, 0          # Load Immediate
    ROM:80000000007002B8 B0 C4 00 06                 sth     %r6, 6(%r4)     # Store Half Word
    ROM:80000000007002BC 38 C0 00 01                 li      %r6, 1          # Load Immediate
    ROM:80000000007002C0 78 C6 F8 06                 rldicr  %r6, %r6, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007002C4 64 C6 00 05                 oris    %r6, %r6, 5     # OR Immediate Shifted
    ROM:80000000007002C8 60 C6 0B AC                 ori     %r6, %r6, 0xBAC # OR Immediate
    ROM:80000000007002CC 38 E0 00 00                 li      %r7, 0          # Load Immediate
    ROM:80000000007002D0 48 08 1C CD                 bl      0x8000000000781F9C # Branch
    ROM:80000000007002D4 38 60 00 00                 li      %r3, 0          # Load Immediate
    ROM:80000000007002D8 E8 01 00 90                 ld      %r0, arg_90(%sp) # Load Double Word
    ROM:80000000007002DC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007002E0 38 21 00 80                 addi    %sp, %sp, 0x80  # Add Immediate
    ROM:80000000007002E4 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:80000000007002E4             # End of function sub_800000000070028C
    ROM:80000000007002E4
    ROM:80000000007002E8
    ROM:80000000007002E8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007002E8
    ROM:80000000007002E8
    ROM:80000000007002E8             nullsub_1:
    ROM:80000000007002E8 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:80000000007002E8             # End of function nullsub_1
    ROM:80000000007002E8
    ROM:80000000007002EC
    ROM:80000000007002EC             # =============== S U B R O U T I N E =======================================
    ROM:80000000007002EC
    ROM:80000000007002EC
    ROM:80000000007002EC             sub_80000000007002EC:
    ROM:80000000007002EC 39 60 00 FF                 li      %r11, 0xFF      # Load Immediate
    ROM:80000000007002F0 44 00 00 22                 hvsc
    ROM:80000000007002F4 2C 03 00 00                 cmpwi   %r3, 0          # Compare Word Immediate
    ROM:80000000007002F8 40 82 00 1C                 bne     locret_8000000000700314 # Branch if not equal
    ROM:80000000007002FC 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700300 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700304 64 63 00 05                 oris    %r3, %r3, 5     # OR Immediate Shifted
    ROM:8000000000700308 60 63 0B BC                 ori     %r3, %r3, 0xBBC # OR Immediate
    ROM:800000000070030C 38 80 00 01                 li      %r4, 1          # Load Immediate
    ROM:8000000000700310 90 83 00 10                 stw     %r4, 0x10(%r3)  # Store Word
    ROM:8000000000700314
    ROM:8000000000700314             locret_8000000000700314:                # CODE XREF: sub_80000000007002EC+Cj
    ROM:8000000000700314 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:8000000000700314             # End of function sub_80000000007002EC
    ROM:8000000000700314
    ROM:8000000000700318
    ROM:8000000000700318             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700318
    ROM:8000000000700318
    ROM:8000000000700318             sub_8000000000700318:
    ROM:8000000000700318
    ROM:8000000000700318             .set var_D0, -0xD0
    ROM:8000000000700318             .set arg_70,  0x70
    ROM:8000000000700318             .set arg_C8,  0xC8
    ROM:8000000000700318             .set arg_E0,  0xE0
    ROM:8000000000700318
    ROM:8000000000700318 F8 21 FF 31                 stdu    %sp, var_D0(%sp) # Store Double Word with Update
    ROM:800000000070031C 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:8000000000700320 F8 01 00 E0                 std     %r0, arg_E0(%sp) # Store Double Word
    ROM:8000000000700324 FB E1 00 C8                 std     %r31, arg_C8(%sp) # Store Double Word
    ROM:8000000000700328 38 81 00 70                 addi    %r4, %sp, arg_70 # Add Immediate
    ROM:800000000070032C 48 16 2E 81                 bl      0x80000000008631AC # Branch
    ROM:8000000000700330 3B E0 00 01                 li      %r31, 1         # Load Immediate
    ROM:8000000000700334 7B FF F8 06                 rldicr  %r31, %r31, 63,0 # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700338 67 FF 00 05                 oris    %r31, %r31, 5   # OR Immediate Shifted
    ROM:800000000070033C 63 FF 0B BC                 ori     %r31, %r31, 0xBBC # OR Immediate
    ROM:8000000000700340 E8 7F 00 00                 ld      %r3, 0(%r31)    # Load Double Word
    ROM:8000000000700344 2C 23 00 00                 cmpdi   %r3, 0          # Compare Double Word Immediate
    ROM:8000000000700348 41 82 00 0C                 beq     loc_8000000000700354 # Branch if equal
    ROM:800000000070034C 38 80 00 27                 li      %r4, 0x27       # Load Immediate
    ROM:8000000000700350 48 01 17 E9                 bl      0x8000000000711B38 # Branch
    ROM:8000000000700354
    ROM:8000000000700354             loc_8000000000700354:                   # CODE XREF: sub_8000000000700318+30j
    ROM:8000000000700354 38 80 00 27                 li      %r4, 0x27       # Load Immediate
    ROM:8000000000700358 38 60 08 00                 li      %r3, 0x800      # Load Immediate
    ROM:800000000070035C 48 01 13 9D                 bl      0x80000000007116F8 # Branch
    ROM:8000000000700360 F8 7F 00 00                 std     %r3, 0(%r31)    # Store Double Word
    ROM:8000000000700364 E8 81 00 70                 ld      %r4, arg_70(%sp) # Load Double Word
    ROM:8000000000700368 4B FF C5 F9                 bl      0x80000000006FC960 # Branch
    ROM:800000000070036C E8 61 00 70                 ld      %r3, arg_70(%sp) # Load Double Word
    ROM:8000000000700370 38 80 00 27                 li      %r4, 0x27       # Load Immediate
    ROM:8000000000700374 48 01 17 C5                 bl      0x8000000000711B38 # Branch
    ROM:8000000000700378 E8 7F 00 00                 ld      %r3, 0(%r31)    # Load Double Word
    ROM:800000000070037C 4B FF C6 0D                 bl      0x80000000006FC988 # Branch
    ROM:8000000000700380 E8 9F 00 00                 ld      %r4, 0(%r31)    # Load Double Word
    ROM:8000000000700384 7C 64 1A 14                 add     %r3, %r4, %r3   # Add
    ROM:8000000000700388 F8 7F 00 08                 std     %r3, 8(%r31)    # Store Double Word
    ROM:800000000070038C 38 60 00 00                 li      %r3, 0          # Load Immediate
    ROM:8000000000700390 EB E1 00 C8                 ld      %r31, arg_C8(%sp) # Load Double Word
    ROM:8000000000700394 E8 01 00 E0                 ld      %r0, arg_E0(%sp) # Load Double Word
    ROM:8000000000700398 38 21 00 D0                 addi    %sp, %sp, 0xD0  # Add Immediate
    ROM:800000000070039C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007003A0 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:80000000007003A0             # End of function sub_8000000000700318
    ROM:80000000007003A0
    ROM:80000000007003A4
    ROM:80000000007003A4             # =============== S U B R O U T I N E =======================================
    ROM:80000000007003A4
    ROM:80000000007003A4
    ROM:80000000007003A4             sub_80000000007003A4:                   # CODE XREF: ROM:80000000007001B8j
    ROM:80000000007003A4
    ROM:80000000007003A4             .set var_A0, -0xA0
    ROM:80000000007003A4             .set arg_70,  0x70
    ROM:80000000007003A4             .set arg_78,  0x78
    ROM:80000000007003A4             .set arg_80,  0x80
    ROM:80000000007003A4             .set arg_88,  0x88
    ROM:80000000007003A4             .set arg_98,  0x98
    ROM:80000000007003A4             .set arg_B0,  0xB0
    ROM:80000000007003A4
    ROM:80000000007003A4 F8 21 FF 61                 stdu    %sp, var_A0(%sp) # Store Double Word with Update
    ROM:80000000007003A8 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:80000000007003AC FB 81 00 80                 std     %r28, arg_80(%sp) # Store Double Word
    ROM:80000000007003B0 FB A1 00 88                 std     %r29, arg_88(%sp) # Store Double Word
    ROM:80000000007003B4 FB E1 00 98                 std     %r31, arg_98(%sp) # Store Double Word
    ROM:80000000007003B8 FB 41 00 70                 std     %r26, arg_70(%sp) # Store Double Word
    ROM:80000000007003BC FB 61 00 78                 std     %r27, arg_78(%sp) # Store Double Word
    ROM:80000000007003C0 F8 01 00 B0                 std     %r0, arg_B0(%sp) # Store Double Word
    ROM:80000000007003C4 7C 9C 23 78                 mr      %r28, %r4       # Move Register
    ROM:80000000007003C8 7C 7D 1B 78                 mr      %r29, %r3       # Move Register
    ROM:80000000007003CC 3B E0 00 01                 li      %r31, 1         # Load Immediate
    ROM:80000000007003D0 7B FF F8 06                 rldicr  %r31, %r31, 63,0 # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007003D4 7F A3 EB 78                 mr      %r3, %r29       # Move Register
    ROM:80000000007003D8 7F E4 FB 78                 mr      %r4, %r31       # Move Register
    ROM:80000000007003DC 64 84 00 05                 oris    %r4, %r4, 5     # OR Immediate Shifted
    ROM:80000000007003E0 60 84 10 28                 ori     %r4, %r4, 0x1028 # OR Immediate
    ROM:80000000007003E4 38 A0 00 09                 li      %r5, 9          # Load Immediate
    ROM:80000000007003E8 4B FF C5 CD                 bl      0x80000000006FC9B4 # Branch
    ROM:80000000007003EC 28 23 00 00                 cmpldi  %r3, 0          # Compare Logical Double Word Immediate
    ROM:80000000007003F0 40 82 00 34                 bne     loc_8000000000700424 # Branch if not equal
    ROM:80000000007003F4 67 FF 00 05                 oris    %r31, %r31, 5   # OR Immediate Shifted
    ROM:80000000007003F8 63 FF 0B BC                 ori     %r31, %r31, 0xBBC # OR Immediate
    ROM:80000000007003FC 80 7F 00 10                 lwz     %r3, 0x10(%r31) # Load Word and Zero
    ROM:8000000000700400 28 03 00 00                 cmplwi  %r3, 0          # Compare Logical Word Immediate
    ROM:8000000000700404 41 82 00 20                 beq     loc_8000000000700424 # Branch if equal
    ROM:8000000000700408 E8 7F 00 00                 ld      %r3, 0(%r31)    # Load Double Word
    ROM:800000000070040C 28 23 00 00                 cmpldi  %r3, 0          # Compare Logical Double Word Immediate
    ROM:8000000000700410 41 82 00 14                 beq     loc_8000000000700424 # Branch if equal
    ROM:8000000000700414 E8 7F 00 08                 ld      %r3, 8(%r31)    # Load Double Word
    ROM:8000000000700418 38 9D 00 09                 addi    %r4, %r29, 9    # Add Immediate
    ROM:800000000070041C 4B FF C5 45                 bl      0x80000000006FC960 # Branch
    ROM:8000000000700420 EB BF 00 00                 ld      %r29, 0(%r31)   # Load Double Word
    ROM:8000000000700424
    ROM:8000000000700424             loc_8000000000700424:                   # CODE XREF: sub_80000000007003A4+4Cj
    ROM:8000000000700424                                                     # sub_80000000007003A4+60j ...
    ROM:8000000000700424 7F A3 EB 78                 mr      %r3, %r29       # Move Register
    ROM:8000000000700428 48 25 A2 38                 b       0x800000000095A660 # Branch
    ROM:8000000000700428             # End of function sub_80000000007003A4
    ROM:8000000000700428
    ROM:800000000070042C
    ROM:800000000070042C             # =============== S U B R O U T I N E =======================================
    ROM:800000000070042C
    ROM:800000000070042C
    ROM:800000000070042C             sub_800000000070042C:                   # CODE XREF: ROM:80000000007001B4j
    ROM:800000000070042C
    ROM:800000000070042C             .set var_1A0, -0x1A0
    ROM:800000000070042C             .set arg_78,  0x78
    ROM:800000000070042C             .set arg_80,  0x80
    ROM:800000000070042C             .set arg_88,  0x88
    ROM:800000000070042C             .set arg_90,  0x90
    ROM:800000000070042C             .set arg_98,  0x98
    ROM:800000000070042C             .set arg_1B0,  0x1B0
    ROM:800000000070042C
    ROM:800000000070042C 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:8000000000700430 F8 21 FE 61                 stdu    %sp, var_1A0(%sp) # Store Double Word with Update
    ROM:8000000000700434 FB 61 00 78                 std     %r27, arg_78(%sp) # Store Double Word
    ROM:8000000000700438 FB 81 00 80                 std     %r28, arg_80(%sp) # Store Double Word
    ROM:800000000070043C FB A1 00 88                 std     %r29, arg_88(%sp) # Store Double Word
    ROM:8000000000700440 FB C1 00 90                 std     %r30, arg_90(%sp) # Store Double Word
    ROM:8000000000700444 FB E1 00 98                 std     %r31, arg_98(%sp) # Store Double Word
    ROM:8000000000700448 F8 01 01 B0                 std     %r0, arg_1B0(%sp) # Store Double Word
    ROM:800000000070044C 7C 7D 1B 78                 mr      %r29, %r3       # Move Register
    ROM:8000000000700450 7C 9E 23 78                 mr      %r30, %r4       # Move Register
    ROM:8000000000700454 3B E0 00 01                 li      %r31, 1         # Load Immediate
    ROM:8000000000700458 7B FF F8 06                 rldicr  %r31, %r31, 63,0 # Rotate Left Double Word Immediate then Clear Right
    ROM:800000000070045C EB 82 96 00                 ld      %r28, -0x6A00(%rtoc) # Load Double Word
    ROM:8000000000700460 EB 9C 00 68                 ld      %r28, 0x68(%r28) # Load Double Word
    ROM:8000000000700464 EB 9C 00 18                 ld      %r28, 0x18(%r28) # Load Double Word
    ROM:8000000000700468 EB 62 0F 08                 ld      %r27, 0xF08(%rtoc) # Load Double Word
    ROM:800000000070046C E9 3D 00 18                 ld      %r9, 0x18(%r29) # Load Double Word
    ROM:8000000000700470 81 29 00 30                 lwz     %r9, 0x30(%r9)  # Load Word and Zero
    ROM:8000000000700474 79 29 84 02                 rldicl  %r9, %r9, 48,16 # Rotate Left Double Word Immediate then Clear Left
    ROM:8000000000700478 2C 09 00 29                 cmpwi   %r9, 0x29       # Compare Word Immediate
    ROM:800000000070047C 40 82 00 58                 bne     loc_80000000007004D4 # Branch if not equal
    ROM:8000000000700480 E8 9C 00 10                 ld      %r4, 0x10(%r28) # Load Double Word
    ROM:8000000000700484 78 85 C1 E4                 rldicr  %r5, %r4, 24,39 # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700488 78 A5 46 20                 rldicl  %r5, %r5, 8,56  # Rotate Left Double Word Immediate then Clear Left
    ROM:800000000070048C 2C 05 00 FF                 cmpwi   %r5, 0xFF       # Compare Word Immediate
    ROM:8000000000700490 41 82 00 18                 beq     loc_80000000007004A8 # Branch if equal
    ROM:8000000000700494 60 84 00 03                 ori     %r4, %r4, 3     # OR Immediate
    ROM:8000000000700498 F8 9C 00 10                 std     %r4, 0x10(%r28) # Store Double Word
    ROM:800000000070049C 38 60 00 06                 li      %r3, 6          # Load Immediate
    ROM:80000000007004A0 90 7E 00 00                 stw     %r3, 0(%r30)    # Store Word
    ROM:80000000007004A4 48 00 00 14                 b       loc_80000000007004B8 # Branch
    ROM:80000000007004A8             # ---------------------------------------------------------------------------
    ROM:80000000007004A8
    ROM:80000000007004A8             loc_80000000007004A8:                   # CODE XREF: sub_800000000070042C+64j
    ROM:80000000007004A8 60 84 00 02                 ori     %r4, %r4, 2     # OR Immediate
    ROM:80000000007004AC F8 9C 00 10                 std     %r4, 0x10(%r28) # Store Double Word
    ROM:80000000007004B0 38 60 00 2C                 li      %r3, 0x2C       # Load Immediate
    ROM:80000000007004B4 90 7E 00 00                 stw     %r3, 0(%r30)    # Store Word
    ROM:80000000007004B8
    ROM:80000000007004B8             loc_80000000007004B8:                   # CODE XREF: sub_800000000070042C+78j
    ROM:80000000007004B8 80 BC 00 04                 lwz     %r5, 4(%r28)    # Load Word and Zero
    ROM:80000000007004BC E8 9C 00 08                 ld      %r4, 8(%r28)    # Load Double Word
    ROM:80000000007004C0 E8 7B 00 00                 ld      %r3, 0(%r27)    # Load Double Word
    ROM:80000000007004C4 7D 23 2A 14                 add     %r9, %r3, %r5   # Add
    ROM:80000000007004C8 F9 3B 00 00                 std     %r9, 0(%r27)    # Store Double Word
    ROM:80000000007004CC 48 02 B1 C1                 bl      0x800000000072B68C # Branch
    ROM:80000000007004D0 48 00 00 C4                 b       loc_8000000000700594 # Branch
    ROM:80000000007004D4             # ---------------------------------------------------------------------------
    ROM:80000000007004D4
    ROM:80000000007004D4             loc_80000000007004D4:                   # CODE XREF: sub_800000000070042C+50j
    ROM:80000000007004D4 7F A3 EB 78                 mr      %r3, %r29       # Move Register
    ROM:80000000007004D8 7F C4 F3 78                 mr      %r4, %r30       # Move Register
    ROM:80000000007004DC 4B FF D9 B1                 bl      0x80000000006FDE8C # Branch
    ROM:80000000007004E0 7F FD FB 78                 mr      %r29, %r31      # Move Register
    ROM:80000000007004E4 67 BD 00 05                 oris    %r29, %r29, 5   # OR Immediate Shifted
    ROM:80000000007004E8 63 BD 0B D0                 ori     %r29, %r29, 0xBD0 # OR Immediate
    ROM:80000000007004EC 80 7D 00 00                 lwz     %r3, 0(%r29)    # Load Word and Zero
    ROM:80000000007004F0 80 BC 00 04                 lwz     %r5, 4(%r28)    # Load Word and Zero
    ROM:80000000007004F4 7C 63 2A 14                 add     %r3, %r3, %r5   # Add
    ROM:80000000007004F8 90 7D 00 00                 stw     %r3, 0(%r29)    # Store Word
    ROM:80000000007004FC E8 9C 00 10                 ld      %r4, 0x10(%r28) # Load Double Word
    ROM:8000000000700500 78 85 C1 E4                 rldicr  %r5, %r4, 24,39 # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700504 78 A5 46 20                 rldicl  %r5, %r5, 8,56  # Rotate Left Double Word Immediate then Clear Left
    ROM:8000000000700508 2C 05 00 FF                 cmpwi   %r5, 0xFF       # Compare Word Immediate
    ROM:800000000070050C 40 82 00 88                 bne     loc_8000000000700594 # Branch if not equal
    ROM:8000000000700510 E8 7B 00 00                 ld      %r3, 0(%r27)    # Load Double Word
    ROM:8000000000700514 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700518 38 C0 00 00                 li      %r6, 0          # Load Immediate
    ROM:800000000070051C
    ROM:800000000070051C             loc_800000000070051C:                   # CODE XREF: sub_800000000070042C+104j
    ROM:800000000070051C 7C E3 22 14                 add     %r7, %r3, %r4   # Add
    ROM:8000000000700520 80 A7 00 00                 lwz     %r5, 0(%r7)     # Load Word and Zero
    ROM:8000000000700524 7C C6 2A 78                 xor     %r6, %r6, %r5   # XOR
    ROM:8000000000700528 38 84 00 04                 addi    %r4, %r4, 4     # Add Immediate
    ROM:800000000070052C 28 24 04 00                 cmpldi  %r4, 0x400      # Compare Logical Double Word Immediate
    ROM:8000000000700530 40 82 FF EC                 bne     loc_800000000070051C # Branch if not equal
    ROM:8000000000700534 80 7D 00 00                 lwz     %r3, 0(%r29)    # Load Word and Zero
    ROM:8000000000700538 78 C6 07 C6                 rldicr  %r6, %r6, 32,31 # Rotate Left Double Word Immediate then Clear Right
    ROM:800000000070053C 7C C6 1B 78                 or      %r6, %r6, %r3   # OR
    ROM:8000000000700540 38 60 00 00                 li      %r3, 0          # Load Immediate
    ROM:8000000000700544 90 7D 00 00                 stw     %r3, 0(%r29)    # Store Word
    ROM:8000000000700548 7F E7 FB 78                 mr      %r7, %r31       # Move Register
    ROM:800000000070054C 64 E7 00 05                 oris    %r7, %r7, 5     # OR Immediate Shifted
    ROM:8000000000700550 60 E7 0F 70                 ori     %r7, %r7, 0xF70 # OR Immediate
    ROM:8000000000700554
    ROM:8000000000700554             loc_8000000000700554:                   # CODE XREF: sub_800000000070042C+13Cj
    ROM:8000000000700554 E8 67 00 00                 ld      %r3, 0(%r7)     # Load Double Word
    ROM:8000000000700558 28 23 00 00                 cmpldi  %r3, 0          # Compare Logical Double Word Immediate
    ROM:800000000070055C 41 82 00 38                 beq     loc_8000000000700594 # Branch if equal
    ROM:8000000000700560 38 E7 00 10                 addi    %r7, %r7, 0x10  # Add Immediate
    ROM:8000000000700564 7C 23 30 40                 cmpld   %r3, %r6        # Compare Logical Double Word
    ROM:8000000000700568 40 82 FF EC                 bne     loc_8000000000700554 # Branch if not equal
    ROM:800000000070056C E8 A7 FF F8                 ld      %r5, -8(%r7)    # Load Double Word
    ROM:8000000000700570 E8 FB 00 00                 ld      %r7, 0(%r27)    # Load Double Word
    ROM:8000000000700574
    ROM:8000000000700574             loc_8000000000700574:                   # CODE XREF: sub_800000000070042C+164j
    ROM:8000000000700574 80 65 00 00                 lwz     %r3, 0(%r5)     # Load Word and Zero
    ROM:8000000000700578 28 03 00 00                 cmplwi  %r3, 0          # Compare Logical Word Immediate
    ROM:800000000070057C 41 82 00 18                 beq     loc_8000000000700594 # Branch if equal
    ROM:8000000000700580 80 85 00 04                 lwz     %r4, 4(%r5)     # Load Word and Zero
    ROM:8000000000700584 7C 63 3A 14                 add     %r3, %r3, %r7   # Add
    ROM:8000000000700588 90 83 00 00                 stw     %r4, 0(%r3)     # Store Word
    ROM:800000000070058C 38 A5 00 08                 addi    %r5, %r5, 8     # Add Immediate
    ROM:8000000000700590 4B FF FF E4                 b       loc_8000000000700574 # Branch
    ROM:8000000000700594             # ---------------------------------------------------------------------------
    ROM:8000000000700594
    ROM:8000000000700594             loc_8000000000700594:                   # CODE XREF: sub_800000000070042C+A4j
    ROM:8000000000700594                                                     # sub_800000000070042C+E0j ...
    ROM:8000000000700594 38 60 00 00                 li      %r3, 0          # Load Immediate
    ROM:8000000000700598 EB 61 00 78                 ld      %r27, arg_78(%sp) # Load Double Word
    ROM:800000000070059C EB 81 00 80                 ld      %r28, arg_80(%sp) # Load Double Word
    ROM:80000000007005A0 EB A1 00 88                 ld      %r29, arg_88(%sp) # Load Double Word
    ROM:80000000007005A4 EB C1 00 90                 ld      %r30, arg_90(%sp) # Load Double Word
    ROM:80000000007005A8 EB E1 00 98                 ld      %r31, arg_98(%sp) # Load Double Word
    ROM:80000000007005AC E8 01 01 B0                 ld      %r0, arg_1B0(%sp) # Load Double Word
    ROM:80000000007005B0 38 21 01 A0                 addi    %sp, %sp, 0x1A0 # Add Immediate
    ROM:80000000007005B4 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007005B8 4E 80 00 20                 blr                     # Branch unconditionally
    ROM:80000000007005B8             # End of function sub_800000000070042C
    ROM:80000000007005B8
    ROM:80000000007005BC
    ROM:80000000007005BC             # =============== S U B R O U T I N E =======================================
    ROM:80000000007005BC
    ROM:80000000007005BC
    ROM:80000000007005BC             sub_80000000007005BC:
    ROM:80000000007005BC
    ROM:80000000007005BC             .set var_B0, -0xB0
    ROM:80000000007005BC             .set arg_98,  0x98
    ROM:80000000007005BC             .set arg_A0,  0xA0
    ROM:80000000007005BC             .set arg_A8,  0xA8
    ROM:80000000007005BC             .set arg_C0,  0xC0
    ROM:80000000007005BC
    ROM:80000000007005BC F8 21 FF 51                 stdu    %sp, var_B0(%sp) # Store Double Word with Update
    ROM:80000000007005C0 7C 08 02 A6                 mflr    %r0             # Move from link register
    ROM:80000000007005C4 FB C1 00 A0                 std     %r30, arg_A0(%sp) # Store Double Word
    ROM:80000000007005C8 FB E1 00 A8                 std     %r31, arg_A8(%sp) # Store Double Word
    ROM:80000000007005CC FB A1 00 98                 std     %r29, arg_98(%sp) # Store Double Word
    ROM:80000000007005D0 F8 01 00 C0                 std     %r0, arg_C0(%sp) # Store Double Word
    ROM:80000000007005D4 3B C0 0F A0                 li      %r30, 0xFA0     # Load Immediate
    ROM:80000000007005D8 3B E0 00 C8                 li      %r31, 0xC8      # Load Immediate
    ROM:80000000007005DC 4B FB 9B 98                 b       0x80000000006BA174 # Branch
    ROM:80000000007005DC             # End of function sub_80000000007005BC
    ROM:80000000007005DC
    ROM:80000000007005DC             # ---------------------------------------------------------------------------
    ROM:80000000007005E0 A0                          .byte 0xA0 # 
    ROM:80000000007005E1 55                          .byte 0x55 # U
    ROM:80000000007005E2 6F                          .byte 0x6F # o
    ROM:80000000007005E3 3D                          .byte 0x3D # =
    ROM:80000000007005E4 00                          .byte    0
    ROM:80000000007005E5 2C                          .byte 0x2C # ,
    ROM:80000000007005E6 B8                          .byte 0xB8 # 
    ROM:80000000007005E7 FD                          .byte 0xFD # 
    ROM:80000000007005E8 80                          .byte 0x80 # 
    ROM:80000000007005E9 00                          .byte    0
    ROM:80000000007005EA 00                          .byte    0
    ROM:80000000007005EB 00                          .byte    0
    ROM:80000000007005EC 00                          .byte    0
    ROM:80000000007005ED 05                          .byte    5
    ROM:80000000007005EE 0F                          .byte  0xF
    ROM:80000000007005EF B8                          .byte 0xB8 # 
    ROM:80000000007005F0 8C                          .byte 0x8C # 
    ROM:80000000007005F1 0A                          .byte  0xA
    ROM:80000000007005F2 94                          .byte 0x94 # 
    ROM:80000000007005F3 8C                          .byte 0x8C # 
    ROM:80000000007005F4 00                          .byte    0
    ROM:80000000007005F5 0D                          .byte  0xD
    ROM:80000000007005F6 99                          .byte 0x99 # 
    ROM:80000000007005F7 B1                          .byte 0xB1 # 
    ROM:80000000007005F8 80                          .byte 0x80 # 
    ROM:80000000007005F9 00                          .byte    0
    ROM:80000000007005FA 00                          .byte    0
    ROM:80000000007005FB 00                          .byte    0
    ROM:80000000007005FC 00                          .byte    0
    ROM:80000000007005FD 05                          .byte    5
    ROM:80000000007005FE 0F                          .byte  0xF
    ROM:80000000007005FF E0                          .byte 0xE0 # 
    ROM:8000000000700600 A2                          .byte 0xA2 # 
    ROM:8000000000700601 BC                          .byte 0xBC # +
    ROM:8000000000700602 1A                          .byte 0x1A
    ROM:8000000000700603 56                          .byte 0x56 # V
    ROM:8000000000700604 00                          .byte    0
    ROM:8000000000700605 05                          .byte    5
    ROM:8000000000700606 2A                          .byte 0x2A # *
    ROM:8000000000700607 DC                          .byte 0xDC # _
    ROM:8000000000700608 80                          .byte 0x80 # 
    ROM:8000000000700609 00                          .byte    0
    ROM:800000000070060A 00                          .byte    0
    ROM:800000000070060B 00                          .byte    0
    ROM:800000000070060C 00                          .byte    0
    ROM:800000000070060D 05                          .byte    5
    ROM:800000000070060E 10                          .byte 0x10
    ROM:800000000070060F 04                          .byte    4
    ROM:8000000000700610 6B                          .byte 0x6B # k
    ROM:8000000000700611 70                          .byte 0x70 # p
    ROM:8000000000700612 28                          .byte 0x28 # (
    ROM:8000000000700613 02                          .byte    2
    ROM:8000000000700614 00                          .byte    0
    ROM:8000000000700615 02                          .byte    2
    ROM:8000000000700616 00                          .byte    0
    ROM:8000000000700617 17                          .byte 0x17
    ROM:8000000000700618 80                          .byte 0x80 # 
    ROM:8000000000700619 00                          .byte    0
    ROM:800000000070061A 00                          .byte    0
    ROM:800000000070061B 00                          .byte    0
    ROM:800000000070061C 00                          .byte    0
    ROM:800000000070061D 05                          .byte    5
    ROM:800000000070061E 0F                          .byte  0xF
    ROM:800000000070061F D4                          .byte 0xD4 # 
    ROM:8000000000700620 00                          .byte    0
    ROM:8000000000700621 00                          .byte    0
    ROM:8000000000700622 00                          .byte    0
    ROM:8000000000700623 00                          .byte    0
    ROM:8000000000700624 00                          .byte    0
    ROM:8000000000700625 00                          .byte    0
    ROM:8000000000700626 00                          .byte    0
    ROM:8000000000700627 00                          .byte    0
    ROM:8000000000700628 00                          .byte    0
    ROM:8000000000700629 30                          .byte 0x30 # 0
    ROM:800000000070062A 53                          .byte 0x53 # S
    ROM:800000000070062B 54                          .byte 0x54 # T
    ROM:800000000070062C 38                          .byte 0x38 # 8
    ROM:800000000070062D 60                          .byte 0x60 # `
    ROM:800000000070062E 00                          .byte    0
    ROM:800000000070062F 82                          .byte 0x82 # 
    ROM:8000000000700630 00                          .byte    0
    ROM:8000000000700631 5F                          .byte 0x5F # _
    ROM:8000000000700632 3F                          .byte 0x3F # ?
    ROM:8000000000700633 C0                          .byte 0xC0 # +
    ROM:8000000000700634 38                          .byte 0x38 # 8
    ROM:8000000000700635 60                          .byte 0x60 # `
    ROM:8000000000700636 00                          .byte    0
    ROM:8000000000700637 01                          .byte    1
    ROM:8000000000700638 00                          .byte    0
    ROM:8000000000700639 5F                          .byte 0x5F # _
    ROM:800000000070063A 3F                          .byte 0x3F # ?
    ROM:800000000070063B C4                          .byte 0xC4 # -
    ROM:800000000070063C 4E                          .byte 0x4E # N
    ROM:800000000070063D 80                          .byte 0x80 # 
    ROM:800000000070063E 00                          .byte    0
    ROM:800000000070063F 20                          .byte 0x20
    ROM:8000000000700640 00                          .byte    0
    ROM:8000000000700641 00                          .byte    0
    ROM:8000000000700642 00                          .byte    0
    ROM:8000000000700643 00                          .byte    0
    ROM:8000000000700644 00                          .byte    0
    ROM:8000000000700645 02                          .byte    2
    ROM:8000000000700646 ED                          .byte 0xED # 
    ROM:8000000000700647 0C                          .byte  0xC
    ROM:8000000000700648 3B                          .byte 0x3B # ;
    ROM:8000000000700649 A0                          .byte 0xA0 # 
    ROM:800000000070064A 00                          .byte    0
    ROM:800000000070064B 01                          .byte    1
    ROM:800000000070064C 00                          .byte    0
    ROM:800000000070064D 00                          .byte    0
    ROM:800000000070064E 00                          .byte    0
    ROM:800000000070064F 00                          .byte    0
    ROM:8000000000700650 00                          .byte    0
    ROM:8000000000700651 22                          .byte 0x22 # "
    ROM:8000000000700652 B8                          .byte 0xB8 # 
    ROM:8000000000700653 88                          .byte 0x88 # 
    ROM:8000000000700654 5F                          .byte 0x5F # _
    ROM:8000000000700655 74                          .byte 0x74 # t
    ROM:8000000000700656 6F                          .byte 0x6F # o
    ROM:8000000000700657 6F                          .byte 0x6F # o
    ROM:8000000000700658 00                          .byte    0
    ROM:8000000000700659 22                          .byte 0x22 # "
    ROM:800000000070065A B8                          .byte 0xB8 # 
    ROM:800000000070065B 8C                          .byte 0x8C # 
    ROM:800000000070065C 6C                          .byte 0x6C # l
    ROM:800000000070065D 32                          .byte 0x32 # 2
    ROM:800000000070065E 2E                          .byte 0x2E # .
    ROM:800000000070065F 78                          .byte 0x78 # x
    ROM:8000000000700660 00                          .byte    0
    ROM:8000000000700661 22                          .byte 0x22 # "
    ROM:8000000000700662 B8                          .byte 0xB8 # 
    ROM:8000000000700663 90                          .byte 0x90 # 
    ROM:8000000000700664 6D                          .byte 0x6D # m
    ROM:8000000000700665 6C                          .byte 0x6C # l
    ROM:8000000000700666 23                          .byte 0x23 # #
    ROM:8000000000700667 72                          .byte 0x72 # r
    ROM:8000000000700668 00                          .byte    0
    ROM:8000000000700669 22                          .byte 0x22 # "
    ROM:800000000070066A B8                          .byte 0xB8 # 
    ROM:800000000070066B 94                          .byte 0x94 # 
    ROM:800000000070066C 6F                          .byte 0x6F # o
    ROM:800000000070066D 6F                          .byte 0x6F # o
    ROM:800000000070066E 74                          .byte 0x74 # t
    ROM:800000000070066F 00                          .byte    0
    ROM:8000000000700670 00                          .byte    0
    ROM:8000000000700671 00                          .byte    0
    ROM:8000000000700672 00                          .byte    0
    ROM:8000000000700673 00                          .byte    0
    ROM:8000000000700674 00                          .byte    0
    ROM:8000000000700675 0D                          .byte  0xD
    ROM:8000000000700676 68                          .byte 0x68 # h
    ROM:8000000000700677 B8                          .byte 0xB8 # 
    ROM:8000000000700678 5F                          .byte 0x5F # _
    ROM:8000000000700679 74                          .byte 0x74 # t
    ROM:800000000070067A 6F                          .byte 0x6F # o
    ROM:800000000070067B 6F                          .byte 0x6F # o
    ROM:800000000070067C 00                          .byte    0
    ROM:800000000070067D 0D                          .byte  0xD
    ROM:800000000070067E 68                          .byte 0x68 # h
    ROM:800000000070067F BC                          .byte 0xBC # +
    ROM:8000000000700680 6C                          .byte 0x6C # l
    ROM:8000000000700681 32                          .byte 0x32 # 2
    ROM:8000000000700682 2E                          .byte 0x2E # .
    ROM:8000000000700683 78                          .byte 0x78 # x
    ROM:8000000000700684 00                          .byte    0
    ROM:8000000000700685 0D                          .byte  0xD
    ROM:8000000000700686 68                          .byte 0x68 # h
    ROM:8000000000700687 C0                          .byte 0xC0 # +
    ROM:8000000000700688 6D                          .byte 0x6D # m
    ROM:8000000000700689 6C                          .byte 0x6C # l
    ROM:800000000070068A 23                          .byte 0x23 # #
    ROM:800000000070068B 72                          .byte 0x72 # r
    ROM:800000000070068C 00                          .byte    0
    ROM:800000000070068D 0D                          .byte  0xD
    ROM:800000000070068E 68                          .byte 0x68 # h
    ROM:800000000070068F C4                          .byte 0xC4 # -
    ROM:8000000000700690 6F                          .byte 0x6F # o
    ROM:8000000000700691 6F                          .byte 0x6F # o
    ROM:8000000000700692 74                          .byte 0x74 # t
    ROM:8000000000700693 00                          .byte    0
    ROM:8000000000700694 00                          .byte    0
    ROM:8000000000700695 00                          .byte    0
    ROM:8000000000700696 00                          .byte    0
    ROM:8000000000700697 00                          .byte    0
    ROM:8000000000700698 2F 64 65 76+aDev_xxxx:      .string "/dev_xxxx"     # "This software is not intended to enable piracy, and such features have been disabled. This software is intended to allow the execution of unsigned third-party apps and games on the PS3."
    ROM:8000000000700698 5F 78 78 78+                .byte 0
    ROM:80000000007006A2 6D 6F 64 00 aMod:           .string "mod"
    ROM:80000000007006A2                             .byte 0
    ROM:80000000007006A6 00                          .byte    0
    ROM:80000000007006A7 00                          .byte    0
    ROM:80000000007006A8 00                          .byte    0
    ROM:80000000007006A9 00                          .byte    0
    ROM:80000000007006AA 00                          .byte    0
    ROM:80000000007006AB 00                          .byte    0
    ROM:80000000007006AC 00                          .byte    0
    ROM:80000000007006AD 00                          .byte    0
    ROM:80000000007006AE 00                          .byte    0
    ROM:80000000007006AF 00                          .byte    0
    ROM:80000000007006B0
    ROM:80000000007006B0             # =============== S U B R O U T I N E =======================================
    ROM:80000000007006B0
    ROM:80000000007006B0
    ROM:80000000007006B0             sub_80000000007006B0:                   # CODE XREF: sub_8000000000700080:loc_8000000000700128j
    ROM:80000000007006B0
    ROM:80000000007006B0             .set arg_B0,  0xB0
    ROM:80000000007006B0
    ROM:80000000007006B0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007006B4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007006B8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007006BC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:80000000007006C0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:80000000007006C4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:80000000007006C8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:80000000007006CC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007006D0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:80000000007006D4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007006D8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:80000000007006DC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007006E0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007006E4 4B 94 CA 60                 b       0x800000000004D144 # Branch
    ROM:80000000007006E4             # End of function sub_80000000007006B0
    ROM:80000000007006E4
    ROM:80000000007006E8
    ROM:80000000007006E8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007006E8
    ROM:80000000007006E8
    ROM:80000000007006E8             sub_80000000007006E8:
    ROM:80000000007006E8
    ROM:80000000007006E8             .set arg_B0,  0xB0
    ROM:80000000007006E8
    ROM:80000000007006E8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007006EC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007006F0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007006F4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007006F8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007006FC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700700 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700704 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700708 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070070C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700710 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700714 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700718 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070071C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700720 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700724 4B 94 CA 60                 b       0x800000000004D184 # Branch
    ROM:8000000000700724             # End of function sub_80000000007006E8
    ROM:8000000000700724
    ROM:8000000000700728
    ROM:8000000000700728             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700728
    ROM:8000000000700728
    ROM:8000000000700728             sub_8000000000700728:
    ROM:8000000000700728
    ROM:8000000000700728             .set arg_B0,  0xB0
    ROM:8000000000700728
    ROM:8000000000700728 60 00 00 00                 nop                     # No Operation
    ROM:800000000070072C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700730 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700734 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700738 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:800000000070073C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700740 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700744 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700748 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070074C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700750 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700754 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700758 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070075C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700760 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700764 4B 94 CA 60                 b       0x800000000004D1C4 # Branch
    ROM:8000000000700764             # End of function sub_8000000000700728
    ROM:8000000000700764
    ROM:8000000000700768
    ROM:8000000000700768             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700768
    ROM:8000000000700768
    ROM:8000000000700768             sub_8000000000700768:
    ROM:8000000000700768
    ROM:8000000000700768             .set arg_B0,  0xB0
    ROM:8000000000700768
    ROM:8000000000700768 60 00 00 00                 nop                     # No Operation
    ROM:800000000070076C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700770 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700774 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700778 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:800000000070077C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700780 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700784 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700788 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070078C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700790 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700794 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700798 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070079C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007007A0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007007A4 4B 94 CA 60                 b       0x800000000004D204 # Branch
    ROM:80000000007007A4             # End of function sub_8000000000700768
    ROM:80000000007007A4
    ROM:80000000007007A8
    ROM:80000000007007A8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007007A8
    ROM:80000000007007A8
    ROM:80000000007007A8             sub_80000000007007A8:
    ROM:80000000007007A8
    ROM:80000000007007A8             .set arg_B0,  0xB0
    ROM:80000000007007A8
    ROM:80000000007007A8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007007AC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007007B0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007007B4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007007B8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007007BC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:80000000007007C0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:80000000007007C4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:80000000007007C8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:80000000007007CC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007007D0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:80000000007007D4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007007D8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:80000000007007DC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007007E0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007007E4 4B 94 CA 60                 b       0x800000000004D244 # Branch
    ROM:80000000007007E4             # End of function sub_80000000007007A8
    ROM:80000000007007E4
    ROM:80000000007007E8
    ROM:80000000007007E8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007007E8
    ROM:80000000007007E8
    ROM:80000000007007E8             sub_80000000007007E8:
    ROM:80000000007007E8
    ROM:80000000007007E8             .set arg_B0,  0xB0
    ROM:80000000007007E8
    ROM:80000000007007E8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007007EC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007007F0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007007F4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007007F8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007007FC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700800 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700804 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700808 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070080C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700810 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700814 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700818 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070081C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700820 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700824 4B 94 CA 60                 b       0x800000000004D284 # Branch
    ROM:8000000000700824             # End of function sub_80000000007007E8
    ROM:8000000000700824
    ROM:8000000000700828
    ROM:8000000000700828             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700828
    ROM:8000000000700828
    ROM:8000000000700828             sub_8000000000700828:
    ROM:8000000000700828
    ROM:8000000000700828             .set arg_B0,  0xB0
    ROM:8000000000700828
    ROM:8000000000700828 60 00 00 00                 nop                     # No Operation
    ROM:800000000070082C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700830 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700834 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700838 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:800000000070083C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700840 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700844 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700848 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070084C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700850 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700854 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700858 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070085C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700860 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700864 4B 94 CA 60                 b       0x800000000004D2C4 # Branch
    ROM:8000000000700864             # End of function sub_8000000000700828
    ROM:8000000000700864
    ROM:8000000000700868
    ROM:8000000000700868             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700868
    ROM:8000000000700868
    ROM:8000000000700868             sub_8000000000700868:
    ROM:8000000000700868
    ROM:8000000000700868             .set arg_B0,  0xB0
    ROM:8000000000700868
    ROM:8000000000700868 60 00 00 00                 nop                     # No Operation
    ROM:800000000070086C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700870 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700874 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700878 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:800000000070087C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700880 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700884 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700888 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070088C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700890 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700894 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700898 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070089C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007008A0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007008A4 4B 94 CA 60                 b       0x800000000004D304 # Branch
    ROM:80000000007008A4             # End of function sub_8000000000700868
    ROM:80000000007008A4
    ROM:80000000007008A8
    ROM:80000000007008A8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007008A8
    ROM:80000000007008A8
    ROM:80000000007008A8             sub_80000000007008A8:
    ROM:80000000007008A8
    ROM:80000000007008A8             .set arg_B0,  0xB0
    ROM:80000000007008A8
    ROM:80000000007008A8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007008AC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007008B0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007008B4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007008B8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007008BC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:80000000007008C0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:80000000007008C4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:80000000007008C8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:80000000007008CC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007008D0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:80000000007008D4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007008D8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:80000000007008DC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007008E0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007008E4 4B 94 CA 60                 b       0x800000000004D344 # Branch
    ROM:80000000007008E4             # End of function sub_80000000007008A8
    ROM:80000000007008E4
    ROM:80000000007008E8
    ROM:80000000007008E8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007008E8
    ROM:80000000007008E8
    ROM:80000000007008E8             sub_80000000007008E8:
    ROM:80000000007008E8
    ROM:80000000007008E8             .set arg_B0,  0xB0
    ROM:80000000007008E8
    ROM:80000000007008E8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007008EC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007008F0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007008F4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007008F8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007008FC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700900 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700904 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700908 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070090C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700910 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700914 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700918 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070091C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700920 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700924 4B 94 CA 60                 b       0x800000000004D384 # Branch
    ROM:8000000000700924             # End of function sub_80000000007008E8
    ROM:8000000000700924
    ROM:8000000000700928
    ROM:8000000000700928             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700928
    ROM:8000000000700928
    ROM:8000000000700928             sub_8000000000700928:
    ROM:8000000000700928
    ROM:8000000000700928             .set arg_B0,  0xB0
    ROM:8000000000700928
    ROM:8000000000700928 60 00 00 00                 nop                     # No Operation
    ROM:800000000070092C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700930 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700934 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700938 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:800000000070093C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700940 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700944 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700948 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070094C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700950 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700954 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700958 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070095C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700960 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700964 4B 94 CA 60                 b       0x800000000004D3C4 # Branch
    ROM:8000000000700964             # End of function sub_8000000000700928
    ROM:8000000000700964
    ROM:8000000000700968
    ROM:8000000000700968             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700968
    ROM:8000000000700968
    ROM:8000000000700968             sub_8000000000700968:
    ROM:8000000000700968
    ROM:8000000000700968             .set arg_B0,  0xB0
    ROM:8000000000700968
    ROM:8000000000700968 60 00 00 00                 nop                     # No Operation
    ROM:800000000070096C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700970 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700974 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700978 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:800000000070097C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700980 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700984 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700988 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:800000000070098C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700990 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700994 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700998 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:800000000070099C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007009A0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007009A4 4B 94 CA 60                 b       0x800000000004D404 # Branch
    ROM:80000000007009A4             # End of function sub_8000000000700968
    ROM:80000000007009A4
    ROM:80000000007009A8
    ROM:80000000007009A8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007009A8
    ROM:80000000007009A8
    ROM:80000000007009A8             sub_80000000007009A8:
    ROM:80000000007009A8
    ROM:80000000007009A8             .set arg_B0,  0xB0
    ROM:80000000007009A8
    ROM:80000000007009A8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007009AC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007009B0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007009B4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007009B8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007009BC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:80000000007009C0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:80000000007009C4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:80000000007009C8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:80000000007009CC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:80000000007009D0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:80000000007009D4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:80000000007009D8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:80000000007009DC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:80000000007009E0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:80000000007009E4 4B 94 CA 60                 b       0x800000000004D444 # Branch
    ROM:80000000007009E4             # End of function sub_80000000007009A8
    ROM:80000000007009E4
    ROM:80000000007009E8
    ROM:80000000007009E8             # =============== S U B R O U T I N E =======================================
    ROM:80000000007009E8
    ROM:80000000007009E8
    ROM:80000000007009E8             sub_80000000007009E8:
    ROM:80000000007009E8
    ROM:80000000007009E8             .set arg_B0,  0xB0
    ROM:80000000007009E8
    ROM:80000000007009E8 60 00 00 00                 nop                     # No Operation
    ROM:80000000007009EC 60 00 00 00                 nop                     # No Operation
    ROM:80000000007009F0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:80000000007009F4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:80000000007009F8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:80000000007009FC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700A00 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700A04 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700A08 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700A0C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700A10 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700A14 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700A18 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700A1C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700A20 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700A24 4B 94 CA 60                 b       0x800000000004D484 # Branch
    ROM:8000000000700A24             # End of function sub_80000000007009E8
    ROM:8000000000700A24
    ROM:8000000000700A28
    ROM:8000000000700A28             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700A28
    ROM:8000000000700A28
    ROM:8000000000700A28             sub_8000000000700A28:
    ROM:8000000000700A28
    ROM:8000000000700A28             .set arg_B0,  0xB0
    ROM:8000000000700A28
    ROM:8000000000700A28 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700A2C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700A30 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700A34 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700A38 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700A3C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700A40 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700A44 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700A48 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700A4C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700A50 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700A54 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700A58 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700A5C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700A60 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700A64 4B 94 CA 60                 b       0x800000000004D4C4 # Branch
    ROM:8000000000700A64             # End of function sub_8000000000700A28
    ROM:8000000000700A64
    ROM:8000000000700A68
    ROM:8000000000700A68             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700A68
    ROM:8000000000700A68
    ROM:8000000000700A68             sub_8000000000700A68:
    ROM:8000000000700A68
    ROM:8000000000700A68             .set arg_B0,  0xB0
    ROM:8000000000700A68
    ROM:8000000000700A68 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700A6C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700A70 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700A74 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700A78 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700A7C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700A80 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700A84 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700A88 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700A8C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700A90 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700A94 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700A98 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700A9C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700AA0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700AA4 4B 94 CA 60                 b       0x800000000004D504 # Branch
    ROM:8000000000700AA4             # End of function sub_8000000000700A68
    ROM:8000000000700AA4
    ROM:8000000000700AA8
    ROM:8000000000700AA8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700AA8
    ROM:8000000000700AA8
    ROM:8000000000700AA8             sub_8000000000700AA8:
    ROM:8000000000700AA8
    ROM:8000000000700AA8             .set arg_B0,  0xB0
    ROM:8000000000700AA8
    ROM:8000000000700AA8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700AAC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700AB0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700AB4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700AB8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700ABC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700AC0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700AC4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700AC8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700ACC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700AD0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700AD4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700AD8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700ADC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700AE0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700AE4 4B 94 CA 60                 b       0x800000000004D544 # Branch
    ROM:8000000000700AE4             # End of function sub_8000000000700AA8
    ROM:8000000000700AE4
    ROM:8000000000700AE8
    ROM:8000000000700AE8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700AE8
    ROM:8000000000700AE8
    ROM:8000000000700AE8             sub_8000000000700AE8:
    ROM:8000000000700AE8
    ROM:8000000000700AE8             .set arg_B0,  0xB0
    ROM:8000000000700AE8
    ROM:8000000000700AE8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700AEC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700AF0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700AF4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700AF8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700AFC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700B00 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700B04 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700B08 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700B0C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700B10 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700B14 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700B18 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700B1C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700B20 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700B24 4B 94 CA 60                 b       0x800000000004D584 # Branch
    ROM:8000000000700B24             # End of function sub_8000000000700AE8
    ROM:8000000000700B24
    ROM:8000000000700B28
    ROM:8000000000700B28             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700B28
    ROM:8000000000700B28
    ROM:8000000000700B28             sub_8000000000700B28:
    ROM:8000000000700B28
    ROM:8000000000700B28             .set arg_B0,  0xB0
    ROM:8000000000700B28
    ROM:8000000000700B28 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700B2C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700B30 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700B34 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700B38 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700B3C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700B40 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700B44 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700B48 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700B4C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700B50 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700B54 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700B58 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700B5C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700B60 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700B64 4B 94 CA 60                 b       0x800000000004D5C4 # Branch
    ROM:8000000000700B64             # End of function sub_8000000000700B28
    ROM:8000000000700B64
    ROM:8000000000700B68
    ROM:8000000000700B68             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700B68
    ROM:8000000000700B68
    ROM:8000000000700B68             sub_8000000000700B68:
    ROM:8000000000700B68
    ROM:8000000000700B68             .set arg_B0,  0xB0
    ROM:8000000000700B68
    ROM:8000000000700B68 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700B6C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700B70 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700B74 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700B78 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700B7C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700B80 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700B84 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700B88 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700B8C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700B90 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700B94 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700B98 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700B9C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700BA0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700BA4 4B 94 CA 60                 b       0x800000000004D604 # Branch
    ROM:8000000000700BA4             # End of function sub_8000000000700B68
    ROM:8000000000700BA4
    ROM:8000000000700BA8
    ROM:8000000000700BA8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700BA8
    ROM:8000000000700BA8
    ROM:8000000000700BA8             sub_8000000000700BA8:
    ROM:8000000000700BA8
    ROM:8000000000700BA8             .set arg_B0,  0xB0
    ROM:8000000000700BA8
    ROM:8000000000700BA8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700BAC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700BB0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700BB4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700BB8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700BBC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700BC0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700BC4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700BC8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700BCC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700BD0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700BD4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700BD8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700BDC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700BE0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700BE4 4B 94 CA 60                 b       0x800000000004D644 # Branch
    ROM:8000000000700BE4             # End of function sub_8000000000700BA8
    ROM:8000000000700BE4
    ROM:8000000000700BE8
    ROM:8000000000700BE8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700BE8
    ROM:8000000000700BE8
    ROM:8000000000700BE8             sub_8000000000700BE8:
    ROM:8000000000700BE8
    ROM:8000000000700BE8             .set arg_B0,  0xB0
    ROM:8000000000700BE8
    ROM:8000000000700BE8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700BEC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700BF0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700BF4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700BF8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700BFC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700C00 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700C04 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700C08 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700C0C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700C10 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700C14 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700C18 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700C1C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700C20 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700C24 4B 94 CA 60                 b       0x800000000004D684 # Branch
    ROM:8000000000700C24             # End of function sub_8000000000700BE8
    ROM:8000000000700C24
    ROM:8000000000700C28
    ROM:8000000000700C28             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700C28
    ROM:8000000000700C28
    ROM:8000000000700C28             sub_8000000000700C28:
    ROM:8000000000700C28
    ROM:8000000000700C28             .set arg_B0,  0xB0
    ROM:8000000000700C28
    ROM:8000000000700C28 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700C2C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700C30 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700C34 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700C38 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700C3C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700C40 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700C44 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700C48 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700C4C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700C50 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700C54 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700C58 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700C5C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700C60 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700C64 4B 94 CA 60                 b       0x800000000004D6C4 # Branch
    ROM:8000000000700C64             # End of function sub_8000000000700C28
    ROM:8000000000700C64
    ROM:8000000000700C68
    ROM:8000000000700C68             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700C68
    ROM:8000000000700C68
    ROM:8000000000700C68             sub_8000000000700C68:
    ROM:8000000000700C68
    ROM:8000000000700C68             .set arg_B0,  0xB0
    ROM:8000000000700C68
    ROM:8000000000700C68 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700C6C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700C70 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700C74 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700C78 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700C7C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700C80 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700C84 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700C88 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700C8C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700C90 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700C94 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700C98 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700C9C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700CA0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700CA4 4B 94 CA 60                 b       0x800000000004D704 # Branch
    ROM:8000000000700CA4             # End of function sub_8000000000700C68
    ROM:8000000000700CA4
    ROM:8000000000700CA8
    ROM:8000000000700CA8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700CA8
    ROM:8000000000700CA8
    ROM:8000000000700CA8             sub_8000000000700CA8:
    ROM:8000000000700CA8
    ROM:8000000000700CA8             .set arg_B0,  0xB0
    ROM:8000000000700CA8
    ROM:8000000000700CA8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700CAC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700CB0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700CB4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700CB8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700CBC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700CC0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700CC4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700CC8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700CCC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700CD0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700CD4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700CD8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700CDC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700CE0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700CE4 4B 94 CA 60                 b       0x800000000004D744 # Branch
    ROM:8000000000700CE4             # End of function sub_8000000000700CA8
    ROM:8000000000700CE4
    ROM:8000000000700CE8
    ROM:8000000000700CE8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700CE8
    ROM:8000000000700CE8
    ROM:8000000000700CE8             sub_8000000000700CE8:
    ROM:8000000000700CE8
    ROM:8000000000700CE8             .set arg_B0,  0xB0
    ROM:8000000000700CE8
    ROM:8000000000700CE8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700CEC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700CF0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700CF4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700CF8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700CFC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700D00 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700D04 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700D08 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700D0C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700D10 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700D14 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700D18 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700D1C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700D20 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700D24 4B 94 CA 60                 b       0x800000000004D784 # Branch
    ROM:8000000000700D24             # End of function sub_8000000000700CE8
    ROM:8000000000700D24
    ROM:8000000000700D28
    ROM:8000000000700D28             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700D28
    ROM:8000000000700D28
    ROM:8000000000700D28             sub_8000000000700D28:
    ROM:8000000000700D28
    ROM:8000000000700D28             .set arg_B0,  0xB0
    ROM:8000000000700D28
    ROM:8000000000700D28 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700D2C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700D30 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700D34 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700D38 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700D3C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700D40 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700D44 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700D48 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700D4C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700D50 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700D54 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700D58 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700D5C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700D60 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700D64 4B 94 CA 60                 b       0x800000000004D7C4 # Branch
    ROM:8000000000700D64             # End of function sub_8000000000700D28
    ROM:8000000000700D64
    ROM:8000000000700D68
    ROM:8000000000700D68             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700D68
    ROM:8000000000700D68
    ROM:8000000000700D68             sub_8000000000700D68:
    ROM:8000000000700D68
    ROM:8000000000700D68             .set arg_B0,  0xB0
    ROM:8000000000700D68
    ROM:8000000000700D68 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700D6C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700D70 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700D74 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700D78 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700D7C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700D80 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700D84 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700D88 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700D8C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700D90 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700D94 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700D98 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700D9C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700DA0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700DA4 4B 94 CA 60                 b       0x800000000004D804 # Branch
    ROM:8000000000700DA4             # End of function sub_8000000000700D68
    ROM:8000000000700DA4
    ROM:8000000000700DA8
    ROM:8000000000700DA8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700DA8
    ROM:8000000000700DA8
    ROM:8000000000700DA8             sub_8000000000700DA8:
    ROM:8000000000700DA8
    ROM:8000000000700DA8             .set arg_B0,  0xB0
    ROM:8000000000700DA8
    ROM:8000000000700DA8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700DAC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700DB0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700DB4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700DB8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700DBC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700DC0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700DC4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700DC8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700DCC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700DD0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700DD4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700DD8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700DDC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700DE0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700DE4 4B 94 CA 60                 b       0x800000000004D844 # Branch
    ROM:8000000000700DE4             # End of function sub_8000000000700DA8
    ROM:8000000000700DE4
    ROM:8000000000700DE8
    ROM:8000000000700DE8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700DE8
    ROM:8000000000700DE8
    ROM:8000000000700DE8             sub_8000000000700DE8:
    ROM:8000000000700DE8
    ROM:8000000000700DE8             .set arg_B0,  0xB0
    ROM:8000000000700DE8
    ROM:8000000000700DE8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700DEC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700DF0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700DF4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700DF8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700DFC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700E00 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700E04 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700E08 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700E0C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700E10 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700E14 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700E18 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700E1C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700E20 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700E24 4B 94 CA 60                 b       0x800000000004D884 # Branch
    ROM:8000000000700E24             # End of function sub_8000000000700DE8
    ROM:8000000000700E24
    ROM:8000000000700E28
    ROM:8000000000700E28             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700E28
    ROM:8000000000700E28
    ROM:8000000000700E28             sub_8000000000700E28:
    ROM:8000000000700E28
    ROM:8000000000700E28             .set arg_B0,  0xB0
    ROM:8000000000700E28
    ROM:8000000000700E28 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700E2C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700E30 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700E34 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700E38 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700E3C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700E40 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700E44 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700E48 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700E4C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700E50 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700E54 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700E58 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700E5C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700E60 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700E64 4B 94 CA 60                 b       0x800000000004D8C4 # Branch
    ROM:8000000000700E64             # End of function sub_8000000000700E28
    ROM:8000000000700E64
    ROM:8000000000700E68
    ROM:8000000000700E68             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700E68
    ROM:8000000000700E68
    ROM:8000000000700E68             sub_8000000000700E68:
    ROM:8000000000700E68
    ROM:8000000000700E68             .set arg_B0,  0xB0
    ROM:8000000000700E68
    ROM:8000000000700E68 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700E6C 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700E70 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700E74 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700E78 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700E7C EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700E80 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700E84 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700E88 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700E8C 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700E90 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700E94 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700E98 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700E9C 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700EA0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700EA4 4B 94 CA 60                 b       0x800000000004D904 # Branch
    ROM:8000000000700EA4             # End of function sub_8000000000700E68
    ROM:8000000000700EA4
    ROM:8000000000700EA8
    ROM:8000000000700EA8             # =============== S U B R O U T I N E =======================================
    ROM:8000000000700EA8
    ROM:8000000000700EA8
    ROM:8000000000700EA8             sub_8000000000700EA8:
    ROM:8000000000700EA8
    ROM:8000000000700EA8             .set arg_B0,  0xB0
    ROM:8000000000700EA8
    ROM:8000000000700EA8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700EAC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700EB0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700EB4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700EB8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700EBC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word
    ROM:8000000000700EC0 EB E1 00 98                 ld      %r31, 0x98(%sp) # Load Double Word
    ROM:8000000000700EC4 E8 01 00 B0                 ld      %r0, arg_B0(%sp) # Load Double Word
    ROM:8000000000700EC8 38 21 00 A0                 addi    %sp, %sp, 0xA0  # Add Immediate
    ROM:8000000000700ECC 7C 08 03 A6                 mtlr    %r0             # Move to link register
    ROM:8000000000700ED0 38 60 00 01                 li      %r3, 1          # Load Immediate
    ROM:8000000000700ED4 78 63 F8 06                 rldicr  %r3, %r3, 63,0  # Rotate Left Double Word Immediate then Clear Right
    ROM:8000000000700ED8 64 63 00 70                 oris    %r3, %r3, 0x70  # OR Immediate Shifted
    ROM:8000000000700EDC 38 80 00 00                 li      %r4, 0          # Load Immediate
    ROM:8000000000700EE0 38 A0 06 E8                 li      %r5, 0x6E8      # Load Immediate
    ROM:8000000000700EE4 4B 94 CA 60                 b       0x800000000004D944 # Branch
    ROM:8000000000700EE4             # End of function sub_8000000000700EA8
    ROM:8000000000700EE4
    ROM:8000000000700EE8             # ---------------------------------------------------------------------------
    ROM:8000000000700EE8 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700EEC 60 00 00 00                 nop                     # No Operation
    ROM:8000000000700EF0 EB 61 00 78                 ld      %r27, 0x78(%sp) # Load Double Word
    ROM:8000000000700EF4 EB 81 00 80                 ld      %r28, 0x80(%sp) # Load Double Word
    ROM:8000000000700EF8 EB A1 00 88                 ld      %r29, 0x88(%sp) # Load Double Word
    ROM:8000000000700EFC EB C1 00 90                 ld      %r30, 0x90(%sp) # Load Double Word

  4. #24
    Senior Member tragedy's Avatar
    Join Date
    Mar 2009
    Posts
    135
    Quote Originally Posted by daveribz View Post
    I don't get why a different ID is used than the original game ID since it's using the BD Emulator built in the PS3 OS to play the games.
    It doesn't use the built in BD emulator at all. What it actually does is patch the file open routine and if the string starts with "/dev_bdvd" it adds the rest of the filename to a prefix which backup manager has previously set, starting with "/dev_hdd0/game/LAUN12345/"

    As far as the game is concerned it's running off the blu-ray because it's making requests for /dev_bdvd/something, but it's actually loading from elsewhere.

  5. #25
    Registered User maskotman's Avatar
    Join Date
    Mar 2008
    Posts
    4
    Great article, i am glad this was done so fast

  6. #26
    Senior Member daveribz's Avatar
    Join Date
    Jan 2009
    Posts
    132
    Quote Originally Posted by tragedy View Post
    It doesn't use the built in BD emulator at all. What it actually does is patch the file open routine and if the string starts with "/dev_bdvd" it adds the rest of the filename to a prefix which backup manager has previously set, starting with "/dev_hdd0/game/LAUN12345/"

    As far as the game is concerned it's running off the blu-ray because it's making requests for /dev_bdvd/something, but it's actually loading from elsewhere.
    Thanks for lighting me up I didn't knew about the patching thing.. So why don't we use the built in bd emu to run games? Is it even possible on 'modded' retail consoles? I guess it will be soon, since the PS3 pretty much opened up.

  7. #27
    Senior Member tragedy's Avatar
    Join Date
    Mar 2009
    Posts
    135
    Here's a better disassembly than the previous one:
    Code:
    0000000000000000 <r0>:
    
    usb_config_desc:.byte 9, 2, 0x12, 0, 1, 0, 0, 0x80, 0xFA
    # wTotalLength = 0x0012
    # bNumInterfaces = 1
    # bConfigurationValue = 0
    # iConfiguration = 0
    # bmAttributes = not self powered, no remote wakeup
    # bMaxPower = 500mA
    
    usb_iface_desc: .byte 9, 4, 0, 0, 0, 0xFE, 1, 2, 0
    # bInterfaceNumber = 0
    # bAlternateSetting = 0
    # bNumEndpoints = 0
    # bInterfaceClass = 0xfe (app specific)
    # bInterfaceSubclass = 0x01 (DFU)
    # bInterfaceProtocol = 0x02 (???)
    # iInterface = 0
    
    loc_12:         .short 0
                    .long 0
    
    # this is the marker for the start of the shellcode
    
      18:	fa ce b0 03 	.long 0xfaceb003
      1c:	aa bb cc dd 	.long 0xaabbccdd
    
    # shellcode entered here, r3 = r0+0x1000, nothing else assumed
    
      20:	38 63 f0 00 	addi    r3,r3,-4096		# fffffffffffff000
      24:	38 a0 10 00 	li      r5,4096		# 1000
      28:	38 80 00 01 	li      r4,1
      2c:	78 84 f8 06 	rldicr  r4,r4,63,0
      30:	64 84 00 70 	oris    r4,r4,112		# r4=0x8000000000700000
    
    # r3=start of shellcode, r4=reloc address, r5=0x1000 (length)
    # copy memory block
    
    reloc1_loop:
      34:	38 a5 ff f8 	addi    r5,r5,-8		
      38:	7c c3 28 2a 	ldx     r6,r3,r5
      3c:	7c c4 29 2a 	stdx    r6,r4,r5		# reloc[--index] = shellcode[index]
      40:	28 25 00 00 	cmpldi  r5,0
      44:	40 82 ff f0 	bne     reloc1_loop <r0+0x34>	# more to do, loop
    
      48:	38 84 00 80 	addi    r4,r4,128
      4c:	7c 89 03 a6 	mtctr   r4
      50:	4e 80 04 20 	bctr				# jump to offset 0x80 in relocated shellcode
    
    ################################################################################################
    
    	...
    
    8000000000700000 <r700000>:
    
    # on entry here, the shellcode is now at a known address
    
    # standard stack prologue
    8000000000700080:	7c 08 02 a6 	mflr    r0
    8000000000700084:	f8 21 ff 61 	stdu    r1,-160(r1)		# ffffffffffffff60
    8000000000700088:	fb 61 00 78 	std     r27,120(r1)		# 78
    800000000070008c:	fb 81 00 80 	std     r28,128(r1)		# 80
    8000000000700090:	fb a1 00 88 	std     r29,136(r1)		# 88
    8000000000700094:	fb c1 00 90 	std     r30,144(r1)		# 90
    8000000000700098:	fb e1 00 98 	std     r31,152(r1)		# 98
    800000000070009c:	f8 01 00 b0 	std     r0,176(r1)		# b0
    
    # set up r31 to base of RAM
    80000000007000a0:	3b e0 00 01 	li      r31,1
    80000000007000a4:	7b ff f8 06 	rldicr  r31,r31,63,0
    
    # relocate the shellcode again
    80000000007000a8:	7f e3 fb 78 	mr      r3,r31
    80000000007000ac:	64 63 00 05 	oris    r3,r3,5
    80000000007000b0:	60 63 0b 3c 	ori     r3,r3,2876		# b3c
    	#r3 = 0x8000 0000 0005 0b3c
    80000000007000b4:	7f e4 fb 78 	mr      r4,r31
    80000000007000b8:	64 84 00 70 	oris    r4,r4,112		# 70
    80000000007000bc:	60 84 01 ac 	ori     r4,r4,428		# 1ac
    	#r4 = 0x8000 0000 0070 01ac = patch_block
    80000000007000c0:	38 a0 04 fa 	li      r5,reloc2_end - patch_block #1274		# 4fa
    80000000007000c4:	4b 97 bf 59 	bl      800000000007c01c <r700000-0x683fe4>
    	#memcpy( r31+0x50b3c, patch_block, 1274)
    
    #patch a vtable?
    80000000007000c8:	7f e3 fb 78 	mr      r3,r31
    80000000007000cc:	64 63 00 05 	oris    r3,r3,5
    80000000007000d0:	60 63 0b 3c 	ori     r3,r3,2876		# b3c
    	#r3 = 0x8000 0000 0005 0b3c = patch_block
    80000000007000d4:	38 63 00 20 	addi    r3,r3,32		# 20
    	#r3 = 0x8000 0000 0005 0b5c = vtable
    80000000007000d8:	4b 9d 22 01 	bl      80000000000d22d8 <r700000-0x62dd28>
    	# ???
    
    #add lv2 syscall
    80000000007000dc:	7f e3 fb 78 	mr      r3,r31
    80000000007000e0:	64 63 00 05 	oris    r3,r3,5
    80000000007000e4:	60 63 0b 3c 	ori     r3,r3,2876		# b3c
    	#r3 = 0x8000 0000 0005 0b3c = patch_block
    80000000007000e8:	7f e4 fb 78 	mr      r4,r31
    80000000007000ec:	64 84 00 2e 	oris    r4,r4,46		# 2e
    80000000007000f0:	60 84 b1 28 	ori     r4,r4,45352		# b128
    	#r4 = 0x8000 0000 002e b128 = syscall function table?
    80000000007000f4:	38 63 00 10 	addi    r3,r3,16
    	#r3 = 0x8000 0000 0005 0b4c = set_prefix_desc
    80000000007000f8:	f8 64 01 20 	std     r3,288(r4)		# 120
    	#syscall_table[0x24] = set_prefix_desc
    
    #patch up various parts of the gameos
    80000000007000fc:	7f e5 fb 78 	mr      r5,r31
    8000000000700100:	64 a5 00 70 	oris    r5,r5,112		# 70
    8000000000700104:	60 a5 01 50 	ori     r5,r5,336		# 150
    	#r5 = 0x8000 0000 0070 0150 = patch_table
    8000000000700108:	80 65 00 00 	lwz     r3,0(r5)
    800000000070010c:	28 03 00 00 	cmplwi  r3,0
    	#r3 = address to patch
    8000000000700110:	41 82 00 18 	beq     8000000000700128 <r700000+0x128>
    8000000000700114:	80 85 00 04 	lwz     r4,4(r5)
    	#r4 = data to put in there
    8000000000700118:	7c 63 fa 14 	add     r3,r3,r31
    800000000070011c:	90 83 00 00 	stw     r4,0(r3)
    	#add ram base address, store r4 in ram[r3]
    8000000000700120:	38 a5 00 08 	addi    r5,r5,8
    8000000000700124:	4b ff ff e4 	b       8000000000700108 <r700000+0x108>
    	#loop
    
    patch1_done:
    8000000000700128:	48 00 05 88 	b       patch1_exit <r700000+0x6b0>
    
    ################################################################################################
    
    # this looks like a patch that's never used, very similar to 8000000000050f4c
    unused_patch1:
    800000000070012c:	f8 21 ff 51 	stdu    r1,-176(r1)		# ffffffffffffff50
    8000000000700130:	7c 08 02 a6 	mflr    r0
    8000000000700134:	fb c1 00 a0 	std     r30,160(r1)		# a0
    8000000000700138:	fb e1 00 a8 	std     r31,168(r1)		# a8
    800000000070013c:	fb a1 00 98 	std     r29,152(r1)		# 98
    8000000000700140:	f8 01 00 c0 	std     r0,192(r1)		# c0
    8000000000700144:	3b c0 07 d0 	li      r30,2000		# 7d0
    8000000000700148:	3b e0 00 c8 	li      r31,200		# c8
    800000000070014c:	4b 90 a9 b8 	b       800000000000ab04 <r700000-0x6f54fc>
    #sets r30=2000, r31=200, jumps into some function
    
    ################################################################################################
    
    #this table is a list of memory addresses (32 bit, turned into 64 bit with high bit set) and values
    #to poke into them
    patch_table:
    #8000000000700150:	00 04 90 e0 	.long 0x490e0
    #8000000000700154:	e8 82 0f 08 	ld      r4,3848(r2)		# f08
    #8000000000700158:	00 04 90 e4 	.long 0x490e4
    #800000000070015c:	e8 7c 00 20 	ld      r3,32(r28)		# 20
    #8000000000700160:	00 04 90 e8 	.long 0x490e8
    #8000000000700164:	f8 64 00 00 	std     r3,0(r4)
    
    #patch modifies gameos:
    #big leap of faith that this saves the base self address for later patching purposes
    80000000000490e0:	e8 82 0f 08 	ld      r4,3848(r2)		# f08
    80000000000490e4:	e8 7c 00 20 	ld      r3,32(r28)		# 20
    80000000000490e8:	f8 64 00 00 	std     r3,0(r4)
    	#globals_self_ptr = 28->ofs_20 
    
    #8000000000700168:	00 04 f0 a8 	.long 0x4f0a8
    #800000000070016c:	48 00 1a 9d 	bl      8000000000701c08 <r700000+0x1c08>
    
    #patch modifies gameos:
    800000000004f0a8:	48 00 1a 9d 	bl      b_patch_self #8000000000050b44 <r700000+0x1c08>
    
    #8000000000700170:	00 2a af c8 	.long 0x2aafc8
    #8000000000700174:	4b da 5b 80 	b       80000000004a5cf4 <r700000-0x25a30c>
    
    #patch modifies gameos:
    80000000002aafc8:	4b da 5b 80 	b       b_open_file #8000000000050b48 <r700000-0x25a30c>
    
    #8000000000700178:	00 04 ed 18 	.long 0x4ed18
    #800000000070017c:	38 80 00 00 	li      r4,0
    #8000000000700180:	00 04 ed 1c 	.long 0x4ed1c
    #8000000000700184:	90 83 00 00 	stw     r4,0(r3)
    #8000000000700188:	00 04 ed 20 	.long 0x4ed20
    #800000000070018c:	4e 80 00 20 	blr
    
    #patch modifies gameos:
    800000000004ed18:	38 80 00 00 	li      r4,0
    800000000004ed1c:	90 83 00 00 	stw     r4,0(r3)
    800000000004ed20:	4e 80 00 20 	blr
    
    #8000000000700190:	00 3b a8 90 	.long 0x3ba890
    #8000000000700194:	01 00 00 00 	.long 0x1000000
    
    #patch modifies gameos:
    80000000003ba890:	01 00 00 00 	.long 0x1000000
    
    #8000000000700198:	00 05 05 d0 	.long 0x505d0
    #800000000070019c:	38 60 00 01 	li      r3,1
    #80000000007001a0:	00 05 05 d4 	.long 0x505d4
    #80000000007001a4:	4e 80 00 20 	blr
    
    #patch modifies gameos:
    80000000000505d0:	38 60 00 01 	li      r3,1
    80000000000505d4:	4e 80 00 20 	blr
    
    #end of table
    80000000007001a8:	00 00 00 00 	.long 0x0
    
    ################################################################################################
    
    8000000000050990 <r50990>:
    
    patch_block:
    80000000007001ac:
    
    # return true
    8000000000050b3c:	38 60 00 01 	li      r3,1
    8000000000050b40:	4e 80 00 20 	blr
    
    # indirection to patch_self
    b_patch_self:
    8000000000050b44:	48 00 02 78 	b       patch_self <r50990+0x42c>
    
    # indirection to open_file
    b_open_file:
    8000000000050b48:	48 00 01 ec 	b       open_file <r50990+0x3a4>
    
    set_prefix_desc:
    8000000000050b4c:	.longlong set_prefix		# set_prefix
    	                .longlong 0x800000000033e720    # this looks like the r2 reg
    
    vtable:
    8000000000050b5c:	.longlong str_mod
    			.longlong check_aaaac0de_desc
    			.longlong setup_set_prefix_desc
    			.longlong reset_desc
    
    check_aaaac0de_desc:
    8000000000050b7c:	.longlong check_aaaac0de
    	                .longlong 0x800000000033e720    # this looks like the r2 reg
    
    setup_set_prefix_desc:
    8000000000050b8c:	.longlong setup_set_prefix
                    	.longlong 0x800000000033e720    # this looks like the r2 reg
    
    reset_desc:
    8000000000050b9c:	.longlong reset
            	        .longlong 0x800000000033e720    # this looks like the r2 reg
    
    set_prefix_valid_desc:
    8000000000050bac:	.longlong set_prefix_valid
            	        .longlong 0x800000000033e720    # this looks like the r2 reg
    
    ################################################################################################
    
    prefix_structure:
    8000000000050bbc:	.longlong 0			# prefix_structure.start
    			.longlong 0			# prefix_structure.end
    			.long 0				# prefix_structure.valid
    
    8000000000050bd0:	.long 0
    
    ################################################################################################
    
    # calls func_d2998(0,1) and checks the PID/VID of the USB device returned.
    # if it's 0xaaaa/0xc0de, it returns 0 otherwise it returns -1
    
    check_aaaac0de:
    8000000000050bd4:	f8 21 ff 81 	stdu    r1,-128(r1)		# ffffffffffffff80
    8000000000050bd8:	7c 08 02 a6 	mflr    r0
    8000000000050bdc:	f8 01 00 90 	std     r0,144(r1)		# 90
    	#standard prologue
    
    8000000000050be0:	38 80 00 00 	li      r4,0
    8000000000050be4:	38 a0 00 01 	li      r5,1
    8000000000050be8:	48 08 1d b1 	bl      80000000000d2998 <r50990+0x82008>
    	#func_d2998(0,1) -> struct
    
    8000000000050bec:	80 a3 00 08 	lwz     r5,8(r3)
    	#r5 = PID/VID
    8000000000050bf0:	38 60 00 00 	li      r3,0
    8000000000050bf4:	3c 80 aa aa 	lis     r4,-21846		# ffffffffffffaaaa
    8000000000050bf8:	60 84 c0 de 	ori     r4,r4,49374		# c0de
    	#r4 = 0xaaaac0de
    8000000000050bfc:	7c 04 28 40 	cmplw   r4,r5
    8000000000050c00:	41 82 00 08 	beq     8000000000050c08 <r50990+0x278>
    8000000000050c04:	38 60 ff ff 	li      r3,-1
    8000000000050c08:	7c 63 07 b4 	extsw   r3,r3
    	#r3 = 0 if PID/VID == 0xaaaaac0de, -1 otherwise
    
    8000000000050c0c:	e8 01 00 90 	ld      r0,144(r1)		# 90
    8000000000050c10:	7c 08 03 a6 	mtlr    r0
    8000000000050c14:	38 21 00 80 	addi    r1,r1,128		# 80
    8000000000050c18:	4e 80 00 20 	blr
    	#standard epilogue
    
    ################################################################################################
    
    #not really sure what this does. maybe the 0x21aa is sending the 0xaa payload back to the dongle
    #for confirmation that it all worked...
    
    setup_set_prefix:
    8000000000050c1c:	f8 21 ff 81 	stdu    r1,-128(r1)		# ffffffffffffff80
    8000000000050c20:	7c 08 02 a6 	mflr    r0
    8000000000050c24:	f8 01 00 90 	std     r0,144(r1)		# 90
    	#standard prologue
    
    8000000000050c28:	38 80 00 00 	li      r4,0
    8000000000050c2c:	48 08 1d 99 	bl      80000000000d29c4 <r50990+0x82034>
    	#r3 = func_d29c4(0)
    
    8000000000050c30:	38 81 00 70 	addi    r4,r1,112		# 70
    8000000000050c34:	38 a0 00 00 	li      r5,0
    	#r5 = 0
    8000000000050c38:	f8 a4 00 00 	std     r5,0(r4)
    8000000000050c3c:	38 c0 21 aa 	li      r6,8618		# 21aa
    8000000000050c40:	b0 c4 00 00 	sth     r6,0(r4)
    8000000000050c44:	38 c0 00 00 	li      r6,0
    8000000000050c48:	b0 c4 00 06 	sth     r6,6(r4)
    	#r4 = temporary struct on stack
    	#contents: 0x21aa,0x0000,0x0000
    8000000000050c4c:	38 c0 00 01 	li      r6,1
    8000000000050c50:	78 c6 f8 06 	rldicr  r6,r6,63,0
    8000000000050c54:	64 c6 00 05 	oris    r6,r6,5
    8000000000050c58:	60 c6 0b ac 	ori     r6,r6,2988		# bac
    	#r6 = 0x8000 0000 0005 0bac = set_prefix_valid_desc
    8000000000050c5c:	38 e0 00 00 	li      r7,0
    8000000000050c60:	48 08 1c cd 	bl      80000000000d292c <r50990+0x81f9c>
    	#func_d292c(r3, &struct, 0, &set_prefix_valid_desc, 0)
    8000000000050c64:	38 60 00 00 	li      r3,0
    	#return 0
    
    8000000000050c68:	e8 01 00 90 	ld      r0,144(r1)		# 90
    8000000000050c6c:	7c 08 03 a6 	mtlr    r0
    8000000000050c70:	38 21 00 80 	addi    r1,r1,128		# 80
    8000000000050c74:	4e 80 00 20 	blr
    	#standard epilogue
    
    ################################################################################################
    
    reset:
    8000000000050c78:	38 60 00 00 	li      r3,0
    8000000000050c7c:	39 60 00 ff 	li      r11,255		# ff
    8000000000050c80:	44 00 00 22 	sc      1
    	#lv1_panic(0) - reset ps3
    
    ################################################################################################
    
    # if paramater is 0, then set prefix_structure.valid = 1
    # looks designed to parse the result from check_aaaac0de so that the /dev_bdvd mapping only
    # happens if everything worked ok
    
    set_prefix_valid:
    8000000000050c84:	2c 03 00 00 	cmpwi   r3,0
    8000000000050c88:	40 82 00 1c 	bne     8000000000050ca4 <r50990+0x314>
    	#if r3 != 0, skip this code
    8000000000050c8c:	38 60 00 01 	li      r3,1
    8000000000050c90:	78 63 f8 06 	rldicr  r3,r3,63,0
    8000000000050c94:	64 63 00 05 	oris    r3,r3,5
    8000000000050c98:	60 63 0b bc 	ori     r3,r3,3004		# bbc
    	#r3 = 0x8000 0000 0005 0bbc = prefix_structure
    8000000000050c9c:	38 80 00 01 	li      r4,1
    8000000000050ca0:	90 83 00 10 	stw     r4,16(r3)
    	#prefix_structure.valid = 1
    8000000000050ca4:	4e 80 00 20 	blr
    
    ################################################################################################
    
    set_prefix:
    8000000000050ca8:	f8 21 ff 31 	stdu    r1,-208(r1)		# ffffffffffffff30
    8000000000050cac:	7c 08 02 a6 	mflr    r0
    8000000000050cb0:	f8 01 00 e0 	std     r0,224(r1)		# e0
    8000000000050cb4:	fb e1 00 c8 	std     r31,200(r1)		# c8
    	#standard prologue
    
    8000000000050cb8:	38 81 00 70 	addi    r4,r1,112		# 70
    8000000000050cbc:	48 16 2e 81 	bl      80000000001b3b3c <r50990+0x1631ac>
    	#func_1b3b3c(&var)
    
    8000000000050cc0:	3b e0 00 01 	li      r31,1
    8000000000050cc4:	7b ff f8 06 	rldicr  r31,r31,63,0
    8000000000050cc8:	67 ff 00 05 	oris    r31,r31,5
    8000000000050ccc:	63 ff 0b bc 	ori     r31,r31,3004		# bbc
    	#r31 = 0x8000 0000 0005 0bbc = prefix_structure
    
    8000000000050cd0:	e8 7f 00 00 	ld      r3,0(r31)
    8000000000050cd4:	2c 23 00 00 	cmpdi   r3,0
    8000000000050cd8:	41 82 00 0c 	beq     8000000000050ce4 <r50990+0x354>
    	#if prefix_structure.start != 0
    8000000000050cdc:	38 80 00 27 	li      r4,39		# 27
    8000000000050ce0:	48 01 17 e9 	bl      80000000000624c8 <r50990+0x11b38>
    	#func_624c8(prefix_structure.start, 0x27)
    
    8000000000050ce4:	38 80 00 27 	li      r4,39		# 27
    8000000000050ce8:	38 60 08 00 	li      r3,2048		# 800
    8000000000050cec:	48 01 13 9d 	bl      8000000000062088 <r50990+0x116f8>
    8000000000050cf0:	f8 7f 00 00 	std     r3,0(r31)
    	#prefix_structure.start = func_62088(2048,0x27)
    
    8000000000050cf4:	e8 81 00 70 	ld      r4,112(r1)		# 70
    8000000000050cf8:	4b ff c5 f9 	bl      800000000004d2f0 <r50990-0x36a0>
    	#func_4d2f0(prefix_structure.start, var)
    
    8000000000050cfc:	e8 61 00 70 	ld      r3,112(r1)		# 70
    8000000000050d00:	38 80 00 27 	li      r4,39		# 27
    8000000000050d04:	48 01 17 c5 	bl      80000000000624c8 <r50990+0x11b38>
    	#func_624c8(var, 0x27)
    
    8000000000050d08:	e8 7f 00 00 	ld      r3,0(r31)
    8000000000050d0c:	4b ff c6 0d 	bl      800000000004d318 <r50990-0x3678>
    	#r3 = func_4d318(prefix_structure.start)
    8000000000050d10:	e8 9f 00 00 	ld      r4,0(r31)
    8000000000050d14:	7c 64 1a 14 	add     r3,r4,r3
    8000000000050d18:	f8 7f 00 08 	std     r3,8(r31)
    	#prefix_structure.end = prefix_structure.start + strlen(prefix_structure.start)
    
    8000000000050d1c:	38 60 00 00 	li      r3,0
    8000000000050d20:	eb e1 00 c8 	ld      r31,200(r1)		# c8
    8000000000050d24:	e8 01 00 e0 	ld      r0,224(r1)		# e0
    8000000000050d28:	38 21 00 d0 	addi    r1,r1,208		# d0
    8000000000050d2c:	7c 08 03 a6 	mtlr    r0
    8000000000050d30:	4e 80 00 20 	blr
    	#standard epilogue
    
    ################################################################################################
    
    open_file:
    8000000000050d34:	f8 21 ff 61 	stdu    r1,-160(r1)		# ffffffffffffff60
    8000000000050d38:	7c 08 02 a6 	mflr    r0
    8000000000050d3c:	fb 81 00 80 	std     r28,128(r1)		# 80
    8000000000050d40:	fb a1 00 88 	std     r29,136(r1)		# 88
    8000000000050d44:	fb e1 00 98 	std     r31,152(r1)		# 98
    8000000000050d48:	fb 41 00 70 	std     r26,112(r1)		# 70
    8000000000050d4c:	fb 61 00 78 	std     r27,120(r1)		# 78
    8000000000050d50:	f8 01 00 b0 	std     r0,176(r1)		# b0
    	#standard prologue
    
    8000000000050d54:	7c 9c 23 78 	mr      r28,r4
    8000000000050d58:	7c 7d 1b 78 	mr      r29,r3
    	#save params in (r29,r28)
    
    8000000000050d5c:	3b e0 00 01 	li      r31,1
    8000000000050d60:	7b ff f8 06 	rldicr  r31,r31,63,0
    8000000000050d64:	7f a3 eb 78 	mr      r3,r29
    	#r3 = filename
    8000000000050d68:	7f e4 fb 78 	mr      r4,r31
    8000000000050d6c:	64 84 00 05 	oris    r4,r4,5
    8000000000050d70:	60 84 10 28 	ori     r4,r4,4136		# 1028
    	#r4 = 0x8000 0000 0005 b1028 = str_bdvd = "/dev_bdvd\0"
    8000000000050d74:	38 a0 00 09 	li      r5,9
    8000000000050d78:	4b ff c5 cd 	bl      800000000004d344 <r50990-0x364c>
    	#r3 = func_4d344(filename, "/dev_bdvd", 9) - assuming this is strncmp
    
    8000000000050d7c:	28 23 00 00 	cmpldi  r3,0
    8000000000050d80:	40 82 00 34 	bne     8000000000050db4 <r50990+0x424>
    	#no match with /dev_bdvd, skip the patch code (remember r29 holds original filename)
    
    8000000000050d84:	67 ff 00 05 	oris    r31,r31,5
    8000000000050d88:	63 ff 0b bc 	ori     r31,r31,3004		# bbc
    	#r31 = 0x8000 0000 0005 0bbc = prefix_structure
    
    8000000000050d8c:	80 7f 00 10 	lwz     r3,16(r31)
    8000000000050d90:	28 03 00 00 	cmplwi  r3,0
    8000000000050d94:	41 82 00 20 	beq     8000000000050db4 <r50990+0x424>
    	#if prefix_structure.valid == 0, skip the patch code (dongle not initialised)
    
    8000000000050d98:	e8 7f 00 00 	ld      r3,0(r31)
    8000000000050d9c:	28 23 00 00 	cmpldi  r3,0
    8000000000050da0:	41 82 00 14 	beq     8000000000050db4 <r50990+0x424>
    	#if prefix_structure.start == 0, skip the patch (prefix not set up)
    
    8000000000050da4:	e8 7f 00 08 	ld      r3,8(r31)
    8000000000050da8:	38 9d 00 09 	addi    r4,r29,9
    8000000000050dac:	4b ff c5 45 	bl      800000000004d2f0 <r50990-0x36a0>
    	#func_4d2f0(prefix_structure.end, filename+9) - assuming this is strcpy
    
    8000000000050db0:	eb bf 00 00 	ld      r29,0(r31)
    	#r29 = prefix_structure.start - change the filename we're gonna use
    
    8000000000050db4:	7f a3 eb 78 	mr      r3,r29
    8000000000050db8:	48 25 a2 38 	b       80000000002aaff0 <r50990+0x25a660>
    	#update r3 with our updated string and jump back into the original code
    
    ################################################################################################
    
    # this looks like it's patching a self file once it's been loaded, but it's possible that it's
    # actually patching arbitrary data files... will need more investigation when i get my hardware and from
    # that get myself and lv2 dump
    
    patch_self:
    8000000000050dbc:	7c 08 02 a6 	mflr    r0
    8000000000050dc0:	f8 21 fe 61 	stdu    r1,-416(r1)		# fffffffffffffe60
    8000000000050dc4:	fb 61 00 78 	std     r27,120(r1)		# 78
    8000000000050dc8:	fb 81 00 80 	std     r28,128(r1)		# 80
    8000000000050dcc:	fb a1 00 88 	std     r29,136(r1)		# 88
    8000000000050dd0:	fb c1 00 90 	std     r30,144(r1)		# 90
    8000000000050dd4:	fb e1 00 98 	std     r31,152(r1)		# 98
    8000000000050dd8:	f8 01 01 b0 	std     r0,432(r1)		# 1b0
    	#standard prologue
    
    8000000000050ddc:	7c 7d 1b 78 	mr      r29,r3
    8000000000050de0:	7c 9e 23 78 	mr      r30,r4
    	#save input params in (r29,r30)
    8000000000050de4:	3b e0 00 01 	li      r31,1
    8000000000050de8:	7b ff f8 06 	rldicr  r31,r31,63,0
    	#r31 = 0x8000 0000 0000 0000 = base of ram
    
    8000000000050dec:	eb 82 96 00 	ld      r28,-27136(r2)		# ffffffffffff9600
    8000000000050df0:	eb 9c 00 68 	ld      r28,104(r28)		# 68
    8000000000050df4:	eb 9c 00 18 	ld      r28,24(r28)		# 18
    	#r28 = globals_ffff9600->ofs_68->ofs_24
    
    8000000000050df8:	eb 62 0f 08 	ld      r27,3848(r2)		# f08
    	#r27 = globals_self_ptr
    
    8000000000050dfc:	e9 3d 00 18 	ld      r9,24(r29)		# 18
    8000000000050e00:	81 29 00 30 	lwz     r9,48(r9)		# 30
    8000000000050e04:	79 29 84 02 	rldicl  r9,r9,48,16
    	#r9 = param1->ofs_18->ofs_30 >> 16
    
    8000000000050e08:	2c 09 00 29 	cmpwi   r9,41		# 29
    8000000000050e0c:	40 82 00 58 	bne     8000000000050e64 <r50990+0x4d4>
    	#if r9=='\'' {
    8000000000050e10:	e8 9c 00 10 	ld      r4,16(r28)
    8000000000050e14:	78 85 c1 e4 	rldicr  r5,r4,24,39		# << 24, so lose top 24 bits
    8000000000050e18:	78 a5 46 20 	rldicl  r5,r5,8,56		# >> 56, shift back down 24 + 32 bits
    		#if ( ((r28->ofs_16 >> 32) & 255) == 255) {
    8000000000050e1c:	2c 05 00 ff 	cmpwi   r5,255		# ff
    8000000000050e20:	41 82 00 18 	beq     8000000000050e38 <r50990+0x4a8>
    
    8000000000050e24:	60 84 00 03 	ori     r4,r4,3
    8000000000050e28:	f8 9c 00 10 	std     r4,16(r28)
    			#r28->ofs_16 |= 3
    8000000000050e2c:	38 60 00 06 	li      r3,6
    8000000000050e30:	90 7e 00 00 	stw     r3,0(r30)
    			#*param2=6
    8000000000050e34:	48 00 00 14 	b       8000000000050e48 <r50990+0x4b8>
    		#} else {
    8000000000050e38:	60 84 00 02 	ori     r4,r4,2
    8000000000050e3c:	f8 9c 00 10 	std     r4,16(r28)
    			#r28->ofs_16 |= 3
    8000000000050e40:	38 60 00 2c 	li      r3,44		# 2c
    8000000000050e44:	90 7e 00 00 	stw     r3,0(r30)
    			#*param2=44
    		#}
    
    8000000000050e48:	80 bc 00 04 	lwz     r5,4(r28)
    8000000000050e4c:	e8 9c 00 08 	ld      r4,8(r28)
    8000000000050e50:	e8 7b 00 00 	ld      r3,0(r27)
    		#r3= *globals_self_ptr = address to write to
    		#r4 = r28->ofs_8 = source
    		#r5 = r28->ofs_4 = length
    8000000000050e54:	7d 23 2a 14 	add     r9,r3,r5
    8000000000050e58:	f9 3b 00 00 	std     r9,0(r27)
    		#*globals_self_ptr += r28->ofs_4
    8000000000050e5c:	48 02 b1 c1 	bl      800000000007c01c <r50990+0x2b68c>
    		#memcpy(r3, r28->ofs_8, r5) - nb r5 before the +=
    
    8000000000050e60:	48 00 00 c4 	b       8000000000050f24 <r50990+0x594>
    		#skip to prologue
    	#} else {
    
    8000000000050e64:	7f a3 eb 78 	mr      r3,r29
    8000000000050e68:	7f c4 f3 78 	mr      r4,r30
    8000000000050e6c:	4b ff d9 b1 	bl      800000000004e81c <r50990-0x2174>
    		#func_4e81c(param1,param2)
    
    8000000000050e70:	7f fd fb 78 	mr      r29,r31
    8000000000050e74:	67 bd 00 05 	oris    r29,r29,5
    8000000000050e78:	63 bd 0b d0 	ori     r29,r29,3024		# bd0
    	#r29 = 0x8000 0000 0005 0bd0 = unknown
    
    8000000000050e7c:	80 7d 00 00 	lwz     r3,0(r29)
    8000000000050e80:	80 bc 00 04 	lwz     r5,4(r28)
    8000000000050e84:	7c 63 2a 14 	add     r3,r3,r5
    8000000000050e88:	90 7d 00 00 	stw     r3,0(r29)
    	*r29 += r28->ofs_4
    
    8000000000050e8c:	e8 9c 00 10 	ld      r4,16(r28)
    8000000000050e90:	78 85 c1 e4 	rldicr  r5,r4,24,39		# << 24, so lose top 24 bits
    8000000000050e94:	78 a5 46 20 	rldicl  r5,r5,8,56		# >> 56, shift back down 24 + 32 bits
    8000000000050e98:	2c 05 00 ff 	cmpwi   r5,255		# ff
    8000000000050e9c:	40 82 00 88 	bne     8000000000050f24 <r50990+0x594>
    	#if ( ((r28->ofs_16 >> 32) & 255) == 255) {
    
    8000000000050ea0:	e8 7b 00 00 	ld      r3,0(r27)
    		#r3 = addr = *globals_self_ptr
    8000000000050ea4:	38 80 00 00 	li      r4,0
    		#r4 = offset = 0
    8000000000050ea8:	38 c0 00 00 	li      r6,0
    		#r6 = hash =0
    
    hash_loop:
    8000000000050eac:	7c e3 22 14 	add     r7,r3,r4
    8000000000050eb0:	80 a7 00 00 	lwz     r5,0(r7)
    8000000000050eb4:	7c c6 2a 78 	xor     r6,r6,r5
    8000000000050eb8:	38 84 00 04 	addi    r4,r4,4
    		#hash ^= r3[offset++]
    8000000000050ebc:	28 24 04 00 	cmpldi  r4,1024		# 400
    8000000000050ec0:	40 82 ff ec 	bne     8000000000050eac <r50990+0x51c>
    		#repeat until offset < 1024 bytes / 256 words
    
    8000000000050ec4:	80 7d 00 00 	lwz     r3,0(r29)
    8000000000050ec8:	78 c6 07 c6 	rldicr  r6,r6,32,31		# 1f
    8000000000050ecc:	7c c6 1b 78 	or      r6,r6,r3
    		#r6 = (hash<<32) | *r29
    		#i'm assuming *r29 is length
    
    8000000000050ed0:	38 60 00 00 	li      r3,0
    8000000000050ed4:	90 7d 00 00 	stw     r3,0(r29)
    		#*r29 = 0
    
    8000000000050ed8:	7f e7 fb 78 	mr      r7,r31
    8000000000050edc:	64 e7 00 05 	oris    r7,r7,5
    8000000000050ee0:	60 e7 0f 70 	ori     r7,r7,3952		# f70
    		#r7 = 0x8000 0000 0005 0f70 = self_patch_table
    
    find_self_loop:
    8000000000050ee4:	e8 67 00 00 	ld      r3,0(r7)
    		#get next file info (hash+size)
    8000000000050ee8:	28 23 00 00 	cmpldi  r3,0
    8000000000050eec:	41 82 00 38 	beq     8000000000050f24 <r50990+0x594>
    		#end of list
    8000000000050ef0:	38 e7 00 10 	addi    r7,r7,16
    8000000000050ef4:	7c 23 30 40 	cmpld   r3,r6
    8000000000050ef8:	40 82 ff ec 	bne     8000000000050ee4 <r50990+0x554>
    		#no match, loop
    8000000000050efc:	e8 a7 ff f8 	ld      r5,-8(r7)		# fffffffffffffff8
    8000000000050f00:	e8 fb 00 00 	ld      r7,0(r27)
    		#r5=pointer of next table, r7 = *globals_self_ptr
    
    patch_self_loop:
    8000000000050f04:	80 65 00 00 	lwz     r3,0(r5)
    		#get next pactch address
    8000000000050f08:	28 03 00 00 	cmplwi  r3,0
    8000000000050f0c:	41 82 00 18 	beq     8000000000050f24 <r50990+0x594>
    		#end of list
    8000000000050f10:	80 85 00 04 	lwz     r4,4(r5)
    8000000000050f14:	7c 63 3a 14 	add     r3,r3,r7
    8000000000050f18:	90 83 00 00 	stw     r4,0(r3)
    		#*(base+patchaddr) = data
    8000000000050f1c:	38 a5 00 08 	addi    r5,r5,8
    8000000000050f20:	4b ff ff e4 	b       8000000000050f04 <r50990+0x574>
    		#loop
    	#}
    
    exit_prologue:
    8000000000050f24:	38 60 00 00 	li      r3,0
    8000000000050f28:	eb 61 00 78 	ld      r27,120(r1)		# 78
    8000000000050f2c:	eb 81 00 80 	ld      r28,128(r1)		# 80
    8000000000050f30:	eb a1 00 88 	ld      r29,136(r1)		# 88
    8000000000050f34:	eb c1 00 90 	ld      r30,144(r1)		# 90
    8000000000050f38:	eb e1 00 98 	ld      r31,152(r1)		# 98
    8000000000050f3c:	e8 01 01 b0 	ld      r0,432(r1)		# 1b0
    8000000000050f40:	38 21 01 a0 	addi    r1,r1,416		# 1a0
    8000000000050f44:	7c 08 03 a6 	mtlr    r0
    8000000000050f48:	4e 80 00 20 	blr
    
    ################################################################################################
    
    unused_patch2:
    8000000000050f4c:	f8 21 ff 51 	stdu    r1,-176(r1)		# ffffffffffffff50
    8000000000050f50:	7c 08 02 a6 	mflr    r0
    8000000000050f54:	fb c1 00 a0 	std     r30,160(r1)		# a0
    8000000000050f58:	fb e1 00 a8 	std     r31,168(r1)		# a8
    8000000000050f5c:	fb a1 00 98 	std     r29,152(r1)		# 98
    8000000000050f60:	f8 01 00 c0 	std     r0,192(r1)		# c0
    8000000000050f64:	3b c0 0f a0 	li      r30,4000		# fa0
    8000000000050f68:	3b e0 00 c8 	li      r31,200		# c8
    8000000000050f6c:	4b fb 9b 98 	b       800000000000ab04 <r50990-0x45e8c>
    
    ################################################################################################
    
    # looks like hash of first 1024 bytes, file length???, offset of patch table
    self_patch_table:
    8000000000050f70:	.long		0xa0556f3d, 0x2cb8fd
    			.longlong	0x8000000000050fb8
    
    8000000000050f80:	.long		0x8c0a948c, 0xd99b1
    			.longlong	0x8000000000050fe0
    
    8000000000050f90:	.long		0xa2bc1a56, 0x52adc
    			.longlong	0x8000000000051004
    
    8000000000050fa0:	.long		0x6b702802, 0x20017
    			.longlong	0x8000000000050fd4
    
    #end of table
    			.longlong	0
    
    ################################################################################################
    
    #8000000000050fb8:	00 30 53 54 	.long 0x305354
    #8000000000050fbc:	38 60 00 82 	li      r3,130		# 82
    #8000000000050fc0:	00 5f 3f c0 	.long 0x5f3fc0
    #8000000000050fc4:	38 60 00 01 	li      r3,1
    #8000000000050fc8:	00 5f 3f c4 	.long 0x5f3fc4
    #8000000000050fcc:	4e 80 00 20 	blr
    #8000000000050fd0:	00 00 00 00 	.long 0x0
    
    8000000000050fb8:
    
    8000000000305354:	38 60 00 82 	li      r3,130		# 82
    
    80000000005f3fc0:	38 60 00 01 	li      r3,1
    80000000005f3fc4:	4e 80 00 20 	blr
    
    ################################################################################################
    
    #8000000000050fd4:	00 02 ed 0c 	.long 0x2ed0c
    #8000000000050fd8:	3b a0 00 01 	li      r29,1
    #8000000000050fdc:	00 00 00 00 	.long 0x0
    
    800000000002ed0c:	3b a0 00 01 	li      r29,1
    
    ################################################################################################
    
    #8000000000050fe0:	00 22 b8 88 	.long 0x22b888
    #8000000000050fe4:	5f 74 6f 6f 	rlwnm.  r20,r27,r13,29,23		# 17
    #8000000000050fe8:	00 22 b8 8c 	.long 0x22b88c
    #8000000000050fec:	6c 32 2e 78 	xoris   r18,r1,11896		# 2e78
    #8000000000050ff0:	00 22 b8 90 	.long 0x22b890
    #8000000000050ff4:	6d 6c 23 72 	xoris   r12,r11,9074		# 2372
    #8000000000050ff8:	00 22 b8 94 	.long 0x22b894
    #8000000000050ffc:	6f 6f 74 00 	xoris   r15,r27,29696		# 7400
    #8000000000051000:	00 00 00 00 	.long 0x0
    
    # change category_game.xml to category_game_tool2.xml which includes the install option
    800000000022b888:			.string "_too"
    800000000022b88c:			.string "l2.x"
    800000000022b890:			.string "ml#r"
    800000000022b894:			.string "oot\0"
    
    ################################################################################################
    
    #8000000000051004:	00 0d 68 b8 	.long 0xd68b8
    #8000000000051008:	5f 74 6f 6f 	rlwnm.  r20,r27,r13,29,23		# 17
    #800000000005100c:	00 0d 68 bc 	.long 0xd68bc
    #8000000000051010:	6c 32 2e 78 	xoris   r18,r1,11896		# 2e78
    #8000000000051014:	00 0d 68 c0 	.long 0xd68c0
    #8000000000051018:	6d 6c 23 72 	xoris   r12,r11,9074		# 2372
    #800000000005101c:	00 0d 68 c4 	.long 0xd68c4
    #8000000000051020:	6f 6f 74 00 	xoris   r15,r27,29696		# 7400
    #8000000000051024:	00 00 00 00 	.long 0x0
    
    # change category_game.xml to category_game_tool2.xml which includes the install option
    80000000000d68b8:			.string "_too"
    80000000000d68bc:			.string "l2.x"
    80000000000d68c0:			.string "ml#r"
    80000000000d68c4:			.string "oot\0"
    
    ################################################################################################
    
    str_bdvd:
    8000000000051028:			.string "/dev_bdvd\0"
    
    str_mod:
    8000000000051032:			.string "mod\0"
    
    reloc2_end:
    
    ################################################################################################
    
    8000000000700000 <r700000>:
    
    patch1_exit:
    80000000007006b0:	eb 61 00 78 	ld      r27,120(r1)		# 78
    80000000007006b4:	eb 81 00 80 	ld      r28,128(r1)		# 80
    80000000007006b8:	eb a1 00 88 	ld      r29,136(r1)		# 88
    80000000007006bc:	eb c1 00 90 	ld      r30,144(r1)		# 90
    80000000007006c0:	eb e1 00 98 	ld      r31,152(r1)		# 98
    80000000007006c4:	e8 01 00 b0 	ld      r0,176(r1)		# b0
    80000000007006c8:	38 21 00 a0 	addi    r1,r1,160		# a0
    80000000007006cc:	7c 08 03 a6 	mtlr    r0
    80000000007006d0:	38 60 00 01 	li      r3,1
    80000000007006d4:	78 63 f8 06 	rldicr  r3,r3,63,0
    80000000007006d8:	64 63 00 70 	oris    r3,r3,112		# 70
    80000000007006dc:	38 80 00 00 	li      r4,0
    80000000007006e0:	38 a0 06 e8 	li      r5,1768		# 6e8
    80000000007006e4:	4b 94 ca 60 	b       800000000004d144 <r700000-0x6b2ebc>
    80000000007006e8:	60 00 00 00 	nop
    80000000007006ec:	60 00 00 00 	nop
    
    #these 64 bytes of epilogue is now repeated until the end of the USB descriptor
    #     34 EB 61 00 78 EB 81 00 80 EB A1 00 88 EB C1 00 90 
    #     33 EB E1 00 98 E8 01 00 B0 38 21 00 A0 7C 08 03 A6 
    #     33 38 60 00 01 78 63 F8 06 64 63 00 70 38 80 00 00 
    #     33 38 A0 06 E8 4B 94 CA 60 60 00 00 00 60 00 00 00
    Last edited by tragedy; 09-02-2010 at 08:20 PM

  8. #28
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    27,820
    Quote Originally Posted by tragedy View Post
    Here's a better disassembly than the previous one:
    Very nice job tragedy- Thanks for sharing it here and +Rep!

  9. #29
    Registered User Hugh Jarce's Avatar
    Join Date
    Sep 2010
    Posts
    2
    Quote Originally Posted by Jes03 View Post
    Isn't this just telling $ony how its done so now they know exactly how to patch it?
    I certainly hope not. Things are just starting to take off now.

  10. #30
    Registered User emsi's Avatar
    Join Date
    Sep 2010
    Posts
    20
    Quote Originally Posted by CodeKiller View Post
    in this regards, it theoretically can be used with v-usb (software usb for atmega) as it only bind to 8 bytes-packets: slow-speed usb

    bad text-align... sorry, forgot to preview.
    Great! I'm highly interested in the posibility to port it to v-usb. This would push down the price of the device to around 10-15$.

 

Sponsored Links
Page 3 of 4 FirstFirst 1234 LastLast
Advertising - Affiliates - Contact Us - PS3 Downloads - Privacy Statement - Site Rules - Top - © 2014 PlayStation 3 News