.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global DWC_SetCommonKeyValueString DWC_SetCommonKeyValueString: /* 8031EDEC 0031AA4C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031EDF0 0031AA50 7C 08 02 A6 */ mflr r0 /* 8031EDF4 0031AA54 7C C6 07 74 */ extsb r6, r6 /* 8031EDF8 0031AA58 7C 89 23 78 */ mr r9, r4 /* 8031EDFC 0031AA5C 90 01 00 14 */ stw r0, 0x14(r1) /* 8031EE00 0031AA60 7C 67 1B 78 */ mr r7, r3 /* 8031EE04 0031AA64 7C C8 33 78 */ mr r8, r6 /* 8031EE08 0031AA68 38 80 10 00 */ li r4, 0x1000 /* 8031EE0C 0031AA6C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031EE10 0031AA70 7C BF 2B 78 */ mr r31, r5 /* 8031EE14 0031AA74 3C A0 80 44 */ lis r5, lbl_80446C70@ha /* 8031EE18 0031AA78 7F E3 FB 78 */ mr r3, r31 /* 8031EE1C 0031AA7C 38 A5 6C 70 */ addi r5, r5, lbl_80446C70@l /* 8031EE20 0031AA80 4C C6 31 82 */ crclr 6 /* 8031EE24 0031AA84 4B EA DC 01 */ bl snprintf /* 8031EE28 0031AA88 7F E3 FB 78 */ mr r3, r31 /* 8031EE2C 0031AA8C 4B EA 7D 39 */ bl strlen /* 8031EE30 0031AA90 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031EE34 0031AA94 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8031EE38 0031AA98 7C 08 03 A6 */ mtlr r0 /* 8031EE3C 0031AA9C 38 21 00 10 */ addi r1, r1, 0x10 /* 8031EE40 0031AAA0 4E 80 00 20 */ blr .global DWC_AddCommonKeyValueString DWC_AddCommonKeyValueString: /* 8031EE44 0031AAA4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031EE48 0031AAA8 7C 08 02 A6 */ mflr r0 /* 8031EE4C 0031AAAC 90 01 00 24 */ stw r0, 0x24(r1) /* 8031EE50 0031AAB0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031EE54 0031AAB4 7C DF 33 78 */ mr r31, r6 /* 8031EE58 0031AAB8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031EE5C 0031AABC 7C BE 2B 78 */ mr r30, r5 /* 8031EE60 0031AAC0 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031EE64 0031AAC4 7C 9D 23 78 */ mr r29, r4 /* 8031EE68 0031AAC8 38 80 00 00 */ li r4, 0 /* 8031EE6C 0031AACC 93 81 00 10 */ stw r28, 0x10(r1) /* 8031EE70 0031AAD0 7C 7C 1B 78 */ mr r28, r3 /* 8031EE74 0031AAD4 7F C3 F3 78 */ mr r3, r30 /* 8031EE78 0031AAD8 4B EA F7 31 */ bl strchr /* 8031EE7C 0031AADC 7F E6 07 74 */ extsb r6, r31 /* 8031EE80 0031AAE0 3C A0 80 44 */ lis r5, lbl_80446C70@ha /* 8031EE84 0031AAE4 7C 7F 1B 78 */ mr r31, r3 /* 8031EE88 0031AAE8 7F 87 E3 78 */ mr r7, r28 /* 8031EE8C 0031AAEC 7C C8 33 78 */ mr r8, r6 /* 8031EE90 0031AAF0 7F A9 EB 78 */ mr r9, r29 /* 8031EE94 0031AAF4 38 A5 6C 70 */ addi r5, r5, lbl_80446C70@l /* 8031EE98 0031AAF8 38 80 10 00 */ li r4, 0x1000 /* 8031EE9C 0031AAFC 4C C6 31 82 */ crclr 6 /* 8031EEA0 0031AB00 4B EA DB 85 */ bl snprintf /* 8031EEA4 0031AB04 7F E3 FB 78 */ mr r3, r31 /* 8031EEA8 0031AB08 4B EA 7C BD */ bl strlen /* 8031EEAC 0031AB0C 7F C3 F3 78 */ mr r3, r30 /* 8031EEB0 0031AB10 4B EA 7C B5 */ bl strlen /* 8031EEB4 0031AB14 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031EEB8 0031AB18 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031EEBC 0031AB1C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031EEC0 0031AB20 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031EEC4 0031AB24 83 81 00 10 */ lwz r28, 0x10(r1) /* 8031EEC8 0031AB28 7C 08 03 A6 */ mtlr r0 /* 8031EECC 0031AB2C 38 21 00 20 */ addi r1, r1, 0x20 /* 8031EED0 0031AB30 4E 80 00 20 */ blr .global DWC_GetCommonValueString DWC_GetCommonValueString: /* 8031EED4 0031AB34 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031EED8 0031AB38 7C 08 02 A6 */ mflr r0 /* 8031EEDC 0031AB3C 2C 04 00 00 */ cmpwi r4, 0 /* 8031EEE0 0031AB40 90 01 00 24 */ stw r0, 0x24(r1) /* 8031EEE4 0031AB44 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031EEE8 0031AB48 7C DF 33 78 */ mr r31, r6 /* 8031EEEC 0031AB4C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031EEF0 0031AB50 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031EEF4 0031AB54 7C 9D 23 78 */ mr r29, r4 /* 8031EEF8 0031AB58 93 81 00 10 */ stw r28, 0x10(r1) /* 8031EEFC 0031AB5C 7C 7C 1B 78 */ mr r28, r3 /* 8031EF00 0031AB60 40 82 00 0C */ bne lbl_8031EF0C /* 8031EF04 0031AB64 38 60 FF FF */ li r3, -1 /* 8031EF08 0031AB68 48 00 01 04 */ b lbl_8031F00C lbl_8031EF0C: /* 8031EF0C 0031AB6C 7C A3 2B 78 */ mr r3, r5 /* 8031EF10 0031AB70 7C C4 07 74 */ extsb r4, r6 /* 8031EF14 0031AB74 4B EA F6 95 */ bl strchr /* 8031EF18 0031AB78 2C 03 00 00 */ cmpwi r3, 0 /* 8031EF1C 0031AB7C 7C 7E 1B 78 */ mr r30, r3 /* 8031EF20 0031AB80 40 82 00 0C */ bne lbl_8031EF2C /* 8031EF24 0031AB84 38 60 FF FF */ li r3, -1 /* 8031EF28 0031AB88 48 00 00 E4 */ b lbl_8031F00C lbl_8031EF2C: /* 8031EF2C 0031AB8C 7F 83 E3 78 */ mr r3, r28 /* 8031EF30 0031AB90 4B EA 7C 35 */ bl strlen /* 8031EF34 0031AB94 7C 65 1B 78 */ mr r5, r3 /* 8031EF38 0031AB98 7F 84 E3 78 */ mr r4, r28 /* 8031EF3C 0031AB9C 38 7E 00 01 */ addi r3, r30, 1 /* 8031EF40 0031ABA0 4B EA F6 29 */ bl strncmp /* 8031EF44 0031ABA4 2C 03 00 00 */ cmpwi r3, 0 /* 8031EF48 0031ABA8 40 82 00 24 */ bne lbl_8031EF6C /* 8031EF4C 0031ABAC 7F 83 E3 78 */ mr r3, r28 /* 8031EF50 0031ABB0 4B EA 7C 15 */ bl strlen /* 8031EF54 0031ABB4 7C 63 F2 14 */ add r3, r3, r30 /* 8031EF58 0031ABB8 7F E4 07 74 */ extsb r4, r31 /* 8031EF5C 0031ABBC 88 03 00 01 */ lbz r0, 1(r3) /* 8031EF60 0031ABC0 7C 00 07 74 */ extsb r0, r0 /* 8031EF64 0031ABC4 7C 04 00 00 */ cmpw r4, r0 /* 8031EF68 0031ABC8 41 82 00 40 */ beq lbl_8031EFA8 lbl_8031EF6C: /* 8031EF6C 0031ABCC 38 7E 00 01 */ addi r3, r30, 1 /* 8031EF70 0031ABD0 7F E4 07 74 */ extsb r4, r31 /* 8031EF74 0031ABD4 4B EA F6 35 */ bl strchr /* 8031EF78 0031ABD8 2C 03 00 00 */ cmpwi r3, 0 /* 8031EF7C 0031ABDC 40 82 00 0C */ bne lbl_8031EF88 /* 8031EF80 0031ABE0 38 60 FF FF */ li r3, -1 /* 8031EF84 0031ABE4 48 00 00 88 */ b lbl_8031F00C lbl_8031EF88: /* 8031EF88 0031ABE8 7F E4 07 74 */ extsb r4, r31 /* 8031EF8C 0031ABEC 38 63 00 01 */ addi r3, r3, 1 /* 8031EF90 0031ABF0 4B EA F6 19 */ bl strchr /* 8031EF94 0031ABF4 2C 03 00 00 */ cmpwi r3, 0 /* 8031EF98 0031ABF8 7C 7E 1B 78 */ mr r30, r3 /* 8031EF9C 0031ABFC 40 82 FF 90 */ bne lbl_8031EF2C /* 8031EFA0 0031AC00 38 60 FF FF */ li r3, -1 /* 8031EFA4 0031AC04 48 00 00 68 */ b lbl_8031F00C lbl_8031EFA8: /* 8031EFA8 0031AC08 38 7E 00 01 */ addi r3, r30, 1 /* 8031EFAC 0031AC0C 4B EA F5 FD */ bl strchr /* 8031EFB0 0031AC10 2C 03 00 00 */ cmpwi r3, 0 /* 8031EFB4 0031AC14 7C 7E 1B 78 */ mr r30, r3 /* 8031EFB8 0031AC18 40 82 00 0C */ bne lbl_8031EFC4 /* 8031EFBC 0031AC1C 38 60 FF FF */ li r3, -1 /* 8031EFC0 0031AC20 48 00 00 4C */ b lbl_8031F00C lbl_8031EFC4: /* 8031EFC4 0031AC24 7F E4 07 74 */ extsb r4, r31 /* 8031EFC8 0031AC28 38 63 00 01 */ addi r3, r3, 1 /* 8031EFCC 0031AC2C 4B EA F5 DD */ bl strchr /* 8031EFD0 0031AC30 2C 03 00 00 */ cmpwi r3, 0 /* 8031EFD4 0031AC34 41 82 00 10 */ beq lbl_8031EFE4 /* 8031EFD8 0031AC38 38 1E 00 01 */ addi r0, r30, 1 /* 8031EFDC 0031AC3C 7F E0 18 50 */ subf r31, r0, r3 /* 8031EFE0 0031AC40 48 00 00 10 */ b lbl_8031EFF0 lbl_8031EFE4: /* 8031EFE4 0031AC44 38 7E 00 01 */ addi r3, r30, 1 /* 8031EFE8 0031AC48 4B EA 7B 7D */ bl strlen /* 8031EFEC 0031AC4C 7C 7F 1B 78 */ mr r31, r3 lbl_8031EFF0: /* 8031EFF0 0031AC50 7F A3 EB 78 */ mr r3, r29 /* 8031EFF4 0031AC54 7F E5 FB 78 */ mr r5, r31 /* 8031EFF8 0031AC58 38 9E 00 01 */ addi r4, r30, 1 /* 8031EFFC 0031AC5C 4B EA F3 95 */ bl strncpy /* 8031F000 0031AC60 38 00 00 00 */ li r0, 0 /* 8031F004 0031AC64 7F E3 FB 78 */ mr r3, r31 /* 8031F008 0031AC68 7C 1D F9 AE */ stbx r0, r29, r31 lbl_8031F00C: /* 8031F00C 0031AC6C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031F010 0031AC70 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031F014 0031AC74 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031F018 0031AC78 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031F01C 0031AC7C 83 81 00 10 */ lwz r28, 0x10(r1) /* 8031F020 0031AC80 7C 08 03 A6 */ mtlr r0 /* 8031F024 0031AC84 38 21 00 20 */ addi r1, r1, 0x20 /* 8031F028 0031AC88 4E 80 00 20 */ blr .global DWCi_GetMathRand32 DWCi_GetMathRand32: /* 8031F02C 0031AC8C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8031F030 0031AC90 7C 08 02 A6 */ mflr r0 /* 8031F034 0031AC94 90 01 00 24 */ stw r0, 0x24(r1) /* 8031F038 0031AC98 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8031F03C 0031AC9C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8031F040 0031ACA0 3F C0 80 61 */ lis r30, lbl_8060FBF0@ha /* 8031F044 0031ACA4 3B FE FB F0 */ addi r31, r30, lbl_8060FBF0@l /* 8031F048 0031ACA8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8031F04C 0031ACAC 7C 7D 1B 78 */ mr r29, r3 /* 8031F050 0031ACB0 80 1E FB F0 */ lwz r0, -0x410(r30) /* 8031F054 0031ACB4 80 7F 00 04 */ lwz r3, 4(r31) /* 8031F058 0031ACB8 7C 60 03 79 */ or. r0, r3, r0 /* 8031F05C 0031ACBC 40 82 00 98 */ bne lbl_8031F0F4 /* 8031F060 0031ACC0 80 1F 00 08 */ lwz r0, 8(r31) /* 8031F064 0031ACC4 80 7F 00 0C */ lwz r3, 0xc(r31) /* 8031F068 0031ACC8 7C 60 03 79 */ or. r0, r3, r0 /* 8031F06C 0031ACCC 40 82 00 88 */ bne lbl_8031F0F4 /* 8031F070 0031ACD0 80 1F 00 10 */ lwz r0, 0x10(r31) /* 8031F074 0031ACD4 80 7F 00 14 */ lwz r3, 0x14(r31) /* 8031F078 0031ACD8 7C 60 03 79 */ or. r0, r3, r0 /* 8031F07C 0031ACDC 40 82 00 78 */ bne lbl_8031F0F4 /* 8031F080 0031ACE0 38 61 00 08 */ addi r3, r1, 8 /* 8031F084 0031ACE4 4B FD 61 15 */ bl NETGetWirelessMacAddress /* 8031F088 0031ACE8 4B F5 37 31 */ bl OSGetTime /* 8031F08C 0031ACEC 80 C1 00 0C */ lwz r6, 0xc(r1) /* 8031F090 0031ACF0 3C A0 01 00 */ lis r5, 0x00FFFFFF@ha /* 8031F094 0031ACF4 80 01 00 08 */ lwz r0, 8(r1) /* 8031F098 0031ACF8 39 25 FF FF */ addi r9, r5, 0x00FFFFFF@l /* 8031F09C 0031ACFC 54 CA 40 3E */ rotlwi r10, r6, 8 /* 8031F0A0 0031AD00 3C A0 00 27 */ lis r5, 0x00269EC3@ha /* 8031F0A4 0031AD04 50 0A 40 2E */ rlwimi r10, r0, 8, 0, 0x17 /* 8031F0A8 0031AD08 3C E0 6C 08 */ lis r7, 0x6C078965@ha /* 8031F0AC 0031AD0C 38 05 9E C3 */ addi r0, r5, 0x00269EC3@l /* 8031F0B0 0031AD10 54 68 C0 0E */ slwi r8, r3, 0x18 /* 8031F0B4 0031AD14 50 88 C2 3E */ rlwimi r8, r4, 0x18, 8, 0x1f /* 8031F0B8 0031AD18 3C C0 5D 59 */ lis r6, 0x5D588B65@ha /* 8031F0BC 0031AD1C 38 66 8B 65 */ addi r3, r6, 0x5D588B65@l /* 8031F0C0 0031AD20 38 E7 89 65 */ addi r7, r7, 0x6C078965@l /* 8031F0C4 0031AD24 38 C0 00 00 */ li r6, 0 /* 8031F0C8 0031AD28 7D 45 48 38 */ and r5, r10, r9 /* 8031F0CC 0031AD2C 54 84 C0 0E */ slwi r4, r4, 0x18 /* 8031F0D0 0031AD30 91 01 00 08 */ stw r8, 8(r1) /* 8031F0D4 0031AD34 7C A4 23 78 */ or r4, r5, r4 /* 8031F0D8 0031AD38 90 81 00 0C */ stw r4, 0xc(r1) /* 8031F0DC 0031AD3C 90 9F 00 04 */ stw r4, 4(r31) /* 8031F0E0 0031AD40 91 1E FB F0 */ stw r8, -0x410(r30) /* 8031F0E4 0031AD44 90 FF 00 0C */ stw r7, 0xc(r31) /* 8031F0E8 0031AD48 90 7F 00 08 */ stw r3, 8(r31) /* 8031F0EC 0031AD4C 90 1F 00 14 */ stw r0, 0x14(r31) /* 8031F0F0 0031AD50 90 DF 00 10 */ stw r6, 0x10(r31) lbl_8031F0F4: /* 8031F0F4 0031AD54 3D 40 80 61 */ lis r10, lbl_8060FBF0@ha /* 8031F0F8 0031AD58 2C 1D 00 00 */ cmpwi r29, 0 /* 8031F0FC 0031AD5C 39 2A FB F0 */ addi r9, r10, lbl_8060FBF0@l /* 8031F100 0031AD60 80 0A FB F0 */ lwz r0, -0x410(r10) /* 8031F104 0031AD64 80 89 00 0C */ lwz r4, 0xc(r9) /* 8031F108 0031AD68 80 A9 00 04 */ lwz r5, 4(r9) /* 8031F10C 0031AD6C 7C 64 01 D6 */ mullw r3, r4, r0 /* 8031F110 0031AD70 81 09 00 14 */ lwz r8, 0x14(r9) /* 8031F114 0031AD74 80 C9 00 08 */ lwz r6, 8(r9) /* 8031F118 0031AD78 80 E9 00 10 */ lwz r7, 0x10(r9) /* 8031F11C 0031AD7C 7C 04 29 D6 */ mullw r0, r4, r5 /* 8031F120 0031AD80 7C 08 00 14 */ addc r0, r8, r0 /* 8031F124 0031AD84 90 09 00 04 */ stw r0, 4(r9) /* 8031F128 0031AD88 7C 84 28 16 */ mulhwu r4, r4, r5 /* 8031F12C 0031AD8C 7C 06 29 D6 */ mullw r0, r6, r5 /* 8031F130 0031AD90 7C 04 02 14 */ add r0, r4, r0 /* 8031F134 0031AD94 7C 00 1A 14 */ add r0, r0, r3 /* 8031F138 0031AD98 7C 67 01 14 */ adde r3, r7, r0 /* 8031F13C 0031AD9C 90 6A FB F0 */ stw r3, -0x410(r10) /* 8031F140 0031ADA0 40 82 00 08 */ bne lbl_8031F148 /* 8031F144 0031ADA4 48 00 00 14 */ b lbl_8031F158 lbl_8031F148: /* 8031F148 0031ADA8 38 80 00 00 */ li r4, 0 /* 8031F14C 0031ADAC 7C 03 E8 16 */ mulhwu r0, r3, r29 /* 8031F150 0031ADB0 7C 64 E9 D6 */ mullw r3, r4, r29 /* 8031F154 0031ADB4 7C 60 1A 14 */ add r3, r0, r3 lbl_8031F158: /* 8031F158 0031ADB8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8031F15C 0031ADBC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8031F160 0031ADC0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8031F164 0031ADC4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8031F168 0031ADC8 7C 08 03 A6 */ mtlr r0 /* 8031F16C 0031ADCC 38 21 00 20 */ addi r1, r1, 0x20 /* 8031F170 0031ADD0 4E 80 00 20 */ blr .global DWCi_WStrLen DWCi_WStrLen: /* 8031F174 0031ADD4 38 80 00 00 */ li r4, 0 /* 8031F178 0031ADD8 48 00 00 0C */ b lbl_8031F184 lbl_8031F17C: /* 8031F17C 0031ADDC 38 63 00 02 */ addi r3, r3, 2 /* 8031F180 0031ADE0 38 84 00 01 */ addi r4, r4, 1 lbl_8031F184: /* 8031F184 0031ADE4 A0 03 00 00 */ lhz r0, 0(r3) /* 8031F188 0031ADE8 2C 00 00 00 */ cmpwi r0, 0 /* 8031F18C 0031ADEC 40 82 FF F0 */ bne lbl_8031F17C /* 8031F190 0031ADF0 7C 83 23 78 */ mr r3, r4 /* 8031F194 0031ADF4 4E 80 00 20 */ blr