prime/asm/MetroidPrime/CInputGenerator.s

385 lines
18 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .rodata
.balign 8
.global lbl_803CCAA0
lbl_803CCAA0:
# ROM: 0x3C9AA0
.asciz "??(??)"
.balign 4
.section .text, "ax"
.global Update__15CInputGeneratorFfR18CArchitectureQueue
Update__15CInputGeneratorFfR18CArchitectureQueue:
/* 80022FD8 0001FF38 94 21 FE B0 */ stwu r1, -0x150(r1)
/* 80022FDC 0001FF3C 7C 08 02 A6 */ mflr r0
/* 80022FE0 0001FF40 90 01 01 54 */ stw r0, 0x154(r1)
/* 80022FE4 0001FF44 DB E1 01 40 */ stfd f31, 0x140(r1)
/* 80022FE8 0001FF48 F3 E1 01 48 */ psq_st f31, 328(r1), 0, qr0
/* 80022FEC 0001FF4C BE 61 01 0C */ stmw r19, 0x10c(r1)
/* 80022FF0 0001FF50 7C 7E 1B 78 */ mr r30, r3
/* 80022FF4 0001FF54 FF E0 08 90 */ fmr f31, f1
/* 80022FF8 0001FF58 80 63 00 00 */ lwz r3, 0(r3)
/* 80022FFC 0001FF5C 7C 9F 23 78 */ mr r31, r4
/* 80023000 0001FF60 3A C0 00 00 */ li r22, 0
/* 80023004 0001FF64 48 2B 36 39 */ bl Update__10COsContextFv
/* 80023008 0001FF68 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8002300C 0001FF6C 40 82 00 0C */ bne lbl_80023018
/* 80023010 0001FF70 38 60 00 00 */ li r3, 0
/* 80023014 0001FF74 48 00 04 84 */ b lbl_80023498
lbl_80023018:
/* 80023018 0001FF78 80 7E 00 04 */ lwz r3, 4(r30)
/* 8002301C 0001FF7C 3A A0 00 00 */ li r21, 0
/* 80023020 0001FF80 28 03 00 00 */ cmplwi r3, 0
/* 80023024 0001FF84 41 82 02 84 */ beq lbl_800232A8
/* 80023028 0001FF88 81 83 00 00 */ lwz r12, 0(r3)
/* 8002302C 0001FF8C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80023030 0001FF90 7D 89 03 A6 */ mtctr r12
/* 80023034 0001FF94 4E 80 04 21 */ bctrl
/* 80023038 0001FF98 7C 7D 1B 78 */ mr r29, r3
/* 8002303C 0001FF9C 80 7E 00 04 */ lwz r3, 4(r30)
/* 80023040 0001FFA0 81 83 00 00 */ lwz r12, 0(r3)
/* 80023044 0001FFA4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80023048 0001FFA8 7D 89 03 A6 */ mtctr r12
/* 8002304C 0001FFAC 4E 80 04 21 */ bctrl
/* 80023050 0001FFB0 3B 61 00 38 */ addi r27, r1, 0x38
/* 80023054 0001FFB4 3B 41 00 68 */ addi r26, r1, 0x68
/* 80023058 0001FFB8 3B 21 00 2C */ addi r25, r1, 0x2c
/* 8002305C 0001FFBC 3B 01 00 5C */ addi r24, r1, 0x5c
/* 80023060 0001FFC0 3A 80 00 00 */ li r20, 0
/* 80023064 0001FFC4 48 00 02 3C */ b lbl_800232A0
lbl_80023068:
/* 80023068 0001FFC8 80 7E 00 04 */ lwz r3, 4(r30)
/* 8002306C 0001FFCC 7E 84 A3 78 */ mr r4, r20
/* 80023070 0001FFD0 81 83 00 00 */ lwz r12, 0(r3)
/* 80023074 0001FFD4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80023078 0001FFD8 7D 89 03 A6 */ mtctr r12
/* 8002307C 0001FFDC 4E 80 04 21 */ bctrl
/* 80023080 0001FFE0 88 03 00 00 */ lbz r0, 0(r3)
/* 80023084 0001FFE4 7C 73 1B 78 */ mr r19, r3
/* 80023088 0001FFE8 28 00 00 00 */ cmplwi r0, 0
/* 8002308C 0001FFEC 41 82 01 0C */ beq lbl_80023198
/* 80023090 0001FFF0 2C 14 00 00 */ cmpwi r20, 0
/* 80023094 0001FFF4 40 82 00 08 */ bne lbl_8002309C
/* 80023098 0001FFF8 3A A0 00 01 */ li r21, 1
lbl_8002309C:
/* 8002309C 0001FFFC FC 20 F8 90 */ fmr f1, f31
/* 800230A0 00020000 C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 800230A4 00020004 C0 7E 00 10 */ lfs f3, 0x10(r30)
/* 800230A8 00020008 7E 84 A3 78 */ mr r4, r20
/* 800230AC 0002000C 7E 65 9B 78 */ mr r5, r19
/* 800230B0 00020010 38 61 00 CC */ addi r3, r1, 0xcc
/* 800230B4 00020014 48 32 6B 59 */ bl __ct__11CFinalInputFifRC22CControllerGamepadDataff
/* 800230B8 00020018 38 61 00 30 */ addi r3, r1, 0x30
/* 800230BC 0002001C 38 A1 00 CC */ addi r5, r1, 0xcc
/* 800230C0 00020020 38 80 00 01 */ li r4, 1
/* 800230C4 00020024 48 02 EA 2D */ bl CreateUserInput__7MakeMsgF14EArchMsgTargetRC11CFinalInput
/* 800230C8 00020028 80 61 00 30 */ lwz r3, 0x30(r1)
/* 800230CC 0002002C 28 1B 00 00 */ cmplwi r27, 0
/* 800230D0 00020030 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800230D4 00020034 80 81 00 38 */ lwz r4, 0x38(r1)
/* 800230D8 00020038 90 61 00 60 */ stw r3, 0x60(r1)
/* 800230DC 0002003C 90 01 00 64 */ stw r0, 0x64(r1)
/* 800230E0 00020040 90 81 00 68 */ stw r4, 0x68(r1)
/* 800230E4 00020044 80 64 00 04 */ lwz r3, 4(r4)
/* 800230E8 00020048 38 03 00 01 */ addi r0, r3, 1
/* 800230EC 0002004C 90 04 00 04 */ stw r0, 4(r4)
/* 800230F0 00020050 41 82 00 0C */ beq lbl_800230FC
/* 800230F4 00020054 7F 63 DB 78 */ mr r3, r27
/* 800230F8 00020058 4B FE 56 15 */ bl sub_8000870c
lbl_800230FC:
/* 800230FC 0002005C 83 9F 00 08 */ lwz r28, 8(r31)
/* 80023100 00020060 3C 60 80 3D */ lis r3, lbl_803CCAA0@ha
/* 80023104 00020064 38 83 CA A0 */ addi r4, r3, lbl_803CCAA0@l
/* 80023108 00020068 38 A0 00 00 */ li r5, 0
/* 8002310C 0002006C 82 FC 00 00 */ lwz r23, 0(r28)
/* 80023110 00020070 38 60 00 14 */ li r3, 0x14
/* 80023114 00020074 48 2F 27 05 */ bl __nwa__FUlPCcPCc
/* 80023118 00020078 28 03 00 00 */ cmplwi r3, 0
/* 8002311C 0002007C 41 82 00 0C */ beq lbl_80023128
/* 80023120 00020080 92 E3 00 00 */ stw r23, 0(r3)
/* 80023124 00020084 93 83 00 04 */ stw r28, 4(r3)
lbl_80023128:
/* 80023128 00020088 34 83 00 08 */ addic. r4, r3, 8
/* 8002312C 0002008C 41 82 00 2C */ beq lbl_80023158
/* 80023130 00020090 80 01 00 60 */ lwz r0, 0x60(r1)
/* 80023134 00020094 90 04 00 00 */ stw r0, 0(r4)
/* 80023138 00020098 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8002313C 0002009C 90 04 00 04 */ stw r0, 4(r4)
/* 80023140 000200A0 80 01 00 68 */ lwz r0, 0x68(r1)
/* 80023144 000200A4 90 04 00 08 */ stw r0, 8(r4)
/* 80023148 000200A8 80 A4 00 08 */ lwz r5, 8(r4)
/* 8002314C 000200AC 80 85 00 04 */ lwz r4, 4(r5)
/* 80023150 000200B0 38 04 00 01 */ addi r0, r4, 1
/* 80023154 000200B4 90 05 00 04 */ stw r0, 4(r5)
lbl_80023158:
/* 80023158 000200B8 80 1F 00 04 */ lwz r0, 4(r31)
/* 8002315C 000200BC 7C 1C 00 40 */ cmplw r28, r0
/* 80023160 000200C0 40 82 00 08 */ bne lbl_80023168
/* 80023164 000200C4 90 7F 00 04 */ stw r3, 4(r31)
lbl_80023168:
/* 80023168 000200C8 80 83 00 00 */ lwz r4, 0(r3)
/* 8002316C 000200CC 28 1A 00 00 */ cmplwi r26, 0
/* 80023170 000200D0 90 64 00 04 */ stw r3, 4(r4)
/* 80023174 000200D4 80 83 00 04 */ lwz r4, 4(r3)
/* 80023178 000200D8 90 64 00 00 */ stw r3, 0(r4)
/* 8002317C 000200DC 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80023180 000200E0 38 03 00 01 */ addi r0, r3, 1
/* 80023184 000200E4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80023188 000200E8 41 82 00 0C */ beq lbl_80023194
/* 8002318C 000200EC 7F 43 D3 78 */ mr r3, r26
/* 80023190 000200F0 4B FE 55 7D */ bl sub_8000870c
lbl_80023194:
/* 80023194 000200F4 3A D6 00 01 */ addi r22, r22, 1
lbl_80023198:
/* 80023198 000200F8 3A F4 00 08 */ addi r23, r20, 8
/* 8002319C 000200FC 88 73 00 00 */ lbz r3, 0(r19)
/* 800231A0 00020100 7C 1E B8 AE */ lbzx r0, r30, r23
/* 800231A4 00020104 98 61 00 08 */ stb r3, 8(r1)
/* 800231A8 00020108 7C 00 18 40 */ cmplw r0, r3
/* 800231AC 0002010C 41 82 00 F0 */ beq lbl_8002329C
/* 800231B0 00020110 B2 81 00 0A */ sth r20, 0xa(r1)
/* 800231B4 00020114 38 61 00 24 */ addi r3, r1, 0x24
/* 800231B8 00020118 38 A1 00 0A */ addi r5, r1, 0xa
/* 800231BC 0002011C 38 C1 00 08 */ addi r6, r1, 8
/* 800231C0 00020120 38 80 00 01 */ li r4, 1
/* 800231C4 00020124 48 02 E8 59 */ bl CreateControllerStatus__7MakeMsgF14EArchMsgTargetRCsRCb
/* 800231C8 00020128 80 61 00 24 */ lwz r3, 0x24(r1)
/* 800231CC 0002012C 28 19 00 00 */ cmplwi r25, 0
/* 800231D0 00020130 80 01 00 28 */ lwz r0, 0x28(r1)
/* 800231D4 00020134 80 81 00 2C */ lwz r4, 0x2c(r1)
/* 800231D8 00020138 90 61 00 54 */ stw r3, 0x54(r1)
/* 800231DC 0002013C 90 01 00 58 */ stw r0, 0x58(r1)
/* 800231E0 00020140 90 81 00 5C */ stw r4, 0x5c(r1)
/* 800231E4 00020144 80 64 00 04 */ lwz r3, 4(r4)
/* 800231E8 00020148 38 03 00 01 */ addi r0, r3, 1
/* 800231EC 0002014C 90 04 00 04 */ stw r0, 4(r4)
/* 800231F0 00020150 41 82 00 0C */ beq lbl_800231FC
/* 800231F4 00020154 7F 23 CB 78 */ mr r3, r25
/* 800231F8 00020158 4B FE 55 15 */ bl sub_8000870c
lbl_800231FC:
/* 800231FC 0002015C 83 9F 00 08 */ lwz r28, 8(r31)
/* 80023200 00020160 3C 60 80 3D */ lis r3, lbl_803CCAA0@ha
/* 80023204 00020164 38 83 CA A0 */ addi r4, r3, lbl_803CCAA0@l
/* 80023208 00020168 38 A0 00 00 */ li r5, 0
/* 8002320C 0002016C 82 7C 00 00 */ lwz r19, 0(r28)
/* 80023210 00020170 38 60 00 14 */ li r3, 0x14
/* 80023214 00020174 48 2F 26 05 */ bl __nwa__FUlPCcPCc
/* 80023218 00020178 28 03 00 00 */ cmplwi r3, 0
/* 8002321C 0002017C 41 82 00 0C */ beq lbl_80023228
/* 80023220 00020180 92 63 00 00 */ stw r19, 0(r3)
/* 80023224 00020184 93 83 00 04 */ stw r28, 4(r3)
lbl_80023228:
/* 80023228 00020188 34 83 00 08 */ addic. r4, r3, 8
/* 8002322C 0002018C 41 82 00 2C */ beq lbl_80023258
/* 80023230 00020190 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80023234 00020194 90 04 00 00 */ stw r0, 0(r4)
/* 80023238 00020198 80 01 00 58 */ lwz r0, 0x58(r1)
/* 8002323C 0002019C 90 04 00 04 */ stw r0, 4(r4)
/* 80023240 000201A0 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 80023244 000201A4 90 04 00 08 */ stw r0, 8(r4)
/* 80023248 000201A8 80 A4 00 08 */ lwz r5, 8(r4)
/* 8002324C 000201AC 80 85 00 04 */ lwz r4, 4(r5)
/* 80023250 000201B0 38 04 00 01 */ addi r0, r4, 1
/* 80023254 000201B4 90 05 00 04 */ stw r0, 4(r5)
lbl_80023258:
/* 80023258 000201B8 80 1F 00 04 */ lwz r0, 4(r31)
/* 8002325C 000201BC 7C 1C 00 40 */ cmplw r28, r0
/* 80023260 000201C0 40 82 00 08 */ bne lbl_80023268
/* 80023264 000201C4 90 7F 00 04 */ stw r3, 4(r31)
lbl_80023268:
/* 80023268 000201C8 80 83 00 00 */ lwz r4, 0(r3)
/* 8002326C 000201CC 28 18 00 00 */ cmplwi r24, 0
/* 80023270 000201D0 88 01 00 08 */ lbz r0, 8(r1)
/* 80023274 000201D4 90 64 00 04 */ stw r3, 4(r4)
/* 80023278 000201D8 80 83 00 04 */ lwz r4, 4(r3)
/* 8002327C 000201DC 90 64 00 00 */ stw r3, 0(r4)
/* 80023280 000201E0 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80023284 000201E4 38 63 00 01 */ addi r3, r3, 1
/* 80023288 000201E8 90 7F 00 14 */ stw r3, 0x14(r31)
/* 8002328C 000201EC 7C 1E B9 AE */ stbx r0, r30, r23
/* 80023290 000201F0 41 82 00 0C */ beq lbl_8002329C
/* 80023294 000201F4 7F 03 C3 78 */ mr r3, r24
/* 80023298 000201F8 4B FE 54 75 */ bl sub_8000870c
lbl_8002329C:
/* 8002329C 000201FC 3A 94 00 01 */ addi r20, r20, 1
lbl_800232A0:
/* 800232A0 00020200 7C 14 E8 00 */ cmpw r20, r29
/* 800232A4 00020204 41 80 FD C4 */ blt lbl_80023068
lbl_800232A8:
/* 800232A8 00020208 56 A0 06 3F */ clrlwi. r0, r21, 0x18
/* 800232AC 0002020C 40 82 00 F8 */ bne lbl_800233A4
/* 800232B0 00020210 FC 20 F8 90 */ fmr f1, f31
/* 800232B4 00020214 80 BE 00 00 */ lwz r5, 0(r30)
/* 800232B8 00020218 38 61 00 9C */ addi r3, r1, 0x9c
/* 800232BC 0002021C 38 80 00 00 */ li r4, 0
/* 800232C0 00020220 48 32 5D A1 */ bl __ct__11CFinalInputFifRC10COsContext
/* 800232C4 00020224 7C 65 1B 78 */ mr r5, r3
/* 800232C8 00020228 38 61 00 18 */ addi r3, r1, 0x18
/* 800232CC 0002022C 38 80 00 01 */ li r4, 1
/* 800232D0 00020230 48 02 E8 21 */ bl CreateUserInput__7MakeMsgF14EArchMsgTargetRC11CFinalInput
/* 800232D4 00020234 80 81 00 18 */ lwz r4, 0x18(r1)
/* 800232D8 00020238 34 61 00 20 */ addic. r3, r1, 0x20
/* 800232DC 0002023C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800232E0 00020240 3A E1 00 50 */ addi r23, r1, 0x50
/* 800232E4 00020244 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 800232E8 00020248 90 81 00 48 */ stw r4, 0x48(r1)
/* 800232EC 0002024C 90 01 00 4C */ stw r0, 0x4c(r1)
/* 800232F0 00020250 90 A1 00 50 */ stw r5, 0x50(r1)
/* 800232F4 00020254 80 85 00 04 */ lwz r4, 4(r5)
/* 800232F8 00020258 38 04 00 01 */ addi r0, r4, 1
/* 800232FC 0002025C 90 05 00 04 */ stw r0, 4(r5)
/* 80023300 00020260 41 82 00 08 */ beq lbl_80023308
/* 80023304 00020264 4B FE 54 09 */ bl sub_8000870c
lbl_80023308:
/* 80023308 00020268 82 7F 00 08 */ lwz r19, 8(r31)
/* 8002330C 0002026C 3C 60 80 3D */ lis r3, lbl_803CCAA0@ha
/* 80023310 00020270 38 83 CA A0 */ addi r4, r3, lbl_803CCAA0@l
/* 80023314 00020274 38 A0 00 00 */ li r5, 0
/* 80023318 00020278 82 93 00 00 */ lwz r20, 0(r19)
/* 8002331C 0002027C 38 60 00 14 */ li r3, 0x14
/* 80023320 00020280 48 2F 24 F9 */ bl __nwa__FUlPCcPCc
/* 80023324 00020284 28 03 00 00 */ cmplwi r3, 0
/* 80023328 00020288 41 82 00 0C */ beq lbl_80023334
/* 8002332C 0002028C 92 83 00 00 */ stw r20, 0(r3)
/* 80023330 00020290 92 63 00 04 */ stw r19, 4(r3)
lbl_80023334:
/* 80023334 00020294 34 83 00 08 */ addic. r4, r3, 8
/* 80023338 00020298 41 82 00 2C */ beq lbl_80023364
/* 8002333C 0002029C 80 01 00 48 */ lwz r0, 0x48(r1)
/* 80023340 000202A0 90 04 00 00 */ stw r0, 0(r4)
/* 80023344 000202A4 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80023348 000202A8 90 04 00 04 */ stw r0, 4(r4)
/* 8002334C 000202AC 80 01 00 50 */ lwz r0, 0x50(r1)
/* 80023350 000202B0 90 04 00 08 */ stw r0, 8(r4)
/* 80023354 000202B4 80 A4 00 08 */ lwz r5, 8(r4)
/* 80023358 000202B8 80 85 00 04 */ lwz r4, 4(r5)
/* 8002335C 000202BC 38 04 00 01 */ addi r0, r4, 1
/* 80023360 000202C0 90 05 00 04 */ stw r0, 4(r5)
lbl_80023364:
/* 80023364 000202C4 80 1F 00 04 */ lwz r0, 4(r31)
/* 80023368 000202C8 7C 13 00 40 */ cmplw r19, r0
/* 8002336C 000202CC 40 82 00 08 */ bne lbl_80023374
/* 80023370 000202D0 90 7F 00 04 */ stw r3, 4(r31)
lbl_80023374:
/* 80023374 000202D4 80 83 00 00 */ lwz r4, 0(r3)
/* 80023378 000202D8 28 17 00 00 */ cmplwi r23, 0
/* 8002337C 000202DC 90 64 00 04 */ stw r3, 4(r4)
/* 80023380 000202E0 80 83 00 04 */ lwz r4, 4(r3)
/* 80023384 000202E4 90 64 00 00 */ stw r3, 0(r4)
/* 80023388 000202E8 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8002338C 000202EC 38 03 00 01 */ addi r0, r3, 1
/* 80023390 000202F0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80023394 000202F4 41 82 01 00 */ beq lbl_80023494
/* 80023398 000202F8 7E E3 BB 78 */ mr r3, r23
/* 8002339C 000202FC 4B FE 53 71 */ bl sub_8000870c
/* 800233A0 00020300 48 00 00 F4 */ b lbl_80023494
lbl_800233A4:
/* 800233A4 00020304 FC 20 F8 90 */ fmr f1, f31
/* 800233A8 00020308 80 BE 00 00 */ lwz r5, 0(r30)
/* 800233AC 0002030C 7E C4 B3 78 */ mr r4, r22
/* 800233B0 00020310 38 61 00 6C */ addi r3, r1, 0x6c
/* 800233B4 00020314 48 32 5C AD */ bl __ct__11CFinalInputFifRC10COsContext
/* 800233B8 00020318 7C 65 1B 78 */ mr r5, r3
/* 800233BC 0002031C 38 61 00 0C */ addi r3, r1, 0xc
/* 800233C0 00020320 38 80 00 01 */ li r4, 1
/* 800233C4 00020324 48 02 E7 2D */ bl CreateUserInput__7MakeMsgF14EArchMsgTargetRC11CFinalInput
/* 800233C8 00020328 80 81 00 0C */ lwz r4, 0xc(r1)
/* 800233CC 0002032C 34 61 00 14 */ addic. r3, r1, 0x14
/* 800233D0 00020330 80 01 00 10 */ lwz r0, 0x10(r1)
/* 800233D4 00020334 3A E1 00 44 */ addi r23, r1, 0x44
/* 800233D8 00020338 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 800233DC 0002033C 90 81 00 3C */ stw r4, 0x3c(r1)
/* 800233E0 00020340 90 01 00 40 */ stw r0, 0x40(r1)
/* 800233E4 00020344 90 A1 00 44 */ stw r5, 0x44(r1)
/* 800233E8 00020348 80 85 00 04 */ lwz r4, 4(r5)
/* 800233EC 0002034C 38 04 00 01 */ addi r0, r4, 1
/* 800233F0 00020350 90 05 00 04 */ stw r0, 4(r5)
/* 800233F4 00020354 41 82 00 08 */ beq lbl_800233FC
/* 800233F8 00020358 4B FE 53 15 */ bl sub_8000870c
lbl_800233FC:
/* 800233FC 0002035C 82 7F 00 08 */ lwz r19, 8(r31)
/* 80023400 00020360 3C 60 80 3D */ lis r3, lbl_803CCAA0@ha
/* 80023404 00020364 38 83 CA A0 */ addi r4, r3, lbl_803CCAA0@l
/* 80023408 00020368 38 A0 00 00 */ li r5, 0
/* 8002340C 0002036C 82 93 00 00 */ lwz r20, 0(r19)
/* 80023410 00020370 38 60 00 14 */ li r3, 0x14
/* 80023414 00020374 48 2F 24 05 */ bl __nwa__FUlPCcPCc
/* 80023418 00020378 28 03 00 00 */ cmplwi r3, 0
/* 8002341C 0002037C 41 82 00 0C */ beq lbl_80023428
/* 80023420 00020380 92 83 00 00 */ stw r20, 0(r3)
/* 80023424 00020384 92 63 00 04 */ stw r19, 4(r3)
lbl_80023428:
/* 80023428 00020388 34 83 00 08 */ addic. r4, r3, 8
/* 8002342C 0002038C 41 82 00 2C */ beq lbl_80023458
/* 80023430 00020390 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80023434 00020394 90 04 00 00 */ stw r0, 0(r4)
/* 80023438 00020398 80 01 00 40 */ lwz r0, 0x40(r1)
/* 8002343C 0002039C 90 04 00 04 */ stw r0, 4(r4)
/* 80023440 000203A0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80023444 000203A4 90 04 00 08 */ stw r0, 8(r4)
/* 80023448 000203A8 80 A4 00 08 */ lwz r5, 8(r4)
/* 8002344C 000203AC 80 85 00 04 */ lwz r4, 4(r5)
/* 80023450 000203B0 38 04 00 01 */ addi r0, r4, 1
/* 80023454 000203B4 90 05 00 04 */ stw r0, 4(r5)
lbl_80023458:
/* 80023458 000203B8 80 1F 00 04 */ lwz r0, 4(r31)
/* 8002345C 000203BC 7C 13 00 40 */ cmplw r19, r0
/* 80023460 000203C0 40 82 00 08 */ bne lbl_80023468
/* 80023464 000203C4 90 7F 00 04 */ stw r3, 4(r31)
lbl_80023468:
/* 80023468 000203C8 80 83 00 00 */ lwz r4, 0(r3)
/* 8002346C 000203CC 28 17 00 00 */ cmplwi r23, 0
/* 80023470 000203D0 90 64 00 04 */ stw r3, 4(r4)
/* 80023474 000203D4 80 83 00 04 */ lwz r4, 4(r3)
/* 80023478 000203D8 90 64 00 00 */ stw r3, 0(r4)
/* 8002347C 000203DC 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80023480 000203E0 38 03 00 01 */ addi r0, r3, 1
/* 80023484 000203E4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80023488 000203E8 41 82 00 0C */ beq lbl_80023494
/* 8002348C 000203EC 7E E3 BB 78 */ mr r3, r23
/* 80023490 000203F0 4B FE 52 7D */ bl sub_8000870c
lbl_80023494:
/* 80023494 000203F4 38 60 00 01 */ li r3, 1
lbl_80023498:
/* 80023498 000203F8 E3 E1 01 48 */ psq_l f31, 328(r1), 0, qr0
/* 8002349C 000203FC CB E1 01 40 */ lfd f31, 0x140(r1)
/* 800234A0 00020400 BA 61 01 0C */ lmw r19, 0x10c(r1)
/* 800234A4 00020404 80 01 01 54 */ lwz r0, 0x154(r1)
/* 800234A8 00020408 7C 08 03 A6 */ mtlr r0
/* 800234AC 0002040C 38 21 01 50 */ addi r1, r1, 0x150
/* 800234B0 00020410 4E 80 00 20 */ blr
.global __ct__15CInputGeneratorFP10COsContextff
__ct__15CInputGeneratorFP10COsContextff:
/* 800234B4 00020414 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800234B8 00020418 7C 08 02 A6 */ mflr r0
/* 800234BC 0002041C 90 01 00 24 */ stw r0, 0x24(r1)
/* 800234C0 00020420 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 800234C4 00020424 FF E0 10 90 */ fmr f31, f2
/* 800234C8 00020428 DB C1 00 10 */ stfd f30, 0x10(r1)
/* 800234CC 0002042C FF C0 08 90 */ fmr f30, f1
/* 800234D0 00020430 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800234D4 00020434 7C 7F 1B 78 */ mr r31, r3
/* 800234D8 00020438 90 83 00 00 */ stw r4, 0(r3)
/* 800234DC 0002043C 7C 83 23 78 */ mr r3, r4
/* 800234E0 00020440 48 32 BA D5 */ bl Create__11IControllerFRC10COsContext
/* 800234E4 00020444 90 7F 00 04 */ stw r3, 4(r31)
/* 800234E8 00020448 38 00 00 00 */ li r0, 0
/* 800234EC 0002044C 7F E3 FB 78 */ mr r3, r31
/* 800234F0 00020450 D3 DF 00 0C */ stfs f30, 0xc(r31)
/* 800234F4 00020454 D3 FF 00 10 */ stfs f31, 0x10(r31)
/* 800234F8 00020458 98 1F 00 08 */ stb r0, 8(r31)
/* 800234FC 0002045C 98 1F 00 09 */ stb r0, 9(r31)
/* 80023500 00020460 98 1F 00 0A */ stb r0, 0xa(r31)
/* 80023504 00020464 98 1F 00 0B */ stb r0, 0xb(r31)
/* 80023508 00020468 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8002350C 0002046C CB C1 00 10 */ lfd f30, 0x10(r1)
/* 80023510 00020470 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80023514 00020474 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80023518 00020478 7C 08 03 A6 */ mtlr r0
/* 8002351C 0002047C 38 21 00 20 */ addi r1, r1, 0x20
/* 80023520 00020480 4E 80 00 20 */ blr