.include "macros.inc" .section .text .global func_8036d308 .type func_8036d308, @function func_8036d308: /* 8036D308 38E30000 */ addi r7, r3, 0x0 /* 8036D30C 38C00000 */ li r6, 0x0 /* 8036D310 48000014 */ b lbl_8036d324 lbl_8036d314: /* 8036D314 7C043840 */ cmplw r4, r7 /* 8036D318 40810014 */ ble- lbl_8036d32c /* 8036D31C 7CE63B78 */ mr r6, r7 /* 8036D320 80E70004 */ lwz r7, 4(r7) lbl_8036d324: /* 8036D324 28070000 */ cmplwi r7, 0 /* 8036D328 4082FFEC */ bne+ lbl_8036d314 lbl_8036d32c: /* 8036D32C 90E40004 */ stw r7, 4(r4) /* 8036D330 28070000 */ cmplwi r7, 0 /* 8036D334 90C40000 */ stw r6, 0(r4) /* 8036D338 41820038 */ beq- lbl_8036d370 /* 8036D33C 90870000 */ stw r4, 0(r7) /* 8036D340 80A40008 */ lwz r5, 8(r4) /* 8036D344 7C042A14 */ add r0, r4, r5 /* 8036D348 7C003840 */ cmplw r0, r7 /* 8036D34C 40820024 */ bne- lbl_8036d370 /* 8036D350 80070008 */ lwz r0, 8(r7) /* 8036D354 7C050214 */ add r0, r5, r0 /* 8036D358 90040008 */ stw r0, 8(r4) /* 8036D35C 80E70004 */ lwz r7, 4(r7) /* 8036D360 28070000 */ cmplwi r7, 0 /* 8036D364 90E40004 */ stw r7, 4(r4) /* 8036D368 41820008 */ beq- lbl_8036d370 /* 8036D36C 90870000 */ stw r4, 0(r7) lbl_8036d370: /* 8036D370 28060000 */ cmplwi r6, 0 /* 8036D374 41820038 */ beq- lbl_8036d3ac /* 8036D378 90860004 */ stw r4, 4(r6) /* 8036D37C 80A60008 */ lwz r5, 8(r6) /* 8036D380 7C062A14 */ add r0, r6, r5 /* 8036D384 7C002040 */ cmplw r0, r4 /* 8036D388 4C820020 */ bnelr- /* 8036D38C 80040008 */ lwz r0, 8(r4) /* 8036D390 28070000 */ cmplwi r7, 0 /* 8036D394 7C050214 */ add r0, r5, r0 /* 8036D398 90060008 */ stw r0, 8(r6) /* 8036D39C 90E60004 */ stw r7, 4(r6) /* 8036D3A0 4D820020 */ beqlr- /* 8036D3A4 90C70000 */ stw r6, 0(r7) /* 8036D3A8 4E800020 */ blr lbl_8036d3ac: /* 8036D3AC 7C832378 */ mr r3, r4 /* 8036D3B0 4E800020 */ blr .size func_8036d308, . - func_8036d308 .global func_8036d3b4 .type func_8036d3b4, @function func_8036d3b4: /* 8036D3B4 1C03000C */ mulli r0, r3, 0xc /* 8036D3B8 806DCA30 */ lwz r3, lbl_805c6850@sda21(0) /* 8036D3BC 7CA30214 */ add r5, r3, r0 /* 8036D3C0 3804003F */ addi r0, r4, 0x3f /* 8036D3C4 80C50004 */ lwz r6, 4(r5) /* 8036D3C8 54030034 */ rlwinm r3, r0, 0, 0, 0x1a /* 8036D3CC 48000014 */ b lbl_8036d3e0 lbl_8036d3d0: /* 8036D3D0 80060008 */ lwz r0, 8(r6) /* 8036D3D4 7C030000 */ cmpw r3, r0 /* 8036D3D8 40810010 */ ble- lbl_8036d3e8 /* 8036D3DC 80C60004 */ lwz r6, 4(r6) lbl_8036d3e0: /* 8036D3E0 28060000 */ cmplwi r6, 0 /* 8036D3E4 4082FFEC */ bne+ lbl_8036d3d0 lbl_8036d3e8: /* 8036D3E8 28060000 */ cmplwi r6, 0 /* 8036D3EC 4082000C */ bne- lbl_8036d3f8 /* 8036D3F0 38600000 */ li r3, 0x0 /* 8036D3F4 4E800020 */ blr lbl_8036d3f8: /* 8036D3F8 80060008 */ lwz r0, 8(r6) /* 8036D3FC 7C030050 */ subf r0, r3, r0 /* 8036D400 28000040 */ cmplwi r0, 0x40 /* 8036D404 40800040 */ bge- lbl_8036d444 /* 8036D408 80860004 */ lwz r4, 4(r6) /* 8036D40C 80650004 */ lwz r3, 4(r5) /* 8036D410 28040000 */ cmplwi r4, 0 /* 8036D414 4182000C */ beq- lbl_8036d420 /* 8036D418 80060000 */ lwz r0, 0(r6) /* 8036D41C 90040000 */ stw r0, 0(r4) lbl_8036d420: /* 8036D420 80860000 */ lwz r4, 0(r6) /* 8036D424 28040000 */ cmplwi r4, 0 /* 8036D428 4082000C */ bne- lbl_8036d434 /* 8036D42C 80660004 */ lwz r3, 4(r6) /* 8036D430 4800000C */ b lbl_8036d43c lbl_8036d434: /* 8036D434 80060004 */ lwz r0, 4(r6) /* 8036D438 90040004 */ stw r0, 4(r4) lbl_8036d43c: /* 8036D43C 90650004 */ stw r3, 4(r5) /* 8036D440 48000048 */ b lbl_8036d488 lbl_8036d444: /* 8036D444 90660008 */ stw r3, 8(r6) /* 8036D448 7C861A14 */ add r4, r6, r3 /* 8036D44C 90040008 */ stw r0, 8(r4) /* 8036D450 80060000 */ lwz r0, 0(r6) /* 8036D454 90040000 */ stw r0, 0(r4) /* 8036D458 80060004 */ lwz r0, 4(r6) /* 8036D45C 90040004 */ stw r0, 4(r4) /* 8036D460 80640004 */ lwz r3, 4(r4) /* 8036D464 28030000 */ cmplwi r3, 0 /* 8036D468 41820008 */ beq- lbl_8036d470 /* 8036D46C 90830000 */ stw r4, 0(r3) lbl_8036d470: /* 8036D470 80640000 */ lwz r3, 0(r4) /* 8036D474 28030000 */ cmplwi r3, 0 /* 8036D478 4182000C */ beq- lbl_8036d484 /* 8036D47C 90830004 */ stw r4, 4(r3) /* 8036D480 48000008 */ b lbl_8036d488 lbl_8036d484: /* 8036D484 90850004 */ stw r4, 4(r5) lbl_8036d488: /* 8036D488 80650008 */ lwz r3, 8(r5) /* 8036D48C 38000000 */ li r0, 0x0 /* 8036D490 90660004 */ stw r3, 4(r6) /* 8036D494 28030000 */ cmplwi r3, 0 /* 8036D498 90060000 */ stw r0, 0(r6) /* 8036D49C 41820008 */ beq- lbl_8036d4a4 /* 8036D4A0 90C30000 */ stw r6, 0(r3) lbl_8036d4a4: /* 8036D4A4 90C50008 */ stw r6, 8(r5) /* 8036D4A8 38660020 */ addi r3, r6, 0x20 /* 8036D4AC 4E800020 */ blr .size func_8036d3b4, . - func_8036d3b4 .global func_8036d4b0 .type func_8036d4b0, @function func_8036d4b0: /* 8036D4B0 7C0802A6 */ mflr r0 /* 8036D4B4 38C4FFE0 */ addi r6, r4, -0x20 /* 8036D4B8 90010004 */ stw r0, 4(r1) /* 8036D4BC 1C03000C */ mulli r0, r3, 0xc /* 8036D4C0 9421FFE8 */ stwu r1, -0x18(r1) /* 8036D4C4 93E10014 */ stw r31, 0x14(r1) /* 8036D4C8 808DCA30 */ lwz r4, lbl_805c6850@sda21(0) /* 8036D4CC 80660004 */ lwz r3, 4(r6) /* 8036D4D0 7FE40214 */ add r31, r4, r0 /* 8036D4D4 28030000 */ cmplwi r3, 0 /* 8036D4D8 80BF0008 */ lwz r5, 8(r31) /* 8036D4DC 7CC43378 */ mr r4, r6 /* 8036D4E0 4182000C */ beq- lbl_8036d4ec /* 8036D4E4 80040000 */ lwz r0, 0(r4) /* 8036D4E8 90030000 */ stw r0, 0(r3) lbl_8036d4ec: /* 8036D4EC 80640000 */ lwz r3, 0(r4) /* 8036D4F0 28030000 */ cmplwi r3, 0 /* 8036D4F4 4082000C */ bne- lbl_8036d500 /* 8036D4F8 80A40004 */ lwz r5, 4(r4) /* 8036D4FC 4800000C */ b lbl_8036d508 lbl_8036d500: /* 8036D500 80040004 */ lwz r0, 4(r4) /* 8036D504 90030004 */ stw r0, 4(r3) lbl_8036d508: /* 8036D508 90BF0008 */ stw r5, 8(r31) /* 8036D50C 807F0004 */ lwz r3, 4(r31) /* 8036D510 4BFFFDF9 */ bl func_8036d308 /* 8036D514 907F0004 */ stw r3, 4(r31) /* 8036D518 8001001C */ lwz r0, 0x1c(r1) /* 8036D51C 83E10014 */ lwz r31, 0x14(r1) /* 8036D520 38210018 */ addi r1, r1, 0x18 /* 8036D524 7C0803A6 */ mtlr r0 /* 8036D528 4E800020 */ blr .size func_8036d4b0, . - func_8036d4b0 .global func_8036d52c .type func_8036d52c, @function func_8036d52c: /* 8036D52C 800D9EF8 */ lwz r0, lbl_805c3d18@sda21(0) /* 8036D530 906D9EF8 */ stw r3, lbl_805c3d18@sda21(0) /* 8036D534 7C030378 */ mr r3, r0 /* 8036D538 4E800020 */ blr .size func_8036d52c, . - func_8036d52c .global func_8036d53c .type func_8036d53c, @function func_8036d53c: /* 8036D53C 1CE5000C */ mulli r7, r5, 0xc /* 8036D540 906DCA30 */ stw r3, lbl_805c6850@sda21(0) /* 8036D544 90ADCA34 */ stw r5, lbl_805c6854@sda21(0) /* 8036D548 38C00000 */ li r6, 0x0 /* 8036D54C 38660000 */ addi r3, r6, 0x0 /* 8036D550 39000000 */ li r8, 0x0 /* 8036D554 38A0FFFF */ li r5, -0x1 /* 8036D558 48000020 */ b lbl_8036d578 lbl_8036d55c: /* 8036D55C 800DCA30 */ lwz r0, lbl_805c6850@sda21(0) /* 8036D560 39080001 */ addi r8, r8, 0x1 /* 8036D564 7D203214 */ add r9, r0, r6 /* 8036D568 90A90000 */ stw r5, 0(r9) /* 8036D56C 38C6000C */ addi r6, r6, 0xc /* 8036D570 90690008 */ stw r3, 8(r9) /* 8036D574 90690004 */ stw r3, 4(r9) lbl_8036d578: /* 8036D578 800DCA34 */ lwz r0, lbl_805c6854@sda21(0) /* 8036D57C 7C080000 */ cmpw r8, r0 /* 8036D580 4180FFDC */ blt+ lbl_8036d55c /* 8036D584 806DCA30 */ lwz r3, lbl_805c6850@sda21(0) /* 8036D588 54800034 */ rlwinm r0, r4, 0, 0, 0x1a /* 8036D58C 3880FFFF */ li r4, -0x1 /* 8036D590 900DCA3C */ stw r0, lbl_805c685c@sda21(0) /* 8036D594 7C633A14 */ add r3, r3, r7 /* 8036D598 3803001F */ addi r0, r3, 0x1f /* 8036D59C 908D9EF8 */ stw r4, lbl_805c3d18@sda21(0) /* 8036D5A0 54030034 */ rlwinm r3, r0, 0, 0, 0x1a /* 8036D5A4 906DCA38 */ stw r3, lbl_805c6858@sda21(0) /* 8036D5A8 4E800020 */ blr .size func_8036d53c, . - func_8036d53c .global func_8036d5ac .type func_8036d5ac, @function func_8036d5ac: /* 8036D5AC 80CDCA34 */ lwz r6, lbl_805c6854@sda21(0) /* 8036D5B0 3803001F */ addi r0, r3, 0x1f /* 8036D5B4 80ADCA30 */ lwz r5, lbl_805c6850@sda21(0) /* 8036D5B8 54070034 */ rlwinm r7, r0, 0, 0, 0x1a /* 8036D5BC 2C060000 */ cmpwi r6, 0x0 /* 8036D5C0 7CC903A6 */ mtctr r6 /* 8036D5C4 54840034 */ rlwinm r4, r4, 0, 0, 0x1a /* 8036D5C8 38600000 */ li r3, 0x0 /* 8036D5CC 40810044 */ ble- lbl_8036d610 lbl_8036d5d0: /* 8036D5D0 80050000 */ lwz r0, 0(r5) /* 8036D5D4 2C000000 */ cmpwi r0, 0x0 /* 8036D5D8 4080002C */ bge- lbl_8036d604 /* 8036D5DC 7C072050 */ subf r0, r7, r4 /* 8036D5E0 90050000 */ stw r0, 0(r5) /* 8036D5E4 38800000 */ li r4, 0x0 /* 8036D5E8 90870000 */ stw r4, 0(r7) /* 8036D5EC 90870004 */ stw r4, 4(r7) /* 8036D5F0 80050000 */ lwz r0, 0(r5) /* 8036D5F4 90070008 */ stw r0, 8(r7) /* 8036D5F8 90E50004 */ stw r7, 4(r5) /* 8036D5FC 90850008 */ stw r4, 8(r5) /* 8036D600 4E800020 */ blr lbl_8036d604: /* 8036D604 38A5000C */ addi r5, r5, 0xc /* 8036D608 38630001 */ addi r3, r3, 0x1 /* 8036D60C 4200FFC4 */ bdnz lbl_8036d5d0 lbl_8036d610: /* 8036D610 3860FFFF */ li r3, -0x1 /* 8036D614 4E800020 */ blr .size func_8036d5ac, . - func_8036d5ac