? 0x68cd0
Jump to navigation
Jump to search
# ROUTINE: ? 0x68cd0 # Parameters: # r4 = (p1) ? # r5 = (startLoopPtr) ? # r6 = (endLoopIndex) ? 80068cd0: 3c028009 lui r2,0x8009 80068cd4: 8c42e53c lw r2,-0x1ac4(r2) # *0x8008e53c 80068cd8: 27bdffd0 addiu r29,r29,-0x0030 80068cdc: afb20020 sw r18,0x0020(r29) 80068ce0: 00809021 addu r18,r4,r0 # startLoopPtr 80068ce4: afb30024 sw r19,0x0024(r29) 80068ce8: 00c09821 addu r19,r6,r0 # endLoopIndex 80068cec: afbf0028 sw r31,0x0028(r29) 80068cf0: afb1001c sw r17,0x001c(r29) 80068cf4: 30420008 andi r2,r2,0x0008 # *0x8008e53c & 0x08 80068cf8: 14400019 bne r2,r0,0x80068d60 # if (*0x8008e53c & 0x08) return; 80068cfc: afb00018 sw r16,0x0018(r29) 80068d00: 1a600017 blez r19,0x80068d60 # if (endLoopIndex <= 0) return; 80068d04: 00008021 addu r16,r0,r0 # loopIndex = 0 80068d08: 00a08821 addu r17,r5,r0 # loopPtr = startLoopPtr # do { 80068d0c: 8e240000 lw r4,0x0000(r17) # *loopPtr 80068d10: 00000000 nop 80068d14: 8c830000 lw r3,0x0000(r4) # *(*loopPtr) 80068d18: 00000000 nop 80068d1c: 30620018 andi r2,r3,0x0018 # *(*loopPtr) & 0x18 80068d20: 1440000b bne r2,r0,0x80068d50 # if ((*(*loopPtr) & 0x18) == 0) loopIndex++; loopPtr+=4; continue; 80068d24: 30620001 andi r2,r3,0x0001 # *(*loopPtr) & 0x01 80068d28: 10400005 beq r2,r0,0x80068d40 # if ((*(*loopPtr) & 0x01) != 0) { 80068d2c: 30620002 andi r2,r3,0x0002 80068d30: 0c01a360 jal 0x80068d80 # ? 0x68d80 (*loopPtr, p1); 80068d34: 02402821 addu r5,r18,r0 80068d38: 0801a355 j 0x80068d54 80068d3c: 26100001 addiu r16,r16,0x0001 # loopIndex = loopIndex + 1 # loopPtr = loopPtr + 4; continue; # } 80068d40: 10400003 beq r2,r0,0x80068d50 # if ((*(*loopPtr) & 0x02) != 0) { 80068d44: 00000000 nop 80068d48: 0c01a483 jal 0x8006920c # ? 0x6920c (*loopPtr, p1); // Called during birthday menu 80068d4c: 02402821 addu r5,r18,r0 # } 80068d50: 26100001 addiu r16,r16,0x0001 # loopIndex = loopIndex + 1 80068d54: 0213102a slt r2,r16,r19 80068d58: 1440ffec bne r2,r0,0x80068d0c 80068d5c: 26310004 addiu r17,r17,0x0004 # loopPtr = loopPtr + 4 # } while (loopIndex < endLoopIndex); 80068d60: 8fbf0028 lw r31,0x0028(r29) 80068d64: 8fb30024 lw r19,0x0024(r29) 80068d68: 8fb20020 lw r18,0x0020(r29) 80068d6c: 8fb1001c lw r17,0x001c(r29) 80068d70: 8fb00018 lw r16,0x0018(r29) 80068d74: 27bd0030 addiu r29,r29,0x0030 80068d78: 03e00008 jr r31 80068d7c: 00000000 nop