tp/include/Z2AudioLib/Z2WolfHowlMgr/asm/func_802CB100.s

152 lines
8.0 KiB
ArmAsm

/* 802CB100 002C8040 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802CB104 002C8044 7C 08 02 A6 */ mflr r0
/* 802CB108 002C8048 90 01 00 34 */ stw r0, 0x34(r1)
/* 802CB10C 002C804C 39 61 00 30 */ addi r11, r1, 0x30
/* 802CB110 002C8050 48 09 70 CD */ bl _savegpr_29
/* 802CB114 002C8054 7C 7F 1B 78 */ mr r31, r3
/* 802CB118 002C8058 7C 86 07 74 */ extsb r6, r4
/* 802CB11C 002C805C 88 03 00 8E */ lbz r0, 0x8e(r3)
/* 802CB120 002C8060 7C 00 07 74 */ extsb r0, r0
/* 802CB124 002C8064 7C 06 00 00 */ cmpw r6, r0
/* 802CB128 002C8068 41 82 01 E0 */ beq lbl_802CB308
/* 802CB12C 002C806C 2C 06 FF FF */ cmpwi r6, -1
/* 802CB130 002C8070 40 82 00 18 */ bne lbl_802CB148
/* 802CB134 002C8074 38 00 FF FF */ li r0, -1
/* 802CB138 002C8078 98 1F 00 8E */ stb r0, 0x8e(r31)
/* 802CB13C 002C807C 38 00 00 00 */ li r0, 0
/* 802CB140 002C8080 90 1F 00 0C */ stw r0, 0xc(r31)
/* 802CB144 002C8084 48 00 01 C4 */ b lbl_802CB308
lbl_802CB148:
/* 802CB148 002C8088 28 05 00 00 */ cmplwi r5, 0
/* 802CB14C 002C808C 40 82 00 2C */ bne lbl_802CB178
/* 802CB150 002C8090 2C 06 00 09 */ cmpwi r6, 9
/* 802CB154 002C8094 41 80 00 18 */ blt lbl_802CB16C
/* 802CB158 002C8098 38 00 FF FF */ li r0, -1
/* 802CB15C 002C809C 98 1F 00 8E */ stb r0, 0x8e(r31)
/* 802CB160 002C80A0 38 00 00 00 */ li r0, 0
/* 802CB164 002C80A4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 802CB168 002C80A8 48 00 01 A0 */ b lbl_802CB308
lbl_802CB16C:
/* 802CB16C 002C80AC 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 802CB170 002C80B0 54 C0 18 38 */ slwi r0, r6, 3
/* 802CB174 002C80B4 7C A3 02 14 */ add r5, r3, r0
lbl_802CB178:
/* 802CB178 002C80B8 98 9F 00 8E */ stb r4, 0x8e(r31)
/* 802CB17C 002C80BC 90 BF 00 0C */ stw r5, 0xc(r31)
/* 802CB180 002C80C0 7C 80 07 74 */ extsb r0, r4
/* 802CB184 002C80C4 2C 00 00 06 */ cmpwi r0, 6
/* 802CB188 002C80C8 41 82 00 68 */ beq lbl_802CB1F0
/* 802CB18C 002C80CC 40 80 00 1C */ bge lbl_802CB1A8
/* 802CB190 002C80D0 2C 00 00 04 */ cmpwi r0, 4
/* 802CB194 002C80D4 41 82 00 40 */ beq lbl_802CB1D4
/* 802CB198 002C80D8 40 80 00 A8 */ bge lbl_802CB240
/* 802CB19C 002C80DC 2C 00 00 03 */ cmpwi r0, 3
/* 802CB1A0 002C80E0 40 80 00 18 */ bge lbl_802CB1B8
/* 802CB1A4 002C80E4 48 00 00 9C */ b lbl_802CB240
lbl_802CB1A8:
/* 802CB1A8 002C80E8 2C 00 00 08 */ cmpwi r0, 8
/* 802CB1AC 002C80EC 41 82 00 78 */ beq lbl_802CB224
/* 802CB1B0 002C80F0 40 80 00 90 */ bge lbl_802CB240
/* 802CB1B4 002C80F4 48 00 00 54 */ b lbl_802CB208
lbl_802CB1B8:
/* 802CB1B8 002C80F8 C0 02 C4 80 */ lfs f0, lbl_80455E80-_SDA2_BASE_(r2)
/* 802CB1BC 002C80FC D0 0D 83 08 */ stfs f0, lbl_80450888-_SDA_BASE_(r13)
/* 802CB1C0 002C8100 C0 02 C4 84 */ lfs f0, lbl_80455E84-_SDA2_BASE_(r2)
/* 802CB1C4 002C8104 D0 0D 83 04 */ stfs f0, lbl_80450884-_SDA_BASE_(r13)
/* 802CB1C8 002C8108 C0 02 C4 88 */ lfs f0, lbl_80455E88-_SDA2_BASE_(r2)
/* 802CB1CC 002C810C D0 0D 83 00 */ stfs f0, lbl_80450880-_SDA_BASE_(r13)
/* 802CB1D0 002C8110 48 00 00 88 */ b lbl_802CB258
lbl_802CB1D4:
/* 802CB1D4 002C8114 C0 02 C4 8C */ lfs f0, lbl_80455E8C-_SDA2_BASE_(r2)
/* 802CB1D8 002C8118 D0 0D 83 08 */ stfs f0, lbl_80450888-_SDA_BASE_(r13)
/* 802CB1DC 002C811C C0 02 C4 90 */ lfs f0, lbl_80455E90-_SDA2_BASE_(r2)
/* 802CB1E0 002C8120 D0 0D 83 04 */ stfs f0, lbl_80450884-_SDA_BASE_(r13)
/* 802CB1E4 002C8124 C0 02 C4 94 */ lfs f0, lbl_80455E94-_SDA2_BASE_(r2)
/* 802CB1E8 002C8128 D0 0D 83 00 */ stfs f0, lbl_80450880-_SDA_BASE_(r13)
/* 802CB1EC 002C812C 48 00 00 6C */ b lbl_802CB258
lbl_802CB1F0:
/* 802CB1F0 002C8130 C0 02 C4 98 */ lfs f0, lbl_80455E98-_SDA2_BASE_(r2)
/* 802CB1F4 002C8134 D0 0D 83 08 */ stfs f0, lbl_80450888-_SDA_BASE_(r13)
/* 802CB1F8 002C8138 C0 02 C4 9C */ lfs f0, lbl_80455E9C-_SDA2_BASE_(r2)
/* 802CB1FC 002C813C D0 0D 83 04 */ stfs f0, lbl_80450884-_SDA_BASE_(r13)
/* 802CB200 002C8140 D0 0D 83 00 */ stfs f0, lbl_80450880-_SDA_BASE_(r13)
/* 802CB204 002C8144 48 00 00 54 */ b lbl_802CB258
lbl_802CB208:
/* 802CB208 002C8148 C0 02 C4 8C */ lfs f0, lbl_80455E8C-_SDA2_BASE_(r2)
/* 802CB20C 002C814C D0 0D 83 08 */ stfs f0, lbl_80450888-_SDA_BASE_(r13)
/* 802CB210 002C8150 C0 02 C4 90 */ lfs f0, lbl_80455E90-_SDA2_BASE_(r2)
/* 802CB214 002C8154 D0 0D 83 04 */ stfs f0, lbl_80450884-_SDA_BASE_(r13)
/* 802CB218 002C8158 C0 02 C4 9C */ lfs f0, lbl_80455E9C-_SDA2_BASE_(r2)
/* 802CB21C 002C815C D0 0D 83 00 */ stfs f0, lbl_80450880-_SDA_BASE_(r13)
/* 802CB220 002C8160 48 00 00 38 */ b lbl_802CB258
lbl_802CB224:
/* 802CB224 002C8164 C0 02 C4 80 */ lfs f0, lbl_80455E80-_SDA2_BASE_(r2)
/* 802CB228 002C8168 D0 0D 83 08 */ stfs f0, lbl_80450888-_SDA_BASE_(r13)
/* 802CB22C 002C816C C0 02 C4 90 */ lfs f0, lbl_80455E90-_SDA2_BASE_(r2)
/* 802CB230 002C8170 D0 0D 83 04 */ stfs f0, lbl_80450884-_SDA_BASE_(r13)
/* 802CB234 002C8174 C0 02 C4 A0 */ lfs f0, lbl_80455EA0-_SDA2_BASE_(r2)
/* 802CB238 002C8178 D0 0D 83 00 */ stfs f0, lbl_80450880-_SDA_BASE_(r13)
/* 802CB23C 002C817C 48 00 00 1C */ b lbl_802CB258
lbl_802CB240:
/* 802CB240 002C8180 C0 02 C4 A4 */ lfs f0, lbl_80455EA4-_SDA2_BASE_(r2)
/* 802CB244 002C8184 D0 0D 83 08 */ stfs f0, lbl_80450888-_SDA_BASE_(r13)
/* 802CB248 002C8188 C0 02 C4 64 */ lfs f0, lbl_80455E64-_SDA2_BASE_(r2)
/* 802CB24C 002C818C D0 0D 83 04 */ stfs f0, lbl_80450884-_SDA_BASE_(r13)
/* 802CB250 002C8190 C0 02 C4 9C */ lfs f0, lbl_80455E9C-_SDA2_BASE_(r2)
/* 802CB254 002C8194 D0 0D 83 00 */ stfs f0, lbl_80450880-_SDA_BASE_(r13)
lbl_802CB258:
/* 802CB258 002C8198 38 00 00 00 */ li r0, 0
/* 802CB25C 002C819C B0 1F 00 BE */ sth r0, 0xbe(r31)
/* 802CB260 002C81A0 3B C0 00 00 */ li r30, 0
/* 802CB264 002C81A4 3B A0 00 00 */ li r29, 0
/* 802CB268 002C81A8 48 00 00 78 */ b lbl_802CB2E0
lbl_802CB26C:
/* 802CB26C 002C81AC 7F E3 FB 78 */ mr r3, r31
/* 802CB270 002C81B0 7F A4 EB 78 */ mr r4, r29
/* 802CB274 002C81B4 48 00 00 AD */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB278 002C81B8 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB27C 002C81BC B0 01 00 10 */ sth r0, 0x10(r1)
/* 802CB280 002C81C0 88 01 00 11 */ lbz r0, 0x11(r1)
/* 802CB284 002C81C4 7F DE 02 14 */ add r30, r30, r0
/* 802CB288 002C81C8 7F E3 FB 78 */ mr r3, r31
/* 802CB28C 002C81CC 7F A4 EB 78 */ mr r4, r29
/* 802CB290 002C81D0 48 00 00 91 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB294 002C81D4 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB298 002C81D8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802CB29C 002C81DC 88 01 00 0C */ lbz r0, 0xc(r1)
/* 802CB2A0 002C81E0 28 00 00 00 */ cmplwi r0, 0
/* 802CB2A4 002C81E4 41 82 00 38 */ beq lbl_802CB2DC
/* 802CB2A8 002C81E8 A0 7F 00 BE */ lhz r3, 0xbe(r31)
/* 802CB2AC 002C81EC 88 0D 83 15 */ lbz r0, lbl_80450895-_SDA_BASE_(r13)
/* 802CB2B0 002C81F0 7C 03 02 14 */ add r0, r3, r0
/* 802CB2B4 002C81F4 B0 1F 00 BE */ sth r0, 0xbe(r31)
/* 802CB2B8 002C81F8 7F E3 FB 78 */ mr r3, r31
/* 802CB2BC 002C81FC 7F A4 EB 78 */ mr r4, r29
/* 802CB2C0 002C8200 48 00 00 61 */ bl getCorrectLine__13Z2WolfHowlMgrFUc
/* 802CB2C4 002C8204 54 60 84 3E */ srwi r0, r3, 0x10
/* 802CB2C8 002C8208 B0 01 00 08 */ sth r0, 8(r1)
/* 802CB2CC 002C820C A0 7F 00 BE */ lhz r3, 0xbe(r31)
/* 802CB2D0 002C8210 88 01 00 09 */ lbz r0, 9(r1)
/* 802CB2D4 002C8214 7C 03 02 14 */ add r0, r3, r0
/* 802CB2D8 002C8218 B0 1F 00 BE */ sth r0, 0xbe(r31)
lbl_802CB2DC:
/* 802CB2DC 002C821C 3B BD 00 01 */ addi r29, r29, 1
lbl_802CB2E0:
/* 802CB2E0 002C8220 7F E3 FB 78 */ mr r3, r31
/* 802CB2E4 002C8224 48 00 00 8D */ bl getCorrectLineNum__13Z2WolfHowlMgrFv
/* 802CB2E8 002C8228 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802CB2EC 002C822C 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 802CB2F0 002C8230 7C 00 18 40 */ cmplw r0, r3
/* 802CB2F4 002C8234 41 80 FF 78 */ blt lbl_802CB26C
/* 802CB2F8 002C8238 57 C3 F0 BE */ srwi r3, r30, 2
/* 802CB2FC 002C823C A0 1F 00 BE */ lhz r0, 0xbe(r31)
/* 802CB300 002C8240 7C 03 00 50 */ subf r0, r3, r0
/* 802CB304 002C8244 B0 1F 00 BE */ sth r0, 0xbe(r31)
lbl_802CB308:
/* 802CB308 002C8248 39 61 00 30 */ addi r11, r1, 0x30
/* 802CB30C 002C824C 48 09 6F 1D */ bl _restgpr_29
/* 802CB310 002C8250 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802CB314 002C8254 7C 08 03 A6 */ mtlr r0
/* 802CB318 002C8258 38 21 00 30 */ addi r1, r1, 0x30
/* 802CB31C 002C825C 4E 80 00 20 */ blr