.include "macros.inc" .section .text .global func_80370b70 .type func_80370b70, @function func_80370b70: /* 80370B70 7C0802A6 */ mflr r0 /* 80370B74 3C608054 */ lis r3, lbl_8053eca0@ha /* 80370B78 90010004 */ stw r0, 4(r1) /* 80370B7C 9421FFE8 */ stwu r1, -0x18(r1) /* 80370B80 93E10014 */ stw r31, 0x14(r1) /* 80370B84 3BE3ECA0 */ addi r31, r3, lbl_8053eca0@l /* 80370B88 93C10010 */ stw r30, 0x10(r1) /* 80370B8C 3BDF0040 */ addi r30, r31, 0x40 /* 80370B90 809F0040 */ lwz r4, 0x40(r31) /* 80370B94 7C7F2214 */ add r3, r31, r4 /* 80370B98 20A40040 */ subfic r5, r4, 0x40 /* 80370B9C 48000035 */ bl func_80370bd0 /* 80370BA0 907F004C */ stw r3, 0x4c(r31) /* 80370BA4 801F004C */ lwz r0, 0x4c(r31) /* 80370BA8 2C000000 */ cmpwi r0, 0x0 /* 80370BAC 4182000C */ beq- lbl_80370bb8 /* 80370BB0 38000040 */ li r0, 0x40 /* 80370BB4 901E0000 */ stw r0, 0(r30) lbl_80370bb8: /* 80370BB8 8001001C */ lwz r0, 0x1c(r1) /* 80370BBC 83E10014 */ lwz r31, 0x14(r1) /* 80370BC0 83C10010 */ lwz r30, 0x10(r1) /* 80370BC4 38210018 */ addi r1, r1, 0x18 /* 80370BC8 7C0803A6 */ mtlr r0 /* 80370BCC 4E800020 */ blr .size func_80370b70, . - func_80370b70 .global func_80370bd0 .type func_80370bd0, @function func_80370bd0: /* 80370BD0 7C0802A6 */ mflr r0 /* 80370BD4 3CC08037 */ lis r6, func_80370b70@ha /* 80370BD8 90010004 */ stw r0, 4(r1) /* 80370BDC 38060B70 */ addi r0, r6, func_80370b70@l /* 80370BE0 9421FFD8 */ stwu r1, -0x28(r1) /* 80370BE4 93E10024 */ stw r31, 0x24(r1) /* 80370BE8 3BE40000 */ addi r31, r4, 0x0 /* 80370BEC 38800001 */ li r4, 0x1 /* 80370BF0 93C10020 */ stw r30, 0x20(r1) /* 80370BF4 3BC50000 */ addi r30, r5, 0x0 /* 80370BF8 7C050378 */ mr r5, r0 /* 80370BFC 93A1001C */ stw r29, 0x1c(r1) /* 80370C00 3BA30000 */ addi r29, r3, 0x0 /* 80370C04 38600000 */ li r3, 0x0 /* 80370C08 480BBB75 */ bl func_8042c77c /* 80370C0C 2C030000 */ cmpwi r3, 0x0 /* 80370C10 4082000C */ bne- lbl_80370c1c /* 80370C14 38600000 */ li r3, 0x0 /* 80370C18 480000B4 */ b lbl_80370ccc lbl_80370c1c: /* 80370C1C 38600000 */ li r3, 0x0 /* 80370C20 38800001 */ li r4, 0x1 /* 80370C24 38A00003 */ li r5, 0x3 /* 80370C28 480BB455 */ bl func_8042c07c /* 80370C2C 2C030000 */ cmpwi r3, 0x0 /* 80370C30 40820014 */ bne- lbl_80370c44 /* 80370C34 38600000 */ li r3, 0x0 /* 80370C38 480BBC39 */ bl func_8042c870 /* 80370C3C 38600000 */ li r3, 0x0 /* 80370C40 4800008C */ b lbl_80370ccc lbl_80370c44: /* 80370C44 57FF3032 */ slwi r31, r31, 6 /* 80370C48 381F0100 */ addi r0, r31, 0x100 /* 80370C4C 6400A000 */ oris r0, r0, 0xa000 /* 80370C50 90010014 */ stw r0, 0x14(r1) /* 80370C54 38810014 */ addi r4, r1, 0x14 /* 80370C58 38600000 */ li r3, 0x0 /* 80370C5C 38A00004 */ li r5, 0x4 /* 80370C60 38C00001 */ li r6, 0x1 /* 80370C64 38E00000 */ li r7, 0x0 /* 80370C68 480BA8C1 */ bl func_8042b528 /* 80370C6C 7C600034 */ cntlzw r0, r3 /* 80370C70 541FD97E */ srwi r31, r0, 5 /* 80370C74 38600000 */ li r3, 0x0 /* 80370C78 480BAC99 */ bl func_8042b910 /* 80370C7C 7C600034 */ cntlzw r0, r3 /* 80370C80 5400D97E */ srwi r0, r0, 5 /* 80370C84 389D0000 */ addi r4, r29, 0x0 /* 80370C88 38BE0000 */ addi r5, r30, 0x0 /* 80370C8C 7FFF0378 */ or r31, r31, r0 /* 80370C90 38600000 */ li r3, 0x0 /* 80370C94 38C00001 */ li r6, 0x1 /* 80370C98 480BAAED */ bl func_8042b784 /* 80370C9C 7C600034 */ cntlzw r0, r3 /* 80370CA0 5400D97E */ srwi r0, r0, 5 /* 80370CA4 7FFF0378 */ or r31, r31, r0 /* 80370CA8 38600000 */ li r3, 0x0 /* 80370CAC 480BB4FD */ bl func_8042c1a8 /* 80370CB0 7C600034 */ cntlzw r0, r3 /* 80370CB4 5400D97E */ srwi r0, r0, 5 /* 80370CB8 7FFF0378 */ or r31, r31, r0 /* 80370CBC 38600000 */ li r3, 0x0 /* 80370CC0 480BBBB1 */ bl func_8042c870 /* 80370CC4 7FE00034 */ cntlzw r0, r31 /* 80370CC8 5403D97E */ srwi r3, r0, 5 lbl_80370ccc: /* 80370CCC 8001002C */ lwz r0, 0x2c(r1) /* 80370CD0 83E10024 */ lwz r31, 0x24(r1) /* 80370CD4 83C10020 */ lwz r30, 0x20(r1) /* 80370CD8 83A1001C */ lwz r29, 0x1c(r1) /* 80370CDC 38210028 */ addi r1, r1, 0x28 /* 80370CE0 7C0803A6 */ mtlr r0 /* 80370CE4 4E800020 */ blr .size func_80370bd0, . - func_80370bd0 .global func_80370ce8 .type func_80370ce8, @function func_80370ce8: /* 80370CE8 7C0802A6 */ mflr r0 /* 80370CEC 3C608054 */ lis r3, lbl_8053eca0@ha /* 80370CF0 90010004 */ stw r0, 4(r1) /* 80370CF4 38800040 */ li r4, 0x40 /* 80370CF8 9421FFE8 */ stwu r1, -0x18(r1) /* 80370CFC 93E10014 */ stw r31, 0x14(r1) /* 80370D00 3BE00000 */ li r31, 0x0 /* 80370D04 93C10010 */ stw r30, 0x10(r1) /* 80370D08 3BC3ECA0 */ addi r30, r3, lbl_8053eca0@l /* 80370D0C 387E0000 */ addi r3, r30, 0x0 /* 80370D10 93FE0044 */ stw r31, 0x44(r30) /* 80370D14 93FE0048 */ stw r31, 0x48(r30) /* 80370D18 4BFFCBC9 */ bl func_8036d8e0 /* 80370D1C 38600000 */ li r3, 0x0 /* 80370D20 38800001 */ li r4, 0x1 /* 80370D24 38A00000 */ li r5, 0x0 /* 80370D28 480BBA55 */ bl func_8042c77c /* 80370D2C 2C030000 */ cmpwi r3, 0x0 /* 80370D30 40820008 */ bne- lbl_80370d38 /* 80370D34 480000C4 */ b lbl_80370df8 lbl_80370d38: /* 80370D38 38600000 */ li r3, 0x0 /* 80370D3C 38800001 */ li r4, 0x1 /* 80370D40 38A00003 */ li r5, 0x3 /* 80370D44 480BB339 */ bl func_8042c07c /* 80370D48 2C030000 */ cmpwi r3, 0x0 /* 80370D4C 40820010 */ bne- lbl_80370d5c /* 80370D50 38600000 */ li r3, 0x0 /* 80370D54 480BBB1D */ bl func_8042c870 /* 80370D58 480000A0 */ b lbl_80370df8 lbl_80370d5c: /* 80370D5C 3C602000 */ lis r3, 0x2000 /* 80370D60 38030100 */ addi r0, r3, 0x100 /* 80370D64 90010008 */ stw r0, 8(r1) /* 80370D68 38810008 */ addi r4, r1, 0x8 /* 80370D6C 38600000 */ li r3, 0x0 /* 80370D70 38A00004 */ li r5, 0x4 /* 80370D74 38C00001 */ li r6, 0x1 /* 80370D78 38E00000 */ li r7, 0x0 /* 80370D7C 480BA7AD */ bl func_8042b528 /* 80370D80 7C600034 */ cntlzw r0, r3 /* 80370D84 541FD97E */ srwi r31, r0, 5 /* 80370D88 38600000 */ li r3, 0x0 /* 80370D8C 480BAB85 */ bl func_8042b910 /* 80370D90 7C600034 */ cntlzw r0, r3 /* 80370D94 5400D97E */ srwi r0, r0, 5 /* 80370D98 389E0000 */ addi r4, r30, 0x0 /* 80370D9C 7FFF0378 */ or r31, r31, r0 /* 80370DA0 38600000 */ li r3, 0x0 /* 80370DA4 38A00040 */ li r5, 0x40 /* 80370DA8 38C00000 */ li r6, 0x0 /* 80370DAC 38E00000 */ li r7, 0x0 /* 80370DB0 480BAA75 */ bl func_8042b824 /* 80370DB4 7C600034 */ cntlzw r0, r3 /* 80370DB8 5400D97E */ srwi r0, r0, 5 /* 80370DBC 7FFF0378 */ or r31, r31, r0 /* 80370DC0 38600000 */ li r3, 0x0 /* 80370DC4 480BAB4D */ bl func_8042b910 /* 80370DC8 7C600034 */ cntlzw r0, r3 /* 80370DCC 5400D97E */ srwi r0, r0, 5 /* 80370DD0 7FFF0378 */ or r31, r31, r0 /* 80370DD4 38600000 */ li r3, 0x0 /* 80370DD8 480BB3D1 */ bl func_8042c1a8 /* 80370DDC 7C600034 */ cntlzw r0, r3 /* 80370DE0 5400D97E */ srwi r0, r0, 5 /* 80370DE4 7FFF0378 */ or r31, r31, r0 /* 80370DE8 38600000 */ li r3, 0x0 /* 80370DEC 480BBA85 */ bl func_8042c870 /* 80370DF0 7FE00034 */ cntlzw r0, r31 /* 80370DF4 541FD97E */ srwi r31, r0, 5 lbl_80370df8: /* 80370DF8 93FE004C */ stw r31, 0x4c(r30) /* 80370DFC 38000040 */ li r0, 0x40 /* 80370E00 901E0040 */ stw r0, 0x40(r30) /* 80370E04 8001001C */ lwz r0, 0x1c(r1) /* 80370E08 83E10014 */ lwz r31, 0x14(r1) /* 80370E0C 83C10010 */ lwz r30, 0x10(r1) /* 80370E10 38210018 */ addi r1, r1, 0x18 /* 80370E14 7C0803A6 */ mtlr r0 /* 80370E18 4E800020 */ blr .size func_80370ce8, . - func_80370ce8 .global func_80370e1c .type func_80370e1c, @function func_80370e1c: /* 80370E1C 7C0802A6 */ mflr r0 /* 80370E20 3C608054 */ lis r3, lbl_8053eca0@ha /* 80370E24 90010004 */ stw r0, 4(r1) /* 80370E28 9421FFF0 */ stwu r1, -0x10(r1) /* 80370E2C 93E1000C */ stw r31, 0xc(r1) /* 80370E30 3BE3ECA0 */ addi r31, r3, lbl_8053eca0@l /* 80370E34 4BFFDCA1 */ bl func_8036ead4 /* 80370E38 801F0048 */ lwz r0, 0x48(r31) /* 80370E3C 389F0048 */ addi r4, r31, 0x48 /* 80370E40 2C000000 */ cmpwi r0, 0x0 /* 80370E44 41820010 */ beq- lbl_80370e54 /* 80370E48 4BFFDCB5 */ bl func_8036eafc /* 80370E4C 3BE00000 */ li r31, 0x0 /* 80370E50 48000010 */ b lbl_80370e60 lbl_80370e54: /* 80370E54 907F0044 */ stw r3, 0x44(r31) /* 80370E58 38000001 */ li r0, 0x1 /* 80370E5C 90040000 */ stw r0, 0(r4) lbl_80370e60: /* 80370E60 7FE3FB78 */ mr r3, r31 /* 80370E64 80010014 */ lwz r0, 0x14(r1) /* 80370E68 83E1000C */ lwz r31, 0xc(r1) /* 80370E6C 38210010 */ addi r1, r1, 0x10 /* 80370E70 7C0803A6 */ mtlr r0 /* 80370E74 4E800020 */ blr .size func_80370e1c, . - func_80370e1c .global func_80370e78 .type func_80370e78, @function func_80370e78: /* 80370E78 7C0802A6 */ mflr r0 /* 80370E7C 3C608054 */ lis r3, lbl_8053eca0@ha /* 80370E80 90010004 */ stw r0, 4(r1) /* 80370E84 9421FFF0 */ stwu r1, -0x10(r1) /* 80370E88 93E1000C */ stw r31, 0xc(r1) /* 80370E8C 3BE3ECA0 */ addi r31, r3, lbl_8053eca0@l /* 80370E90 4BFFDC45 */ bl func_8036ead4 /* 80370E94 801F0048 */ lwz r0, 0x48(r31) /* 80370E98 389F0048 */ addi r4, r31, 0x48 /* 80370E9C 2C000000 */ cmpwi r0, 0x0 /* 80370EA0 41820010 */ beq- lbl_80370eb0 /* 80370EA4 4BFFDC59 */ bl func_8036eafc /* 80370EA8 38600000 */ li r3, 0x0 /* 80370EAC 48000014 */ b lbl_80370ec0 lbl_80370eb0: /* 80370EB0 907F0044 */ stw r3, 0x44(r31) /* 80370EB4 38000001 */ li r0, 0x1 /* 80370EB8 387F0014 */ addi r3, r31, 0x14 /* 80370EBC 90040000 */ stw r0, 0(r4) lbl_80370ec0: /* 80370EC0 80010014 */ lwz r0, 0x14(r1) /* 80370EC4 83E1000C */ lwz r31, 0xc(r1) /* 80370EC8 38210010 */ addi r1, r1, 0x10 /* 80370ECC 7C0803A6 */ mtlr r0 /* 80370ED0 4E800020 */ blr .size func_80370e78, . - func_80370e78 .global func_80370ed4 .type func_80370ed4, @function func_80370ed4: /* 80370ED4 7C0802A6 */ mflr r0 /* 80370ED8 2C030000 */ cmpwi r3, 0x0 /* 80370EDC 90010004 */ stw r0, 4(r1) /* 80370EE0 3C608054 */ lis r3, lbl_8053eca0@ha /* 80370EE4 9421FFD0 */ stwu r1, -0x30(r1) /* 80370EE8 BF61001C */ stmw r27, 0x1c(r1) /* 80370EEC 3BE3ECA0 */ addi r31, r3, lbl_8053eca0@l /* 80370EF0 418202C4 */ beq- lbl_803711b4 /* 80370EF4 28040000 */ cmplwi r4, 0 /* 80370EF8 408201B0 */ bne- lbl_803710a8 /* 80370EFC 887F0013 */ lbz r3, 0x13(r31) /* 80370F00 546007BE */ clrlwi r0, r3, 0x1e /* 80370F04 28000002 */ cmplwi r0, 2 /* 80370F08 4081000C */ ble- lbl_80370f14 /* 80370F0C 5460003A */ rlwinm r0, r3, 0, 0, 0x1d /* 80370F10 981F0013 */ stb r0, 0x13(r31) lbl_80370f14: /* 80370F14 38000000 */ li r0, 0x0 /* 80370F18 B01F0002 */ sth r0, 2(r31) /* 80370F1C 38BF0014 */ addi r5, r31, 0x14 /* 80370F20 38DF000C */ addi r6, r31, 0xc /* 80370F24 38650001 */ addi r3, r5, 0x1 /* 80370F28 B01F0000 */ sth r0, 0(r31) /* 80370F2C 7C661850 */ subf r3, r6, r3 /* 80370F30 7C062840 */ cmplw r6, r5 /* 80370F34 5463F87E */ srwi r3, r3, 1 /* 80370F38 40800170 */ bge- lbl_803710a8 /* 80370F3C 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 80370F40 7C0903A6 */ mtctr r0 /* 80370F44 41820134 */ beq- lbl_80371078 lbl_80370f48: /* 80370F48 A0BF0000 */ lhz r5, 0(r31) /* 80370F4C A0060000 */ lhz r0, 0(r6) /* 80370F50 7C050214 */ add r0, r5, r0 /* 80370F54 B01F0000 */ sth r0, 0(r31) /* 80370F58 A0060000 */ lhz r0, 0(r6) /* 80370F5C A0BF0002 */ lhz r5, 2(r31) /* 80370F60 7C0000F8 */ nor r0, r0, r0 /* 80370F64 7C050214 */ add r0, r5, r0 /* 80370F68 B01F0002 */ sth r0, 2(r31) /* 80370F6C A0BF0000 */ lhz r5, 0(r31) /* 80370F70 A0060002 */ lhz r0, 2(r6) /* 80370F74 7C050214 */ add r0, r5, r0 /* 80370F78 B01F0000 */ sth r0, 0(r31) /* 80370F7C A0060002 */ lhz r0, 2(r6) /* 80370F80 A0BF0002 */ lhz r5, 2(r31) /* 80370F84 7C0000F8 */ nor r0, r0, r0 /* 80370F88 7C050214 */ add r0, r5, r0 /* 80370F8C B01F0002 */ sth r0, 2(r31) /* 80370F90 A0BF0000 */ lhz r5, 0(r31) /* 80370F94 A0060004 */ lhz r0, 4(r6) /* 80370F98 7C050214 */ add r0, r5, r0 /* 80370F9C B01F0000 */ sth r0, 0(r31) /* 80370FA0 A0060004 */ lhz r0, 4(r6) /* 80370FA4 A0BF0002 */ lhz r5, 2(r31) /* 80370FA8 7C0000F8 */ nor r0, r0, r0 /* 80370FAC 7C050214 */ add r0, r5, r0 /* 80370FB0 B01F0002 */ sth r0, 2(r31) /* 80370FB4 A0BF0000 */ lhz r5, 0(r31) /* 80370FB8 A0060006 */ lhz r0, 6(r6) /* 80370FBC 7C050214 */ add r0, r5, r0 /* 80370FC0 B01F0000 */ sth r0, 0(r31) /* 80370FC4 A0060006 */ lhz r0, 6(r6) /* 80370FC8 A0BF0002 */ lhz r5, 2(r31) /* 80370FCC 7C0000F8 */ nor r0, r0, r0 /* 80370FD0 7C050214 */ add r0, r5, r0 /* 80370FD4 B01F0002 */ sth r0, 2(r31) /* 80370FD8 A0BF0000 */ lhz r5, 0(r31) /* 80370FDC A0060008 */ lhz r0, 8(r6) /* 80370FE0 7C050214 */ add r0, r5, r0 /* 80370FE4 B01F0000 */ sth r0, 0(r31) /* 80370FE8 A0060008 */ lhz r0, 8(r6) /* 80370FEC A0BF0002 */ lhz r5, 2(r31) /* 80370FF0 7C0000F8 */ nor r0, r0, r0 /* 80370FF4 7C050214 */ add r0, r5, r0 /* 80370FF8 B01F0002 */ sth r0, 2(r31) /* 80370FFC A0BF0000 */ lhz r5, 0(r31) /* 80371000 A006000A */ lhz r0, 0xa(r6) /* 80371004 7C050214 */ add r0, r5, r0 /* 80371008 B01F0000 */ sth r0, 0(r31) /* 8037100C A006000A */ lhz r0, 0xa(r6) /* 80371010 A0BF0002 */ lhz r5, 2(r31) /* 80371014 7C0000F8 */ nor r0, r0, r0 /* 80371018 7C050214 */ add r0, r5, r0 /* 8037101C B01F0002 */ sth r0, 2(r31) /* 80371020 A0BF0000 */ lhz r5, 0(r31) /* 80371024 A006000C */ lhz r0, 0xc(r6) /* 80371028 7C050214 */ add r0, r5, r0 /* 8037102C B01F0000 */ sth r0, 0(r31) /* 80371030 A006000C */ lhz r0, 0xc(r6) /* 80371034 A0BF0002 */ lhz r5, 2(r31) /* 80371038 7C0000F8 */ nor r0, r0, r0 /* 8037103C 7C050214 */ add r0, r5, r0 /* 80371040 B01F0002 */ sth r0, 2(r31) /* 80371044 A0BF0000 */ lhz r5, 0(r31) /* 80371048 A006000E */ lhz r0, 0xe(r6) /* 8037104C 7C050214 */ add r0, r5, r0 /* 80371050 B01F0000 */ sth r0, 0(r31) /* 80371054 A006000E */ lhz r0, 0xe(r6) /* 80371058 38C60010 */ addi r6, r6, 0x10 /* 8037105C A0BF0002 */ lhz r5, 2(r31) /* 80371060 7C0000F8 */ nor r0, r0, r0 /* 80371064 7C050214 */ add r0, r5, r0 /* 80371068 B01F0002 */ sth r0, 2(r31) /* 8037106C 4200FEDC */ bdnz lbl_80370f48 /* 80371070 70630007 */ andi. r3, r3, 7 /* 80371074 41820034 */ beq- lbl_803710a8 lbl_80371078: /* 80371078 7C6903A6 */ mtctr r3 lbl_8037107c: /* 8037107C A0BF0000 */ lhz r5, 0(r31) /* 80371080 A0060000 */ lhz r0, 0(r6) /* 80371084 7C050214 */ add r0, r5, r0 /* 80371088 B01F0000 */ sth r0, 0(r31) /* 8037108C A0060000 */ lhz r0, 0(r6) /* 80371090 38C60002 */ addi r6, r6, 0x2 /* 80371094 A0BF0002 */ lhz r5, 2(r31) /* 80371098 7C0000F8 */ nor r0, r0, r0 /* 8037109C 7C050214 */ add r0, r5, r0 /* 803710A0 B01F0002 */ sth r0, 2(r31) /* 803710A4 4200FFD8 */ bdnz lbl_8037107c lbl_803710a8: /* 803710A8 3BDF0040 */ addi r30, r31, 0x40 /* 803710AC 801F0040 */ lwz r0, 0x40(r31) /* 803710B0 7C040040 */ cmplw r4, r0 /* 803710B4 40800008 */ bge- lbl_803710bc /* 803710B8 909E0000 */ stw r4, 0(r30) lbl_803710bc: /* 803710BC 83BE0000 */ lwz r29, 0(r30) /* 803710C0 3C608037 */ lis r3, func_80370b70@ha /* 803710C4 38A30B70 */ addi r5, r3, func_80370b70@l /* 803710C8 237D0040 */ subfic r27, r29, 0x40 /* 803710CC 7F9FEA14 */ add r28, r31, r29 /* 803710D0 38600000 */ li r3, 0x0 /* 803710D4 38800001 */ li r4, 0x1 /* 803710D8 480BB6A5 */ bl func_8042c77c /* 803710DC 2C030000 */ cmpwi r3, 0x0 /* 803710E0 4082000C */ bne- lbl_803710ec /* 803710E4 38000000 */ li r0, 0x0 /* 803710E8 480000B4 */ b lbl_8037119c lbl_803710ec: /* 803710EC 38600000 */ li r3, 0x0 /* 803710F0 38800001 */ li r4, 0x1 /* 803710F4 38A00003 */ li r5, 0x3 /* 803710F8 480BAF85 */ bl func_8042c07c /* 803710FC 2C030000 */ cmpwi r3, 0x0 /* 80371100 40820014 */ bne- lbl_80371114 /* 80371104 38600000 */ li r3, 0x0 /* 80371108 480BB769 */ bl func_8042c870 /* 8037110C 38000000 */ li r0, 0x0 /* 80371110 4800008C */ b lbl_8037119c lbl_80371114: /* 80371114 57A33032 */ slwi r3, r29, 6 /* 80371118 38030100 */ addi r0, r3, 0x100 /* 8037111C 6400A000 */ oris r0, r0, 0xa000 /* 80371120 90010010 */ stw r0, 0x10(r1) /* 80371124 38810010 */ addi r4, r1, 0x10 /* 80371128 38600000 */ li r3, 0x0 /* 8037112C 38A00004 */ li r5, 0x4 /* 80371130 38C00001 */ li r6, 0x1 /* 80371134 38E00000 */ li r7, 0x0 /* 80371138 480BA3F1 */ bl func_8042b528 /* 8037113C 7C600034 */ cntlzw r0, r3 /* 80371140 541DD97E */ srwi r29, r0, 5 /* 80371144 38600000 */ li r3, 0x0 /* 80371148 480BA7C9 */ bl func_8042b910 /* 8037114C 7C600034 */ cntlzw r0, r3 /* 80371150 5400D97E */ srwi r0, r0, 5 /* 80371154 389C0000 */ addi r4, r28, 0x0 /* 80371158 38BB0000 */ addi r5, r27, 0x0 /* 8037115C 7FBD0378 */ or r29, r29, r0 /* 80371160 38600000 */ li r3, 0x0 /* 80371164 38C00001 */ li r6, 0x1 /* 80371168 480BA61D */ bl func_8042b784 /* 8037116C 7C600034 */ cntlzw r0, r3 /* 80371170 5400D97E */ srwi r0, r0, 5 /* 80371174 7FBD0378 */ or r29, r29, r0 /* 80371178 38600000 */ li r3, 0x0 /* 8037117C 480BB02D */ bl func_8042c1a8 /* 80371180 7C600034 */ cntlzw r0, r3 /* 80371184 5400D97E */ srwi r0, r0, 5 /* 80371188 7FBD0378 */ or r29, r29, r0 /* 8037118C 38600000 */ li r3, 0x0 /* 80371190 480BB6E1 */ bl func_8042c870 /* 80371194 7FA00034 */ cntlzw r0, r29 /* 80371198 5400D97E */ srwi r0, r0, 5 lbl_8037119c: /* 8037119C 901F004C */ stw r0, 0x4c(r31) /* 803711A0 801F004C */ lwz r0, 0x4c(r31) /* 803711A4 2C000000 */ cmpwi r0, 0x0 /* 803711A8 4182000C */ beq- lbl_803711b4 /* 803711AC 38000040 */ li r0, 0x40 /* 803711B0 901E0000 */ stw r0, 0(r30) lbl_803711b4: /* 803711B4 38000000 */ li r0, 0x0 /* 803711B8 901F0048 */ stw r0, 0x48(r31) /* 803711BC 807F0044 */ lwz r3, 0x44(r31) /* 803711C0 4BFFD93D */ bl func_8036eafc /* 803711C4 807F004C */ lwz r3, 0x4c(r31) /* 803711C8 BB61001C */ lmw r27, 0x1c(r1) /* 803711CC 80010034 */ lwz r0, 0x34(r1) /* 803711D0 38210030 */ addi r1, r1, 0x30 /* 803711D4 7C0803A6 */ mtlr r0 /* 803711D8 4E800020 */ blr .size func_80370ed4, . - func_80370ed4 .global func_803711dc .type func_803711dc, @function func_803711dc: /* 803711DC 7C0802A6 */ mflr r0 /* 803711E0 38800000 */ li r4, 0x0 /* 803711E4 90010004 */ stw r0, 4(r1) /* 803711E8 9421FFF8 */ stwu r1, -8(r1) /* 803711EC 4BFFFCE9 */ bl func_80370ed4 /* 803711F0 8001000C */ lwz r0, 0xc(r1) /* 803711F4 38210008 */ addi r1, r1, 0x8 /* 803711F8 7C0803A6 */ mtlr r0 /* 803711FC 4E800020 */ blr .size func_803711dc, . - func_803711dc .global func_80371200 .type func_80371200, @function func_80371200: /* 80371200 7C0802A6 */ mflr r0 /* 80371204 38800014 */ li r4, 0x14 /* 80371208 90010004 */ stw r0, 4(r1) /* 8037120C 9421FFF8 */ stwu r1, -8(r1) /* 80371210 4BFFFCC5 */ bl func_80370ed4 /* 80371214 8001000C */ lwz r0, 0xc(r1) /* 80371218 38210008 */ addi r1, r1, 0x8 /* 8037121C 7C0803A6 */ mtlr r0 /* 80371220 4E800020 */ blr .size func_80371200, . - func_80371200 .global func_80371224 .type func_80371224, @function func_80371224: /* 80371224 3C608054 */ lis r3, lbl_8053eca0@ha /* 80371228 3863ECA0 */ addi r3, r3, lbl_8053eca0@l /* 8037122C 8063004C */ lwz r3, 0x4c(r3) /* 80371230 4E800020 */ blr .size func_80371224, . - func_80371224 .global func_80371234 .type func_80371234, @function func_80371234: /* 80371234 7C0802A6 */ mflr r0 /* 80371238 3C608054 */ lis r3, lbl_8053eca0@ha /* 8037123C 90010004 */ stw r0, 4(r1) /* 80371240 9421FFE0 */ stwu r1, -0x20(r1) /* 80371244 93E1001C */ stw r31, 0x1c(r1) /* 80371248 3BE3ECA0 */ addi r31, r3, lbl_8053eca0@l /* 8037124C 4BFFD889 */ bl func_8036ead4 /* 80371250 801F0048 */ lwz r0, 0x48(r31) /* 80371254 389F0048 */ addi r4, r31, 0x48 /* 80371258 2C000000 */ cmpwi r0, 0x0 /* 8037125C 41820010 */ beq- lbl_8037126c /* 80371260 4BFFD89D */ bl func_8036eafc /* 80371264 3BE00000 */ li r31, 0x0 /* 80371268 48000010 */ b lbl_80371278 lbl_8037126c: /* 8037126C 907F0044 */ stw r3, 0x44(r31) /* 80371270 38000001 */ li r0, 0x1 /* 80371274 90040000 */ stw r0, 0(r4) lbl_80371278: /* 80371278 881F0013 */ lbz r0, 0x13(r31) /* 8037127C 5400077B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80371280 4182000C */ beq- lbl_8037128c /* 80371284 3BE00001 */ li r31, 0x1 /* 80371288 48000008 */ b lbl_80371290 lbl_8037128c: /* 8037128C 3BE00000 */ li r31, 0x0 lbl_80371290: /* 80371290 38600000 */ li r3, 0x0 /* 80371294 38800000 */ li r4, 0x0 /* 80371298 4BFFFC3D */ bl func_80370ed4 /* 8037129C 7FE3FB78 */ mr r3, r31 /* 803712A0 80010024 */ lwz r0, 0x24(r1) /* 803712A4 83E1001C */ lwz r31, 0x1c(r1) /* 803712A8 38210020 */ addi r1, r1, 0x20 /* 803712AC 7C0803A6 */ mtlr r0 /* 803712B0 4E800020 */ blr .size func_80371234, . - func_80371234 .global func_803712b4 .type func_803712b4, @function func_803712b4: /* 803712B4 7C0802A6 */ mflr r0 /* 803712B8 3C808054 */ lis r4, lbl_8053eca0@ha /* 803712BC 90010004 */ stw r0, 4(r1) /* 803712C0 9421FFE0 */ stwu r1, -0x20(r1) /* 803712C4 93E1001C */ stw r31, 0x1c(r1) /* 803712C8 3BE4ECA0 */ addi r31, r4, lbl_8053eca0@l /* 803712CC 93C10018 */ stw r30, 0x18(r1) /* 803712D0 547E177A */ rlwinm r30, r3, 2, 0x1d, 0x1d /* 803712D4 4BFFD801 */ bl func_8036ead4 /* 803712D8 801F0048 */ lwz r0, 0x48(r31) /* 803712DC 389F0048 */ addi r4, r31, 0x48 /* 803712E0 2C000000 */ cmpwi r0, 0x0 /* 803712E4 41820010 */ beq- lbl_803712f4 /* 803712E8 4BFFD815 */ bl func_8036eafc /* 803712EC 3BE00000 */ li r31, 0x0 /* 803712F0 48000010 */ b lbl_80371300 lbl_803712f4: /* 803712F4 907F0044 */ stw r3, 0x44(r31) /* 803712F8 38000001 */ li r0, 0x1 /* 803712FC 90040000 */ stw r0, 0(r4) lbl_80371300: /* 80371300 887F0013 */ lbz r3, 0x13(r31) /* 80371304 5460077A */ rlwinm r0, r3, 0, 0x1d, 0x1d /* 80371308 7C1E0040 */ cmplw r30, r0 /* 8037130C 40820014 */ bne- lbl_80371320 /* 80371310 38600000 */ li r3, 0x0 /* 80371314 38800000 */ li r4, 0x0 /* 80371318 4BFFFBBD */ bl func_80370ed4 /* 8037131C 48000024 */ b lbl_80371340 lbl_80371320: /* 80371320 546007B8 */ rlwinm r0, r3, 0, 0x1e, 0x1c /* 80371324 981F0013 */ stb r0, 0x13(r31) /* 80371328 38600001 */ li r3, 0x1 /* 8037132C 38800000 */ li r4, 0x0 /* 80371330 881F0013 */ lbz r0, 0x13(r31) /* 80371334 7C00F378 */ or r0, r0, r30 /* 80371338 981F0013 */ stb r0, 0x13(r31) /* 8037133C 4BFFFB99 */ bl func_80370ed4 lbl_80371340: /* 80371340 80010024 */ lwz r0, 0x24(r1) /* 80371344 83E1001C */ lwz r31, 0x1c(r1) /* 80371348 83C10018 */ lwz r30, 0x18(r1) /* 8037134C 38210020 */ addi r1, r1, 0x20 /* 80371350 7C0803A6 */ mtlr r0 /* 80371354 4E800020 */ blr .size func_803712b4, . - func_803712b4 .global func_80371358 .type func_80371358, @function func_80371358: /* 80371358 7C0802A6 */ mflr r0 /* 8037135C 3C608054 */ lis r3, lbl_8053eca0@ha /* 80371360 90010004 */ stw r0, 4(r1) /* 80371364 9421FFE8 */ stwu r1, -0x18(r1) /* 80371368 93E10014 */ stw r31, 0x14(r1) /* 8037136C 3BE3ECA0 */ addi r31, r3, lbl_8053eca0@l /* 80371370 4BFFD765 */ bl func_8036ead4 /* 80371374 801F0048 */ lwz r0, 0x48(r31) /* 80371378 389F0048 */ addi r4, r31, 0x48 /* 8037137C 2C000000 */ cmpwi r0, 0x0 /* 80371380 41820010 */ beq- lbl_80371390 /* 80371384 4BFFD779 */ bl func_8036eafc /* 80371388 3BE00000 */ li r31, 0x0 /* 8037138C 48000010 */ b lbl_8037139c lbl_80371390: /* 80371390 907F0044 */ stw r3, 0x44(r31) /* 80371394 38000001 */ li r0, 0x1 /* 80371398 90040000 */ stw r0, 0(r4) lbl_8037139c: /* 8037139C 881F0013 */ lbz r0, 0x13(r31) /* 803713A0 38600000 */ li r3, 0x0 /* 803713A4 38800000 */ li r4, 0x0 /* 803713A8 541FCFFE */ rlwinm r31, r0, 0x19, 0x1f, 0x1f /* 803713AC 4BFFFB29 */ bl func_80370ed4 /* 803713B0 7FE3FB78 */ mr r3, r31 /* 803713B4 8001001C */ lwz r0, 0x1c(r1) /* 803713B8 83E10014 */ lwz r31, 0x14(r1) /* 803713BC 38210018 */ addi r1, r1, 0x18 /* 803713C0 7C0803A6 */ mtlr r0 /* 803713C4 4E800020 */ blr .size func_80371358, . - func_80371358 .global func_803713c8 .type func_803713c8, @function func_803713c8: /* 803713C8 7C0802A6 */ mflr r0 /* 803713CC 3C808054 */ lis r4, lbl_8053eca0@ha /* 803713D0 90010004 */ stw r0, 4(r1) /* 803713D4 9421FFE0 */ stwu r1, -0x20(r1) /* 803713D8 93E1001C */ stw r31, 0x1c(r1) /* 803713DC 3BE4ECA0 */ addi r31, r4, lbl_8053eca0@l /* 803713E0 93C10018 */ stw r30, 0x18(r1) /* 803713E4 547E3E30 */ rlwinm r30, r3, 7, 0x18, 0x18 /* 803713E8 4BFFD6ED */ bl func_8036ead4 /* 803713EC 801F0048 */ lwz r0, 0x48(r31) /* 803713F0 389F0048 */ addi r4, r31, 0x48 /* 803713F4 2C000000 */ cmpwi r0, 0x0 /* 803713F8 41820010 */ beq- lbl_80371408 /* 803713FC 4BFFD701 */ bl func_8036eafc /* 80371400 3BE00000 */ li r31, 0x0 /* 80371404 48000010 */ b lbl_80371414 lbl_80371408: /* 80371408 907F0044 */ stw r3, 0x44(r31) /* 8037140C 38000001 */ li r0, 0x1 /* 80371410 90040000 */ stw r0, 0(r4) lbl_80371414: /* 80371414 887F0013 */ lbz r3, 0x13(r31) /* 80371418 54600630 */ rlwinm r0, r3, 0, 0x18, 0x18 /* 8037141C 7C1E0040 */ cmplw r30, r0 /* 80371420 40820014 */ bne- lbl_80371434 /* 80371424 38600000 */ li r3, 0x0 /* 80371428 38800000 */ li r4, 0x0 /* 8037142C 4BFFFAA9 */ bl func_80370ed4 /* 80371430 48000024 */ b lbl_80371454 lbl_80371434: /* 80371434 5460066E */ rlwinm r0, r3, 0, 0x19, 0x17 /* 80371438 981F0013 */ stb r0, 0x13(r31) /* 8037143C 38600001 */ li r3, 0x1 /* 80371440 38800000 */ li r4, 0x0 /* 80371444 881F0013 */ lbz r0, 0x13(r31) /* 80371448 7C00F378 */ or r0, r0, r30 /* 8037144C 981F0013 */ stb r0, 0x13(r31) /* 80371450 4BFFFA85 */ bl func_80370ed4 lbl_80371454: /* 80371454 80010024 */ lwz r0, 0x24(r1) /* 80371458 83E1001C */ lwz r31, 0x1c(r1) /* 8037145C 83C10018 */ lwz r30, 0x18(r1) /* 80371460 38210020 */ addi r1, r1, 0x20 /* 80371464 7C0803A6 */ mtlr r0 /* 80371468 4E800020 */ blr .size func_803713c8, . - func_803713c8 .global func_8037146c .type func_8037146c, @function func_8037146c: /* 8037146C 7C0802A6 */ mflr r0 /* 80371470 3C808054 */ lis r4, lbl_8053eca0@ha /* 80371474 90010004 */ stw r0, 4(r1) /* 80371478 9421FFE0 */ stwu r1, -0x20(r1) /* 8037147C 93E1001C */ stw r31, 0x1c(r1) /* 80371480 3BE4ECA0 */ addi r31, r4, lbl_8053eca0@l /* 80371484 93C10018 */ stw r30, 0x18(r1) /* 80371488 3BC30000 */ addi r30, r3, 0x0 /* 8037148C 4BFFD649 */ bl func_8036ead4 /* 80371490 801F0048 */ lwz r0, 0x48(r31) /* 80371494 389F0048 */ addi r4, r31, 0x48 /* 80371498 2C000000 */ cmpwi r0, 0x0 /* 8037149C 41820010 */ beq- lbl_803714ac /* 803714A0 4BFFD65D */ bl func_8036eafc /* 803714A4 38600000 */ li r3, 0x0 /* 803714A8 48000014 */ b lbl_803714bc lbl_803714ac: /* 803714AC 907F0044 */ stw r3, 0x44(r31) /* 803714B0 38000001 */ li r0, 0x1 /* 803714B4 387F0014 */ addi r3, r31, 0x14 /* 803714B8 90040000 */ stw r0, 0(r4) lbl_803714bc: /* 803714BC 57C0083C */ slwi r0, r30, 1 /* 803714C0 7C630214 */ add r3, r3, r0 /* 803714C4 A3E3001C */ lhz r31, 0x1c(r3) /* 803714C8 38600000 */ li r3, 0x0 /* 803714CC 38800014 */ li r4, 0x14 /* 803714D0 4BFFFA05 */ bl func_80370ed4 /* 803714D4 7FE3FB78 */ mr r3, r31 /* 803714D8 80010024 */ lwz r0, 0x24(r1) /* 803714DC 83E1001C */ lwz r31, 0x1c(r1) /* 803714E0 83C10018 */ lwz r30, 0x18(r1) /* 803714E4 38210020 */ addi r1, r1, 0x20 /* 803714E8 7C0803A6 */ mtlr r0 /* 803714EC 4E800020 */ blr .size func_8037146c, . - func_8037146c .global func_803714f0 .type func_803714f0, @function func_803714f0: /* 803714F0 7C0802A6 */ mflr r0 /* 803714F4 3CA08054 */ lis r5, lbl_8053eca0@ha /* 803714F8 90010004 */ stw r0, 4(r1) /* 803714FC 9421FFD8 */ stwu r1, -0x28(r1) /* 80371500 93E10024 */ stw r31, 0x24(r1) /* 80371504 3BE5ECA0 */ addi r31, r5, lbl_8053eca0@l /* 80371508 93C10020 */ stw r30, 0x20(r1) /* 8037150C 3BC40000 */ addi r30, r4, 0x0 /* 80371510 93A1001C */ stw r29, 0x1c(r1) /* 80371514 3BA30000 */ addi r29, r3, 0x0 /* 80371518 4BFFD5BD */ bl func_8036ead4 /* 8037151C 801F0048 */ lwz r0, 0x48(r31) /* 80371520 389F0048 */ addi r4, r31, 0x48 /* 80371524 2C000000 */ cmpwi r0, 0x0 /* 80371528 41820010 */ beq- lbl_80371538 /* 8037152C 4BFFD5D1 */ bl func_8036eafc /* 80371530 38600000 */ li r3, 0x0 /* 80371534 48000014 */ b lbl_80371548 lbl_80371538: /* 80371538 907F0044 */ stw r3, 0x44(r31) /* 8037153C 38000001 */ li r0, 0x1 /* 80371540 387F0014 */ addi r3, r31, 0x14 /* 80371544 90040000 */ stw r0, 0(r4) lbl_80371548: /* 80371548 57A0083C */ slwi r0, r29, 1 /* 8037154C 7C830214 */ add r4, r3, r0 /* 80371550 A464001C */ lhzu r3, 0x1c(r4) /* 80371554 57C0043E */ clrlwi r0, r30, 0x10 /* 80371558 7C030040 */ cmplw r3, r0 /* 8037155C 41820018 */ beq- lbl_80371574 /* 80371560 B3C40000 */ sth r30, 0(r4) /* 80371564 38600001 */ li r3, 0x1 /* 80371568 38800014 */ li r4, 0x14 /* 8037156C 4BFFF969 */ bl func_80370ed4 /* 80371570 48000010 */ b lbl_80371580 lbl_80371574: /* 80371574 38600000 */ li r3, 0x0 /* 80371578 38800014 */ li r4, 0x14 /* 8037157C 4BFFF959 */ bl func_80370ed4 lbl_80371580: /* 80371580 8001002C */ lwz r0, 0x2c(r1) /* 80371584 83E10024 */ lwz r31, 0x24(r1) /* 80371588 83C10020 */ lwz r30, 0x20(r1) /* 8037158C 83A1001C */ lwz r29, 0x1c(r1) /* 80371590 38210028 */ addi r1, r1, 0x28 /* 80371594 7C0803A6 */ mtlr r0 /* 80371598 4E800020 */ blr .size func_803714f0, . - func_803714f0