pal-beta: Decompile pakRepairFilesystem

This commit is contained in:
Ryan Dwyer 2022-04-21 23:53:21 +10:00
parent 6cfa0a6fd0
commit c7f3896f27
1 changed files with 1 additions and 479 deletions

View File

@ -2820,483 +2820,6 @@ struct serialcount {
* - Removes files if partially written
* - Returns 1 if filesystem is good, or 0 if unrepairable
*/
#if VERSION == VERSION_PAL_BETA
GLOBAL_ASM(
glabel pakRepairFilesystem
/* f119fac: 27bdf850 */ addiu $sp,$sp,-1968
/* f119fb0: afb4003c */ sw $s4,0x3c($sp)
/* f119fb4: 0004a600 */ sll $s4,$a0,0x18
/* f119fb8: 00147603 */ sra $t6,$s4,0x18
/* f119fbc: 000e7880 */ sll $t7,$t6,0x2
/* f119fc0: 01ee7823 */ subu $t7,$t7,$t6
/* f119fc4: 000f7880 */ sll $t7,$t7,0x2
/* f119fc8: 01ee7823 */ subu $t7,$t7,$t6
/* f119fcc: 000f7880 */ sll $t7,$t7,0x2
/* f119fd0: 01ee7821 */ addu $t7,$t7,$t6
/* f119fd4: 000f7880 */ sll $t7,$t7,0x2
/* f119fd8: afa407b0 */ sw $a0,0x7b0($sp)
/* f119fdc: 01ee7823 */ subu $t7,$t7,$t6
/* f119fe0: 3c18800a */ lui $t8,0x800a
/* f119fe4: afb60044 */ sw $s6,0x44($sp)
/* f119fe8: 271868b0 */ addiu $t8,$t8,0x68b0
/* f119fec: 000f7880 */ sll $t7,$t7,0x2
/* f119ff0: 000e2600 */ sll $a0,$t6,0x18
/* f119ff4: afbf004c */ sw $ra,0x4c($sp)
/* f119ff8: afb70048 */ sw $s7,0x48($sp)
/* f119ffc: afb10030 */ sw $s1,0x30($sp)
/* f11a000: 01f8b021 */ addu $s6,$t7,$t8
/* f11a004: 3419baba */ li $t9,0xbaba
/* f11a008: 00044e03 */ sra $t1,$a0,0x18
/* f11a00c: 01c0a025 */ move $s4,$t6
/* f11a010: afb50040 */ sw $s5,0x40($sp)
/* f11a014: afb30038 */ sw $s3,0x38($sp)
/* f11a018: afb20034 */ sw $s2,0x34($sp)
/* f11a01c: afb0002c */ sw $s0,0x2c($sp)
/* f11a020: 0000b825 */ move $s7,$zero
/* f11a024: afa007a4 */ sw $zero,0x7a4($sp)
/* f11a028: 00008825 */ move $s1,$zero
/* f11a02c: aed90260 */ sw $t9,0x260($s6)
/* f11a030: a2c002be */ sb $zero,0x2be($s6)
/* f11a034: 0fc45c1e */ jal pak0f1167d8
/* f11a038: 01202025 */ move $a0,$t1
/* f11a03c: 50400004 */ beqzl $v0,.PB0f11a050
/* f11a040: 8eca02a0 */ lw $t2,0x2a0($s6)
/* f11a044: 1000017c */ b .PB0f11a638
/* f11a048: 24020001 */ li $v0,0x1
/* f11a04c: 8eca02a0 */ lw $t2,0x2a0($s6)
.PB0f11a050:
/* f11a050: afa003a4 */ sw $zero,0x3a4($sp)
/* f11a054: 27b50474 */ addiu $s5,$sp,0x474
/* f11a058: 114000a6 */ beqz $t2,.PB0f11a2f4
/* f11a05c: 27b30484 */ addiu $s3,$sp,0x484
/* f11a060: 2412ffff */ li $s2,-1
/* f11a064: 00142600 */ sll $a0,$s4,0x18
.PB0f11a068:
/* f11a068: 00045e03 */ sra $t3,$a0,0x18
/* f11a06c: 01602025 */ move $a0,$t3
/* f11a070: 8fa503a4 */ lw $a1,0x3a4($sp)
/* f11a074: 0fc45f70 */ jal pakReadHeaderAtOffset
/* f11a078: 02a03025 */ move $a2,$s5
/* f11a07c: 14400071 */ bnez $v0,.PB0f11a244
/* f11a080: 24010001 */ li $at,0x1
/* f11a084: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a088: 8fae03a4 */ lw $t6,0x3a4($sp)
/* f11a08c: 00142600 */ sll $a0,$s4,0x18
/* f11a090: 000615c2 */ srl $v0,$a2,0x17
/* f11a094: 304c0002 */ andi $t4,$v0,0x2
/* f11a098: 15800096 */ bnez $t4,.PB0f11a2f4
/* f11a09c: 304d0004 */ andi $t5,$v0,0x4
/* f11a0a0: 15a00094 */ bnez $t5,.PB0f11a2f4
/* f11a0a4: 00001025 */ move $v0,$zero
/* f11a0a8: 8ed902a0 */ lw $t9,0x2a0($s6)
/* f11a0ac: 30cf0fff */ andi $t7,$a2,0xfff
/* f11a0b0: 01cfc021 */ addu $t8,$t6,$t7
/* f11a0b4: 0319082b */ sltu $at,$t8,$t9
/* f11a0b8: 14200010 */ bnez $at,.PB0f11a0fc
/* f11a0bc: 00044e03 */ sra $t1,$a0,0x18
/* f11a0c0: 240a0001 */ li $t2,0x1
/* f11a0c4: afaa0020 */ sw $t2,0x20($sp)
/* f11a0c8: 01202025 */ move $a0,$t1
/* f11a0cc: 01c02825 */ move $a1,$t6
/* f11a0d0: 24060004 */ li $a2,0x4
/* f11a0d4: 00003825 */ move $a3,$zero
/* f11a0d8: afa00010 */ sw $zero,0x10($sp)
/* f11a0dc: afa00014 */ sw $zero,0x14($sp)
/* f11a0e0: afa00018 */ sw $zero,0x18($sp)
/* f11a0e4: 0fc47144 */ jal pakWriteFileAtOffset
/* f11a0e8: afa0001c */ sw $zero,0x1c($sp)
/* f11a0ec: 50400082 */ beqzl $v0,.PB0f11a2f8
/* f11a0f0: 8fae07a4 */ lw $t6,0x7a4($sp)
/* f11a0f4: 10000079 */ b .PB0f11a2dc
/* f11a0f8: 24170001 */ li $s7,0x1
.PB0f11a0fc:
/* f11a0fc: 1220003c */ beqz $s1,.PB0f11a1f0
/* f11a100: afa0039c */ sw $zero,0x39c($sp)
/* f11a104: 27a703a8 */ addiu $a3,$sp,0x3a8
/* f11a108: 8fa80480 */ lw $t0,0x480($sp)
.PB0f11a10c:
/* f11a10c: 8ceb0000 */ lw $t3,0x0($a3)
/* f11a110: 00026100 */ sll $t4,$v0,0x4
/* f11a114: 24420001 */ addiu $v0,$v0,0x1
/* f11a118: 124b0033 */ beq $s2,$t3,.PB0f11a1e8
/* f11a11c: 026c3021 */ addu $a2,$s3,$t4
/* f11a120: 8cc3000c */ lw $v1,0xc($a2)
/* f11a124: 00086b40 */ sll $t5,$t0,0xd
/* f11a128: 000d7e42 */ srl $t7,$t5,0x19
/* f11a12c: 0003c340 */ sll $t8,$v1,0xd
/* f11a130: 0018ce42 */ srl $t9,$t8,0x19
/* f11a134: 15f9002c */ bne $t7,$t9,.PB0f11a1e8
/* f11a138: 00087500 */ sll $t6,$t0,0x14
/* f11a13c: 00035d00 */ sll $t3,$v1,0x14
/* f11a140: 000b65c2 */ srl $t4,$t3,0x17
/* f11a144: 000e55c2 */ srl $t2,$t6,0x17
/* f11a148: 24090001 */ li $t1,0x1
/* f11a14c: 014c082b */ sltu $at,$t2,$t4
/* f11a150: 10200009 */ beqz $at,.PB0f11a178
/* f11a154: afa9039c */ sw $t1,0x39c($sp)
/* f11a158: 00142600 */ sll $a0,$s4,0x18
/* f11a15c: 00046e03 */ sra $t5,$a0,0x18
/* f11a160: 01a02025 */ move $a0,$t5
/* f11a164: 27a503a4 */ addiu $a1,$sp,0x3a4
/* f11a168: 0fc46760 */ jal pakRepairAsBlank
/* f11a16c: 02a03025 */ move $a2,$s5
/* f11a170: 1000001f */ b .PB0f11a1f0
/* f11a174: 2c570001 */ sltiu $s7,$v0,0x1
.PB0f11a178:
/* f11a178: 00142600 */ sll $a0,$s4,0x18
/* f11a17c: 00117900 */ sll $t7,$s1,0x4
/* f11a180: 026fc821 */ addu $t9,$s3,$t7
/* f11a184: 0004c603 */ sra $t8,$a0,0x18
/* f11a188: 00114880 */ sll $t1,$s1,0x2
/* f11a18c: 27ae03a8 */ addiu $t6,$sp,0x3a8
/* f11a190: 012e8021 */ addu $s0,$t1,$t6
/* f11a194: 03002025 */ move $a0,$t8
/* f11a198: afb90054 */ sw $t9,0x54($sp)
/* f11a19c: 00e02825 */ move $a1,$a3
/* f11a1a0: 0fc46760 */ jal pakRepairAsBlank
/* f11a1a4: afa7005c */ sw $a3,0x5c($sp)
/* f11a1a8: 8fa7005c */ lw $a3,0x5c($sp)
/* f11a1ac: 2c570001 */ sltiu $s7,$v0,0x1
/* f11a1b0: 02a02825 */ move $a1,$s5
/* f11a1b4: acf20000 */ sw $s2,0x0($a3)
/* f11a1b8: 8fa40054 */ lw $a0,0x54($sp)
/* f11a1bc: 0c012ae8 */ jal memcpy
/* f11a1c0: 24060010 */ li $a2,0x10
/* f11a1c4: 8fab03a4 */ lw $t3,0x3a4($sp)
/* f11a1c8: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a1cc: 26310001 */ addiu $s1,$s1,0x1
/* f11a1d0: ae0b0000 */ sw $t3,0x0($s0)
/* f11a1d4: 8faa03a4 */ lw $t2,0x3a4($sp)
/* f11a1d8: 30cc0fff */ andi $t4,$a2,0xfff
/* f11a1dc: 014c6821 */ addu $t5,$t2,$t4
/* f11a1e0: 10000003 */ b .PB0f11a1f0
/* f11a1e4: afad03a4 */ sw $t5,0x3a4($sp)
.PB0f11a1e8:
/* f11a1e8: 1451ffc8 */ bne $v0,$s1,.PB0f11a10c
/* f11a1ec: 24e70004 */ addiu $a3,$a3,0x4
.PB0f11a1f0:
/* f11a1f0: 8fb8039c */ lw $t8,0x39c($sp)
/* f11a1f4: 17000039 */ bnez $t8,.PB0f11a2dc
/* f11a1f8: 00000000 */ nop
/* f11a1fc: 16e00037 */ bnez $s7,.PB0f11a2dc
/* f11a200: 00117900 */ sll $t7,$s1,0x4
/* f11a204: 0011c880 */ sll $t9,$s1,0x2
/* f11a208: 27a903a8 */ addiu $t1,$sp,0x3a8
/* f11a20c: 03298021 */ addu $s0,$t9,$t1
/* f11a210: 026f2021 */ addu $a0,$s3,$t7
/* f11a214: 02a02825 */ move $a1,$s5
/* f11a218: 0c012ae8 */ jal memcpy
/* f11a21c: 24060010 */ li $a2,0x10
/* f11a220: 8fae03a4 */ lw $t6,0x3a4($sp)
/* f11a224: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a228: 26310001 */ addiu $s1,$s1,0x1
/* f11a22c: ae0e0000 */ sw $t6,0x0($s0)
/* f11a230: 8fab03a4 */ lw $t3,0x3a4($sp)
/* f11a234: 30ca0fff */ andi $t2,$a2,0xfff
/* f11a238: 016a6021 */ addu $t4,$t3,$t2
/* f11a23c: 10000027 */ b .PB0f11a2dc
/* f11a240: afac03a4 */ sw $t4,0x3a4($sp)
.PB0f11a244:
/* f11a244: 14410003 */ bne $v0,$at,.PB0f11a254
/* f11a248: 00142600 */ sll $a0,$s4,0x18
/* f11a24c: 100000fa */ b .PB0f11a638
/* f11a250: 24020001 */ li $v0,0x1
.PB0f11a254:
/* f11a254: 24010007 */ li $at,0x7
/* f11a258: 14410007 */ bne $v0,$at,.PB0f11a278
/* f11a25c: 00046e03 */ sra $t5,$a0,0x18
/* f11a260: 01a02025 */ move $a0,$t5
/* f11a264: 27a503a4 */ addiu $a1,$sp,0x3a4
/* f11a268: 0fc46760 */ jal pakRepairAsBlank
/* f11a26c: 00003025 */ move $a2,$zero
/* f11a270: 1000001a */ b .PB0f11a2dc
/* f11a274: 2c570001 */ sltiu $s7,$v0,0x1
.PB0f11a278:
/* f11a278: 2401000f */ li $at,0xf
/* f11a27c: 1441000a */ bne $v0,$at,.PB0f11a2a8
/* f11a280: 00142600 */ sll $a0,$s4,0x18
/* f11a284: 0004c603 */ sra $t8,$a0,0x18
/* f11a288: 03002025 */ move $a0,$t8
/* f11a28c: 27a503a4 */ addiu $a1,$sp,0x3a4
/* f11a290: 0fc46760 */ jal pakRepairAsBlank
/* f11a294: 02a03025 */ move $a2,$s5
/* f11a298: 14400010 */ bnez $v0,.PB0f11a2dc
/* f11a29c: 00000000 */ nop
/* f11a2a0: 10000014 */ b .PB0f11a2f4
/* f11a2a4: 24170001 */ li $s7,0x1
.PB0f11a2a8:
/* f11a2a8: 24100009 */ li $s0,0x9
/* f11a2ac: 14500004 */ bne $v0,$s0,.PB0f11a2c0
/* f11a2b0: 24010004 */ li $at,0x4
/* f11a2b4: 240f0001 */ li $t7,0x1
/* f11a2b8: 1000000e */ b .PB0f11a2f4
/* f11a2bc: afaf07a4 */ sw $t7,0x7a4($sp)
.PB0f11a2c0:
/* f11a2c0: 1041000c */ beq $v0,$at,.PB0f11a2f4
/* f11a2c4: 24170001 */ li $s7,0x1
/* f11a2c8: 2401000b */ li $at,0xb
/* f11a2cc: 5441000a */ bnel $v0,$at,.PB0f11a2f8
/* f11a2d0: 8fae07a4 */ lw $t6,0x7a4($sp)
/* f11a2d4: 10000008 */ b .PB0f11a2f8
/* f11a2d8: 8fae07a4 */ lw $t6,0x7a4($sp)
.PB0f11a2dc:
/* f11a2dc: 16e00005 */ bnez $s7,.PB0f11a2f4
/* f11a2e0: 8fb903a4 */ lw $t9,0x3a4($sp)
/* f11a2e4: 8ec902a0 */ lw $t1,0x2a0($s6)
/* f11a2e8: 0329082b */ sltu $at,$t9,$t1
/* f11a2ec: 5420ff5e */ bnezl $at,.PB0f11a068
/* f11a2f0: 00142600 */ sll $a0,$s4,0x18
.PB0f11a2f4:
/* f11a2f4: 8fae07a4 */ lw $t6,0x7a4($sp)
.PB0f11a2f8:
/* f11a2f8: 24100009 */ li $s0,0x9
/* f11a2fc: 27b50474 */ addiu $s5,$sp,0x474
/* f11a300: 15c0003d */ bnez $t6,.PB0f11a3f8
/* f11a304: afa003a4 */ sw $zero,0x3a4($sp)
/* f11a308: 56e0003c */ bnezl $s7,.PB0f11a3fc
/* f11a30c: 8fb907a4 */ lw $t9,0x7a4($sp)
/* f11a310: 8ecb02a0 */ lw $t3,0x2a0($s6)
/* f11a314: 11600038 */ beqz $t3,.PB0f11a3f8
/* f11a318: 00142600 */ sll $a0,$s4,0x18
.PB0f11a31c:
/* f11a31c: 00045603 */ sra $t2,$a0,0x18
/* f11a320: 01402025 */ move $a0,$t2
/* f11a324: 8fa503a4 */ lw $a1,0x3a4($sp)
/* f11a328: 0fc45f70 */ jal pakReadHeaderAtOffset
/* f11a32c: 02a03025 */ move $a2,$s5
/* f11a330: 14400017 */ bnez $v0,.PB0f11a390
/* f11a334: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a338: 000615c2 */ srl $v0,$a2,0x17
/* f11a33c: 304c0002 */ andi $t4,$v0,0x2
/* f11a340: 11800003 */ beqz $t4,.PB0f11a350
/* f11a344: 8fad03a4 */ lw $t5,0x3a4($sp)
/* f11a348: 1000000b */ b .PB0f11a378
/* f11a34c: 30430004 */ andi $v1,$v0,0x4
.PB0f11a350:
/* f11a350: 11a00003 */ beqz $t5,.PB0f11a360
/* f11a354: 8fa80480 */ lw $t0,0x480($sp)
/* f11a358: 10000007 */ b .PB0f11a378
/* f11a35c: 30430004 */ andi $v1,$v0,0x4
.PB0f11a360:
/* f11a360: 0008c4c2 */ srl $t8,$t0,0x13
/* f11a364: 30430004 */ andi $v1,$v0,0x4
/* f11a368: 10600003 */ beqz $v1,.PB0f11a378
/* f11a36c: aed80260 */ sw $t8,0x260($s6)
/* f11a370: 100000b1 */ b .PB0f11a638
/* f11a374: 00001025 */ move $v0,$zero
.PB0f11a378:
/* f11a378: 1460001f */ bnez $v1,.PB0f11a3f8
/* f11a37c: 8faf03a4 */ lw $t7,0x3a4($sp)
/* f11a380: 30d90fff */ andi $t9,$a2,0xfff
/* f11a384: 01f94821 */ addu $t1,$t7,$t9
/* f11a388: 10000011 */ b .PB0f11a3d0
/* f11a38c: afa903a4 */ sw $t1,0x3a4($sp)
.PB0f11a390:
/* f11a390: 14500008 */ bne $v0,$s0,.PB0f11a3b4
/* f11a394: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a398: 8fab03a4 */ lw $t3,0x3a4($sp)
/* f11a39c: 30ca0fff */ andi $t2,$a2,0xfff
/* f11a3a0: 240e0001 */ li $t6,0x1
/* f11a3a4: 016a6021 */ addu $t4,$t3,$t2
/* f11a3a8: afae07a4 */ sw $t6,0x7a4($sp)
/* f11a3ac: 10000008 */ b .PB0f11a3d0
/* f11a3b0: afac03a4 */ sw $t4,0x3a4($sp)
.PB0f11a3b4:
/* f11a3b4: 24010001 */ li $at,0x1
/* f11a3b8: 14410003 */ bne $v0,$at,.PB0f11a3c8
/* f11a3bc: 00000000 */ nop
/* f11a3c0: 1000009d */ b .PB0f11a638
/* f11a3c4: 24020001 */ li $v0,0x1
.PB0f11a3c8:
/* f11a3c8: 1000009b */ b .PB0f11a638
/* f11a3cc: 24020001 */ li $v0,0x1
.PB0f11a3d0:
/* f11a3d0: 8fad07a4 */ lw $t5,0x7a4($sp)
/* f11a3d4: 8fb803a4 */ lw $t8,0x3a4($sp)
/* f11a3d8: 55a00008 */ bnezl $t5,.PB0f11a3fc
/* f11a3dc: 8fb907a4 */ lw $t9,0x7a4($sp)
/* f11a3e0: 56e00006 */ bnezl $s7,.PB0f11a3fc
/* f11a3e4: 8fb907a4 */ lw $t9,0x7a4($sp)
/* f11a3e8: 8ecf02a0 */ lw $t7,0x2a0($s6)
/* f11a3ec: 030f082b */ sltu $at,$t8,$t7
/* f11a3f0: 5420ffca */ bnezl $at,.PB0f11a31c
/* f11a3f4: 00142600 */ sll $a0,$s4,0x18
.PB0f11a3f8:
/* f11a3f8: 8fb907a4 */ lw $t9,0x7a4($sp)
.PB0f11a3fc:
/* f11a3fc: 17200079 */ bnez $t9,.PB0f11a5e4
/* f11a400: 00000000 */ nop
/* f11a404: 16e00077 */ bnez $s7,.PB0f11a5e4
/* f11a408: 00000000 */ nop
/* f11a40c: 8ec902a0 */ lw $t1,0x2a0($s6)
/* f11a410: 00008025 */ move $s0,$zero
/* f11a414: afa003a4 */ sw $zero,0x3a4($sp)
/* f11a418: 1120002e */ beqz $t1,.PB0f11a4d4
/* f11a41c: 27b2007c */ addiu $s2,$sp,0x7c
/* f11a420: 24110001 */ li $s1,0x1
.PB0f11a424:
/* f11a424: 00142600 */ sll $a0,$s4,0x18
/* f11a428: 00047603 */ sra $t6,$a0,0x18
/* f11a42c: 01c02025 */ move $a0,$t6
/* f11a430: 8fa503a4 */ lw $a1,0x3a4($sp)
/* f11a434: 0fc45f70 */ jal pakReadHeaderAtOffset
/* f11a438: 02a03025 */ move $a2,$s5
/* f11a43c: 14400025 */ bnez $v0,.PB0f11a4d4
/* f11a440: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a444: 000615c2 */ srl $v0,$a2,0x17
/* f11a448: 304b0002 */ andi $t3,$v0,0x2
/* f11a44c: 1560001a */ bnez $t3,.PB0f11a4b8
/* f11a450: 304a0004 */ andi $t2,$v0,0x4
/* f11a454: 1540001f */ bnez $t2,.PB0f11a4d4
/* f11a458: 00002825 */ move $a1,$zero
/* f11a45c: 1a00000e */ blez $s0,.PB0f11a498
/* f11a460: 00001825 */ move $v1,$zero
/* f11a464: 8fa80480 */ lw $t0,0x480($sp)
/* f11a468: 27a2007c */ addiu $v0,$sp,0x7c
/* f11a46c: 000824c2 */ srl $a0,$t0,0x13
.PB0f11a470:
/* f11a470: 8c4c0000 */ lw $t4,0x0($v0)
/* f11a474: 24630001 */ addiu $v1,$v1,0x1
/* f11a478: 148c0005 */ bne $a0,$t4,.PB0f11a490
/* f11a47c: 00000000 */ nop
/* f11a480: 8c4d0004 */ lw $t5,0x4($v0)
/* f11a484: 02202825 */ move $a1,$s1
/* f11a488: 25b80001 */ addiu $t8,$t5,0x1
/* f11a48c: ac580004 */ sw $t8,0x4($v0)
.PB0f11a490:
/* f11a490: 1470fff7 */ bne $v1,$s0,.PB0f11a470
/* f11a494: 24420008 */ addiu $v0,$v0,0x8
.PB0f11a498:
/* f11a498: 14a00007 */ bnez $a1,.PB0f11a4b8
/* f11a49c: 8fa80480 */ lw $t0,0x480($sp)
/* f11a4a0: 001078c0 */ sll $t7,$s0,0x3
/* f11a4a4: 024f1021 */ addu $v0,$s2,$t7
/* f11a4a8: 0008ccc2 */ srl $t9,$t0,0x13
/* f11a4ac: ac590000 */ sw $t9,0x0($v0)
/* f11a4b0: ac510004 */ sw $s1,0x4($v0)
/* f11a4b4: 26100001 */ addiu $s0,$s0,0x1
.PB0f11a4b8:
/* f11a4b8: 8fa903a4 */ lw $t1,0x3a4($sp)
/* f11a4bc: 8ecc02a0 */ lw $t4,0x2a0($s6)
/* f11a4c0: 30ce0fff */ andi $t6,$a2,0xfff
/* f11a4c4: 012e5821 */ addu $t3,$t1,$t6
/* f11a4c8: 016c082b */ sltu $at,$t3,$t4
/* f11a4cc: 1420ffd5 */ bnez $at,.PB0f11a424
/* f11a4d0: afab03a4 */ sw $t3,0x3a4($sp)
.PB0f11a4d4:
/* f11a4d4: 2a010002 */ slti $at,$s0,0x2
/* f11a4d8: 14200040 */ bnez $at,.PB0f11a5dc
/* f11a4dc: 27b2007c */ addiu $s2,$sp,0x7c
/* f11a4e0: 2406ffff */ li $a2,-1
/* f11a4e4: 2405ffff */ li $a1,-1
/* f11a4e8: 1a00000b */ blez $s0,.PB0f11a518
/* f11a4ec: 00001825 */ move $v1,$zero
/* f11a4f0: 27a2007c */ addiu $v0,$sp,0x7c
.PB0f11a4f4:
/* f11a4f4: 8c440004 */ lw $a0,0x4($v0)
/* f11a4f8: 00a4082a */ slt $at,$a1,$a0
/* f11a4fc: 50200004 */ beqzl $at,.PB0f11a510
/* f11a500: 24630001 */ addiu $v1,$v1,0x1
/* f11a504: 00603025 */ move $a2,$v1
/* f11a508: 00802825 */ move $a1,$a0
/* f11a50c: 24630001 */ addiu $v1,$v1,0x1
.PB0f11a510:
/* f11a510: 1470fff8 */ bne $v1,$s0,.PB0f11a4f4
/* f11a514: 24420008 */ addiu $v0,$v0,0x8
.PB0f11a518:
/* f11a518: 2401ffff */ li $at,-1
/* f11a51c: 10c10031 */ beq $a2,$at,.PB0f11a5e4
/* f11a520: 000668c0 */ sll $t5,$a2,0x3
/* f11a524: 024dc021 */ addu $t8,$s2,$t5
/* f11a528: 8f020000 */ lw $v0,0x0($t8)
/* f11a52c: 00142600 */ sll $a0,$s4,0x18
/* f11a530: 00047e03 */ sra $t7,$a0,0x18
/* f11a534: 2c410010 */ sltiu $at,$v0,0x10
/* f11a538: 10200004 */ beqz $at,.PB0f11a54c
/* f11a53c: aec20260 */ sw $v0,0x260($s6)
/* f11a540: 0fc45bcb */ jal pakGenerateSerial
/* f11a544: 01e02025 */ move $a0,$t7
/* f11a548: aec20260 */ sw $v0,0x260($s6)
.PB0f11a54c:
/* f11a54c: 8ed902a0 */ lw $t9,0x2a0($s6)
/* f11a550: afa003a4 */ sw $zero,0x3a4($sp)
/* f11a554: 13200023 */ beqz $t9,.PB0f11a5e4
.PB0f11a558:
/* f11a558: 00142600 */ sll $a0,$s4,0x18
/* f11a55c: 00044e03 */ sra $t1,$a0,0x18
/* f11a560: 01202025 */ move $a0,$t1
/* f11a564: 8fa503a4 */ lw $a1,0x3a4($sp)
/* f11a568: 0fc45f70 */ jal pakReadHeaderAtOffset
/* f11a56c: 02a03025 */ move $a2,$s5
/* f11a570: 1440001c */ bnez $v0,.PB0f11a5e4
/* f11a574: 8fa6047c */ lw $a2,0x47c($sp)
/* f11a578: 000615c2 */ srl $v0,$a2,0x17
/* f11a57c: 304e0002 */ andi $t6,$v0,0x2
/* f11a580: 15c0000d */ bnez $t6,.PB0f11a5b8
/* f11a584: 304b0004 */ andi $t3,$v0,0x4
/* f11a588: 15600016 */ bnez $t3,.PB0f11a5e4
/* f11a58c: 8fa80480 */ lw $t0,0x480($sp)
/* f11a590: 8ecc0260 */ lw $t4,0x260($s6)
/* f11a594: 000854c2 */ srl $t2,$t0,0x13
/* f11a598: 00142600 */ sll $a0,$s4,0x18
/* f11a59c: 114c0006 */ beq $t2,$t4,.PB0f11a5b8
/* f11a5a0: 00046e03 */ sra $t5,$a0,0x18
/* f11a5a4: 01a02025 */ move $a0,$t5
/* f11a5a8: 8fa503a4 */ lw $a1,0x3a4($sp)
/* f11a5ac: 0fc46746 */ jal pakWriteBlankFile
/* f11a5b0: 02a03025 */ move $a2,$s5
/* f11a5b4: 8fa6047c */ lw $a2,0x47c($sp)
.PB0f11a5b8:
/* f11a5b8: 8fb803a4 */ lw $t8,0x3a4($sp)
/* f11a5bc: 8ece02a0 */ lw $t6,0x2a0($s6)
/* f11a5c0: 30cf0fff */ andi $t7,$a2,0xfff
/* f11a5c4: 030fc821 */ addu $t9,$t8,$t7
/* f11a5c8: 032e082b */ sltu $at,$t9,$t6
/* f11a5cc: 1420ffe2 */ bnez $at,.PB0f11a558
/* f11a5d0: afb903a4 */ sw $t9,0x3a4($sp)
/* f11a5d4: 10000003 */ b .PB0f11a5e4
/* f11a5d8: 00000000 */ nop
.PB0f11a5dc:
/* f11a5dc: 8fab007c */ lw $t3,0x7c($sp)
/* f11a5e0: aecb0260 */ sw $t3,0x260($s6)
.PB0f11a5e4:
/* f11a5e4: 12e00003 */ beqz $s7,.PB0f11a5f4
/* f11a5e8: 8faa07a4 */ lw $t2,0x7a4($sp)
/* f11a5ec: 10000012 */ b .PB0f11a638
/* f11a5f0: 2402ffff */ li $v0,-1
.PB0f11a5f4:
/* f11a5f4: 11400003 */ beqz $t2,.PB0f11a604
/* f11a5f8: 24010004 */ li $at,0x4
/* f11a5fc: 1000000e */ b .PB0f11a638
/* f11a600: 2402ffff */ li $v0,-1
.PB0f11a604:
/* f11a604: 5281000c */ beql $s4,$at,.PB0f11a638
/* f11a608: 00001025 */ move $v0,$zero
/* f11a60c: 8ecc0260 */ lw $t4,0x260($s6)
/* f11a610: 00142600 */ sll $a0,$s4,0x18
/* f11a614: 00046e03 */ sra $t5,$a0,0x18
/* f11a618: 55800007 */ bnezl $t4,.PB0f11a638
/* f11a61c: 00001025 */ move $v0,$zero
/* f11a620: 0fc45bcb */ jal pakGenerateSerial
/* f11a624: 01a02025 */ move $a0,$t5
/* f11a628: aec20260 */ sw $v0,0x260($s6)
/* f11a62c: 10000002 */ b .PB0f11a638
/* f11a630: 2402ffff */ li $v0,-1
/* f11a634: 00001025 */ move $v0,$zero
.PB0f11a638:
/* f11a638: 8fbf004c */ lw $ra,0x4c($sp)
/* f11a63c: 8fb0002c */ lw $s0,0x2c($sp)
/* f11a640: 8fb10030 */ lw $s1,0x30($sp)
/* f11a644: 8fb20034 */ lw $s2,0x34($sp)
/* f11a648: 8fb30038 */ lw $s3,0x38($sp)
/* f11a64c: 8fb4003c */ lw $s4,0x3c($sp)
/* f11a650: 8fb50040 */ lw $s5,0x40($sp)
/* f11a654: 8fb60044 */ lw $s6,0x44($sp)
/* f11a658: 8fb70048 */ lw $s7,0x48($sp)
/* f11a65c: 03e00008 */ jr $ra
/* f11a660: 27bd07b0 */ addiu $sp,$sp,0x7b0
);
#else
s32 pakRepairFilesystem(s8 device)
{
s32 ret;
@ -3584,7 +3107,7 @@ s32 pakRepairFilesystem(s8 device)
// Apply the chosen serial
g_Paks[device].serial = serials[bestindex].serial;
#if VERSION >= VERSION_PAL_FINAL
#if VERSION >= VERSION_PAL_BETA
if (g_Paks[device].serial < 0x10) {
g_Paks[device].serial = pakGenerateSerial(device);
}
@ -3642,7 +3165,6 @@ s32 pakRepairFilesystem(s8 device)
return (VERSION >= VERSION_NTSC_1_0 ? 0 : 1);
}
#endif
#if VERSION >= VERSION_NTSC_1_0
/**