prime/asm/Dolphin/os/OSFont.s

1483 lines
49 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata
.global lbl_805A8B48
lbl_805A8B48:
.incbin "baserom.dol", 0x3F64E8, 0x8
.section .sbss
lbl_805A98C0:
.skip 0x4
lbl_805A98C4:
.skip 0x4
lbl_805A98C8:
.skip 0x4
lbl_805A98CC:
.skip 0x4
.section .data
.balign 8
.global lbl_803F1750
lbl_803F1750:
.4byte 0x020C020D
.4byte 0x020E020F
.4byte 0x02100211
.4byte 0x02120213
.4byte 0x02140215
.4byte 0x02160217
.4byte 0x02180219
.4byte 0x021A021B
.4byte 0x021C021D
.4byte 0x021E021F
.4byte 0x02200221
.4byte 0x02220223
.4byte 0x02240225
.4byte 0x02260227
.4byte 0x02280229
.4byte 0x022A022B
.4byte 0x022C022D
.4byte 0x022E022F
.4byte 0x02300231
.4byte 0x02320233
.4byte 0x02340235
.4byte 0x02360237
.4byte 0x02380239
.4byte 0x023A023B
.4byte 0x023C023D
.4byte 0x023E023F
.4byte 0x02400241
.4byte 0x02420243
.4byte 0x02440245
.4byte 0x02460247
.4byte 0x02480249
.4byte 0x024A024B
.4byte 0x024C024D
.4byte 0x024E024F
.4byte 0x02500251
.4byte 0x02520253
.4byte 0x02540255
.4byte 0x02560257
.4byte 0x02580259
.4byte 0x025A025B
.4byte 0x025C025D
.4byte 0x025E025F
.4byte 0x02600261
.4byte 0x02620263
.4byte 0x02640265
.4byte 0x02660267
.4byte 0x02680269
.4byte 0x026A020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C020C
.4byte 0x020C026B
.4byte 0x026C026D
.4byte 0x026E026F
.4byte 0x02700271
.4byte 0x02720273
.4byte 0x02740275
.4byte 0x02760277
.4byte 0x02780279
.4byte 0x027A027B
.4byte 0x027C027D
.4byte 0x027E027F
.4byte 0x02800281
.4byte 0x02820283
.4byte 0x02840285
.4byte 0x02860287
.4byte 0x02880289
.4byte 0x028A028B
.4byte 0x028C028D
.4byte 0x028E028F
.4byte 0x02900291
.4byte 0x02920293
.4byte 0x02940295
.4byte 0x02960297
.4byte 0x02980299
.4byte 0x029A029B
.4byte 0x029C029D
.4byte 0x029E029F
.4byte 0x02A002A1
.4byte 0x02A202A3
.4byte 0x02A402A5
.4byte 0x02A602A7
.4byte 0x02A802A9
.global lbl_803F18D0
lbl_803F18D0:
.4byte 0x00000001
.4byte 0x00020003
.4byte 0x00040005
.4byte 0x00060007
.4byte 0x00080009
.4byte 0x000A000B
.4byte 0x000C000D
.4byte 0x000E000F
.4byte 0x00100011
.4byte 0x00120013
.4byte 0x00140015
.4byte 0x00160017
.4byte 0x00180019
.4byte 0x001A001B
.4byte 0x001C001D
.4byte 0x001E001F
.4byte 0x00200021
.4byte 0x00220023
.4byte 0x00240025
.4byte 0x00260027
.4byte 0x00280029
.4byte 0x002A002B
.4byte 0x002C002D
.4byte 0x002E002F
.4byte 0x00300031
.4byte 0x00320033
.4byte 0x00340035
.4byte 0x00360037
.4byte 0x00380039
.4byte 0x003A003B
.4byte 0x003C003D
.4byte 0x003E003F
.4byte 0x00400041
.4byte 0x00420043
.4byte 0x00440045
.4byte 0x00460047
.4byte 0x00480049
.4byte 0x004A004B
.4byte 0x004C004D
.4byte 0x004E004F
.4byte 0x00500051
.4byte 0x00520053
.4byte 0x00540055
.4byte 0x00560057
.4byte 0x00580059
.4byte 0x005A005B
.4byte 0x005C005D
.4byte 0x005E005F
.4byte 0x00600061
.4byte 0x00620063
.4byte 0x00640065
.4byte 0x00660067
.4byte 0x00680069
.4byte 0x006A006B
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x0000006C
.4byte 0x006D006E
.4byte 0x006F0070
.4byte 0x00710072
.4byte 0x00730000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000074
.4byte 0x00750076
.4byte 0x00770078
.4byte 0x0079007A
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x0000007B
.4byte 0x007C007D
.4byte 0x007E007F
.4byte 0x00800081
.4byte 0x00820083
.4byte 0x00840085
.4byte 0x00860087
.4byte 0x00880089
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x0000008A
.4byte 0x008B008C
.4byte 0x008D008E
.4byte 0x008F0090
.4byte 0x00910000
.4byte 0x00000000
.4byte 0x00000092
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000093
.4byte 0x00940095
.4byte 0x00960097
.4byte 0x00980099
.4byte 0x009A009B
.4byte 0x009C0000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x009D009E
.4byte 0x009F00A0
.4byte 0x00A100A2
.4byte 0x00A300A4
.4byte 0x00A500A6
.4byte 0x00A700A8
.4byte 0x00A900AA
.4byte 0x00AB00AC
.4byte 0x00AD00AE
.4byte 0x00AF00B0
.4byte 0x00B100B2
.4byte 0x00B300B4
.4byte 0x00B500B6
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00B700B8
.4byte 0x00B900BA
.4byte 0x00BB00BC
.4byte 0x00BD00BE
.4byte 0x00BF00C0
.4byte 0x00C100C2
.4byte 0x00C300C4
.4byte 0x00C500C6
.4byte 0x00C700C8
.4byte 0x00C900CA
.4byte 0x00CB00CC
.4byte 0x00CD00CE
.4byte 0x00CF00D0
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00D100D2
.4byte 0x00D300D4
.4byte 0x00D500D6
.4byte 0x00D700D8
.4byte 0x00D900DA
.4byte 0x00DB00DC
.4byte 0x00DD00DE
.4byte 0x00DF00E0
.4byte 0x00E100E2
.4byte 0x00E300E4
.4byte 0x00E500E6
.4byte 0x00E700E8
.4byte 0x00E900EA
.4byte 0x00EB00EC
.4byte 0x00ED00EE
.4byte 0x00EF00F0
.4byte 0x00F100F2
.4byte 0x00F300F4
.4byte 0x00F500F6
.4byte 0x00F700F8
.4byte 0x00F900FA
.4byte 0x00FB00FC
.4byte 0x00FD00FE
.4byte 0x00FF0100
.4byte 0x01010102
.4byte 0x01030104
.4byte 0x01050106
.4byte 0x01070108
.4byte 0x0109010A
.4byte 0x010B010C
.4byte 0x010D010E
.4byte 0x010F0110
.4byte 0x01110112
.4byte 0x01130114
.4byte 0x01150116
.4byte 0x01170118
.4byte 0x0119011A
.4byte 0x011B011C
.4byte 0x011D011E
.4byte 0x011F0120
.4byte 0x01210122
.4byte 0x01230000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x01240125
.4byte 0x01260127
.4byte 0x01280129
.4byte 0x012A012B
.4byte 0x012C012D
.4byte 0x012E012F
.4byte 0x01300131
.4byte 0x01320133
.4byte 0x01340135
.4byte 0x01360137
.4byte 0x01380139
.4byte 0x013A013B
.4byte 0x013C013D
.4byte 0x013E013F
.4byte 0x01400141
.4byte 0x01420143
.4byte 0x01440145
.4byte 0x01460147
.4byte 0x01480149
.4byte 0x014A014B
.4byte 0x014C014D
.4byte 0x014E014F
.4byte 0x01500151
.4byte 0x01520153
.4byte 0x01540155
.4byte 0x01560157
.4byte 0x01580159
.4byte 0x015A015B
.4byte 0x015C015D
.4byte 0x015E015F
.4byte 0x01600161
.4byte 0x01620163
.4byte 0x01640165
.4byte 0x01660167
.4byte 0x01680169
.4byte 0x016A016B
.4byte 0x016C016D
.4byte 0x016E016F
.4byte 0x01700171
.4byte 0x01720173
.4byte 0x01740175
.4byte 0x01760177
.4byte 0x01780179
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x017A017B
.4byte 0x017C017D
.4byte 0x017E017F
.4byte 0x01800181
.4byte 0x01820183
.4byte 0x01840185
.4byte 0x01860187
.4byte 0x01880189
.4byte 0x018A018B
.4byte 0x018C018D
.4byte 0x018E018F
.4byte 0x01900191
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x01920193
.4byte 0x01940195
.4byte 0x01960197
.4byte 0x01980199
.4byte 0x019A019B
.4byte 0x019C019D
.4byte 0x019E019F
.4byte 0x01A001A1
.4byte 0x01A201A3
.4byte 0x01A401A5
.4byte 0x01A601A7
.4byte 0x01A801A9
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x01AA01AB
.4byte 0x01AC01AD
.4byte 0x01AE01AF
.4byte 0x01B001B1
.4byte 0x01B201B3
.4byte 0x01B401B5
.4byte 0x01B601B7
.4byte 0x01B801B9
.4byte 0x01BA01BB
.4byte 0x01BC01BD
.4byte 0x01BE01BF
.4byte 0x01C001C1
.4byte 0x01C201C3
.4byte 0x01C401C5
.4byte 0x01C601C7
.4byte 0x01C801C9
.4byte 0x01CA0000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x01CB01CC
.4byte 0x01CD01CE
.4byte 0x01CF01D0
.4byte 0x01D101D2
.4byte 0x01D301D4
.4byte 0x01D501D6
.4byte 0x01D701D8
.4byte 0x01D901DA
.4byte 0x01DB01DC
.4byte 0x01DD01DE
.4byte 0x01DF01E0
.4byte 0x01E101E2
.4byte 0x01E301E4
.4byte 0x01E501E6
.4byte 0x01E701E8
.4byte 0x01E901EA
.4byte 0x01EB0000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x01EC01ED
.4byte 0x01EE01EF
.4byte 0x01F001F1
.4byte 0x01F201F3
.4byte 0x01F401F5
.4byte 0x01F601F7
.4byte 0x01F801F9
.4byte 0x01FA01FB
.4byte 0x01FC01FD
.4byte 0x01FE01FF
.4byte 0x02000201
.4byte 0x02020203
.4byte 0x02040205
.4byte 0x02060207
.4byte 0x02080209
.4byte 0x020A020B
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x0000020C
.4byte 0x020D020E
.4byte 0x020F0210
.4byte 0x02110212
.4byte 0x02130214
.4byte 0x02150216
.4byte 0x02170218
.4byte 0x0219021A
.4byte 0x021B021C
.4byte 0x021D021E
.4byte 0x021F0220
.4byte 0x02210222
.4byte 0x02230224
.4byte 0x02250226
.4byte 0x02270228
.4byte 0x0229022A
.4byte 0x022B022C
.4byte 0x022D022E
.4byte 0x022F0230
.4byte 0x02310232
.4byte 0x02330234
.4byte 0x02350236
.4byte 0x02370238
.4byte 0x0239023A
.4byte 0x023B023C
.4byte 0x023D023E
.4byte 0x023F0240
.4byte 0x02410242
.4byte 0x02430244
.4byte 0x02450246
.4byte 0x02470248
.4byte 0x0249024A
.4byte 0x024B024C
.4byte 0x024D024E
.4byte 0x024F0250
.4byte 0x02510252
.4byte 0x02530254
.4byte 0x02550256
.4byte 0x02570258
.4byte 0x0259025A
.4byte 0x025B025C
.4byte 0x025D025E
.4byte 0x025F0260
.4byte 0x02610262
.4byte 0x02630264
.4byte 0x02650266
.4byte 0x02670268
.4byte 0x0269026A
.4byte 0x026B026C
.4byte 0x026D026E
.4byte 0x026F0270
.4byte 0x02710272
.4byte 0x02730274
.4byte 0x02750276
.4byte 0x02770278
.4byte 0x0279027A
.4byte 0x027B027C
.4byte 0x027D027E
.4byte 0x027F0280
.4byte 0x02810282
.4byte 0x02830284
.4byte 0x02850286
.4byte 0x02870288
.4byte 0x0289028A
.4byte 0x028B028C
.4byte 0x028D028E
.4byte 0x028F0290
.4byte 0x02910292
.4byte 0x02930294
.4byte 0x02950296
.4byte 0x02970298
.4byte 0x0299029A
.4byte 0x029B029C
.4byte 0x029D029E
.4byte 0x029F02A0
.4byte 0x02A102A2
.4byte 0x02A302A4
.4byte 0x02A502A6
.4byte 0x02A702A8
.4byte 0x02A902AA
.4byte 0x02AB02AC
.4byte 0x02AD02AE
.4byte 0x02AF02B0
.4byte 0x02B102B2
.4byte 0x02B302B4
.4byte 0x02B502B6
.4byte 0x02B702B8
.4byte 0x02B902BA
.4byte 0x02BB02BC
.4byte 0x02BD02BE
.4byte 0x02BF02C0
.4byte 0x02C102C2
.4byte 0x02C302C4
.4byte 0x02C502C6
.4byte 0x02C702C8
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x02C902CA
.4byte 0x02CB02CC
.4byte 0x02CD02CE
.4byte 0x02CF02D0
.4byte 0x02D102D2
.4byte 0x02D302D4
.4byte 0x02D502D6
.4byte 0x02D702D8
.4byte 0x02D902DA
.4byte 0x02DB02DC
.4byte 0x02DD02DE
.4byte 0x02DF02E0
.4byte 0x02E102E2
.4byte 0x02E302E4
.4byte 0x02E502E6
.4byte 0x000002E7
.4byte 0x02E802E9
.4byte 0x02EA02EB
.4byte 0x02EC02ED
.4byte 0x02EE02EF
.4byte 0x02F002F1
.4byte 0x02F202F3
.4byte 0x02F402F5
.4byte 0x02F602F7
.4byte 0x02F802F9
.4byte 0x02FA02FB
.4byte 0x02FC02FD
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x02FE02FF
.4byte 0x03000301
.4byte 0x03020303
.4byte 0x03040305
.4byte 0x03060307
.4byte 0x03080309
.4byte 0x030A030B
.4byte 0x030C030D
.4byte 0x030E030F
.4byte 0x03100311
.4byte 0x03120313
.4byte 0x03140315
.4byte 0x03160317
.4byte 0x03180319
.4byte 0x031A031B
.4byte 0x00000000
.4byte 0x00000000
.section .sdata2
.global lbl_805AEC48
lbl_805AEC48:
.incbin "baserom.dol", 0x3FB4E8, 0x8
.global lbl_805AEC50
lbl_805AEC50:
.incbin "baserom.dol", 0x3FB4F0, 0x8
.global lbl_805AEC58
lbl_805AEC58:
.incbin "baserom.dol", 0x3FB4F8, 0x4
.global lbl_805AEC5C
lbl_805AEC5C:
.incbin "baserom.dol", 0x3FB4FC, 0x4
.section .text, "ax"
.global sub_80380c34
sub_80380c34:
/* 80380C34 0037DB94 7C 08 02 A6 */ mflr r0
/* 80380C38 0037DB98 90 01 00 04 */ stw r0, 4(r1)
/* 80380C3C 0037DB9C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80380C40 0037DBA0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80380C44 0037DBA4 7C 7F 1B 78 */ mr r31, r3
/* 80380C48 0037DBA8 48 00 02 FD */ bl OSGetFontEncode
/* 80380C4C 0037DBAC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80380C50 0037DBB0 28 00 00 01 */ cmplwi r0, 1
/* 80380C54 0037DBB4 40 82 01 48 */ bne lbl_80380D9C
/* 80380C58 0037DBB8 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80380C5C 0037DBBC 28 00 00 20 */ cmplwi r0, 0x20
/* 80380C60 0037DBC0 41 80 00 24 */ blt lbl_80380C84
/* 80380C64 0037DBC4 28 00 00 DF */ cmplwi r0, 0xdf
/* 80380C68 0037DBC8 41 81 00 1C */ bgt lbl_80380C84
/* 80380C6C 0037DBCC 3C 60 80 3F */ lis r3, lbl_803F1750@ha
/* 80380C70 0037DBD0 38 63 17 50 */ addi r3, r3, lbl_803F1750@l
/* 80380C74 0037DBD4 54 00 08 3C */ slwi r0, r0, 1
/* 80380C78 0037DBD8 7C 63 02 14 */ add r3, r3, r0
/* 80380C7C 0037DBDC A0 63 FF C0 */ lhz r3, -0x40(r3)
/* 80380C80 0037DBE0 48 00 01 3C */ b lbl_80380DBC
lbl_80380C84:
/* 80380C84 0037DBE4 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80380C88 0037DBE8 28 00 88 9E */ cmplwi r0, 0x889e
/* 80380C8C 0037DBEC 40 81 00 7C */ ble lbl_80380D08
/* 80380C90 0037DBF0 28 00 98 72 */ cmplwi r0, 0x9872
/* 80380C94 0037DBF4 41 81 00 74 */ bgt lbl_80380D08
/* 80380C98 0037DBF8 7C 03 46 70 */ srawi r3, r0, 8
/* 80380C9C 0037DBFC 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80380CA0 0037DC00 38 03 FF 78 */ addi r0, r3, -136
/* 80380CA4 0037DC04 28 04 00 40 */ cmplwi r4, 0x40
/* 80380CA8 0037DC08 1C A0 00 BC */ mulli r5, r0, 0xbc
/* 80380CAC 0037DC0C 38 60 00 00 */ li r3, 0
/* 80380CB0 0037DC10 38 03 00 00 */ addi r0, r3, 0
/* 80380CB4 0037DC14 41 80 00 10 */ blt lbl_80380CC4
/* 80380CB8 0037DC18 28 04 00 FC */ cmplwi r4, 0xfc
/* 80380CBC 0037DC1C 41 81 00 08 */ bgt lbl_80380CC4
/* 80380CC0 0037DC20 38 00 00 01 */ li r0, 1
lbl_80380CC4:
/* 80380CC4 0037DC24 2C 00 00 00 */ cmpwi r0, 0
/* 80380CC8 0037DC28 41 82 00 14 */ beq lbl_80380CDC
/* 80380CCC 0037DC2C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80380CD0 0037DC30 28 00 00 7F */ cmplwi r0, 0x7f
/* 80380CD4 0037DC34 41 82 00 08 */ beq lbl_80380CDC
/* 80380CD8 0037DC38 38 60 00 01 */ li r3, 1
lbl_80380CDC:
/* 80380CDC 0037DC3C 2C 03 00 00 */ cmpwi r3, 0
/* 80380CE0 0037DC40 40 82 00 0C */ bne lbl_80380CEC
/* 80380CE4 0037DC44 38 60 00 00 */ li r3, 0
/* 80380CE8 0037DC48 48 00 00 D4 */ b lbl_80380DBC
lbl_80380CEC:
/* 80380CEC 0037DC4C 38 64 FF C0 */ addi r3, r4, -64
/* 80380CF0 0037DC50 2C 03 00 40 */ cmpwi r3, 0x40
/* 80380CF4 0037DC54 41 80 00 08 */ blt lbl_80380CFC
/* 80380CF8 0037DC58 38 63 FF FF */ addi r3, r3, -1
lbl_80380CFC:
/* 80380CFC 0037DC5C 38 63 02 BE */ addi r3, r3, 0x2be
/* 80380D00 0037DC60 7C 65 1A 14 */ add r3, r5, r3
/* 80380D04 0037DC64 48 00 00 B8 */ b lbl_80380DBC
lbl_80380D08:
/* 80380D08 0037DC68 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80380D0C 0037DC6C 28 00 81 40 */ cmplwi r0, 0x8140
/* 80380D10 0037DC70 41 80 00 A8 */ blt lbl_80380DB8
/* 80380D14 0037DC74 28 00 87 9E */ cmplwi r0, 0x879e
/* 80380D18 0037DC78 40 80 00 A0 */ bge lbl_80380DB8
/* 80380D1C 0037DC7C 7C 03 46 70 */ srawi r3, r0, 8
/* 80380D20 0037DC80 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80380D24 0037DC84 38 03 FF 7F */ addi r0, r3, -129
/* 80380D28 0037DC88 28 04 00 40 */ cmplwi r4, 0x40
/* 80380D2C 0037DC8C 1C A0 00 BC */ mulli r5, r0, 0xbc
/* 80380D30 0037DC90 38 60 00 00 */ li r3, 0
/* 80380D34 0037DC94 38 03 00 00 */ addi r0, r3, 0
/* 80380D38 0037DC98 41 80 00 10 */ blt lbl_80380D48
/* 80380D3C 0037DC9C 28 04 00 FC */ cmplwi r4, 0xfc
/* 80380D40 0037DCA0 41 81 00 08 */ bgt lbl_80380D48
/* 80380D44 0037DCA4 38 00 00 01 */ li r0, 1
lbl_80380D48:
/* 80380D48 0037DCA8 2C 00 00 00 */ cmpwi r0, 0
/* 80380D4C 0037DCAC 41 82 00 14 */ beq lbl_80380D60
/* 80380D50 0037DCB0 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80380D54 0037DCB4 28 00 00 7F */ cmplwi r0, 0x7f
/* 80380D58 0037DCB8 41 82 00 08 */ beq lbl_80380D60
/* 80380D5C 0037DCBC 38 60 00 01 */ li r3, 1
lbl_80380D60:
/* 80380D60 0037DCC0 2C 03 00 00 */ cmpwi r3, 0
/* 80380D64 0037DCC4 40 82 00 0C */ bne lbl_80380D70
/* 80380D68 0037DCC8 38 60 00 00 */ li r3, 0
/* 80380D6C 0037DCCC 48 00 00 50 */ b lbl_80380DBC
lbl_80380D70:
/* 80380D70 0037DCD0 38 64 FF C0 */ addi r3, r4, -64
/* 80380D74 0037DCD4 2C 03 00 40 */ cmpwi r3, 0x40
/* 80380D78 0037DCD8 41 80 00 08 */ blt lbl_80380D80
/* 80380D7C 0037DCDC 38 63 FF FF */ addi r3, r3, -1
lbl_80380D80:
/* 80380D80 0037DCE0 7C 05 1A 14 */ add r0, r5, r3
/* 80380D84 0037DCE4 3C 60 80 3F */ lis r3, lbl_803F18D0@ha
/* 80380D88 0037DCE8 54 04 08 3C */ slwi r4, r0, 1
/* 80380D8C 0037DCEC 38 03 18 D0 */ addi r0, r3, lbl_803F18D0@l
/* 80380D90 0037DCF0 7C 60 22 14 */ add r3, r0, r4
/* 80380D94 0037DCF4 A0 63 00 00 */ lhz r3, 0(r3)
/* 80380D98 0037DCF8 48 00 00 24 */ b lbl_80380DBC
lbl_80380D9C:
/* 80380D9C 0037DCFC 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 80380DA0 0037DD00 28 03 00 20 */ cmplwi r3, 0x20
/* 80380DA4 0037DD04 40 81 00 14 */ ble lbl_80380DB8
/* 80380DA8 0037DD08 28 03 00 FF */ cmplwi r3, 0xff
/* 80380DAC 0037DD0C 41 81 00 0C */ bgt lbl_80380DB8
/* 80380DB0 0037DD10 38 63 FF E0 */ addi r3, r3, -32
/* 80380DB4 0037DD14 48 00 00 08 */ b lbl_80380DBC
lbl_80380DB8:
/* 80380DB8 0037DD18 38 60 00 00 */ li r3, 0
lbl_80380DBC:
/* 80380DBC 0037DD1C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80380DC0 0037DD20 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80380DC4 0037DD24 38 21 00 18 */ addi r1, r1, 0x18
/* 80380DC8 0037DD28 7C 08 03 A6 */ mtlr r0
/* 80380DCC 0037DD2C 4E 80 00 20 */ blr
.global sub_80380dd0
sub_80380dd0:
/* 80380DD0 0037DD30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80380DD4 0037DD34 38 C3 00 10 */ addi r6, r3, 0x10
/* 80380DD8 0037DD38 39 40 00 00 */ li r10, 0
/* 80380DDC 0037DD3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80380DE0 0037DD40 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80380DE4 0037DD44 3B C0 00 00 */ li r30, 0
/* 80380DE8 0037DD48 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80380DEC 0037DD4C 83 E3 00 04 */ lwz r31, 4(r3)
/* 80380DF0 0037DD50 81 63 00 08 */ lwz r11, 8(r3)
/* 80380DF4 0037DD54 81 83 00 0C */ lwz r12, 0xc(r3)
lbl_80380DF8:
/* 80380DF8 0037DD58 28 1E 00 00 */ cmplwi r30, 0
/* 80380DFC 0037DD5C 40 82 00 10 */ bne lbl_80380E0C
/* 80380E00 0037DD60 83 A6 00 00 */ lwz r29, 0(r6)
/* 80380E04 0037DD64 3B C0 00 20 */ li r30, 0x20
/* 80380E08 0037DD68 38 C6 00 04 */ addi r6, r6, 4
lbl_80380E0C:
/* 80380E0C 0037DD6C 57 A0 00 01 */ rlwinm. r0, r29, 0, 0, 0
/* 80380E10 0037DD70 41 82 00 20 */ beq lbl_80380E30
/* 80380E14 0037DD74 7D 80 63 78 */ mr r0, r12
/* 80380E18 0037DD78 7C A3 00 AE */ lbzx r5, r3, r0
/* 80380E1C 0037DD7C 7D 40 53 78 */ mr r0, r10
/* 80380E20 0037DD80 39 4A 00 01 */ addi r10, r10, 1
/* 80380E24 0037DD84 7C A4 01 AE */ stbx r5, r4, r0
/* 80380E28 0037DD88 39 8C 00 01 */ addi r12, r12, 1
/* 80380E2C 0037DD8C 48 00 00 F4 */ b lbl_80380F20
lbl_80380E30:
/* 80380E30 0037DD90 7C E3 5A 14 */ add r7, r3, r11
/* 80380E34 0037DD94 88 A7 00 00 */ lbz r5, 0(r7)
/* 80380E38 0037DD98 39 6B 00 02 */ addi r11, r11, 2
/* 80380E3C 0037DD9C 88 07 00 01 */ lbz r0, 1(r7)
/* 80380E40 0037DDA0 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
/* 80380E44 0037DDA4 7C 05 66 71 */ srawi. r5, r0, 0xc
/* 80380E48 0037DDA8 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 80380E4C 0037DDAC 7D 20 50 50 */ subf r9, r0, r10
/* 80380E50 0037DDB0 40 82 00 18 */ bne lbl_80380E68
/* 80380E54 0037DDB4 7D 80 63 78 */ mr r0, r12
/* 80380E58 0037DDB8 7C A3 00 AE */ lbzx r5, r3, r0
/* 80380E5C 0037DDBC 39 8C 00 01 */ addi r12, r12, 1
/* 80380E60 0037DDC0 38 05 00 12 */ addi r0, r5, 0x12
/* 80380E64 0037DDC4 48 00 00 08 */ b lbl_80380E6C
lbl_80380E68:
/* 80380E68 0037DDC8 38 05 00 02 */ addi r0, r5, 2
lbl_80380E6C:
/* 80380E6C 0037DDCC 2C 00 00 00 */ cmpwi r0, 0
/* 80380E70 0037DDD0 7C 05 03 78 */ mr r5, r0
/* 80380E74 0037DDD4 7C E4 52 14 */ add r7, r4, r10
/* 80380E78 0037DDD8 40 81 00 A8 */ ble lbl_80380F20
/* 80380E7C 0037DDDC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
/* 80380E80 0037DDE0 7C 09 03 A6 */ mtctr r0
/* 80380E84 0037DDE4 41 82 00 7C */ beq lbl_80380F00
lbl_80380E88:
/* 80380E88 0037DDE8 39 09 FF FF */ addi r8, r9, -1
/* 80380E8C 0037DDEC 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380E90 0037DDF0 39 09 00 00 */ addi r8, r9, 0
/* 80380E94 0037DDF4 39 4A 00 08 */ addi r10, r10, 8
/* 80380E98 0037DDF8 98 07 00 00 */ stb r0, 0(r7)
/* 80380E9C 0037DDFC 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380EA0 0037DE00 39 09 00 01 */ addi r8, r9, 1
/* 80380EA4 0037DE04 98 07 00 01 */ stb r0, 1(r7)
/* 80380EA8 0037DE08 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380EAC 0037DE0C 39 09 00 02 */ addi r8, r9, 2
/* 80380EB0 0037DE10 98 07 00 02 */ stb r0, 2(r7)
/* 80380EB4 0037DE14 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380EB8 0037DE18 39 09 00 03 */ addi r8, r9, 3
/* 80380EBC 0037DE1C 98 07 00 03 */ stb r0, 3(r7)
/* 80380EC0 0037DE20 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380EC4 0037DE24 39 09 00 04 */ addi r8, r9, 4
/* 80380EC8 0037DE28 98 07 00 04 */ stb r0, 4(r7)
/* 80380ECC 0037DE2C 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380ED0 0037DE30 39 09 00 05 */ addi r8, r9, 5
/* 80380ED4 0037DE34 98 07 00 05 */ stb r0, 5(r7)
/* 80380ED8 0037DE38 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380EDC 0037DE3C 39 09 00 06 */ addi r8, r9, 6
/* 80380EE0 0037DE40 39 29 00 08 */ addi r9, r9, 8
/* 80380EE4 0037DE44 98 07 00 06 */ stb r0, 6(r7)
/* 80380EE8 0037DE48 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380EEC 0037DE4C 98 07 00 07 */ stb r0, 7(r7)
/* 80380EF0 0037DE50 38 E7 00 08 */ addi r7, r7, 8
/* 80380EF4 0037DE54 42 00 FF 94 */ bdnz lbl_80380E88
/* 80380EF8 0037DE58 70 A5 00 07 */ andi. r5, r5, 7
/* 80380EFC 0037DE5C 41 82 00 24 */ beq lbl_80380F20
lbl_80380F00:
/* 80380F00 0037DE60 7C A9 03 A6 */ mtctr r5
lbl_80380F04:
/* 80380F04 0037DE64 39 09 FF FF */ addi r8, r9, -1
/* 80380F08 0037DE68 7C 04 40 AE */ lbzx r0, r4, r8
/* 80380F0C 0037DE6C 39 4A 00 01 */ addi r10, r10, 1
/* 80380F10 0037DE70 39 29 00 01 */ addi r9, r9, 1
/* 80380F14 0037DE74 98 07 00 00 */ stb r0, 0(r7)
/* 80380F18 0037DE78 38 E7 00 01 */ addi r7, r7, 1
/* 80380F1C 0037DE7C 42 00 FF E8 */ bdnz lbl_80380F04
lbl_80380F20:
/* 80380F20 0037DE80 7C 0A F8 00 */ cmpw r10, r31
/* 80380F24 0037DE84 57 BD 08 3C */ slwi r29, r29, 1
/* 80380F28 0037DE88 3B DE FF FF */ addi r30, r30, -1
/* 80380F2C 0037DE8C 41 80 FE CC */ blt lbl_80380DF8
/* 80380F30 0037DE90 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80380F34 0037DE94 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80380F38 0037DE98 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80380F3C 0037DE9C 38 21 00 20 */ addi r1, r1, 0x20
/* 80380F40 0037DEA0 4E 80 00 20 */ blr
.global OSGetFontEncode
OSGetFontEncode:
/* 80380F44 0037DEA4 A0 6D 9F 88 */ lhz r3, lbl_805A8B48@sda21(r13)
/* 80380F48 0037DEA8 28 03 00 01 */ cmplwi r3, 1
/* 80380F4C 0037DEAC 4C 81 00 20 */ blelr
/* 80380F50 0037DEB0 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 80380F54 0037DEB4 80 03 00 CC */ lwz r0, 0x800000CC@l(r3)
/* 80380F58 0037DEB8 2C 00 00 00 */ cmpwi r0, 0
/* 80380F5C 0037DEBC 41 82 00 0C */ beq lbl_80380F68
/* 80380F60 0037DEC0 41 80 00 2C */ blt lbl_80380F8C
/* 80380F64 0037DEC4 48 00 00 28 */ b lbl_80380F8C
lbl_80380F68:
/* 80380F68 0037DEC8 3C 60 CC 00 */ lis r3, 0xCC00206E@ha
/* 80380F6C 0037DECC A0 03 20 6E */ lhz r0, 0xCC00206E@l(r3)
/* 80380F70 0037DED0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80380F74 0037DED4 41 82 00 0C */ beq lbl_80380F80
/* 80380F78 0037DED8 38 00 00 01 */ li r0, 1
/* 80380F7C 0037DEDC 48 00 00 08 */ b lbl_80380F84
lbl_80380F80:
/* 80380F80 0037DEE0 38 00 00 00 */ li r0, 0
lbl_80380F84:
/* 80380F84 0037DEE4 B0 0D 9F 88 */ sth r0, lbl_805A8B48@sda21(r13)
/* 80380F88 0037DEE8 48 00 00 0C */ b lbl_80380F94
lbl_80380F8C:
/* 80380F8C 0037DEEC 38 00 00 00 */ li r0, 0
/* 80380F90 0037DEF0 B0 0D 9F 88 */ sth r0, lbl_805A8B48@sda21(r13)
lbl_80380F94:
/* 80380F94 0037DEF4 A0 6D 9F 88 */ lhz r3, lbl_805A8B48@sda21(r13)
/* 80380F98 0037DEF8 4E 80 00 20 */ blr
.global sub_80380f9c
sub_80380f9c:
/* 80380F9C 0037DEFC 7C 08 02 A6 */ mflr r0
/* 80380FA0 0037DF00 90 01 00 04 */ stw r0, 4(r1)
/* 80380FA4 0037DF04 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80380FA8 0037DF08 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80380FAC 0037DF0C 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80380FB0 0037DF10 3B C5 00 00 */ addi r30, r5, 0
/* 80380FB4 0037DF14 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80380FB8 0037DF18 3B A4 00 00 */ addi r29, r4, 0
/* 80380FBC 0037DF1C 93 81 00 18 */ stw r28, 0x18(r1)
/* 80380FC0 0037DF20 3B 83 00 00 */ addi r28, r3, 0
/* 80380FC4 0037DF24 48 00 00 3C */ b lbl_80381000
lbl_80380FC8:
/* 80380FC8 0037DF28 2C 1D 01 00 */ cmpwi r29, 0x100
/* 80380FCC 0037DF2C 41 81 00 0C */ bgt lbl_80380FD8
/* 80380FD0 0037DF30 7F BF EB 78 */ mr r31, r29
/* 80380FD4 0037DF34 48 00 00 08 */ b lbl_80380FDC
lbl_80380FD8:
/* 80380FD8 0037DF38 3B E0 01 00 */ li r31, 0x100
lbl_80380FDC:
/* 80380FDC 0037DF3C 7F BF E8 50 */ subf r29, r31, r29
lbl_80380FE0:
/* 80380FE0 0037DF40 38 7C 00 00 */ addi r3, r28, 0
/* 80380FE4 0037DF44 38 9F 00 00 */ addi r4, r31, 0
/* 80380FE8 0037DF48 38 BE 00 00 */ addi r5, r30, 0
/* 80380FEC 0037DF4C 48 00 2F 01 */ bl sub_80383eec
/* 80380FF0 0037DF50 2C 03 00 00 */ cmpwi r3, 0
/* 80380FF4 0037DF54 41 82 FF EC */ beq lbl_80380FE0
/* 80380FF8 0037DF58 7F DE FA 14 */ add r30, r30, r31
/* 80380FFC 0037DF5C 7F 9C FA 14 */ add r28, r28, r31
lbl_80381000:
/* 80381000 0037DF60 2C 1D 00 00 */ cmpwi r29, 0
/* 80381004 0037DF64 41 81 FF C4 */ bgt lbl_80380FC8
/* 80381008 0037DF68 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8038100C 0037DF6C 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80381010 0037DF70 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80381014 0037DF74 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80381018 0037DF78 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8038101C 0037DF7C 38 21 00 28 */ addi r1, r1, 0x28
/* 80381020 0037DF80 7C 08 03 A6 */ mtlr r0
/* 80381024 0037DF84 4E 80 00 20 */ blr
.global sub_80381028
sub_80381028:
/* 80381028 0037DF88 7C 08 02 A6 */ mflr r0
/* 8038102C 0037DF8C 90 01 00 04 */ stw r0, 4(r1)
/* 80381030 0037DF90 38 00 00 00 */ li r0, 0
/* 80381034 0037DF94 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80381038 0037DF98 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8038103C 0037DF9C 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80381040 0037DFA0 3B C4 00 00 */ addi r30, r4, 0
/* 80381044 0037DFA4 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80381048 0037DFA8 3B A3 00 00 */ addi r29, r3, 0
/* 8038104C 0037DFAC 90 0D AD 04 */ stw r0, lbl_805A98C4@sda21(r13)
/* 80381050 0037DFB0 4B FF FE F5 */ bl OSGetFontEncode
/* 80381054 0037DFB4 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80381058 0037DFB8 28 00 00 01 */ cmplwi r0, 1
/* 8038105C 0037DFBC 40 82 00 20 */ bne lbl_8038107C
/* 80381060 0037DFC0 3C 80 00 05 */ lis r4, 0x0004D000@ha
/* 80381064 0037DFC4 3C A0 00 1B */ lis r5, 0x001AFF00@ha
/* 80381068 0037DFC8 38 7E 00 00 */ addi r3, r30, 0
/* 8038106C 0037DFCC 38 84 D0 00 */ addi r4, r4, 0x0004D000@l
/* 80381070 0037DFD0 38 A5 FF 00 */ addi r5, r5, 0x001AFF00@l
/* 80381074 0037DFD4 4B FF FF 29 */ bl sub_80380f9c
/* 80381078 0037DFD8 48 00 00 18 */ b lbl_80381090
lbl_8038107C:
/* 8038107C 0037DFDC 3C 80 00 20 */ lis r4, 0x001FCF00@ha
/* 80381080 0037DFE0 38 7E 00 00 */ addi r3, r30, 0
/* 80381084 0037DFE4 38 A4 CF 00 */ addi r5, r4, 0x001FCF00@l
/* 80381088 0037DFE8 38 80 30 00 */ li r4, 0x3000
/* 8038108C 0037DFEC 4B FF FF 11 */ bl sub_80380f9c
lbl_80381090:
/* 80381090 0037DFF0 88 1E 00 00 */ lbz r0, 0(r30)
/* 80381094 0037DFF4 28 00 00 59 */ cmplwi r0, 0x59
/* 80381098 0037DFF8 40 82 00 24 */ bne lbl_803810BC
/* 8038109C 0037DFFC 88 1E 00 01 */ lbz r0, 1(r30)
/* 803810A0 0037E000 28 00 00 61 */ cmplwi r0, 0x61
/* 803810A4 0037E004 40 82 00 18 */ bne lbl_803810BC
/* 803810A8 0037E008 88 1E 00 02 */ lbz r0, 2(r30)
/* 803810AC 0037E00C 28 00 00 79 */ cmplwi r0, 0x79
/* 803810B0 0037E010 40 82 00 0C */ bne lbl_803810BC
/* 803810B4 0037E014 83 FE 00 04 */ lwz r31, 4(r30)
/* 803810B8 0037E018 48 00 00 08 */ b lbl_803810C0
lbl_803810BC:
/* 803810BC 0037E01C 3B E0 00 00 */ li r31, 0
lbl_803810C0:
/* 803810C0 0037E020 28 1F 00 00 */ cmplwi r31, 0
/* 803810C4 0037E024 41 82 02 78 */ beq lbl_8038133C
/* 803810C8 0037E028 38 7E 00 00 */ addi r3, r30, 0
/* 803810CC 0037E02C 38 9D 00 00 */ addi r4, r29, 0
/* 803810D0 0037E030 4B FF FD 01 */ bl sub_80380dd0
/* 803810D4 0037E034 93 AD AD 00 */ stw r29, lbl_805A98C0@sda21(r13)
/* 803810D8 0037E038 A0 8D 9F 88 */ lhz r4, lbl_805A8B48@sda21(r13)
/* 803810DC 0037E03C A0 1D 00 22 */ lhz r0, 0x22(r29)
/* 803810E0 0037E040 28 04 00 01 */ cmplwi r4, 1
/* 803810E4 0037E044 7C 1D 02 14 */ add r0, r29, r0
/* 803810E8 0037E048 90 0D AD 08 */ stw r0, lbl_805A98C8@sda21(r13)
/* 803810EC 0037E04C A0 7D 00 1A */ lhz r3, 0x1a(r29)
/* 803810F0 0037E050 A0 1D 00 1C */ lhz r0, 0x1c(r29)
/* 803810F4 0037E054 7C 03 01 D6 */ mullw r0, r3, r0
/* 803810F8 0037E058 90 0D AD 0C */ stw r0, lbl_805A98CC@sda21(r13)
/* 803810FC 0037E05C 41 81 00 08 */ bgt lbl_80381104
/* 80381100 0037E060 48 00 00 4C */ b lbl_8038114C
lbl_80381104:
/* 80381104 0037E064 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 80381108 0037E068 80 03 00 CC */ lwz r0, 0x800000CC@l(r3)
/* 8038110C 0037E06C 2C 00 00 00 */ cmpwi r0, 0
/* 80381110 0037E070 41 82 00 0C */ beq lbl_8038111C
/* 80381114 0037E074 41 80 00 2C */ blt lbl_80381140
/* 80381118 0037E078 48 00 00 28 */ b lbl_80381140
lbl_8038111C:
/* 8038111C 0037E07C 3C 60 CC 00 */ lis r3, 0xCC00206E@ha
/* 80381120 0037E080 A0 03 20 6E */ lhz r0, 0xCC00206E@l(r3)
/* 80381124 0037E084 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80381128 0037E088 41 82 00 0C */ beq lbl_80381134
/* 8038112C 0037E08C 38 00 00 01 */ li r0, 1
/* 80381130 0037E090 48 00 00 08 */ b lbl_80381138
lbl_80381134:
/* 80381134 0037E094 38 00 00 00 */ li r0, 0
lbl_80381138:
/* 80381138 0037E098 B0 0D 9F 88 */ sth r0, lbl_805A8B48@sda21(r13)
/* 8038113C 0037E09C 48 00 00 0C */ b lbl_80381148
lbl_80381140:
/* 80381140 0037E0A0 38 00 00 00 */ li r0, 0
/* 80381144 0037E0A4 B0 0D 9F 88 */ sth r0, lbl_805A8B48@sda21(r13)
lbl_80381148:
/* 80381148 0037E0A8 A0 8D 9F 88 */ lhz r4, lbl_805A8B48@sda21(r13)
lbl_8038114C:
/* 8038114C 0037E0AC 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 80381150 0037E0B0 28 00 00 01 */ cmplwi r0, 1
/* 80381154 0037E0B4 40 82 01 E8 */ bne lbl_8038133C
/* 80381158 0037E0B8 80 82 CF 38 */ lwz r4, lbl_805AEC58@sda21(r2)
/* 8038115C 0037E0BC 38 60 00 54 */ li r3, 0x54
/* 80381160 0037E0C0 80 02 CF 3C */ lwz r0, lbl_805AEC5C@sda21(r2)
/* 80381164 0037E0C4 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80381168 0037E0C8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8038116C 0037E0CC 4B FF FA C9 */ bl sub_80380c34
/* 80381170 0037E0D0 80 AD AD 0C */ lwz r5, lbl_805A98CC@sda21(r13)
/* 80381174 0037E0D4 81 8D AD 00 */ lwz r12, lbl_805A98C0@sda21(r13)
/* 80381178 0037E0D8 7D 43 2B D6 */ divw r10, r3, r5
/* 8038117C 0037E0DC A0 C1 00 1C */ lhz r6, 0x1c(r1)
/* 80381180 0037E0E0 A0 0C 00 1E */ lhz r0, 0x1e(r12)
/* 80381184 0037E0E4 80 8C 00 14 */ lwz r4, 0x14(r12)
/* 80381188 0037E0E8 81 6C 00 24 */ lwz r11, 0x24(r12)
/* 8038118C 0037E0EC 7D 0A 29 D6 */ mullw r8, r10, r5
/* 80381190 0037E0F0 A1 2C 00 1A */ lhz r9, 0x1a(r12)
/* 80381194 0037E0F4 A0 AC 00 12 */ lhz r5, 0x12(r12)
/* 80381198 0037E0F8 A0 EC 00 10 */ lhz r7, 0x10(r12)
/* 8038119C 0037E0FC 7F C8 18 50 */ subf r30, r8, r3
/* 803811A0 0037E100 7D 1E 4B D6 */ divw r8, r30, r9
/* 803811A4 0037E104 7C 68 49 D6 */ mullw r3, r8, r9
/* 803811A8 0037E108 7C A8 29 D6 */ mullw r5, r8, r5
/* 803811AC 0037E10C 7C 00 1E 70 */ srawi r0, r0, 3
/* 803811B0 0037E110 7C 63 F0 50 */ subf r3, r3, r30
/* 803811B4 0037E114 7C 00 01 94 */ addze r0, r0
/* 803811B8 0037E118 54 00 28 34 */ slwi r0, r0, 5
/* 803811BC 0037E11C 7C 09 0E 70 */ srawi r9, r0, 1
/* 803811C0 0037E120 7D 4A 21 D6 */ mullw r10, r10, r4
/* 803811C4 0037E124 7C 63 39 D6 */ mullw r3, r3, r7
/* 803811C8 0037E128 7D 29 01 94 */ addze r9, r9
/* 803811CC 0037E12C 38 05 00 04 */ addi r0, r5, 4
/* 803811D0 0037E130 7C 04 1E 70 */ srawi r4, r0, 3
/* 803811D4 0037E134 7C 84 01 94 */ addze r4, r4
/* 803811D8 0037E138 7C 68 1E 70 */ srawi r8, r3, 3
/* 803811DC 0037E13C 7D 08 01 94 */ addze r8, r8
/* 803811E0 0037E140 7C 07 1E 70 */ srawi r7, r0, 3
/* 803811E4 0037E144 7C E7 01 94 */ addze r7, r7
/* 803811E8 0037E148 54 E7 18 38 */ slwi r7, r7, 3
/* 803811EC 0037E14C 7C E7 00 10 */ subfc r7, r7, r0
/* 803811F0 0037E150 7C 60 1E 70 */ srawi r0, r3, 3
/* 803811F4 0037E154 7C 00 01 94 */ addze r0, r0
/* 803811F8 0037E158 54 00 18 38 */ slwi r0, r0, 3
/* 803811FC 0037E15C 7C 00 18 10 */ subfc r0, r0, r3
/* 80381200 0037E160 7C 03 16 70 */ srawi r3, r0, 2
/* 80381204 0037E164 7C 09 21 D6 */ mullw r0, r9, r4
/* 80381208 0037E168 7C 8C 5A 14 */ add r4, r12, r11
/* 8038120C 0037E16C 55 49 F8 7E */ srwi r9, r10, 1
/* 80381210 0037E170 7C 84 4A 14 */ add r4, r4, r9
/* 80381214 0037E174 7D 24 02 14 */ add r9, r4, r0
/* 80381218 0037E178 55 00 20 36 */ slwi r0, r8, 4
/* 8038121C 0037E17C 7D 29 02 14 */ add r9, r9, r0
/* 80381220 0037E180 54 E7 08 3C */ slwi r7, r7, 1
/* 80381224 0037E184 7D 29 3A 14 */ add r9, r9, r7
/* 80381228 0037E188 7C 63 01 94 */ addze r3, r3
/* 8038122C 0037E18C 7D 29 1A 14 */ add r9, r9, r3
/* 80381230 0037E190 B0 C9 00 00 */ sth r6, 0(r9)
/* 80381234 0037E194 39 45 00 05 */ addi r10, r5, 5
/* 80381238 0037E198 39 25 00 06 */ addi r9, r5, 6
/* 8038123C 0037E19C 80 ED AD 00 */ lwz r7, lbl_805A98C0@sda21(r13)
/* 80381240 0037E1A0 38 C5 00 07 */ addi r6, r5, 7
/* 80381244 0037E1A4 A0 A1 00 1E */ lhz r5, 0x1e(r1)
/* 80381248 0037E1A8 A0 E7 00 1E */ lhz r7, 0x1e(r7)
/* 8038124C 0037E1AC 7C E7 1E 70 */ srawi r7, r7, 3
/* 80381250 0037E1B0 7C E7 01 94 */ addze r7, r7
/* 80381254 0037E1B4 54 E7 28 34 */ slwi r7, r7, 5
/* 80381258 0037E1B8 7C E8 0E 70 */ srawi r8, r7, 1
/* 8038125C 0037E1BC 7D 08 01 94 */ addze r8, r8
/* 80381260 0037E1C0 7D 47 1E 70 */ srawi r7, r10, 3
/* 80381264 0037E1C4 7C E7 01 94 */ addze r7, r7
/* 80381268 0037E1C8 7D 08 39 D6 */ mullw r8, r8, r7
/* 8038126C 0037E1CC 7D 47 1E 70 */ srawi r7, r10, 3
/* 80381270 0037E1D0 7C E7 01 94 */ addze r7, r7
/* 80381274 0037E1D4 54 E7 18 38 */ slwi r7, r7, 3
/* 80381278 0037E1D8 7D 04 42 14 */ add r8, r4, r8
/* 8038127C 0037E1DC 7C E7 50 10 */ subfc r7, r7, r10
/* 80381280 0037E1E0 7D 08 02 14 */ add r8, r8, r0
/* 80381284 0037E1E4 54 E7 08 3C */ slwi r7, r7, 1
/* 80381288 0037E1E8 7D 08 3A 14 */ add r8, r8, r7
/* 8038128C 0037E1EC 7D 08 1A 14 */ add r8, r8, r3
/* 80381290 0037E1F0 B0 A8 00 00 */ sth r5, 0(r8)
/* 80381294 0037E1F4 80 ED AD 00 */ lwz r7, lbl_805A98C0@sda21(r13)
/* 80381298 0037E1F8 A0 A1 00 20 */ lhz r5, 0x20(r1)
/* 8038129C 0037E1FC A0 E7 00 1E */ lhz r7, 0x1e(r7)
/* 803812A0 0037E200 7C E7 1E 70 */ srawi r7, r7, 3
/* 803812A4 0037E204 7C E7 01 94 */ addze r7, r7
/* 803812A8 0037E208 54 E7 28 34 */ slwi r7, r7, 5
/* 803812AC 0037E20C 7C E8 0E 70 */ srawi r8, r7, 1
/* 803812B0 0037E210 7D 08 01 94 */ addze r8, r8
/* 803812B4 0037E214 7D 27 1E 70 */ srawi r7, r9, 3
/* 803812B8 0037E218 7C E7 01 94 */ addze r7, r7
/* 803812BC 0037E21C 7D 08 39 D6 */ mullw r8, r8, r7
/* 803812C0 0037E220 7D 27 1E 70 */ srawi r7, r9, 3
/* 803812C4 0037E224 7C E7 01 94 */ addze r7, r7
/* 803812C8 0037E228 54 E7 18 38 */ slwi r7, r7, 3
/* 803812CC 0037E22C 7D 04 42 14 */ add r8, r4, r8
/* 803812D0 0037E230 7C E7 48 10 */ subfc r7, r7, r9
/* 803812D4 0037E234 7D 08 02 14 */ add r8, r8, r0
/* 803812D8 0037E238 54 E7 08 3C */ slwi r7, r7, 1
/* 803812DC 0037E23C 7D 08 3A 14 */ add r8, r8, r7
/* 803812E0 0037E240 7D 08 1A 14 */ add r8, r8, r3
/* 803812E4 0037E244 B0 A8 00 00 */ sth r5, 0(r8)
/* 803812E8 0037E248 80 AD AD 00 */ lwz r5, lbl_805A98C0@sda21(r13)
/* 803812EC 0037E24C A0 A5 00 1E */ lhz r5, 0x1e(r5)
/* 803812F0 0037E250 7C A5 1E 70 */ srawi r5, r5, 3
/* 803812F4 0037E254 7C A5 01 94 */ addze r5, r5
/* 803812F8 0037E258 54 A5 28 34 */ slwi r5, r5, 5
/* 803812FC 0037E25C 7C A7 0E 70 */ srawi r7, r5, 1
/* 80381300 0037E260 7C E7 01 94 */ addze r7, r7
/* 80381304 0037E264 7C C5 1E 70 */ srawi r5, r6, 3
/* 80381308 0037E268 7C A5 01 94 */ addze r5, r5
/* 8038130C 0037E26C 7C A7 29 D6 */ mullw r5, r7, r5
/* 80381310 0037E270 7C E4 2A 14 */ add r7, r4, r5
/* 80381314 0037E274 7C C5 1E 70 */ srawi r5, r6, 3
/* 80381318 0037E278 A0 81 00 22 */ lhz r4, 0x22(r1)
/* 8038131C 0037E27C 7C A5 01 94 */ addze r5, r5
/* 80381320 0037E280 54 A5 18 38 */ slwi r5, r5, 3
/* 80381324 0037E284 7C A5 30 10 */ subfc r5, r5, r6
/* 80381328 0037E288 7C E7 02 14 */ add r7, r7, r0
/* 8038132C 0037E28C 54 A0 08 3C */ slwi r0, r5, 1
/* 80381330 0037E290 7C E7 02 14 */ add r7, r7, r0
/* 80381334 0037E294 7C E7 1A 14 */ add r7, r7, r3
/* 80381338 0037E298 B0 87 00 00 */ sth r4, 0(r7)
lbl_8038133C:
/* 8038133C 0037E29C 7F E3 FB 78 */ mr r3, r31
/* 80381340 0037E2A0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80381344 0037E2A4 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80381348 0037E2A8 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8038134C 0037E2AC 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 80381350 0037E2B0 38 21 00 40 */ addi r1, r1, 0x40
/* 80381354 0037E2B4 7C 08 03 A6 */ mtlr r0
/* 80381358 0037E2B8 4E 80 00 20 */ blr
.global sub_8038135c
sub_8038135c:
/* 8038135C 0037E2BC 7C 08 02 A6 */ mflr r0
/* 80381360 0037E2C0 90 01 00 04 */ stw r0, 4(r1)
/* 80381364 0037E2C4 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80381368 0037E2C8 BE 21 00 24 */ stmw r17, 0x24(r1)
/* 8038136C 0037E2CC 7C 7C 1B 78 */ mr r28, r3
/* 80381370 0037E2D0 3B A4 00 00 */ addi r29, r4, 0
/* 80381374 0037E2D4 3B C5 00 00 */ addi r30, r5, 0
/* 80381378 0037E2D8 3B 06 00 00 */ addi r24, r6, 0
/* 8038137C 0037E2DC 3B E7 00 00 */ addi r31, r7, 0
/* 80381380 0037E2E0 88 03 00 00 */ lbz r0, 0(r3)
/* 80381384 0037E2E4 28 00 00 00 */ cmplwi r0, 0
/* 80381388 0037E2E8 7C 03 03 78 */ mr r3, r0
/* 8038138C 0037E2EC 40 82 00 0C */ bne lbl_80381398
/* 80381390 0037E2F0 7F 83 E3 78 */ mr r3, r28
/* 80381394 0037E2F4 48 00 02 B8 */ b lbl_8038164C
lbl_80381398:
/* 80381398 0037E2F8 A0 0D 9F 88 */ lhz r0, lbl_805A8B48@sda21(r13)
/* 8038139C 0037E2FC 3B 9C 00 01 */ addi r28, r28, 1
/* 803813A0 0037E300 28 00 00 01 */ cmplwi r0, 1
/* 803813A4 0037E304 41 81 00 08 */ bgt lbl_803813AC
/* 803813A8 0037E308 48 00 00 4C */ b lbl_803813F4
lbl_803813AC:
/* 803813AC 0037E30C 3C 80 80 00 */ lis r4, 0x800000CC@ha
/* 803813B0 0037E310 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
/* 803813B4 0037E314 2C 00 00 00 */ cmpwi r0, 0
/* 803813B8 0037E318 41 82 00 0C */ beq lbl_803813C4
/* 803813BC 0037E31C 41 80 00 2C */ blt lbl_803813E8
/* 803813C0 0037E320 48 00 00 28 */ b lbl_803813E8
lbl_803813C4:
/* 803813C4 0037E324 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 803813C8 0037E328 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 803813CC 0037E32C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 803813D0 0037E330 41 82 00 0C */ beq lbl_803813DC
/* 803813D4 0037E334 38 00 00 01 */ li r0, 1
/* 803813D8 0037E338 48 00 00 08 */ b lbl_803813E0
lbl_803813DC:
/* 803813DC 0037E33C 38 00 00 00 */ li r0, 0
lbl_803813E0:
/* 803813E0 0037E340 B0 0D 9F 88 */ sth r0, lbl_805A8B48@sda21(r13)
/* 803813E4 0037E344 48 00 00 0C */ b lbl_803813F0
lbl_803813E8:
/* 803813E8 0037E348 38 00 00 00 */ li r0, 0
/* 803813EC 0037E34C B0 0D 9F 88 */ sth r0, lbl_805A8B48@sda21(r13)
lbl_803813F0:
/* 803813F0 0037E350 A0 0D 9F 88 */ lhz r0, lbl_805A8B48@sda21(r13)
lbl_803813F4:
/* 803813F4 0037E354 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 803813F8 0037E358 28 00 00 01 */ cmplwi r0, 1
/* 803813FC 0037E35C 40 82 00 74 */ bne lbl_80381470
/* 80381400 0037E360 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80381404 0037E364 28 00 00 81 */ cmplwi r0, 0x81
/* 80381408 0037E368 38 80 00 01 */ li r4, 1
/* 8038140C 0037E36C 38 A0 00 00 */ li r5, 0
/* 80381410 0037E370 41 80 00 10 */ blt lbl_80381420
/* 80381414 0037E374 28 00 00 9F */ cmplwi r0, 0x9f
/* 80381418 0037E378 41 81 00 08 */ bgt lbl_80381420
/* 8038141C 0037E37C 7C 85 23 78 */ mr r5, r4
lbl_80381420:
/* 80381420 0037E380 2C 05 00 00 */ cmpwi r5, 0
/* 80381424 0037E384 40 82 00 2C */ bne lbl_80381450
/* 80381428 0037E388 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8038142C 0037E38C 28 00 00 E0 */ cmplwi r0, 0xe0
/* 80381430 0037E390 38 A0 00 00 */ li r5, 0
/* 80381434 0037E394 41 80 00 10 */ blt lbl_80381444
/* 80381438 0037E398 28 00 00 FC */ cmplwi r0, 0xfc
/* 8038143C 0037E39C 41 81 00 08 */ bgt lbl_80381444
/* 80381440 0037E3A0 38 A0 00 01 */ li r5, 1
lbl_80381444:
/* 80381444 0037E3A4 2C 05 00 00 */ cmpwi r5, 0
/* 80381448 0037E3A8 40 82 00 08 */ bne lbl_80381450
/* 8038144C 0037E3AC 38 80 00 00 */ li r4, 0
lbl_80381450:
/* 80381450 0037E3B0 2C 04 00 00 */ cmpwi r4, 0
/* 80381454 0037E3B4 41 82 00 1C */ beq lbl_80381470
/* 80381458 0037E3B8 88 9C 00 00 */ lbz r4, 0(r28)
/* 8038145C 0037E3BC 7C 80 07 75 */ extsb. r0, r4
/* 80381460 0037E3C0 41 82 00 10 */ beq lbl_80381470
/* 80381464 0037E3C4 54 60 42 2E */ rlwinm r0, r3, 8, 8, 0x17
/* 80381468 0037E3C8 7C 03 23 78 */ or r3, r0, r4
/* 8038146C 0037E3CC 3B 9C 00 01 */ addi r28, r28, 1
lbl_80381470:
/* 80381470 0037E3D0 80 8D AD 00 */ lwz r4, lbl_805A98C0@sda21(r13)
/* 80381474 0037E3D4 3B 24 00 2C */ addi r25, r4, 0x2c
/* 80381478 0037E3D8 4B FF F7 BD */ bl sub_80380c34
/* 8038147C 0037E3DC 80 CD AD 0C */ lwz r6, lbl_805A98CC@sda21(r13)
/* 80381480 0037E3E0 57 00 10 3A */ slwi r0, r24, 2
/* 80381484 0037E3E4 81 8D AD 00 */ lwz r12, lbl_805A98C0@sda21(r13)
/* 80381488 0037E3E8 7C 00 1E 70 */ srawi r0, r0, 3
/* 8038148C 0037E3EC 7D 63 33 D6 */ divw r11, r3, r6
/* 80381490 0037E3F0 80 8C 00 14 */ lwz r4, 0x14(r12)
/* 80381494 0037E3F4 80 AC 00 24 */ lwz r5, 0x24(r12)
/* 80381498 0037E3F8 A1 2C 00 1A */ lhz r9, 0x1a(r12)
/* 8038149C 0037E3FC A0 EC 00 12 */ lhz r7, 0x12(r12)
/* 803814A0 0037E400 7D 0B 31 D6 */ mullw r8, r11, r6
/* 803814A4 0037E404 A0 CC 00 10 */ lhz r6, 0x10(r12)
/* 803814A8 0037E408 7E 28 18 50 */ subf r17, r8, r3
/* 803814AC 0037E40C 7D 51 4B D6 */ divw r10, r17, r9
/* 803814B0 0037E410 7D 0A 49 D6 */ mullw r8, r10, r9
/* 803814B4 0037E414 7C 8B 21 D6 */ mullw r4, r11, r4
/* 803814B8 0037E418 7D 68 88 50 */ subf r11, r8, r17
/* 803814BC 0037E41C 7C 00 01 94 */ addze r0, r0
/* 803814C0 0037E420 7D 4A 39 D6 */ mullw r10, r10, r7
/* 803814C4 0037E424 7D 6B 31 D6 */ mullw r11, r11, r6
/* 803814C8 0037E428 7F 0C 2A 14 */ add r24, r12, r5
/* 803814CC 0037E42C 54 84 F8 7E */ srwi r4, r4, 1
/* 803814D0 0037E430 7F 18 22 14 */ add r24, r24, r4
/* 803814D4 0037E434 54 07 28 34 */ slwi r7, r0, 5
/* 803814D8 0037E438 3B 60 00 00 */ li r27, 0
/* 803814DC 0037E43C 48 00 01 48 */ b lbl_80381624
lbl_803814E0:
/* 803814E0 0037E440 7C 8A DA 14 */ add r4, r10, r27
/* 803814E4 0037E444 7C 80 1E 70 */ srawi r0, r4, 3
/* 803814E8 0037E448 7C 00 01 94 */ addze r0, r0
/* 803814EC 0037E44C 7C 88 1E 70 */ srawi r8, r4, 3
/* 803814F0 0037E450 7D 08 01 94 */ addze r8, r8
/* 803814F4 0037E454 55 08 18 38 */ slwi r8, r8, 3
/* 803814F8 0037E458 7D 08 20 10 */ subfc r8, r8, r4
/* 803814FC 0037E45C 7F 64 1E 70 */ srawi r4, r27, 3
/* 80381500 0037E460 7C 84 01 94 */ addze r4, r4
/* 80381504 0037E464 7C A4 39 D6 */ mullw r5, r4, r7
/* 80381508 0037E468 7F 66 1E 70 */ srawi r6, r27, 3
/* 8038150C 0037E46C 7C C6 01 94 */ addze r6, r6
/* 80381510 0037E470 54 C6 18 38 */ slwi r6, r6, 3
/* 80381514 0037E474 7C C6 D8 10 */ subfc r6, r6, r27
/* 80381518 0037E478 55 04 08 3C */ slwi r4, r8, 1
/* 8038151C 0037E47C 7C BD 2A 14 */ add r5, r29, r5
/* 80381520 0037E480 54 C6 10 3A */ slwi r6, r6, 2
/* 80381524 0037E484 39 80 00 00 */ li r12, 0
/* 80381528 0037E488 48 00 00 E8 */ b lbl_80381610
lbl_8038152C:
/* 8038152C 0037E48C A1 29 00 1E */ lhz r9, 0x1e(r9)
/* 80381530 0037E490 7E AB 62 14 */ add r21, r11, r12
/* 80381534 0037E494 7D 1E 62 14 */ add r8, r30, r12
/* 80381538 0037E498 7D 29 1E 70 */ srawi r9, r9, 3
/* 8038153C 0037E49C 7D 29 01 94 */ addze r9, r9
/* 80381540 0037E4A0 55 29 28 34 */ slwi r9, r9, 5
/* 80381544 0037E4A4 7D 32 0E 70 */ srawi r18, r9, 1
/* 80381548 0037E4A8 7E 52 01 94 */ addze r18, r18
/* 8038154C 0037E4AC 7E B3 1E 70 */ srawi r19, r21, 3
/* 80381550 0037E4B0 7E 73 01 94 */ addze r19, r19
/* 80381554 0037E4B4 7E A9 1E 70 */ srawi r9, r21, 3
/* 80381558 0037E4B8 7D 29 01 94 */ addze r9, r9
/* 8038155C 0037E4BC 55 29 18 38 */ slwi r9, r9, 3
/* 80381560 0037E4C0 7D 29 A8 10 */ subfc r9, r9, r21
/* 80381564 0037E4C4 7D 34 16 70 */ srawi r20, r9, 2
/* 80381568 0037E4C8 7E 94 01 94 */ addze r20, r20
/* 8038156C 0037E4CC 7E BA 16 70 */ srawi r26, r21, 2
/* 80381570 0037E4D0 7F 5A 01 94 */ addze r26, r26
/* 80381574 0037E4D4 57 5A 10 3A */ slwi r26, r26, 2
/* 80381578 0037E4D8 7F 5A A8 10 */ subfc r26, r26, r21
/* 8038157C 0037E4DC 7D 15 1E 70 */ srawi r21, r8, 3
/* 80381580 0037E4E0 7E B5 01 94 */ addze r21, r21
/* 80381584 0037E4E4 7D 09 1E 70 */ srawi r9, r8, 3
/* 80381588 0037E4E8 7D 29 01 94 */ addze r9, r9
/* 8038158C 0037E4EC 55 29 18 38 */ slwi r9, r9, 3
/* 80381590 0037E4F0 7E 52 01 D6 */ mullw r18, r18, r0
/* 80381594 0037E4F4 7D 29 40 10 */ subfc r9, r9, r8
/* 80381598 0037E4F8 7D 36 0E 70 */ srawi r22, r9, 1
/* 8038159C 0037E4FC 7E D6 01 94 */ addze r22, r22
/* 803815A0 0037E500 7D 17 0E 70 */ srawi r23, r8, 1
/* 803815A4 0037E504 7E F7 01 94 */ addze r23, r23
/* 803815A8 0037E508 56 A9 28 34 */ slwi r9, r21, 5
/* 803815AC 0037E50C 56 F7 08 3C */ slwi r23, r23, 1
/* 803815B0 0037E510 7D 25 4A 14 */ add r9, r5, r9
/* 803815B4 0037E514 7D 29 32 14 */ add r9, r9, r6
/* 803815B8 0037E518 7E 38 92 14 */ add r17, r24, r18
/* 803815BC 0037E51C 56 75 20 36 */ slwi r21, r19, 4
/* 803815C0 0037E520 7E 31 AA 14 */ add r17, r17, r21
/* 803815C4 0037E524 7E 31 22 14 */ add r17, r17, r4
/* 803815C8 0037E528 7E F7 40 11 */ subfc. r23, r23, r8
/* 803815CC 0037E52C 7E 31 A2 14 */ add r17, r17, r20
/* 803815D0 0037E530 7D 29 B2 14 */ add r9, r9, r22
/* 803815D4 0037E534 41 82 00 0C */ beq lbl_803815E0
/* 803815D8 0037E538 3A 40 00 0F */ li r18, 0xf
/* 803815DC 0037E53C 48 00 00 08 */ b lbl_803815E4
lbl_803815E0:
/* 803815E0 0037E540 3A 40 00 F0 */ li r18, 0xf0
lbl_803815E4:
/* 803815E4 0037E544 57 48 08 3C */ slwi r8, r26, 1
/* 803815E8 0037E548 8B 51 00 00 */ lbz r26, 0(r17)
/* 803815EC 0037E54C 21 08 00 06 */ subfic r8, r8, 6
/* 803815F0 0037E550 8A E9 00 00 */ lbz r23, 0(r9)
/* 803815F4 0037E554 7F 48 46 30 */ sraw r8, r26, r8
/* 803815F8 0037E558 55 08 07 BE */ clrlwi r8, r8, 0x1e
/* 803815FC 0037E55C 7D 19 40 AE */ lbzx r8, r25, r8
/* 80381600 0037E560 39 8C 00 01 */ addi r12, r12, 1
/* 80381604 0037E564 7D 08 90 38 */ and r8, r8, r18
/* 80381608 0037E568 7E E8 43 78 */ or r8, r23, r8
/* 8038160C 0037E56C 99 09 00 00 */ stb r8, 0(r9)
lbl_80381610:
/* 80381610 0037E570 81 2D AD 00 */ lwz r9, lbl_805A98C0@sda21(r13)
/* 80381614 0037E574 A1 09 00 10 */ lhz r8, 0x10(r9)
/* 80381618 0037E578 7C 0C 40 00 */ cmpw r12, r8
/* 8038161C 0037E57C 41 80 FF 10 */ blt lbl_8038152C
/* 80381620 0037E580 3B 7B 00 01 */ addi r27, r27, 1
lbl_80381624:
/* 80381624 0037E584 80 8D AD 00 */ lwz r4, lbl_805A98C0@sda21(r13)
/* 80381628 0037E588 A0 04 00 12 */ lhz r0, 0x12(r4)
/* 8038162C 0037E58C 7C 1B 00 00 */ cmpw r27, r0
/* 80381630 0037E590 41 80 FE B0 */ blt lbl_803814E0
/* 80381634 0037E594 28 1F 00 00 */ cmplwi r31, 0
/* 80381638 0037E598 41 82 00 10 */ beq lbl_80381648
/* 8038163C 0037E59C 80 8D AD 08 */ lwz r4, lbl_805A98C8@sda21(r13)
/* 80381640 0037E5A0 7C 04 18 AE */ lbzx r0, r4, r3
/* 80381644 0037E5A4 90 1F 00 00 */ stw r0, 0(r31)
lbl_80381648:
/* 80381648 0037E5A8 7F 83 E3 78 */ mr r3, r28
lbl_8038164C:
/* 8038164C 0037E5AC BA 21 00 24 */ lmw r17, 0x24(r1)
/* 80381650 0037E5B0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80381654 0037E5B4 38 21 00 60 */ addi r1, r1, 0x60
/* 80381658 0037E5B8 7C 08 03 A6 */ mtlr r0
/* 8038165C 0037E5BC 4E 80 00 20 */ blr