.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global SSLNew SSLNew: /* 802FFF1C 002FBB7C 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 802FFF20 002FBB80 7C 2C 0B 78 */ mr r12, r1 /* 802FFF24 002FBB84 21 6B FE 60 */ subfic r11, r11, -416 /* 802FFF28 002FBB88 7C 21 59 6E */ stwux r1, r1, r11 /* 802FFF2C 002FBB8C 7C 08 02 A6 */ mflr r0 /* 802FFF30 002FBB90 3C A0 80 44 */ lis r5, lbl_80446240@ha /* 802FFF34 002FBB94 90 0C 00 04 */ stw r0, 4(r12) /* 802FFF38 002FBB98 93 EC FF FC */ stw r31, -4(r12) /* 802FFF3C 002FBB9C 93 CC FF F8 */ stw r30, -8(r12) /* 802FFF40 002FBBA0 93 AC FF F4 */ stw r29, -0xc(r12) /* 802FFF44 002FBBA4 7C 9D 23 78 */ mr r29, r4 /* 802FFF48 002FBBA8 38 80 00 00 */ li r4, 0 /* 802FFF4C 002FBBAC 93 8C FF F0 */ stw r28, -0x10(r12) /* 802FFF50 002FBBB0 7C 7C 1B 78 */ mr r28, r3 /* 802FFF54 002FBBB4 38 65 62 40 */ addi r3, r5, lbl_80446240@l /* 802FFF58 002FBBB8 4B FA 32 01 */ bl IOS_Open /* 802FFF5C 002FBBBC 2C 03 00 00 */ cmpwi r3, 0 /* 802FFF60 002FBBC0 7C 7F 1B 78 */ mr r31, r3 /* 802FFF64 002FBBC4 40 80 00 0C */ bge lbl_802FFF70 /* 802FFF68 002FBBC8 38 60 FF FF */ li r3, -1 /* 802FFF6C 002FBBCC 48 00 00 C8 */ b lbl_80300034 lbl_802FFF70: /* 802FFF70 002FBBD0 7F A3 EB 78 */ mr r3, r29 /* 802FFF74 002FBBD4 38 80 00 00 */ li r4, 0 /* 802FFF78 002FBBD8 48 00 00 0C */ b lbl_802FFF84 lbl_802FFF7C: /* 802FFF7C 002FBBDC 38 84 00 01 */ addi r4, r4, 1 /* 802FFF80 002FBBE0 38 63 00 01 */ addi r3, r3, 1 lbl_802FFF84: /* 802FFF84 002FBBE4 28 04 01 00 */ cmplwi r4, 0x100 /* 802FFF88 002FBBE8 40 80 00 10 */ bge lbl_802FFF98 /* 802FFF8C 002FBBEC 88 03 00 00 */ lbz r0, 0(r3) /* 802FFF90 002FBBF0 7C 00 07 75 */ extsb. r0, r0 /* 802FFF94 002FBBF4 40 82 FF E8 */ bne lbl_802FFF7C lbl_802FFF98: /* 802FFF98 002FBBF8 7F DD 18 51 */ subf. r30, r29, r3 /* 802FFF9C 002FBBFC 40 82 00 0C */ bne lbl_802FFFA8 /* 802FFFA0 002FBC00 38 60 FF FF */ li r3, -1 /* 802FFFA4 002FBC04 48 00 00 90 */ b lbl_80300034 lbl_802FFFA8: /* 802FFFA8 002FBC08 38 61 00 80 */ addi r3, r1, 0x80 /* 802FFFAC 002FBC0C 38 80 00 00 */ li r4, 0 /* 802FFFB0 002FBC10 38 A0 01 00 */ li r5, 0x100 /* 802FFFB4 002FBC14 4B D0 41 51 */ bl memset /* 802FFFB8 002FBC18 28 1E 01 00 */ cmplwi r30, 0x100 /* 802FFFBC 002FBC1C 40 81 00 08 */ ble lbl_802FFFC4 /* 802FFFC0 002FBC20 3B C0 01 00 */ li r30, 0x100 lbl_802FFFC4: /* 802FFFC4 002FBC24 7F A4 EB 78 */ mr r4, r29 /* 802FFFC8 002FBC28 7F C5 F3 78 */ mr r5, r30 /* 802FFFCC 002FBC2C 38 61 00 80 */ addi r3, r1, 0x80 /* 802FFFD0 002FBC30 4B D0 40 31 */ bl memcpy /* 802FFFD4 002FBC34 39 40 00 20 */ li r10, 0x20 /* 802FFFD8 002FBC38 39 61 00 40 */ addi r11, r1, 0x40 /* 802FFFDC 002FBC3C 39 21 00 20 */ addi r9, r1, 0x20 /* 802FFFE0 002FBC40 39 01 00 80 */ addi r8, r1, 0x80 /* 802FFFE4 002FBC44 38 60 FF FF */ li r3, -1 /* 802FFFE8 002FBC48 38 00 01 00 */ li r0, 0x100 /* 802FFFEC 002FBC4C 90 61 00 40 */ stw r3, 0x40(r1) /* 802FFFF0 002FBC50 7F E3 FB 78 */ mr r3, r31 /* 802FFFF4 002FBC54 38 E1 00 60 */ addi r7, r1, 0x60 /* 802FFFF8 002FBC58 38 80 00 01 */ li r4, 1 /* 802FFFFC 002FBC5C 93 81 00 20 */ stw r28, 0x20(r1) /* 80300000 002FBC60 38 A0 00 01 */ li r5, 1 /* 80300004 002FBC64 38 C0 00 02 */ li r6, 2 /* 80300008 002FBC68 91 61 00 60 */ stw r11, 0x60(r1) /* 8030000C 002FBC6C 91 41 00 64 */ stw r10, 0x64(r1) /* 80300010 002FBC70 91 21 00 68 */ stw r9, 0x68(r1) /* 80300014 002FBC74 91 41 00 6C */ stw r10, 0x6c(r1) /* 80300018 002FBC78 91 01 00 70 */ stw r8, 0x70(r1) /* 8030001C 002FBC7C 90 01 00 74 */ stw r0, 0x74(r1) /* 80300020 002FBC80 4B FA 3E 21 */ bl IOS_Ioctlv /* 80300024 002FBC84 7F E3 FB 78 */ mr r3, r31 /* 80300028 002FBC88 4B FA 33 11 */ bl IOS_Close /* 8030002C 002FBC8C 80 61 00 60 */ lwz r3, 0x60(r1) /* 80300030 002FBC90 80 63 00 00 */ lwz r3, 0(r3) lbl_80300034: /* 80300034 002FBC94 81 41 00 00 */ lwz r10, 0(r1) /* 80300038 002FBC98 80 0A 00 04 */ lwz r0, 4(r10) /* 8030003C 002FBC9C 83 EA FF FC */ lwz r31, -4(r10) /* 80300040 002FBCA0 83 CA FF F8 */ lwz r30, -8(r10) /* 80300044 002FBCA4 83 AA FF F4 */ lwz r29, -0xc(r10) /* 80300048 002FBCA8 83 8A FF F0 */ lwz r28, -0x10(r10) /* 8030004C 002FBCAC 7C 08 03 A6 */ mtlr r0 /* 80300050 002FBCB0 7D 41 53 78 */ mr r1, r10 /* 80300054 002FBCB4 4E 80 00 20 */ blr .global SSLConnect SSLConnect: /* 80300058 002FBCB8 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 8030005C 002FBCBC 7C 2C 0B 78 */ mr r12, r1 /* 80300060 002FBCC0 21 6B FF 40 */ subfic r11, r11, -192 /* 80300064 002FBCC4 7C 21 59 6E */ stwux r1, r1, r11 /* 80300068 002FBCC8 7C 08 02 A6 */ mflr r0 /* 8030006C 002FBCCC 3C A0 80 44 */ lis r5, lbl_80446240@ha /* 80300070 002FBCD0 90 0C 00 04 */ stw r0, 4(r12) /* 80300074 002FBCD4 93 EC FF FC */ stw r31, -4(r12) /* 80300078 002FBCD8 93 CC FF F8 */ stw r30, -8(r12) /* 8030007C 002FBCDC 7C 9E 23 78 */ mr r30, r4 /* 80300080 002FBCE0 38 80 00 00 */ li r4, 0 /* 80300084 002FBCE4 93 AC FF F4 */ stw r29, -0xc(r12) /* 80300088 002FBCE8 7C 7D 1B 78 */ mr r29, r3 /* 8030008C 002FBCEC 38 65 62 40 */ addi r3, r5, lbl_80446240@l /* 80300090 002FBCF0 4B FA 30 C9 */ bl IOS_Open /* 80300094 002FBCF4 2C 03 00 00 */ cmpwi r3, 0 /* 80300098 002FBCF8 7C 7F 1B 78 */ mr r31, r3 /* 8030009C 002FBCFC 40 80 00 0C */ bge lbl_803000A8 /* 803000A0 002FBD00 38 60 FF FF */ li r3, -1 /* 803000A4 002FBD04 48 00 00 5C */ b lbl_80300100 lbl_803000A8: /* 803000A8 002FBD08 39 20 00 20 */ li r9, 0x20 /* 803000AC 002FBD0C 39 41 00 20 */ addi r10, r1, 0x20 /* 803000B0 002FBD10 39 01 00 60 */ addi r8, r1, 0x60 /* 803000B4 002FBD14 38 01 00 40 */ addi r0, r1, 0x40 /* 803000B8 002FBD18 39 60 FF FF */ li r11, -1 /* 803000BC 002FBD1C 93 A1 00 60 */ stw r29, 0x60(r1) /* 803000C0 002FBD20 38 E1 00 80 */ addi r7, r1, 0x80 /* 803000C4 002FBD24 38 80 00 02 */ li r4, 2 /* 803000C8 002FBD28 93 C1 00 40 */ stw r30, 0x40(r1) /* 803000CC 002FBD2C 38 A0 00 01 */ li r5, 1 /* 803000D0 002FBD30 38 C0 00 02 */ li r6, 2 /* 803000D4 002FBD34 91 61 00 20 */ stw r11, 0x20(r1) /* 803000D8 002FBD38 91 41 00 80 */ stw r10, 0x80(r1) /* 803000DC 002FBD3C 91 21 00 84 */ stw r9, 0x84(r1) /* 803000E0 002FBD40 91 01 00 88 */ stw r8, 0x88(r1) /* 803000E4 002FBD44 91 21 00 8C */ stw r9, 0x8c(r1) /* 803000E8 002FBD48 90 01 00 90 */ stw r0, 0x90(r1) /* 803000EC 002FBD4C 91 21 00 94 */ stw r9, 0x94(r1) /* 803000F0 002FBD50 4B FA 3D 51 */ bl IOS_Ioctlv /* 803000F4 002FBD54 7F E3 FB 78 */ mr r3, r31 /* 803000F8 002FBD58 4B FA 32 41 */ bl IOS_Close /* 803000FC 002FBD5C 80 61 00 20 */ lwz r3, 0x20(r1) lbl_80300100: /* 80300100 002FBD60 81 41 00 00 */ lwz r10, 0(r1) /* 80300104 002FBD64 80 0A 00 04 */ lwz r0, 4(r10) /* 80300108 002FBD68 83 EA FF FC */ lwz r31, -4(r10) /* 8030010C 002FBD6C 83 CA FF F8 */ lwz r30, -8(r10) /* 80300110 002FBD70 83 AA FF F4 */ lwz r29, -0xc(r10) /* 80300114 002FBD74 7C 08 03 A6 */ mtlr r0 /* 80300118 002FBD78 7D 41 53 78 */ mr r1, r10 /* 8030011C 002FBD7C 4E 80 00 20 */ blr .global SSLDoHandshake SSLDoHandshake: /* 80300120 002FBD80 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 80300124 002FBD84 7C 2C 0B 78 */ mr r12, r1 /* 80300128 002FBD88 21 6B FF 60 */ subfic r11, r11, -160 /* 8030012C 002FBD8C 7C 21 59 6E */ stwux r1, r1, r11 /* 80300130 002FBD90 7C 08 02 A6 */ mflr r0 /* 80300134 002FBD94 3C 80 80 44 */ lis r4, lbl_80446240@ha /* 80300138 002FBD98 90 0C 00 04 */ stw r0, 4(r12) /* 8030013C 002FBD9C 93 EC FF FC */ stw r31, -4(r12) /* 80300140 002FBDA0 93 CC FF F8 */ stw r30, -8(r12) /* 80300144 002FBDA4 7C 7E 1B 78 */ mr r30, r3 /* 80300148 002FBDA8 38 64 62 40 */ addi r3, r4, lbl_80446240@l /* 8030014C 002FBDAC 38 80 00 00 */ li r4, 0 /* 80300150 002FBDB0 4B FA 30 09 */ bl IOS_Open /* 80300154 002FBDB4 2C 03 00 00 */ cmpwi r3, 0 /* 80300158 002FBDB8 7C 7F 1B 78 */ mr r31, r3 /* 8030015C 002FBDBC 40 80 00 0C */ bge lbl_80300168 /* 80300160 002FBDC0 38 60 FF FF */ li r3, -1 /* 80300164 002FBDC4 48 00 00 4C */ b lbl_803001B0 lbl_80300168: /* 80300168 002FBDC8 39 00 00 20 */ li r8, 0x20 /* 8030016C 002FBDCC 39 21 00 20 */ addi r9, r1, 0x20 /* 80300170 002FBDD0 38 01 00 40 */ addi r0, r1, 0x40 /* 80300174 002FBDD4 38 C0 FF FF */ li r6, -1 /* 80300178 002FBDD8 90 C1 00 20 */ stw r6, 0x20(r1) /* 8030017C 002FBDDC 38 E1 00 60 */ addi r7, r1, 0x60 /* 80300180 002FBDE0 38 80 00 03 */ li r4, 3 /* 80300184 002FBDE4 38 A0 00 01 */ li r5, 1 /* 80300188 002FBDE8 93 C1 00 40 */ stw r30, 0x40(r1) /* 8030018C 002FBDEC 38 C0 00 01 */ li r6, 1 /* 80300190 002FBDF0 91 21 00 60 */ stw r9, 0x60(r1) /* 80300194 002FBDF4 91 01 00 64 */ stw r8, 0x64(r1) /* 80300198 002FBDF8 90 01 00 68 */ stw r0, 0x68(r1) /* 8030019C 002FBDFC 91 01 00 6C */ stw r8, 0x6c(r1) /* 803001A0 002FBE00 4B FA 3C A1 */ bl IOS_Ioctlv /* 803001A4 002FBE04 7F E3 FB 78 */ mr r3, r31 /* 803001A8 002FBE08 4B FA 31 91 */ bl IOS_Close /* 803001AC 002FBE0C 80 61 00 20 */ lwz r3, 0x20(r1) lbl_803001B0: /* 803001B0 002FBE10 81 41 00 00 */ lwz r10, 0(r1) /* 803001B4 002FBE14 80 0A 00 04 */ lwz r0, 4(r10) /* 803001B8 002FBE18 83 EA FF FC */ lwz r31, -4(r10) /* 803001BC 002FBE1C 83 CA FF F8 */ lwz r30, -8(r10) /* 803001C0 002FBE20 7C 08 03 A6 */ mtlr r0 /* 803001C4 002FBE24 7D 41 53 78 */ mr r1, r10 /* 803001C8 002FBE28 4E 80 00 20 */ blr .global SSLRead SSLRead: /* 803001CC 002FBE2C 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 803001D0 002FBE30 7C 2C 0B 78 */ mr r12, r1 /* 803001D4 002FBE34 21 6B FE 80 */ subfic r11, r11, -384 /* 803001D8 002FBE38 7C 21 59 6E */ stwux r1, r1, r11 /* 803001DC 002FBE3C 7C 08 02 A6 */ mflr r0 /* 803001E0 002FBE40 7D 8B 63 78 */ mr r11, r12 /* 803001E4 002FBE44 90 0C 00 04 */ stw r0, 4(r12) /* 803001E8 002FBE48 4B EC 6F 35 */ bl _savegpr_24 /* 803001EC 002FBE4C 3C C0 80 44 */ lis r6, lbl_80446240@ha /* 803001F0 002FBE50 7C 7C 1B 78 */ mr r28, r3 /* 803001F4 002FBE54 7C 9D 23 78 */ mr r29, r4 /* 803001F8 002FBE58 7C BE 2B 78 */ mr r30, r5 /* 803001FC 002FBE5C 38 66 62 40 */ addi r3, r6, lbl_80446240@l /* 80300200 002FBE60 38 80 00 00 */ li r4, 0 /* 80300204 002FBE64 4B FA 2F 55 */ bl IOS_Open /* 80300208 002FBE68 2C 03 00 00 */ cmpwi r3, 0 /* 8030020C 002FBE6C 7C 7F 1B 78 */ mr r31, r3 /* 80300210 002FBE70 3B 40 FF FF */ li r26, -1 /* 80300214 002FBE74 40 80 00 0C */ bge lbl_80300220 /* 80300218 002FBE78 38 60 FF FF */ li r3, -1 /* 8030021C 002FBE7C 48 00 02 54 */ b lbl_80300470 lbl_80300220: /* 80300220 002FBE80 57 A0 06 FF */ clrlwi. r0, r29, 0x1b /* 80300224 002FBE84 41 82 00 0C */ beq lbl_80300230 /* 80300228 002FBE88 23 20 00 20 */ subfic r25, r0, 0x20 /* 8030022C 002FBE8C 48 00 00 08 */ b lbl_80300234 lbl_80300230: /* 80300230 002FBE90 3B 20 00 00 */ li r25, 0 lbl_80300234: /* 80300234 002FBE94 38 61 01 40 */ addi r3, r1, 0x140 /* 80300238 002FBE98 3B 00 00 00 */ li r24, 0 /* 8030023C 002FBE9C 38 80 00 00 */ li r4, 0 /* 80300240 002FBEA0 38 A0 00 20 */ li r5, 0x20 /* 80300244 002FBEA4 4B D0 3E C1 */ bl memset /* 80300248 002FBEA8 2C 19 00 00 */ cmpwi r25, 0 /* 8030024C 002FBEAC 41 82 00 B0 */ beq lbl_803002FC /* 80300250 002FBEB0 7C 19 F0 40 */ cmplw r25, r30 /* 80300254 002FBEB4 40 81 00 08 */ ble lbl_8030025C /* 80300258 002FBEB8 7F D9 F3 78 */ mr r25, r30 lbl_8030025C: /* 8030025C 002FBEBC 39 00 00 20 */ li r8, 0x20 /* 80300260 002FBEC0 39 21 01 20 */ addi r9, r1, 0x120 /* 80300264 002FBEC4 3B 61 01 40 */ addi r27, r1, 0x140 /* 80300268 002FBEC8 38 01 01 00 */ addi r0, r1, 0x100 /* 8030026C 002FBECC 38 80 FF FF */ li r4, -1 /* 80300270 002FBED0 93 81 01 00 */ stw r28, 0x100(r1) /* 80300274 002FBED4 7F E3 FB 78 */ mr r3, r31 /* 80300278 002FBED8 38 E1 00 E0 */ addi r7, r1, 0xe0 /* 8030027C 002FBEDC 90 81 01 20 */ stw r4, 0x120(r1) /* 80300280 002FBEE0 38 80 00 04 */ li r4, 4 /* 80300284 002FBEE4 38 A0 00 02 */ li r5, 2 /* 80300288 002FBEE8 38 C0 00 01 */ li r6, 1 /* 8030028C 002FBEEC 91 21 00 E0 */ stw r9, 0xe0(r1) /* 80300290 002FBEF0 91 01 00 E4 */ stw r8, 0xe4(r1) /* 80300294 002FBEF4 93 61 00 E8 */ stw r27, 0xe8(r1) /* 80300298 002FBEF8 93 21 00 EC */ stw r25, 0xec(r1) /* 8030029C 002FBEFC 90 01 00 F0 */ stw r0, 0xf0(r1) /* 803002A0 002FBF00 91 01 00 F4 */ stw r8, 0xf4(r1) /* 803002A4 002FBF04 4B FA 3B 9D */ bl IOS_Ioctlv /* 803002A8 002FBF08 83 41 01 20 */ lwz r26, 0x120(r1) /* 803002AC 002FBF0C 2C 1A 00 00 */ cmpwi r26, 0 /* 803002B0 002FBF10 40 81 00 3C */ ble lbl_803002EC /* 803002B4 002FBF14 7F 58 D3 78 */ mr r24, r26 /* 803002B8 002FBF18 7F A3 EB 78 */ mr r3, r29 /* 803002BC 002FBF1C 7F 64 DB 78 */ mr r4, r27 /* 803002C0 002FBF20 7F 45 D3 78 */ mr r5, r26 /* 803002C4 002FBF24 4B D0 3D 3D */ bl memcpy /* 803002C8 002FBF28 7C 1A C8 40 */ cmplw r26, r25 /* 803002CC 002FBF2C 40 80 00 14 */ bge lbl_803002E0 /* 803002D0 002FBF30 7F E3 FB 78 */ mr r3, r31 /* 803002D4 002FBF34 4B FA 30 65 */ bl IOS_Close /* 803002D8 002FBF38 7F 03 C3 78 */ mr r3, r24 /* 803002DC 002FBF3C 48 00 01 94 */ b lbl_80300470 lbl_803002E0: /* 803002E0 002FBF40 7F BD D2 14 */ add r29, r29, r26 /* 803002E4 002FBF44 7F DA F0 50 */ subf r30, r26, r30 /* 803002E8 002FBF48 48 00 00 14 */ b lbl_803002FC lbl_803002EC: /* 803002EC 002FBF4C 7F E3 FB 78 */ mr r3, r31 /* 803002F0 002FBF50 4B FA 30 49 */ bl IOS_Close /* 803002F4 002FBF54 7F 43 D3 78 */ mr r3, r26 /* 803002F8 002FBF58 48 00 01 78 */ b lbl_80300470 lbl_803002FC: /* 803002FC 002FBF5C 2C 1E 00 00 */ cmpwi r30, 0 /* 80300300 002FBF60 41 82 00 A8 */ beq lbl_803003A8 /* 80300304 002FBF64 57 D9 00 35 */ rlwinm. r25, r30, 0, 0, 0x1a /* 80300308 002FBF68 41 82 00 A0 */ beq lbl_803003A8 /* 8030030C 002FBF6C 39 00 00 20 */ li r8, 0x20 /* 80300310 002FBF70 39 21 00 C0 */ addi r9, r1, 0xc0 /* 80300314 002FBF74 38 01 00 A0 */ addi r0, r1, 0xa0 /* 80300318 002FBF78 38 A0 FF FF */ li r5, -1 /* 8030031C 002FBF7C 90 A1 00 C0 */ stw r5, 0xc0(r1) /* 80300320 002FBF80 7F E3 FB 78 */ mr r3, r31 /* 80300324 002FBF84 38 E1 00 80 */ addi r7, r1, 0x80 /* 80300328 002FBF88 38 80 00 04 */ li r4, 4 /* 8030032C 002FBF8C 93 81 00 A0 */ stw r28, 0xa0(r1) /* 80300330 002FBF90 38 A0 00 02 */ li r5, 2 /* 80300334 002FBF94 38 C0 00 01 */ li r6, 1 /* 80300338 002FBF98 91 21 00 80 */ stw r9, 0x80(r1) /* 8030033C 002FBF9C 91 01 00 84 */ stw r8, 0x84(r1) /* 80300340 002FBFA0 93 A1 00 88 */ stw r29, 0x88(r1) /* 80300344 002FBFA4 93 21 00 8C */ stw r25, 0x8c(r1) /* 80300348 002FBFA8 90 01 00 90 */ stw r0, 0x90(r1) /* 8030034C 002FBFAC 91 01 00 94 */ stw r8, 0x94(r1) /* 80300350 002FBFB0 4B FA 3A F1 */ bl IOS_Ioctlv /* 80300354 002FBFB4 83 41 00 C0 */ lwz r26, 0xc0(r1) /* 80300358 002FBFB8 2C 1A 00 00 */ cmpwi r26, 0 /* 8030035C 002FBFBC 40 81 00 2C */ ble lbl_80300388 /* 80300360 002FBFC0 7C 1A C8 40 */ cmplw r26, r25 /* 80300364 002FBFC4 7F 18 D2 14 */ add r24, r24, r26 /* 80300368 002FBFC8 40 80 00 14 */ bge lbl_8030037C /* 8030036C 002FBFCC 7F E3 FB 78 */ mr r3, r31 /* 80300370 002FBFD0 4B FA 2F C9 */ bl IOS_Close /* 80300374 002FBFD4 7F 03 C3 78 */ mr r3, r24 /* 80300378 002FBFD8 48 00 00 F8 */ b lbl_80300470 lbl_8030037C: /* 8030037C 002FBFDC 7F BD D2 14 */ add r29, r29, r26 /* 80300380 002FBFE0 7F DA F0 50 */ subf r30, r26, r30 /* 80300384 002FBFE4 48 00 00 24 */ b lbl_803003A8 lbl_80300388: /* 80300388 002FBFE8 7F E3 FB 78 */ mr r3, r31 /* 8030038C 002FBFEC 4B FA 2F AD */ bl IOS_Close /* 80300390 002FBFF0 2C 18 00 00 */ cmpwi r24, 0 /* 80300394 002FBFF4 40 81 00 0C */ ble lbl_803003A0 /* 80300398 002FBFF8 7F 03 C3 78 */ mr r3, r24 /* 8030039C 002FBFFC 48 00 00 D4 */ b lbl_80300470 lbl_803003A0: /* 803003A0 002FC000 7F 43 D3 78 */ mr r3, r26 /* 803003A4 002FC004 48 00 00 CC */ b lbl_80300470 lbl_803003A8: /* 803003A8 002FC008 2C 1E 00 00 */ cmpwi r30, 0 /* 803003AC 002FC00C 41 82 00 AC */ beq lbl_80300458 /* 803003B0 002FC010 57 D9 06 FF */ clrlwi. r25, r30, 0x1b /* 803003B4 002FC014 41 82 00 A4 */ beq lbl_80300458 /* 803003B8 002FC018 38 61 01 40 */ addi r3, r1, 0x140 /* 803003BC 002FC01C 38 80 00 00 */ li r4, 0 /* 803003C0 002FC020 38 A0 00 20 */ li r5, 0x20 /* 803003C4 002FC024 4B D0 3D 41 */ bl memset /* 803003C8 002FC028 39 00 00 20 */ li r8, 0x20 /* 803003CC 002FC02C 39 21 00 60 */ addi r9, r1, 0x60 /* 803003D0 002FC030 3B C1 01 40 */ addi r30, r1, 0x140 /* 803003D4 002FC034 38 01 00 40 */ addi r0, r1, 0x40 /* 803003D8 002FC038 38 80 FF FF */ li r4, -1 /* 803003DC 002FC03C 93 81 00 40 */ stw r28, 0x40(r1) /* 803003E0 002FC040 7F E3 FB 78 */ mr r3, r31 /* 803003E4 002FC044 38 E1 00 20 */ addi r7, r1, 0x20 /* 803003E8 002FC048 90 81 00 60 */ stw r4, 0x60(r1) /* 803003EC 002FC04C 38 80 00 04 */ li r4, 4 /* 803003F0 002FC050 38 A0 00 02 */ li r5, 2 /* 803003F4 002FC054 38 C0 00 01 */ li r6, 1 /* 803003F8 002FC058 91 21 00 20 */ stw r9, 0x20(r1) /* 803003FC 002FC05C 91 01 00 24 */ stw r8, 0x24(r1) /* 80300400 002FC060 93 C1 00 28 */ stw r30, 0x28(r1) /* 80300404 002FC064 93 21 00 2C */ stw r25, 0x2c(r1) /* 80300408 002FC068 90 01 00 30 */ stw r0, 0x30(r1) /* 8030040C 002FC06C 91 01 00 34 */ stw r8, 0x34(r1) /* 80300410 002FC070 4B FA 3A 31 */ bl IOS_Ioctlv /* 80300414 002FC074 83 41 00 60 */ lwz r26, 0x60(r1) /* 80300418 002FC078 2C 1A 00 00 */ cmpwi r26, 0 /* 8030041C 002FC07C 40 81 00 1C */ ble lbl_80300438 /* 80300420 002FC080 7F A3 EB 78 */ mr r3, r29 /* 80300424 002FC084 7F C4 F3 78 */ mr r4, r30 /* 80300428 002FC088 7F 45 D3 78 */ mr r5, r26 /* 8030042C 002FC08C 7F 18 D2 14 */ add r24, r24, r26 /* 80300430 002FC090 4B D0 3B D1 */ bl memcpy /* 80300434 002FC094 48 00 00 24 */ b lbl_80300458 lbl_80300438: /* 80300438 002FC098 7F E3 FB 78 */ mr r3, r31 /* 8030043C 002FC09C 4B FA 2E FD */ bl IOS_Close /* 80300440 002FC0A0 2C 18 00 00 */ cmpwi r24, 0 /* 80300444 002FC0A4 40 81 00 0C */ ble lbl_80300450 /* 80300448 002FC0A8 7F 03 C3 78 */ mr r3, r24 /* 8030044C 002FC0AC 48 00 00 24 */ b lbl_80300470 lbl_80300450: /* 80300450 002FC0B0 7F 43 D3 78 */ mr r3, r26 /* 80300454 002FC0B4 48 00 00 1C */ b lbl_80300470 lbl_80300458: /* 80300458 002FC0B8 2C 18 00 00 */ cmpwi r24, 0 /* 8030045C 002FC0BC 40 81 00 08 */ ble lbl_80300464 /* 80300460 002FC0C0 7F 1A C3 78 */ mr r26, r24 lbl_80300464: /* 80300464 002FC0C4 7F E3 FB 78 */ mr r3, r31 /* 80300468 002FC0C8 4B FA 2E D1 */ bl IOS_Close /* 8030046C 002FC0CC 7F 43 D3 78 */ mr r3, r26 lbl_80300470: /* 80300470 002FC0D0 81 41 00 00 */ lwz r10, 0(r1) /* 80300474 002FC0D4 7D 4B 53 78 */ mr r11, r10 /* 80300478 002FC0D8 4B EC 6C F1 */ bl _restgpr_24 /* 8030047C 002FC0DC 80 0A 00 04 */ lwz r0, 4(r10) /* 80300480 002FC0E0 7C 08 03 A6 */ mtlr r0 /* 80300484 002FC0E4 7D 41 53 78 */ mr r1, r10 /* 80300488 002FC0E8 4E 80 00 20 */ blr .global SSLWrite SSLWrite: /* 8030048C 002FC0EC 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 80300490 002FC0F0 7C 2C 0B 78 */ mr r12, r1 /* 80300494 002FC0F4 21 6B FE 80 */ subfic r11, r11, -384 /* 80300498 002FC0F8 7C 21 59 6E */ stwux r1, r1, r11 /* 8030049C 002FC0FC 7C 08 02 A6 */ mflr r0 /* 803004A0 002FC100 7D 8B 63 78 */ mr r11, r12 /* 803004A4 002FC104 90 0C 00 04 */ stw r0, 4(r12) /* 803004A8 002FC108 4B EC 6C 79 */ bl _savegpr_25 /* 803004AC 002FC10C 3C C0 80 44 */ lis r6, lbl_80446240@ha /* 803004B0 002FC110 7C 7C 1B 78 */ mr r28, r3 /* 803004B4 002FC114 7C 9D 23 78 */ mr r29, r4 /* 803004B8 002FC118 7C BE 2B 78 */ mr r30, r5 /* 803004BC 002FC11C 38 66 62 40 */ addi r3, r6, lbl_80446240@l /* 803004C0 002FC120 38 80 00 00 */ li r4, 0 /* 803004C4 002FC124 4B FA 2C 95 */ bl IOS_Open /* 803004C8 002FC128 2C 03 00 00 */ cmpwi r3, 0 /* 803004CC 002FC12C 7C 7F 1B 78 */ mr r31, r3 /* 803004D0 002FC130 3B 60 FF FF */ li r27, -1 /* 803004D4 002FC134 40 80 00 0C */ bge lbl_803004E0 /* 803004D8 002FC138 38 60 FF FF */ li r3, -1 /* 803004DC 002FC13C 48 00 02 54 */ b lbl_80300730 lbl_803004E0: /* 803004E0 002FC140 57 A0 06 FF */ clrlwi. r0, r29, 0x1b /* 803004E4 002FC144 41 82 00 0C */ beq lbl_803004F0 /* 803004E8 002FC148 23 40 00 20 */ subfic r26, r0, 0x20 /* 803004EC 002FC14C 48 00 00 08 */ b lbl_803004F4 lbl_803004F0: /* 803004F0 002FC150 3B 40 00 00 */ li r26, 0 lbl_803004F4: /* 803004F4 002FC154 38 61 01 40 */ addi r3, r1, 0x140 /* 803004F8 002FC158 3B 20 00 00 */ li r25, 0 /* 803004FC 002FC15C 38 80 00 00 */ li r4, 0 /* 80300500 002FC160 38 A0 00 20 */ li r5, 0x20 /* 80300504 002FC164 4B D0 3C 01 */ bl memset /* 80300508 002FC168 2C 1A 00 00 */ cmpwi r26, 0 /* 8030050C 002FC16C 41 82 00 B0 */ beq lbl_803005BC /* 80300510 002FC170 7C 1A F0 40 */ cmplw r26, r30 /* 80300514 002FC174 40 81 00 08 */ ble lbl_8030051C /* 80300518 002FC178 7F DA F3 78 */ mr r26, r30 lbl_8030051C: /* 8030051C 002FC17C 7F A4 EB 78 */ mr r4, r29 /* 80300520 002FC180 7F 45 D3 78 */ mr r5, r26 /* 80300524 002FC184 38 61 01 40 */ addi r3, r1, 0x140 /* 80300528 002FC188 4B D0 3A D9 */ bl memcpy /* 8030052C 002FC18C 39 20 00 20 */ li r9, 0x20 /* 80300530 002FC190 39 41 01 20 */ addi r10, r1, 0x120 /* 80300534 002FC194 39 01 01 00 */ addi r8, r1, 0x100 /* 80300538 002FC198 38 01 01 40 */ addi r0, r1, 0x140 /* 8030053C 002FC19C 38 80 FF FF */ li r4, -1 /* 80300540 002FC1A0 93 81 01 00 */ stw r28, 0x100(r1) /* 80300544 002FC1A4 7F E3 FB 78 */ mr r3, r31 /* 80300548 002FC1A8 38 E1 00 E0 */ addi r7, r1, 0xe0 /* 8030054C 002FC1AC 90 81 01 20 */ stw r4, 0x120(r1) /* 80300550 002FC1B0 38 80 00 05 */ li r4, 5 /* 80300554 002FC1B4 38 A0 00 01 */ li r5, 1 /* 80300558 002FC1B8 38 C0 00 02 */ li r6, 2 /* 8030055C 002FC1BC 91 41 00 E0 */ stw r10, 0xe0(r1) /* 80300560 002FC1C0 91 21 00 E4 */ stw r9, 0xe4(r1) /* 80300564 002FC1C4 91 01 00 E8 */ stw r8, 0xe8(r1) /* 80300568 002FC1C8 91 21 00 EC */ stw r9, 0xec(r1) /* 8030056C 002FC1CC 90 01 00 F0 */ stw r0, 0xf0(r1) /* 80300570 002FC1D0 93 41 00 F4 */ stw r26, 0xf4(r1) /* 80300574 002FC1D4 4B FA 38 CD */ bl IOS_Ioctlv /* 80300578 002FC1D8 83 61 01 20 */ lwz r27, 0x120(r1) /* 8030057C 002FC1DC 2C 1B 00 00 */ cmpwi r27, 0 /* 80300580 002FC1E0 40 81 00 2C */ ble lbl_803005AC /* 80300584 002FC1E4 7C 1B D0 40 */ cmplw r27, r26 /* 80300588 002FC1E8 7F 79 DB 78 */ mr r25, r27 /* 8030058C 002FC1EC 40 80 00 14 */ bge lbl_803005A0 /* 80300590 002FC1F0 7F E3 FB 78 */ mr r3, r31 /* 80300594 002FC1F4 4B FA 2D A5 */ bl IOS_Close /* 80300598 002FC1F8 7F 63 DB 78 */ mr r3, r27 /* 8030059C 002FC1FC 48 00 01 94 */ b lbl_80300730 lbl_803005A0: /* 803005A0 002FC200 7F BD DA 14 */ add r29, r29, r27 /* 803005A4 002FC204 7F DB F0 50 */ subf r30, r27, r30 /* 803005A8 002FC208 48 00 00 14 */ b lbl_803005BC lbl_803005AC: /* 803005AC 002FC20C 7F E3 FB 78 */ mr r3, r31 /* 803005B0 002FC210 4B FA 2D 89 */ bl IOS_Close /* 803005B4 002FC214 7F 63 DB 78 */ mr r3, r27 /* 803005B8 002FC218 48 00 01 78 */ b lbl_80300730 lbl_803005BC: /* 803005BC 002FC21C 2C 1E 00 00 */ cmpwi r30, 0 /* 803005C0 002FC220 41 82 00 A8 */ beq lbl_80300668 /* 803005C4 002FC224 57 DA 00 35 */ rlwinm. r26, r30, 0, 0, 0x1a /* 803005C8 002FC228 41 82 00 A0 */ beq lbl_80300668 /* 803005CC 002FC22C 39 00 00 20 */ li r8, 0x20 /* 803005D0 002FC230 39 21 00 C0 */ addi r9, r1, 0xc0 /* 803005D4 002FC234 38 01 00 A0 */ addi r0, r1, 0xa0 /* 803005D8 002FC238 38 A0 FF FF */ li r5, -1 /* 803005DC 002FC23C 90 A1 00 C0 */ stw r5, 0xc0(r1) /* 803005E0 002FC240 7F E3 FB 78 */ mr r3, r31 /* 803005E4 002FC244 38 E1 00 80 */ addi r7, r1, 0x80 /* 803005E8 002FC248 38 80 00 05 */ li r4, 5 /* 803005EC 002FC24C 93 81 00 A0 */ stw r28, 0xa0(r1) /* 803005F0 002FC250 38 A0 00 01 */ li r5, 1 /* 803005F4 002FC254 38 C0 00 02 */ li r6, 2 /* 803005F8 002FC258 91 21 00 80 */ stw r9, 0x80(r1) /* 803005FC 002FC25C 91 01 00 84 */ stw r8, 0x84(r1) /* 80300600 002FC260 90 01 00 88 */ stw r0, 0x88(r1) /* 80300604 002FC264 91 01 00 8C */ stw r8, 0x8c(r1) /* 80300608 002FC268 93 A1 00 90 */ stw r29, 0x90(r1) /* 8030060C 002FC26C 93 41 00 94 */ stw r26, 0x94(r1) /* 80300610 002FC270 4B FA 38 31 */ bl IOS_Ioctlv /* 80300614 002FC274 83 61 00 C0 */ lwz r27, 0xc0(r1) /* 80300618 002FC278 2C 1B 00 00 */ cmpwi r27, 0 /* 8030061C 002FC27C 40 81 00 2C */ ble lbl_80300648 /* 80300620 002FC280 7C 1B D0 40 */ cmplw r27, r26 /* 80300624 002FC284 7F 39 DA 14 */ add r25, r25, r27 /* 80300628 002FC288 40 80 00 14 */ bge lbl_8030063C /* 8030062C 002FC28C 7F E3 FB 78 */ mr r3, r31 /* 80300630 002FC290 4B FA 2D 09 */ bl IOS_Close /* 80300634 002FC294 7F 23 CB 78 */ mr r3, r25 /* 80300638 002FC298 48 00 00 F8 */ b lbl_80300730 lbl_8030063C: /* 8030063C 002FC29C 7F BD DA 14 */ add r29, r29, r27 /* 80300640 002FC2A0 7F DB F0 50 */ subf r30, r27, r30 /* 80300644 002FC2A4 48 00 00 24 */ b lbl_80300668 lbl_80300648: /* 80300648 002FC2A8 7F E3 FB 78 */ mr r3, r31 /* 8030064C 002FC2AC 4B FA 2C ED */ bl IOS_Close /* 80300650 002FC2B0 2C 19 00 00 */ cmpwi r25, 0 /* 80300654 002FC2B4 40 81 00 0C */ ble lbl_80300660 /* 80300658 002FC2B8 7F 23 CB 78 */ mr r3, r25 /* 8030065C 002FC2BC 48 00 00 D4 */ b lbl_80300730 lbl_80300660: /* 80300660 002FC2C0 7F 63 DB 78 */ mr r3, r27 /* 80300664 002FC2C4 48 00 00 CC */ b lbl_80300730 lbl_80300668: /* 80300668 002FC2C8 2C 1E 00 00 */ cmpwi r30, 0 /* 8030066C 002FC2CC 41 82 00 AC */ beq lbl_80300718 /* 80300670 002FC2D0 57 DA 06 FF */ clrlwi. r26, r30, 0x1b /* 80300674 002FC2D4 41 82 00 A4 */ beq lbl_80300718 /* 80300678 002FC2D8 38 61 01 40 */ addi r3, r1, 0x140 /* 8030067C 002FC2DC 38 80 00 00 */ li r4, 0 /* 80300680 002FC2E0 38 A0 00 20 */ li r5, 0x20 /* 80300684 002FC2E4 4B D0 3A 81 */ bl memset /* 80300688 002FC2E8 7F A4 EB 78 */ mr r4, r29 /* 8030068C 002FC2EC 7F 45 D3 78 */ mr r5, r26 /* 80300690 002FC2F0 38 61 01 40 */ addi r3, r1, 0x140 /* 80300694 002FC2F4 4B D0 39 6D */ bl memcpy /* 80300698 002FC2F8 39 20 00 20 */ li r9, 0x20 /* 8030069C 002FC2FC 39 41 00 60 */ addi r10, r1, 0x60 /* 803006A0 002FC300 39 01 00 40 */ addi r8, r1, 0x40 /* 803006A4 002FC304 38 01 01 40 */ addi r0, r1, 0x140 /* 803006A8 002FC308 38 80 FF FF */ li r4, -1 /* 803006AC 002FC30C 93 81 00 40 */ stw r28, 0x40(r1) /* 803006B0 002FC310 7F E3 FB 78 */ mr r3, r31 /* 803006B4 002FC314 38 E1 00 20 */ addi r7, r1, 0x20 /* 803006B8 002FC318 90 81 00 60 */ stw r4, 0x60(r1) /* 803006BC 002FC31C 38 80 00 05 */ li r4, 5 /* 803006C0 002FC320 38 A0 00 01 */ li r5, 1 /* 803006C4 002FC324 38 C0 00 02 */ li r6, 2 /* 803006C8 002FC328 91 41 00 20 */ stw r10, 0x20(r1) /* 803006CC 002FC32C 91 21 00 24 */ stw r9, 0x24(r1) /* 803006D0 002FC330 91 01 00 28 */ stw r8, 0x28(r1) /* 803006D4 002FC334 91 21 00 2C */ stw r9, 0x2c(r1) /* 803006D8 002FC338 90 01 00 30 */ stw r0, 0x30(r1) /* 803006DC 002FC33C 93 41 00 34 */ stw r26, 0x34(r1) /* 803006E0 002FC340 4B FA 37 61 */ bl IOS_Ioctlv /* 803006E4 002FC344 83 61 00 60 */ lwz r27, 0x60(r1) /* 803006E8 002FC348 2C 1B 00 00 */ cmpwi r27, 0 /* 803006EC 002FC34C 40 81 00 0C */ ble lbl_803006F8 /* 803006F0 002FC350 7F 39 DA 14 */ add r25, r25, r27 /* 803006F4 002FC354 48 00 00 24 */ b lbl_80300718 lbl_803006F8: /* 803006F8 002FC358 7F E3 FB 78 */ mr r3, r31 /* 803006FC 002FC35C 4B FA 2C 3D */ bl IOS_Close /* 80300700 002FC360 2C 19 00 00 */ cmpwi r25, 0 /* 80300704 002FC364 40 81 00 0C */ ble lbl_80300710 /* 80300708 002FC368 7F 23 CB 78 */ mr r3, r25 /* 8030070C 002FC36C 48 00 00 24 */ b lbl_80300730 lbl_80300710: /* 80300710 002FC370 7F 63 DB 78 */ mr r3, r27 /* 80300714 002FC374 48 00 00 1C */ b lbl_80300730 lbl_80300718: /* 80300718 002FC378 2C 19 00 00 */ cmpwi r25, 0 /* 8030071C 002FC37C 40 81 00 08 */ ble lbl_80300724 /* 80300720 002FC380 7F 3B CB 78 */ mr r27, r25 lbl_80300724: /* 80300724 002FC384 7F E3 FB 78 */ mr r3, r31 /* 80300728 002FC388 4B FA 2C 11 */ bl IOS_Close /* 8030072C 002FC38C 7F 63 DB 78 */ mr r3, r27 lbl_80300730: /* 80300730 002FC390 81 41 00 00 */ lwz r10, 0(r1) /* 80300734 002FC394 7D 4B 53 78 */ mr r11, r10 /* 80300738 002FC398 4B EC 6A 35 */ bl _restgpr_25 /* 8030073C 002FC39C 80 0A 00 04 */ lwz r0, 4(r10) /* 80300740 002FC3A0 7C 08 03 A6 */ mtlr r0 /* 80300744 002FC3A4 7D 41 53 78 */ mr r1, r10 /* 80300748 002FC3A8 4E 80 00 20 */ blr .global SSLShutdown SSLShutdown: /* 8030074C 002FC3AC 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 80300750 002FC3B0 7C 2C 0B 78 */ mr r12, r1 /* 80300754 002FC3B4 21 6B FF 60 */ subfic r11, r11, -160 /* 80300758 002FC3B8 7C 21 59 6E */ stwux r1, r1, r11 /* 8030075C 002FC3BC 7C 08 02 A6 */ mflr r0 /* 80300760 002FC3C0 3C 80 80 44 */ lis r4, lbl_80446240@ha /* 80300764 002FC3C4 90 0C 00 04 */ stw r0, 4(r12) /* 80300768 002FC3C8 93 EC FF FC */ stw r31, -4(r12) /* 8030076C 002FC3CC 93 CC FF F8 */ stw r30, -8(r12) /* 80300770 002FC3D0 7C 7E 1B 78 */ mr r30, r3 /* 80300774 002FC3D4 38 64 62 40 */ addi r3, r4, lbl_80446240@l /* 80300778 002FC3D8 38 80 00 00 */ li r4, 0 /* 8030077C 002FC3DC 4B FA 29 DD */ bl IOS_Open /* 80300780 002FC3E0 2C 03 00 00 */ cmpwi r3, 0 /* 80300784 002FC3E4 7C 7F 1B 78 */ mr r31, r3 /* 80300788 002FC3E8 40 80 00 0C */ bge lbl_80300794 /* 8030078C 002FC3EC 38 60 FF FF */ li r3, -1 /* 80300790 002FC3F0 48 00 00 4C */ b lbl_803007DC lbl_80300794: /* 80300794 002FC3F4 39 00 00 20 */ li r8, 0x20 /* 80300798 002FC3F8 39 21 00 20 */ addi r9, r1, 0x20 /* 8030079C 002FC3FC 38 01 00 40 */ addi r0, r1, 0x40 /* 803007A0 002FC400 38 C0 FF FF */ li r6, -1 /* 803007A4 002FC404 90 C1 00 20 */ stw r6, 0x20(r1) /* 803007A8 002FC408 38 E1 00 60 */ addi r7, r1, 0x60 /* 803007AC 002FC40C 38 80 00 06 */ li r4, 6 /* 803007B0 002FC410 38 A0 00 01 */ li r5, 1 /* 803007B4 002FC414 93 C1 00 40 */ stw r30, 0x40(r1) /* 803007B8 002FC418 38 C0 00 01 */ li r6, 1 /* 803007BC 002FC41C 91 21 00 60 */ stw r9, 0x60(r1) /* 803007C0 002FC420 91 01 00 64 */ stw r8, 0x64(r1) /* 803007C4 002FC424 90 01 00 68 */ stw r0, 0x68(r1) /* 803007C8 002FC428 91 01 00 6C */ stw r8, 0x6c(r1) /* 803007CC 002FC42C 4B FA 36 75 */ bl IOS_Ioctlv /* 803007D0 002FC430 7F E3 FB 78 */ mr r3, r31 /* 803007D4 002FC434 4B FA 2B 65 */ bl IOS_Close /* 803007D8 002FC438 80 61 00 20 */ lwz r3, 0x20(r1) lbl_803007DC: /* 803007DC 002FC43C 81 41 00 00 */ lwz r10, 0(r1) /* 803007E0 002FC440 80 0A 00 04 */ lwz r0, 4(r10) /* 803007E4 002FC444 83 EA FF FC */ lwz r31, -4(r10) /* 803007E8 002FC448 83 CA FF F8 */ lwz r30, -8(r10) /* 803007EC 002FC44C 7C 08 03 A6 */ mtlr r0 /* 803007F0 002FC450 7D 41 53 78 */ mr r1, r10 /* 803007F4 002FC454 4E 80 00 20 */ blr .global SSLSetClientCert SSLSetClientCert: /* 803007F8 002FC458 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 803007FC 002FC45C 7C 2C 0B 78 */ mr r12, r1 /* 80300800 002FC460 21 6B FF 60 */ subfic r11, r11, -160 /* 80300804 002FC464 7C 21 59 6E */ stwux r1, r1, r11 /* 80300808 002FC468 7C 08 02 A6 */ mflr r0 /* 8030080C 002FC46C 7D 8B 63 78 */ mr r11, r12 /* 80300810 002FC470 90 0C 00 04 */ stw r0, 4(r12) /* 80300814 002FC474 4B EC 69 09 */ bl _savegpr_24 /* 80300818 002FC478 3F E0 80 58 */ lis r31, lbl_8057B780@ha /* 8030081C 002FC47C 3D 00 80 44 */ lis r8, lbl_80446240@ha /* 80300820 002FC480 7C 78 1B 78 */ mr r24, r3 /* 80300824 002FC484 7C 99 23 78 */ mr r25, r4 /* 80300828 002FC488 7C BA 2B 78 */ mr r26, r5 /* 8030082C 002FC48C 7C DB 33 78 */ mr r27, r6 /* 80300830 002FC490 7C FC 3B 78 */ mr r28, r7 /* 80300834 002FC494 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l /* 80300838 002FC498 38 68 62 40 */ addi r3, r8, lbl_80446240@l /* 8030083C 002FC49C 38 80 00 00 */ li r4, 0 /* 80300840 002FC4A0 4B FA 29 19 */ bl IOS_Open /* 80300844 002FC4A4 2C 03 00 00 */ cmpwi r3, 0 /* 80300848 002FC4A8 7C 7D 1B 78 */ mr r29, r3 /* 8030084C 002FC4AC 40 80 00 0C */ bge lbl_80300858 /* 80300850 002FC4B0 38 60 FF FF */ li r3, -1 /* 80300854 002FC4B4 48 00 00 F4 */ b lbl_80300948 lbl_80300858: /* 80300858 002FC4B8 4B F6 DF 05 */ bl OSDisableInterrupts /* 8030085C 002FC4BC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13) /* 80300860 002FC4C0 7C 7E 1B 78 */ mr r30, r3 /* 80300864 002FC4C4 2C 00 00 00 */ cmpwi r0, 0 /* 80300868 002FC4C8 40 82 00 44 */ bne lbl_803008AC /* 8030086C 002FC4CC 38 7F 00 00 */ addi r3, r31, 0 /* 80300870 002FC4D0 48 00 03 95 */ bl SSL_InitMutex /* 80300874 002FC4D4 38 7F 00 20 */ addi r3, r31, 0x20 /* 80300878 002FC4D8 38 80 00 00 */ li r4, 0 /* 8030087C 002FC4DC 38 A0 10 00 */ li r5, 0x1000 /* 80300880 002FC4E0 4B D0 38 85 */ bl memset /* 80300884 002FC4E4 38 7F 10 20 */ addi r3, r31, 0x1020 /* 80300888 002FC4E8 38 80 00 00 */ li r4, 0 /* 8030088C 002FC4EC 38 A0 10 00 */ li r5, 0x1000 /* 80300890 002FC4F0 4B D0 38 75 */ bl memset /* 80300894 002FC4F4 38 7F 20 20 */ addi r3, r31, 0x2020 /* 80300898 002FC4F8 38 80 00 00 */ li r4, 0 /* 8030089C 002FC4FC 38 A0 10 00 */ li r5, 0x1000 /* 803008A0 002FC500 4B D0 38 65 */ bl memset /* 803008A4 002FC504 38 00 00 01 */ li r0, 1 /* 803008A8 002FC508 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13) lbl_803008AC: /* 803008AC 002FC50C 7F C3 F3 78 */ mr r3, r30 /* 803008B0 002FC510 4B F6 DE D5 */ bl OSRestoreInterrupts /* 803008B4 002FC514 38 7F 00 00 */ addi r3, r31, 0 /* 803008B8 002FC518 48 00 03 51 */ bl SSL_LockMutex /* 803008BC 002FC51C 7F 24 CB 78 */ mr r4, r25 /* 803008C0 002FC520 7F 45 D3 78 */ mr r5, r26 /* 803008C4 002FC524 38 7F 00 20 */ addi r3, r31, 0x20 /* 803008C8 002FC528 4B D0 37 39 */ bl memcpy /* 803008CC 002FC52C 7F 64 DB 78 */ mr r4, r27 /* 803008D0 002FC530 7F 85 E3 78 */ mr r5, r28 /* 803008D4 002FC534 38 7F 10 20 */ addi r3, r31, 0x1020 /* 803008D8 002FC538 4B D0 37 29 */ bl memcpy /* 803008DC 002FC53C 39 40 00 20 */ li r10, 0x20 /* 803008E0 002FC540 39 61 00 40 */ addi r11, r1, 0x40 /* 803008E4 002FC544 39 21 00 20 */ addi r9, r1, 0x20 /* 803008E8 002FC548 39 1F 00 20 */ addi r8, r31, 0x20 /* 803008EC 002FC54C 38 1F 10 20 */ addi r0, r31, 0x1020 /* 803008F0 002FC550 38 60 FF FF */ li r3, -1 /* 803008F4 002FC554 90 61 00 40 */ stw r3, 0x40(r1) /* 803008F8 002FC558 7F A3 EB 78 */ mr r3, r29 /* 803008FC 002FC55C 38 E1 00 60 */ addi r7, r1, 0x60 /* 80300900 002FC560 38 80 00 07 */ li r4, 7 /* 80300904 002FC564 93 01 00 20 */ stw r24, 0x20(r1) /* 80300908 002FC568 38 A0 00 01 */ li r5, 1 /* 8030090C 002FC56C 38 C0 00 03 */ li r6, 3 /* 80300910 002FC570 91 61 00 60 */ stw r11, 0x60(r1) /* 80300914 002FC574 91 41 00 64 */ stw r10, 0x64(r1) /* 80300918 002FC578 91 21 00 68 */ stw r9, 0x68(r1) /* 8030091C 002FC57C 91 41 00 6C */ stw r10, 0x6c(r1) /* 80300920 002FC580 91 01 00 70 */ stw r8, 0x70(r1) /* 80300924 002FC584 93 41 00 74 */ stw r26, 0x74(r1) /* 80300928 002FC588 90 01 00 78 */ stw r0, 0x78(r1) /* 8030092C 002FC58C 93 81 00 7C */ stw r28, 0x7c(r1) /* 80300930 002FC590 4B FA 35 11 */ bl IOS_Ioctlv /* 80300934 002FC594 38 7F 00 00 */ addi r3, r31, 0 /* 80300938 002FC598 48 00 02 D5 */ bl SSL_UnlockMutex /* 8030093C 002FC59C 7F A3 EB 78 */ mr r3, r29 /* 80300940 002FC5A0 4B FA 29 F9 */ bl IOS_Close /* 80300944 002FC5A4 80 61 00 40 */ lwz r3, 0x40(r1) lbl_80300948: /* 80300948 002FC5A8 81 41 00 00 */ lwz r10, 0(r1) /* 8030094C 002FC5AC 7D 4B 53 78 */ mr r11, r10 /* 80300950 002FC5B0 4B EC 68 19 */ bl _restgpr_24 /* 80300954 002FC5B4 80 0A 00 04 */ lwz r0, 4(r10) /* 80300958 002FC5B8 7C 08 03 A6 */ mtlr r0 /* 8030095C 002FC5BC 7D 41 53 78 */ mr r1, r10 /* 80300960 002FC5C0 4E 80 00 20 */ blr .global SSLSetClientCertDefault SSLSetClientCertDefault: /* 80300964 002FC5C4 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 80300968 002FC5C8 7C 2C 0B 78 */ mr r12, r1 /* 8030096C 002FC5CC 21 6B FF 60 */ subfic r11, r11, -160 /* 80300970 002FC5D0 7C 21 59 6E */ stwux r1, r1, r11 /* 80300974 002FC5D4 7C 08 02 A6 */ mflr r0 /* 80300978 002FC5D8 3C 80 80 44 */ lis r4, lbl_80446240@ha /* 8030097C 002FC5DC 90 0C 00 04 */ stw r0, 4(r12) /* 80300980 002FC5E0 93 EC FF FC */ stw r31, -4(r12) /* 80300984 002FC5E4 93 CC FF F8 */ stw r30, -8(r12) /* 80300988 002FC5E8 7C 7E 1B 78 */ mr r30, r3 /* 8030098C 002FC5EC 38 64 62 40 */ addi r3, r4, lbl_80446240@l /* 80300990 002FC5F0 38 80 00 00 */ li r4, 0 /* 80300994 002FC5F4 4B FA 27 C5 */ bl IOS_Open /* 80300998 002FC5F8 2C 03 00 00 */ cmpwi r3, 0 /* 8030099C 002FC5FC 7C 7F 1B 78 */ mr r31, r3 /* 803009A0 002FC600 40 80 00 0C */ bge lbl_803009AC /* 803009A4 002FC604 38 60 FF FF */ li r3, -1 /* 803009A8 002FC608 48 00 00 4C */ b lbl_803009F4 lbl_803009AC: /* 803009AC 002FC60C 39 00 00 20 */ li r8, 0x20 /* 803009B0 002FC610 39 21 00 40 */ addi r9, r1, 0x40 /* 803009B4 002FC614 38 01 00 20 */ addi r0, r1, 0x20 /* 803009B8 002FC618 38 80 FF FF */ li r4, -1 /* 803009BC 002FC61C 90 81 00 40 */ stw r4, 0x40(r1) /* 803009C0 002FC620 38 E1 00 60 */ addi r7, r1, 0x60 /* 803009C4 002FC624 38 80 00 08 */ li r4, 8 /* 803009C8 002FC628 38 A0 00 01 */ li r5, 1 /* 803009CC 002FC62C 93 C1 00 20 */ stw r30, 0x20(r1) /* 803009D0 002FC630 38 C0 00 01 */ li r6, 1 /* 803009D4 002FC634 91 21 00 60 */ stw r9, 0x60(r1) /* 803009D8 002FC638 91 01 00 64 */ stw r8, 0x64(r1) /* 803009DC 002FC63C 90 01 00 68 */ stw r0, 0x68(r1) /* 803009E0 002FC640 91 01 00 6C */ stw r8, 0x6c(r1) /* 803009E4 002FC644 4B FA 34 5D */ bl IOS_Ioctlv /* 803009E8 002FC648 7F E3 FB 78 */ mr r3, r31 /* 803009EC 002FC64C 4B FA 29 4D */ bl IOS_Close /* 803009F0 002FC650 80 61 00 40 */ lwz r3, 0x40(r1) lbl_803009F4: /* 803009F4 002FC654 81 41 00 00 */ lwz r10, 0(r1) /* 803009F8 002FC658 80 0A 00 04 */ lwz r0, 4(r10) /* 803009FC 002FC65C 83 EA FF FC */ lwz r31, -4(r10) /* 80300A00 002FC660 83 CA FF F8 */ lwz r30, -8(r10) /* 80300A04 002FC664 7C 08 03 A6 */ mtlr r0 /* 80300A08 002FC668 7D 41 53 78 */ mr r1, r10 /* 80300A0C 002FC66C 4E 80 00 20 */ blr .global SSLSetRootCA SSLSetRootCA: /* 80300A10 002FC670 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 80300A14 002FC674 7C 2C 0B 78 */ mr r12, r1 /* 80300A18 002FC678 21 6B FF 60 */ subfic r11, r11, -160 /* 80300A1C 002FC67C 7C 21 59 6E */ stwux r1, r1, r11 /* 80300A20 002FC680 7C 08 02 A6 */ mflr r0 /* 80300A24 002FC684 7D 8B 63 78 */ mr r11, r12 /* 80300A28 002FC688 90 0C 00 04 */ stw r0, 4(r12) /* 80300A2C 002FC68C 4B EC 66 F9 */ bl _savegpr_26 /* 80300A30 002FC690 3F E0 80 58 */ lis r31, lbl_8057B780@ha /* 80300A34 002FC694 3C C0 80 44 */ lis r6, lbl_80446240@ha /* 80300A38 002FC698 7C 7A 1B 78 */ mr r26, r3 /* 80300A3C 002FC69C 7C 9B 23 78 */ mr r27, r4 /* 80300A40 002FC6A0 7C BC 2B 78 */ mr r28, r5 /* 80300A44 002FC6A4 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l /* 80300A48 002FC6A8 38 66 62 40 */ addi r3, r6, lbl_80446240@l /* 80300A4C 002FC6AC 38 80 00 00 */ li r4, 0 /* 80300A50 002FC6B0 4B FA 27 09 */ bl IOS_Open /* 80300A54 002FC6B4 2C 03 00 00 */ cmpwi r3, 0 /* 80300A58 002FC6B8 7C 7D 1B 78 */ mr r29, r3 /* 80300A5C 002FC6BC 40 80 00 0C */ bge lbl_80300A68 /* 80300A60 002FC6C0 38 60 FF FF */ li r3, -1 /* 80300A64 002FC6C4 48 00 00 D8 */ b lbl_80300B3C lbl_80300A68: /* 80300A68 002FC6C8 4B F6 DC F5 */ bl OSDisableInterrupts /* 80300A6C 002FC6CC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13) /* 80300A70 002FC6D0 7C 7E 1B 78 */ mr r30, r3 /* 80300A74 002FC6D4 2C 00 00 00 */ cmpwi r0, 0 /* 80300A78 002FC6D8 40 82 00 44 */ bne lbl_80300ABC /* 80300A7C 002FC6DC 38 7F 00 00 */ addi r3, r31, 0 /* 80300A80 002FC6E0 48 00 01 85 */ bl SSL_InitMutex /* 80300A84 002FC6E4 38 7F 00 20 */ addi r3, r31, 0x20 /* 80300A88 002FC6E8 38 80 00 00 */ li r4, 0 /* 80300A8C 002FC6EC 38 A0 10 00 */ li r5, 0x1000 /* 80300A90 002FC6F0 4B D0 36 75 */ bl memset /* 80300A94 002FC6F4 38 7F 10 20 */ addi r3, r31, 0x1020 /* 80300A98 002FC6F8 38 80 00 00 */ li r4, 0 /* 80300A9C 002FC6FC 38 A0 10 00 */ li r5, 0x1000 /* 80300AA0 002FC700 4B D0 36 65 */ bl memset /* 80300AA4 002FC704 38 7F 20 20 */ addi r3, r31, 0x2020 /* 80300AA8 002FC708 38 80 00 00 */ li r4, 0 /* 80300AAC 002FC70C 38 A0 10 00 */ li r5, 0x1000 /* 80300AB0 002FC710 4B D0 36 55 */ bl memset /* 80300AB4 002FC714 38 00 00 01 */ li r0, 1 /* 80300AB8 002FC718 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13) lbl_80300ABC: /* 80300ABC 002FC71C 7F C3 F3 78 */ mr r3, r30 /* 80300AC0 002FC720 4B F6 DC C5 */ bl OSRestoreInterrupts /* 80300AC4 002FC724 38 7F 00 00 */ addi r3, r31, 0 /* 80300AC8 002FC728 48 00 01 41 */ bl SSL_LockMutex /* 80300ACC 002FC72C 7F 64 DB 78 */ mr r4, r27 /* 80300AD0 002FC730 7F 85 E3 78 */ mr r5, r28 /* 80300AD4 002FC734 38 7F 20 20 */ addi r3, r31, 0x2020 /* 80300AD8 002FC738 4B D0 35 29 */ bl memcpy /* 80300ADC 002FC73C 39 20 00 20 */ li r9, 0x20 /* 80300AE0 002FC740 39 41 00 40 */ addi r10, r1, 0x40 /* 80300AE4 002FC744 39 01 00 20 */ addi r8, r1, 0x20 /* 80300AE8 002FC748 38 1F 20 20 */ addi r0, r31, 0x2020 /* 80300AEC 002FC74C 38 80 FF FF */ li r4, -1 /* 80300AF0 002FC750 93 41 00 20 */ stw r26, 0x20(r1) /* 80300AF4 002FC754 7F A3 EB 78 */ mr r3, r29 /* 80300AF8 002FC758 38 E1 00 60 */ addi r7, r1, 0x60 /* 80300AFC 002FC75C 90 81 00 40 */ stw r4, 0x40(r1) /* 80300B00 002FC760 38 80 00 0A */ li r4, 0xa /* 80300B04 002FC764 38 A0 00 01 */ li r5, 1 /* 80300B08 002FC768 38 C0 00 02 */ li r6, 2 /* 80300B0C 002FC76C 91 41 00 60 */ stw r10, 0x60(r1) /* 80300B10 002FC770 91 21 00 64 */ stw r9, 0x64(r1) /* 80300B14 002FC774 91 01 00 68 */ stw r8, 0x68(r1) /* 80300B18 002FC778 91 21 00 6C */ stw r9, 0x6c(r1) /* 80300B1C 002FC77C 90 01 00 70 */ stw r0, 0x70(r1) /* 80300B20 002FC780 93 81 00 74 */ stw r28, 0x74(r1) /* 80300B24 002FC784 4B FA 33 1D */ bl IOS_Ioctlv /* 80300B28 002FC788 38 7F 00 00 */ addi r3, r31, 0 /* 80300B2C 002FC78C 48 00 00 E1 */ bl SSL_UnlockMutex /* 80300B30 002FC790 7F A3 EB 78 */ mr r3, r29 /* 80300B34 002FC794 4B FA 28 05 */ bl IOS_Close /* 80300B38 002FC798 80 61 00 40 */ lwz r3, 0x40(r1) lbl_80300B3C: /* 80300B3C 002FC79C 81 41 00 00 */ lwz r10, 0(r1) /* 80300B40 002FC7A0 7D 4B 53 78 */ mr r11, r10 /* 80300B44 002FC7A4 4B EC 66 2D */ bl _restgpr_26 /* 80300B48 002FC7A8 80 0A 00 04 */ lwz r0, 4(r10) /* 80300B4C 002FC7AC 7C 08 03 A6 */ mtlr r0 /* 80300B50 002FC7B0 7D 41 53 78 */ mr r1, r10 /* 80300B54 002FC7B4 4E 80 00 20 */ blr .global SSLSetBuiltinRootCA SSLSetBuiltinRootCA: /* 80300B58 002FC7B8 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 80300B5C 002FC7BC 7C 2C 0B 78 */ mr r12, r1 /* 80300B60 002FC7C0 21 6B FF 60 */ subfic r11, r11, -160 /* 80300B64 002FC7C4 7C 21 59 6E */ stwux r1, r1, r11 /* 80300B68 002FC7C8 7C 08 02 A6 */ mflr r0 /* 80300B6C 002FC7CC 3C 80 80 44 */ lis r4, lbl_80446240@ha /* 80300B70 002FC7D0 90 0C 00 04 */ stw r0, 4(r12) /* 80300B74 002FC7D4 93 EC FF FC */ stw r31, -4(r12) /* 80300B78 002FC7D8 93 CC FF F8 */ stw r30, -8(r12) /* 80300B7C 002FC7DC 7C 7E 1B 78 */ mr r30, r3 /* 80300B80 002FC7E0 38 64 62 40 */ addi r3, r4, lbl_80446240@l /* 80300B84 002FC7E4 38 80 00 00 */ li r4, 0 /* 80300B88 002FC7E8 4B FA 25 D1 */ bl IOS_Open /* 80300B8C 002FC7EC 2C 03 00 00 */ cmpwi r3, 0 /* 80300B90 002FC7F0 7C 7F 1B 78 */ mr r31, r3 /* 80300B94 002FC7F4 40 80 00 0C */ bge lbl_80300BA0 /* 80300B98 002FC7F8 38 60 FF FF */ li r3, -1 /* 80300B9C 002FC7FC 48 00 00 4C */ b lbl_80300BE8 lbl_80300BA0: /* 80300BA0 002FC800 39 00 00 20 */ li r8, 0x20 /* 80300BA4 002FC804 39 21 00 40 */ addi r9, r1, 0x40 /* 80300BA8 002FC808 38 01 00 20 */ addi r0, r1, 0x20 /* 80300BAC 002FC80C 38 80 FF FF */ li r4, -1 /* 80300BB0 002FC810 90 81 00 40 */ stw r4, 0x40(r1) /* 80300BB4 002FC814 38 E1 00 60 */ addi r7, r1, 0x60 /* 80300BB8 002FC818 38 80 00 0B */ li r4, 0xb /* 80300BBC 002FC81C 38 A0 00 01 */ li r5, 1 /* 80300BC0 002FC820 93 C1 00 20 */ stw r30, 0x20(r1) /* 80300BC4 002FC824 38 C0 00 01 */ li r6, 1 /* 80300BC8 002FC828 91 21 00 60 */ stw r9, 0x60(r1) /* 80300BCC 002FC82C 91 01 00 64 */ stw r8, 0x64(r1) /* 80300BD0 002FC830 90 01 00 68 */ stw r0, 0x68(r1) /* 80300BD4 002FC834 91 01 00 6C */ stw r8, 0x6c(r1) /* 80300BD8 002FC838 4B FA 32 69 */ bl IOS_Ioctlv /* 80300BDC 002FC83C 7F E3 FB 78 */ mr r3, r31 /* 80300BE0 002FC840 4B FA 27 59 */ bl IOS_Close /* 80300BE4 002FC844 80 61 00 40 */ lwz r3, 0x40(r1) lbl_80300BE8: /* 80300BE8 002FC848 81 41 00 00 */ lwz r10, 0(r1) /* 80300BEC 002FC84C 80 0A 00 04 */ lwz r0, 4(r10) /* 80300BF0 002FC850 83 EA FF FC */ lwz r31, -4(r10) /* 80300BF4 002FC854 83 CA FF F8 */ lwz r30, -8(r10) /* 80300BF8 002FC858 7C 08 03 A6 */ mtlr r0 /* 80300BFC 002FC85C 7D 41 53 78 */ mr r1, r10 /* 80300C00 002FC860 4E 80 00 20 */ blr