.include "macros.inc" .section .text, "ax" # 80359158 .global CARDGetSerialNo CARDGetSerialNo: /* 80359158 00356098 7C 08 02 A6 */ mflr r0 /* 8035915C 0035609C 2C 03 00 00 */ cmpwi r3, 0 /* 80359160 003560A0 90 01 00 04 */ stw r0, 4(r1) /* 80359164 003560A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80359168 003560A8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8035916C 003560AC 3B E4 00 00 */ addi r31, r4, 0 /* 80359170 003560B0 41 80 00 0C */ blt lbl_8035917C /* 80359174 003560B4 2C 03 00 02 */ cmpwi r3, 2 /* 80359178 003560B8 41 80 00 0C */ blt lbl_80359184 lbl_8035917C: /* 8035917C 003560BC 38 60 FF 80 */ li r3, -128 /* 80359180 003560C0 48 00 00 88 */ b lbl_80359208 lbl_80359184: /* 80359184 003560C4 38 81 00 10 */ addi r4, r1, 0x10 /* 80359188 003560C8 4B FF AA 2D */ bl __CARDGetControlBlock /* 8035918C 003560CC 2C 03 00 00 */ cmpwi r3, 0 /* 80359190 003560D0 40 80 00 08 */ bge lbl_80359198 /* 80359194 003560D4 48 00 00 74 */ b lbl_80359208 lbl_80359198: /* 80359198 003560D8 80 61 00 10 */ lwz r3, 0x10(r1) /* 8035919C 003560DC 38 E0 00 00 */ li r7, 0 /* 803591A0 003560E0 38 C0 00 00 */ li r6, 0 /* 803591A4 003560E4 80 A3 00 80 */ lwz r5, 0x80(r3) /* 803591A8 003560E8 38 80 00 00 */ li r4, 0 /* 803591AC 003560EC 80 65 00 04 */ lwz r3, 4(r5) /* 803591B0 003560F0 80 05 00 00 */ lwz r0, 0(r5) /* 803591B4 003560F4 7C E7 1A 78 */ xor r7, r7, r3 /* 803591B8 003560F8 38 65 00 08 */ addi r3, r5, 8 /* 803591BC 003560FC 7C C6 02 78 */ xor r6, r6, r0 /* 803591C0 00356100 80 05 00 08 */ lwz r0, 8(r5) /* 803591C4 00356104 80 63 00 04 */ lwz r3, 4(r3) /* 803591C8 00356108 7C C6 02 78 */ xor r6, r6, r0 /* 803591CC 0035610C 7C E7 1A 78 */ xor r7, r7, r3 /* 803591D0 00356110 38 65 00 10 */ addi r3, r5, 0x10 /* 803591D4 00356114 80 05 00 10 */ lwz r0, 0x10(r5) /* 803591D8 00356118 80 63 00 04 */ lwz r3, 4(r3) /* 803591DC 0035611C 7C C6 02 78 */ xor r6, r6, r0 /* 803591E0 00356120 7C E7 1A 78 */ xor r7, r7, r3 /* 803591E4 00356124 38 65 00 18 */ addi r3, r5, 0x18 /* 803591E8 00356128 80 05 00 18 */ lwz r0, 0x18(r5) /* 803591EC 0035612C 80 63 00 04 */ lwz r3, 4(r3) /* 803591F0 00356130 7C C6 02 78 */ xor r6, r6, r0 /* 803591F4 00356134 7C E7 1A 78 */ xor r7, r7, r3 /* 803591F8 00356138 90 FF 00 04 */ stw r7, 4(r31) /* 803591FC 0035613C 90 DF 00 00 */ stw r6, 0(r31) /* 80359200 00356140 80 61 00 10 */ lwz r3, 0x10(r1) /* 80359204 00356144 4B FF AA 69 */ bl __CARDPutControlBlock lbl_80359208: /* 80359208 00356148 80 01 00 24 */ lwz r0, 0x24(r1) /* 8035920C 0035614C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80359210 00356150 38 21 00 20 */ addi r1, r1, 0x20 /* 80359214 00356154 7C 08 03 A6 */ mtlr r0 /* 80359218 00356158 4E 80 00 20 */ blr