2022-10-16 16:05:58 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
2022-10-16 16:31:36 +00:00
|
|
|
.global ENCConvertStringUtf8ToUtf16
|
|
|
|
ENCConvertStringUtf8ToUtf16:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004D990 000497D0 38 E0 00 00 */ li r7, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004D994 000497D4 48 00 00 0C */ b ENCiConvertStringUtf8ToUtf16
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004D998 000497D8 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004D99C 000497DC 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global ENCiConvertStringUtf8ToUtf16
|
|
|
|
ENCiConvertStringUtf8ToUtf16:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004D9A0 000497E0 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
|
|
/* 8004D9A4 000497E4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 8004D9A8 000497E8 90 01 00 44 */ stw r0, 0x44(r1)
|
|
|
|
/* 8004D9AC 000497EC 39 61 00 40 */ addi r11, r1, 0x40
|
|
|
|
/* 8004D9B0 000497F0 4B FB 99 79 */ bl lbl_80007328
|
|
|
|
/* 8004D9B4 000497F4 7C B8 2B 78 */ mr r24, r5
|
|
|
|
/* 8004D9B8 000497F8 7C D9 33 78 */ mr r25, r6
|
|
|
|
/* 8004D9BC 000497FC 7C A3 00 D0 */ neg r5, r3
|
|
|
|
/* 8004D9C0 00049800 38 C0 FF FF */ li r6, -0x1
|
|
|
|
/* 8004D9C4 00049804 39 20 00 01 */ li r9, 0x1
|
|
|
|
/* 8004D9C8 00049808 7C 18 00 D0 */ neg r0, r24
|
|
|
|
/* 8004D9CC 0004980C 90 C1 00 14 */ stw r6, 0x14(r1)
|
|
|
|
/* 8004D9D0 00049810 7C A5 1B 78 */ or r5, r5, r3
|
|
|
|
/* 8004D9D4 00049814 7C 76 1B 78 */ mr r22, r3
|
|
|
|
/* 8004D9D8 00049818 7C 00 C3 78 */ or r0, r0, r24
|
|
|
|
/* 8004D9DC 0004981C 90 C1 00 10 */ stw r6, 0x10(r1)
|
|
|
|
/* 8004D9E0 00049820 7C FA 3B 78 */ mr r26, r7
|
|
|
|
/* 8004D9E4 00049824 54 A3 0F FE */ srwi r3, r5, 31
|
|
|
|
/* 8004D9E8 00049828 7C 97 23 78 */ mr r23, r4
|
|
|
|
/* 8004D9EC 0004982C 91 21 00 0C */ stw r9, 0xc(r1)
|
|
|
|
/* 8004D9F0 00049830 7F 28 CB 78 */ mr r8, r25
|
|
|
|
/* 8004D9F4 00049834 38 A1 00 10 */ addi r5, r1, 0x10
|
|
|
|
/* 8004D9F8 00049838 38 C1 00 0C */ addi r6, r1, 0xc
|
|
|
|
/* 8004D9FC 0004983C 91 21 00 08 */ stw r9, 0x8(r1)
|
|
|
|
/* 8004DA00 00049840 54 07 0F FE */ srwi r7, r0, 31
|
|
|
|
/* 8004DA04 00049844 39 21 00 14 */ addi r9, r1, 0x14
|
|
|
|
/* 8004DA08 00049848 39 41 00 08 */ addi r10, r1, 0x8
|
|
|
|
/* 8004DA0C 0004984C 3B C0 00 00 */ li r30, 0x0
|
|
|
|
/* 8004DA10 00049850 3B A0 00 00 */ li r29, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004DA14 00049854 4B FF FD 3D */ bl ENCiCheckParameters
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004DA18 00049858 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 8004DA1C 0004985C 7C 7C 1B 78 */ mr r28, r3
|
|
|
|
/* 8004DA20 00049860 41 82 00 08 */ beq lbl_8004DA28
|
|
|
|
/* 8004DA24 00049864 48 00 02 78 */ b lbl_8004DC9C
|
|
|
|
.global lbl_8004DA28
|
|
|
|
lbl_8004DA28:
|
|
|
|
/* 8004DA28 00049868 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 8004DA2C 0004986C 2C 00 00 03 */ cmpwi r0, 0x3
|
|
|
|
/* 8004DA30 00049870 40 80 00 10 */ bge lbl_8004DA40
|
|
|
|
/* 8004DA34 00049874 80 01 00 08 */ lwz r0, 0x8(r1)
|
|
|
|
/* 8004DA38 00049878 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DA3C 0004987C 40 82 02 20 */ bne lbl_8004DC5C
|
|
|
|
.global lbl_8004DA40
|
|
|
|
lbl_8004DA40:
|
|
|
|
/* 8004DA40 00049880 88 18 00 00 */ lbz r0, 0x0(r24)
|
|
|
|
/* 8004DA44 00049884 28 00 00 EF */ cmplwi r0, 0xef
|
|
|
|
/* 8004DA48 00049888 40 82 02 14 */ bne lbl_8004DC5C
|
|
|
|
/* 8004DA4C 0004988C 88 18 00 01 */ lbz r0, 0x1(r24)
|
|
|
|
/* 8004DA50 00049890 28 00 00 BB */ cmplwi r0, 0xbb
|
|
|
|
/* 8004DA54 00049894 40 82 02 08 */ bne lbl_8004DC5C
|
|
|
|
/* 8004DA58 00049898 88 18 00 02 */ lbz r0, 0x2(r24)
|
|
|
|
/* 8004DA5C 0004989C 28 00 00 BF */ cmplwi r0, 0xbf
|
|
|
|
/* 8004DA60 000498A0 40 82 01 FC */ bne lbl_8004DC5C
|
|
|
|
/* 8004DA64 000498A4 3B C0 00 03 */ li r30, 0x3
|
|
|
|
/* 8004DA68 000498A8 3B 18 00 03 */ addi r24, r24, 0x3
|
|
|
|
/* 8004DA6C 000498AC 48 00 01 F0 */ b lbl_8004DC5C
|
|
|
|
.global lbl_8004DA70
|
|
|
|
lbl_8004DA70:
|
|
|
|
/* 8004DA70 000498B0 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
|
|
/* 8004DA74 000498B4 7C 1D 00 00 */ cmpw r29, r0
|
|
|
|
/* 8004DA78 000498B8 41 80 00 18 */ blt lbl_8004DA90
|
|
|
|
/* 8004DA7C 000498BC 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
|
|
/* 8004DA80 000498C0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DA84 000498C4 41 82 00 0C */ beq lbl_8004DA90
|
|
|
|
/* 8004DA88 000498C8 3B 80 FF FF */ li r28, -0x1
|
|
|
|
/* 8004DA8C 000498CC 48 00 01 F4 */ b lbl_8004DC80
|
|
|
|
.global lbl_8004DA90
|
|
|
|
lbl_8004DA90:
|
|
|
|
/* 8004DA90 000498D0 2C 1A 00 00 */ cmpwi r26, 0x0
|
|
|
|
/* 8004DA94 000498D4 40 81 00 A8 */ ble lbl_8004DB3C
|
|
|
|
/* 8004DA98 000498D8 7C 1E 18 50 */ subf r0, r30, r3
|
|
|
|
/* 8004DA9C 000498DC 7F E3 FB 78 */ mr r3, r31
|
|
|
|
/* 8004DAA0 000498E0 2C 00 00 01 */ cmpwi r0, 0x1
|
|
|
|
/* 8004DAA4 000498E4 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 8004DAA8 000498E8 41 81 00 10 */ bgt lbl_8004DAB8
|
|
|
|
/* 8004DAAC 000498EC 80 01 00 08 */ lwz r0, 0x8(r1)
|
|
|
|
/* 8004DAB0 000498F0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DAB4 000498F4 40 82 00 08 */ bne lbl_8004DABC
|
|
|
|
.global lbl_8004DAB8
|
|
|
|
lbl_8004DAB8:
|
|
|
|
/* 8004DAB8 000498F8 38 80 00 01 */ li r4, 0x1
|
|
|
|
.global lbl_8004DABC
|
|
|
|
lbl_8004DABC:
|
|
|
|
/* 8004DABC 000498FC 2C 04 00 00 */ cmpwi r4, 0x0
|
|
|
|
/* 8004DAC0 00049900 41 82 00 0C */ beq lbl_8004DACC
|
|
|
|
/* 8004DAC4 00049904 88 98 00 01 */ lbz r4, 0x1(r24)
|
|
|
|
/* 8004DAC8 00049908 48 00 00 08 */ b lbl_8004DAD0
|
|
|
|
.global lbl_8004DACC
|
|
|
|
lbl_8004DACC:
|
|
|
|
/* 8004DACC 0004990C 38 80 00 00 */ li r4, 0x0
|
|
|
|
.global lbl_8004DAD0
|
|
|
|
lbl_8004DAD0:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004DAD0 00049910 4B FF FD 81 */ bl ENCiCheckBreakType
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004DAD4 00049914 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 8004DAD8 00049918 7C 7B 1B 78 */ mr r27, r3
|
|
|
|
/* 8004DADC 0004991C 40 81 00 60 */ ble lbl_8004DB3C
|
|
|
|
/* 8004DAE0 00049920 80 C1 00 0C */ lwz r6, 0xc(r1)
|
|
|
|
/* 8004DAE4 00049924 7E C3 B3 78 */ mr r3, r22
|
|
|
|
/* 8004DAE8 00049928 7F 45 D3 78 */ mr r5, r26
|
|
|
|
/* 8004DAEC 0004992C 38 80 00 02 */ li r4, 0x2
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004DAF0 00049930 4B FF FD A1 */ bl ENCiWriteBreakType
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004DAF4 00049934 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
|
|
/* 8004DAF8 00049938 7C 1D 00 50 */ subf r0, r29, r0
|
|
|
|
/* 8004DAFC 0004993C 7C 00 18 00 */ cmpw r0, r3
|
|
|
|
/* 8004DB00 00049940 40 80 00 18 */ bge lbl_8004DB18
|
|
|
|
/* 8004DB04 00049944 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
|
|
/* 8004DB08 00049948 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DB0C 0004994C 41 82 00 0C */ beq lbl_8004DB18
|
|
|
|
/* 8004DB10 00049950 3B 80 FF FF */ li r28, -0x1
|
|
|
|
/* 8004DB14 00049954 48 00 01 6C */ b lbl_8004DC80
|
|
|
|
.global lbl_8004DB18
|
|
|
|
lbl_8004DB18:
|
|
|
|
/* 8004DB18 00049958 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
|
|
/* 8004DB1C 0004995C 7F 18 DA 14 */ add r24, r24, r27
|
|
|
|
/* 8004DB20 00049960 7F DE DA 14 */ add r30, r30, r27
|
|
|
|
/* 8004DB24 00049964 7F BD 1A 14 */ add r29, r29, r3
|
|
|
|
/* 8004DB28 00049968 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DB2C 0004996C 41 82 01 30 */ beq lbl_8004DC5C
|
|
|
|
/* 8004DB30 00049970 54 60 08 3C */ slwi r0, r3, 1
|
|
|
|
/* 8004DB34 00049974 7E D6 02 14 */ add r22, r22, r0
|
|
|
|
/* 8004DB38 00049978 48 00 01 24 */ b lbl_8004DC5C
|
|
|
|
.global lbl_8004DB3C
|
|
|
|
lbl_8004DB3C:
|
|
|
|
/* 8004DB3C 0004997C 28 1F 00 80 */ cmplwi r31, 0x80
|
|
|
|
/* 8004DB40 00049980 40 80 00 28 */ bge lbl_8004DB68
|
|
|
|
/* 8004DB44 00049984 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
|
|
/* 8004DB48 00049988 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DB4C 0004998C 41 82 00 0C */ beq lbl_8004DB58
|
|
|
|
/* 8004DB50 00049990 B3 F6 00 00 */ sth r31, 0x0(r22)
|
|
|
|
/* 8004DB54 00049994 3A D6 00 02 */ addi r22, r22, 0x2
|
|
|
|
.global lbl_8004DB58
|
|
|
|
lbl_8004DB58:
|
|
|
|
/* 8004DB58 00049998 3B BD 00 01 */ addi r29, r29, 0x1
|
|
|
|
/* 8004DB5C 0004999C 3B 18 00 01 */ addi r24, r24, 0x1
|
|
|
|
/* 8004DB60 000499A0 3B DE 00 01 */ addi r30, r30, 0x1
|
|
|
|
/* 8004DB64 000499A4 48 00 00 F8 */ b lbl_8004DC5C
|
|
|
|
.global lbl_8004DB68
|
|
|
|
lbl_8004DB68:
|
|
|
|
/* 8004DB68 000499A8 57 E0 06 34 */ rlwinm r0, r31, 0, 24, 26
|
|
|
|
/* 8004DB6C 000499AC 28 00 00 C0 */ cmplwi r0, 0xc0
|
|
|
|
/* 8004DB70 000499B0 40 82 00 10 */ bne lbl_8004DB80
|
|
|
|
/* 8004DB74 000499B4 3B E0 00 02 */ li r31, 0x2
|
|
|
|
/* 8004DB78 000499B8 3B 60 00 01 */ li r27, 0x1
|
|
|
|
/* 8004DB7C 000499BC 48 00 00 3C */ b lbl_8004DBB8
|
|
|
|
.global lbl_8004DB80
|
|
|
|
lbl_8004DB80:
|
|
|
|
/* 8004DB80 000499C0 57 E0 06 36 */ rlwinm r0, r31, 0, 24, 27
|
|
|
|
/* 8004DB84 000499C4 28 00 00 E0 */ cmplwi r0, 0xe0
|
|
|
|
/* 8004DB88 000499C8 40 82 00 10 */ bne lbl_8004DB98
|
|
|
|
/* 8004DB8C 000499CC 3B E0 00 03 */ li r31, 0x3
|
|
|
|
/* 8004DB90 000499D0 3B 60 00 01 */ li r27, 0x1
|
|
|
|
/* 8004DB94 000499D4 48 00 00 24 */ b lbl_8004DBB8
|
|
|
|
.global lbl_8004DB98
|
|
|
|
lbl_8004DB98:
|
|
|
|
/* 8004DB98 000499D8 57 E0 06 38 */ rlwinm r0, r31, 0, 24, 28
|
|
|
|
/* 8004DB9C 000499DC 28 00 00 F0 */ cmplwi r0, 0xf0
|
|
|
|
/* 8004DBA0 000499E0 40 82 00 10 */ bne lbl_8004DBB0
|
|
|
|
/* 8004DBA4 000499E4 3B E0 00 04 */ li r31, 0x4
|
|
|
|
/* 8004DBA8 000499E8 3B 60 00 02 */ li r27, 0x2
|
|
|
|
/* 8004DBAC 000499EC 48 00 00 0C */ b lbl_8004DBB8
|
|
|
|
.global lbl_8004DBB0
|
|
|
|
lbl_8004DBB0:
|
|
|
|
/* 8004DBB0 000499F0 3B 80 FF FC */ li r28, -0x4
|
|
|
|
/* 8004DBB4 000499F4 48 00 00 CC */ b lbl_8004DC80
|
|
|
|
.global lbl_8004DBB8
|
|
|
|
lbl_8004DBB8:
|
|
|
|
/* 8004DBB8 000499F8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 8004DBBC 000499FC 7C 1E 00 50 */ subf r0, r30, r0
|
|
|
|
/* 8004DBC0 00049A00 7C 00 F8 00 */ cmpw r0, r31
|
|
|
|
/* 8004DBC4 00049A04 40 80 00 10 */ bge lbl_8004DBD4
|
|
|
|
/* 8004DBC8 00049A08 80 01 00 08 */ lwz r0, 0x8(r1)
|
|
|
|
/* 8004DBCC 00049A0C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DBD0 00049A10 40 82 00 B0 */ bne lbl_8004DC80
|
|
|
|
.global lbl_8004DBD4
|
|
|
|
lbl_8004DBD4:
|
|
|
|
/* 8004DBD4 00049A14 7F 03 C3 78 */ mr r3, r24
|
|
|
|
/* 8004DBD8 00049A18 7F E4 FB 78 */ mr r4, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004DBDC 00049A1C 48 00 00 E5 */ bl ENCiConvertUtf8To32
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004DBE0 00049A20 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 8004DBE4 00049A24 40 82 00 0C */ bne lbl_8004DBF0
|
|
|
|
/* 8004DBE8 00049A28 3B 80 FF FC */ li r28, -0x4
|
|
|
|
/* 8004DBEC 00049A2C 48 00 00 94 */ b lbl_8004DC80
|
|
|
|
.global lbl_8004DBF0
|
|
|
|
lbl_8004DBF0:
|
|
|
|
/* 8004DBF0 00049A30 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
|
|
/* 8004DBF4 00049A34 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DBF8 00049A38 41 82 00 58 */ beq lbl_8004DC50
|
|
|
|
/* 8004DBFC 00049A3C 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
|
|
/* 8004DC00 00049A40 7C 1D 00 50 */ subf r0, r29, r0
|
|
|
|
/* 8004DC04 00049A44 7C 00 D8 00 */ cmpw r0, r27
|
|
|
|
/* 8004DC08 00049A48 40 80 00 0C */ bge lbl_8004DC14
|
|
|
|
/* 8004DC0C 00049A4C 3B 80 FF FF */ li r28, -0x1
|
|
|
|
/* 8004DC10 00049A50 48 00 00 70 */ b lbl_8004DC80
|
|
|
|
.global lbl_8004DC14
|
|
|
|
lbl_8004DC14:
|
|
|
|
/* 8004DC14 00049A54 2C 1B 00 01 */ cmpwi r27, 0x1
|
|
|
|
/* 8004DC18 00049A58 40 82 00 08 */ bne lbl_8004DC20
|
|
|
|
/* 8004DC1C 00049A5C B0 76 00 00 */ sth r3, 0x0(r22)
|
|
|
|
.global lbl_8004DC20
|
|
|
|
lbl_8004DC20:
|
|
|
|
/* 8004DC20 00049A60 2C 1B 00 02 */ cmpwi r27, 0x2
|
|
|
|
/* 8004DC24 00049A64 40 82 00 24 */ bne lbl_8004DC48
|
|
|
|
/* 8004DC28 00049A68 54 64 B2 BE */ srwi r4, r3, 10
|
|
|
|
/* 8004DC2C 00049A6C 54 63 05 BE */ clrlwi r3, r3, 22
|
|
|
|
/* 8004DC30 00049A70 3C 84 00 01 */ addis r4, r4, 0x1
|
|
|
|
/* 8004DC34 00049A74 38 04 D7 C0 */ addi r0, r4, -0x2840
|
|
|
|
/* 8004DC38 00049A78 B0 16 00 00 */ sth r0, 0x0(r22)
|
|
|
|
/* 8004DC3C 00049A7C 3C 63 00 01 */ addis r3, r3, 0x1
|
|
|
|
/* 8004DC40 00049A80 38 03 DC 00 */ addi r0, r3, -0x2400
|
|
|
|
/* 8004DC44 00049A84 B0 16 00 02 */ sth r0, 0x2(r22)
|
|
|
|
.global lbl_8004DC48
|
|
|
|
lbl_8004DC48:
|
|
|
|
/* 8004DC48 00049A88 57 60 08 3C */ slwi r0, r27, 1
|
|
|
|
/* 8004DC4C 00049A8C 7E D6 02 14 */ add r22, r22, r0
|
|
|
|
.global lbl_8004DC50
|
|
|
|
lbl_8004DC50:
|
|
|
|
/* 8004DC50 00049A90 7F BD DA 14 */ add r29, r29, r27
|
|
|
|
/* 8004DC54 00049A94 7F 18 FA 14 */ add r24, r24, r31
|
|
|
|
/* 8004DC58 00049A98 7F DE FA 14 */ add r30, r30, r31
|
|
|
|
.global lbl_8004DC5C
|
|
|
|
lbl_8004DC5C:
|
|
|
|
/* 8004DC5C 00049A9C 8B F8 00 00 */ lbz r31, 0x0(r24)
|
|
|
|
/* 8004DC60 00049AA0 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
|
|
/* 8004DC64 00049AA4 41 82 00 1C */ beq lbl_8004DC80
|
|
|
|
/* 8004DC68 00049AA8 80 61 00 14 */ lwz r3, 0x14(r1)
|
|
|
|
/* 8004DC6C 00049AAC 7C 1E 18 00 */ cmpw r30, r3
|
|
|
|
/* 8004DC70 00049AB0 41 80 FE 00 */ blt lbl_8004DA70
|
|
|
|
/* 8004DC74 00049AB4 80 01 00 08 */ lwz r0, 0x8(r1)
|
|
|
|
/* 8004DC78 00049AB8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004DC7C 00049ABC 41 82 FD F4 */ beq lbl_8004DA70
|
|
|
|
.global lbl_8004DC80
|
|
|
|
lbl_8004DC80:
|
|
|
|
/* 8004DC80 00049AC0 2C 19 00 00 */ cmpwi r25, 0x0
|
|
|
|
/* 8004DC84 00049AC4 41 82 00 08 */ beq lbl_8004DC8C
|
|
|
|
/* 8004DC88 00049AC8 93 D9 00 00 */ stw r30, 0x0(r25)
|
|
|
|
.global lbl_8004DC8C
|
|
|
|
lbl_8004DC8C:
|
|
|
|
/* 8004DC8C 00049ACC 2C 17 00 00 */ cmpwi r23, 0x0
|
|
|
|
/* 8004DC90 00049AD0 41 82 00 08 */ beq lbl_8004DC98
|
|
|
|
/* 8004DC94 00049AD4 93 B7 00 00 */ stw r29, 0x0(r23)
|
|
|
|
.global lbl_8004DC98
|
|
|
|
lbl_8004DC98:
|
|
|
|
/* 8004DC98 00049AD8 7F 83 E3 78 */ mr r3, r28
|
|
|
|
.global lbl_8004DC9C
|
|
|
|
lbl_8004DC9C:
|
|
|
|
/* 8004DC9C 00049ADC 39 61 00 40 */ addi r11, r1, 0x40
|
|
|
|
/* 8004DCA0 00049AE0 4B FB 96 D5 */ bl lbl_80007374
|
|
|
|
/* 8004DCA4 00049AE4 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
|
|
/* 8004DCA8 00049AE8 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 8004DCAC 00049AEC 38 21 00 40 */ addi r1, r1, 0x40
|
|
|
|
/* 8004DCB0 00049AF0 4E 80 00 20 */ blr
|
|
|
|
/* 8004DCB4 00049AF4 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004DCB8 00049AF8 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004DCBC 00049AFC 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global ENCiConvertUtf8To32
|
|
|
|
ENCiConvertUtf8To32:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004DCC0 00049B00 2C 04 00 01 */ cmpwi r4, 0x1
|
|
|
|
/* 8004DCC4 00049B04 41 82 00 20 */ beq lbl_8004DCE4
|
|
|
|
/* 8004DCC8 00049B08 2C 04 00 02 */ cmpwi r4, 0x2
|
|
|
|
/* 8004DCCC 00049B0C 41 82 00 20 */ beq lbl_8004DCEC
|
|
|
|
/* 8004DCD0 00049B10 2C 04 00 03 */ cmpwi r4, 0x3
|
|
|
|
/* 8004DCD4 00049B14 41 82 00 24 */ beq lbl_8004DCF8
|
|
|
|
/* 8004DCD8 00049B18 2C 04 00 04 */ cmpwi r4, 0x4
|
|
|
|
/* 8004DCDC 00049B1C 41 82 00 28 */ beq lbl_8004DD04
|
|
|
|
/* 8004DCE0 00049B20 48 00 00 30 */ b lbl_8004DD10
|
|
|
|
.global lbl_8004DCE4
|
|
|
|
lbl_8004DCE4:
|
|
|
|
/* 8004DCE4 00049B24 88 A3 00 00 */ lbz r5, 0x0(r3)
|
|
|
|
/* 8004DCE8 00049B28 48 00 00 30 */ b lbl_8004DD18
|
|
|
|
.global lbl_8004DCEC
|
|
|
|
lbl_8004DCEC:
|
|
|
|
/* 8004DCEC 00049B2C 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
|
|
/* 8004DCF0 00049B30 54 05 06 FE */ clrlwi r5, r0, 27
|
|
|
|
/* 8004DCF4 00049B34 48 00 00 24 */ b lbl_8004DD18
|
|
|
|
.global lbl_8004DCF8
|
|
|
|
lbl_8004DCF8:
|
|
|
|
/* 8004DCF8 00049B38 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
|
|
/* 8004DCFC 00049B3C 54 05 07 3E */ clrlwi r5, r0, 28
|
|
|
|
/* 8004DD00 00049B40 48 00 00 18 */ b lbl_8004DD18
|
|
|
|
.global lbl_8004DD04
|
|
|
|
lbl_8004DD04:
|
|
|
|
/* 8004DD04 00049B44 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
|
|
/* 8004DD08 00049B48 54 05 07 7E */ clrlwi r5, r0, 29
|
|
|
|
/* 8004DD0C 00049B4C 48 00 00 0C */ b lbl_8004DD18
|
|
|
|
.global lbl_8004DD10
|
|
|
|
lbl_8004DD10:
|
|
|
|
/* 8004DD10 00049B50 38 60 00 00 */ li r3, 0x0
|
|
|
|
/* 8004DD14 00049B54 4E 80 00 20 */ blr
|
|
|
|
.global lbl_8004DD18
|
|
|
|
lbl_8004DD18:
|
|
|
|
/* 8004DD18 00049B58 38 04 FF FF */ addi r0, r4, -0x1
|
|
|
|
/* 8004DD1C 00049B5C 38 63 00 01 */ addi r3, r3, 0x1
|
|
|
|
/* 8004DD20 00049B60 7C 09 03 A6 */ mtctr r0
|
|
|
|
/* 8004DD24 00049B64 2C 04 00 01 */ cmpwi r4, 0x1
|
|
|
|
/* 8004DD28 00049B68 40 81 00 34 */ ble lbl_8004DD5C
|
|
|
|
/* 8004DD2C 00049B6C 60 00 00 00 */ nop
|
|
|
|
.global lbl_8004DD30
|
|
|
|
lbl_8004DD30:
|
|
|
|
/* 8004DD30 00049B70 88 83 00 00 */ lbz r4, 0x0(r3)
|
|
|
|
/* 8004DD34 00049B74 54 80 06 32 */ rlwinm r0, r4, 0, 24, 25
|
|
|
|
/* 8004DD38 00049B78 28 00 00 80 */ cmplwi r0, 0x80
|
|
|
|
/* 8004DD3C 00049B7C 41 82 00 0C */ beq lbl_8004DD48
|
|
|
|
/* 8004DD40 00049B80 38 60 00 00 */ li r3, 0x0
|
|
|
|
/* 8004DD44 00049B84 4E 80 00 20 */ blr
|
|
|
|
.global lbl_8004DD48
|
|
|
|
lbl_8004DD48:
|
|
|
|
/* 8004DD48 00049B88 54 A5 30 32 */ slwi r5, r5, 6
|
|
|
|
/* 8004DD4C 00049B8C 54 80 06 BE */ clrlwi r0, r4, 26
|
|
|
|
/* 8004DD50 00049B90 7C A5 02 14 */ add r5, r5, r0
|
|
|
|
/* 8004DD54 00049B94 38 63 00 01 */ addi r3, r3, 0x1
|
|
|
|
/* 8004DD58 00049B98 42 00 FF D8 */ bdnz lbl_8004DD30
|
|
|
|
.global lbl_8004DD5C
|
|
|
|
lbl_8004DD5C:
|
|
|
|
/* 8004DD5C 00049B9C 7C A3 2B 78 */ mr r3, r5
|
|
|
|
/* 8004DD60 00049BA0 4E 80 00 20 */ blr
|
|
|
|
/* 8004DD64 00049BA4 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004DD68 00049BA8 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004DD6C 00049BAC 00 00 00 00 */ .4byte 0x00000000
|