.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __ct__Q34nw4r2ut7ResFontFv __ct__Q34nw4r2ut7ResFontFv: /* 8036453C 0036019C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80364540 003601A0 7C 08 02 A6 */ mflr r0 /* 80364544 003601A4 90 01 00 14 */ stw r0, 0x14(r1) /* 80364548 003601A8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036454C 003601AC 7C 7F 1B 78 */ mr r31, r3 /* 80364550 003601B0 4B FF FA 1D */ bl __ct__Q44nw4r2ut6detail11ResFontBaseFv /* 80364554 003601B4 3C 80 80 45 */ lis r4, lbl_8044C8B0@ha /* 80364558 003601B8 7F E3 FB 78 */ mr r3, r31 /* 8036455C 003601BC 38 84 C8 B0 */ addi r4, r4, lbl_8044C8B0@l /* 80364560 003601C0 90 9F 00 00 */ stw r4, 0(r31) /* 80364564 003601C4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80364568 003601C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036456C 003601CC 7C 08 03 A6 */ mtlr r0 /* 80364570 003601D0 38 21 00 10 */ addi r1, r1, 0x10 /* 80364574 003601D4 4E 80 00 20 */ blr .global __dt__Q34nw4r2ut7ResFontFv __dt__Q34nw4r2ut7ResFontFv: /* 80364578 003601D8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036457C 003601DC 7C 08 02 A6 */ mflr r0 /* 80364580 003601E0 2C 03 00 00 */ cmpwi r3, 0 /* 80364584 003601E4 90 01 00 14 */ stw r0, 0x14(r1) /* 80364588 003601E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036458C 003601EC 7C 9F 23 78 */ mr r31, r4 /* 80364590 003601F0 93 C1 00 08 */ stw r30, 8(r1) /* 80364594 003601F4 7C 7E 1B 78 */ mr r30, r3 /* 80364598 003601F8 41 82 00 1C */ beq lbl_803645B4 /* 8036459C 003601FC 38 80 00 00 */ li r4, 0 /* 803645A0 00360200 4B FF FA 11 */ bl __dt__Q44nw4r2ut6detail11ResFontBaseFv /* 803645A4 00360204 2C 1F 00 00 */ cmpwi r31, 0 /* 803645A8 00360208 40 81 00 0C */ ble lbl_803645B4 /* 803645AC 0036020C 7F C3 F3 78 */ mr r3, r30 /* 803645B0 00360210 4B E7 65 09 */ bl __dl__FPv lbl_803645B4: /* 803645B4 00360214 7F C3 F3 78 */ mr r3, r30 /* 803645B8 00360218 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803645BC 0036021C 83 C1 00 08 */ lwz r30, 8(r1) /* 803645C0 00360220 80 01 00 14 */ lwz r0, 0x14(r1) /* 803645C4 00360224 7C 08 03 A6 */ mtlr r0 /* 803645C8 00360228 38 21 00 10 */ addi r1, r1, 0x10 /* 803645CC 0036022C 4E 80 00 20 */ blr .global SetResource__Q34nw4r2ut7ResFontFPv SetResource__Q34nw4r2ut7ResFontFPv: /* 803645D0 00360230 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803645D4 00360234 7C 08 02 A6 */ mflr r0 /* 803645D8 00360238 38 A0 00 00 */ li r5, 0 /* 803645DC 0036023C 90 01 00 14 */ stw r0, 0x14(r1) /* 803645E0 00360240 93 E1 00 0C */ stw r31, 0xc(r1) /* 803645E4 00360244 7C 9F 23 78 */ mr r31, r4 /* 803645E8 00360248 93 C1 00 08 */ stw r30, 8(r1) /* 803645EC 0036024C 7C 7E 1B 78 */ mr r30, r3 /* 803645F0 00360250 80 03 00 10 */ lwz r0, 0x10(r3) /* 803645F4 00360254 2C 00 00 00 */ cmpwi r0, 0 /* 803645F8 00360258 41 82 00 0C */ beq lbl_80364604 /* 803645FC 0036025C 38 60 00 00 */ li r3, 0 /* 80364600 00360260 48 00 00 FC */ b lbl_803646FC lbl_80364604: /* 80364604 00360264 80 64 00 00 */ lwz r3, 0(r4) /* 80364608 00360268 3C 03 AD BA */ addis r0, r3, 0xadba /* 8036460C 0036026C 28 00 4E 55 */ cmplwi r0, 0x4e55 /* 80364610 00360270 40 82 00 44 */ bne lbl_80364654 /* 80364614 00360274 A0 04 00 0C */ lhz r0, 0xc(r4) /* 80364618 00360278 A0 64 00 0E */ lhz r3, 0xe(r4) /* 8036461C 0036027C 7C 84 02 14 */ add r4, r4, r0 /* 80364620 00360280 7C 69 03 A6 */ mtctr r3 /* 80364624 00360284 2C 03 00 00 */ cmpwi r3, 0 /* 80364628 00360288 40 81 00 94 */ ble lbl_803646BC lbl_8036462C: /* 8036462C 0036028C 80 64 00 00 */ lwz r3, 0(r4) /* 80364630 00360290 3C 03 B9 B7 */ addis r0, r3, 0xb9b7 /* 80364634 00360294 28 00 4E 46 */ cmplwi r0, 0x4e46 /* 80364638 00360298 40 82 00 0C */ bne lbl_80364644 /* 8036463C 0036029C 38 A4 00 08 */ addi r5, r4, 8 /* 80364640 003602A0 48 00 00 7C */ b lbl_803646BC lbl_80364644: /* 80364644 003602A4 80 04 00 04 */ lwz r0, 4(r4) /* 80364648 003602A8 7C 84 02 14 */ add r4, r4, r0 /* 8036464C 003602AC 42 00 FF E0 */ bdnz lbl_8036462C /* 80364650 003602B0 48 00 00 6C */ b lbl_803646BC lbl_80364654: /* 80364654 003602B4 A0 04 00 06 */ lhz r0, 6(r4) /* 80364658 003602B8 28 00 01 04 */ cmplwi r0, 0x104 /* 8036465C 003602BC 40 82 00 2C */ bne lbl_80364688 /* 80364660 003602C0 3C 80 52 46 */ lis r4, 0x52464E54@ha /* 80364664 003602C4 7F E3 FB 78 */ mr r3, r31 /* 80364668 003602C8 38 84 4E 54 */ addi r4, r4, 0x52464E54@l /* 8036466C 003602CC 38 A0 01 04 */ li r5, 0x104 /* 80364670 003602D0 38 C0 00 02 */ li r6, 2 /* 80364674 003602D4 4B FF E6 31 */ bl IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs /* 80364678 003602D8 2C 03 00 00 */ cmpwi r3, 0 /* 8036467C 003602DC 40 82 00 34 */ bne lbl_803646B0 /* 80364680 003602E0 38 60 00 00 */ li r3, 0 /* 80364684 003602E4 48 00 00 78 */ b lbl_803646FC lbl_80364688: /* 80364688 003602E8 3C 80 52 46 */ lis r4, 0x52464E54@ha /* 8036468C 003602EC 7F E3 FB 78 */ mr r3, r31 /* 80364690 003602F0 38 84 4E 54 */ addi r4, r4, 0x52464E54@l /* 80364694 003602F4 38 A0 01 02 */ li r5, 0x102 /* 80364698 003602F8 38 C0 00 02 */ li r6, 2 /* 8036469C 003602FC 4B FF E6 09 */ bl IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs /* 803646A0 00360300 2C 03 00 00 */ cmpwi r3, 0 /* 803646A4 00360304 40 82 00 0C */ bne lbl_803646B0 /* 803646A8 00360308 38 60 00 00 */ li r3, 0 /* 803646AC 0036030C 48 00 00 50 */ b lbl_803646FC lbl_803646B0: /* 803646B0 00360310 7F E3 FB 78 */ mr r3, r31 /* 803646B4 00360314 48 00 00 61 */ bl Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader /* 803646B8 00360318 7C 65 1B 78 */ mr r5, r3 lbl_803646BC: /* 803646BC 0036031C 2C 05 00 00 */ cmpwi r5, 0 /* 803646C0 00360320 40 82 00 0C */ bne lbl_803646CC /* 803646C4 00360324 38 60 00 00 */ li r3, 0 /* 803646C8 00360328 48 00 00 34 */ b lbl_803646FC lbl_803646CC: /* 803646CC 0036032C 7F C3 F3 78 */ mr r3, r30 /* 803646D0 00360330 7F E4 FB 78 */ mr r4, r31 /* 803646D4 00360334 4B FF F9 1D */ bl SetResourceBuffer__Q44nw4r2ut6detail11ResFontBaseFPvPQ34nw4r2ut15FontInformation /* 803646D8 00360338 81 9E 00 00 */ lwz r12, 0(r30) /* 803646DC 0036033C 7F C3 F3 78 */ mr r3, r30 /* 803646E0 00360340 81 8C 00 54 */ lwz r12, 0x54(r12) /* 803646E4 00360344 7D 89 03 A6 */ mtctr r12 /* 803646E8 00360348 4E 80 04 21 */ bctrl /* 803646EC 0036034C 7C 64 1B 78 */ mr r4, r3 /* 803646F0 00360350 7F C3 F3 78 */ mr r3, r30 /* 803646F4 00360354 4B FF F7 91 */ bl InitReaderFunc__Q34nw4r2ut4FontFQ34nw4r2ut12FontEncoding /* 803646F8 00360358 38 60 00 01 */ li r3, 1 lbl_803646FC: /* 803646FC 0036035C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80364700 00360360 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80364704 00360364 83 C1 00 08 */ lwz r30, 8(r1) /* 80364708 00360368 7C 08 03 A6 */ mtlr r0 /* 8036470C 0036036C 38 21 00 10 */ addi r1, r1, 0x10 /* 80364710 00360370 4E 80 00 20 */ blr .global Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader: /* 80364714 00360374 A0 03 00 0C */ lhz r0, 0xc(r3) /* 80364718 00360378 3C 80 46 49 */ lis r4, 0x46494E46@ha /* 8036471C 0036037C 39 64 4E 46 */ addi r11, r4, 0x46494E46@l /* 80364720 00360380 38 A0 00 00 */ li r5, 0 /* 80364724 00360384 7C 83 02 14 */ add r4, r3, r0 /* 80364728 00360388 38 C0 00 00 */ li r6, 0 /* 8036472C 0036038C 3D 00 54 47 */ lis r8, 0x5447 /* 80364730 00360390 3D 40 43 57 */ lis r10, 0x4357 /* 80364734 00360394 3D 20 43 4D */ lis r9, 0x434d /* 80364738 00360398 3C E0 47 4C */ lis r7, 0x474c /* 8036473C 0036039C 48 00 00 E4 */ b lbl_80364820 lbl_80364740: /* 80364740 003603A0 81 84 00 00 */ lwz r12, 0(r4) /* 80364744 003603A4 7C 0C 58 00 */ cmpw r12, r11 /* 80364748 003603A8 41 82 00 48 */ beq lbl_80364790 /* 8036474C 003603AC 40 80 00 24 */ bge lbl_80364770 /* 80364750 003603B0 38 0A 44 48 */ addi r0, r10, 0x4448 /* 80364754 003603B4 7C 0C 00 00 */ cmpw r12, r0 /* 80364758 003603B8 41 82 00 84 */ beq lbl_803647DC /* 8036475C 003603BC 40 80 00 B0 */ bge lbl_8036480C /* 80364760 003603C0 38 09 41 50 */ addi r0, r9, 0x4150 /* 80364764 003603C4 7C 0C 00 00 */ cmpw r12, r0 /* 80364768 003603C8 41 82 00 8C */ beq lbl_803647F4 /* 8036476C 003603CC 48 00 00 A0 */ b lbl_8036480C lbl_80364770: /* 80364770 003603D0 38 08 4C 50 */ addi r0, r8, 0x4c50 /* 80364774 003603D4 7C 0C 00 00 */ cmpw r12, r0 /* 80364778 003603D8 41 82 00 54 */ beq lbl_803647CC /* 8036477C 003603DC 40 80 00 90 */ bge lbl_8036480C /* 80364780 003603E0 38 07 47 52 */ addi r0, r7, 0x4752 /* 80364784 003603E4 7C 0C 00 00 */ cmpw r12, r0 /* 80364788 003603E8 41 82 00 8C */ beq lbl_80364814 /* 8036478C 003603EC 48 00 00 80 */ b lbl_8036480C lbl_80364790: /* 80364790 003603F0 80 04 00 10 */ lwz r0, 0x10(r4) /* 80364794 003603F4 38 A4 00 08 */ addi r5, r4, 8 /* 80364798 003603F8 7C 03 02 14 */ add r0, r3, r0 /* 8036479C 003603FC 90 04 00 10 */ stw r0, 0x10(r4) /* 803647A0 00360400 80 04 00 14 */ lwz r0, 0x14(r4) /* 803647A4 00360404 2C 00 00 00 */ cmpwi r0, 0 /* 803647A8 00360408 41 82 00 0C */ beq lbl_803647B4 /* 803647AC 0036040C 7C 03 02 14 */ add r0, r3, r0 /* 803647B0 00360410 90 05 00 0C */ stw r0, 0xc(r5) lbl_803647B4: /* 803647B4 00360414 80 05 00 10 */ lwz r0, 0x10(r5) /* 803647B8 00360418 2C 00 00 00 */ cmpwi r0, 0 /* 803647BC 0036041C 41 82 00 58 */ beq lbl_80364814 /* 803647C0 00360420 7C 03 02 14 */ add r0, r3, r0 /* 803647C4 00360424 90 05 00 10 */ stw r0, 0x10(r5) /* 803647C8 00360428 48 00 00 4C */ b lbl_80364814 lbl_803647CC: /* 803647CC 0036042C 80 04 00 1C */ lwz r0, 0x1c(r4) /* 803647D0 00360430 7C 03 02 14 */ add r0, r3, r0 /* 803647D4 00360434 90 04 00 1C */ stw r0, 0x1c(r4) /* 803647D8 00360438 48 00 00 3C */ b lbl_80364814 lbl_803647DC: /* 803647DC 0036043C 80 04 00 0C */ lwz r0, 0xc(r4) /* 803647E0 00360440 2C 00 00 00 */ cmpwi r0, 0 /* 803647E4 00360444 41 82 00 30 */ beq lbl_80364814 /* 803647E8 00360448 7C 03 02 14 */ add r0, r3, r0 /* 803647EC 0036044C 90 04 00 0C */ stw r0, 0xc(r4) /* 803647F0 00360450 48 00 00 24 */ b lbl_80364814 lbl_803647F4: /* 803647F4 00360454 80 04 00 10 */ lwz r0, 0x10(r4) /* 803647F8 00360458 2C 00 00 00 */ cmpwi r0, 0 /* 803647FC 0036045C 41 82 00 18 */ beq lbl_80364814 /* 80364800 00360460 7C 03 02 14 */ add r0, r3, r0 /* 80364804 00360464 90 04 00 10 */ stw r0, 0x10(r4) /* 80364808 00360468 48 00 00 0C */ b lbl_80364814 lbl_8036480C: /* 8036480C 0036046C 38 60 00 00 */ li r3, 0 /* 80364810 00360470 4E 80 00 20 */ blr lbl_80364814: /* 80364814 00360474 80 04 00 04 */ lwz r0, 4(r4) /* 80364818 00360478 38 C6 00 01 */ addi r6, r6, 1 /* 8036481C 0036047C 7C 84 02 14 */ add r4, r4, r0 lbl_80364820: /* 80364820 00360480 A0 03 00 0E */ lhz r0, 0xe(r3) /* 80364824 00360484 7C 06 00 00 */ cmpw r6, r0 /* 80364828 00360488 41 80 FF 18 */ blt lbl_80364740 /* 8036482C 0036048C 3C 80 52 46 */ lis r4, 0x52464E55@ha /* 80364830 00360490 38 04 4E 55 */ addi r0, r4, 0x52464E55@l /* 80364834 00360494 90 03 00 00 */ stw r0, 0(r3) /* 80364838 00360498 7C A3 2B 78 */ mr r3, r5 /* 8036483C 0036049C 4E 80 00 20 */ blr