.include "asm/macros.inc" .include "main_0200C4CC.inc" .text arm_func_start sub_0200C4CC sub_0200C4CC: ; 0x0200C4CC stmdb sp!, {r4, lr} ldr lr, _0200C4F8 ; =_02094C18 mov r4, r0 mov ip, #0xe _0200C4DC: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0200C4DC ldmia lr, {r0, r1} stmia r4, {r0, r1} ldmia sp!, {r4, pc} .align 2, 0 _0200C4F8: .word _02094C18 arm_func_end sub_0200C4CC arm_func_start GetDungeonResultMsg GetDungeonResultMsg: ; 0x0200C4FC stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x5c ldr ip, _0200C5A8 ; =0x00000233 mov r6, r1 mov r5, r2 mov r4, r3 cmp r0, ip bge _0200C570 mov r1, r0, lsl #0x10 add r0, sp, #4 mov r1, r1, lsr #0x10 bl InitMoveCheckId mov r0, #0 bl GetDungeonResultString add r1, sp, #4 mov r2, #0 bl FormatMoveString ldrh r1, [sp, #8] ldr r0, _0200C5AC ; =0x000009CB str r1, [sp, #0x1c] bl StringFromMessageId mov r2, r0 add r4, sp, #0xc mov r1, r5 mov r0, r6 mov r3, #0 str r4, [sp] bl PreprocessString b _0200C5A0 _0200C570: rsb r1, ip, #0 add r1, r0, r1 ldr r0, _0200C5B0 ; =_0209E7A6 mov r1, r1, lsl #2 ldrh r0, [r0, r1] bl StringFromMessageId mov r2, r0 mov r0, r6 mov r1, r5 mov r3, #0 str r4, [sp] bl PreprocessString _0200C5A0: add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0200C5A8: .word 0x00000233 _0200C5AC: .word 0x000009CB _0200C5B0: .word _0209E7A6 arm_func_end GetDungeonResultMsg arm_func_start sub_0200C5B4 sub_0200C5B4: ; 0x0200C5B4 ldr r1, _0200C5D4 ; =0x00000233 cmp r0, r1 movlt r0, #1 rsbge r1, r1, #0 ldrge r2, _0200C5D8 ; =DUNGEON_RETURN_STATUS_TABLE addge r0, r0, r1 ldrgeb r0, [r2, r0, lsl #2] bx lr .align 2, 0 _0200C5D4: .word 0x00000233 _0200C5D8: .word DUNGEON_RETURN_STATUS_TABLE arm_func_end sub_0200C5B4 arm_func_start sub_0200C5DC sub_0200C5DC: ; 0x0200C5DC stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x54 sub sp, sp, #0x400 mov r5, r1 mov r6, r0 bl sub_020275F8 ldrb r1, [r5, #0x5c] ldrb r4, [r0, #6] cmp r1, #0x3d moveq r1, #0x3c orr r0, r1, #0x40000 str r0, [sp, #0x14] ldrb r1, [r5, #0x5d] ldr r0, _0200CA18 ; =0x000009CC str r1, [sp, #0x28] bl StringFromMessageId mov r2, r0 add ip, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString add r3, sp, #0x54 mov r0, r6 mov r1, #4 mov r2, #0x10 bl sub_02026214 add r1, r5, #0x1e add r0, r5, #0x3c str r1, [sp, #0x40] str r5, [sp, #0x3c] str r0, [sp, #0x44] ldrsh r0, [r5, #0x5a] bl sub_0200C5B4 cmp r0, #0 beq _0200C698 ldr r0, _0200CA1C ; =0x000009CD bl StringFromMessageId mov r2, r0 add ip, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString b _0200C6BC _0200C698: ldr r0, _0200CA20 ; =0x000009CE bl StringFromMessageId mov r2, r0 add ip, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString _0200C6BC: add r0, sp, #0x54 bl sub_020265A8 rsb r0, r0, r4, lsl #3 add r1, r0, r0, lsr #31 add r3, sp, #0x54 mov r0, r6 mov r1, r1, asr #1 mov r2, #0x1a bl sub_02026214 ldrsh r0, [r5, #0x5a] add r1, sp, #0x54 add r3, sp, #4 mov r2, #0x400 bl GetDungeonResultMsg add r0, sp, #0x54 bl sub_020265A8 rsb r0, r0, r4, lsl #3 add r0, r0, r0, lsr #31 mov r1, r0, asr #1 mov r0, r6 mov r2, #0x24 add r3, sp, #0x54 bl sub_02026214 ldr r1, [r5, #0x64] ldr r0, _0200CA24 ; =0x000009CF str r1, [sp, #0x28] ldrb r1, [r5, #0x6e] str r1, [sp, #0x2c] bl StringFromMessageId add r1, sp, #4 mov r2, r0 str r1, [sp] add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 bl PreprocessString mov r0, r6 mov r1, #4 mov r2, #0x34 add r3, sp, #0x54 bl sub_02026214 ldrsh r1, [r5, #0x68] mov r0, #0x9d0 str r1, [sp, #0x28] bl StringFromMessageId add r1, sp, #4 mov r2, r0 str r1, [sp] add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 bl PreprocessString mov r0, r6 mov r1, #4 mov r2, #0x3e add r3, sp, #0x54 bl sub_02026214 ldrb r2, [r5, #0x6a] str r2, [sp, #0x28] ldrb r0, [r5, #0x6c] str r0, [sp, #0x2c] ldrb r1, [r5, #0xa9] cmp r1, #0 beq _0200C7EC ldr r0, _0200CA28 ; =0x000009D5 add r1, r2, r1 str r1, [sp, #0x28] bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString b _0200C810 _0200C7EC: ldr r0, _0200CA2C ; =0x000009D1 bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString _0200C810: add r3, sp, #0x54 mov r0, r6 mov r1, #4 mov r2, #0x48 bl sub_02026214 ldrb r2, [r5, #0xab] cmp r2, #0 beq _0200C864 ldr r1, [sp, #0x2c] ldr r0, _0200CA30 ; =0x000009D6 add r1, r1, r2 str r1, [sp, #0x2c] bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString b _0200C888 _0200C864: ldr r0, _0200CA34 ; =0x000009D2 bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString _0200C888: add r3, sp, #0x54 mov r0, r6 mov r1, #4 mov r2, #0x48 bl sub_02026214 ldrb r2, [r5, #0x6b] str r2, [sp, #0x28] ldrb r0, [r5, #0x6d] str r0, [sp, #0x2c] ldrb r1, [r5, #0xaa] cmp r1, #0 beq _0200C8E8 ldr r0, _0200CA38 ; =0x000009D7 add r1, r2, r1 str r1, [sp, #0x28] bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString b _0200C90C _0200C8E8: ldr r0, _0200CA3C ; =0x000009D3 bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString _0200C90C: add r3, sp, #0x54 mov r0, r6 mov r1, #4 mov r2, #0x52 bl sub_02026214 ldrb r2, [r5, #0xac] cmp r2, #0 beq _0200C960 ldr r1, [sp, #0x2c] ldr r0, _0200CA40 ; =0x000009D8 add r1, r1, r2 str r1, [sp, #0x2c] bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString b _0200C984 _0200C960: ldr r0, _0200CA44 ; =0x000009D4 bl StringFromMessageId mov r2, r0 add r4, sp, #4 add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 str r4, [sp] bl PreprocessString _0200C984: add r3, sp, #0x54 mov r0, r6 mov r1, #4 mov r2, #0x52 bl sub_02026214 ldrb r0, [r5, #0x5e] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200C9EC bl sub_02025888 ldr r2, _0200CA48 ; =_02094C0C add r1, r5, #0x5e str r0, [sp, #0x3c] bl sub_0200D670 ldr r0, _0200CA4C ; =0x000009DA bl StringFromMessageId add r1, sp, #4 mov r2, r0 str r1, [sp] add r0, sp, #0x54 mov r1, #0x400 mov r3, #0 bl PreprocessString b _0200C9F8 _0200C9EC: ldr r1, _0200CA50 ; =0x000009D9 add r0, sp, #0x54 bl GetStringFromFileVeneer _0200C9F8: add r3, sp, #0x54 mov r0, r6 mov r1, #4 mov r2, #0x62 bl sub_02026214 add sp, sp, #0x54 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0200CA18: .word 0x000009CC _0200CA1C: .word 0x000009CD _0200CA20: .word 0x000009CE _0200CA24: .word 0x000009CF _0200CA28: .word 0x000009D5 _0200CA2C: .word 0x000009D1 _0200CA30: .word 0x000009D6 _0200CA34: .word 0x000009D2 _0200CA38: .word 0x000009D7 _0200CA3C: .word 0x000009D3 _0200CA40: .word 0x000009D8 _0200CA44: .word 0x000009D4 _0200CA48: .word _02094C0C _0200CA4C: .word 0x000009DA _0200CA50: .word 0x000009D9 arm_func_end sub_0200C5DC arm_func_start GetDamageSource GetDamageSource: ; 0x0200CA54 stmdb sp!, {r3, lr} cmp r1, #0 beq _0200CA78 mov r0, r1 bl GetItemCategoryVeneer cmp r0, #9 ldreq r0, _0200CA84 ; =0x00000262 ldrne r0, _0200CA88 ; =0x00000263 ldmia sp!, {r3, pc} _0200CA78: mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0200CA84: .word 0x00000262 _0200CA88: .word 0x00000263 arm_func_end GetDamageSource arm_func_start sub_0200CA8C sub_0200CA8C: ; 0x0200CA8C stmdb sp!, {r3, lr} ldr r1, _0200CAB4 ; =_022A3824 ldr r0, _0200CAB8 ; =BAG_ITEMS_PTR_MIRROR str r1, [r0] bl LoadItemPspi2n bl sub_0200EBCC bl sub_0200FD38 bl sub_02010590 bl sub_02011AB8 ldmia sp!, {r3, pc} .align 2, 0 _0200CAB4: .word _022A3824 _0200CAB8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200CA8C arm_func_start sub_0200CABC sub_0200CABC: ; 0x0200CABC stmdb sp!, {r3, lr} bl sub_0200EBDC bl sub_0200FD3C bl sub_02010594 bl sub_02011AB8 ldmia sp!, {r3, pc} arm_func_end sub_0200CABC arm_func_start sub_0200CAD4 sub_0200CAD4: ; 0x0200CAD4 stmdb sp!, {r3, lr} bl sub_0200EC48 bl sub_02010654 ldmia sp!, {r3, pc} arm_func_end sub_0200CAD4 arm_func_start sub_0200CAE4 sub_0200CAE4: ; 0x0200CAE4 ldr ip, _0200CAEC ; =sub_0200EC90 bx ip .align 2, 0 _0200CAEC: .word sub_0200EC90 arm_func_end sub_0200CAE4 arm_func_start GetItemCategoryVeneer GetItemCategoryVeneer: ; 0x0200CAF0 ldr ip, _0200CAF8 ; =GetItemCategory bx ip .align 2, 0 _0200CAF8: .word GetItemCategory arm_func_end GetItemCategoryVeneer arm_func_start GetItemMoveId16 GetItemMoveId16: ; 0x0200CAFC stmdb sp!, {r3, lr} bl GetItemMoveId mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r3, pc} arm_func_end GetItemMoveId16 arm_func_start IsThrownItem IsThrownItem: ; 0x0200CB10 stmdb sp!, {r3, lr} bl GetItemCategory cmp r0, #1 movls r0, #1 movhi r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end IsThrownItem arm_func_start IsNotMoney IsNotMoney: ; 0x0200CB2C cmp r0, #0 moveq r0, #0 bxeq lr cmp r0, #0xb7 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end IsNotMoney arm_func_start IsEdible IsEdible: ; 0x0200CB4C stmdb sp!, {r3, lr} bl GetItemCategory add r0, r0, #0xfe and r0, r0, #0xff cmp r0, #1 movls r0, #1 movhi r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end IsEdible arm_func_start IsHM IsHM: ; 0x0200CB70 ldr r2, _0200CBF0 ; =0x0000011D cmp r0, r2 moveq r0, #1 bxeq lr add r1, r2, #1 cmp r0, r1 moveq r0, #1 bxeq lr add r1, r2, #2 cmp r0, r1 moveq r0, #1 bxeq lr cmp r0, #0x120 moveq r0, #1 bxeq lr add r1, r2, #5 cmp r0, r1 moveq r0, #1 bxeq lr add r1, r2, #6 cmp r0, r1 moveq r0, #1 bxeq lr cmp r0, #0x124 moveq r0, #1 bxeq lr add r1, r2, #4 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0200CBF0: .word 0x0000011D arm_func_end IsHM arm_func_start IsGummi IsGummi: ; 0x0200CBF4 cmp r0, #0x77 movlt r0, #0 bxlt lr cmp r0, #0x88 movle r0, #1 movgt r0, #0 and r0, r0, #0xff bx lr arm_func_end IsGummi arm_func_start IsAuraBow IsAuraBow: ; 0x0200CC14 cmp r0, #0x1ac blt _0200CC2C ldr r1, _0200CC34 ; =0x000001BB cmp r0, r1 movle r0, #1 bxle lr _0200CC2C: mov r0, #0 bx lr .align 2, 0 _0200CC34: .word 0x000001BB arm_func_end IsAuraBow arm_func_start IsLosableItem IsLosableItem: ; 0x0200CC38 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200CC7C ldrsh r0, [r4, #4] bl IsAuraBow cmp r0, #0 beq _0200CC74 ldrb r0, [r4] tst r0, #2 beq _0200CC7C _0200CC74: mov r0, #1 ldmia sp!, {r4, pc} _0200CC7C: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end IsLosableItem arm_func_start IsTreasureBox IsTreasureBox: ; 0x0200CC84 stmdb sp!, {r3, lr} bl GetItemCategory add r0, r0, #0xf4 and r0, r0, #0xff cmp r0, #2 movls r0, #1 movhi r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end IsTreasureBox arm_func_start IsStorableItem IsStorableItem: ; 0x0200CCA8 cmp r0, #0 moveq r0, #0 bxeq lr cmp r0, #0xb7 moveq r0, #0 bxeq lr cmp r0, #0xbb moveq r0, #0 bxeq lr cmp r0, #0xb2 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end IsStorableItem arm_func_start IsShoppableItem IsShoppableItem: ; 0x0200CCE0 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0xb7 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #9 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0x39 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0x3a moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0x73 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0x88 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0xb9 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0xad moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0xae moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0xa moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0xb0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #0x5d moveq r0, #0 ldmeqia sp!, {r4, pc} bl GetItemSellPrice cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl GetItemBuyPrice cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} arm_func_end IsShoppableItem arm_func_start IsValidTargetItem IsValidTargetItem: ; 0x0200CDAC cmp r0, #0x16c movge r0, #1 bxge lr mov ip, #0 ldr r2, _0200CDF0 ; =_020A18BC ldr r1, _0200CDF4 ; =0x00000578 b _0200CDD8 _0200CDC8: cmp r0, r3 moveq r0, #1 bxeq lr add ip, ip, #1 _0200CDD8: mov r3, ip, lsl #1 ldrsh r3, [r2, r3] cmp r3, r1 bne _0200CDC8 mov r0, #0 bx lr .align 2, 0 _0200CDF0: .word _020A18BC _0200CDF4: .word 0x00000578 arm_func_end IsValidTargetItem arm_func_start IsItemUsableNow IsItemUsableNow: ; 0x0200CDF8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4] tst r0, #2 beq _0200CE6C ldrsh r0, [r4, #4] bl GetItemCategory cmp r0, #5 ldrnesh r0, [r4, #4] cmpne r0, #0x47 cmpne r0, #0x4d cmpne r0, #0x58 cmpne r0, #0x59 cmpne r0, #0x5d cmpne r0, #0x64 cmpne r0, #0x65 cmpne r0, #0x66 cmpne r0, #0x67 cmpne r0, #0x6c beq _0200CE64 sub r0, r0, #0x77 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #0x11 bhi _0200CE6C _0200CE64: mov r0, #0 ldmia sp!, {r4, pc} _0200CE6C: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end IsItemUsableNow arm_func_start IsTicketItem IsTicketItem: ; 0x0200CE74 sub r0, r0, #0xa9 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #3 movls r0, #1 movhi r0, #0 and r0, r0, #0xff bx lr arm_func_end IsTicketItem arm_func_start InitItem InitItem: ; 0x0200CE9C stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r1 mov r7, r0 mov r5, r2 mov r4, r3 beq _0200CF44 mov r0, #1 strb r0, [r7] mov r0, r6 strh r6, [r7, #4] mov r1, #0 strb r1, [r7, #1] bl IsThrownItem cmp r0, #0 mov r0, r6 beq _0200CF04 mov r1, #1 bl GetThrownItemQuantityLimit mov r5, r0 mov r0, r6 mov r1, #0 bl GetThrownItemQuantityLimit mov r1, r5 bl RandRangeSafe strh r0, [r7, #2] b _0200CF30 _0200CF04: bl GetItemCategory cmp r0, #6 moveq r0, #1 streqh r0, [r7, #2] beq _0200CF30 add r0, r0, #0xf4 and r0, r0, #0xff cmp r0, #2 strlsh r5, [r7, #2] movhi r0, #0 strhih r0, [r7, #2] _0200CF30: cmp r4, #0 ldrneb r0, [r7] orrne r0, r0, #8 strneb r0, [r7] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0200CF44: mov r0, #0 strb r0, [r7] strh r6, [r7, #4] strh r0, [r7, #2] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end InitItem arm_func_start InitStandardItem InitStandardItem: ; 0x0200CF58 ldr ip, _0200CF68 ; =InitItem mov r3, r2 mov r2, #0 bx ip .align 2, 0 _0200CF68: .word InitItem arm_func_end InitStandardItem arm_func_start sub_0200CF6C sub_0200CF6C: ; 0x0200CF6C ldr ip, _0200CF74 ; =InitItem bx ip .align 2, 0 _0200CF74: .word InitItem arm_func_end sub_0200CF6C arm_func_start sub_0200CF78 sub_0200CF78: ; 0x0200CF78 stmdb sp!, {r4, r5, r6, lr} movs r5, r1 mov r6, r0 strh r5, [r6] beq _0200CFE4 mov r0, r5 bl IsThrownItem cmp r0, #0 mov r0, r5 beq _0200CFC8 mov r1, #1 bl GetThrownItemQuantityLimit mov r4, r0 mov r0, r5 mov r1, #0 bl GetThrownItemQuantityLimit mov r1, r4 bl RandRangeSafe strh r0, [r6, #2] ldmia sp!, {r4, r5, r6, pc} _0200CFC8: bl GetItemCategory cmp r0, #6 moveq r0, #1 streqh r0, [r6, #2] movne r0, #0 strneh r0, [r6, #2] ldmia sp!, {r4, r5, r6, pc} _0200CFE4: mov r0, #0 strh r0, [r6, #2] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0200CF78 arm_func_start sub_0200CFF0 sub_0200CFF0: ; 0x0200CFF0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrsh r1, [r4] mov r5, r0 cmp r1, #0 beq _0200D098 mov r0, #1 strb r0, [r5] ldrsh r1, [r4] mov r0, #0 strh r1, [r5, #4] strb r0, [r5, #1] ldrsh r0, [r5, #4] bl IsThrownItem cmp r0, #0 ldrneh r0, [r4, #2] strneh r0, [r5, #2] ldmneia sp!, {r3, r4, r5, pc} ldrsh r0, [r5, #4] bl GetItemCategory cmp r0, #0xe bgt _0200D078 subs r1, r0, #6 addpl pc, pc, r1, lsl #2 b _0200D08C _0200D054: ; jump table b _0200D080 ; case 0 b _0200D08C ; case 1 b _0200D08C ; case 2 b _0200D08C ; case 3 b _0200D08C ; case 4 b _0200D08C ; case 5 b _0200D080 ; case 6 b _0200D080 ; case 7 b _0200D080 ; case 8 _0200D078: cmp r0, #0xbb bne _0200D08C _0200D080: ldrh r0, [r4, #2] strh r0, [r5, #2] ldmia sp!, {r3, r4, r5, pc} _0200D08C: mov r0, #0 strh r0, [r5, #2] ldmia sp!, {r3, r4, r5, pc} _0200D098: bl ItemZInit ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0200CFF0 arm_func_start sub_0200D0A0 sub_0200D0A0: ; 0x0200D0A0 ldrb r2, [r1] tst r2, #1 movne r2, #1 moveq r2, #0 tst r2, #0xff ldrnesh r2, [r1, #4] strneh r2, [r0] ldrneh r1, [r1, #2] moveq r1, #0 streqh r1, [r0] strh r1, [r0, #2] bx lr arm_func_end sub_0200D0A0 arm_func_start GetDisplayedBuyPrice GetDisplayedBuyPrice: ; 0x0200D0D0 stmdb sp!, {r4, lr} mov r4, r0 ldrsh r1, [r4, #4] cmp r1, #0xb7 bne _0200D0EC bl sub_0200D8AC ldmia sp!, {r4, pc} _0200D0EC: mov r0, r1 bl IsThrownItem cmp r0, #0 ldrsh r0, [r4, #4] beq _0200D110 bl GetItemBuyPrice ldrh r1, [r4, #2] mul r0, r1, r0 ldmia sp!, {r4, pc} _0200D110: bl GetItemBuyPrice ldmia sp!, {r4, pc} arm_func_end GetDisplayedBuyPrice arm_func_start GetDisplayedSellPrice GetDisplayedSellPrice: ; 0x0200D118 stmdb sp!, {r4, lr} mov r4, r0 ldrsh r1, [r4, #4] cmp r1, #0xb7 bne _0200D134 bl sub_0200D8AC ldmia sp!, {r4, pc} _0200D134: mov r0, r1 bl IsThrownItem cmp r0, #0 ldrsh r0, [r4, #4] beq _0200D158 bl GetItemSellPrice ldrh r1, [r4, #2] mul r0, r1, r0 ldmia sp!, {r4, pc} _0200D158: bl GetItemSellPrice ldmia sp!, {r4, pc} arm_func_end GetDisplayedSellPrice arm_func_start GetActualBuyPrice GetActualBuyPrice: ; 0x0200D160 stmdb sp!, {r4, lr} mov r4, r0 ldrsh r0, [r4, #4] bl IsShoppableItem cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrsh r0, [r4, #4] bl IsThrownItem cmp r0, #0 ldrsh r0, [r4, #4] beq _0200D1A0 bl GetItemBuyPrice ldrh r1, [r4, #2] mul r0, r1, r0 ldmia sp!, {r4, pc} _0200D1A0: bl GetItemBuyPrice ldmia sp!, {r4, pc} arm_func_end GetActualBuyPrice arm_func_start GetActualSellPrice GetActualSellPrice: ; 0x0200D1A8 stmdb sp!, {r4, lr} mov r4, r0 ldrsh r0, [r4, #4] bl IsShoppableItem cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrsh r0, [r4, #4] bl IsThrownItem cmp r0, #0 ldrsh r0, [r4, #4] beq _0200D1E8 bl GetItemSellPrice ldrh r1, [r4, #2] mul r0, r1, r0 ldmia sp!, {r4, pc} _0200D1E8: bl GetItemSellPrice ldmia sp!, {r4, pc} arm_func_end GetActualSellPrice arm_func_start sub_0200D1F0 sub_0200D1F0: ; 0x0200D1F0 ldr ip, _0200D1F8 ; =sub_0200EB64 bx ip .align 2, 0 _0200D1F8: .word sub_0200EB64 arm_func_end sub_0200D1F0 arm_func_start sub_0200D1FC sub_0200D1FC: ; 0x0200D1FC ldr ip, _0200D204 ; =GetItemPaletteId bx ip .align 2, 0 _0200D204: .word GetItemPaletteId arm_func_end sub_0200D1FC arm_func_start sub_0200D208 sub_0200D208: ; 0x0200D208 ldr ip, _0200D210 ; =GetItemActionName bx ip .align 2, 0 _0200D210: .word GetItemActionName arm_func_end sub_0200D208 arm_func_start sub_0200D214 sub_0200D214: ; 0x0200D214 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x58 mov r5, r1 mov r6, r0 mov r0, r5 mov r4, r2 bl GetItemName mov r1, r0 add r0, sp, #6 mov r2, #0x50 bl strncpy mov r2, #0 mov r1, r5 add r0, sp, #0 mov r3, r2 bl InitItem mov r1, #1 strh r1, [sp, #2] mov r0, r6 mov r3, r4 add r1, sp, #6 add r2, sp, #0 bl sub_0200D688 add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0200D214 arm_func_start FindItemInInventory FindItemInInventory: ; 0x0200D278 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0200D30C ; =BAG_ITEMS_PTR_MIRROR mov r5, #0 ldr r6, [r1] mov r3, r5 mov ip, #1 mov r1, #6 b _0200D2D0 _0200D298: mul lr, r5, r1 ldr r4, [r6, #0x384] ldrb r2, [r4, lr] add r4, r4, lr tst r2, #1 movne r2, ip moveq r2, r3 tst r2, #0xff beq _0200D2CC ldrsh r2, [r4, #4] cmp r0, r2 moveq r0, r5 ldmeqia sp!, {r4, r5, r6, pc} _0200D2CC: add r5, r5, #1 _0200D2D0: cmp r5, #0x32 blt _0200D298 mov r2, #0 b _0200D2FC _0200D2E0: add r1, r6, r2, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] cmp r0, r1 addeq r0, r2, #0x8000 ldmeqia sp!, {r4, r5, r6, pc} add r2, r2, #1 _0200D2FC: cmp r2, #0x3e8 blt _0200D2E0 mvn r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200D30C: .word BAG_ITEMS_PTR_MIRROR arm_func_end FindItemInInventory arm_func_start sub_0200D310 sub_0200D310: ; 0x0200D310 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xa0 mov sb, r1 mov sl, r0 ldrsh r0, [sb, #4] mov r8, r2 mov r7, r3 mov r4, #0 bl GetItemCategory mov r5, r4 mov r6, r0 cmp r8, #0 ldrneb r0, [r8, #8] mov fp, r5 cmpne r0, #0 ldrsh r0, [sb, #4] movne r4, #1 bl GetItemName mov r2, r0 cmp r6, #0 bne _0200D3B4 cmp r4, #0 add r0, sp, #0x50 beq _0200D394 cmp r7, #0 ldrh r3, [sb, #2] beq _0200D388 ldr r1, _0200D60C ; =_02097F34 bl SprintfStatic__0200D634 b _0200D4F8 _0200D388: ldr r1, _0200D610 ; =_02097F50 bl SprintfStatic__0200D634 b _0200D4F8 _0200D394: cmp r7, #0 beq _0200D3A8 ldr r1, _0200D614 ; =_02097F58 bl SprintfStatic__0200D634 b _0200D4F8 _0200D3A8: ldr r1, _0200D618 ; =_02097F68 bl SprintfStatic__0200D634 b _0200D4F8 _0200D3B4: cmp r6, #1 bne _0200D40C cmp r4, #0 add r0, sp, #0x50 beq _0200D3EC cmp r7, #0 ldrh r3, [sb, #2] beq _0200D3E0 ldr r1, _0200D60C ; =_02097F34 bl SprintfStatic__0200D634 b _0200D4F8 _0200D3E0: ldr r1, _0200D610 ; =_02097F50 bl SprintfStatic__0200D634 b _0200D4F8 _0200D3EC: cmp r7, #0 beq _0200D400 ldr r1, _0200D614 ; =_02097F58 bl SprintfStatic__0200D634 b _0200D4F8 _0200D400: ldr r1, _0200D618 ; =_02097F68 bl SprintfStatic__0200D634 b _0200D4F8 _0200D40C: add r0, r6, #0xf4 and r0, r0, #0xff cmp r0, #2 bhi _0200D440 cmp r7, #0 add r0, sp, #0x50 beq _0200D434 ldr r1, _0200D61C ; =_02097F6C bl SprintfStatic__0200D634 b _0200D4F8 _0200D434: mov r1, r2 bl strcpy b _0200D4F8 _0200D440: ldrsh r0, [sb, #4] cmp r0, #0xb7 bne _0200D4AC mov r0, sb bl sub_0200D8AC mov r1, r0 add r0, sp, #0 bl sub_020238E0 cmp r7, #0 add r0, sp, #0x50 add r2, sp, #0 beq _0200D47C ldr r1, _0200D620 ; =_02097F7C bl SprintfStatic__0200D634 b _0200D484 _0200D47C: ldr r1, _0200D624 ; =_02097F90 bl SprintfStatic__0200D634 _0200D484: cmp r7, #0 add r0, sp, #0x50 add r2, sp, #0 beq _0200D4A0 ldr r1, _0200D620 ; =_02097F7C bl SprintfStatic__0200D634 b _0200D4F8 _0200D4A0: ldr r1, _0200D624 ; =_02097F90 bl SprintfStatic__0200D634 b _0200D4F8 _0200D4AC: cmp r6, #0xf add r0, sp, #0x50 bne _0200D4D8 cmp r7, #0 beq _0200D4CC ldr r1, _0200D628 ; =_02097F9C bl SprintfStatic__0200D634 b _0200D4F8 _0200D4CC: mov r1, r2 bl strcpy b _0200D4F8 _0200D4D8: cmp r7, #0 beq _0200D4EC ldr r1, _0200D614 ; =_02097F58 bl SprintfStatic__0200D634 b _0200D4F8 _0200D4EC: mov r1, r2 mov r2, #0x50 bl strncpy _0200D4F8: ldrb r0, [sb] tst r0, #8 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200D538 ldr r1, _0200D62C ; =_02097FAC add r2, sp, #0x50 mov r0, sl bl SprintfStatic__0200D634 add r0, sp, #0x50 mov r1, sl mov r2, #0x50 bl strncpy mov fp, #1 b _0200D564 _0200D538: ldrb r0, [sp, #0xc8] cmp r0, #0 beq _0200D564 ldr r1, _0200D630 ; =_02097FB8 add r2, sp, #0x50 mov r0, sl bl SprintfStatic__0200D634 add r0, sp, #0x50 mov r1, sl mov r2, #0x50 bl strncpy _0200D564: cmp r8, #0 bne _0200D580 add r1, sp, #0x50 mov r0, sl mov r2, #0x50 bl strncpy b _0200D600 _0200D580: ldrb r0, [r8, #4] cmp r0, #0 beq _0200D5AC ldrb r0, [sb] tst r0, #0x10 beq _0200D5AC cmp fp, #0 movne r0, #0x35 strneb r0, [sp, #0x54] moveq r0, #0x32 streqb r0, [sp, #0x54] _0200D5AC: ldr r0, [r8] add r1, sp, #0x50 cmp r0, #1 cmpne r0, #3 bne _0200D5F0 ldrb r0, [sb] tst r0, #2 mov r0, sl beq _0200D5E4 mov r2, sb mov r3, r8 bl sub_0200D688 mov r5, #1 b _0200D600 _0200D5E4: mov r2, #0x50 bl strncpy b _0200D600 _0200D5F0: mov r0, sl mov r2, sb mov r3, r8 bl sub_0200D688 _0200D600: mov r0, r5 add sp, sp, #0xa0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0200D60C: .word _02097F34 _0200D610: .word _02097F50 _0200D614: .word _02097F58 _0200D618: .word _02097F68 _0200D61C: .word _02097F6C _0200D620: .word _02097F7C _0200D624: .word _02097F90 _0200D628: .word _02097F9C _0200D62C: .word _02097FAC _0200D630: .word _02097FB8 arm_func_end sub_0200D310 arm_func_start SprintfStatic__0200D634 SprintfStatic__0200D634: ; 0x0200D634 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__0200D634 arm_func_start sub_0200D65C sub_0200D65C: ; 0x0200D65C stmdb sp!, {r3, lr} mov r3, #0 str r3, [sp] bl sub_0200D310 ldmia sp!, {r3, pc} arm_func_end sub_0200D65C arm_func_start sub_0200D670 sub_0200D670: ; 0x0200D670 stmdb sp!, {r3, lr} mov ip, #0 mov r3, #1 str ip, [sp] bl sub_0200D310 ldmia sp!, {r3, pc} arm_func_end sub_0200D670 arm_func_start sub_0200D688 sub_0200D688: ; 0x0200D688 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x2c movs r4, r3 mov r6, r0 mov r5, r1 bne _0200D6AC mov r2, #0x50 bl strncpy b _0200D75C _0200D6AC: ldr r0, [r4] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0200D6E8 _0200D6BC: ; jump table b _0200D6E8 ; case 0 b _0200D6D0 ; case 1 b _0200D6D0 ; case 2 b _0200D6DC ; case 3 b _0200D6DC ; case 4 _0200D6D0: mov r0, r2 bl GetDisplayedBuyPrice b _0200D6EC _0200D6DC: mov r0, r2 bl GetDisplayedSellPrice b _0200D6EC _0200D6E8: mov r0, #0 _0200D6EC: cmp r0, #0 bne _0200D708 mov r0, r6 mov r1, r5 mov r2, #0x50 bl strncpy b _0200D75C _0200D708: ldrsh r1, [r4, #6] cmp r1, #0 add r1, sp, #4 beq _0200D740 mov r2, #1 bl sub_0200D76C add r0, sp, #4 str r0, [sp] ldrsh r3, [r4, #6] ldr r1, _0200D764 ; =_02097FC4 mov r0, r6 mov r2, r5 bl SprintfStatic__0200D634 b _0200D75C _0200D740: mov r2, #0 bl sub_0200D76C ldr r1, _0200D768 ; =_02097FE4 add r3, sp, #4 mov r0, r6 mov r2, r5 bl SprintfStatic__0200D634 _0200D75C: add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0200D764: .word _02097FC4 _0200D768: .word _02097FE4 arm_func_end sub_0200D688 arm_func_start sub_0200D76C sub_0200D76C: ; 0x0200D76C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r3, _0200D814 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr lr, [r3, #4] ldr r8, _0200D818 ; =_02094D0C mov r3, ip mov sl, ip mov r7, #9 mov r4, #0x7f mov r6, #1 mov sb, ip _0200D798: mov r5, sb ldr fp, [r8, sl, lsl #2] b _0200D7AC _0200D7A4: sub r0, r0, fp add r5, r5, #1 _0200D7AC: cmp r0, fp bge _0200D7A4 cmp r5, #9 movgt r5, r7 cmp r5, #0 ldrneb r5, [lr, r5] movne ip, r6 addne r3, r3, #1 strneb r5, [r1], #1 bne _0200D7F0 cmp ip, #0 ldrneb r5, [lr, r5] addne r3, r3, #1 strneb r5, [r1], #1 bne _0200D7F0 cmp r2, #0 strneb r4, [r1], #1 _0200D7F0: add sl, sl, #1 cmp sl, #5 blt _0200D798 ldrb ip, [lr, r0] mov r2, #0 add r0, r3, #1 strb ip, [r1] strb r2, [r1, #1] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0200D814: .word BAG_ITEMS_PTR_MIRROR _0200D818: .word _02094D0C arm_func_end sub_0200D76C arm_func_start ItemZInit ItemZInit: ; 0x0200D81C mov r1, #0 strh r1, [r0, #4] strh r1, [r0, #2] strb r1, [r0] strb r1, [r0, #1] bx lr arm_func_end ItemZInit arm_func_start sub_0200D834 sub_0200D834: ; 0x0200D834 ldrb ip, [r0] ldrb r3, [r1] and ip, ip, r2 and r2, r3, r2 cmp ip, r2 movne r0, #0 bxne lr ldrb r3, [r0, #1] ldrb r2, [r1, #1] cmp r3, r2 movne r0, #0 bxne lr ldrh r3, [r0, #2] ldrh r2, [r1, #2] cmp r3, r2 movne r0, #0 bxne lr ldrsh r2, [r0, #4] ldrsh r0, [r1, #4] cmp r2, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_0200D834 arm_func_start sub_0200D894 sub_0200D894: ; 0x0200D894 mov r1, #0 strb r1, [r0, #1] ldrb r1, [r0] bic r1, r1, #0x18 strb r1, [r0] bx lr arm_func_end sub_0200D894 arm_func_start sub_0200D8AC sub_0200D8AC: ; 0x0200D8AC stmdb sp!, {r3, lr} ldrb r1, [r0] ldrh r2, [r0, #2] ldr r0, _0200D8DC ; =MONEY_QUANTITY_TABLE tst r1, #0x20 ldr r0, [r0, r2, lsl #2] ldmeqia sp!, {r3, pc} ldr r1, _0200D8E0 ; =0x00000133 mov r0, r0, lsl #8 bl MultiplyByFixedPoint mov r0, r0, asr #8 ldmia sp!, {r3, pc} .align 2, 0 _0200D8DC: .word MONEY_QUANTITY_TABLE _0200D8E0: .word 0x00000133 arm_func_end sub_0200D8AC arm_func_start sub_0200D8E4 sub_0200D8E4: ; 0x0200D8E4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 bl GetItemCategory cmp r0, #0xf bne _0200D950 mov r5, #0 ldr r4, _0200D958 ; =_02094D20 b _0200D940 _0200D904: mov r0, r7 bl GetExclusiveItemType cmp r6, r0 bne _0200D93C add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 mov r0, r7 bl GetExclusiveItemType add r1, r4, r5, lsl #2 ldrsh r1, [r1, #2] cmp r1, r0 moveq r0, r7 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _0200D93C: add r5, r5, #1 _0200D940: mov r0, r5, lsl #2 ldrsh r6, [r4, r0] cmp r6, #0 bne _0200D904 _0200D950: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200D958: .word _02094D20 arm_func_end sub_0200D8E4 arm_func_start WriteItemsToSave WriteItemsToSave: ; 0x0200D95C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 mov r8, #0 ldr r6, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR mov fp, r8 mov r4, #6 mov r5, #0x12c _0200D98C: mul sl, r8, r5 mov r7, fp _0200D994: ldr r1, [r6] add r0, sp, #0 add r1, r1, sl mla sb, r7, r4, r1 mov r1, sb mov r2, #8 bl CopyBitsTo add r0, sp, #0 add r1, sb, #2 mov r2, #0xb bl CopyBitsTo add r0, sp, #0 add r1, sb, #4 mov r2, #0xb bl CopyBitsTo add r1, sb, #1 add r0, sp, #0 mov r2, #3 bl CopyBitsTo add r7, r7, #1 cmp r7, #0x32 blt _0200D994 add r8, r8, #1 cmp r8, #3 blt _0200D98C ldr r4, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 add r6, sp, #0 mov r5, #0xb _0200DA08: ldr r1, [r4] mov r0, r6 add r1, r1, #0x8a add r1, r1, #0x300 mov r2, r5 add r1, r1, r7, lsl #1 bl CopyBitsTo add r7, r7, #1 cmp r7, #0x3e8 blt _0200DA08 ldr r4, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 add r6, sp, #0 mov r5, #0xb _0200DA40: ldr r1, [r4] mov r0, r6 add r1, r1, #0x5a add r1, r1, #0xb00 mov r2, r5 add r1, r1, r7, lsl #1 bl CopyBitsTo add r7, r7, #1 cmp r7, #0x3e8 blt _0200DA40 mov sb, #0 mov r5, #0xb ldr r4, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r6, sp, #0 mov fp, r5 mov r7, sb _0200DA80: mov sl, r7 _0200DA84: ldr r1, [r4] mov r0, r6 add r1, r1, #0x330 add r1, r1, #0x1000 add r1, r1, sb, lsl #5 add r8, r1, sl, lsl #2 mov r1, r8 mov r2, r5 bl CopyBitsTo add r1, r8, #2 mov r0, r6 mov r2, fp bl CopyBitsTo add sl, sl, #1 cmp sl, #8 blt _0200DA84 mov sl, #0 _0200DAC8: ldr r1, [r4] mov r0, r6 add r1, r1, #0x374 add r1, r1, #0x1000 add r1, r1, sb, lsl #4 add r8, r1, sl, lsl #2 mov r1, r8 mov r2, #0xb bl CopyBitsTo add r1, r8, #2 mov r0, r6 mov r2, #0xb bl CopyBitsTo add sl, sl, #1 cmp sl, #4 blt _0200DAC8 add sb, sb, #1 cmp sb, #2 blt _0200DA80 ldr r4, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 add r6, sp, #0 mov r5, #0x18 _0200DB24: ldr r1, [r4] mov r0, r6 add r1, r1, #0x394 add r1, r1, #0x1000 mov r2, r5 add r1, r1, r7, lsl #2 bl CopyBitsTo add r7, r7, #1 cmp r7, #3 blt _0200DB24 ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x18 add r1, r1, #0x3a0 add r1, r1, #0x1000 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0xc add r1, r1, #0x3a4 add r1, r1, #0x1000 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0xc add r1, r1, #0xa6 add r1, r1, #0x1300 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #8 add r1, r1, #0x3a8 add r1, r1, #0x1000 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #8 add r1, r1, #0xaa add r1, r1, #0x1300 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x3ac add r1, r1, #0x1000 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x3b0 add r1, r1, #0x1000 bl CopyBitsTo ldr r1, _0200DC40 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0xb2 add r1, r1, #0x1300 bl CopyBitsTo add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0200DC40: .word BAG_ITEMS_PTR_MIRROR arm_func_end WriteItemsToSave arm_func_start ReadItemsFromSave ReadItemsFromSave: ; 0x0200DC44 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 mov r8, #0 ldr r6, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR mov fp, r8 mov r4, #6 mov r5, #0x12c _0200DC74: mul sl, r8, r5 mov r7, fp _0200DC7C: ldr r1, [r6] add r0, sp, #0 add r1, r1, sl mla sb, r7, r4, r1 mov r1, sb mov r2, #8 bl CopyBitsFrom add r0, sp, #0 add r1, sb, #2 mov r2, #0xb bl CopyBitsFrom add r0, sp, #0 add r1, sb, #4 mov r2, #0xb bl CopyBitsFrom add r1, sb, #1 add r0, sp, #0 mov r2, #3 bl CopyBitsFrom add r7, r7, #1 cmp r7, #0x32 blt _0200DC7C add r8, r8, #1 cmp r8, #3 blt _0200DC74 ldr r4, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 add r6, sp, #0 mov r5, #0xb _0200DCF0: ldr r1, [r4] mov r0, r6 add r1, r1, #0x8a add r1, r1, #0x300 mov r2, r5 add r1, r1, r7, lsl #1 bl CopyBitsFrom add r7, r7, #1 cmp r7, #0x3e8 blt _0200DCF0 ldr r4, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 add r6, sp, #0 mov r5, #0xb _0200DD28: ldr r1, [r4] mov r0, r6 add r1, r1, #0x5a add r1, r1, #0xb00 mov r2, r5 add r1, r1, r7, lsl #1 bl CopyBitsFrom add r7, r7, #1 cmp r7, #0x3e8 blt _0200DD28 mov sb, #0 mov r5, #0xb ldr r4, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r6, sp, #0 mov fp, r5 mov r7, sb _0200DD68: mov sl, r7 _0200DD6C: ldr r1, [r4] mov r0, r6 add r1, r1, #0x330 add r1, r1, #0x1000 add r1, r1, sb, lsl #5 add r8, r1, sl, lsl #2 mov r1, r8 mov r2, r5 bl CopyBitsFrom add r1, r8, #2 mov r0, r6 mov r2, fp bl CopyBitsFrom add sl, sl, #1 cmp sl, #8 blt _0200DD6C mov sl, #0 _0200DDB0: ldr r1, [r4] mov r0, r6 add r1, r1, #0x374 add r1, r1, #0x1000 add r1, r1, sb, lsl #4 add r8, r1, sl, lsl #2 mov r1, r8 mov r2, #0xb bl CopyBitsFrom add r1, r8, #2 mov r0, r6 mov r2, #0xb bl CopyBitsFrom add sl, sl, #1 cmp sl, #4 blt _0200DDB0 add sb, sb, #1 cmp sb, #2 blt _0200DD68 ldr r4, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 add r6, sp, #0 mov r5, #0x18 _0200DE0C: ldr r1, [r4] mov r0, r6 add r1, r1, #0x394 add r1, r1, #0x1000 mov r2, r5 add r1, r1, r7, lsl #2 bl CopyBitsFrom add r7, r7, #1 cmp r7, #3 blt _0200DE0C ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x18 add r1, r1, #0x3a0 add r1, r1, #0x1000 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0xc add r1, r1, #0x3a4 add r1, r1, #0x1000 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0xc add r1, r1, #0xa6 add r1, r1, #0x1300 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #8 add r1, r1, #0x3a8 add r1, r1, #0x1000 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #8 add r1, r1, #0xaa add r1, r1, #0x1300 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x3ac add r1, r1, #0x1000 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x3b0 add r1, r1, #0x1000 bl CopyBitsFrom ldr r1, _0200DF28 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0xb2 add r1, r1, #0x1300 bl CopyBitsFrom add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0200DF28: .word BAG_ITEMS_PTR_MIRROR arm_func_end ReadItemsFromSave arm_func_start sub_0200DF2C sub_0200DF2C: ; 0x0200DF2C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #8 bl CopyBitsFrom mov r0, r5 add r1, r4, #2 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #4 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #1 mov r2, #3 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0200DF2C arm_func_start sub_0200DF74 sub_0200DF74: ; 0x0200DF74 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #8 bl CopyBitsTo mov r0, r5 add r1, r4, #2 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #4 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #1 mov r2, #3 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0200DF74 arm_func_start sub_0200DFBC sub_0200DFBC: ; 0x0200DFBC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #2 mov r2, #0xa bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0200DFBC arm_func_start sub_0200DFE4 sub_0200DFE4: ; 0x0200DFE4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #2 mov r2, #0xa bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0200DFE4 arm_func_start IsItemAvailableInDungeonGroup IsItemAvailableInDungeonGroup: ; 0x0200E00C stmdb sp!, {r4, lr} mov r4, r1 bl GetDungeonGroup cmp r0, #0x64 movhs r0, #0 ldmhsia sp!, {r4, pc} ldr r2, _0200E050 ; =AVAILABLE_ITEMS_IN_GROUP_TABLE mov r1, r4, asr #2 add r0, r2, r0, lsl #7 add r1, r4, r1, lsr #29 ldrb r0, [r0, r1, asr #3] and r1, r4, #7 mov r2, #1 tst r0, r2, lsl r1 moveq r2, #0 and r0, r2, #0xff ldmia sp!, {r4, pc} .align 2, 0 _0200E050: .word AVAILABLE_ITEMS_IN_GROUP_TABLE arm_func_end IsItemAvailableInDungeonGroup arm_func_start GetItemIdFromList GetItemIdFromList: ; 0x0200E054 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r0 mov r5, r1 mov r0, #0x2f8 mov r1, #0 mov r4, r2 bl MemAlloc mov r8, r0 mov r0, #0x2f8 mov r1, #0 bl MemAlloc cmp r6, #0 mov r7, r0 ldreq r0, _0200E1F0 ; =ITEM_TABLES_PTRS_1 subne r1, r6, #1 ldreq r2, [r0] ldrne r0, _0200E1F0 ; =ITEM_TABLES_PTRS_1 ldr r3, _0200E1F4 ; =0xFFFF8AD0 ldrne r2, [r0, r1, lsl #2] mov r0, #0 mov r1, r0 mov ip, r0 rsb r6, r3, #0 b _0200E0F8 _0200E0B4: mov sb, r0, lsl #1 ldrh lr, [r2, sb] cmp lr, r6 blo _0200E0E8 add lr, lr, r3 b _0200E0DC _0200E0CC: mov sb, r1, lsl #1 strh ip, [r8, sb] add r1, r1, #1 sub lr, lr, #1 _0200E0DC: cmp lr, #0 bne _0200E0CC b _0200E0F4 _0200E0E8: mov sb, r1, lsl #1 strh lr, [r8, sb] add r1, r1, #1 _0200E0F4: add r0, r0, #1 _0200E0F8: cmp r1, #0x17c blt _0200E0B4 mov r2, #0 mov r3, r2 _0200E108: mov r1, r2, lsl #1 ldrh r0, [r8, r1] add r3, r3, #1 cmp r3, #0x10 strh r0, [r7, r1] add r2, r2, #1 blt _0200E108 mov r3, #0 _0200E128: mov r0, r2, lsl #1 ldrh r1, [r8, r0] add r0, r7, r3, lsl #1 add r3, r3, #1 strh r1, [r0, #0x20] cmp r3, #0x16c add r2, r2, #1 blt _0200E128 mov r6, #0x10 mov r1, #0 b _0200E174 _0200E154: mov r0, r1, lsl #1 ldrsh r0, [r7, r0] cmp r0, #0 beq _0200E170 cmp r0, r5 andge r6, r1, #0xff bge _0200E17C _0200E170: add r1, r1, #1 _0200E174: cmp r1, #0x10 blt _0200E154 _0200E17C: cmp r6, #0x10 mov r5, #0x55 beq _0200E1D8 mov sb, #0 b _0200E1D0 _0200E190: add r0, r7, sb, lsl #1 ldrsh r0, [r0, #0x20] cmp r0, #0 beq _0200E1CC mov r0, sb, lsl #0x10 mov r0, r0, asr #0x10 bl GetItemCategory cmp r6, r0 bne _0200E1CC add r0, r7, sb, lsl #1 ldrsh r0, [r0, #0x20] cmp r0, r4 movge r0, sb, lsl #0x10 movge r5, r0, asr #0x10 bge _0200E1D8 _0200E1CC: add sb, sb, #1 _0200E1D0: cmp sb, #0x16c blt _0200E190 _0200E1D8: mov r0, r7 bl MemFree mov r0, r8 bl MemFree mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200E1F0: .word ITEM_TABLES_PTRS_1 _0200E1F4: .word 0xFFFF8AD0 arm_func_end GetItemIdFromList arm_func_start NormalizeTreasureBox NormalizeTreasureBox: ; 0x0200E1F8 sub r1, r0, #0x16c mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #2 movls r0, #0x16c bxls lr ldr r1, _0200E39C ; =0xFFFFFE91 add r2, r0, r1 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 rsbls r0, r1, #0 bxls lr sub r2, r1, #3 add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 rsbls r0, r1, #3 bxls lr sub r2, r1, #6 add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 addls r0, r1, #0x2e4 bxls lr sub r2, r0, #0x178 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 movls r0, #0x178 bxls lr sub r2, r1, #0xc add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 rsbls r0, r1, #0xc bxls lr sub r2, r1, #0xf add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 rsbls r0, r1, #0xf bxls lr sub r2, r1, #0x12 add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 addls r0, r1, #0x2f0 bxls lr sub r2, r0, #0x184 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 movls r0, #0x184 bxls lr sub r2, r1, #0x18 add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 rsbls r0, r1, #0x18 bxls lr sub r2, r1, #0x1b add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 rsbls r0, r1, #0x1b bxls lr sub r2, r1, #0x1e add r2, r0, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #2 addls r0, r1, #0x2fc bx lr .align 2, 0 _0200E39C: .word 0xFFFFFE91 arm_func_end NormalizeTreasureBox arm_func_start sub_0200E3A0 sub_0200E3A0: ; 0x0200E3A0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 mov sb, r1 mov r6, #0 b _0200E4E8 _0200E3B8: mov r0, #6 mul r1, r6, r0 ldrb r0, [sl, r1] add r8, sl, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200E4E4 ldrsh r0, [r8, #4] bl IsThrownItem cmp r0, #0 beq _0200E4E4 ldrb r0, [r8, #1] cmp r0, #0 bne _0200E4E4 ldrb r0, [r8] tst r0, #2 bne _0200E4E4 add r7, r6, #1 mov fp, #1 mov r5, #0x63 mov r4, #6 b _0200E4DC _0200E418: ldrh r1, [r8, #2] mla r0, r7, r4, sl cmp r1, #0x63 beq _0200E4E4 ldrb r1, [r0] tst r1, #1 movne r1, fp moveq r1, #0 tst r1, #0xff beq _0200E4D8 ldrb r1, [r0, #1] cmp r1, #0 bne _0200E4D8 ldrb r1, [r0] tst r1, #2 ldreqsh r2, [r0, #4] ldreqsh r1, [r8, #4] cmpeq r2, r1 bne _0200E4D8 ldrh r2, [r8, #2] ldrh r1, [r0, #2] add r1, r2, r1 strh r1, [r8, #2] ldrb r1, [r8] tst r1, #8 movne r1, #1 moveq r1, #0 tst r1, #0xff beq _0200E4A4 ldrb r1, [r0] tst r1, #8 movne r1, #1 moveq r1, #0 tst r1, #0xff bne _0200E4BC _0200E4A4: ldrb r1, [r8] bic r1, r1, #8 strb r1, [r8] ldrb r1, [r0] bic r1, r1, #8 strb r1, [r0] _0200E4BC: ldrh r1, [r8, #2] cmp r1, #0x63 subhi r1, r1, #0x63 strhih r1, [r0, #2] strhih r5, [r8, #2] bhi _0200E4D8 bl ItemZInit _0200E4D8: add r7, r7, #1 _0200E4DC: cmp r7, sb blt _0200E418 _0200E4E4: add r6, r6, #1 _0200E4E8: cmp r6, sb blt _0200E3B8 mov r0, sl mov r1, sb bl RemoveEmptyItems mov r7, #0 b _0200E5F4 _0200E504: mov r0, #6 mul r1, r7, r0 ldrb r0, [sl, r1] add r6, sl, r1 mvn r4, #0 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200E5F0 ldrsh r0, [r6, #4] bl sub_0200EB64 mov fp, r0 add r8, r7, #1 b _0200E588 _0200E540: mov r0, #6 mul r1, r8, r0 ldrb r0, [sl, r1] add r5, sl, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200E584 ldrsh r0, [r5, #4] bl sub_0200EB64 cmp fp, r0 ble _0200E584 ldrsh r0, [r5, #4] mov r4, r8 bl sub_0200EB64 mov fp, r0 _0200E584: add r8, r8, #1 _0200E588: cmp r8, sb blt _0200E540 mvn r0, #0 cmp r4, r0 beq _0200E5F0 mov r0, #6 mul r3, r4, r0 ldrh r1, [r6] ldrh r2, [r6, #2] ldrh r5, [r6, #4] ldrh r0, [sl, r3] add r4, sl, r3 strh r1, [sp] strh r0, [r6] ldrh r1, [r4, #2] strh r2, [sp, #2] ldrh r0, [sp] strh r1, [r6, #2] ldrh r2, [r4, #4] strh r5, [sp, #4] ldrh r1, [sp, #2] strh r2, [r6, #4] strh r0, [sl, r3] ldrh r0, [sp, #4] strh r1, [r4, #2] strh r0, [r4, #4] _0200E5F0: add r7, r7, #1 _0200E5F4: cmp r7, sb blt _0200E504 mov r0, sl mov r1, sb bl RemoveEmptyItems add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0200E3A0 arm_func_start RemoveEmptyItems RemoveEmptyItems: ; 0x0200E610 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r1, #0 mov r2, r1 mov r3, #1 b _0200E6CC _0200E628: ldrb r4, [r0] tst r4, #1 movne r4, r3 moveq r4, r2 tst r4, #0xff bne _0200E6C4 mov r5, r0 mov r4, r1 add r0, r0, #6 add r1, r1, #1 mov r3, #0 mov ip, #1 b _0200E69C _0200E65C: ldrb r2, [r0] tst r2, #1 movne r2, ip moveq r2, r3 tst r2, #0xff beq _0200E694 ldrh r2, [r0] mov lr, r5 add r4, r4, #1 strh r2, [r5], #6 ldrh r2, [r0, #2] strh r2, [lr, #2] ldrh r2, [r0, #4] strh r2, [lr, #4] _0200E694: add r1, r1, #1 add r0, r0, #6 _0200E69C: cmp r1, r6 blt _0200E65C b _0200E6B8 _0200E6A8: mov r0, r5 bl ItemZInit add r5, r5, #6 add r4, r4, #1 _0200E6B8: cmp r4, r6 blt _0200E6A8 ldmia sp!, {r4, r5, r6, pc} _0200E6C4: add r1, r1, #1 add r0, r0, #6 _0200E6CC: cmp r1, r6 blt _0200E628 ldmia sp!, {r4, r5, r6, pc} arm_func_end RemoveEmptyItems arm_func_start LoadItemPspi2n LoadItemPspi2n: ; 0x0200E6D8 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r1, _0200E748 ; =_02098038 add r0, sp, #0 mov r2, #1 bl LoadFileFromRom ldr r1, [sp] ldr r0, _0200E74C ; =_020AF6C4 bl HandleSir0Translation ldr r1, _0200E750 ; =_02098054 add r0, sp, #0 mov r2, #1 bl LoadFileFromRom ldr r1, [sp] ldr r0, _0200E754 ; =ITEM_DATA_TABLE_PTRS bl HandleSir0Translation ldr r0, _0200E758 ; =_020AF6C8 bl PointsToZero cmp r0, #0 beq _0200E740 ldr r0, _0200E758 ; =_020AF6C8 bl ZInit8 ldr r0, _0200E758 ; =_020AF6C8 ldr r1, _0200E75C ; =_02098070 mov r2, #1 bl LoadFileFromRom _0200E740: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0200E748: .word _02098038 _0200E74C: .word _020AF6C4 _0200E750: .word _02098054 _0200E754: .word ITEM_DATA_TABLE_PTRS _0200E758: .word _020AF6C8 _0200E75C: .word _02098070 arm_func_end LoadItemPspi2n arm_func_start GetExclusiveItemType GetExclusiveItemType: ; 0x0200E760 stmdb sp!, {r3, lr} bl GetExclusiveItemOffsetEnsureValid ldr r1, _0200E778 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1] ldrb r0, [r1, r0, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _0200E778: .word ITEM_DATA_TABLE_PTRS arm_func_end GetExclusiveItemType arm_func_start GetExclusiveItemOffsetEnsureValid GetExclusiveItemOffsetEnsureValid: ; 0x0200E77C stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0x1bc blt _0200E798 ldr r1, _0200E7BC ; =0x00000578 cmp r4, r1 blt _0200E7A0 _0200E798: mov r0, #0x55 ldmia sp!, {r4, pc} _0200E7A0: bl IsItemValid cmp r0, #0 subne r0, r4, #0x1bc movne r0, r0, lsl #0x10 movne r0, r0, asr #0x10 moveq r0, #0x55 ldmia sp!, {r4, pc} .align 2, 0 _0200E7BC: .word 0x00000578 arm_func_end GetExclusiveItemOffsetEnsureValid arm_func_start IsItemValid IsItemValid: ; 0x0200E7C0 ldr r1, _0200E7E4 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xe] tst r0, #1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0200E7E4: .word ITEM_DATA_TABLE_PTRS arm_func_end IsItemValid arm_func_start GetExclusiveItemParameter GetExclusiveItemParameter: ; 0x0200E7E8 stmdb sp!, {r3, lr} bl GetExclusiveItemOffsetEnsureValid ldr r1, _0200E804 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1] add r0, r1, r0, lsl #2 ldrsh r0, [r0, #2] ldmia sp!, {r3, pc} .align 2, 0 _0200E804: .word ITEM_DATA_TABLE_PTRS arm_func_end GetExclusiveItemParameter arm_func_start GetItemCategory GetItemCategory: ; 0x0200E808 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200E824 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _0200E824: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemCategory arm_func_start EnsureValidItem EnsureValidItem: ; 0x0200E828 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0 ble _0200E844 ldr r1, _0200E860 ; =0x00000578 cmp r4, r1 blt _0200E84C _0200E844: mov r0, #0x55 ldmia sp!, {r4, pc} _0200E84C: bl IsItemValid cmp r0, #0 moveq r4, #0x55 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0200E860: .word 0x00000578 arm_func_end EnsureValidItem arm_func_start GetItemName GetItemName: ; 0x0200E864 stmdb sp!, {r3, lr} bl EnsureValidItem add r0, r0, #0x76 add r0, r0, #0x1a00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldmia sp!, {r3, pc} arm_func_end GetItemName arm_func_start GetItemNameFormatted GetItemNameFormatted: ; 0x0200E884 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r1 mov r8, r0 mov r0, r7 mov r6, r2 mov r5, r3 bl EnsureValidItem add r0, r0, #0x76 add r0, r0, #0x1a00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r4, r0 mov r0, r7 bl EnsureValidItem ldr r1, _0200E97C ; =ITEM_DATA_TABLE_PTRS cmp r5, #0 ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r1, [r0, #4] bne _0200E8E8 add r0, r1, #0xf4 and r0, r0, #0xff cmp r0, #2 bhi _0200E914 _0200E8E8: cmp r6, #0 beq _0200E904 ldr r1, _0200E980 ; =_0209808C mov r0, r8 mov r2, r4 bl SprintfStatic__0200E990 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0200E904: mov r0, r8 mov r1, r4 bl strcpy ldmia sp!, {r4, r5, r6, r7, r8, pc} _0200E914: cmp r1, #0xf bne _0200E94C cmp r6, #0 beq _0200E938 ldr r1, _0200E984 ; =_0209809C mov r0, r8 mov r2, r4 bl SprintfStatic__0200E990 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0200E938: ldr r1, _0200E988 ; =_020980AC mov r0, r8 mov r2, r4 bl SprintfStatic__0200E990 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0200E94C: cmp r6, #0 beq _0200E968 ldr r1, _0200E98C ; =_020980B0 mov r0, r8 mov r2, r4 bl SprintfStatic__0200E990 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0200E968: ldr r1, _0200E988 ; =_020980AC mov r0, r8 mov r2, r4 bl SprintfStatic__0200E990 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0200E97C: .word ITEM_DATA_TABLE_PTRS _0200E980: .word _0209808C _0200E984: .word _0209809C _0200E988: .word _020980AC _0200E98C: .word _020980B0 arm_func_end GetItemNameFormatted arm_func_start SprintfStatic__0200E990 SprintfStatic__0200E990: ; 0x0200E990 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__0200E990 arm_func_start GetItemBuyPrice GetItemBuyPrice: ; 0x0200E9B8 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200E9D4 ; =ITEM_DATA_TABLE_PTRS mov r0, r0, lsl #4 ldr r1, [r1, #4] ldrh r0, [r1, r0] ldmia sp!, {r3, pc} .align 2, 0 _0200E9D4: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemBuyPrice arm_func_start GetItemSellPrice GetItemSellPrice: ; 0x0200E9D8 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200E9F4 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrh r0, [r0, #2] ldmia sp!, {r3, pc} .align 2, 0 _0200E9F4: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemSellPrice arm_func_start GetItemSpriteId GetItemSpriteId: ; 0x0200E9F8 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200EA14 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #5] ldmia sp!, {r3, pc} .align 2, 0 _0200EA14: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemSpriteId arm_func_start GetItemPaletteId GetItemPaletteId: ; 0x0200EA18 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200EA34 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0200EA34: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemPaletteId arm_func_start GetItemActionName GetItemActionName: ; 0x0200EA38 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200EA54 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xd] ldmia sp!, {r3, pc} .align 2, 0 _0200EA54: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemActionName arm_func_start GetThrownItemQuantityLimit GetThrownItemQuantityLimit: ; 0x0200EA58 stmdb sp!, {r4, lr} mov r4, r1 bl EnsureValidItem ldr r1, _0200EA7C ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 add r0, r0, r4 ldrb r0, [r0, #0xa] ldmia sp!, {r4, pc} .align 2, 0 _0200EA7C: .word ITEM_DATA_TABLE_PTRS arm_func_end GetThrownItemQuantityLimit arm_func_start GetItemMoveId GetItemMoveId: ; 0x0200EA80 stmdb sp!, {r3, lr} bl EnsureValidItem ldr r1, _0200EA9C ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrsh r0, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _0200EA9C: .word ITEM_DATA_TABLE_PTRS arm_func_end GetItemMoveId arm_func_start TestItemAiFlag TestItemAiFlag: ; 0x0200EAA0 stmdb sp!, {r3, lr} cmp r1, #0 bne _0200EAD4 bl EnsureValidItem ldr r1, _0200EB2C ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xe] tst r0, #0x80 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} _0200EAD4: cmp r1, #1 bne _0200EB04 bl EnsureValidItem ldr r1, _0200EB2C ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xe] tst r0, #0x40 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} _0200EB04: bl EnsureValidItem ldr r1, _0200EB2C ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xe] tst r0, #0x20 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} .align 2, 0 _0200EB2C: .word ITEM_DATA_TABLE_PTRS arm_func_end TestItemAiFlag arm_func_start IsItemInTimeDarkness IsItemInTimeDarkness: ; 0x0200EB30 ldr r1, _0200EB54 ; =ITEM_DATA_TABLE_PTRS ldr r1, [r1, #4] add r0, r1, r0, lsl #4 ldrb r0, [r0, #0xe] tst r0, #2 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0200EB54: .word ITEM_DATA_TABLE_PTRS arm_func_end IsItemInTimeDarkness arm_func_start IsItemValidVeneer IsItemValidVeneer: ; 0x0200EB58 ldr ip, _0200EB60 ; =IsItemValid bx ip .align 2, 0 _0200EB60: .word IsItemValid arm_func_end IsItemValidVeneer arm_func_start sub_0200EB64 sub_0200EB64: ; 0x0200EB64 ldr r1, _0200EB88 ; =ITEM_DATA_TABLE_PTRS mov r2, r0, lsl #0x1f ldr r1, [r1, #8] mov r0, r0, asr #1 ldr r3, [r1, r0, lsl #2] ldr r0, _0200EB8C ; =0x000007FF mov r1, r2, lsr #0x1b and r0, r0, r3, asr r1 bx lr .align 2, 0 _0200EB88: .word ITEM_DATA_TABLE_PTRS _0200EB8C: .word 0x000007FF arm_func_end sub_0200EB64 arm_func_start sub_0200EB90 sub_0200EB90: ; 0x0200EB90 mov ip, #0 ldr r2, _0200EBC8 ; =ARM9_UNKNOWN_TABLE__NA_2097FF8 b _0200EBB8 _0200EB9C: add r1, r2, ip, lsl #2 ldrsh r1, [r1, #2] mov r3, ip, lsl #2 cmp r0, r1 ldreqsh r0, [r2, r3] bxeq lr add ip, ip, #1 _0200EBB8: cmp ip, #0x10 blt _0200EB9C mov r0, #0 bx lr .align 2, 0 _0200EBC8: .word ARM9_UNKNOWN_TABLE__NA_2097FF8 arm_func_end sub_0200EB90 arm_func_start sub_0200EBCC sub_0200EBCC: ; 0x0200EBCC ldr ip, _0200EBD8 ; =SetGold mov r0, #0 bx ip .align 2, 0 _0200EBD8: .word SetGold arm_func_end sub_0200EBCC arm_func_start sub_0200EBDC sub_0200EBDC: ; 0x0200EBDC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, #0 ldr r6, _0200EC44 ; =BAG_ITEMS_PTR_MIRROR mov r7, sl mov fp, sl mov r4, #6 mov r5, #0x12c _0200EBF8: mul sb, sl, r5 mov r8, fp _0200EC00: ldr r0, [r6] add r0, r0, sb mla r0, r8, r4, r0 bl ItemZInit add r8, r8, #1 cmp r8, #0x32 blt _0200EC00 ldr r0, [r6] add r0, r0, sl, lsl #2 add r0, r0, #0x1000 add sl, sl, #1 str r7, [r0, #0x394] cmp sl, #3 blt _0200EBF8 mov r0, r7 bl SetGold ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0200EC44: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200EBDC arm_func_start sub_0200EC48 sub_0200EC48: ; 0x0200EC48 stmdb sp!, {r4, r5, r6, lr} ldr r5, _0200EC8C ; =BAG_ITEMS_PTR_MIRROR mov r6, #0 mov r4, #6 _0200EC58: ldr r0, [r5] add r0, r0, #0x12c mla r0, r6, r4, r0 bl ItemZInit add r6, r6, #1 cmp r6, #0x32 blt _0200EC58 ldr r0, _0200EC8C ; =BAG_ITEMS_PTR_MIRROR mov r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #0x398] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200EC8C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200EC48 arm_func_start sub_0200EC90 sub_0200EC90: ; 0x0200EC90 stmdb sp!, {r4, r5, r6, lr} ldr r5, _0200ECD4 ; =BAG_ITEMS_PTR_MIRROR mov r6, #0 mov r4, #6 _0200ECA0: ldr r0, [r5] add r0, r0, #0x258 mla r0, r6, r4, r0 bl ItemZInit add r6, r6, #1 cmp r6, #0x32 blt _0200ECA0 ldr r0, _0200ECD4 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #0x39c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200ECD4: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200EC90 arm_func_start SetGold SetGold: ; 0x0200ECD8 ldr r2, _0200ECF8 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x12c ldr r3, [r2] strb r0, [r3, #0x388] ldr r2, [r2] mla r1, r0, r1, r2 str r1, [r2, #0x384] bx lr .align 2, 0 _0200ECF8: .word BAG_ITEMS_PTR_MIRROR arm_func_end SetGold arm_func_start GetGold GetGold: ; 0x0200ECFC ldr r0, _0200ED18 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r0] ldrb r0, [r1, #0x388] add r0, r1, r0, lsl #2 add r0, r0, #0x1000 ldr r0, [r0, #0x394] bx lr .align 2, 0 _0200ED18: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetGold arm_func_start SetMoneyCarried SetMoneyCarried: ; 0x0200ED1C ldr r1, _0200ED50 ; =0x0001869F cmp r0, r1 movgt r0, r1 bgt _0200ED34 cmp r0, #0 movlt r0, #0 _0200ED34: ldr r1, _0200ED54 ; =BAG_ITEMS_PTR_MIRROR ldr r2, [r1] ldrb r1, [r2, #0x388] add r1, r2, r1, lsl #2 add r1, r1, #0x1000 str r0, [r1, #0x394] bx lr .align 2, 0 _0200ED50: .word 0x0001869F _0200ED54: .word BAG_ITEMS_PTR_MIRROR arm_func_end SetMoneyCarried arm_func_start AddMoneyCarried AddMoneyCarried: ; 0x0200ED58 ldr r1, _0200ED7C ; =BAG_ITEMS_PTR_MIRROR ldr ip, _0200ED80 ; =SetMoneyCarried ldr r2, [r1] ldrb r1, [r2, #0x388] add r1, r2, r1, lsl #2 add r1, r1, #0x1000 ldr r1, [r1, #0x394] add r0, r0, r1 bx ip .align 2, 0 _0200ED7C: .word BAG_ITEMS_PTR_MIRROR _0200ED80: .word SetMoneyCarried arm_func_end AddMoneyCarried arm_func_start GetCurrentBagCapacity GetCurrentBagCapacity: ; 0x0200ED84 stmdb sp!, {r3, lr} bl GetExecuteSpecialEpisodeType mvn r1, #0 cmp r0, r1 bne _0200EDB8 mov r0, #2 bl GetPerformanceFlagWithChecks cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} bl GetScenarioBalance bl GetBagCapacity ldmia sp!, {r3, pc} _0200EDB8: bl GetBagCapacitySpecialEpisode ldmia sp!, {r3, pc} arm_func_end GetCurrentBagCapacity arm_func_start IsBagFull IsBagFull: ; 0x0200EDC0 stmdb sp!, {r3, lr} bl GetCurrentBagCapacity sub r2, r0, #1 mov r0, #6 ldr r1, _0200EDF8 ; =BAG_ITEMS_PTR_MIRROR mul r0, r2, r0 ldr r1, [r1] ldr r1, [r1, #0x384] ldrb r0, [r1, r0] tst r0, #1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} .align 2, 0 _0200EDF8: .word BAG_ITEMS_PTR_MIRROR arm_func_end IsBagFull arm_func_start GetNbItemsInBag GetNbItemsInBag: ; 0x0200EDFC stmdb sp!, {r3, lr} ldr r1, _0200EE48 ; =BAG_ITEMS_PTR_MIRROR mov r0, #0 ldr r1, [r1] mov lr, r0 ldr ip, [r1, #0x384] mov r1, r0 mov r2, #1 _0200EE1C: ldrb r3, [ip] add lr, lr, #1 add ip, ip, #6 tst r3, #1 movne r3, r2 moveq r3, r1 tst r3, #0xff addne r0, r0, #1 cmp lr, #0x32 blt _0200EE1C ldmia sp!, {r3, pc} .align 2, 0 _0200EE48: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetNbItemsInBag arm_func_start CountNbItemsOfTypeInBag CountNbItemsOfTypeInBag: ; 0x0200EE4C ldr r1, _0200EE84 ; =BAG_ITEMS_PTR_MIRROR mov r3, #0 ldr r1, [r1] mov ip, r3 ldr r2, [r1, #0x384] _0200EE60: ldrsh r1, [r2, #4] add ip, ip, #1 add r2, r2, #6 cmp r1, r0 addeq r3, r3, #1 cmp ip, #0x32 blt _0200EE60 mov r0, r3 bx lr .align 2, 0 _0200EE84: .word BAG_ITEMS_PTR_MIRROR arm_func_end CountNbItemsOfTypeInBag arm_func_start CountItemTypeInBag CountItemTypeInBag: ; 0x0200EE88 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0200EEDC ; =BAG_ITEMS_PTR_MIRROR mov r5, #0 ldr r1, [r1] mov r7, r0 ldr r4, [r1, #0x384] mov r6, r5 _0200EEA4: ldrsh r0, [r4, #4] cmp r0, r7 bne _0200EEC4 bl IsThrownItem cmp r0, #0 ldrneh r0, [r4, #2] addne r5, r5, r0 addeq r5, r5, #1 _0200EEC4: add r6, r6, #1 cmp r6, #0x32 add r4, r4, #6 blt _0200EEA4 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200EEDC: .word BAG_ITEMS_PTR_MIRROR arm_func_end CountItemTypeInBag arm_func_start IsItemInBag IsItemInBag: ; 0x0200EEE0 ldr r1, _0200EF1C ; =BAG_ITEMS_PTR_MIRROR mov r3, #0 ldr r1, [r1] ldr r2, [r1, #0x384] b _0200EF0C _0200EEF4: ldrsh r1, [r2, #4] cmp r1, r0 moveq r0, #1 bxeq lr add r3, r3, #1 add r2, r2, #6 _0200EF0C: cmp r3, #0x32 blt _0200EEF4 mov r0, #0 bx lr .align 2, 0 _0200EF1C: .word BAG_ITEMS_PTR_MIRROR arm_func_end IsItemInBag arm_func_start IsItemWithFlagsInBag IsItemWithFlagsInBag: ; 0x0200EF20 ldr r2, _0200EF68 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr r2, [r2] ldr r3, [r2, #0x384] b _0200EF58 _0200EF34: ldrsh r2, [r3, #4] cmp r2, r0 bne _0200EF50 ldrb r2, [r3] tst r2, r1 movne r0, #1 bxne lr _0200EF50: add ip, ip, #1 add r3, r3, #6 _0200EF58: cmp ip, #0x32 blt _0200EF34 mov r0, #0 bx lr .align 2, 0 _0200EF68: .word BAG_ITEMS_PTR_MIRROR arm_func_end IsItemWithFlagsInBag arm_func_start IsItemInTreasureBoxes IsItemInTreasureBoxes: ; 0x0200EF6C stmdb sp!, {r4, r5, r6, lr} ldr r1, _0200EFC8 ; =BAG_ITEMS_PTR_MIRROR mov r4, r0 ldr r0, [r1] mov r6, #0 ldr r5, [r0, #0x384] b _0200EFB8 _0200EF88: ldrsh r0, [r5, #4] bl GetItemCategoryVeneer add r0, r0, #0xf4 and r0, r0, #0xff cmp r0, #2 bhi _0200EFB0 ldrh r0, [r5, #2] cmp r0, r4 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} _0200EFB0: add r6, r6, #1 add r5, r5, #6 _0200EFB8: cmp r6, #0x32 blt _0200EF88 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200EFC8: .word BAG_ITEMS_PTR_MIRROR arm_func_end IsItemInTreasureBoxes arm_func_start IsHeldItemInBag IsHeldItemInBag: ; 0x0200EFCC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0200F04C ; =BAG_ITEMS_PTR_MIRROR mov r6, r0 ldr r0, [r1] mov r5, #0 mov sb, #1 ldr r4, [r0, #0x384] mov r8, r5 mov r7, sb b _0200F03C _0200EFF4: ldrb r0, [r4] tst r0, #1 movne r0, sb moveq r0, r8 tst r0, #0xff beq _0200F034 ldrb r0, [r4, #1] cmp r0, #0 bne _0200F034 mov r0, r4 mov r1, r6 mov r2, r7 bl sub_0200D834 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0200F034: add r5, r5, #1 add r4, r4, #6 _0200F03C: cmp r5, #0x32 blt _0200EFF4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200F04C: .word BAG_ITEMS_PTR_MIRROR arm_func_end IsHeldItemInBag arm_func_start IsItemForSpecialSpawnInBag IsItemForSpecialSpawnInBag: ; 0x0200F050 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0200F0E0 ; =BAG_ITEMS_PTR_MIRROR mov r4, #0 ldr r0, [r0] mov ip, #1 ldr lr, [r0, #0x384] mov r3, r4 mov r1, r4 mov r2, ip b _0200F0D0 _0200F078: ldrb r5, [lr] tst r5, #1 movne r0, ip moveq r0, r3 tst r0, #0xff beq _0200F0C8 ldrsh r0, [lr, #4] sub r0, r0, #0xad mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 bhi _0200F0C8 tst r5, #8 movne r0, r2 moveq r0, r1 tst r0, #0xff moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _0200F0C8: add r4, r4, #1 add lr, lr, #6 _0200F0D0: cmp r4, #0x32 blt _0200F078 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0200F0E0: .word BAG_ITEMS_PTR_MIRROR arm_func_end IsItemForSpecialSpawnInBag arm_func_start HasStorableItems HasStorableItems: ; 0x0200F0E4 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r0, _0200F148 ; =BAG_ITEMS_PTR_MIRROR mov r7, #0 ldr r0, [r0] mov r4, r7 ldr r6, [r0, #0x384] mov r5, #1 b _0200F138 _0200F104: ldrb r0, [r6] tst r0, #1 movne r0, r5 moveq r0, r4 tst r0, #0xff beq _0200F130 ldrsh r0, [r6, #4] bl IsStorableItem cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _0200F130: add r7, r7, #1 add r6, r6, #6 _0200F138: cmp r7, #0x32 blt _0200F104 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200F148: .word BAG_ITEMS_PTR_MIRROR arm_func_end HasStorableItems arm_func_start GetItemIndex GetItemIndex: ; 0x0200F14C ldr r1, _0200F188 ; =BAG_ITEMS_PTR_MIRROR mov r2, #0 ldr r1, [r1] ldr r1, [r1, #0x384] b _0200F178 _0200F160: cmp r1, r0 moveq r0, r2, lsl #0x10 moveq r0, r0, asr #0x10 bxeq lr add r2, r2, #1 add r1, r1, #6 _0200F178: cmp r2, #0x32 blt _0200F160 mvn r0, #0 bx lr .align 2, 0 _0200F188: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetItemIndex arm_func_start GetEquivItemIndex GetEquivItemIndex: ; 0x0200F18C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0200F204 ; =BAG_ITEMS_PTR_MIRROR mov r5, r0 ldr r0, [r1] mov r4, #0 ldr sb, [r0, #0x384] mov r7, r4 mov r8, #1 mov r6, #0xb b _0200F1F4 _0200F1B4: ldrb r0, [sb] tst r0, #1 movne r0, r8 moveq r0, r7 tst r0, #0xff beq _0200F1EC mov r0, sb mov r1, r5 mov r2, r6 bl sub_0200D834 cmp r0, #0 movne r0, r4, lsl #0x10 movne r0, r0, asr #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0200F1EC: add r4, r4, #1 add sb, sb, #6 _0200F1F4: cmp r4, #0x32 blt _0200F1B4 mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200F204: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetEquivItemIndex arm_func_start GetEquippedThrowableItem GetEquippedThrowableItem: ; 0x0200F208 ldr r0, _0200F268 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr r0, [r0] mov r1, ip ldr r3, [r0, #0x384] mov r2, #1 b _0200F258 _0200F224: ldrb r0, [r3] tst r0, #1 movne r0, r2 moveq r0, r1 tst r0, #0xff beq _0200F250 ldrb r0, [r3] tst r0, #0x10 movne r0, ip, lsl #0x10 movne r0, r0, asr #0x10 bxne lr _0200F250: add ip, ip, #1 add r3, r3, #6 _0200F258: cmp ip, #0x32 blt _0200F224 mvn r0, #0 bx lr .align 2, 0 _0200F268: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetEquippedThrowableItem arm_func_start GetFirstUnequippedItemOfType GetFirstUnequippedItemOfType: ; 0x0200F26C stmdb sp!, {r3, lr} ldr r1, _0200F2DC ; =BAG_ITEMS_PTR_MIRROR mvn ip, #0 ldr r1, [r1] cmp r0, #0 ldr r3, [r1, #0x384] moveq r0, ip ldmeqia sp!, {r3, pc} mov lr, #0 mov r2, ip b _0200F2CC _0200F298: ldrsh r1, [r3, #4] cmp r1, r0 bne _0200F2C4 ldrb r1, [r3, #1] cmp r1, #0 moveq r0, lr, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r3, pc} cmp ip, r2 moveq r1, lr, lsl #0x10 moveq ip, r1, asr #0x10 _0200F2C4: add lr, lr, #1 add r3, r3, #6 _0200F2CC: cmp lr, #0x32 blt _0200F298 mov r0, ip ldmia sp!, {r3, pc} .align 2, 0 _0200F2DC: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetFirstUnequippedItemOfType arm_func_start CopyItemAtIdx CopyItemAtIdx: ; 0x0200F2E0 stmdb sp!, {r3, lr} ldr r3, _0200F344 ; =BAG_ITEMS_PTR_MIRROR mov r2, #6 ldr r3, [r3] smulbb r2, r0, r2 ldr r3, [r3, #0x384] ldrb r0, [r3, r2] add r3, r3, r2 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200F334 ldrh r2, [r3] mov r0, #1 strh r2, [r1] ldrh r2, [r3, #2] strh r2, [r1, #2] ldrh r2, [r3, #4] strh r2, [r1, #4] ldmia sp!, {r3, pc} _0200F334: mov r0, r1 bl ItemZInit mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0200F344: .word BAG_ITEMS_PTR_MIRROR arm_func_end CopyItemAtIdx arm_func_start GetItemAtIdx GetItemAtIdx: ; 0x0200F348 cmp r0, #0 movlt r0, #0 bxlt lr ldr r2, _0200F36C ; =BAG_ITEMS_PTR_MIRROR mov r1, #6 ldr r2, [r2] ldr r2, [r2, #0x384] smlabb r0, r0, r1, r2 bx lr .align 2, 0 _0200F36C: .word BAG_ITEMS_PTR_MIRROR arm_func_end GetItemAtIdx arm_func_start RemoveEmptyItemsInBag RemoveEmptyItemsInBag: ; 0x0200F370 ldr r0, _0200F388 ; =BAG_ITEMS_PTR_MIRROR ldr ip, _0200F38C ; =RemoveEmptyItems ldr r0, [r0] mov r1, #0x32 ldr r0, [r0, #0x384] bx ip .align 2, 0 _0200F388: .word BAG_ITEMS_PTR_MIRROR _0200F38C: .word RemoveEmptyItems arm_func_end RemoveEmptyItemsInBag arm_func_start RemoveItemNoHole RemoveItemNoHole: ; 0x0200F390 stmdb sp!, {r4, lr} ldr r2, _0200F400 ; =BAG_ITEMS_PTR_MIRROR mov r1, #6 ldr r2, [r2] smulbb r1, r0, r1 ldr r2, [r2, #0x384] ldrb r0, [r2, r1] add r4, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200F3F8 ldrb r0, [r4, #1] cmp r0, #0 beq _0200F3D4 bl sub_020582E0 _0200F3D4: mov r0, r4 bl ItemZInit ldr r0, _0200F400 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems mov r0, #1 ldmia sp!, {r4, pc} _0200F3F8: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0200F400: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveItemNoHole arm_func_start RemoveItem RemoveItem: ; 0x0200F404 stmdb sp!, {r4, lr} ldr r2, _0200F450 ; =BAG_ITEMS_PTR_MIRROR mov r1, #6 ldr r2, [r2] smulbb r1, r0, r1 ldr r2, [r2, #0x384] ldrb r0, [r2, r1] add r4, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff ldrneb r0, [r4, #1] cmpne r0, #0 beq _0200F444 bl sub_020582E0 _0200F444: mov r0, r4 bl ItemZInit ldmia sp!, {r4, pc} .align 2, 0 _0200F450: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveItem arm_func_start RemoveHeldItemNoHole RemoveHeldItemNoHole: ; 0x0200F454 stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r5, r0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _0200F4D0 ; =BAG_ITEMS_PTR_MIRROR mov r4, #0 ldr r0, [r0] mov r6, r4 ldr r8, [r0, #0x384] mov r7, #1 _0200F478: ldrb r0, [r8] tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _0200F4A8 ldrb r0, [r8, #1] cmp r0, r5 bne _0200F4A8 bl sub_020582E0 mov r0, r8 bl ItemZInit _0200F4A8: add r4, r4, #1 cmp r4, #0x32 add r8, r8, #6 blt _0200F478 ldr r0, _0200F4D0 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0200F4D0: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveHeldItemNoHole arm_func_start RemoveItemByIdAndStackNoHole RemoveItemByIdAndStackNoHole: ; 0x0200F4D4 stmdb sp!, {r4, lr} ldr r1, _0200F554 ; =BAG_ITEMS_PTR_MIRROR mov r3, #0 ldr r1, [r1] ldr r4, [r1, #0x384] b _0200F544 _0200F4EC: ldrsh r2, [r4, #4] ldrsh r1, [r0] cmp r2, r1 ldreqh r2, [r4, #2] ldreqh r1, [r0, #2] cmpeq r2, r1 bne _0200F53C ldrb r0, [r4, #1] cmp r0, #0 beq _0200F518 bl sub_020582E0 _0200F518: mov r0, r4 bl ItemZInit ldr r0, _0200F554 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems mov r0, #1 ldmia sp!, {r4, pc} _0200F53C: add r3, r3, #1 add r4, r4, #6 _0200F544: cmp r3, #0x32 blt _0200F4EC mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0200F554: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveItemByIdAndStackNoHole arm_func_start RemoveEquivItem RemoveEquivItem: ; 0x0200F558 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0200F5FC ; =BAG_ITEMS_PTR_MIRROR mov r5, r0 ldr r0, [r1] mov r4, #0 ldr sb, [r0, #0x384] mov r7, r4 mov r8, #1 mov r6, #0xb b _0200F5EC _0200F580: ldrb r0, [sb] tst r0, #1 movne r0, r8 moveq r0, r7 tst r0, #0xff beq _0200F5E4 mov r0, sb mov r1, r5 mov r2, r6 bl sub_0200D834 cmp r0, #0 beq _0200F5E4 ldrb r0, [sb, #1] cmp r0, #0 beq _0200F5C0 bl sub_020582E0 _0200F5C0: mov r0, sb bl ItemZInit ldr r0, _0200F5FC ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0200F5E4: add r4, r4, #1 add sb, sb, #6 _0200F5EC: cmp r4, #0x32 blt _0200F580 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200F5FC: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveEquivItem arm_func_start RemoveEquivItemNoHole RemoveEquivItemNoHole: ; 0x0200F600 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0200F690 ; =BAG_ITEMS_PTR_MIRROR mov r5, r0 ldr r0, [r1] mov r4, #0 ldr sb, [r0, #0x384] mov r7, r4 mov r8, #1 mov r6, #0xb b _0200F680 _0200F628: ldrb r0, [sb] tst r0, #1 movne r0, r8 moveq r0, r7 tst r0, #0xff beq _0200F678 mov r0, sb mov r1, r5 mov r2, r6 bl sub_0200D834 cmp r0, #0 beq _0200F678 ldrb r0, [sb, #1] cmp r0, #0 beq _0200F668 bl sub_020582E0 _0200F668: mov r0, sb bl ItemZInit mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0200F678: add r4, r4, #1 add sb, sb, #6 _0200F680: cmp r4, #0x32 blt _0200F628 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200F690: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveEquivItemNoHole arm_func_start DecrementStackItem DecrementStackItem: ; 0x0200F694 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0200F714 ; =BAG_ITEMS_PTR_MIRROR mov r6, r0 ldr r0, [r1] mov r5, #0 ldr r4, [r0, #0x384] mov r8, r5 mov sb, #1 mov r7, #0xb b _0200F704 _0200F6BC: ldrb r0, [r4] tst r0, #1 movne r0, sb moveq r0, r8 tst r0, #0xff beq _0200F6FC mov r0, r4 mov r1, r6 mov r2, r7 bl sub_0200D834 cmp r0, #0 ldrneh r1, [r4, #2] movne r0, #1 subne r1, r1, #1 strneh r1, [r4, #2] ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0200F6FC: add r5, r5, #1 add r4, r4, #6 _0200F704: cmp r5, #0x32 blt _0200F6BC mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200F714: .word BAG_ITEMS_PTR_MIRROR arm_func_end DecrementStackItem arm_func_start RemoveItemNoHoleCheck RemoveItemNoHoleCheck: ; 0x0200F718 stmdb sp!, {r4, lr} mvn r1, #0 cmp r0, r1 beq _0200F78C ldr r2, _0200F794 ; =BAG_ITEMS_PTR_MIRROR mov r1, #6 ldr r2, [r2] smulbb r1, r0, r1 ldr r2, [r2, #0x384] ldrb r0, [r2, r1] add r4, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0200F78C ldrb r0, [r4, #1] cmp r0, #0 beq _0200F768 bl sub_020582E0 _0200F768: mov r0, r4 bl ItemZInit ldr r0, _0200F794 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems mov r0, #1 ldmia sp!, {r4, pc} _0200F78C: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0200F794: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveItemNoHoleCheck arm_func_start RemoveFirstUnequippedItemOfType RemoveFirstUnequippedItemOfType: ; 0x0200F798 stmdb sp!, {r3, lr} bl GetFirstUnequippedItemOfType bl RemoveItemNoHoleCheck ldmia sp!, {r3, pc} arm_func_end RemoveFirstUnequippedItemOfType arm_func_start RemoveAllItems RemoveAllItems: ; 0x0200F7A8 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0200F7D8 ; =BAG_ITEMS_PTR_MIRROR mov r5, #0 ldr r0, [r0] ldr r4, [r0, #0x384] _0200F7BC: mov r0, r4 bl ItemZInit add r5, r5, #1 cmp r5, #0x32 add r4, r4, #6 blt _0200F7BC ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0200F7D8: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveAllItems arm_func_start RemoveAllItemsStartingAt RemoveAllItemsStartingAt: ; 0x0200F7DC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r6, _0200F848 ; =BAG_ITEMS_PTR_MIRROR mov r4, r0 ldr r1, [r6] mov r0, #6 ldr r1, [r1, #0x384] mov r5, r0 mla r7, r4, r0, r1 b _0200F828 _0200F800: ldrb r0, [r7, #1] cmp r0, #0 beq _0200F810 bl sub_020582E0 _0200F810: ldr r0, [r6] ldr r0, [r0, #0x384] mla r0, r4, r5, r0 bl ItemZInit add r4, r4, #1 add r7, r7, #6 _0200F828: cmp r4, #0x32 blt _0200F800 ldr r0, _0200F848 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200F848: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveAllItemsStartingAt arm_func_start SpecialProcAddItemToBag SpecialProcAddItemToBag: ; 0x0200F84C stmdb sp!, {r3, lr} sub sp, sp, #8 mov r1, r0 add r0, sp, #0 bl sub_0200CFF0 add r0, sp, #0 mov r1, #0 bl AddItemToBag add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end SpecialProcAddItemToBag arm_func_start AddItemToBagNoHeld AddItemToBagNoHeld: ; 0x0200F874 ldr ip, _0200F880 ; =AddItemToBag mov r1, #0 bx ip .align 2, 0 _0200F880: .word AddItemToBag arm_func_end AddItemToBagNoHeld arm_func_start AddItemToBag AddItemToBag: ; 0x0200F884 stmdb sp!, {r4, r5, r6, lr} ldr r2, _0200F90C ; =BAG_ITEMS_PTR_MIRROR mov r6, r0 ldr r0, [r2] mov r5, r1 ldr r4, [r0, #0x384] bl GetCurrentBagCapacity mov ip, #0 mov r1, ip mov r2, #1 b _0200F8FC _0200F8B0: ldrb r3, [r4] tst r3, #1 movne r3, r2 moveq r3, r1 tst r3, #0xff bne _0200F8F4 ldrh r1, [r6] mov r0, r6 strh r1, [r4] ldrh r1, [r6, #2] strh r1, [r4, #2] ldrh r1, [r6, #4] strh r1, [r4, #4] strb r5, [r4, #1] bl SetItemAcquired mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0200F8F4: add ip, ip, #1 add r4, r4, #6 _0200F8FC: cmp ip, r0 blt _0200F8B0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200F90C: .word BAG_ITEMS_PTR_MIRROR arm_func_end AddItemToBag arm_func_start sub_0200F910 sub_0200F910: ; 0x0200F910 ldr r0, _0200F93C ; =BAG_ITEMS_PTR_MIRROR mov r2, #0 ldr r0, [r0] ldr r1, [r0, #0x384] _0200F920: ldrb r0, [r1] add r2, r2, #1 cmp r2, #0x32 bic r0, r0, #8 strb r0, [r1], #6 blt _0200F920 bx lr .align 2, 0 _0200F93C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200F910 arm_func_start sub_0200F940 sub_0200F940: ; 0x0200F940 stmdb sp!, {r4, r5, r6, lr} ldr r0, _0200F9B0 ; =BAG_ITEMS_PTR_MIRROR mov lr, #0 ldr r0, [r0] mov r3, #1 ldr ip, [r0, #0x384] mov r4, lr mov r2, lr mov r0, lr mov r1, r3 _0200F968: ldrb r5, [ip] tst r5, #1 movne r6, r3 moveq r6, r2 tst r6, #0xff beq _0200F994 tst r5, #8 movne r5, r1 moveq r5, r0 tst r5, #0xff addne lr, lr, #1 _0200F994: add r4, r4, #1 cmp r4, #0x32 add ip, ip, #6 blt _0200F968 mov r0, lr, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200F9B0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200F940 arm_func_start sub_0200F9B4 sub_0200F9B4: ; 0x0200F9B4 stmdb sp!, {r3, lr} ldr r1, _0200FA08 ; =BAG_ITEMS_PTR_MIRROR mov lr, #0 ldr r1, [r1] mov r2, lr ldr ip, [r1, #0x384] mov r3, #1 _0200F9D0: ldrb r1, [ip] add lr, lr, #1 tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff ldrneb r1, [ip, #1] cmpne r1, #0 ldrneb r1, [r0, r1] strneb r1, [ip, #1] cmp lr, #0x32 add ip, ip, #6 blt _0200F9D0 ldmia sp!, {r3, pc} .align 2, 0 _0200FA08: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200F9B4 arm_func_start sub_0200FA0C sub_0200FA0C: ; 0x0200FA0C stmdb sp!, {r3, lr} ldr r3, _0200FA64 ; =BAG_ITEMS_PTR_MIRROR mov r2, #0x12c ldr r3, [r3] mov lr, #0 mla ip, r1, r2, r3 mov r2, lr mov r3, #1 _0200FA2C: ldrb r1, [ip] add lr, lr, #1 tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff ldrneb r1, [ip, #1] cmpne r1, #0 ldrneb r1, [r0, r1] strneb r1, [ip, #1] cmp lr, #0x32 add ip, ip, #6 blt _0200FA2C ldmia sp!, {r3, pc} .align 2, 0 _0200FA64: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FA0C arm_func_start sub_0200FA68 sub_0200FA68: ; 0x0200FA68 stmdb sp!, {r4, lr} ldr r1, _0200FAE8 ; =BAG_ITEMS_PTR_MIRROR mov r4, #0 ldr r1, [r1] mov r3, r4 ldr lr, [r1, #0x384] mov ip, #1 b _0200FAD8 _0200FA88: ldrb r1, [lr] tst r1, #1 movne r1, ip moveq r1, r3 tst r1, #0xff beq _0200FAD0 ldrb r2, [lr, #1] ldrb r1, [r0, #1] cmp r2, r1 bne _0200FAD0 ldrh r1, [r0] strh r1, [lr] ldrh r1, [r0, #2] strh r1, [lr, #2] ldrh r1, [r0, #4] mov r0, #1 strh r1, [lr, #4] ldmia sp!, {r4, pc} _0200FAD0: add r4, r4, #1 add lr, lr, #6 _0200FAD8: cmp r4, #0x32 blt _0200FA88 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0200FAE8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FA68 arm_func_start sub_0200FAEC sub_0200FAEC: ; 0x0200FAEC stmdb sp!, {r4, lr} cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r2, _0200FB50 ; =BAG_ITEMS_PTR_MIRROR mov r4, #0 ldr r2, [r2] mov r3, r4 ldr lr, [r2, #0x384] mov ip, #1 _0200FB10: ldrb r2, [lr] tst r2, #1 movne r2, ip moveq r2, r3 tst r2, #0xff beq _0200FB3C ldrb r2, [lr, #1] cmp r2, r0 ldreqb r2, [lr] orreq r2, r2, r1 streqb r2, [lr] _0200FB3C: add r4, r4, #1 cmp r4, #0x32 add lr, lr, #6 blt _0200FB10 ldmia sp!, {r4, pc} .align 2, 0 _0200FB50: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FAEC arm_func_start sub_0200FB54 sub_0200FB54: ; 0x0200FB54 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0200FBDC ; =BAG_ITEMS_PTR_MIRROR mov r6, r0 ldr r0, [r1] mov r5, #0 mov sb, #1 ldr r4, [r0, #0x384] mov r8, r5 mov r7, sb b _0200FBCC _0200FB7C: ldrb r0, [r4] tst r0, #1 movne r0, sb moveq r0, r8 tst r0, #0xff beq _0200FBC4 mov r0, r4 mov r1, r6 mov r2, r7 bl sub_0200D834 cmp r0, #0 beq _0200FBC4 mov r0, #0 strb r0, [r4, #1] ldrb r1, [r6] mov r0, #1 strb r1, [r4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0200FBC4: add r5, r5, #1 add r4, r4, #6 _0200FBCC: cmp r5, #0x32 blt _0200FB7C mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200FBDC: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FB54 arm_func_start sub_0200FBE0 sub_0200FBE0: ; 0x0200FBE0 stmdb sp!, {r4, lr} ldr ip, _0200FC20 ; =BAG_ITEMS_PTR_MIRROR mov r3, #6 ldr lr, [ip] smulbb ip, r0, r3 ldr lr, [lr, #0x384] and r0, r2, #0xff ldrb r3, [lr, ip] add r4, lr, ip bic r3, r3, #0x10 strb r3, [lr, ip] strb r2, [r1, #1] strb r0, [r4, #1] ldrb r0, [r1] strb r0, [lr, ip] ldmia sp!, {r4, pc} .align 2, 0 _0200FC20: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FBE0 arm_func_start sub_0200FC24 sub_0200FC24: ; 0x0200FC24 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r4, #0 ldr r7, _0200FCA8 ; =BAG_ITEMS_PTR_MIRROR mov r8, r4 mov sb, #1 mov r6, #6 _0200FC3C: mul r1, r4, r6 ldr r0, [r7] ldr r2, [r0, #0x384] ldrb r0, [r2, r1] add r5, r2, r1 tst r0, #1 movne r0, sb moveq r0, r8 tst r0, #0xff beq _0200FC84 ldrsh r0, [r5, #4] cmp r0, #0xb7 bne _0200FC84 mov r0, r5 bl sub_0200D8AC bl AddMoneyCarried mov r0, r5 bl ItemZInit _0200FC84: add r4, r4, #1 cmp r4, #0x32 blt _0200FC3C ldr r0, _0200FCA8 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl sub_0200E3A0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0200FCA8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FC24 arm_func_start sub_0200FCAC sub_0200FCAC: ; 0x0200FCAC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r0, _0200FD34 ; =BAG_ITEMS_PTR_MIRROR mov r5, #0 ldr r0, [r0] mov r6, r5 ldr r4, [r0, #0x384] mov r7, #1 _0200FCC8: ldrb r0, [r4] tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _0200FD0C ldrsh r0, [r4, #4] cmp r0, #0xb7 bne _0200FD0C ldrb r1, [r4] mov r0, r4 bic r1, r1, #8 strb r1, [r4] bl sub_0200D8AC bl AddMoneyCarried mov r0, r4 bl ItemZInit _0200FD0C: add r5, r5, #1 cmp r5, #0x32 add r4, r4, #6 blt _0200FCC8 ldr r0, _0200FD34 ; =BAG_ITEMS_PTR_MIRROR mov r1, #0x32 ldr r0, [r0] ldr r0, [r0, #0x384] bl RemoveEmptyItems ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200FD34: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FCAC arm_func_start sub_0200FD38 sub_0200FD38: ; 0x0200FD38 bx lr arm_func_end sub_0200FD38 arm_func_start sub_0200FD3C sub_0200FD3C: ; 0x0200FD3C ldr ip, _0200FD44 ; =sub_020102DC bx ip .align 2, 0 _0200FD44: .word sub_020102DC arm_func_end sub_0200FD3C arm_func_start sub_0200FD48 sub_0200FD48: ; 0x0200FD48 ldr ip, _0200FD50 ; =sub_02050CE4 bx ip .align 2, 0 _0200FD50: .word sub_02050CE4 arm_func_end sub_0200FD48 arm_func_start ScriptSpecialProcess0x39 ScriptSpecialProcess0x39: ; 0x0200FD54 stmdb sp!, {r4, lr} bl sub_02050CE4 mov r4, r0 bl sub_0200FD78 cmp r0, r4 movge r0, #1 movlt r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} arm_func_end ScriptSpecialProcess0x39 arm_func_start sub_0200FD78 sub_0200FD78: ; 0x0200FD78 ldr r1, _0200FDAC ; =BAG_ITEMS_PTR_MIRROR mov r0, #0 ldr r3, [r1] mov r2, r0 _0200FD88: add r1, r3, r2, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] add r2, r2, #1 cmp r1, #0 addne r0, r0, #1 cmp r2, #0x3e8 blt _0200FD88 bx lr .align 2, 0 _0200FDAC: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FD78 arm_func_start sub_0200FDB0 sub_0200FDB0: ; 0x0200FDB0 stmdb sp!, {r4, r5, r6, lr} mov r5, #0 ldr r4, _0200FDFC ; =BAG_ITEMS_PTR_MIRROR mov r6, r5 _0200FDC0: ldr r0, [r4] add r0, r0, r6, lsl #1 add r0, r0, #0x300 ldrsh r1, [r0, #0x8a] cmp r1, #0 beq _0200FDE8 ldrsh r0, [r0, #0x8a] bl IsItemValidVeneer cmp r0, #0 addne r5, r5, #1 _0200FDE8: add r6, r6, #1 cmp r6, #0x3e8 blt _0200FDC0 mov r0, r5 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0200FDFC: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FDB0 arm_func_start sub_0200FE00 sub_0200FE00: ; 0x0200FE00 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 ldr r6, _0200FEA4 ; =BAG_ITEMS_PTR_MIRROR mov r5, r4 _0200FE10: ldr r0, [r6] add r0, r0, r5, lsl #1 add r0, r0, #0x300 ldrsh r7, [r0, #0x8a] cmp r7, #0 beq _0200FE90 mov r0, r7 bl IsItemValidVeneer cmp r0, #0 beq _0200FE90 mov r0, r7 bl IsItemInTimeDarkness cmp r0, #0 beq _0200FE90 mov r0, r7 bl IsTreasureBox cmp r0, #0 beq _0200FE8C ldr r0, [r6] add r0, r0, r5, lsl #1 add r0, r0, #0xb00 ldrsh r7, [r0, #0x5a] mov r0, r7 bl IsItemValidVeneer cmp r0, #0 beq _0200FE90 mov r0, r7 bl IsItemInTimeDarkness cmp r0, #0 addne r4, r4, #1 b _0200FE90 _0200FE8C: add r4, r4, #1 _0200FE90: add r5, r5, #1 cmp r5, #0x3e8 blt _0200FE10 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200FEA4: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FE00 arm_func_start CountNbItemsOfTypeInStorage CountNbItemsOfTypeInStorage: ; 0x0200FEA8 ldr r1, _0200FEE0 ; =BAG_ITEMS_PTR_MIRROR mov r2, #0 ldr ip, [r1] mov r3, r2 _0200FEB8: add r1, ip, r3, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] add r3, r3, #1 cmp r0, r1 addeq r2, r2, #1 cmp r3, #0x3e8 blt _0200FEB8 mov r0, r2 bx lr .align 2, 0 _0200FEE0: .word BAG_ITEMS_PTR_MIRROR arm_func_end CountNbItemsOfTypeInStorage arm_func_start CountItemTypeInStorage CountItemTypeInStorage: ; 0x0200FEE4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 ldr r7, _0200FF4C ; =BAG_ITEMS_PTR_MIRROR mov r6, r0 mov r5, r4 _0200FEF8: ldr r1, [r7] ldrsh r0, [r6] add r1, r1, r5, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] cmp r0, r1 bne _0200FF38 bl IsThrownItem cmp r0, #0 addeq r4, r4, #1 beq _0200FF38 ldr r0, [r7] add r0, r0, r5, lsl #1 add r0, r0, #0xb00 ldrh r0, [r0, #0x5a] add r4, r4, r0 _0200FF38: add r5, r5, #1 cmp r5, #0x3e8 blt _0200FEF8 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0200FF4C: .word BAG_ITEMS_PTR_MIRROR arm_func_end CountItemTypeInStorage arm_func_start sub_0200FF50 sub_0200FF50: ; 0x0200FF50 stmdb sp!, {r3, lr} ldr r1, _0200FFA8 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr lr, [r1] b _0200FF98 _0200FF64: add r2, lr, ip, lsl #1 add r1, r2, #0x300 ldrsh r3, [r0] ldrsh r1, [r1, #0x8a] cmp r3, r1 addeq r1, r2, #0xb00 ldreqh r2, [r0, #2] ldreqh r1, [r1, #0x5a] cmpeq r2, r1 moveq r0, ip, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r3, pc} add ip, ip, #1 _0200FF98: cmp ip, #0x3e8 blt _0200FF64 mvn r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0200FFA8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FF50 arm_func_start sub_0200FFAC sub_0200FFAC: ; 0x0200FFAC ldr r3, _0200FFF0 ; =BAG_ITEMS_PTR_MIRROR ldr r2, [r3] add r2, r2, r0, lsl #1 add r2, r2, #0x300 ldrsh r2, [r2, #0x8a] strh r2, [r1] ldr r2, [r3] add r0, r2, r0, lsl #1 add r0, r0, #0xb00 ldrh r0, [r0, #0x5a] strh r0, [r1, #2] ldrsh r0, [r1] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0200FFF0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FFAC arm_func_start sub_0200FFF4 sub_0200FFF4: ; 0x0200FFF4 ldr r3, _02010040 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr r2, [r3] add r2, r2, r0, lsl #1 add r2, r2, #0x300 ldrsh r2, [r2, #0x8a] strh r2, [r1, #4] ldr r2, [r3] add r0, r2, r0, lsl #1 add r0, r0, #0xb00 ldrh r0, [r0, #0x5a] strh r0, [r1, #2] strb ip, [r1] strb ip, [r1, #1] ldrsh r0, [r1, #4] cmp r0, #0 movne ip, #1 and r0, ip, #0xff bx lr .align 2, 0 _02010040: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0200FFF4 arm_func_start sub_02010044 sub_02010044: ; 0x02010044 ldr r1, _0201005C ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r0, r1, r0, lsl #1 add r0, r0, #0x300 ldrsh r0, [r0, #0x8a] bx lr .align 2, 0 _0201005C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010044 arm_func_start sub_02010060 sub_02010060: ; 0x02010060 ldr r1, _02010078 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r0, r1, r0, lsl #1 add r0, r0, #0xb00 ldrh r0, [r0, #0x5a] bx lr .align 2, 0 _02010078: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010060 arm_func_start sub_0201007C sub_0201007C: ; 0x0201007C stmdb sp!, {r3, lr} ldr r1, _02010150 ; =BAG_ITEMS_PTR_MIRROR mov r0, #0 ldr r2, [r1] b _02010144 _02010090: add r1, r2, r0, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] cmp r1, #0 bne _02010140 mov r1, r0 add r0, r0, #1 ldr r3, _02010150 ; =BAG_ITEMS_PTR_MIRROR b _020100FC _020100B4: ldr lr, [r3] add r2, lr, r0, lsl #1 add r2, r2, #0x300 ldrsh ip, [r2, #0x8a] cmp ip, #0 beq _020100F8 add r2, lr, r1, lsl #1 add r2, r2, #0x300 strh ip, [r2, #0x8a] ldr lr, [r3] add r2, lr, r0, lsl #1 add r2, r2, #0xb00 ldrh ip, [r2, #0x5a] add r2, lr, r1, lsl #1 add r2, r2, #0xb00 strh ip, [r2, #0x5a] add r1, r1, #1 _020100F8: add r0, r0, #1 _020100FC: cmp r0, #0x3e8 blt _020100B4 mov r3, #0 ldr r2, _02010150 ; =BAG_ITEMS_PTR_MIRROR b _02010134 _02010110: ldr r0, [r2] add r0, r0, r1, lsl #1 add r0, r0, #0x300 strh r3, [r0, #0x8a] ldr r0, [r2] add r0, r0, r1, lsl #1 add r0, r0, #0xb00 strh r3, [r0, #0x5a] add r1, r1, #1 _02010134: cmp r1, #0x3e8 blt _02010110 ldmia sp!, {r3, pc} _02010140: add r0, r0, #1 _02010144: cmp r0, #0x3e8 blt _02010090 ldmia sp!, {r3, pc} .align 2, 0 _02010150: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201007C arm_func_start sub_02010154 sub_02010154: ; 0x02010154 stmdb sp!, {r3, lr} ldr r2, _0201019C ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r2] add r1, r1, r0, lsl #1 add r1, r1, #0x300 ldrsh r3, [r1, #0x8a] cmp r3, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r3, #0 strh r3, [r1, #0x8a] ldr r1, [r2] add r0, r1, r0, lsl #1 add r0, r0, #0xb00 strh r3, [r0, #0x5a] bl sub_0201007C mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0201019C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010154 arm_func_start sub_020101A0 sub_020101A0: ; 0x020101A0 ldr r2, _020101E0 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r2] add r1, r1, r0, lsl #1 add r1, r1, #0x300 ldrsh r3, [r1, #0x8a] cmp r3, #0 moveq r0, #0 bxeq lr mov r3, #0 strh r3, [r1, #0x8a] ldr r1, [r2] add r0, r1, r0, lsl #1 add r0, r0, #0xb00 strh r3, [r0, #0x5a] mov r0, #1 bx lr .align 2, 0 _020101E0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020101A0 arm_func_start RemoveItemsTypeInStorage RemoveItemsTypeInStorage: ; 0x020101E4 stmdb sp!, {r4, lr} ldr r1, _0201025C ; =BAG_ITEMS_PTR_MIRROR mov lr, #0 ldr r4, [r1] b _0201024C _020101F8: add r3, r4, lr, lsl #1 add r2, r3, #0x300 ldrsh ip, [r0] ldrsh r1, [r2, #0x8a] cmp ip, r1 addeq r1, r3, #0xb00 ldreqh r3, [r0, #2] ldreqh r1, [r1, #0x5a] cmpeq r3, r1 bne _02010248 mov r1, #0 ldr r0, _0201025C ; =BAG_ITEMS_PTR_MIRROR strh r1, [r2, #0x8a] ldr r0, [r0] add r0, r0, lr, lsl #1 add r0, r0, #0xb00 strh r1, [r0, #0x5a] bl sub_0201007C mov r0, #1 ldmia sp!, {r4, pc} _02010248: add lr, lr, #1 _0201024C: cmp lr, #0x3e8 blt _020101F8 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0201025C: .word BAG_ITEMS_PTR_MIRROR arm_func_end RemoveItemsTypeInStorage arm_func_start sub_02010260 sub_02010260: ; 0x02010260 stmdb sp!, {r4, lr} ldr r1, _020102D8 ; =BAG_ITEMS_PTR_MIRROR mov lr, #0 ldr r4, [r1] b _020102C8 _02010274: add r3, r4, lr, lsl #1 add r2, r3, #0x300 ldrsh ip, [r0, #4] ldrsh r1, [r2, #0x8a] cmp ip, r1 addeq r1, r3, #0xb00 ldreqh r3, [r0, #2] ldreqh r1, [r1, #0x5a] cmpeq r3, r1 bne _020102C4 mov r1, #0 ldr r0, _020102D8 ; =BAG_ITEMS_PTR_MIRROR strh r1, [r2, #0x8a] ldr r0, [r0] add r0, r0, lr, lsl #1 add r0, r0, #0xb00 strh r1, [r0, #0x5a] bl sub_0201007C mov r0, #1 ldmia sp!, {r4, pc} _020102C4: add lr, lr, #1 _020102C8: cmp lr, #0x3e8 blt _02010274 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _020102D8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010260 arm_func_start sub_020102DC sub_020102DC: ; 0x020102DC mov r3, #0 ldr r1, _02010318 ; =BAG_ITEMS_PTR_MIRROR mov r2, r3 _020102E8: ldr r0, [r1] add r0, r0, r3, lsl #1 add r0, r0, #0x300 strh r2, [r0, #0x8a] ldr r0, [r1] add r0, r0, r3, lsl #1 add r0, r0, #0xb00 add r3, r3, #1 strh r2, [r0, #0x5a] cmp r3, #0x3e8 blt _020102E8 bx lr .align 2, 0 _02010318: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020102DC arm_func_start AddItemToStorage AddItemToStorage: ; 0x0201031C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r0 bl sub_02050CE4 mov r5, r0 add r0, sp, #0 mov r1, r4 bl sub_0200CFF0 ldr r0, _020103A8 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr r2, [r0] b _02010394 _0201034C: add r0, r2, ip, lsl #1 add r1, r0, #0x300 ldrsh r0, [r1, #0x8a] cmp r0, #0 bne _02010390 ldrsh r3, [r4] ldr r2, _020103A8 ; =BAG_ITEMS_PTR_MIRROR add r0, sp, #0 strh r3, [r1, #0x8a] ldr r1, [r2] ldrh r2, [r4, #2] add r1, r1, ip, lsl #1 add r1, r1, #0xb00 strh r2, [r1, #0x5a] bl SetItemAcquired mov r0, #1 b _020103A0 _02010390: add ip, ip, #1 _02010394: cmp ip, r5 blt _0201034C mov r0, #0 _020103A0: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020103A8: .word BAG_ITEMS_PTR_MIRROR arm_func_end AddItemToStorage arm_func_start sub_020103AC sub_020103AC: ; 0x020103AC stmdb sp!, {r4, lr} mov r4, r0 bl sub_02050CE4 ldr r1, _02010420 ; =BAG_ITEMS_PTR_MIRROR mov ip, #0 ldr r3, [r1] b _02010410 _020103C8: add r1, r3, ip, lsl #1 add r1, r1, #0x300 ldrsh r2, [r1, #0x8a] cmp r2, #0 bne _0201040C ldrsh r3, [r4, #4] ldr r2, _02010420 ; =BAG_ITEMS_PTR_MIRROR mov r0, r4 strh r3, [r1, #0x8a] ldr r1, [r2] ldrh r2, [r4, #2] add r1, r1, ip, lsl #1 add r1, r1, #0xb00 strh r2, [r1, #0x5a] bl SetItemAcquired mov r0, #1 ldmia sp!, {r4, pc} _0201040C: add ip, ip, #1 _02010410: cmp ip, r0 blt _020103C8 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02010420: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020103AC arm_func_start sub_02010424 sub_02010424: ; 0x02010424 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r1 mov r1, #6 mov sl, r0 mul r0, sb, r1 mov r1, #0 bl MemAlloc mov r5, #6 mov r7, r0 mov r8, #0 mov fp, #0x80 ldr r6, _0201058C ; =BAG_ITEMS_PTR_MIRROR mov r4, r5 b _020104C8 _0201045C: ldr r0, [r6] add r0, r0, r8, lsl #1 add r0, r0, #0x300 ldrsh r0, [r0, #0x8a] cmp r0, #0 beq _020104D0 mla r0, r8, r5, r7 bl ItemZInit ldrb r0, [sl, r8] mul r2, r8, r4 cmp r0, #0 movne r0, fp moveq r0, #0 orr r0, r0, #1 strb r0, [r7, r2] ldr r1, [r6] add r0, r7, r2 add r1, r1, r8, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] strh r1, [r0, #4] ldr r1, [r6] add r1, r1, r8, lsl #1 add r1, r1, #0xb00 ldrh r1, [r1, #0x5a] add r8, r8, #1 strh r1, [r0, #2] _020104C8: cmp r8, sb blt _0201045C _020104D0: mov r0, r7 mov r1, r8 bl sub_0200E3A0 mov r6, #0 mov r1, r6 mov r2, #1 mov fp, #6 ldr r0, _0201058C ; =BAG_ITEMS_PTR_MIRROR b _0201053C _020104F4: mul r4, r6, fp add r5, r7, r4 ldr ip, [r0] ldrsh r3, [r5, #4] add ip, ip, r6, lsl #1 add ip, ip, #0x300 strh r3, [ip, #0x8a] ldr ip, [r0] ldrh r3, [r5, #2] add r5, ip, r6, lsl #1 add r5, r5, #0xb00 strh r3, [r5, #0x5a] ldrb r3, [r7, r4] tst r3, #0x80 movne r3, r2 moveq r3, r1 strb r3, [sl, r6] add r6, r6, #1 _0201053C: cmp r6, r8 blt _020104F4 mov r2, #0 ldr r1, _0201058C ; =BAG_ITEMS_PTR_MIRROR b _02010578 _02010550: ldr r0, [r1] add r0, r0, r6, lsl #1 add r0, r0, #0x300 strh r2, [r0, #0x8a] ldr r0, [r1] add r0, r0, r6, lsl #1 add r0, r0, #0xb00 strh r2, [r0, #0x5a] strb r2, [sl, r6] add r6, r6, #1 _02010578: cmp r6, sb blt _02010550 mov r0, r7 bl MemFree ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201058C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010424 arm_func_start sub_02010590 sub_02010590: ; 0x02010590 bx lr arm_func_end sub_02010590 arm_func_start sub_02010594 sub_02010594: ; 0x02010594 stmdb sp!, {r4, r5, r6, lr} mov r2, #0 ldr ip, _02010650 ; =BAG_ITEMS_PTR_MIRROR mov r5, r2 mov r0, r2 mov r1, r2 _020105AC: mov r6, r1 _020105B0: ldr r3, [ip] mov r4, r6, lsl #2 add r3, r3, #0x330 add r3, r3, #0x1000 add r3, r3, r2, lsl #5 add lr, r3, r6, lsl #2 strh r5, [r3, r4] add r6, r6, #1 strh r5, [lr, #2] cmp r6, #8 blt _020105B0 mov r6, r5 _020105E0: ldr r3, [ip] mov lr, r6, lsl #2 add r3, r3, #0x374 add r3, r3, #0x1000 add r3, r3, r2, lsl #4 add r4, r3, r6, lsl #2 strh r0, [r3, lr] add r6, r6, #1 strh r0, [r4, #2] cmp r6, #4 blt _020105E0 add r2, r2, #1 cmp r2, #2 blt _020105AC ldr r2, _02010650 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r2] add r1, r1, #0x1000 str r0, [r1, #0x3a0] ldr r1, [r2] add r1, r1, #0x1300 strh r0, [r1, #0xa4] ldr r1, [r2] add r1, r1, #0x1300 strh r0, [r1, #0xa6] ldr r1, [r2] add r1, r1, #0x1300 strh r0, [r1, #0xa8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02010650: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010594 arm_func_start sub_02010654 sub_02010654: ; 0x02010654 stmdb sp!, {r3, lr} mov lr, #0 ldr r2, _020106C0 ; =BAG_ITEMS_PTR_MIRROR mov r0, lr _02010664: ldr r1, [r2] mov r3, lr, lsl #2 add r1, r1, #0x350 add r1, r1, #0x1000 add ip, r1, lr, lsl #2 strh r0, [r1, r3] add lr, lr, #1 strh r0, [ip, #2] cmp lr, #8 blt _02010664 ldr r2, _020106C0 ; =BAG_ITEMS_PTR_MIRROR mov r3, #0 _02010694: ldr r1, [r2] mov ip, r0, lsl #2 add r1, r1, #0x384 add r1, r1, #0x1000 add lr, r1, r0, lsl #2 strh r3, [r1, ip] add r0, r0, #1 strh r3, [lr, #2] cmp r0, #4 blt _02010694 ldmia sp!, {r3, pc} .align 2, 0 _020106C0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010654 arm_func_start sub_020106C4 sub_020106C4: ; 0x020106C4 ldr r2, _02010708 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r2] add r1, r1, #0x1000 strb r0, [r1, #0x32a] ldr ip, [r2] add r1, ip, #0x330 add r1, r1, #0x1000 add r3, r1, r0, lsl #5 add r1, ip, #0x1000 str r3, [r1, #0x32c] ldr r2, [r2] add r1, r2, #0x374 add r1, r1, #0x1000 add r1, r1, r0, lsl #4 add r0, r2, #0x1000 str r1, [r0, #0x370] bx lr .align 2, 0 _02010708: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020106C4 arm_func_start sub_0201070C sub_0201070C: ; 0x0201070C ldr r0, _02010720 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1000 ldr r0, [r0, #0x3a0] bx lr .align 2, 0 _02010720: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201070C arm_func_start SetMoneyStored SetMoneyStored: ; 0x02010724 ldr r1, _02010750 ; =0x0098967F cmp r0, r1 movgt r0, r1 bgt _0201073C cmp r0, #0 movlt r0, #0 _0201073C: ldr r1, _02010754 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1000 str r0, [r1, #0x3a0] bx lr .align 2, 0 _02010750: .word 0x0098967F _02010754: .word BAG_ITEMS_PTR_MIRROR arm_func_end SetMoneyStored arm_func_start sub_02010758 sub_02010758: ; 0x02010758 ldr r1, _02010774 ; =BAG_ITEMS_PTR_MIRROR ldr ip, _02010778 ; =SetMoneyStored ldr r1, [r1] add r1, r1, #0x1000 ldr r1, [r1, #0x3a0] add r0, r1, r0 bx ip .align 2, 0 _02010774: .word BAG_ITEMS_PTR_MIRROR _02010778: .word SetMoneyStored arm_func_end sub_02010758 arm_func_start sub_0201077C sub_0201077C: ; 0x0201077C ldr r0, _02010790 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrsh r0, [r0, #0xa4] bx lr .align 2, 0 _02010790: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201077C arm_func_start sub_02010794 sub_02010794: ; 0x02010794 ldr r1, _020107A8 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1300 strh r0, [r1, #0xa4] bx lr .align 2, 0 _020107A8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010794 arm_func_start sub_020107AC sub_020107AC: ; 0x020107AC ldr r0, _020107C0 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrh r0, [r0, #0xa6] bx lr .align 2, 0 _020107C0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020107AC arm_func_start sub_020107C4 sub_020107C4: ; 0x020107C4 ldr r1, _020107D8 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1300 strh r0, [r1, #0xa6] bx lr .align 2, 0 _020107D8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020107C4 arm_func_start sub_020107DC sub_020107DC: ; 0x020107DC ldr r0, _020107F0 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrh r0, [r0, #0xa8] bx lr .align 2, 0 _020107F0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020107DC arm_func_start sub_020107F4 sub_020107F4: ; 0x020107F4 ldr r1, _02010808 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1300 strh r0, [r1, #0xa8] bx lr .align 2, 0 _02010808: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020107F4 arm_func_start sub_0201080C sub_0201080C: ; 0x0201080C ldr r0, _0201082C ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrh r1, [r0, #0xa8] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0xa8] bx lr .align 2, 0 _0201082C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201080C arm_func_start sub_02010830 sub_02010830: ; 0x02010830 ldr r1, _02010868 ; =BAG_ITEMS_PTR_MIRROR mov r0, #0 ldr r1, [r1] mov r2, r0 add r1, r1, #0x1000 ldr r3, [r1, #0x32c] _02010848: mov r1, r2, lsl #2 ldrsh r1, [r3, r1] add r2, r2, #1 cmp r1, #0 addne r0, r0, #1 cmp r2, #8 blt _02010848 bx lr .align 2, 0 _02010868: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010830 arm_func_start sub_0201086C sub_0201086C: ; 0x0201086C ldr r1, _02010894 ; =BAG_ITEMS_PTR_MIRROR mov r3, r0, lsl #2 ldr r1, [r1] mov r2, #0 add r1, r1, #0x1000 ldr r1, [r1, #0x32c] strh r2, [r1, r3] add r0, r1, r0, lsl #2 strh r2, [r0, #2] bx lr .align 2, 0 _02010894: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201086C arm_func_start sub_02010898 sub_02010898: ; 0x02010898 ldr r1, _020108B0 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1000 ldr r1, [r1, #0x32c] add r0, r1, r0, lsl #2 bx lr .align 2, 0 _020108B0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010898 arm_func_start sub_020108B4 sub_020108B4: ; 0x020108B4 stmdb sp!, {r3, r4, r5, lr} mov r0, #0 mov r4, r0 ldr r2, _02010950 ; =BAG_ITEMS_PTR_MIRROR b _020108E8 _020108C8: ldr r1, [r2] mov r3, r0, lsl #2 add r1, r1, #0x1000 ldr r1, [r1, #0x32c] ldrsh r1, [r1, r3] cmp r1, #0 bne _020108F0 add r0, r0, #1 _020108E8: cmp r0, #8 blt _020108C8 _020108F0: cmp r0, #8 beq _02010944 cmp r0, r4 ble _0201092C ldr r1, [r2] mov r3, r0, lsl #2 add r1, r1, #0x1000 ldr r5, [r1, #0x32c] mov lr, r4, lsl #2 ldrh r1, [r5, r3] add ip, r5, r0, lsl #2 add r3, r5, r4, lsl #2 strh r1, [r5, lr] ldrh r1, [ip, #2] strh r1, [r3, #2] _0201092C: add r0, r0, #1 add r4, r4, #1 b _020108E8 _02010938: and r0, r4, #0xff bl sub_0201086C add r4, r4, #1 _02010944: cmp r4, #8 blt _02010938 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02010950: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020108B4 arm_func_start sub_02010954 sub_02010954: ; 0x02010954 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r6, #0 _02010960: add r7, r6, #1 mov r5, r6, lsl #2 ldr r4, _02010A48 ; =BAG_ITEMS_PTR_MIRROR b _02010A2C _02010970: ldr r0, [r4] add r0, r0, #0x1000 ldr r0, [r0, #0x32c] ldrsh r0, [r5, r0] bl sub_0200D1F0 ldr r1, [r4] mov r2, r7, lsl #2 add r1, r1, #0x1000 ldr r1, [r1, #0x32c] mov r8, r0 ldrsh r0, [r1, r2] bl sub_0200D1F0 cmp r8, r0 bgt _020109D0 bne _02010A28 ldr r0, [r4] add r0, r0, #0x1000 ldr r0, [r0, #0x32c] add r1, r5, r0 add r0, r0, r7, lsl #2 ldrh r1, [r1, #2] ldrh r0, [r0, #2] cmp r1, r0 bhs _02010A28 _020109D0: ldr r1, [r4] mov r0, r7, lsl #2 add r1, r1, #0x1000 ldr r8, [r1, #0x32c] add lr, r5, r8 ldrh ip, [r5, r8] ldrh r3, [lr, #2] ldrh r1, [r8, r0] add r2, r8, r7, lsl #2 strh ip, [sp] strh r1, [r5, r8] ldrh r1, [r2, #2] strh r3, [sp, #2] ldrh r3, [sp] strh r1, [lr, #2] ldr r1, [r4] ldrh r2, [sp, #2] add r1, r1, #0x1000 ldr r1, [r1, #0x32c] strh r3, [r1, r0] add r0, r1, r7, lsl #2 strh r2, [r0, #2] _02010A28: add r7, r7, #1 _02010A2C: cmp r7, #8 blt _02010970 add r6, r6, #1 cmp r6, #7 blt _02010960 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02010A48: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010954 arm_func_start GetKecleonItems1 GetKecleonItems1: ; 0x02010A4C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r4, #0 _02010A58: and r0, r4, #0xff bl sub_0201086C add r4, r4, #1 cmp r4, #8 blt _02010A58 ldr r0, _02010AC0 ; =KECLEON_SHOP_ITEM_TABLE_LISTS_1 ldr r5, _02010AC4 ; =0x0000270F ldr r6, [r0, r8, lsl #2] mov r7, #0 _02010A7C: mov r0, r5 bl RandIntSafe mov r4, r0 mov r0, r5 bl RandIntSafe mov r2, r0 mov r0, r6 mov r1, r4 bl GetItemIdFromList bl sub_02010AC8 add r7, r7, #1 cmp r7, #8 blt _02010A7C bl sub_02010954 mov r0, r8 bl GetKecleonItems2 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02010AC0: .word KECLEON_SHOP_ITEM_TABLE_LISTS_1 _02010AC4: .word 0x0000270F arm_func_end GetKecleonItems1 arm_func_start sub_02010AC8 sub_02010AC8: ; 0x02010AC8 stmdb sp!, {r3, lr} mov r1, r0 add r0, sp, #0 bl sub_0200CF78 ldr r0, _02010B38 ; =BAG_ITEMS_PTR_MIRROR mov r2, #0 ldr r3, [r0] add r0, r3, #0x1000 b _02010B28 _02010AEC: ldr r1, [r0, #0x32c] mov ip, r2, lsl #2 ldrsh r1, [r1, ip] cmp r1, #0 bne _02010B24 add r0, r3, #0x1000 ldr r3, [r0, #0x32c] ldrh r1, [sp] add r2, r3, ip mov r0, #0 strh r1, [r3, ip] ldrh r1, [sp, #2] strh r1, [r2, #2] ldmia sp!, {r3, pc} _02010B24: add r2, r2, #1 _02010B28: cmp r2, #8 blt _02010AEC mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02010B38: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010AC8 arm_func_start sub_02010B3C sub_02010B3C: ; 0x02010B3C ldr r1, _02010B74 ; =BAG_ITEMS_PTR_MIRROR mov r0, #0 ldr r1, [r1] mov r2, r0 add r1, r1, #0x1000 ldr r3, [r1, #0x370] _02010B54: mov r1, r2, lsl #2 ldrsh r1, [r3, r1] add r2, r2, #1 cmp r1, #0 addne r0, r0, #1 cmp r2, #4 blt _02010B54 bx lr .align 2, 0 _02010B74: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010B3C arm_func_start sub_02010B78 sub_02010B78: ; 0x02010B78 ldr r1, _02010BA0 ; =BAG_ITEMS_PTR_MIRROR mov r3, r0, lsl #2 ldr r1, [r1] mov r2, #0 add r1, r1, #0x1000 ldr r1, [r1, #0x370] strh r2, [r1, r3] add r0, r1, r0, lsl #2 strh r2, [r0, #2] bx lr .align 2, 0 _02010BA0: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010B78 arm_func_start sub_02010BA4 sub_02010BA4: ; 0x02010BA4 ldr r1, _02010BBC ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1000 ldr r1, [r1, #0x370] add r0, r1, r0, lsl #2 bx lr .align 2, 0 _02010BBC: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010BA4 arm_func_start sub_02010BC0 sub_02010BC0: ; 0x02010BC0 stmdb sp!, {r3, r4, r5, lr} mov r0, #0 mov r4, r0 ldr r2, _02010C5C ; =BAG_ITEMS_PTR_MIRROR b _02010BF4 _02010BD4: ldr r1, [r2] mov r3, r0, lsl #2 add r1, r1, #0x1000 ldr r1, [r1, #0x370] ldrsh r1, [r1, r3] cmp r1, #0 bne _02010BFC add r0, r0, #1 _02010BF4: cmp r0, #4 blt _02010BD4 _02010BFC: cmp r0, #4 beq _02010C50 cmp r0, r4 ble _02010C38 ldr r1, [r2] mov r3, r0, lsl #2 add r1, r1, #0x1000 ldr r5, [r1, #0x370] mov lr, r4, lsl #2 ldrh r1, [r5, r3] add ip, r5, r0, lsl #2 add r3, r5, r4, lsl #2 strh r1, [r5, lr] ldrh r1, [ip, #2] strh r1, [r3, #2] _02010C38: add r0, r0, #1 add r4, r4, #1 b _02010BF4 _02010C44: and r0, r4, #0xff bl sub_02010B78 add r4, r4, #1 _02010C50: cmp r4, #4 blt _02010C44 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02010C5C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010BC0 arm_func_start sub_02010C60 sub_02010C60: ; 0x02010C60 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r6, #0 _02010C6C: add r7, r6, #1 mov r5, r6, lsl #2 ldr r4, _02010D54 ; =BAG_ITEMS_PTR_MIRROR b _02010D38 _02010C7C: ldr r0, [r4] add r0, r0, #0x1000 ldr r0, [r0, #0x370] ldrsh r0, [r5, r0] bl sub_0200D1F0 ldr r1, [r4] mov r2, r7, lsl #2 add r1, r1, #0x1000 ldr r1, [r1, #0x370] mov r8, r0 ldrsh r0, [r1, r2] bl sub_0200D1F0 cmp r8, r0 bgt _02010CDC bne _02010D34 ldr r0, [r4] add r0, r0, #0x1000 ldr r0, [r0, #0x370] add r1, r5, r0 add r0, r0, r7, lsl #2 ldrh r1, [r1, #2] ldrh r0, [r0, #2] cmp r1, r0 bhs _02010D34 _02010CDC: ldr r1, [r4] mov r0, r7, lsl #2 add r1, r1, #0x1000 ldr r8, [r1, #0x370] add lr, r5, r8 ldrh ip, [r5, r8] ldrh r3, [lr, #2] ldrh r1, [r8, r0] add r2, r8, r7, lsl #2 strh ip, [sp] strh r1, [r5, r8] ldrh r1, [r2, #2] strh r3, [sp, #2] ldrh r3, [sp] strh r1, [lr, #2] ldr r1, [r4] ldrh r2, [sp, #2] add r1, r1, #0x1000 ldr r1, [r1, #0x370] strh r3, [r1, r0] add r0, r1, r7, lsl #2 strh r2, [r0, #2] _02010D34: add r7, r7, #1 _02010D38: cmp r7, #4 blt _02010C7C add r6, r6, #1 cmp r6, #3 blt _02010C6C add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02010D54: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010C60 arm_func_start GetKecleonItems2 GetKecleonItems2: ; 0x02010D58 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, #0 _02010D64: and r0, r4, #0xff bl sub_02010B78 add r4, r4, #1 cmp r4, #4 blt _02010D64 ldr r0, _02010DC4 ; =KECLEON_SHOP_ITEM_TABLE_LISTS_2 mov r7, #0 ldr r6, [r0, r5, lsl #2] ldr r5, _02010DC8 ; =0x0000270F _02010D88: mov r0, r5 bl RandIntSafe mov r4, r0 mov r0, r5 bl RandIntSafe mov r2, r0 mov r0, r6 mov r1, r4 bl GetItemIdFromList bl sub_02010DCC add r7, r7, #1 cmp r7, #4 blt _02010D88 bl sub_02010C60 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02010DC4: .word KECLEON_SHOP_ITEM_TABLE_LISTS_2 _02010DC8: .word 0x0000270F arm_func_end GetKecleonItems2 arm_func_start sub_02010DCC sub_02010DCC: ; 0x02010DCC stmdb sp!, {r3, lr} mov r1, r0 add r0, sp, #0 bl sub_0200CF78 ldr r0, _02010E3C ; =BAG_ITEMS_PTR_MIRROR mov r2, #0 ldr r3, [r0] add r0, r3, #0x1000 b _02010E2C _02010DF0: ldr r1, [r0, #0x370] mov ip, r2, lsl #2 ldrsh r1, [r1, ip] cmp r1, #0 bne _02010E28 add r0, r3, #0x1000 ldr r3, [r0, #0x370] ldrh r1, [sp] add r2, r3, ip mov r0, #0 strh r1, [r3, ip] ldrh r1, [sp, #2] strh r1, [r2, #2] ldmia sp!, {r3, pc} _02010E28: add r2, r2, #1 _02010E2C: cmp r2, #4 blt _02010DF0 mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02010E3C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02010DCC arm_func_start GetExclusiveItemOffset GetExclusiveItemOffset: ; 0x02010E40 stmdb sp!, {r4, lr} mov r4, r0 bl GetItemCategory cmp r0, #0xf movne r0, #0 subeq r0, r4, #0x1bc moveq r0, r0, lsl #0x10 moveq r0, r0, asr #0x10 ldmia sp!, {r4, pc} arm_func_end GetExclusiveItemOffset arm_func_start ApplyExclusiveItemStatBoosts ApplyExclusiveItemStatBoosts: ; 0x02010E64 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r7, r1 mov r6, r2 mov r5, r3 ldr r4, [sp, #0x28] bl GetExclusiveItemOffset ldr r1, _02010F6C ; =EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES ldrb r2, [r7] ldrb r1, [r1, r0, lsl #1] ldrb r0, [r4] strh r2, [sp, #4] ldrb r2, [r5] strh r0, [sp, #2] ldrb r3, [r6] ldr r0, _02010F70 ; =EXCLUSIVE_ITEM_ATTACK_BOOSTS mov r1, r1, lsl #2 strh r3, [sp, #6] strh r2, [sp] ldrsb r2, [r0, r1] ldr r0, _02010F74 ; =EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS ldrh sb, [sp, #4] ldrsb r8, [r0, r1] mov r0, r2, lsl #0x10 add r0, sb, r0, lsr #16 strh r0, [sp, #4] mov r0, r8, lsl #0x10 ldrh lr, [sp, #6] ldrh r2, [sp, #4] ldr ip, _02010F78 ; =EXCLUSIVE_ITEM_DEFENSE_BOOSTS add r0, lr, r0, lsr #16 ldrsb lr, [ip, r1] ldr r3, _02010F7C ; =EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS ldrsh ip, [sp, #2] ldrsb r1, [r3, r1] strh r0, [sp, #6] ldrsh r8, [sp] add r0, ip, r1 strh r0, [sp, #2] cmp r2, #0xff movhi r0, #0xff strhih r0, [sp, #4] ldrh r0, [sp, #6] add r3, r8, lr ldrh r2, [sp, #4] cmp r0, #0xff movhi r0, #0xff strh r3, [sp] strhih r0, [sp, #6] ldrsh r0, [sp] strb r2, [r7] cmp r0, #0xff movgt r0, #0xff strgth r0, [sp] ldrsh r0, [sp, #2] ldrsh r1, [sp] cmp r0, #0xff movgt r0, #0xff strgth r0, [sp, #2] ldrh r0, [sp, #6] strb r0, [r6] ldrsh r0, [sp, #2] strb r1, [r5] strb r0, [r4] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02010F6C: .word EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES _02010F70: .word EXCLUSIVE_ITEM_ATTACK_BOOSTS _02010F74: .word EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS _02010F78: .word EXCLUSIVE_ITEM_DEFENSE_BOOSTS _02010F7C: .word EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS arm_func_end ApplyExclusiveItemStatBoosts arm_func_start SetExclusiveItemEffect SetExclusiveItemEffect: ; 0x02010F80 cmp r1, #0 bxeq lr mov ip, r1, lsr #5 ldr r3, [r0, ip, lsl #2] sub r1, r1, ip, lsl #5 mov r2, #1 orr r1, r3, r2, lsl r1 str r1, [r0, ip, lsl #2] bx lr arm_func_end SetExclusiveItemEffect arm_func_start ExclusiveItemEffectFlagTest ExclusiveItemEffectFlagTest: ; 0x02010FA4 mov r3, r1, lsr #5 ldr r2, [r0, r3, lsl #2] sub r0, r1, r3, lsl #5 mov r1, #1 tst r2, r1, lsl r0 moveq r1, #0 and r0, r1, #0xff bx lr arm_func_end ExclusiveItemEffectFlagTest arm_func_start IsExclusiveItemIdForMonster IsExclusiveItemIdForMonster: ; 0x02010FC4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r8, r1 mov r7, r2 mov r6, r3 bl GetItemCategory cmp r0, #0xf movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r8, #0x258 mov r5, #0 ble _02011000 mov r0, r8 bl FemaleToMaleForm mov r8, r0 _02011000: mov r0, sb bl GetExclusiveItemType movs r4, r0 moveq r5, #0 beq _0201108C sub r0, r4, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #3 mov r0, sb bhi _0201104C bl GetExclusiveItemParameter and r0, r0, #0xff cmp r7, r0 cmpne r6, r0 moveq r5, #1 b _0201108C _0201104C: bl GetExclusiveItemParameter mov r6, r0 cmp r4, #9 bne _02011068 cmp r8, r6 moveq r5, #1 b _0201108C _02011068: cmp r4, #0xa bne _0201107C cmp r8, r6 moveq r5, #1 b _0201108C _0201107C: mov r0, r8 bl GetFamilyIndex cmp r6, r0 moveq r5, #1 _0201108C: mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end IsExclusiveItemIdForMonster arm_func_start IsExclusiveItemForMonster IsExclusiveItemForMonster: ; 0x02011094 stmdb sp!, {r3, lr} ldrb ip, [r0] tst ip, #1 movne lr, #1 moveq lr, #0 tst lr, #0xff moveq r0, #0 ldmeqia sp!, {r3, pc} tst ip, #8 movne ip, #1 moveq ip, #0 tst ip, #0xff movne r0, #0 ldmneia sp!, {r3, pc} ldrsh r0, [r0, #4] bl IsExclusiveItemIdForMonster ldmia sp!, {r3, pc} arm_func_end IsExclusiveItemForMonster arm_func_start BagHasExclusiveItemTypeForMonster BagHasExclusiveItemTypeForMonster: ; 0x020110D8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 mov r7, r3 bl GetCurrentBagCapacity mov r4, r0, lsl #0x10 mov r5, #0 ldr fp, _02011164 ; =EXCLUSIVE_ITEM_EFFECT_DATA b _02011154 _02011100: ldr r0, _02011168 ; =BAG_ITEMS_PTR_MIRROR mov r1, sb ldr r0, [r0] mov r2, r8 ldr r3, [r0, #0x384] mov r0, #6 smlabb r6, r5, r0, r3 mov r0, r6 mov r3, r7 bl IsExclusiveItemForMonster cmp r0, #0 beq _02011148 ldrsh r0, [r6, #4] bl GetExclusiveItemOffset ldrb r0, [fp, r0, lsl #1] cmp sl, r0 ldreqsh r0, [r6, #4] ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02011148: add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 _02011154: cmp r5, r4, asr #16 blt _02011100 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02011164: .word EXCLUSIVE_ITEM_EFFECT_DATA _02011168: .word BAG_ITEMS_PTR_MIRROR arm_func_end BagHasExclusiveItemTypeForMonster arm_func_start sub_0201116C sub_0201116C: ; 0x0201116C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 mov fp, r3 ldr r7, [sp, #0x28] bl GetCurrentBagCapacity mov r4, r0, lsl #0x10 mov r5, #0 b _02011208 _02011194: ldr r0, _02011218 ; =BAG_ITEMS_PTR_MIRROR mov r1, r8 ldr r0, [r0] mov r2, fp ldr r3, [r0, #0x384] mov r0, #6 smlabb r6, r5, r0, r3 mov r0, r6 mov r3, r7 bl IsExclusiveItemForMonster cmp r0, #0 beq _020111FC ldrsh r0, [r6, #4] bl GetExclusiveItemOffset ldr r1, _0201121C ; =EXCLUSIVE_ITEM_EFFECT_DATA ldrb r0, [r1, r0, lsl #1] cmp sb, r0 bne _020111FC ldrh r1, [r6] mov r0, #1 strh r1, [sl] ldrh r1, [r6, #2] strh r1, [sl, #2] ldrh r1, [r6, #4] strh r1, [sl, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _020111FC: add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 _02011208: cmp r5, r4, asr #16 blt _02011194 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02011218: .word BAG_ITEMS_PTR_MIRROR _0201121C: .word EXCLUSIVE_ITEM_EFFECT_DATA arm_func_end sub_0201116C arm_func_start sub_02011220 sub_02011220: ; 0x02011220 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x68 mov r8, r0 mov r7, r1 mov fp, r2 str r3, [sp, #4] bl GetCurrentBagCapacity mov sb, r0, lsl #0x10 mov r0, r8 mov r1, #0x18 mov r5, #0 bl MemZero mov r4, r5 b _0201130C _02011258: ldr r1, _0201138C ; =BAG_ITEMS_PTR_MIRROR mov r0, #6 ldr r1, [r1] smulbb r6, r4, r0 ldr r0, [r1, #0x384] ldr r3, [sp, #4] mov r1, r7 mov r2, fp add r0, r0, r6 bl IsExclusiveItemForMonster cmp r0, #0 beq _02011300 ldr r0, _0201138C ; =BAG_ITEMS_PTR_MIRROR mov lr, #0 mov ip, lr ldr sl, [r0] b _020112D8 _0201129C: ldr r3, [sl, #0x384] mov r1, ip, lsl #1 add r0, sp, #8 ldrsh r2, [r0, r1] add r0, r3, r6 ldrsh r1, [r0, #4] mov r0, #6 smlabb r0, r2, r0, r3 ldrsh r0, [r0, #4] cmp r0, r1 moveq lr, #1 beq _020112E0 add r0, ip, #1 mov r0, r0, lsl #0x10 mov ip, r0, asr #0x10 _020112D8: cmp ip, r5 blt _0201129C _020112E0: cmp lr, #0 bne _02011300 add r0, r5, #1 mov r1, r0, lsl #0x10 mov r2, r5, lsl #1 add r0, sp, #8 strh r4, [r0, r2] mov r5, r1, asr #0x10 _02011300: add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _0201130C: cmp r4, sb, asr #16 blt _02011258 mov sl, #0 add r4, r8, #3 add r7, sp, #8 ldr r6, _02011390 ; =EXCLUSIVE_ITEM_EFFECT_DATA ldr fp, _0201138C ; =BAG_ITEMS_PTR_MIRROR b _0201137C _0201132C: mov r0, sl, lsl #1 ldr r2, [fp] ldrsh r1, [r7, r0] ldr r2, [r2, #0x384] mov r0, #6 smlabb sb, r1, r0, r2 ldrsh r0, [sb, #4] bl GetExclusiveItemOffset ldrb r1, [r6, r0, lsl #1] add r0, r8, #4 bl SetExclusiveItemEffect str r4, [sp] ldrsh r0, [sb, #4] mov r1, r8 add r2, r8, #1 add r3, r8, #2 bl ApplyExclusiveItemStatBoosts add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, asr #0x10 _0201137C: cmp sl, r5 blt _0201132C add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201138C: .word BAG_ITEMS_PTR_MIRROR _02011390: .word EXCLUSIVE_ITEM_EFFECT_DATA arm_func_end sub_02011220 arm_func_start sub_02011394 sub_02011394: ; 0x02011394 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r0, r5, #4 mov r1, #0x4c mov r4, #0 bl ExclusiveItemEffectFlagTest cmp r0, #0 ldrne r0, _0201141C ; =_020A1878 mov r1, #0x4d ldrnesh r0, [r0] addne r0, r4, r0 movne r0, r0, lsl #0x10 movne r4, r0, asr #0x10 add r0, r5, #4 bl ExclusiveItemEffectFlagTest cmp r0, #0 ldrne r0, _0201141C ; =_020A1878 mov r1, #0x4e ldrnesh r0, [r0] addne r0, r4, r0, lsl #1 movne r0, r0, lsl #0x10 movne r4, r0, asr #0x10 add r0, r5, #4 bl ExclusiveItemEffectFlagTest cmp r0, #0 beq _02011414 ldr r0, _0201141C ; =_020A1878 ldrsh r0, [r0] add r0, r0, r0, lsl #1 add r0, r4, r0 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _02011414: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0201141C: .word _020A1878 arm_func_end sub_02011394 arm_func_start sub_02011420 sub_02011420: ; 0x02011420 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r1, #0 bl GetType mov r4, r0 mov r0, sl mov r1, #1 bl GetType mov r5, r0 mov r0, #8 mov r1, #0 bl MemAlloc mov r6, r0 mov r0, #0xaf0 mov r1, #0 bl MemAlloc ldr fp, _020114F4 ; =0x00000578 mov r8, r0 mov sb, #0 mov r7, #0x1bc _02011470: mov r0, r7 mov r1, sl mov r2, r4 mov r3, r5 bl IsExclusiveItemIdForMonster cmp r0, #0 addne r0, sb, #1 movne r1, sb, lsl #1 movne r0, r0, lsl #0x10 movne sb, r0, asr #0x10 add r0, r7, #1 mov r0, r0, lsl #0x10 strneh r7, [r8, r1] cmp fp, r0, asr #16 mov r7, r0, asr #0x10 bgt _02011470 mov r0, sb, lsl #1 mov r1, #0 bl MemAlloc stmia r6, {r0, sb} mov r3, #0 b _020114DC _020114C8: mov r2, r3, lsl #1 ldrsh r1, [r8, r2] ldr r0, [r6] add r3, r3, #1 strh r1, [r0, r2] _020114DC: cmp r3, sb blt _020114C8 mov r0, r8 bl MemFree mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020114F4: .word 0x00000578 arm_func_end sub_02011420 arm_func_start sub_020114F8 sub_020114F8: ; 0x020114F8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r0] bl MemFree ldr r0, [r4] bl MemFree mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_020114F8 arm_func_start sub_02011528 sub_02011528: ; 0x02011528 stmdb sp!, {lr} sub sp, sp, #0xc mov ip, r0 stmia sp, {r1, r2, r3} add r0, ip, #4 add r1, ip, #8 add r2, ip, #0xc add r3, ip, #0xe bl ApplyGummiBoostsGroundMode add sp, sp, #0xc ldmia sp!, {pc} arm_func_end sub_02011528 arm_func_start sub_02011554 sub_02011554: ; 0x02011554 stmdb sp!, {lr} sub sp, sp, #0xc mov ip, r0 stmia sp, {r1, r2, r3} add r0, ip, #0xc add r1, ip, #6 add r2, ip, #0x12 add r3, ip, #0x14 bl ApplyGummiBoostsGroundMode add sp, sp, #0xc ldmia sp!, {pc} arm_func_end sub_02011554 arm_func_start sub_02011580 sub_02011580: ; 0x02011580 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _020115B8 ; =SITRUS_BERRY_FULL_HP_BOOST mov r7, r0 ldrsh r5, [r2] ldrsh r4, [r7, #0xa] mov r6, r1 add r0, r7, #0xa mov r1, r5 bl sub_02054FB8 cmp r6, #0 strne r5, [r6] ldrsh r0, [r7, #0xa] sub r0, r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020115B8: .word SITRUS_BERRY_FULL_HP_BOOST arm_func_end sub_02011580 arm_func_start sub_020115BC sub_020115BC: ; 0x020115BC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _020115F4 ; =LIFE_SEED_HP_BOOST mov r7, r0 ldrsh r5, [r2] ldrsh r4, [r7, #0xa] mov r6, r1 add r0, r7, #0xa mov r1, r5 bl sub_02054FB8 cmp r6, #0 strne r5, [r6] ldrsh r0, [r7, #0xa] sub r0, r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020115F4: .word LIFE_SEED_HP_BOOST arm_func_end sub_020115BC arm_func_start ProcessGinsengOverworld ProcessGinsengOverworld: ; 0x020115F8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r5, r0 mov r0, #0x64 mov sb, r1 mov r8, r2 mvn r4, #0 mov r6, #0 bl RandInt ldr r1, _02011708 ; =GINSENG_CHANCE_3 mov ip, #0 ldrsh r1, [r1] mov r2, #1 cmp r0, r1 movlt r7, #3 movge r7, #1 mov r1, ip mov r0, #6 b _02011664 _02011640: mla r3, ip, r0, r5 ldrb r3, [r3, #0x22] tst r3, #1 movne r3, r2 moveq r3, r1 tst r3, #0xff movne r4, ip bne _0201166C add ip, ip, #1 _02011664: cmp ip, #4 blt _02011640 _0201166C: mvn r0, #0 cmp r4, r0 bne _02011698 cmp sb, #0 movne r0, #0 strneh r0, [sb] cmp r8, #0 movne r0, #0 strne r0, [r8] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02011698: add r1, r5, #0x22 mov r0, #6 mla r5, r4, r0, r1 mov r0, r5 bl GetMoveBasePowerGround cmp r0, #0 beq _020116E4 mov r0, r5 ldrb r4, [r5, #4] bl GetMoveMaxGinsengBoostGround ldrb r1, [r5, #4] add r2, r1, r7 and r1, r2, #0xff strb r2, [r5, #4] cmp r1, r0 strgeb r0, [r5, #4] ldrb r0, [r5, #4] cmp r4, r0 movne r6, #1 _020116E4: cmp sb, #0 ldrneh r0, [r5, #2] strneh r0, [sb] cmp r8, #0 strne r7, [r8] cmp r6, #0 moveq r7, #0 mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02011708: .word GINSENG_CHANCE_3 arm_func_end ProcessGinsengOverworld arm_func_start sub_0201170C sub_0201170C: ; 0x0201170C stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _02011744 ; =PROTEIN_STAT_BOOST mov r7, r0 ldrsh r5, [r2] ldrb r4, [r7, #0xc] mov r6, r1 add r0, r7, #0xc mov r1, r5 bl sub_02054FEC cmp r6, #0 strne r5, [r6] ldrb r0, [r7, #0xc] sub r0, r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02011744: .word PROTEIN_STAT_BOOST arm_func_end sub_0201170C arm_func_start sub_02011748 sub_02011748: ; 0x02011748 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _02011780 ; =CALCIUM_STAT_BOOST mov r7, r0 ldrsh r5, [r2] ldrb r4, [r7, #0xd] mov r6, r1 add r0, r7, #0xd mov r1, r5 bl sub_02054FEC cmp r6, #0 strne r5, [r6] ldrb r0, [r7, #0xd] sub r0, r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02011780: .word CALCIUM_STAT_BOOST arm_func_end sub_02011748 arm_func_start sub_02011784 sub_02011784: ; 0x02011784 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _020117BC ; =IRON_STAT_BOOST mov r7, r0 ldrsh r5, [r2] ldrb r4, [r7, #0xe] mov r6, r1 add r0, r7, #0xe mov r1, r5 bl sub_02055020 cmp r6, #0 strne r5, [r6] ldrb r0, [r7, #0xe] sub r0, r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020117BC: .word IRON_STAT_BOOST arm_func_end sub_02011784 arm_func_start sub_020117C0 sub_020117C0: ; 0x020117C0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _020117F8 ; =ZINC_STAT_BOOST mov r7, r0 ldrsh r5, [r2] ldrb r4, [r7, #0xf] mov r6, r1 add r0, r7, #0xf mov r1, r5 bl sub_02055020 cmp r6, #0 strne r5, [r6] ldrb r0, [r7, #0xf] sub r0, r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020117F8: .word ZINC_STAT_BOOST arm_func_end sub_020117C0 arm_func_start sub_020117FC sub_020117FC: ; 0x020117FC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrsh r4, [r6, #8] mov r5, r1 add r0, r6, #8 mov r1, #0xa bl sub_02055054 cmp r5, #0 movne r0, #0xa strne r0, [r5] ldrsh r0, [r6, #8] sub r0, r0, r4 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020117FC arm_func_start sub_02011830 sub_02011830: ; 0x02011830 stmdb sp!, {r3, lr} ldrsh r0, [r0, #4] bl FemaleToMaleForm cmp r0, #0x1e0 cmpne r0, #0xb9 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02011830 arm_func_start sub_02011850 sub_02011850: ; 0x02011850 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 ldrsh r4, [r6, #8] bl sub_02011830 cmp r0, #0 beq _02011884 add r0, r6, #8 mov r1, #0xa bl sub_02055054 cmp r5, #0 movne r0, #0xa b _0201188C _02011884: cmp r5, #0 movne r0, #0 _0201188C: strne r0, [r5] ldrsh r0, [r6, #8] sub r0, r0, r4 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02011850 arm_func_start ApplyGummiBoostsGroundMode ApplyGummiBoostsGroundMode: ; 0x0201189C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldrsh r0, [sp, #0x28] mov r4, #0 ldr r6, [sp, #0x30] sub r5, r4, #1 strh r5, [r6] mov sb, r1 mov r8, r2 mov r7, r3 sub fp, r0, #0x77 strh r4, [r6, #2] bl IsGummi cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrsh r0, [sp, #0x28] cmp r0, #0x88 bne _020118FC ldr r1, _02011AA0 ; =WONDER_GUMMI_IQ_GAIN ldr r0, _02011AA4 ; =WONDER_GUMMI_STAT_BOOST ldrsh r1, [r1] ldrsh r5, [r0] add r4, r4, r1 b _02011950 _020118FC: ldrsh r0, [sl] ldr r2, _02011AA8 ; =GUMMI_STAT_BOOST mov r1, r4 ldrsh r5, [r2] bl GetType str r0, [sp] ldrsh r0, [sl] mov r1, #1 bl GetType add sl, fp, #1 ldr fp, _02011AAC ; =IQ_GUMMI_GAIN_TABLE ldr r1, [sp] mov r2, #0x24 mla r3, r1, r2, fp mla r1, r0, r2, fp mov sl, sl, lsl #1 ldrsh r2, [sl, r3] ldrsh r0, [sl, r1] cmp r2, r0 addgt r4, r4, r2 addle r4, r4, r0 _02011950: ldrsh r1, [sb] add r0, r1, r4 strh r0, [sb] ldrsh r0, [sb] cmp r0, #1 sub r2, r0, r1 movlt r0, #1 strlth r0, [sb] ldrsh r1, [sb] ldr r0, _02011AB0 ; =0x000003E7 cmp r1, r0 strgth r0, [sb] cmp r2, #9 movge r1, #0 bge _020119A4 cmp r2, #5 movge r1, #1 bge _020119A4 cmp r2, #3 movge r1, #2 movlt r1, #3 _020119A4: ldrb r0, [sp, #0x2c] strh r1, [r6] cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r1, #0 bne _020119D4 mov r0, #0x10 bl RandIntSafe cmp r0, #0xa moveq r0, #0xf streqh r0, [r6, #2] beq _020119EC _020119D4: mov r0, #4 bl RandIntSafe ldr r1, _02011AB4 ; =_0209889C mov r0, r0, lsl #1 ldrh r0, [r1, r0] strh r0, [r6, #2] _020119EC: ldrh r1, [r6, #2] tst r1, #1 beq _02011A18 ldrb r0, [r8] cmp r0, #0xff bichs r0, r1, #1 strhsh r0, [r6, #2] bhs _02011A18 mov r0, r8 mov r1, r5 bl sub_02054FEC _02011A18: ldrh r1, [r6, #2] tst r1, #2 beq _02011A44 ldrb r0, [r8, #1] cmp r0, #0xff bichs r0, r1, #2 strhsh r0, [r6, #2] bhs _02011A44 mov r1, r5 add r0, r8, #1 bl sub_02054FEC _02011A44: ldrh r1, [r6, #2] tst r1, #4 beq _02011A70 ldrb r0, [r7] cmp r0, #0xff bichs r0, r1, #4 strhsh r0, [r6, #2] bhs _02011A70 mov r0, r7 mov r1, r5 bl sub_02055020 _02011A70: ldrh r1, [r6, #2] tst r1, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r0, [r7, #1] cmp r0, #0xff bichs r0, r1, #8 strhsh r0, [r6, #2] ldmhsia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r1, r5 add r0, r7, #1 bl sub_02055020 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02011AA0: .word WONDER_GUMMI_IQ_GAIN _02011AA4: .word WONDER_GUMMI_STAT_BOOST _02011AA8: .word GUMMI_STAT_BOOST _02011AAC: .word IQ_GUMMI_GAIN_TABLE _02011AB0: .word 0x000003E7 _02011AB4: .word _0209889C arm_func_end ApplyGummiBoostsGroundMode arm_func_start sub_02011AB8 sub_02011AB8: ; 0x02011AB8 stmdb sp!, {r3, lr} ldr ip, _02011B38 ; =BAG_ITEMS_PTR_MIRROR mov r0, #0 ldr r1, [ip] mov r2, r0 add r1, r1, #0x1000 strb r0, [r1, #0x3aa] ldr r1, [ip] sub lr, r0, #1 add r1, r1, #0x1000 str r0, [r1, #0x3ac] ldr r3, [ip] mov r1, #0x6d add r3, r3, #0x1300 strh r0, [r3, #0xb0] ldr r3, [ip] add r3, r3, #0x1300 strh lr, [r3, #0xb2] bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x6b bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x6c bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x6a bl SaveScriptVariableValue ldmia sp!, {r3, pc} .align 2, 0 _02011B38: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02011AB8 arm_func_start sub_02011B3C sub_02011B3C: ; 0x02011B3C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c mov sl, r0 mov r8, r1 mov r7, r2 mov r0, #8 mov r1, #6 bl MemAlloc mov sb, r0 mov r0, sl mov r1, r8 mov r2, r7 bl sub_020128DC movs r1, r0 str r0, [sb, #4] moveq r0, #0 streq r0, [sb] beq _02011CE8 mov r0, #0x18 mul r0, r1, r0 mov r1, #6 bl MemAlloc str r0, [sb] ldr r2, [sb, #4] mov r1, #0x18 mul r1, r2, r1 bl MemZero mov r5, #0 mov r6, r5 mov r4, #0x18 b _02011BF8 _02011BB8: str r7, [sp] ldr r0, [sb] mov r1, r6 mla r0, r5, r4, r0 mov r2, sl mov r3, r8 bl sub_0201297C cmp r0, #0 beq _02011BEC ldr r0, [sb, #4] add r5, r5, #1 cmp r5, r0 beq _02011C00 _02011BEC: add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 _02011BF8: cmp r6, #0x18 blt _02011BB8 _02011C00: mov r8, #0 b _02011CDC _02011C08: mov r0, #0x18 mul sl, r8, r0 ldr r0, [sb] mvn r6, #0 ldr r0, [r0, sl] ldrsh r0, [r0] bl sub_0200D1F0 mov fp, r0 add r7, r8, #1 b _02011C68 _02011C30: mov r0, #0x18 mul r4, r7, r0 ldr r5, [sb] ldr r0, [r5, r4] ldrsh r0, [r0] bl sub_0200D1F0 cmp fp, r0 ble _02011C64 ldr r0, [r5, r4] mov r6, r7 ldrsh r0, [r0] bl sub_0200D1F0 mov fp, r0 _02011C64: add r7, r7, #1 _02011C68: ldr r0, [sb, #4] cmp r7, r0 blt _02011C30 mvn r0, #0 cmp r6, r0 beq _02011CD8 ldr r4, [sb] mov r0, #0x18 add fp, r4, sl mul r5, r6, r0 add r7, sp, #4 mov sl, fp mov r6, r7 ldmia sl!, {r0, r1, r2, r3} stmia r7!, {r0, r1, r2, r3} ldmia sl, {r0, r1} stmia r7, {r0, r1} add r4, r4, r5 ldmia r4!, {r0, r1, r2, r3} stmia fp!, {r0, r1, r2, r3} ldmia r4, {r0, r1} stmia fp, {r0, r1} ldr r4, [sb] ldmia r6!, {r0, r1, r2, r3} add r4, r4, r5 stmia r4!, {r0, r1, r2, r3} ldmia r6, {r0, r1} stmia r4, {r0, r1} _02011CD8: add r8, r8, #1 _02011CDC: ldr r0, [sb, #4] cmp r8, r0 blt _02011C08 _02011CE8: mov r0, sb add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02011B3C arm_func_start sub_02011CF4 sub_02011CF4: ; 0x02011CF4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r6, r2 cmp r0, #2 bne _02011D90 ldr r0, _02011D98 ; =BAG_ITEMS_PTR_MIRROR mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1300 ldrsh r5, [r0, #0xb2] cmp r5, r1 movne r0, #1 moveq r0, #0 tst r0, #0xff moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #8 mov r1, #6 bl MemAlloc mov r4, r0 mov r1, #1 mov r0, #0x18 smulbb r0, r1, r0 str r1, [r4, #4] mov r1, #6 bl MemAlloc str r0, [r4] ldr r2, [r4, #4] mov r1, #0x18 mul r1, r2, r1 bl MemZero str r6, [sp] ldr r0, [r4] mov r1, r5 mov r3, r7 mov r2, #2 bl sub_0201297C mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02011D90: bl sub_02011B3C ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02011D98: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02011CF4 arm_func_start sub_02011D9C sub_02011D9C: ; 0x02011D9C ldr ip, _02011DB0 ; =sub_02011B3C mov r1, r0 ldr r2, _02011DB4 ; =0x000F423F mov r0, #1 bx ip .align 2, 0 _02011DB0: .word sub_02011B3C _02011DB4: .word 0x000F423F arm_func_end sub_02011D9C arm_func_start sub_02011DB8 sub_02011DB8: ; 0x02011DB8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r0] cmp r0, #0 beq _02011DDC bl MemFree _02011DDC: ldr r0, [r4] bl MemFree mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_02011DB8 arm_func_start sub_02011DF0 sub_02011DF0: ; 0x02011DF0 ldr r0, [r0] ldrsh r0, [r0] bx lr arm_func_end sub_02011DF0 arm_func_start sub_02011DFC sub_02011DFC: ; 0x02011DFC ldr r0, [r0] ldr r0, [r0, #4] cmp r0, #1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_02011DFC arm_func_start sub_02011E18 sub_02011E18: ; 0x02011E18 ldr r0, [r0] ldrh r0, [r0, #0x12] bx lr arm_func_end sub_02011E18 arm_func_start sub_02011E24 sub_02011E24: ; 0x02011E24 mov ip, #0 mov r3, ip b _02011E58 _02011E30: ldr r2, [r0] mov r1, r3, lsl #2 add r2, r2, #0x14 ldrsh r1, [r2, r1] add r2, r2, r3, lsl #2 cmp r1, #0 beq _02011E60 ldrsh r1, [r2, #2] add r3, r3, #1 add ip, ip, r1 _02011E58: cmp r3, #4 blt _02011E30 _02011E60: mov r0, ip bx lr arm_func_end sub_02011E24 arm_func_start sub_02011E68 sub_02011E68: ; 0x02011E68 stmdb sp!, {r3, lr} mov lr, #0 b _02011EB4 _02011E74: ldr r2, [r0] mov r1, lr, lsl #2 add r2, r2, #0x14 ldrsh r1, [r2, r1] add ip, r2, lr, lsl #2 cmp r1, #0 beq _02011EBC add r1, r0, lr, lsl #1 ldrsh r3, [r1, #4] ldrsh r2, [r1, #0xc] ldrsh r1, [ip, #2] add r2, r3, r2 cmp r2, r1 movlt r0, #0 ldmltia sp!, {r3, pc} add lr, lr, #1 _02011EB4: cmp lr, #4 blt _02011E74 _02011EBC: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_02011E68 arm_func_start sub_02011EC4 sub_02011EC4: ; 0x02011EC4 ldr r1, [r0] ldr r0, _02011EE4 ; =0x00000578 ldrsh r1, [r1, #0x14] cmp r1, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02011EE4: .word 0x00000578 arm_func_end sub_02011EC4 arm_func_start sub_02011EE8 sub_02011EE8: ; 0x02011EE8 ldr r0, _02011F10 ; =BAG_ITEMS_PTR_MIRROR mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1300 ldrsh r0, [r0, #0xb2] cmp r0, r1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02011F10: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02011EE8 arm_func_start sub_02011F14 sub_02011F14: ; 0x02011F14 ldr r0, _02011F2C ; =BAG_ITEMS_PTR_MIRROR mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1300 strh r1, [r0, #0xb2] bx lr .align 2, 0 _02011F2C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02011F14 arm_func_start sub_02011F30 sub_02011F30: ; 0x02011F30 ldr r0, _02011F44 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1000 ldr r0, [r0, #0x3ac] bx lr .align 2, 0 _02011F44: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02011F30 arm_func_start sub_02011F48 sub_02011F48: ; 0x02011F48 ldr r0, _02011F5C ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1000 ldrb r0, [r0, #0x3aa] bx lr .align 2, 0 _02011F5C: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02011F48 arm_func_start sub_02011F60 sub_02011F60: ; 0x02011F60 stmdb sp!, {r4, lr} mov r0, #0 mov r1, #0x6c bl LoadScriptVariableValue add r4, r0, #1 ldr r1, _02011F9C ; =0x000F423F mov r0, #0 cmp r4, r1 movgt r4, r1 mov r2, r4 mov r1, #0x6c bl SaveScriptVariableValue mov r0, r4 bl SetNbRecycled ldmia sp!, {r4, pc} .align 2, 0 _02011F9C: .word 0x000F423F arm_func_end sub_02011F60 arm_func_start sub_02011FA0 sub_02011FA0: ; 0x02011FA0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r0, #0 mov r1, #0x71 bl LoadScriptVariableValue and r0, r0, #0xff cmp r0, #1 bne _0201207C ldr r1, _02012214 ; =BAG_ITEMS_PTR_MIRROR mov r0, #3 ldr r1, [r1] add r1, r1, #0x1000 ldrb r6, [r1, #0x3aa] ldr r5, [r1, #0x3ac] mov r1, r6 mov r2, r5 bl sub_020128DC mov r4, r0 mov r1, r6 mov r2, r5 mov r0, #2 bl sub_020128DC sub r4, r4, r0 mov r0, #0 mov r1, #0x6c bl LoadScriptVariableValue ldr r1, _02012214 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r1] add r1, r1, #0x1000 str r0, [r1, #0x3ac] bl GetRank ldr r2, _02012214 ; =BAG_ITEMS_PTR_MIRROR ldr r1, [r2] add r1, r1, #0x1000 strb r0, [r1, #0x3aa] ldr r1, [r2] mov r0, #3 add r1, r1, #0x1000 ldr r5, [r1, #0x3ac] ldrb r6, [r1, #0x3aa] mov r2, r5 mov r1, r6 bl sub_020128DC mov r1, r6 mov r2, r5 mov r5, r0 mov r0, #2 bl sub_020128DC sub r0, r5, r0 cmp r0, r4 ble _0201207C mov r0, #0 mov r1, #0x6a mov r2, #1 bl SaveScriptVariableValue _0201207C: mov r0, #0 mov r1, #0x6b bl LoadScriptVariableValue tst r0, #0xff bne _02012104 mov r0, #0 mov r1, #0x6d bl LoadScriptVariableValue mov r4, r0 cmp r4, #5 bge _02012104 ldr r0, _02012214 ; =BAG_ITEMS_PTR_MIRROR ldr r1, _02012218 ; =_020988A4 ldr r0, [r0] ldr r1, [r1, r4, lsl #3] add r0, r0, #0x1000 ldr r0, [r0, #0x3ac] cmp r0, r1 blt _02012104 bl GetScenarioBalance ldr r1, _0201221C ; =_020988A8 mov r2, r4, lsl #3 ldrsh r1, [r1, r2] and r1, r1, #0xff cmp r0, r1 blo _02012104 add r2, r4, #1 mov r0, #0 mov r1, #0x6d bl SaveScriptVariableValue mov r0, #0 mov r1, #0x6b mov r2, #1 bl SaveScriptVariableValue _02012104: ldr r0, _02012214 ; =BAG_ITEMS_PTR_MIRROR mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1300 ldrsh r0, [r0, #0xb2] cmp r0, r1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0201213C bl sub_02012254 cmp r0, #0 moveq r2, #0 beq _02012200 _0201213C: ldr r1, _02012214 ; =BAG_ITEMS_PTR_MIRROR mov r0, #2 ldr r1, [r1] add r2, r1, #0x1000 ldrb r1, [r2, #0x3aa] ldr r2, [r2, #0x3ac] bl sub_02011B3C mov r4, r0 str r4, [sp] ldr r0, [r4, #4] cmp r0, #0 bne _02012184 ldr r0, _02012214 ; =BAG_ITEMS_PTR_MIRROR mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1300 strh r1, [r0, #0xb2] b _020121E0 _02012184: bl Rand16Bit ldr r1, [r4, #4] bl __divsi3 mov r0, #0x18 mul r0, r1, r0 ldr r1, [r4] ldr r2, _02012220 ; =RECYCLE_SHOP_ITEM_LIST ldr r1, [r1, r0] mov r3, #0 b _020121C4 _020121AC: cmp r2, r1 beq _020121D0 add r0, r3, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 add r2, r2, #0x24 _020121C4: cmp r3, #0x18 blt _020121AC mvn r3, #0 _020121D0: ldr r0, _02012214 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 strh r3, [r0, #0xb2] _020121E0: add r0, sp, #0 bl sub_02011DB8 ldr r0, _02012214 ; =BAG_ITEMS_PTR_MIRROR mov r1, #2 ldr r0, [r0] mov r2, #1 add r0, r0, #0x1300 strh r1, [r0, #0xb0] _02012200: cmp r2, #0 bne _0201220C bl sub_02012224 _0201220C: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02012214: .word BAG_ITEMS_PTR_MIRROR _02012218: .word _020988A4 _0201221C: .word _020988A8 _02012220: .word RECYCLE_SHOP_ITEM_LIST arm_func_end sub_02011FA0 arm_func_start sub_02012224 sub_02012224: ; 0x02012224 stmdb sp!, {r3, lr} bl sub_02012254 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02012250 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrsh r1, [r0, #0xb0] sub r1, r1, #1 strh r1, [r0, #0xb0] ldmia sp!, {r3, pc} .align 2, 0 _02012250: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02012224 arm_func_start sub_02012254 sub_02012254: ; 0x02012254 ldr r0, _02012278 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrsh r0, [r0, #0xb0] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02012278: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02012254 arm_func_start sub_0201227C sub_0201227C: ; 0x0201227C ldr r0, _02012290 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, #0x1300 ldrsh r0, [r0, #0xb0] bx lr .align 2, 0 _02012290: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201227C arm_func_start sub_02012294 sub_02012294: ; 0x02012294 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov fp, r0 mov r0, #8 mov r1, #6 bl MemAlloc mov r8, #0 mov r4, r0 mov r7, r8 mov r6, r8 bl sub_0200FD78 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 cmp r5, #0 ble _02012324 mov r0, r5, lsl #2 mov r1, #6 bl MemAlloc mov sb, r6 mov r8, r0 mov sl, sb b _0201231C _020122E8: mov r0, sb bl sub_02010044 mov r1, fp bl sub_02012630 cmp r0, #0 moveq r1, r6, lsl #2 addeq r0, r8, r6, lsl #2 streqh sb, [r8, r1] streqb sl, [r0, #2] add r0, sb, #1 mov r0, r0, lsl #0x10 addeq r6, r6, #1 mov sb, r0, asr #0x10 _0201231C: cmp sb, r5 blt _020122E8 _02012324: mov r5, #0 bl GetNbItemsInBag mov r0, r0, lsl #0x10 mov sb, r0, asr #0x10 cmp sb, #0 ble _0201239C mov r0, sb, lsl #2 mov r1, #6 bl MemAlloc mov r7, r0 mov sl, r5 b _02012394 _02012354: mov r0, sl bl GetItemAtIdx ldrsh r0, [r0, #4] mov r1, fp bl sub_02012630 cmp r0, #0 bne _02012388 mov r0, r5, lsl #2 add r1, r7, r5, lsl #2 strh sl, [r7, r0] mov r0, #0 strb r0, [r1, #2] add r5, r5, #1 _02012388: add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, asr #0x10 _02012394: cmp sl, sb blt _02012354 _0201239C: cmp r5, #0 beq _020123B4 mov r1, r6, lsr #0x1f rsb r0, r1, r6, lsl #29 adds r0, r1, r0, ror #29 bne _020123BC _020123B4: mov sb, #0 b _020123C0 _020123BC: rsb sb, r0, #8 _020123C0: add r0, r5, r6 adds r0, sb, r0 str r0, [r4, #4] moveq r0, #0 streq r0, [r4] beq _020124B0 mov r0, r0, lsl #3 mov r1, #6 bl MemAlloc str r0, [r4] mov sl, #0 mov r3, #1 b _02012418 _020123F4: str r3, [r0] mov r1, sl, lsl #2 ldrsh r2, [r8, r1] add r1, r8, sl, lsl #2 add sl, sl, #1 strh r2, [r0, #4] ldrb r1, [r1, #2] strb r1, [r0, #7] add r0, r0, #8 _02012418: cmp sl, r6 blt _020123F4 mov r6, #0 mov r3, #2 mvn r2, #0 mov r1, r6 b _02012448 _02012434: str r3, [r0] strh r2, [r0, #4] strb r1, [r0, #7] add r6, r6, #1 add r0, r0, #8 _02012448: cmp r6, sb blt _02012434 mov r6, #0 mov r3, r6 b _02012480 _0201245C: str r3, [r0] mov r1, r6, lsl #2 ldrsh r2, [r7, r1] add r1, r7, r6, lsl #2 add r6, r6, #1 strh r2, [r0, #4] ldrb r1, [r1, #2] strb r1, [r0, #7] add r0, r0, #8 _02012480: cmp r6, r5 blt _0201245C mov r3, #0 ldr r2, [r4] mov r1, r3 b _020124A4 _02012498: strb r1, [r2, #6] add r3, r3, #1 add r2, r2, #8 _020124A4: ldr r0, [r4, #4] cmp r3, r0 blt _02012498 _020124B0: cmp r7, #0 beq _020124C0 mov r0, r7 bl MemFree _020124C0: cmp r8, #0 beq _020124D0 mov r0, r8 bl MemFree _020124D0: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02012294 arm_func_start sub_020124D8 sub_020124D8: ; 0x020124D8 stmdb sp!, {r3, lr} ldr r1, [r0] cmp r1, #0 bne _020124F8 ldrsh r0, [r0, #4] bl GetItemAtIdx ldrsh r0, [r0, #4] ldmia sp!, {r3, pc} _020124F8: cmp r1, #1 movne r0, #0 ldmneia sp!, {r3, pc} ldrsh r0, [r0, #4] add r1, sp, #0 bl sub_0200FFAC ldrsh r0, [sp] ldmia sp!, {r3, pc} arm_func_end sub_020124D8 arm_func_start sub_02012518 sub_02012518: ; 0x02012518 stmdb sp!, {r3, lr} ldr r1, [r0] cmp r1, #0 bne _02012538 ldrsh r0, [r0, #4] bl GetItemAtIdx ldrh r0, [r0, #2] ldmia sp!, {r3, pc} _02012538: cmp r1, #1 ldrne r0, _02012558 ; =0x0000FFFF ldmneia sp!, {r3, pc} ldrsh r0, [r0, #4] add r1, sp, #0 bl sub_0200FFAC ldrh r0, [sp, #2] ldmia sp!, {r3, pc} .align 2, 0 _02012558: .word 0x0000FFFF arm_func_end sub_02012518 arm_func_start sub_0201255C sub_0201255C: ; 0x0201255C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #8 mov r1, #6 bl MemAlloc ldr r1, [r5, #4] mov r4, r0 mov r0, r1, lsl #3 mov r1, #6 bl MemAlloc str r0, [r4] mov ip, #0 b _020125B4 _02012590: ldr r1, [r5] ldr r3, [r4] add r0, r1, ip, lsl #3 ldr r2, [r1, ip, lsl #3] ldr r1, [r0, #4] add r0, r3, ip, lsl #3 str r2, [r3, ip, lsl #3] str r1, [r0, #4] add ip, ip, #1 _020125B4: ldr r1, [r5, #4] cmp ip, r1 blt _02012590 mov r0, r4 str r1, [r4, #4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0201255C arm_func_start sub_020125CC sub_020125CC: ; 0x020125CC stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r0] bl MemFree ldr r0, [r4] bl MemFree mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_020125CC arm_func_start sub_020125FC sub_020125FC: ; 0x020125FC stmdb sp!, {r4, lr} mov r4, r0 bl GetItemCategoryVeneer cmp r0, #0 beq _02012620 mov r0, r4 bl GetItemCategoryVeneer cmp r0, #1 bne _02012628 _02012620: mov r0, #1 ldmia sp!, {r4, pc} _02012628: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_020125FC arm_func_start sub_02012630 sub_02012630: ; 0x02012630 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 beq _02012650 bl IsTicketItem cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} _02012650: mov r0, r4 bl sub_020125FC ldmia sp!, {r4, pc} arm_func_end sub_02012630 arm_func_start sub_0201265C sub_0201265C: ; 0x0201265C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _020126C4 ; =BAG_ITEMS_PTR_MIRROR mov r4, #0 ldr r1, [r1] mov r5, r0 ldr r8, [r1, #0x384] mov sb, r4 mov r6, r4 mov r7, #1 _02012680: ldrb r0, [r8] tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _020126AC ldrsh r0, [r8, #4] mov r1, r5 bl sub_02012630 cmp r0, #0 addeq r4, r4, #1 _020126AC: add sb, sb, #1 cmp sb, #0x32 add r8, r8, #6 blt _02012680 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _020126C4: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_0201265C arm_func_start sub_020126C8 sub_020126C8: ; 0x020126C8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, #0 ldr r4, _02012718 ; =BAG_ITEMS_PTR_MIRROR mov r7, r0 mov r6, r5 _020126DC: ldr r0, [r4] add r0, r0, r6, lsl #1 add r0, r0, #0x300 ldrsh r0, [r0, #0x8a] cmp r0, #0 beq _02012704 mov r1, r7 bl sub_02012630 cmp r0, #0 addeq r5, r5, #1 _02012704: add r6, r6, #1 cmp r6, #0x3e8 blt _020126DC mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02012718: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020126C8 arm_func_start sub_0201271C sub_0201271C: ; 0x0201271C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 ldrsh r0, [sl, #0x14] ldr r6, [sl] mov r8, #0 str r0, [sp] b _02012854 _0201273C: add r5, r6, #0x14 mov r4, r8, lsl #2 ldrsh r1, [r5, r4] add r0, sp, #4 bl sub_0200CF78 add r1, r6, r8, lsl #2 add r0, sl, r8, lsl #1 ldrsh r7, [r1, #0x16] ldrsh fp, [r0, #0xc] mov sb, #0 b _02012780 _02012768: add r0, sp, #4 bl sub_0200FF50 bl sub_020101A0 cmp r0, #0 subne r7, r7, #1 add sb, sb, #1 _02012780: cmp sb, fp bge _02012790 cmp r7, #0 bgt _02012768 _02012790: cmp r7, #0 ble _020127CC add r0, sl, r8, lsl #1 ldrsh fp, [r0, #4] mov sb, #0 b _020127BC _020127A8: ldrsh r0, [sp, #4] bl GetFirstUnequippedItemOfType bl RemoveItem sub r7, r7, #1 add sb, sb, #1 _020127BC: cmp sb, fp bge _020127CC cmp r7, #0 bgt _020127A8 _020127CC: ldrsh r0, [r5, r4] ldr r1, _02012870 ; =0x00000578 cmp r0, r1 bne _02012834 ldrsh r0, [r6] bl IsTicketItem cmp r0, #0 beq _02012810 mov r0, #1 bl sub_0201265C add r1, sl, r8, lsl #1 strh r0, [r1, #4] mov r0, #1 bl sub_020126C8 add r1, sl, r8, lsl #1 strh r0, [r1, #0xc] b _02012850 _02012810: mov r0, #0 bl sub_0201265C add r1, sl, r8, lsl #1 strh r0, [r1, #4] mov r0, #0 bl sub_020126C8 add r1, sl, r8, lsl #1 strh r0, [r1, #0xc] b _02012850 _02012834: bl CountNbItemsOfTypeInBag add r1, sl, r8, lsl #1 strh r0, [r1, #4] ldrsh r0, [r5, r4] bl CountNbItemsOfTypeInStorage add r1, sl, r8, lsl #1 strh r0, [r1, #0xc] _02012850: add r8, r8, #1 _02012854: ldr r0, [sp] cmp r8, r0 blt _0201273C bl RemoveEmptyItemsInBag bl sub_0201007C add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02012870: .word 0x00000578 arm_func_end sub_0201271C arm_func_start sub_02012874 sub_02012874: ; 0x02012874 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, #0 b _020128C4 _02012884: ldr r0, [r5] add r1, r0, r4, lsl #3 ldrb r0, [r1, #6] cmp r0, #0 beq _020128C0 ldr r0, [r1] cmp r0, #0 bne _020128B0 ldrsh r0, [r1, #4] bl RemoveItem b _020128C0 _020128B0: cmp r0, #1 bne _020128C0 ldrsh r0, [r1, #4] bl sub_020101A0 _020128C0: add r4, r4, #1 _020128C4: ldr r0, [r5, #4] cmp r4, r0 blt _02012884 bl RemoveEmptyItemsInBag bl sub_0201007C ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02012874 arm_func_start sub_020128DC sub_020128DC: ; 0x020128DC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r7, #0 mov fp, #0x24 ldr r5, _02012950 ; =RECYCLE_SHOP_ITEM_LIST mov sl, r0 mov sb, r1 mov r8, r2 mov r6, r7 mov r4, fp _02012900: cmp sl, #3 beq _02012920 mla r0, r6, r4, r5 ldr r1, [r0, #4] mov r0, sl bl sub_02012954 cmp r0, #0 beq _0201293C _02012920: mla r1, r6, fp, r5 ldrb r0, [r1, #8] cmp r0, sb bhi _0201293C ldr r0, [r1, #0xc] cmp r0, r8 addle r7, r7, #1 _0201293C: add r6, r6, #1 cmp r6, #0x18 blt _02012900 mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02012950: .word RECYCLE_SHOP_ITEM_LIST arm_func_end sub_020128DC arm_func_start sub_02012954 sub_02012954: ; 0x02012954 cmp r0, r1 beq _0201296C cmp r0, #0 bne _02012974 cmp r1, #2 beq _02012974 _0201296C: mov r0, #1 bx lr _02012974: mov r0, #0 bx lr arm_func_end sub_02012954 arm_func_start sub_0201297C sub_0201297C: ; 0x0201297C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, #0x24 smulbb r4, r1, r4 ldr r1, _02012AA4 ; =_020988D0 mov sl, r0 ldr r1, [r1, r4] mov r0, r2 mov r5, r3 bl sub_02012954 cmp r0, #0 beq _02012A9C ldr r0, _02012AA8 ; =_020988D4 ldrb r0, [r0, r4] cmp r0, r5 bhi _02012A9C ldr r1, _02012AAC ; =_020988D8 ldr r0, [sp, #0x28] ldr r1, [r1, r4] cmp r1, r0 bgt _02012A9C ldr r0, _02012AB0 ; =RECYCLE_SHOP_ITEM_LIST mov sb, #0 add r0, r0, r4 mov r6, #1 str r0, [sl] mov fp, sb mov r5, r6 ldr r4, _02012AB4 ; =0x00000578 b _02012A88 _020129F0: ldr r1, [sl] mov r7, sb, lsl #2 add r8, r1, #0x14 ldrsh r0, [r8, r7] cmp r0, #0 beq _02012A90 cmp r0, r4 bne _02012A68 ldrsh r0, [r1] bl IsTicketItem cmp r0, #0 beq _02012A44 mov r0, r6 bl sub_0201265C add r1, sl, sb, lsl #1 strh r0, [r1, #4] mov r0, r5 bl sub_020126C8 add r1, sl, sb, lsl #1 strh r0, [r1, #0xc] b _02012A84 _02012A44: mov r0, fp bl sub_0201265C add r1, sl, sb, lsl #1 strh r0, [r1, #4] mov r0, #0 bl sub_020126C8 add r1, sl, sb, lsl #1 strh r0, [r1, #0xc] b _02012A84 _02012A68: bl CountNbItemsOfTypeInBag add r1, sl, sb, lsl #1 strh r0, [r1, #4] ldrsh r0, [r8, r7] bl CountNbItemsOfTypeInStorage add r1, sl, sb, lsl #1 strh r0, [r1, #0xc] _02012A84: add sb, sb, #1 _02012A88: cmp sb, #4 blt _020129F0 _02012A90: strh sb, [sl, #0x14] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02012A9C: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02012AA4: .word _020988D0 _02012AA8: .word _020988D4 _02012AAC: .word _020988D8 _02012AB0: .word RECYCLE_SHOP_ITEM_LIST _02012AB4: .word 0x00000578 arm_func_end sub_0201297C arm_func_start sub_02012AB8 sub_02012AB8: ; 0x02012AB8 mov r3, #0 ldr r0, _02012ADC ; =_022A4BD8 mov r2, r3 _02012AC4: mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #8 blt _02012AC4 bx lr .align 2, 0 _02012ADC: .word _022A4BD8 arm_func_end sub_02012AB8 arm_func_start LoadSynthBin LoadSynthBin: ; 0x02012AE0 stmdb sp!, {r3, lr} ldr r0, _02012B28 ; =_020AF6D0 ldr r0, [r0, #4] cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02012B2C ; =_020AF6D4 ldr r1, _02012B30 ; =_02098CB4 mov r2, #0xe bl LoadFileFromRom ldr r1, _02012B28 ; =_020AF6D0 mov r0, #1 ldr r2, [r1, #4] str r2, [r1] ldmia sp!, {r3, pc} .align 2, 0 _02012B28: .word _020AF6D0 _02012B2C: .word _020AF6D4 _02012B30: .word _02098CB4 arm_func_end LoadSynthBin arm_func_start CloseSynthBin CloseSynthBin: ; 0x02012B34 stmdb sp!, {r3, lr} ldr r0, _02012B74 ; =_020AF6D0 ldr r0, [r0, #4] cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff ldmeqia sp!, {r3, pc} ldr r0, _02012B78 ; =_020AF6D4 bl UnloadFile ldr r0, _02012B74 ; =_020AF6D0 mov r1, #0 str r1, [r0, #4] str r1, [r0, #8] str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02012B74: .word _020AF6D0 _02012B78: .word _020AF6D4 arm_func_end CloseSynthBin arm_func_start sub_02012B7C sub_02012B7C: ; 0x02012B7C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x160 bl GetScenarioBalance ldr r1, _02013098 ; =_020AF6D0 str r0, [sp, #8] ldr r0, [r1, #4] cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r7, #0 bne _02012BB4 mov r7, #1 bl LoadSynthBin _02012BB4: ldr r0, _0201309C ; =0x000045E0 mov r1, #0xf bl MemAlloc mov r1, #0 mov r4, r0 mov r5, r1 add r0, sp, #0x2c _02012BD0: strb r5, [r0, r1] add r1, r1, #1 cmp r1, #0x12 blt _02012BD0 ldr r0, _020130A0 ; =_02098CCC mov r6, r5 bl DebugPrint0 add r0, sp, #0x24 bl GetPartyMembers str r0, [sp, #0xc] mov r0, #0 mov r1, #3 bl RandRange mov r8, #0 mov fp, r0 mov sl, r8 b _02012C78 _02012C14: mov r1, sl, lsl #1 add r0, sp, #0x24 ldrsh r0, [r0, r1] bl GetTeamMember ldrsh r0, [r0, #4] mov sb, #0 bl FemaleToMaleForm bl GetBaseFormCastformDeoxysCherrim mov r3, sb b _02012C58 _02012C3C: mov r2, r3, lsl #1 add r1, sp, #0x1c ldrsh r1, [r1, r2] cmp r0, r1 moveq sb, #1 beq _02012C60 add r3, r3, #1 _02012C58: cmp r3, r8 blt _02012C3C _02012C60: cmp sb, #0 moveq r2, r8, lsl #1 addeq r1, sp, #0x1c streqh r0, [r1, r2] addeq r8, r8, #1 add sl, sl, #1 _02012C78: ldr r0, [sp, #0xc] cmp sl, r0 blt _02012C14 ldr r0, _020130A4 ; =_02098D24 mov r2, #0 mov r1, fp mov r3, r8 mov sb, r8 str r2, [sp] bl DebugPrint0 add r0, r4, #0x12c add r0, r0, #0x800 str r0, [sp, #0x14] mvn r0, #0 str r0, [sp, #0x18] b _02012D28 _02012CB8: mov r0, r8 bl RandInt str r0, [sp, #4] mov r1, r0, lsl #1 add r0, sp, #0x1c ldrsh sl, [r0, r1] cmp sl, #0 blt _02012D28 ldr r1, [sp, #0x14] mov r2, #0x1c mla r1, r6, r2, r1 mov r0, sl add r2, sp, #0x2c bl sub_020132A4 cmp r0, #0 addne r0, r4, r5, lsl #1 addne r0, r0, #0x900 strneh sl, [r0, #6] ldr r0, [sp, #4] ldr r1, [sp, #0x18] mov r2, r0, lsl #1 add r0, sp, #0x1c sub sb, sb, #1 addne r6, r6, #1 addne r5, r5, #1 strh r1, [r0, r2] cmp sb, #0 ble _02012D38 _02012D28: cmp r5, fp bge _02012D38 cmp r8, r5 bgt _02012CB8 _02012D38: ldr fp, _020130A8 ; =0x00000229 str r5, [sp, #0x10] mov sl, #0 mov sb, #1 _02012D48: mov r0, sb, lsl #0x10 mov r0, r0, asr #0x10 bl FemaleToMaleForm bl GetBaseFormCastformDeoxysCherrim mov r8, r0 bl IsMonsterValid cmp r0, #0 beq _02012D80 mov r0, r8 bl HasMonsterBeenAttackedInDungeons cmp r0, #0 movne r0, sl, lsl #1 strneh r8, [r4, r0] addne sl, sl, #1 _02012D80: add sb, sb, #1 cmp sb, fp ble _02012D48 b _02012E34 _02012D90: mov r0, sl mov fp, #0 bl RandInt mov r8, r0 mov r0, r8, lsl #1 ldrsh sb, [r4, r0] mov r1, fp b _02012DCC _02012DB0: add r0, r4, r1, lsl #1 add r0, r0, #0x900 ldrsh r0, [r0, #6] cmp sb, r0 moveq fp, #1 beq _02012DD4 add r1, r1, #1 _02012DCC: cmp r1, r5 blt _02012DB0 _02012DD4: cmp fp, #0 bne _02012E10 add r0, r4, #0x12c add r1, r0, #0x800 mov r0, #0x1c mla r1, r6, r0, r1 add r2, sp, #0x2c mov r0, sb bl sub_020132A4 cmp r0, #0 addne r0, r4, r5, lsl #1 addne r0, r0, #0x900 strneh sb, [r0, #6] addne r6, r6, #1 addne r5, r5, #1 _02012E10: sub sl, sl, #1 b _02012E2C _02012E18: add r0, r4, r8, lsl #1 ldrsh r0, [r0, #2] mov r1, r8, lsl #1 add r8, r8, #1 strh r0, [r4, r1] _02012E2C: cmp r8, sl blt _02012E18 _02012E34: cmp r5, #0x10 ldrlt r0, [sp, #0x10] sublt r0, r5, r0 cmplt r0, sl blt _02012D90 mov r8, #0 mov sb, r8 _02012E50: add r0, sp, #0x2c ldrb r0, [r0, sb] cmp r0, #0 beq _02012EB0 ldr r0, _020130AC ; =TYPE_SPECIFIC_EXCLUSIVE_ITEMS and r5, sb, #0xff mov sl, #0 add fp, r0, r5, lsl #3 _02012E70: cmp r5, #0x12 movhs r0, #0 addlo r0, fp, sl, lsl #1 ldrlosh r0, [r0, #-8] bl GetSynthItem cmp r0, #0 beq _02012EA4 ldrh r2, [r0, #6] ldr r1, [sp, #8] cmp r2, r1 addle r1, sp, #0x40 strle r0, [r1, r8, lsl #2] addle r8, r8, #1 _02012EA4: add sl, sl, #1 cmp sl, #4 blt _02012E70 _02012EB0: add sb, sb, #1 cmp sb, #0x12 blt _02012E50 cmp r8, #0 ble _02012F00 mov r0, #0x1c mul r5, r6, r0 add r0, r4, #0x12c add sb, r0, #0x800 mov r0, r8 add r8, sb, r5 bl RandInt add r2, sp, #0x40 ldr r0, [r2, r0, lsl #2] mov r1, #1 str r0, [r8, #8] str r1, [sb, r5] ldrh r0, [r0, #2] add r6, r6, #1 str r0, [r8, #4] _02012F00: cmp r6, #0 bne _02012F40 mov r0, r4 bl MemFree cmp r7, #0 beq _02012F1C bl CloseSynthBin _02012F1C: mov r3, #0 ldr r1, _020130B0 ; =_022A4BD8 mov r0, r3 _02012F28: mov r2, r3, lsl #1 add r3, r3, #1 strh r0, [r1, r2] cmp r3, #8 blt _02012F28 b _02013090 _02012F40: mov r0, #4 mov r1, #9 bl RandRange mov fp, r0 mov sb, #0 b _02013050 _02012F58: mov r0, #0 mov r3, r0 mov r1, #0x1c b _02012F78 _02012F68: mla r2, r3, r1, r4 ldr r2, [r2, #0x930] add r3, r3, #1 add r0, r0, r2 _02012F78: cmp r3, r6 blt _02012F68 cmp r0, #0 beq _02013058 bl RandInt mov r1, #0 add r2, r4, #0x12c add r8, r2, #0x800 mov sl, r1 mov r2, #0x1c b _02013048 _02012FA4: mla r5, sl, r2, r8 ldr r3, [r5, #4] cmp r0, r3 bhs _02013044 ldr r8, [r5] mov sl, #0 b _02013030 _02012FC0: add r2, r5, sl, lsl #2 ldr r3, [r2, #8] ldrh r2, [r3, #2] add r1, r1, r2 cmp r0, r1 bge _0201302C ldrsh r8, [r3] mov sl, #0 ldr r1, _020130B0 ; =_022A4BD8 b _0201300C _02012FE8: mov r0, sl, lsl #1 ldrsh r0, [r1, r0] cmp r8, r0 bne _02013008 ldr r0, _020130B4 ; =_02098D48 mov r1, r8 bl DebugPrint0 b _02013014 _02013008: add sl, sl, #1 _0201300C: cmp sl, sb blt _02012FE8 _02013014: cmp sl, sb movge r1, sb, lsl #1 ldrge r0, _020130B0 ; =_022A4BD8 addge sb, sb, #1 strgeh r8, [r0, r1] b _02013038 _0201302C: add sl, sl, #1 _02013030: cmp sl, r8 blt _02012FC0 _02013038: mov r0, #0 str r0, [r5, #4] b _02013050 _02013044: add sl, sl, #1 _02013048: cmp sl, r6 blt _02012FA4 _02013050: cmp sb, fp blt _02012F58 _02013058: mov r2, #0 ldr r0, _020130B0 ; =_022A4BD8 b _02013070 _02013064: mov r1, sb, lsl #1 strh r2, [r0, r1] add sb, sb, #1 _02013070: cmp sb, #8 blt _02013064 mov r0, r4 bl MemFree cmp r7, #0 beq _0201308C bl CloseSynthBin _0201308C: mov r0, #1 _02013090: add sp, sp, #0x160 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02013098: .word _020AF6D0 _0201309C: .word 0x000045E0 _020130A0: .word _02098CCC _020130A4: .word _02098D24 _020130A8: .word 0x00000229 _020130AC: .word TYPE_SPECIFIC_EXCLUSIVE_ITEMS _020130B0: .word _022A4BD8 _020130B4: .word _02098D48 arm_func_end sub_02012B7C arm_func_start sub_020130B8 sub_020130B8: ; 0x020130B8 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02013148 ; =_020AF6D0 mov r7, r0 ldr r0, [r1, #4] ldr r4, _0201314C ; =_022A4BD8 cmp r0, #0 mov r5, #0 movne r0, #1 moveq r0, r5 tst r0, #0xff moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r6, #0 _020130EC: mov r1, r6, lsl #1 ldrsh r0, [r4, r1] cmp r0, #0 beq _02013130 ldrsh r0, [r4, r1] bl GetSynthItem cmp r0, #0 beq _02013130 cmp r7, #0 beq _0201312C add r3, r7, r5, lsl #3 mov r2, #4 _0201311C: ldrh r1, [r0], #2 subs r2, r2, #1 strh r1, [r3], #2 bne _0201311C _0201312C: add r5, r5, #1 _02013130: add r6, r6, #1 cmp r6, #8 blt _020130EC mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02013148: .word _020AF6D0 _0201314C: .word _022A4BD8 arm_func_end sub_020130B8 arm_func_start sub_02013150 sub_02013150: ; 0x02013150 ldr r3, _0201318C ; =_022A4BD8 mov ip, #0 b _0201317C _0201315C: mov r2, ip, lsl #1 ldrsh r1, [r3, r2] cmp r0, r1 moveq r0, #0 streqh r0, [r3, r2] moveq r0, #1 bxeq lr add ip, ip, #1 _0201317C: cmp ip, #8 blt _0201315C mov r0, #0 bx lr .align 2, 0 _0201318C: .word _022A4BD8 arm_func_end sub_02013150 arm_func_start sub_02013190 sub_02013190: ; 0x02013190 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 ldr r5, _020131EC ; =_022A4BD8 mov r7, #0 add r6, sp, #0 mov r4, #0xb _020131BC: mov r0, r6 mov r2, r4 add r1, r5, r7, lsl #1 bl CopyBitsFrom add r7, r7, #1 cmp r7, #8 blt _020131BC add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020131EC: .word _022A4BD8 arm_func_end sub_02013190 arm_func_start sub_020131F0 sub_020131F0: ; 0x020131F0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 ldr r5, _0201324C ; =_022A4BD8 mov r7, #0 add r6, sp, #0 mov r4, #0xb _0201321C: mov r0, r6 mov r2, r4 add r1, r5, r7, lsl #1 bl CopyBitsTo add r7, r7, #1 cmp r7, #8 blt _0201321C add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0201324C: .word _022A4BD8 arm_func_end sub_020131F0 arm_func_start GetSynthItem GetSynthItem: ; 0x02013250 ldr r1, _020132A0 ; =_020AF6D0 ldr r1, [r1, #4] cmp r1, #0 movne r1, #1 moveq r1, #0 tst r1, #0xff moveq r0, #0 bxeq lr ldr r1, _020132A0 ; =_020AF6D0 ldr r1, [r1] b _0201328C _0201327C: cmp r2, r0 moveq r0, r1 bxeq lr add r1, r1, #8 _0201328C: ldrsh r2, [r1] cmp r2, #0 bne _0201327C mov r0, #0 bx lr .align 2, 0 _020132A0: .word _020AF6D0 arm_func_end GetSynthItem arm_func_start sub_020132A4 sub_020132A4: ; 0x020132A4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, r0 mov sb, r1 mov r8, r2 bl GetScenarioBalance mov r5, #0 str r5, [sb] mov r7, r0 mov r6, r5 str r5, [sb, #4] mov r4, #1 _020132D0: mov r1, r6, lsl #0x10 mov r0, sl mov r1, r1, asr #0x10 bl GetExclusiveItem cmp r0, #0 beq _0201332C bl GetSynthItem cmp r0, #0 beq _0201332C ldrh r1, [r0, #6] cmp r1, r7 bgt _0201332C ldr r1, [sb] mov r5, r4 add r1, sb, r1, lsl #2 str r0, [r1, #8] ldrh r0, [r0, #2] ldr r1, [sb, #4] add r0, r1, r0 str r0, [sb, #4] ldr r0, [sb] add r0, r0, #1 str r0, [sb] _0201332C: add r6, r6, #1 cmp r6, #4 blt _020132D0 mov r0, sl bl sub_0200EB90 cmp r0, #0 beq _0201338C bl GetSynthItem cmp r0, #0 beq _0201338C ldrh r1, [r0, #6] cmp r1, r7 bgt _0201338C ldr r1, [sb] mov r5, #1 add r1, sb, r1, lsl #2 str r0, [r1, #8] ldrh r0, [r0, #2] ldr r1, [sb, #4] add r0, r1, r0 str r0, [sb, #4] ldr r0, [sb] add r0, r0, #1 str r0, [sb] _0201338C: mov r0, sl mov r1, #0 bl GetType cmp r0, #0 movne r1, #1 strneb r1, [r8, r0] mov r0, sl mov r1, #1 bl GetType cmp r0, #0 movne r1, #1 strneb r1, [r8, r0] mov r0, r5 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_020132A4 arm_func_start LoadWazaP LoadWazaP: ; 0x020133C4 stmdb sp!, {r3, lr} ldr r1, _020133E8 ; =DUNGEON_MOVE_TABLES mov r0, #0 str r0, [r1, #4] bl OpenWaza ldr r0, _020133E8 ; =DUNGEON_MOVE_TABLES ldr r0, [r0, #4] bl SelectWaza ldmia sp!, {r3, pc} .align 2, 0 _020133E8: .word DUNGEON_MOVE_TABLES arm_func_end LoadWazaP arm_func_start LoadWazaP2 LoadWazaP2: ; 0x020133EC stmdb sp!, {r3, lr} ldr r1, _02013410 ; =DUNGEON_MOVE_TABLES mov r0, #1 str r0, [r1, #4] bl OpenWaza ldr r0, _02013410 ; =DUNGEON_MOVE_TABLES ldr r0, [r0, #4] bl SelectWaza ldmia sp!, {r3, pc} .align 2, 0 _02013410: .word DUNGEON_MOVE_TABLES arm_func_end LoadWazaP2 arm_func_start UnloadCurrentWazaP UnloadCurrentWazaP: ; 0x02013414 stmdb sp!, {r4, lr} ldr r0, _0201344C ; =DUNGEON_MOVE_TABLES ldr r1, _02013450 ; =_020AF700 ldr r0, [r0, #4] add r4, r1, r0, lsl #3 mov r0, r4 bl UnloadFile mov r0, r4 bl ZInit8 ldr r1, _0201344C ; =DUNGEON_MOVE_TABLES mov r0, #0 str r0, [r1, #4] bl SelectWaza ldmia sp!, {r4, pc} .align 2, 0 _0201344C: .word DUNGEON_MOVE_TABLES _02013450: .word _020AF700 arm_func_end UnloadCurrentWazaP arm_func_start GetMoveName GetMoveName: ; 0x02013454 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 ldr ip, _02013474 ; =StringFromMessageId mov r0, r0, lsr #0x10 bx ip .align 2, 0 _02013474: .word StringFromMessageId arm_func_end GetMoveName arm_func_start FormatMoveString FormatMoveString: ; 0x02013478 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c mov r6, r1 ldrb r1, [r6] mov r7, r0 mov r5, r2 tst r1, #0x20 bne _020134A4 ldrh r0, [r6, #2] tst r0, #1 beq _020134AC _020134A4: mov r0, #0x57 b _020134B0 _020134AC: mov r0, #0x4d _020134B0: ldrb r3, [r6, #7] cmp r5, #0 ldreq r5, _02013738 ; =_02098D68 and r4, r0, #0xff cmp r3, #0 moveq r0, #0 streqb r0, [sp, #0x10] beq _020134E0 ldr r1, _0201373C ; =_02098DE4 add r0, sp, #0x10 mov r2, #0x56 bl SprintfStatic__02013758 _020134E0: ldrb r0, [r5, #8] cmp r0, #0 movne r4, #0x57 bne _0201350C ldrb r0, [r5, #9] cmp r0, #0 beq _0201350C ldrh r0, [r6, #4] bl Is2TurnsMove cmp r0, #0 movne r4, #0x57 _0201350C: ldr r0, [r5] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02013730 _0201351C: ; jump table b _02013534 ; case 0 b _02013564 ; case 1 b _020135C8 ; case 2 b _0201362C ; case 3 b _02013690 ; case 4 b _020136F4 ; case 5 _02013534: ldrh r0, [r6, #4] add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r2, r0 ldr r1, _02013740 ; =_02098DF4 add r3, sp, #0x10 mov r0, r7 bl SprintfStatic__02013758 b _02013730 _02013564: ldrh r0, [r6, #4] add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldrb r1, [r6] mov r5, r0 mov r0, r6 tst r1, #8 ldrne r8, _02013744 ; =_02098E04 ldreq r8, _02013748 ; =_02098E0C bl GetMaxPp add r1, sp, #0x10 str r5, [sp] str r1, [sp, #4] ldrb r3, [r6, #6] ldr r1, _0201374C ; =_02098E14 mov r2, r4 str r3, [sp, #8] str r0, [sp, #0xc] mov r0, r7 mov r3, r8 bl SprintfStatic__02013758 b _02013730 _020135C8: ldrh r0, [r6, #4] add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldrb r1, [r6] mov r5, r0 mov r0, r6 tst r1, #8 ldrne r8, _02013744 ; =_02098E04 ldreq r8, _02013748 ; =_02098E0C bl GetMaxPp add r1, sp, #0x10 str r5, [sp] str r1, [sp, #4] ldrb r3, [r6, #6] ldr r1, _0201374C ; =_02098E14 mov r2, r4 str r3, [sp, #8] str r0, [sp, #0xc] mov r0, r7 mov r3, r8 bl SprintfStatic__02013758 b _02013730 _0201362C: ldrh r0, [r6, #4] add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldrb r1, [r6] mov r5, r0 mov r0, r6 tst r1, #4 ldrne r8, _02013744 ; =_02098E04 ldreq r8, _02013748 ; =_02098E0C bl GetMaxPp add r1, sp, #0x10 str r5, [sp] str r1, [sp, #4] ldrb r3, [r6, #6] ldr r1, _02013750 ; =_02098E58 mov r2, r4 str r3, [sp, #8] str r0, [sp, #0xc] mov r0, r7 mov r3, r8 bl SprintfStatic__02013758 b _02013730 _02013690: ldrh r0, [r6, #4] add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldrb r1, [r6] mov r5, r0 mov r0, r6 tst r1, #4 ldrne r8, _02013744 ; =_02098E04 ldreq r8, _02013748 ; =_02098E0C bl GetMaxPp add r1, sp, #0x10 str r5, [sp] str r1, [sp, #4] ldrb r3, [r6, #6] ldr r1, _0201374C ; =_02098E14 mov r2, r4 str r3, [sp, #8] str r0, [sp, #0xc] mov r0, r7 mov r3, r8 bl SprintfStatic__02013758 b _02013730 _020136F4: ldrh r0, [r6, #4] add r0, r0, #0xee add r0, r0, #0x1f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r4, r0 mov r0, r6 bl GetMaxPp str r0, [sp] ldrb r3, [r6, #6] ldr r1, _02013754 ; =_02098E9C mov r0, r7 mov r2, r4 bl SprintfStatic__02013758 _02013730: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02013738: .word _02098D68 _0201373C: .word _02098DE4 _02013740: .word _02098DF4 _02013744: .word _02098E04 _02013748: .word _02098E0C _0201374C: .word _02098E14 _02013750: .word _02098E58 _02013754: .word _02098E9C arm_func_end FormatMoveString arm_func_start SprintfStatic__02013758 SprintfStatic__02013758: ; 0x02013758 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02013758 arm_func_start FormatMoveStringMore FormatMoveStringMore: ; 0x02013780 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r7, r0 mov r5, r2 mov r4, r3 mov r0, r6 bl GetDungeonResultString mov r1, r5 mov r2, r4 orr ip, r6, #0x10000 add r3, r7, r6, lsl #2 str ip, [r3, #0x10] bl FormatMoveString ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end FormatMoveStringMore arm_func_start InitMove InitMove: ; 0x020137B8 stmdb sp!, {r4, lr} mov r4, r0 mov r2, #5 strb r2, [r4] mov r2, #0 strh r2, [r4, #2] strh r1, [r4, #4] bl GetMaxPp strb r0, [r4, #6] mov r0, #0 strb r0, [r4, #7] ldmia sp!, {r4, pc} arm_func_end InitMove arm_func_start InitMoveCheckId InitMoveCheckId: ; 0x020137E8 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 moveq r0, #0 streqb r0, [r4] ldmeqia sp!, {r4, pc} mov r2, #5 strb r2, [r4] mov r2, #0 strh r2, [r4, #2] strh r1, [r4, #4] bl GetMaxPp strb r0, [r4, #6] mov r0, #0 strb r0, [r4, #7] ldmia sp!, {r4, pc} arm_func_end InitMoveCheckId arm_func_start GetInfoMoveGround GetInfoMoveGround: ; 0x02013828 mov r2, #5 strb r2, [r0] strh r1, [r0, #2] mov r1, #0 strb r1, [r0, #4] bx lr arm_func_end GetInfoMoveGround arm_func_start GetMoveTargetAndRange GetMoveTargetAndRange: ; 0x02013840 ldr r2, _02013860 ; =DUNGEON_MOVE_TABLES ldrh r3, [r0, #4] ldr r2, [r2, #8] mov r0, #0x1a mla r0, r3, r0, r2 add r0, r0, r1, lsl #1 ldrsh r0, [r0, #4] bx lr .align 2, 0 _02013860: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveTargetAndRange arm_func_start GetMoveType GetMoveType: ; 0x02013864 ldr r1, _02013880 ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #2] bx lr .align 2, 0 _02013880: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveType arm_func_start GetMovesetLevelUpPtr GetMovesetLevelUpPtr: ; 0x02013884 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0x258 subge r0, r4, #0x258 movge r0, r0, lsl #0x10 movge r4, r0, asr #0x10 mov r0, r4 bl IsInvalidMoveset cmp r0, #0 ldrne r0, _020138C4 ; =_02098D64 ldreq r1, _020138C8 ; =DUNGEON_MOVE_TABLES moveq r0, #0xc smulbbeq r0, r4, r0 ldreq r1, [r1] ldreq r0, [r1, r0] ldmia sp!, {r4, pc} .align 2, 0 _020138C4: .word _02098D64 _020138C8: .word DUNGEON_MOVE_TABLES arm_func_end GetMovesetLevelUpPtr arm_func_start IsInvalidMoveset IsInvalidMoveset: ; 0x020138CC cmp r0, #0 ble _020138E0 ldr r1, _020138F0 ; =0x00000229 cmp r0, r1 blt _020138E8 _020138E0: mov r0, #1 bx lr _020138E8: mov r0, #0 bx lr .align 2, 0 _020138F0: .word 0x00000229 arm_func_end IsInvalidMoveset arm_func_start GetMovesetHmTmPtr GetMovesetHmTmPtr: ; 0x020138F4 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0x258 subge r0, r4, #0x258 movge r0, r0, lsl #0x10 movge r4, r0, asr #0x10 mov r0, r4 bl IsInvalidMoveset cmp r0, #0 ldrne r0, _02013938 ; =_02098D64 ldmneia sp!, {r4, pc} ldr r1, _0201393C ; =DUNGEON_MOVE_TABLES mov r0, #0xc ldr r1, [r1] smlabb r0, r4, r0, r1 ldr r0, [r0, #4] ldmia sp!, {r4, pc} .align 2, 0 _02013938: .word _02098D64 _0201393C: .word DUNGEON_MOVE_TABLES arm_func_end GetMovesetHmTmPtr arm_func_start GetMovesetEggPtr GetMovesetEggPtr: ; 0x02013940 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0x258 subge r0, r4, #0x258 movge r0, r0, lsl #0x10 movge r4, r0, asr #0x10 mov r0, r4 bl IsInvalidMoveset cmp r0, #0 ldrne r0, _02013984 ; =_02098D64 ldmneia sp!, {r4, pc} ldr r1, _02013988 ; =DUNGEON_MOVE_TABLES mov r0, #0xc ldr r1, [r1] smlabb r0, r4, r0, r1 ldr r0, [r0, #8] ldmia sp!, {r4, pc} .align 2, 0 _02013984: .word _02098D64 _02013988: .word DUNGEON_MOVE_TABLES arm_func_end GetMovesetEggPtr arm_func_start GetMoveAiWeight GetMoveAiWeight: ; 0x0201398C ldr r1, _020139A8 ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #9] bx lr .align 2, 0 _020139A8: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveAiWeight arm_func_start GetMoveNbStrikes GetMoveNbStrikes: ; 0x020139AC ldr r1, _020139C8 ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0xd] bx lr .align 2, 0 _020139C8: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveNbStrikes arm_func_start GetMoveBasePower GetMoveBasePower: ; 0x020139CC ldrh r2, [r0, #4] mov r0, #0x1a ldr r1, _020139E8 ; =DUNGEON_MOVE_TABLES mul r0, r2, r0 ldr r1, [r1, #8] ldrsh r0, [r1, r0] bx lr .align 2, 0 _020139E8: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveBasePower arm_func_start GetMoveBasePowerGround GetMoveBasePowerGround: ; 0x020139EC ldrh r2, [r0, #2] mov r0, #0x1a ldr r1, _02013A08 ; =DUNGEON_MOVE_TABLES mul r0, r2, r0 ldr r1, [r1, #8] ldrsh r0, [r1, r0] bx lr .align 2, 0 _02013A08: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveBasePowerGround arm_func_start GetMoveAccuracyOrAiChance GetMoveAccuracyOrAiChance: ; 0x02013A0C ldr r2, _02013A2C ; =DUNGEON_MOVE_TABLES ldrh r3, [r0, #4] ldr r2, [r2, #8] mov r0, #0x1a mla r0, r3, r0, r2 add r0, r0, r1 ldrb r0, [r0, #0xa] bx lr .align 2, 0 _02013A2C: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveAccuracyOrAiChance arm_func_start GetMoveBasePp GetMoveBasePp: ; 0x02013A30 ldr r1, _02013A4C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #8] bx lr .align 2, 0 _02013A4C: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveBasePp arm_func_start GetMaxPp GetMaxPp: ; 0x02013A50 ldr r1, _02013AC0 ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r3, [r1, #8] mov r1, #0x1a mla r1, r2, r1, r3 ldrh r2, [r0, #2] ldrb r0, [r1, #8] tst r2, #0x100 ldrne r1, _02013AC4 ; =_020A18A0 ldrnesh r1, [r1] addne r0, r0, r1 movne r0, r0, lsl #0x10 movne r0, r0, asr #0x10 tst r2, #0x200 ldrne r1, _02013AC8 ; =_020A18C8 ldrnesh r1, [r1] addne r0, r0, r1 movne r0, r0, lsl #0x10 movne r0, r0, asr #0x10 tst r2, #0x400 ldrne r1, _02013ACC ; =_020A1874 ldrnesh r1, [r1] addne r0, r0, r1 movne r0, r0, lsl #0x10 movne r0, r0, asr #0x10 cmp r0, #0x63 movgt r0, #0x63 bx lr .align 2, 0 _02013AC0: .word DUNGEON_MOVE_TABLES _02013AC4: .word _020A18A0 _02013AC8: .word _020A18C8 _02013ACC: .word _020A1874 arm_func_end GetMaxPp arm_func_start GetMoveMaxGinsengBoost GetMoveMaxGinsengBoost: ; 0x02013AD0 ldr r1, _02013AEC ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0xe] bx lr .align 2, 0 _02013AEC: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveMaxGinsengBoost arm_func_start GetMoveMaxGinsengBoostGround GetMoveMaxGinsengBoostGround: ; 0x02013AF0 ldr r1, _02013B0C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #2] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0xe] bx lr .align 2, 0 _02013B0C: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveMaxGinsengBoostGround arm_func_start GetMoveCritChance GetMoveCritChance: ; 0x02013B10 ldr r1, _02013B2C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0xf] bx lr .align 2, 0 _02013B2C: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveCritChance arm_func_start IsThawingMove IsThawingMove: ; 0x02013B30 ldr r1, _02013B4C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0x13] bx lr .align 2, 0 _02013B4C: .word DUNGEON_MOVE_TABLES arm_func_end IsThawingMove arm_func_start IsAffectedByTaunt IsAffectedByTaunt: ; 0x02013B50 ldr r1, _02013B6C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0x14] bx lr .align 2, 0 _02013B6C: .word DUNGEON_MOVE_TABLES arm_func_end IsAffectedByTaunt arm_func_start GetMoveRangeId GetMoveRangeId: ; 0x02013B70 ldr r1, _02013B8C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0x15] bx lr .align 2, 0 _02013B8C: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveRangeId arm_func_start GetMoveActualAccuracy GetMoveActualAccuracy: ; 0x02013B90 stmdb sp!, {r3, lr} ldr r2, _02013BE4 ; =DUNGEON_MOVE_TABLES mov r1, #0x1a ldr r2, [r2, #8] mla r1, r0, r1, r2 ldrb r0, [r1, #0xe] cmp r0, #0 ldreqb r0, [r1, #0xa] ldmeqia sp!, {r3, pc} cmp r0, #0x63 bne _02013BDC ldrb r2, [r1, #0xa] ldrb r0, [r1, #0xb] cmp r2, #0x7d ldmeqia sp!, {r3, pc} mul r0, r2, r0 mov r1, #0x64 bl __divsi3 ldmia sp!, {r3, pc} _02013BDC: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02013BE4: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveActualAccuracy arm_func_start GetMoveBasePowerFromId GetMoveBasePowerFromId: ; 0x02013BE8 mov r1, #0x1a mul r1, r0, r1 ldr r0, _02013C00 ; =DUNGEON_MOVE_TABLES ldr r0, [r0, #8] ldrsh r0, [r0, r1] bx lr .align 2, 0 _02013C00: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveBasePowerFromId arm_func_start IsMoveRangeString19 IsMoveRangeString19: ; 0x02013C04 ldr r1, _02013C2C ; =DUNGEON_MOVE_TABLES ldrh r2, [r0, #4] ldr r1, [r1, #8] mov r0, #0x1a mla r0, r2, r0, r1 ldrb r0, [r0, #0x15] cmp r0, #0x13 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _02013C2C: .word DUNGEON_MOVE_TABLES arm_func_end IsMoveRangeString19 arm_func_start GetMoveMessageFromId GetMoveMessageFromId: ; 0x02013C30 ldr r2, _02013C5C ; =DUNGEON_MOVE_TABLES mov r1, #0x1a ldr r2, [r2, #8] ldr ip, _02013C60 ; =StringFromMessageId mla r1, r0, r1, r2 ldrh r0, [r1, #0x18] add r0, r0, #0x314 add r0, r0, #0xc00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx ip .align 2, 0 _02013C5C: .word DUNGEON_MOVE_TABLES _02013C60: .word StringFromMessageId arm_func_end GetMoveMessageFromId arm_func_start GetNbMoves GetNbMoves: ; 0x02013C64 stmdb sp!, {r4, lr} mov r4, #0 mov lr, r4 mov r2, r4 mov r3, #1 mov r1, #6 _02013C7C: mul ip, lr, r1 ldrb ip, [r0, ip] add lr, lr, #1 tst ip, #1 movne ip, r3 moveq ip, r2 tst ip, #0xff addne r4, r4, #1 cmp lr, #4 blt _02013C7C mov r0, r4 ldmia sp!, {r4, pc} arm_func_end GetNbMoves arm_func_start GetMovesetIdx__02013CAC GetMovesetIdx__02013CAC: ; 0x02013CAC stmdb sp!, {r3, r4, r5, lr} mov r5, #0 mov ip, r5 mov lr, #1 mov r2, #6 b _02013CF8 _02013CC4: mul r4, r5, r2 ldrb r3, [r0, r4] add r4, r0, r4 tst r3, #1 movne r3, lr moveq r3, ip tst r3, #0xff beq _02013CF4 ldrh r3, [r4, #2] cmp r1, r3 moveq r0, r5 ldmeqia sp!, {r3, r4, r5, pc} _02013CF4: add r5, r5, #1 _02013CF8: cmp r5, #4 blt _02013CC4 mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end GetMovesetIdx__02013CAC arm_func_start IsReflectedByMagicCoat IsReflectedByMagicCoat: ; 0x02013D08 ldr r2, _02013D20 ; =DUNGEON_MOVE_TABLES mov r1, #0x1a ldr r2, [r2, #8] mla r1, r0, r1, r2 ldrb r0, [r1, #0x10] bx lr .align 2, 0 _02013D20: .word DUNGEON_MOVE_TABLES arm_func_end IsReflectedByMagicCoat arm_func_start CanBeSnatched CanBeSnatched: ; 0x02013D24 ldr r2, _02013D3C ; =DUNGEON_MOVE_TABLES mov r1, #0x1a ldr r2, [r2, #8] mla r1, r0, r1, r2 ldrb r0, [r1, #0x11] bx lr .align 2, 0 _02013D3C: .word DUNGEON_MOVE_TABLES arm_func_end CanBeSnatched arm_func_start FailsWhileMuzzled FailsWhileMuzzled: ; 0x02013D40 ldr r2, _02013D58 ; =DUNGEON_MOVE_TABLES mov r1, #0x1a ldr r2, [r2, #8] mla r1, r0, r1, r2 ldrb r0, [r1, #0x12] bx lr .align 2, 0 _02013D58: .word DUNGEON_MOVE_TABLES arm_func_end FailsWhileMuzzled arm_func_start IsSoundMove IsSoundMove: ; 0x02013D5C ldrh r2, [r0, #4] cmp r2, #0xd9 moveq r0, #1 bxeq lr cmp r2, #0x11c moveq r0, #1 bxeq lr cmp r2, #0x53 moveq r0, #1 bxeq lr cmp r2, #0x22 moveq r0, #1 bxeq lr cmp r2, #0x54 moveq r0, #1 bxeq lr cmp r2, #0xab moveq r0, #1 bxeq lr ldr r1, _02013E10 ; =0x00000125 cmp r2, r1 moveq r0, #1 bxeq lr cmp r2, #0x1b moveq r0, #1 bxeq lr cmp r2, #0xf1 moveq r0, #1 bxeq lr cmp r2, #0x19 moveq r0, #1 bxeq lr cmp r2, #0x1a moveq r0, #1 bxeq lr add r0, r1, #0xed cmp r2, r0 moveq r0, #1 bxeq lr add r0, r1, #0x99 cmp r2, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02013E10: .word 0x00000125 arm_func_end IsSoundMove arm_func_start IsRecoilMove IsRecoilMove: ; 0x02013E14 mov r3, #0 ldr r2, _02013E50 ; =RECOIL_MOVE_LIST b _02013E38 _02013E20: cmp r0, r1 moveq r0, #1 bxeq lr add r1, r3, #1 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 _02013E38: mov r1, r3, lsl #1 ldrh r1, [r2, r1] cmp r1, #0 bne _02013E20 mov r0, #0 bx lr .align 2, 0 _02013E50: .word RECOIL_MOVE_LIST arm_func_end IsRecoilMove arm_func_start sub_02013E54 sub_02013E54: ; 0x02013E54 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x88 mov r4, r1 mov r5, r0 ldrb r2, [r5, r4, lsl #3] add r1, sp, #8 orr r2, r2, #0x80 strb r2, [r5, r4, lsl #3] bl ManipMoves1v1 add r0, sp, #8 bl sub_02014230 cmp r0, #0 blt _02013F14 cmp r0, #3 bge _02013F14 add r1, r0, #1 mov r2, #0 _02013E98: add r3, sp, #8 add r3, r3, r0, lsl #5 add ip, sp, #0 add lr, r3, r2, lsl #3 mov r6, #4 _02013EAC: ldrh r3, [lr], #2 subs r6, r6, #1 strh r3, [ip], #2 bne _02013EAC add r3, sp, #8 add ip, r3, r0, lsl #5 add r3, r3, r1, lsl #5 mov r6, #4 add lr, r3, r2, lsl #3 add ip, ip, r2, lsl #3 _02013ED4: ldrh r3, [lr], #2 subs r6, r6, #1 strh r3, [ip], #2 bne _02013ED4 add r3, sp, #8 add r3, r3, r1, lsl #5 add r6, sp, #0 add lr, r3, r2, lsl #3 mov ip, #4 _02013EF8: ldrh r3, [r6], #2 subs ip, ip, #1 strh r3, [lr], #2 bne _02013EF8 add r2, r2, #1 cmp r2, #4 blt _02013E98 _02013F14: add r1, sp, #8 mov r0, r5 bl ManipMoves1v2 mov r1, #0 b _02013F44 _02013F28: ldrb r0, [r5, r1, lsl #3] tst r0, #0x80 bicne r0, r0, #0x80 movne r4, r1 strneb r0, [r5, r1, lsl #3] bne _02013F4C add r1, r1, #1 _02013F44: cmp r1, #4 blt _02013F28 _02013F4C: mov r0, r4 add sp, sp, #0x88 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02013E54 arm_func_start sub_02013F58 sub_02013F58: ; 0x02013F58 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x88 mov r4, r1 mov r5, r0 ldrb r2, [r5, r4, lsl #3] add r1, sp, #8 orr r2, r2, #0x80 strb r2, [r5, r4, lsl #3] bl ManipMoves1v1 add r0, sp, #8 bl sub_02014230 cmp r0, #1 blt _02014018 cmp r0, #4 bge _02014018 sub r1, r0, #1 mov r2, #0 _02013F9C: add r3, sp, #8 add r3, r3, r0, lsl #5 add ip, sp, #0 add lr, r3, r2, lsl #3 mov r6, #4 _02013FB0: ldrh r3, [lr], #2 subs r6, r6, #1 strh r3, [ip], #2 bne _02013FB0 add r3, sp, #8 add ip, r3, r0, lsl #5 add r3, r3, r1, lsl #5 mov r6, #4 add lr, r3, r2, lsl #3 add ip, ip, r2, lsl #3 _02013FD8: ldrh r3, [lr], #2 subs r6, r6, #1 strh r3, [ip], #2 bne _02013FD8 add r3, sp, #8 add r3, r3, r1, lsl #5 add r6, sp, #0 add lr, r3, r2, lsl #3 mov ip, #4 _02013FFC: ldrh r3, [r6], #2 subs ip, ip, #1 strh r3, [lr], #2 bne _02013FFC add r2, r2, #1 cmp r2, #4 blt _02013F9C _02014018: add r1, sp, #8 mov r0, r5 bl ManipMoves1v2 mov r1, #0 b _02014048 _0201402C: ldrb r0, [r5, r1, lsl #3] tst r0, #0x80 bicne r0, r0, #0x80 movne r4, r1 strneb r0, [r5, r1, lsl #3] bne _02014050 add r1, r1, #1 _02014048: cmp r1, #4 blt _0201402C _02014050: mov r0, r4 add sp, sp, #0x88 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02013F58 arm_func_start sub_0201405C sub_0201405C: ; 0x0201405C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r3, #0 mov ip, r3 mov lr, #0x63 mov r4, r3 mov r5, #1 b _020140A4 _02014078: ldrb r2, [r0, r1, lsl #3] mov r6, r1, lsl #3 tst r2, #1 movne r2, r5 moveq r2, r4 tst r2, #0xff beq _020140AC ldrb r2, [r0, r6] tst r2, #2 beq _020140AC sub r1, r1, #1 _020140A4: cmp r1, #0 bge _02014078 _020140AC: mov r7, #1 add r2, r1, #1 mov r6, #0 mov r4, r7 b _020140F0 _020140C0: ldrb r5, [r0, r2, lsl #3] mov r8, r2, lsl #3 tst r5, #1 movne r5, r7 moveq r5, r6 tst r5, #0xff beq _020140F8 ldrb r5, [r0, r8] tst r5, #2 beq _020140F8 mov ip, r4 add r2, r2, #1 _020140F0: cmp r2, #4 blt _020140C0 _020140F8: cmp ip, #0 moveq r0, #0x63 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r8, #1 mov ip, #0 sub r2, r2, #1 mov r7, ip mov r6, r8 mov r4, r8 b _02014168 _02014120: ldrb r5, [r0, r2, lsl #3] add sb, r0, r2, lsl #3 tst r5, #1 movne r5, r8 moveq r5, r7 tst r5, #0xff beq _02014170 ldrb r5, [sb, #6] sub r2, r2, #1 cmp lr, r5 movgt lr, r5 cmp r5, #0 ldrh r5, [sb, #2] moveq ip, r6 tst r5, #0x20 bicne r5, r5, #0x20 movne ip, r4 strneh r5, [sb, #2] _02014168: cmp r2, r1 bge _02014120 _02014170: cmp ip, #0 moveq r0, lr ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r4, #1 add r6, r1, #1 mov ip, #0 mov r1, r4 b _020141C8 _02014190: ldrb r2, [r0, r6, lsl #3] mov r5, r6, lsl #3 tst r2, #1 movne r2, r4 moveq r2, ip tst r2, #0xff beq _020141D0 ldrb r2, [r0, r5] tst r2, #2 beq _020141D0 bic r2, r2, #2 mov r3, r1 strb r2, [r0, r5] add r6, r6, #1 _020141C8: cmp r6, #4 blt _02014190 _020141D0: cmp r3, #0 movne lr, #0 mov r0, lr ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0201405C arm_func_start AllManip1 AllManip1: ; 0x020141E0 stmdb sp!, {r4, lr} sub sp, sp, #0x80 add r1, sp, #0 mov r4, r0 bl ManipMoves1v1 add r1, sp, #0 mov r0, r4 bl ManipMoves1v2 add sp, sp, #0x80 ldmia sp!, {r4, pc} arm_func_end AllManip1 arm_func_start AllManip2 AllManip2: ; 0x02014208 stmdb sp!, {r4, lr} sub sp, sp, #0x200 add r1, sp, #0 mov r4, r0 bl ManipMoves2v1 add r1, sp, #0 mov r0, r4 bl ManipMoves2v2 add sp, sp, #0x200 ldmia sp!, {r4, pc} arm_func_end AllManip2 arm_func_start sub_02014230 sub_02014230: ; 0x02014230 stmdb sp!, {r3, r4, r5, lr} mov r4, #0 mov r2, r4 mov r3, #1 mov lr, r4 b _0201428C _02014248: mov r5, lr add ip, r0, r4, lsl #5 b _02014280 _02014254: ldrb r1, [ip, r5, lsl #3] tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff beq _0201427C ldrb r1, [ip, r5, lsl #3] tst r1, #0x80 movne r0, r4 ldmneia sp!, {r3, r4, r5, pc} _0201427C: add r5, r5, #1 _02014280: cmp r5, #4 blt _02014254 add r4, r4, #1 _0201428C: cmp r4, #4 blt _02014248 mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02014230 arm_func_start ManipMoves1v1 ManipMoves1v1: ; 0x0201429C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 mov ip, r4 mov r3, r4 _020142AC: mov r5, r3 add r2, r1, r4, lsl #5 _020142B4: strb ip, [r2, r5, lsl #3] add r5, r5, #1 cmp r5, #4 blt _020142B4 add r4, r4, #1 cmp r4, #4 blt _020142AC mov r2, ip mvn r3, #0 mov r7, #0 _020142DC: cmp r2, #0 beq _020142F0 ldrb r4, [r0, r2, lsl #3] tst r4, #2 bne _020142F8 _020142F0: mov ip, r7 add r3, r3, #1 _020142F8: add r4, r1, r3, lsl #5 add r6, r0, r2, lsl #3 add r5, r4, ip, lsl #3 mov lr, #4 _02014308: ldrh r4, [r6], #2 subs lr, lr, #1 strh r4, [r5], #2 bne _02014308 add r4, r1, r3, lsl #5 ldrb lr, [r4, ip, lsl #3] add r2, r2, #1 cmp r2, #4 bic lr, lr, #2 strb lr, [r4, ip, lsl #3] add ip, ip, #1 blt _020142DC ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end ManipMoves1v1 arm_func_start ManipMoves1v2 ManipMoves1v2: ; 0x0201433C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov r2, #0 mov r4, #1 mov r7, r2 mov r3, r2 mov fp, r4 mov sb, r4 add r6, sp, #4 mov lr, r2 add ip, sp, #0 _02014368: mov r8, lr strb lr, [r6, r7] strb lr, [ip, r7] add r5, r1, r7, lsl #5 _02014378: ldrb sl, [r5, r8, lsl #3] tst sl, #1 movne sl, r4 moveq sl, r3 tst sl, #0xff beq _020143A8 ldrb sl, [r5, r8, lsl #3] tst sl, #8 strneb fp, [r6, r7] ldrb sl, [r5, r8, lsl #3] tst sl, #4 strneb sb, [ip, r7] _020143A8: add r8, r8, #1 cmp r8, #4 blt _02014378 add r7, r7, #1 cmp r7, #4 blt _02014368 mov r6, #0 b _02014494 _020143C8: mov r7, #0 add r5, sp, #4 add r4, sp, #0 add lr, r1, r6, lsl #5 mov r3, r7 mov ip, #1 b _02014488 _020143E4: ldrb r8, [lr, r7, lsl #3] tst r8, #1 movne r8, ip moveq r8, r3 tst r8, #0xff beq _02014484 add fp, lr, r7, lsl #3 add sl, r0, r2, lsl #3 mov sb, #4 _02014408: ldrh r8, [fp], #2 subs sb, sb, #1 strh r8, [sl], #2 bne _02014408 ldrb r8, [r0, r2, lsl #3] cmp r7, #0 biceq r8, r8, #2 orrne r8, r8, #2 strb r8, [r0, r2, lsl #3] ldrb r8, [r0, r2, lsl #3] bic sb, r8, #8 and r8, sb, #0xff bic r8, r8, #4 strb r8, [r0, r2, lsl #3] ldrb r8, [r5, r6] cmp r8, #0 beq _0201445C cmp r7, #0 ldreqb r8, [r0, r2, lsl #3] orreq r8, r8, #8 streqb r8, [r0, r2, lsl #3] _0201445C: ldrb r8, [r4, r6] cmp r8, #0 beq _02014478 cmp r7, #0 ldreqb r8, [r0, r2, lsl #3] orreq r8, r8, #4 streqb r8, [r0, r2, lsl #3] _02014478: add r2, r2, #1 cmp r2, #4 beq _0201449C _02014484: add r7, r7, #1 _02014488: cmp r7, #4 blt _020143E4 add r6, r6, #1 _02014494: cmp r6, #4 blt _020143C8 _0201449C: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end ManipMoves1v2 arm_func_start ManipMoves2v1 ManipMoves2v1: ; 0x020144A4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 mov ip, r4 mov r3, r4 _020144B4: mov r5, r3 add r2, r1, r4, lsl #6 _020144BC: strb ip, [r2, r5, lsl #3] add r5, r5, #1 cmp r5, #8 blt _020144BC add r4, r4, #1 cmp r4, #8 blt _020144B4 mov r2, ip mvn r3, #0 mov r7, #0 _020144E4: cmp r2, #0 beq _020144F8 ldrb r4, [r0, r2, lsl #3] tst r4, #2 bne _02014500 _020144F8: mov ip, r7 add r3, r3, #1 _02014500: add r4, r1, r3, lsl #6 add r6, r0, r2, lsl #3 add r5, r4, ip, lsl #3 mov lr, #4 _02014510: ldrh r4, [r6], #2 subs lr, lr, #1 strh r4, [r5], #2 bne _02014510 add r4, r1, r3, lsl #6 ldrb lr, [r4, ip, lsl #3] add r2, r2, #1 cmp r2, #8 bic lr, lr, #2 strb lr, [r4, ip, lsl #3] add ip, ip, #1 blt _020144E4 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end ManipMoves2v1 arm_func_start ManipMoves2v2 ManipMoves2v2: ; 0x02014544 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r2, #0 mov r4, #1 mov r7, r2 mov r3, r2 mov fp, r4 mov sb, r4 add r6, sp, #8 mov lr, r2 add ip, sp, #0 _02014570: mov r8, lr strb lr, [r6, r7] strb lr, [ip, r7] add r5, r1, r7, lsl #6 _02014580: ldrb sl, [r5, r8, lsl #3] tst sl, #1 movne sl, r4 moveq sl, r3 tst sl, #0xff beq _020145B0 ldrb sl, [r5, r8, lsl #3] tst sl, #8 strneb fp, [r6, r7] ldrb sl, [r5, r8, lsl #3] tst sl, #4 strneb sb, [ip, r7] _020145B0: add r8, r8, #1 cmp r8, #8 blt _02014580 add r7, r7, #1 cmp r7, #8 blt _02014570 mov r6, #0 b _0201469C _020145D0: mov r7, #0 add r5, sp, #8 add r4, sp, #0 add lr, r1, r6, lsl #6 mov r3, r7 mov ip, #1 b _02014690 _020145EC: ldrb r8, [lr, r7, lsl #3] tst r8, #1 movne r8, ip moveq r8, r3 tst r8, #0xff beq _0201468C add fp, lr, r7, lsl #3 add sl, r0, r2, lsl #3 mov sb, #4 _02014610: ldrh r8, [fp], #2 subs sb, sb, #1 strh r8, [sl], #2 bne _02014610 ldrb r8, [r0, r2, lsl #3] cmp r7, #0 biceq r8, r8, #2 orrne r8, r8, #2 strb r8, [r0, r2, lsl #3] ldrb r8, [r0, r2, lsl #3] bic sb, r8, #8 and r8, sb, #0xff bic r8, r8, #4 strb r8, [r0, r2, lsl #3] ldrb r8, [r5, r6] cmp r8, #0 beq _02014664 cmp r7, #0 ldreqb r8, [r0, r2, lsl #3] orreq r8, r8, #8 streqb r8, [r0, r2, lsl #3] _02014664: ldrb r8, [r4, r6] cmp r8, #0 beq _02014680 cmp r7, #0 ldreqb r8, [r0, r2, lsl #3] orreq r8, r8, #4 streqb r8, [r0, r2, lsl #3] _02014680: add r2, r2, #1 cmp r2, #8 beq _020146A4 _0201468C: add r7, r7, #1 _02014690: cmp r7, #8 blt _020145EC add r6, r6, #1 _0201469C: cmp r6, #8 blt _020145D0 _020146A4: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end ManipMoves2v2 arm_func_start DungeonMoveToGroundMove DungeonMoveToGroundMove: ; 0x020146AC ldrb r2, [r1] tst r2, #1 movne r3, #1 moveq r3, #0 tst r3, #0xff moveq r1, #0 streqb r1, [r0] bxeq lr strb r2, [r0] ldrh r2, [r1, #4] strh r2, [r0, #2] ldrb r1, [r1, #7] strb r1, [r0, #4] bx lr arm_func_end DungeonMoveToGroundMove arm_func_start GroundToDungeonMoveset GroundToDungeonMoveset: ; 0x020146E4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, #0 mov r5, #6 ldr r8, _02014774 ; =DUNGEON_MOVE_TABLES mov lr, #1 mov sb, r4 mov r3, r4 mov r6, #0x1a mov r7, r5 _02014708: mul r2, r4, r7 ldrb r2, [r1, r2] tst r2, #1 movne sl, lr moveq sl, #0 tst sl, #0xff streqb sb, [r0, r4, lsl #3] beq _0201475C mla ip, r4, r5, r1 strb r2, [r0, r4, lsl #3] add r2, r0, r4, lsl #3 strh r3, [r2, #2] ldrh sl, [ip, #2] strh sl, [r2, #4] ldrh fp, [ip, #2] ldr sl, [r8, #8] mla sl, fp, r6, sl ldrb sl, [sl, #8] strb sl, [r2, #6] ldrb ip, [ip, #4] strb ip, [r2, #7] _0201475C: add r4, r4, #1 cmp r4, #4 blt _02014708 mov r1, #0 strb r1, [r0, #0x20] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02014774: .word DUNGEON_MOVE_TABLES arm_func_end GroundToDungeonMoveset arm_func_start DungeonToGroundMoveset DungeonToGroundMoveset: ; 0x02014778 stmdb sp!, {r4, lr} mov r4, #0 mov r2, #6 _02014784: mul lr, r4, r2 ldrb r3, [r1, r4, lsl #3] add ip, r1, r4, lsl #3 add r4, r4, #1 strb r3, [r0, lr] ldrh r3, [ip, #4] add lr, r0, lr cmp r4, #4 strh r3, [lr, #2] ldrb r3, [ip, #7] strb r3, [lr, #4] blt _02014784 ldmia sp!, {r4, pc} arm_func_end DungeonToGroundMoveset arm_func_start GetInfoGroundMoveset GetInfoGroundMoveset: ; 0x020147B8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r4, #0 mov r7, #6 mov r6, r0 mov r5, r1 mov sb, r4 mov r8, r7 _020147D4: mov r0, r4, lsl #1 ldrh r1, [r5, r0] cmp r1, #0 muleq r0, r4, r7 streqb sb, [r6, r0] beq _020147F4 mla r0, r4, r8, r6 bl GetInfoMoveGround _020147F4: add r4, r4, #1 cmp r4, #4 blt _020147D4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end GetInfoGroundMoveset arm_func_start GetMovesetIdx__02014804 GetMovesetIdx__02014804: ; 0x02014804 stmdb sp!, {r3, r4, r5, lr} mov r5, #0 mov ip, r5 mov lr, #1 mov r2, #6 b _02014850 _0201481C: mul r4, r5, r2 ldrb r3, [r0, r4] add r4, r0, r4 tst r3, #1 movne r3, lr moveq r3, ip tst r3, #0xff beq _0201484C ldrh r3, [r4, #2] cmp r1, r3 moveq r0, r5 ldmeqia sp!, {r3, r4, r5, pc} _0201484C: add r5, r5, #1 _02014850: cmp r5, #4 blt _0201481C mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end GetMovesetIdx__02014804 arm_func_start FindFirstFreeMovesetIdx FindFirstFreeMovesetIdx: ; 0x02014860 stmdb sp!, {r3, lr} mov lr, #0 mov r2, lr mov r3, #1 mov r1, #6 b _0201489C _02014878: mul ip, lr, r1 ldrb ip, [r0, ip] tst ip, #1 movne ip, r3 moveq ip, r2 tst ip, #0xff moveq r0, lr ldmeqia sp!, {r3, pc} add lr, lr, #1 _0201489C: cmp lr, #4 blt _02014878 mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end FindFirstFreeMovesetIdx arm_func_start LearnMoves LearnMoves: ; 0x020148AC stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x14 mov r7, r1 mov r1, #0 mov r8, r0 mov r6, r1 add r0, sp, #0 _020148C8: strb r6, [r0, r1] add r1, r1, #1 cmp r1, #4 blt _020148C8 b _020149B0 _020148DC: mov r0, r6, lsl #1 ldrh r4, [r7, r0] cmp r4, #0 beq _020149B8 mov r0, r8 mov r1, r4 bl GetMovesetIdx__02014804 mvn r1, #0 cmp r0, r1 addne r1, sp, #0 movne r2, #1 strneb r2, [r1, r0] bne _020149AC mov r0, r8 bl FindFirstFreeMovesetIdx mvn r1, #0 cmp r0, r1 bne _02014990 mov r5, #0 mov r3, r5 add r0, sp, #4 add r2, sp, #0 _02014934: ldrb r1, [r2, r3] cmp r1, #0 streq r3, [r0, r5, lsl #2] add r3, r3, #1 addeq r5, r5, #1 cmp r3, #4 blt _02014934 bl Rand16Bit mov r1, r5 bl __divsi3 add r2, sp, #4 ldr r5, [r2, r1, lsl #2] mov r0, #6 mul r3, r5, r0 mov r2, #0 mov r1, r4 add r0, r8, r3 strb r2, [r8, r3] bl GetInfoMoveGround add r0, sp, #0 mov r1, #1 strb r1, [r0, r5] b _020149AC _02014990: mov r1, #6 mla r0, r1, r0, r8 mov r1, r4 bl GetInfoMoveGround add r0, sp, #0 mov r1, #1 strb r1, [r0, r6] _020149AC: add r6, r6, #1 _020149B0: cmp r6, #4 blt _020148DC _020149B8: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end LearnMoves arm_func_start sub_020149C0 sub_020149C0: ; 0x020149C0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r2, #0 mov r3, r2 mov r6, r2 mov r7, #1 b _02014A24 _020149D8: ldrb r4, [r1, r3, lsl #3] tst r4, #1 movne r4, r7 moveq r4, r6 tst r4, #0xff beq _02014A2C add r5, r1, r3, lsl #3 add r4, r0, r3, lsl #3 mov lr, #4 _020149FC: ldrh ip, [r5], #2 subs lr, lr, #1 strh ip, [r4], #2 bne _020149FC add lr, r0, r3, lsl #3 ldrh ip, [lr, #2] add r2, r2, #1 add r3, r3, #1 bic ip, ip, #4 strh ip, [lr, #2] _02014A24: cmp r3, #4 blt _020149D8 _02014A2C: mov r1, #0 b _02014A3C _02014A34: strb r1, [r0, r3, lsl #3] add r3, r3, #1 _02014A3C: cmp r3, #8 blt _02014A34 mov r0, r2 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020149C0 arm_func_start CopyMoveTo CopyMoveTo: ; 0x02014A4C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #2 mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #4 mov r2, #7 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end CopyMoveTo arm_func_start CopyMoveFrom CopyMoveFrom: ; 0x02014A84 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #2 mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #4 mov r2, #7 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end CopyMoveFrom arm_func_start CopyMovesetTo CopyMovesetTo: ; 0x02014ABC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, #0 mov r4, #6 _02014AD0: mla r1, r5, r4, r6 mov r0, r7 bl CopyMoveTo add r5, r5, #1 cmp r5, #4 blt _02014AD0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end CopyMovesetTo arm_func_start CopyMovesetFrom CopyMovesetFrom: ; 0x02014AEC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, #0 mov r4, #6 _02014B00: mla r1, r5, r4, r6 mov r0, r7 bl CopyMoveFrom add r5, r5, #1 cmp r5, #4 blt _02014B00 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end CopyMovesetFrom arm_func_start sub_02014B1C sub_02014B1C: ; 0x02014B1C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #2 mov r2, #1 bl CopyBitsTo mov r0, r5 add r1, r4, #4 mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #6 mov r2, #7 bl CopyBitsTo mov r0, r5 add r1, r4, #7 mov r2, #7 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02014B1C arm_func_start sub_02014B74 sub_02014B74: ; 0x02014B74 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, #0 _02014B84: mov r0, r6 add r1, r5, r4, lsl #3 bl sub_02014B1C add r4, r4, #1 cmp r4, #4 blt _02014B84 mov r0, r6 add r1, r5, #0x20 mov r2, #8 bl CopyBitsTo ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02014B74 arm_func_start sub_02014BB0 sub_02014BB0: ; 0x02014BB0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r0, r4 mov r1, #0 mov r2, #8 bl memset mov r0, r5 mov r1, r4 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #2 mov r2, #1 bl CopyBitsFrom mov r0, r5 add r1, r4, #4 mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #6 mov r2, #7 bl CopyBitsFrom mov r0, r5 add r1, r4, #7 mov r2, #7 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02014BB0 arm_func_start sub_02014C20 sub_02014C20: ; 0x02014C20 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, #0 _02014C30: mov r0, r6 add r1, r5, r4, lsl #3 bl sub_02014BB0 add r4, r4, #1 cmp r4, #4 blt _02014C30 mov r3, #0 mov r0, r6 add r1, r5, #0x20 mov r2, #8 strb r3, [r5, #0x20] bl CopyBitsFrom ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02014C20 arm_func_start Is2TurnsMove Is2TurnsMove: ; 0x02014C64 cmp r0, #0x97 moveq r0, #1 bxeq lr cmp r0, #0x64 moveq r0, #1 bxeq lr cmp r0, #0x3c moveq r0, #1 bxeq lr cmp r0, #0x4b moveq r0, #1 bxeq lr cmp r0, #0x15c moveq r0, #1 bxeq lr cmp r0, #0x99 moveq r0, #1 bxeq lr cmp r0, #0xcd moveq r0, #1 bxeq lr cmp r0, #0x9c moveq r0, #1 bxeq lr cmp r0, #8 moveq r0, #1 bxeq lr ldr r1, _02014CE8 ; =0x000001DD cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02014CE8: .word 0x000001DD arm_func_end Is2TurnsMove arm_func_start IsRegularAttackOrProjectile IsRegularAttackOrProjectile: ; 0x02014CEC ldr r1, _02014D14 ; =0x00000163 cmp r0, r1 moveq r0, #1 bxeq lr add r1, r1, #0x32 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02014D14: .word 0x00000163 arm_func_end IsRegularAttackOrProjectile arm_func_start IsPunchMove IsPunchMove: ; 0x02014D18 mov r3, #0 ldr r2, _02014D54 ; =PUNCH_MOVE_LIST b _02014D3C _02014D24: cmp r0, r1 moveq r0, #1 bxeq lr add r1, r3, #1 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 _02014D3C: mov r1, r3, lsl #1 ldrh r1, [r2, r1] cmp r1, #0 bne _02014D24 mov r0, #0 bx lr .align 2, 0 _02014D54: .word PUNCH_MOVE_LIST arm_func_end IsPunchMove arm_func_start IsHealingWishOrLunarDance IsHealingWishOrLunarDance: ; 0x02014D58 ldr r1, _02014D80 ; =0x000001B7 cmp r0, r1 moveq r0, #1 bxeq lr add r1, r1, #0x57 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02014D80: .word 0x000001B7 arm_func_end IsHealingWishOrLunarDance arm_func_start IsCopyingMove IsCopyingMove: ; 0x02014D84 ldr r1, _02014DB8 ; =0x00000147 cmp r0, r1 moveq r0, #1 bxeq lr cmp r0, #0x8a moveq r0, #1 bxeq lr add r1, r1, #0xc6 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02014DB8: .word 0x00000147 arm_func_end IsCopyingMove arm_func_start IsTrappingMove IsTrappingMove: ; 0x02014DBC ldr r1, _02014DFC ; =0x00000127 cmp r0, r1 moveq r0, #1 bxeq lr cmp r0, #0x1f0 moveq r0, #1 bxeq lr cmp r0, #0x1e0 moveq r0, #1 bxeq lr add r1, r1, #0x6a cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02014DFC: .word 0x00000127 arm_func_end IsTrappingMove arm_func_start IsOneHitKoMove IsOneHitKoMove: ; 0x02014E00 cmp r0, #0x83 moveq r0, #1 bxeq lr cmp r0, #0x96 moveq r0, #1 bxeq lr cmp r0, #0xb1 moveq r0, #1 bxeq lr cmp r0, #0xf7 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end IsOneHitKoMove arm_func_start IsNot2TurnsMoveOrSketch IsNot2TurnsMoveOrSketch: ; 0x02014E38 stmdb sp!, {r4, lr} mov r4, r0 bl Is2TurnsMove cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} cmp r4, #0x8a movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} arm_func_end IsNot2TurnsMoveOrSketch arm_func_start IsRealMove IsRealMove: ; 0x02014E64 cmp r0, #0 moveq r0, #0 bxeq lr ldr r1, _02014EEC ; =0x000001D3 cmp r0, r1 moveq r0, #0 bxeq lr cmp r0, #0x160 moveq r0, #0 bxeq lr sub r1, r1, #0x70 cmp r0, r1 blo _02014EA4 cmp r0, #0x168 movlo r0, #0 bxlo lr _02014EA4: cmp r0, #0x168 bls _02014EBC ldr r1, _02014EF0 ; =0x0000018A cmp r0, r1 movlo r0, #0 bxlo lr _02014EBC: ldr r1, _02014EF0 ; =0x0000018A cmp r0, r1 bls _02014ED8 add r1, r1, #0x23 cmp r0, r1 movls r0, #0 bxls lr _02014ED8: ldr r1, _02014EF4 ; =0x0000021F cmp r0, r1 movhs r0, #0 movlo r0, #1 bx lr .align 2, 0 _02014EEC: .word 0x000001D3 _02014EF0: .word 0x0000018A _02014EF4: .word 0x0000021F arm_func_end IsRealMove arm_func_start IsMovesetValid IsMovesetValid: ; 0x02014EF8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, #0 mov r4, r0 mov r6, r8 mov r7, #1 mov r5, #6 b _02014F54 _02014F14: smulbb r1, r8, r5 ldrb r0, [r4, r1] add r1, r4, r1 tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _02014F48 ldrh r0, [r1, #2] bl IsRealMove cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02014F48: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _02014F54: cmp r8, #4 blt _02014F14 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end IsMovesetValid arm_func_start IsRealMoveInTimeDarkness IsRealMoveInTimeDarkness: ; 0x02014F64 cmp r0, #0 moveq r0, #0 bxeq lr ldr r1, _02014FF8 ; =0x000001D3 cmp r0, r1 moveq r0, #0 bxeq lr cmp r0, #0x1d4 moveq r0, #0 bxeq lr cmp r0, #0x160 moveq r0, #0 bxeq lr sub r1, r1, #0x70 cmp r0, r1 blo _02014FB0 cmp r0, #0x168 movlo r0, #0 bxlo lr _02014FB0: cmp r0, #0x168 bls _02014FC8 ldr r1, _02014FFC ; =0x0000018A cmp r0, r1 movlo r0, #0 bxlo lr _02014FC8: ldr r1, _02014FFC ; =0x0000018A cmp r0, r1 bls _02014FE4 add r1, r1, #0x23 cmp r0, r1 movls r0, #0 bxls lr _02014FE4: ldr r1, _02015000 ; =0x0000021F cmp r0, r1 movhs r0, #0 movlo r0, #1 bx lr .align 2, 0 _02014FF8: .word 0x000001D3 _02014FFC: .word 0x0000018A _02015000: .word 0x0000021F arm_func_end IsRealMoveInTimeDarkness arm_func_start IsMovesetValidInTimeDarkness IsMovesetValidInTimeDarkness: ; 0x02015004 stmdb sp!, {r3, lr} bl GetFirstNotRealMoveInTimeDarkness mvn r1, #0 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end IsMovesetValidInTimeDarkness arm_func_start GetFirstNotRealMoveInTimeDarkness GetFirstNotRealMoveInTimeDarkness: ; 0x02015024 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, #0 mov r4, r0 mov r6, r8 mov r7, #1 mov r5, #6 b _02015080 _02015040: smulbb r1, r8, r5 ldrb r0, [r4, r1] add r1, r4, r1 tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _02015074 ldrh r0, [r1, #2] bl IsRealMoveInTimeDarkness cmp r0, #0 moveq r0, r8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02015074: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _02015080: cmp r8, #4 blt _02015040 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end GetFirstNotRealMoveInTimeDarkness arm_func_start sub_02015090 sub_02015090: ; 0x02015090 stmdb sp!, {r4, r5, r6, lr} mov r4, #0 mov r6, r0 mov r5, r1 mov lr, r4 mov r2, r4 mov r3, #1 mov r0, #6 b _020150E0 _020150B4: mul ip, lr, r0 ldrb r1, [r6, ip] add lr, lr, #1 tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff ldrneb r1, [r6, ip] addne r4, r4, #1 bicne r1, r1, #2 strneb r1, [r6, ip] _020150E0: cmp lr, r5 blt _020150B4 bl Rand16Bit mov r1, r4 bl __divsi3 mov r0, #6 mla r0, r1, r0, r6 ldrh r0, [r0, #2] sub r3, r5, #1 mov r2, #6 b _02015130 _0201510C: mul r5, r1, r2 add ip, r6, r5 ldrh r4, [ip, #6] add r1, r1, #1 strh r4, [r6, r5] ldrh r4, [ip, #8] strh r4, [ip, #2] ldrh r4, [ip, #0xa] strh r4, [ip, #4] _02015130: cmp r1, r3 blt _0201510C mov r1, #6 mul r1, r3, r1 mov r2, #0 strb r2, [r6, r1] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02015090 arm_func_start IsSameMove IsSameMove: ; 0x0201514C stmdb sp!, {r4, lr} ldrb r2, [r1] tst r2, #1 movne r2, #1 moveq r2, #0 tst r2, #0xff moveq r0, #0 ldmeqia sp!, {r4, pc} mov r4, #0 mov ip, r4 mov lr, #1 b _020151B8 _0201517C: ldrb r2, [r0, r4, lsl #3] tst r2, #1 movne r2, lr moveq r2, ip tst r2, #0xff beq _020151C0 add r2, r0, r4, lsl #3 ldrh r3, [r1, #4] ldrh r2, [r2, #4] cmp r3, r2 moveq r0, #1 ldmeqia sp!, {r4, pc} add r2, r4, #1 mov r2, r2, lsl #0x10 mov r4, r2, asr #0x10 _020151B8: cmp r4, #4 blt _0201517C _020151C0: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end IsSameMove arm_func_start GetMoveCategory GetMoveCategory: ; 0x020151C8 ldr r2, _020151E0 ; =DUNGEON_MOVE_TABLES mov r1, #0x1a ldr r2, [r2, #8] mla r1, r0, r1, r2 ldrb r0, [r1, #3] bx lr .align 2, 0 _020151E0: .word DUNGEON_MOVE_TABLES arm_func_end GetMoveCategory arm_func_start GetPpIncrease GetPpIncrease: ; 0x020151E4 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r0, r1 mov r1, #0x39 mov r6, #0 bl IqSkillFlagTest cmp r0, #0 orrne r0, r6, #0x100 movne r0, r0, lsl #0x10 movne r6, r0, lsr #0x10 mov r0, r4 mov r1, #0 bl GetAbility mov r5, r0 mov r0, r4 mov r1, #1 bl GetAbility mov r3, r0 mov r1, r4 mov r2, r5 mov r0, #0x4a bl BagHasExclusiveItemTypeForMonster cmp r0, #0 orrne r0, r6, #0x200 movne r0, r0, lsl #0x10 movne r6, r0, lsr #0x10 mov r0, r4 mov r1, #0 bl GetAbility mov r5, r0 mov r0, r4 mov r1, #1 bl GetAbility mov r3, r0 mov r1, r4 mov r2, r5 mov r0, #0x4b bl BagHasExclusiveItemTypeForMonster cmp r0, #0 orrne r0, r6, #0x400 movne r0, r0, lsl #0x10 movne r6, r0, lsr #0x10 mov r0, r6 ldmia sp!, {r4, r5, r6, pc} arm_func_end GetPpIncrease arm_func_start OpenWaza OpenWaza: ; 0x02015294 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r1, _020152EC ; =_020AF6E8 mov r4, r0 ldr r0, _020152F0 ; =_020AF700 ldr r1, [r1, r4, lsl #2] add r0, r0, r4, lsl #3 mov r2, #0 bl LoadFileFromRom ldr r1, _020152F0 ; =_020AF700 add r0, sp, #0 ldr r1, [r1, r4, lsl #3] bl HandleSir0Translation ldr r3, [sp] ldr r1, _020152F4 ; =_020AF6F8 ldr r2, [r3] ldr r0, _020152F8 ; =_020AF6F0 str r2, [r1, r4, lsl #2] ldr r1, [r3, #4] str r1, [r0, r4, lsl #2] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _020152EC: .word _020AF6E8 _020152F0: .word _020AF700 _020152F4: .word _020AF6F8 _020152F8: .word _020AF6F0 arm_func_end OpenWaza arm_func_start SelectWaza SelectWaza: ; 0x020152FC ldr r1, _0201531C ; =_020AF6F8 ldr r2, _02015320 ; =_020AF6F0 ldr r3, [r1, r0, lsl #2] ldr r1, _02015324 ; =DUNGEON_MOVE_TABLES ldr r0, [r2, r0, lsl #2] str r3, [r1, #8] str r0, [r1] bx lr .align 2, 0 _0201531C: .word _020AF6F8 _02015320: .word _020AF6F0 _02015324: .word DUNGEON_MOVE_TABLES arm_func_end SelectWaza arm_func_start sub_02015328 sub_02015328: ; 0x02015328 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r7, r0 mov r6, r1 mov r0, #0x40 mov r1, #0 mov r5, r2 mov r4, r3 bl MemAlloc ldr r2, _02015500 ; =_020AF710 mov r1, #0x40 str r0, [r2] bl MemZero ldr r0, _02015500 ; =_020AF710 ldr r2, [sp, #0x28] ldr r1, _02015504 ; =_020AF714 ldr r0, [r0] ldr r1, [r1, r2, lsl #2] add r0, r0, #0x1c mov r2, #0 bl LoadFileFromRom ldr r0, _02015500 ; =_020AF710 ldr r1, [r0] add r0, r1, #0x10 ldr r1, [r1, #0x1c] bl HandleSir0Translation ldr r0, _02015500 ; =_020AF710 ldr r1, [sp, #0x28] ldr ip, [r0] ldrsh r3, [sp, #0x24] ldr r2, [ip, #0x10] cmp r1, #2 ldr r2, [r2, #4] str r2, [ip, #0x2c] ldr r2, [r0] str r5, [r2, #8] ldr r2, [r0] str r4, [r2, #0xc] ldr r2, [r0] strh r3, [r2, #0x30] mov r2, #0 bne _02015454 ldr r1, _02015508 ; =_02098F60 add r0, sp, #0 bl LoadFileFromRom ldr r0, _02015500 ; =_020AF710 ldr r1, [sp] ldr r0, [r0] add r0, r0, #0x14 bl HandleSir0Translation ldr r0, _02015500 ; =_020AF710 ldrsh r4, [sp, #0x24] ldr r0, [r0] ldr r2, [r0, #0x14] mov r1, r4 bl sub_0201614C add r0, sp, #0 bl UnloadFile ldr r1, _0201550C ; =_02098F78 add r0, sp, #0 mov r2, #0 bl LoadFileFromRom ldr r0, _02015500 ; =_020AF710 ldr r1, [sp] ldr r0, [r0] add r0, r0, #0x14 bl HandleSir0Translation ldr r0, _02015500 ; =_020AF710 add r1, r4, #1 ldr r0, [r0] ldr r2, [r0, #0x14] bl sub_0201614C add r0, sp, #0 bl UnloadFile b _020154CC _02015454: cmp r1, #1 ldr r0, [r0] bne _02015470 ldr r1, _02015510 ; =_02098F90 add r0, r0, #0x24 bl LoadFileFromRom b _0201547C _02015470: ldr r1, _02015514 ; =_02098FA8 add r0, r0, #0x24 bl LoadFileFromRom _0201547C: ldr r0, _02015500 ; =_020AF710 ldr r0, [r0] ldr r1, [r0, #0x24] add r0, r0, #0x14 bl HandleSir0Translation ldr r0, _02015500 ; =_020AF710 ldrsh r4, [sp, #0x24] ldr r0, [r0] ldr r2, [r0, #0x14] mov r1, r4 bl sub_0201614C ldr r0, _02015500 ; =_020AF710 ldr r2, _02015518 ; =_020AF720 ldr r0, [r0] add r1, r4, #1 bl sub_0201614C ldr r0, _02015500 ; =_020AF710 ldr r0, [r0] add r0, r0, #0x24 bl UnloadFile _020154CC: ldr r0, _02015500 ; =_020AF710 ldrsh r3, [sp, #0x20] ldr r2, [r0] mov r1, #0 str r7, [r2] ldr r2, [r0] str r6, [r2, #4] ldr r2, [r0] strh r3, [r2, #0x32] ldr r0, [r0] strb r1, [r0, #0x3c] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02015500: .word _020AF710 _02015504: .word _020AF714 _02015508: .word _02098F60 _0201550C: .word _02098F78 _02015510: .word _02098F90 _02015514: .word _02098FA8 _02015518: .word _020AF720 arm_func_end sub_02015328 arm_func_start sub_0201551C sub_0201551C: ; 0x0201551C stmdb sp!, {r3, lr} ldr r0, _0201556C ; =_020AF710 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrb r0, [r0, #0x3c] cmp r0, #0 beq _02015540 bl sub_02015EB4 _02015540: ldr r0, _0201556C ; =_020AF710 ldr r0, [r0] add r0, r0, #0x1c bl UnloadFile ldr r0, _0201556C ; =_020AF710 ldr r0, [r0] bl MemFree ldr r0, _0201556C ; =_020AF710 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0201556C: .word _020AF710 arm_func_end sub_0201551C arm_func_start sub_02015570 sub_02015570: ; 0x02015570 ldr r0, _02015584 ; =_020AF710 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x3c] bx lr .align 2, 0 _02015584: .word _020AF710 arm_func_end sub_02015570 arm_func_start sub_02015588 sub_02015588: ; 0x02015588 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _020155F4 ; =_020AF710 mov r1, #0x6000 ldr r2, [r0] ldrsh r0, [r2, #0x32] ldr r2, [r2] add r0, r2, r0, lsl #5 bl MemZero32 ldr r0, _020155F4 ; =_020AF710 ldr r0, [r0] ldr r0, [r0, #4] cmp r0, #0 beq _020155EC bl sub_02015EB4 ldr r1, _020155F8 ; =_02098EA8 ldr r0, _020155F4 ; =_020AF710 ldr r2, [r1, #4] ldr r1, [r1] ldr r0, [r0] str r1, [sp] str r2, [sp, #4] ldr r0, [r0, #4] add r1, sp, #0 bl sub_0200B3C0 _020155EC: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _020155F4: .word _020AF710 _020155F8: .word _02098EA8 arm_func_end sub_02015588 arm_func_start sub_020155FC sub_020155FC: ; 0x020155FC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x104 bl StringFromMessageId mov r8, #0 mov r7, r0 mov sb, r8 mov r6, r8 add r5, sp, #4 mov fp, #0x100 mov r4, r8 _02015624: ldrb r0, [r7, r8] cmp r0, #0 beq _02015698 mov r0, r5 mov r1, fp mov r3, #0x440 str r6, [sp] add r2, r7, r8 bl PreprocessString strb r4, [r5, r0] add r8, r8, r0 ldrb sl, [r7, r8] cmp sl, #0 beq _02015690 ldr r1, _020156A8 ; =_02098FBC mov r2, #3 add r0, r7, r8 bl strncmp cmp r0, #0 bne _02015684 ldr r0, _020156A8 ; =_02098FBC bl strlen add r8, r8, r0 b _02015690 _02015684: cmp sl, #0xd cmpne sl, #0xa addeq r8, r8, #1 _02015690: add sb, sb, #1 b _02015624 _02015698: mov r0, sb, lsl #0x10 mov r0, r0, asr #0x10 add sp, sp, #0x104 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020156A8: .word _02098FBC arm_func_end sub_020155FC arm_func_start sub_020156AC sub_020156AC: ; 0x020156AC stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 cmp r1, #0 beq _02015780 ldr r3, _02015788 ; =_020AF710 mov r2, r0, asr #2 ldr r6, [r3] add r2, r0, r2, lsr #29 ldrsh r5, [r6, #0x32] mov r2, r2, asr #3 mov r4, r0, lsr #0x1f rsb r3, r4, r0, lsl #29 ldr r6, [r6] add r5, r5, r2, lsl #5 mov r0, #0 add r3, r4, r3, ror #29 add r5, r6, r5, lsl #5 add r3, r5, r3, lsl #2 mov r4, r0 and r5, r1, #0xf _020156FC: mov r1, r4, lsl #2 add r4, r4, #1 cmp r4, #8 orr r0, r0, r5, lsl r1 blt _020156FC mov r1, #0 _02015714: add r1, r1, #1 cmp r1, #0x20 str r0, [r3], #0x20 blt _02015714 ldr r7, _02015788 ; =_020AF710 mov r6, #0 ldr r0, [r7] add r4, sp, #0 ldrsh r0, [r0, #0x32] add r0, r0, r2, lsl #5 mov r0, r0, lsl #0x10 str r2, [sp, #4] mov r5, r0, asr #0x10 _02015748: ldr r0, [r7] str r6, [sp] ldrsh r2, [r0, #0x30] ldr r0, [r0, #4] mov r1, r4 add r2, r2, #1 orr r2, r5, r2, lsl #12 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 bl sub_0200B3FC add r6, r6, #1 cmp r6, #0x20 add r5, r5, #1 blt _02015748 _02015780: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02015788: .word _020AF710 arm_func_end sub_020156AC arm_func_start sub_0201578C sub_0201578C: ; 0x0201578C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2f8 sub sp, sp, #0x400 ldr r5, [sp, #0x720] mov r4, #0 str r5, [sp, #0x720] str r0, [sp, #4] str r1, [sp, #8] mov r7, r2 str r3, [sp, #0xc] str r4, [sp, #0x2c] _020157B8: ldr r0, [sp, #0xc] ldrb r0, [r0, r4] cmp r0, #0 beq _02015CF8 ldr r1, [sp, #0xc] add r0, sp, #0x500 mov r5, #0 add r2, r1, r4 add r0, r0, #0xf8 mov r1, #0x100 mov r3, #0x440 str r5, [sp] bl PreprocessString add r1, sp, #0x500 add r1, r1, #0xf8 mov r2, r5 strb r2, [r1, r0] add r4, r4, r0 ldr r0, [sp, #0xc] ldrb r5, [r0, r4] cmp r5, #0 beq _02015844 ldr r1, _02015D08 ; =_02098FBC add r0, r0, r4 mov r2, #3 bl strncmp cmp r0, #0 bne _02015838 ldr r0, _02015D08 ; =_02098FBC bl strlen add r4, r4, r0 b _02015844 _02015838: cmp r5, #0xd cmpne r5, #0xa addeq r4, r4, #1 _02015844: ldr r0, [sp, #0x720] cmp r0, #2 bne _0201586C add r0, sp, #0x500 add r0, r0, #0xf8 bl sub_020161CC rsb r0, r0, #0x100 add r0, r0, r0, lsr #31 mov r5, r0, asr #1 b _02015888 _0201586C: cmp r0, #1 ldrne r5, [sp, #8] bne _02015888 add r0, sp, #0x500 add r0, r0, #0xf8 bl sub_020161CC rsb r5, r0, #0x100 _02015888: add r0, r7, #0xa str r0, [sp, #0x10] ldr r1, [sp, #0x10] mov r2, r0, asr #2 mov r3, r0, lsr #0x1f add r2, r1, r2, lsr #29 rsb r1, r3, r1, lsl #29 add r1, r3, r1, ror #29 mov r0, r7, lsr #0x1f rsb r3, r0, r7, lsl #29 add r0, r0, r3, ror #29 str r0, [sp, #0x3c] mov r0, r2, asr #3 mov r6, r7, asr #2 str r1, [sp, #0x34] add r1, r7, r6, lsr #29 str r0, [sp, #0x30] mov r0, r1, asr #3 add r6, sp, #0x500 str r0, [sp, #0x38] add r6, r6, #0xf8 b _02015CD8 _020158E0: ldrb r8, [r6], #1 cmp r8, #0x23 addeq r5, r5, #8 beq _02015CD8 cmp r8, #0x20 addeq r5, r5, #6 beq _02015CD8 cmp r8, #0x5b bne _02015A2C str r6, [sp, #0x44] mov r1, #1 _0201590C: ldrb r0, [r6], #1 cmp r0, #0x5d beq _0201592C cmp r0, #0x3a addeq r0, sp, #0x44 streq r6, [r0, r1, lsl #2] addeq r1, r1, #1 b _0201590C _0201592C: ldr r0, [sp, #0x44] ldr r1, _02015D0C ; =_02098FC0 bl StrcmpTagVeneer cmp r0, #0 beq _02015CD8 ldr r0, [sp, #0x48] bl StoiTagVeneer ldr r0, [sp, #0x4c] bl StoiTagVeneer ldr r1, _02015D10 ; =_020AF710 add ip, r5, #2 ldr r1, [r1] ldr r8, [sp, #0x10] ldrsh r3, [r1, #0x32] mov r1, ip, asr #2 add r1, ip, r1, lsr #29 mov r2, r1, asr #3 ldr r1, [sp, #0x30] mov r0, r0, lsl #0x10 add r1, r2, r1, lsl #5 add r2, r3, r1 ldr r1, [sp, #4] add r2, r1, r2, lsl #5 ldr r1, [sp, #0x34] add sb, r2, r1, lsl #2 mov r1, #0 str r1, [sp, #0x18] _02015998: mov sl, sb mov lr, #0 b _020159F0 _020159A4: add r1, ip, lr mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #29 add r1, r2, r1, ror #29 ldr r2, _02015D14 ; =_02098EE0 add lr, lr, #8 add r3, r2, r1, lsl #4 ldr r1, [r2, r1, lsl #4] ldr r2, [sl] ldr fp, [r3, #8] bic r1, r1, #0 orr r1, r2, r1, lsl fp str r1, [sl] ldr r1, [r3, #4] ldr r2, [sl, #0x20]! ldr r3, [r3, #0xc] bic r1, r1, #0 orr r1, r2, r1, lsr r3 str r1, [sl] _020159F0: cmp lr, r0, asr #16 blt _020159A4 add r8, r8, #1 mov r2, r8, lsr #0x1f rsb r1, r2, r8, lsl #29 adds r1, r2, r1, ror #29 ldr r1, [sp, #0x18] add sb, sb, #4 add r1, r1, #1 addeq sb, sb, #0x3e0 str r1, [sp, #0x18] cmp r1, #2 blt _02015998 add r5, r5, r0, asr #16 b _02015CD8 _02015A2C: mov r0, r8 bl sub_02025480 bl sub_0201628C mov ip, #0 add r1, sp, #0x400 add r1, r1, #0xd8 ldr sb, [r0] str r1, [sp, #0x1c] mov sl, ip mov fp, ip _02015A54: ldrb r3, [sb], #1 add r1, sp, #0x58 add lr, r1, fp mov r1, r3, asr #4 and r2, r1, #0xf add r1, sp, #0x58 strb r2, [r1, fp] and r1, r3, #0xf add fp, fp, #2 strb r1, [lr, #1] cmp fp, #0x240 blt _02015A54 _02015A84: cmp sl, #0x240 bge _02015B14 add r1, sp, #0x58 ldrb r1, [r1, ip] add r3, ip, #1 mov ip, r3 tst r1, #8 and r1, r1, #7 mov sb, #0 beq _02015B08 add r2, sp, #0x58 ldrb r2, [r2, r3] add ip, r3, #1 and r3, r2, #0xff b _02015AD8 _02015AC0: add r2, sp, #0x298 strb r3, [r2, sl] add sl, sl, #1 cmp sl, #0x240 bge _02015A84 add sb, sb, #1 _02015AD8: cmp sb, r1 blt _02015AC0 b _02015A84 _02015AE4: add r2, sp, #0x58 ldrb r3, [r2, ip] add r2, sp, #0x298 add ip, ip, #1 strb r3, [r2, sl] add sl, sl, #1 cmp sl, #0x240 bge _02015A84 add sb, sb, #1 _02015B08: cmp sb, r1 blt _02015AE4 b _02015A84 _02015B14: mov fp, #0 _02015B18: ldr r1, [sp, #0x1c] str r1, [sp, #0x14] add r1, r1, #4 str r1, [sp, #0x1c] add r1, sp, #0x298 add ip, r1, fp ldrb r3, [r1, fp] ldrb r1, [ip, #2] ldrb r2, [ip, #1] and sl, r3, #0xf mov r1, r1, lsl #8 and r1, r1, #0xf00 str r1, [sp, #0x40] ldrb r1, [ip, #5] mov r2, r2, lsl #4 and sb, r2, #0xf0 mov r1, r1, lsl #0x14 ldrb r3, [ip, #3] ldrb r2, [ip, #4] and lr, r1, #0xf00000 ldrb r1, [ip, #7] ldrb ip, [ip, #6] mov r2, r2, lsl #0x10 mov r1, r1, lsl #0x1c mov ip, ip, lsl #0x18 mov r3, r3, lsl #0xc add fp, fp, #8 and r1, r1, #0xf0000000 and ip, ip, #0xf000000 orr r1, r1, ip and r2, r2, #0xf0000 orr r1, lr, r1 and r3, r3, #0xf000 orr r1, r2, r1 orr r2, r3, r1 ldr r1, [sp, #0x40] cmp fp, #0x240 orr r1, r1, r2 orr r1, sb, r1 orr r2, sl, r1 ldr r1, [sp, #0x14] str r2, [r1] blt _02015B18 ldrb r0, [r0, #6] add r3, sp, #0x400 mov lr, r7 str r0, [sp, #0x20] ldr r0, _02015D10 ; =_020AF710 add r3, r3, #0xd8 ldr r1, [r0] mov r0, r5, asr #2 add r0, r5, r0, lsr #29 ldrsh r2, [r1, #0x32] mov r1, r0, asr #3 ldr r0, [sp, #0x38] add r0, r1, r0, lsl #5 add r1, r2, r0 ldr r0, [sp, #4] add r1, r0, r1, lsl #5 ldr r0, [sp, #0x3c] add r2, r1, r0, lsl #2 mov r1, r5, lsr #0x1f rsb r0, r1, r5, lsl #29 add r1, r1, r0, ror #29 ldr r0, _02015D14 ; =_02098EE0 add sb, r0, r1, lsl #4 mov r0, #0 str r0, [sp, #0x24] _02015C28: mov r0, #0 mov sl, r2 str r0, [sp, #0x28] _02015C34: ldr r1, [r3] cmp r1, #0 beq _02015C70 ldr r0, [sl] ldr ip, [sb] ldr fp, [sb, #8] and ip, r1, ip orr r0, r0, ip, lsl fp str r0, [sl] ldr ip, [sl, #0x20] ldr fp, [sb, #4] ldr r0, [sb, #0xc] and r1, r1, fp orr r0, ip, r1, lsr r0 str r0, [sl, #0x20] _02015C70: ldr r0, [sp, #0x28] add r3, r3, #4 add r0, r0, #1 add sl, sl, #0x20 str r0, [sp, #0x28] cmp r0, #3 blt _02015C34 add lr, lr, #1 mov r1, lr, lsr #0x1f rsb r0, r1, lr, lsl #29 adds r0, r1, r0, ror #29 ldr r0, [sp, #0x24] add r2, r2, #4 add r0, r0, #1 addeq r2, r2, #0x3e0 str r0, [sp, #0x24] cmp r0, #0x18 blt _02015C28 ldr r0, [sp, #0x20] cmp r8, #0x7e add r5, r5, r0 ldreqb r0, [r6] cmpeq r0, #0x32 ldreqb r0, [r6, #1] cmpeq r0, #0x37 addeq r6, r6, #2 _02015CD8: ldrb r0, [r6] cmp r0, #0 bne _020158E0 ldr r0, [sp, #0x2c] add r7, r7, #0x18 add r0, r0, #1 str r0, [sp, #0x2c] b _020157B8 _02015CF8: ldr r0, [sp, #0x2c] add sp, sp, #0x2f8 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02015D08: .word _02098FBC _02015D0C: .word _02098FC0 _02015D10: .word _020AF710 _02015D14: .word _02098EE0 arm_func_end sub_0201578C arm_func_start sub_02015D18 sub_02015D18: ; 0x02015D18 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov r5, r1 mov r4, r2 mov r1, #0 mov r6, r4 str r1, [sp, #4] str r5, [sp, #8] b _02015D60 _02015D3C: ldrb r1, [r2], #1 cmp r1, #0x7e strb r1, [r6], #1 bne _02015D60 ldrb r1, [r2] cmp r1, #0x32 ldreqb r1, [r2, #1] cmpeq r1, #0x37 addeq r2, r2, #2 _02015D60: ldrb r1, [r2] cmp r1, #0 bne _02015D3C mov r1, #0 strb r1, [r6] str r3, [sp] ldr r2, _02015E40 ; =_020AF710 mov r1, r0 ldr r0, [r2] mov r2, r5 ldr r0, [r0] mov r3, r4 bl sub_0201578C mov r1, r5, asr #2 add r2, r5, r1, lsr #29 mov r7, r0 mov r1, #0x18 mul r0, r7, r1 add r0, r0, r2, asr #3 add r3, r0, #7 mov r0, r3, asr #2 add r0, r3, r0, lsr #29 mov r0, r0, asr #3 mov sb, r2, asr #3 bl __divsi3 ldr fp, _02015E40 ; =_020AF710 mov sl, r1 ldr r0, [fp] mov r4, #0 ldrsh r0, [r0, #0x32] add r0, r0, sb, lsl #5 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 b _02015E2C _02015DE8: mov r5, #0 add r8, sb, r4 _02015DF0: ldr r0, [fp] str r5, [sp, #4] str r8, [sp, #8] ldrsh r2, [r0, #0x30] ldr r0, [r0, #4] add r1, sp, #4 orr r2, r6, r2, lsl #12 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 bl sub_0200B3FC add r5, r5, #1 cmp r5, #0x20 add r6, r6, #1 blt _02015DF0 add r4, r4, #1 _02015E2C: cmp r4, sl blt _02015DE8 mov r0, r7 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02015E40: .word _020AF710 arm_func_end sub_02015D18 arm_func_start sub_02015E44 sub_02015E44: ; 0x02015E44 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 bl StringFromMessageId mov r2, r0 mov r1, r4 mov r0, #0 mov r3, #2 bl sub_02015D18 ldmia sp!, {r4, pc} arm_func_end sub_02015E44 arm_func_start sub_02015E6C sub_02015E6C: ; 0x02015E6C stmdb sp!, {r3, lr} ldr r0, _02015EB0 ; =_020AF710 ldr r0, [r0] ldr r0, [r0, #4] cmp r0, #0 beq _02015E88 bl sub_0200B330 _02015E88: ldr r0, _02015EB0 ; =_020AF710 ldr r1, [r0] ldr r0, [r1, #8] cmp r0, #0 beq _02015EA4 bl sub_0200A174 ldmia sp!, {r3, pc} _02015EA4: ldr r0, [r1, #0xc] bl sub_0200A504 ldmia sp!, {r3, pc} .align 2, 0 _02015EB0: .word _020AF710 arm_func_end sub_02015E6C arm_func_start sub_02015EB4 sub_02015EB4: ; 0x02015EB4 stmdb sp!, {r3, lr} ldr r0, _02015EE4 ; =_020AF710 ldr r0, [r0] ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0200B3D4 ldr r0, _02015EE4 ; =_020AF710 ldr r0, [r0] ldr r0, [r0, #4] bl sub_0200B330 ldmia sp!, {r3, pc} .align 2, 0 _02015EE4: .word _020AF710 arm_func_end sub_02015EB4 arm_func_start sub_02015EE8 sub_02015EE8: ; 0x02015EE8 stmdb sp!, {r3, lr} ldr r1, _02015F14 ; =_020AF710 ldr r2, [r1] ldr r1, [r2, #8] cmp r1, #0 ldmneia sp!, {r3, pc} mov r1, r0, lsl #0x10 ldr r0, [r2, #0xc] mov r1, r1, lsr #0x10 bl sub_0200A618 ldmia sp!, {r3, pc} .align 2, 0 _02015F14: .word _020AF710 arm_func_end sub_02015EE8 arm_func_start sub_02015F18 sub_02015F18: ; 0x02015F18 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 ldr r4, _02015FD4 ; =_020AF710 mov r6, #0 ldr r0, [r4] add r5, sp, #0 ldr r0, [r0, #8] mov r8, #0x10 cmp r0, #0 beq _02015F88 ldr r7, _02015FD8 ; =_020AFC70 _02015F44: ldr r0, [r4] mov r2, r6, lsl #0x10 ldr r0, [r0, #8] mov r1, r5 mov r2, r2, lsr #0x10 bl sub_0200A2B4 ldr r0, [r7] mov r3, r6, lsl #0x10 mov r1, r5 mov r2, r8 add r0, r0, #0xcc mov r3, r3, asr #0x10 bl sub_0201E380 add r6, r6, #1 cmp r6, #0x100 blt _02015F44 b _02015FCC _02015F88: ldr r7, _02015FD8 ; =_020AFC70 _02015F8C: ldr r0, [r4] mov r2, r6, lsl #0x10 ldr r0, [r0, #0xc] mov r1, r5 mov r2, r2, lsr #0x10 bl sub_0200A5F8 ldr r0, [r7] mov r3, r6, lsl #0x10 mov r1, r5 mov r2, r8 add r0, r0, #0xcc mov r3, r3, asr #0x10 bl sub_0201E380 add r6, r6, #1 cmp r6, #0x100 blt _02015F8C _02015FCC: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02015FD4: .word _020AF710 _02015FD8: .word _020AFC70 arm_func_end sub_02015F18 arm_func_start sub_02015FDC sub_02015FDC: ; 0x02015FDC stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, #0 mov r3, r2, asr #2 add r2, r2, r3, lsr #29 mov ip, r5 mov lr, r5 b _0201602C _02015FF8: mov r6, lr add r8, r1, r5, lsl #10 _02016000: mov r7, ip add r4, r8, r6, lsl #2 _02016008: ldr r3, [r4], #0x20 add r7, r7, #1 cmp r7, #0x20 str r3, [r0], #4 blt _02016008 add r6, r6, #1 cmp r6, #8 blt _02016000 add r5, r5, #1 _0201602C: cmp r5, r2, asr #3 blt _02015FF8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02015FDC arm_func_start sub_02016038 sub_02016038: ; 0x02016038 ldr ip, _02016048 ; =sub_0201E050 add r1, r1, #0x10000 mov r3, #0 bx ip .align 2, 0 _02016048: .word sub_0201E050 arm_func_end sub_02016038 arm_func_start sub_0201604C sub_0201604C: ; 0x0201604C stmdb sp!, {r3, lr} add r1, r1, #0x10000 str r1, [r0, #0x20] mov ip, #0 strh ip, [r0, #0x16] mov r1, #8 strh ip, [r0, #0x18] mov ip, #0x100 mov r1, r1, lsl r3 strh ip, [r0, #0x1a] strh r1, [r0, #0x1c] ldrh lr, [r0, #0x14] mov ip, r3, lsl #0x1d ldr r1, _02016110 ; =_020AF710 bic r3, lr, #7 orr r3, r3, #5 strh r3, [r0, #0x14] ldrh lr, [r0, #0x14] ldr r3, _02016114 ; =_020AFC70 bic lr, lr, #0x38 orr ip, lr, ip, lsr #26 strh ip, [r0, #0x14] ldrh ip, [r0, #0x14] bic ip, ip, #0xc0 strh ip, [r0, #0x14] ldrh ip, [r0, #0x14] bic ip, ip, #0x700 orr ip, ip, #0x300 strh ip, [r0, #0x14] ldrh ip, [r0, #0x14] bic ip, ip, #0x1800 strh ip, [r0, #0x14] ldrh ip, [r0, #0x14] bic ip, ip, #0x6000 strh ip, [r0, #0x14] ldrh ip, [r0, #0x14] orr ip, ip, #0x8000 strh ip, [r0, #0x14] ldr r1, [r1] ldr r3, [r3] ldrsh r1, [r1, #0x30] ldr r3, [r3, #0xe0] add r1, r2, r1 mov r1, r1, lsl #0x14 mov r1, r1, asr #0x10 add r1, r1, #0x1000 add r1, r3, r1, lsl #1 str r1, [r0, #0x24] ldmia sp!, {r3, pc} .align 2, 0 _02016110: .word _020AF710 _02016114: .word _020AFC70 arm_func_end sub_0201604C arm_func_start sub_02016118 sub_02016118: ; 0x02016118 ldr r2, _02016140 ; =_020AF720 ldr r3, _02016144 ; =_020AF721 ldrb ip, [r2, r1, lsl #2] ldr r2, _02016148 ; =_020AF722 strb ip, [r0, #0x2c] ldrb r3, [r3, r1, lsl #2] strb r3, [r0, #0x2d] ldrb r1, [r2, r1, lsl #2] strb r1, [r0, #0x2e] bx lr .align 2, 0 _02016140: .word _020AF720 _02016144: .word _020AF721 _02016148: .word _020AF722 arm_func_end sub_02016118 arm_func_start sub_0201614C sub_0201614C: ; 0x0201614C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 ldr r0, [r6, #8] mov r5, r1 mov r4, r2 cmp r0, #0 mov r7, #0 beq _0201619C _0201616C: add r0, r7, r5, lsl #4 mov r1, r0, lsl #0x10 ldr r0, [r6, #8] mov r1, r1, lsr #0x10 add r2, r4, r7, lsl #2 bl sub_0200A29C add r7, r7, #1 cmp r7, #0x10 blt _0201616C ldr r0, [r6, #8] bl sub_0200A174 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0201619C: add r0, r7, r5, lsl #4 mov r1, r0, lsl #0x10 ldr r0, [r6, #0xc] mov r1, r1, lsr #0x10 add r2, r4, r7, lsl #2 bl sub_0200A590 add r7, r7, #1 cmp r7, #0x10 blt _0201619C ldr r0, [r6, #0xc] bl sub_0200A504 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0201614C arm_func_start sub_020161CC sub_020161CC: ; 0x020161CC stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r4, r0 mov r5, #0 b _02016270 _020161E0: ldrb r0, [r4], #1 cmp r0, #0x23 addeq r5, r5, #8 beq _02016270 cmp r0, #0x20 addeq r5, r5, #6 beq _02016270 cmp r0, #0x5b bne _0201625C str r4, [sp] mov r2, #1 add r0, sp, #0 _02016210: ldrb r1, [r4], #1 cmp r1, #0x5d beq _0201622C cmp r1, #0x3a streq r4, [r0, r2, lsl #2] addeq r2, r2, #1 b _02016210 _0201622C: ldr r0, [sp] ldr r1, _02016288 ; =_02098FC0 bl StrcmpTagVeneer cmp r0, #0 beq _02016270 ldr r0, [sp, #4] bl StoiTagVeneer ldr r0, [sp, #8] bl StoiTagVeneer mov r0, r0, lsl #0x10 add r5, r5, r0, asr #16 b _02016270 _0201625C: bl sub_02025480 bl sub_0201628C cmp r0, #0 ldrneb r0, [r0, #6] addne r5, r5, r0 _02016270: ldrb r0, [r4] cmp r0, #0 bne _020161E0 mov r0, r5 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 _02016288: .word _02098FC0 arm_func_end sub_020161CC arm_func_start sub_0201628C sub_0201628C: ; 0x0201628C stmdb sp!, {r3, lr} ldr r1, _020162FC ; =_020AF710 mov lr, #0 ldr r1, [r1] ldr r2, [r1, #0x10] ldr r1, [r1, #0x2c] ldr r3, [r2] sub ip, r1, #1 b _020162DC _020162B0: add r1, lr, ip add r1, r1, r1, lsr #31 mov r2, r1, asr #1 add r1, r3, r2, lsl #3 ldrh r1, [r1, #4] cmp r0, r1 moveq lr, r2 beq _020162E4 cmp r1, r0 addlt lr, r2, #1 movge ip, r2 _020162DC: cmp lr, ip blt _020162B0 _020162E4: add r2, r3, lr, lsl #3 ldrh r1, [r2, #4] cmp r1, r0 addne r2, r3, #8 mov r0, r2 ldmia sp!, {r3, pc} .align 2, 0 _020162FC: .word _020AF710 arm_func_end sub_0201628C arm_func_start sub_02016300 sub_02016300: ; 0x02016300 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r4, [sp, #0x20] ldr lr, _0201636C ; =_020AF760 ldrsh ip, [sp, #0x18] str r4, [lr] ldrsh r4, [sp, #0x1c] str ip, [sp] mov ip, #0x14 str r4, [sp, #4] ldr r4, [lr] ldr lr, _02016370 ; =_0209901C mul ip, r4, ip ldr ip, [lr, ip] str ip, [sp, #8] bl sub_02015328 ldr r1, _0201636C ; =_020AF760 mov r0, #0x14 ldr r2, [r1] ldr r1, _02016374 ; =_02099020 mul r0, r2, r0 ldr r0, [r1, r0] cmp r0, #0 beq _02016364 blx r0 _02016364: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 _0201636C: .word _020AF760 _02016370: .word _0209901C _02016374: .word _02099020 arm_func_end sub_02016300 arm_func_start sub_02016378 sub_02016378: ; 0x02016378 stmdb sp!, {r3, lr} ldr ip, _020163A4 ; =_020AF760 mov r3, #0x14 ldr lr, [ip] ldr ip, _020163A8 ; =_02099024 mul r3, lr, r3 ldr r3, [ip, r3] cmp r3, #0 ldmeqia sp!, {r3, pc} blx r3 ldmia sp!, {r3, pc} .align 2, 0 _020163A4: .word _020AF760 _020163A8: .word _02099024 arm_func_end sub_02016378 arm_func_start sub_020163AC sub_020163AC: ; 0x020163AC stmdb sp!, {r3, lr} ldr r1, _020163DC ; =_020AF760 mov r0, #0x14 ldr r2, [r1] ldr r1, _020163E0 ; =_02099028 mul r0, r2, r0 ldr r0, [r1, r0] cmp r0, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} blx r0 ldmia sp!, {r3, pc} .align 2, 0 _020163DC: .word _020AF760 _020163E0: .word _02099028 arm_func_end sub_020163AC arm_func_start sub_020163E4 sub_020163E4: ; 0x020163E4 stmdb sp!, {r3, lr} ldr r1, _02016414 ; =_020AF760 mov r0, #0x14 ldr r2, [r1] ldr r1, _02016418 ; =_0209902C mul r0, r2, r0 ldr r0, [r1, r0] cmp r0, #0 beq _0201640C blx r0 _0201640C: bl sub_0201551C ldmia sp!, {r3, pc} .align 2, 0 _02016414: .word _020AF760 _02016418: .word _0209902C arm_func_end sub_020163E4 arm_func_start sub_0201641C sub_0201641C: ; 0x0201641C stmdb sp!, {r4, lr} mov r4, r0 bl sub_02015588 mov r1, r4 mov r0, #3 mov r2, #0 bl sub_0204F6F8 mov r4, r0 bl sub_02015570 mov r0, r4 bl sub_020155FC mov r1, #0x18 mul r1, r0, r1 rsb r0, r1, #0xc0 mov r1, r4 mov r0, r0, asr #1 bl sub_02015E44 bl sub_02015E6C ldmia sp!, {r4, pc} arm_func_end sub_0201641C arm_func_start sub_02016468 sub_02016468: ; 0x02016468 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x100 mov r4, r1 mov r5, r0 bl sub_02015588 bl sub_02015570 add r0, sp, #0 mov r1, r4 bl strcpy mov r1, r5 mov r0, #0 add r2, sp, #0 mov r3, #2 bl sub_02015D18 bl sub_02015E6C add sp, sp, #0x100 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02016468 arm_func_start sub_020164AC sub_020164AC: ; 0x020164AC stmdb sp!, {r3, lr} ldr r0, _02016544 ; =_020AF760 mov r1, #0x30 ldr r0, [r0, #4] add r0, r0, #0x90 add r0, r0, #0xb000 bl MemZero ldr r0, _02016544 ; =_020AF760 mov r1, #0x30 ldr r0, [r0, #4] add r0, r0, #0x30c0 add r0, r0, #0x8000 bl MemZero ldr r0, _02016544 ; =_020AF760 mov r1, #0x30 ldr r0, [r0, #4] add r0, r0, #0xf0 add r0, r0, #0xb000 bl MemZero ldr r0, _02016544 ; =_020AF760 mov r1, #0x30 ldr r0, [r0, #4] add r0, r0, #0x60 add r0, r0, #0xb000 bl MemZero ldr r0, _02016544 ; =_020AF760 mov r1, #0x30 ldr r0, [r0, #4] add r0, r0, #0x30 add r0, r0, #0xb000 bl MemZero ldr r0, _02016544 ; =_020AF760 mov r1, #0x30 ldr r0, [r0, #4] add r0, r0, #0x120 add r0, r0, #0xb000 bl MemZero ldmia sp!, {r3, pc} .align 2, 0 _02016544: .word _020AF760 arm_func_end sub_020164AC arm_func_start sub_02016548 sub_02016548: ; 0x02016548 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x104 ldrb r4, [sp, #0x118] mov ip, r0 mov r7, r1 mov r6, r2 mov r5, r3 cmp r4, #0 add r0, sp, #4 mov r1, ip beq _020165C8 mov r2, r5 bl sub_020175F8 bl sub_02015570 add r2, sp, #4 mov r0, #0 mov r1, #0x20 mov r3, #2 bl sub_02015D18 mov r1, r6 mov r0, #0x3b bl sub_020156AC mov r1, r7 add r0, sp, #4 bl strcpy mov r0, #0 mov r1, #0x52 add r2, sp, #4 mov r3, #2 bl sub_02015D18 bl sub_02015E6C b _02016768 _020165C8: mov r2, r5 bl sub_020175F8 mov r2, #2 ldr r0, _02016770 ; =_020AF760 str r2, [sp] ldr r0, [r0, #4] add r3, sp, #4 mov r1, r7 bl sub_0201770C bl sub_020164AC ldr r0, _02016770 ; =_020AF760 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0xb000 str r1, [r0, #0x150] bl sub_0201F36C ldr r1, _02016770 ; =_020AF760 ldr r1, [r1, #4] add r1, r1, #0xb000 strh r0, [r1, #0x90] bl sub_0201F36C ldr r2, _02016770 ; =_020AF760 ldr r1, [r2, #4] add r1, r1, #0xb000 strh r0, [r1, #0xc0] ldr r0, [r2, #4] add r0, r0, #0xb000 ldrsh r0, [r0, #0x90] bl sub_0201F324 mov r1, #0 mov r4, r0 strb r1, [r4, #0x3c] mov r2, r1 mov r3, #2 bl sub_0201604C ldrsh r0, [r4, #0x1a] mov r2, #0x20 mov r1, #0xa add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf mov r0, r0, asr #0x10 strh r0, [r4] strh r2, [r4, #2] strb r1, [r4, #0x3e] strh r0, [r4, #8] mov r0, #0 strh r0, [r4, #0xa] mov r0, #0x21 strh r0, [r4, #0x2a] ldr r0, _02016770 ; =_020AF760 ldr r0, [r0, #4] add r0, r0, #0xb000 ldrsh r0, [r0, #0xc0] bl sub_0201F324 mov r4, r0 mov r1, #0x1000 mov r2, #0 mov r3, #4 bl sub_0201604C ldrsh r0, [r4, #0x1a] mov r3, #0 mov r1, #0x52 add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf mov r2, r0, asr #0x10 strb r3, [r4, #0x3c] strh r2, [r4] strh r1, [r4, #2] mov r0, #0xa strb r0, [r4, #0x3e] strh r2, [r4, #8] strh r3, [r4, #0xa] mov r0, #0x21 cmp r5, #0 strh r0, [r4, #0x2a] beq _02016760 bl sub_0201F36C ldr r2, _02016770 ; =_020AF760 ldr r1, [r2, #4] add r1, r1, #0xb000 strh r0, [r1, #0x60] ldr r0, [r2, #4] add r0, r0, #0xb000 ldrsh r0, [r0, #0x60] bl sub_0201F324 mov r1, #2 strb r1, [r0, #0x3c] mov r1, #0 strh r1, [r0] mov r1, #0x3b strh r1, [r0, #2] mov r1, #0x100 strh r1, [r0, #4] mov r1, #1 strh r1, [r0, #6] mov r2, #0xa mov r1, r6 strb r2, [r0, #0x3e] mov r2, #0x21 strh r2, [r0, #0x2a] bl sub_02016118 b _02016768 _02016760: mov r0, #0x80 bl sub_02015EE8 _02016768: add sp, sp, #0x104 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02016770: .word _020AF760 arm_func_end sub_02016548 arm_func_start sub_02016774 sub_02016774: ; 0x02016774 stmdb sp!, {r3, lr} mov r3, #0 str r3, [sp] bl sub_02016548 ldmia sp!, {r3, pc} arm_func_end sub_02016774 arm_func_start sub_02016788 sub_02016788: ; 0x02016788 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x100 mov r3, r0 mov r5, r1 mov r4, r2 add r0, sp, #0 mov r1, r3 mov r2, #0 bl sub_020175F8 bl sub_02015570 add r2, sp, #0 mov r0, #0 mov r1, #0x20 mov r3, #2 bl sub_02015D18 mov r1, r4 mov r0, #0x3b bl sub_020156AC mov r1, r5 add r0, sp, #0 bl strcpy mov r0, #0 mov r1, #0x52 add r2, sp, #0 mov r3, #2 bl sub_02015D18 bl sub_02015E6C add sp, sp, #0x100 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02016788 arm_func_start sub_020167FC sub_020167FC: ; 0x020167FC stmdb sp!, {r3, lr} mov ip, #0 mov r3, #1 str ip, [sp] bl sub_02016548 ldmia sp!, {r3, pc} arm_func_end sub_020167FC arm_func_start sub_02016814 sub_02016814: ; 0x02016814 stmdb sp!, {r4, lr} ldr r0, _02016880 ; =0x0000B160 mov r1, #0 bl MemAlloc ldr r2, _02016884 ; =_020AF760 ldr r1, _02016880 ; =0x0000B160 str r0, [r2, #4] bl MemZero bl sub_0201F2E4 ldr r0, _02016884 ; =_020AF760 mov r1, #0x1000 ldr r4, [r0, #4] add r0, r4, #0x6000 bl MemZero add r0, r4, #0x7000 mov r1, #0x4000 bl MemZero add r0, r4, #0xb000 mov r1, #0x20 bl MemZero bl sub_02015F18 ldr r0, _02016884 ; =_020AF760 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0xb000 str r1, [r0, #0x20] ldmia sp!, {r4, pc} .align 2, 0 _02016880: .word 0x0000B160 _02016884: .word _020AF760 arm_func_end sub_02016814 arm_func_start sub_02016888 sub_02016888: ; 0x02016888 stmdb sp!, {r3, lr} ldr r0, _020168C4 ; =_020AF760 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0x100 bl sub_02015EE8 bl sub_0201F2E4 ldr r0, _020168C4 ; =_020AF760 ldr r0, [r0, #4] bl MemFree ldr r0, _020168C4 ; =_020AF760 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _020168C4: .word _020AF760 arm_func_end sub_02016888 arm_func_start sub_020168C8 sub_020168C8: ; 0x020168C8 stmdb sp!, {r4, lr} ldr r0, _02016934 ; =0x0000B160 mov r1, #0 bl MemAlloc ldr r2, _02016938 ; =_020AF760 ldr r1, _02016934 ; =0x0000B160 str r0, [r2, #4] bl MemZero bl sub_0201F2E4 ldr r0, _02016938 ; =_020AF760 mov r1, #0x1000 ldr r4, [r0, #4] add r0, r4, #0x6000 bl MemZero add r0, r4, #0x7000 mov r1, #0x4000 bl MemZero add r0, r4, #0xb000 mov r1, #0x20 bl MemZero bl sub_02015F18 ldr r0, _02016938 ; =_020AF760 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0xb000 str r1, [r0, #0x20] ldmia sp!, {r4, pc} .align 2, 0 _02016934: .word 0x0000B160 _02016938: .word _020AF760 arm_func_end sub_020168C8 arm_func_start sub_0201693C sub_0201693C: ; 0x0201693C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x104 mov r3, r0 mov r4, r1 mov r6, r2 add r0, sp, #4 mov r1, r3 mov r2, #1 bl sub_020175F8 mov r2, #2 ldr r0, _02016BB4 ; =_020AF760 str r2, [sp] ldr r0, [r0, #4] add r3, sp, #4 mov r1, r4 bl sub_0201770C bl sub_020164AC ldr r0, _02016BB4 ; =_020AF760 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0xb000 str r1, [r0, #0x150] bl sub_0201F36C ldr r1, _02016BB4 ; =_020AF760 ldr r1, [r1, #4] add r1, r1, #0xb000 strh r0, [r1, #0x90] bl sub_0201F36C ldr r1, _02016BB4 ; =_020AF760 ldr r1, [r1, #4] add r1, r1, #0xb000 strh r0, [r1, #0xc0] bl sub_0201F36C ldr r2, _02016BB4 ; =_020AF760 ldr r1, [r2, #4] add r1, r1, #0xb000 strh r0, [r1, #0x60] ldr r1, [r2, #4] add r0, r1, #0x90 add r5, r0, #0xb000 add r0, r1, #0xb000 ldrsh r0, [r0, #0x90] bl sub_0201F324 mov r1, #0 mov r4, r0 strb r1, [r4, #0x3c] mov r2, r1 mov r3, #2 bl sub_0201604C ldrsh r0, [r4, #0x1a] mov r2, #0x20 mov r1, #1 add r0, r0, r0, lsr #31 mov r3, r0, asr #1 rsb r0, r3, #0 strh r0, [r4] strh r2, [r4, #2] strb r1, [r4, #0x3e] strh r3, [r4, #8] mov r0, #0 strh r0, [r4, #0xa] mov r0, #0x21 strh r0, [r4, #0x2a] ldrsh r0, [r4] mov r2, #0x6000 mov r1, #0xff00 mov r0, r0, lsl #8 str r0, [r5, #4] ldrsh r3, [r4, #2] ldr r0, _02016BB4 ; =_020AF760 mov r3, r3, lsl #8 str r3, [r5, #8] str r2, [r5, #0xc] ldr r2, [r5, #8] str r2, [r5, #0x10] str r1, [r5, #0x24] ldr r1, [r0, #4] add r0, r1, #0x30c0 add r5, r0, #0x8000 add r0, r1, #0xb000 ldrsh r0, [r0, #0xc0] bl sub_0201F324 mov r1, #0x1000 mov r2, #0 mov r3, #2 mov r4, r0 bl sub_0201604C ldrsh r0, [r4, #0x1a] mov r2, #0 mov r1, #0x52 add r0, r0, r0, lsr #31 mov r3, r0, asr #1 strb r2, [r4, #0x3c] add r0, r3, #0x100 strh r0, [r4] strh r1, [r4, #2] mov r0, #1 strb r0, [r4, #0x3e] strh r3, [r4, #8] strh r2, [r4, #0xa] mov r0, #0x21 strh r0, [r4, #0x2a] ldrsh r0, [r4] mov r2, #0xa000 mov r1, #0xff00 mov r0, r0, lsl #8 str r0, [r5, #4] ldrsh r3, [r4, #2] ldr r0, _02016BB4 ; =_020AF760 mov r3, r3, lsl #8 str r3, [r5, #8] str r2, [r5, #0xc] ldr r2, [r5, #8] str r2, [r5, #0x10] str r1, [r5, #0x24] ldr r1, [r0, #4] add r0, r1, #0xb000 add r1, r1, #0x60 ldrsh r0, [r0, #0x60] add r5, r1, #0xb000 bl sub_0201F324 mov r4, r0 mov r1, #2 strb r1, [r4, #0x3c] mvn r1, #0xff strh r1, [r4] mov r1, #0x3b strh r1, [r4, #2] mov r1, #0x100 strh r1, [r4, #4] mov r1, #1 strh r1, [r4, #6] strb r1, [r4, #0x3e] mov r2, #0x21 mov r1, r6 strh r2, [r4, #0x2a] bl sub_02016118 ldrsh r1, [r4] mov r2, #0x1800 mov r0, #0xff00 mov r1, r1, lsl #8 str r1, [r5, #4] ldrsh r4, [r4, #2] ldr r1, _02016BB4 ; =_020AF760 mov r3, #0x100 mov r4, r4, lsl #8 str r4, [r5, #8] str r2, [r5, #0x14] str r0, [r5, #0x24] ldr r0, [r1, #4] mov r2, #0x10 add r0, r0, #0xb000 str r3, [r0, #0x154] ldr r0, [r1, #4] add r0, r0, #0xb000 str r2, [r0, #0x20] add sp, sp, #0x104 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02016BB4: .word _020AF760 arm_func_end sub_0201693C arm_func_start sub_02016BB8 sub_02016BB8: ; 0x02016BB8 stmdb sp!, {r3, lr} ldr r0, _02016BEC ; =_020AF760 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0201F2E4 ldr r0, _02016BEC ; =_020AF760 ldr r0, [r0, #4] bl MemFree ldr r0, _02016BEC ; =_020AF760 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02016BEC: .word _020AF760 arm_func_end sub_02016BB8 arm_func_start sub_02016BF0 sub_02016BF0: ; 0x02016BF0 stmdb sp!, {r4, r5, r6, lr} ldr r0, _02016EA8 ; =_020AF760 ldr r1, [r0, #4] cmp r1, #0 beq _02016EA0 add r2, r1, #0xb000 ldrsh r0, [r2, #0x60] add r1, r1, #0x60 add r6, r1, #0xb000 ldr r5, [r2, #0x154] bl sub_0201F324 ldrb r1, [r6, #0x28] mov r4, r0 cmp r1, #1 beq _02016C44 cmp r1, #2 beq _02016C78 cmp r1, #3 moveq r0, #0 streqb r0, [r6, #0x28] b _02016C94 _02016C44: ldr r1, [r6, #4] ldr r0, [r6, #0x14] adds r0, r1, r0 str r0, [r6, #4] bmi _02016C94 ldrb r2, [r6, #0x28] mov r1, #0 mov r0, #0x2d add r2, r2, #1 strb r2, [r6, #0x28] str r1, [r6, #4] str r0, [r6, #0x2c] b _02016C94 _02016C78: ldr r1, [r6, #0x2c] sub r0, r1, #1 str r0, [r6, #0x2c] cmp r1, #0 ldreqb r0, [r6, #0x28] addeq r0, r0, #1 streqb r0, [r6, #0x28] _02016C94: ldr r2, [r6, #4] mov r1, r5 mov r0, r2, asr #7 add r0, r2, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r4] ldr r2, [r6, #0x24] mov r0, r2, asr #7 add r0, r2, r0, lsr #24 mov r0, r0, asr #8 bl MultiplyByFixedPoint ldr r1, _02016EA8 ; =_020AF760 strb r0, [r4, #0x2f] ldr r0, [r1, #4] mov r2, #0 add r1, r0, #0xb000 add r0, r0, #0x90 ldr r1, [r1, #0x154] add r0, r0, #0xb000 bl sub_020177AC ldr r2, _02016EA8 ; =_020AF760 ldr r0, [r2, #4] add r0, r0, #0xb000 ldr r3, [r0, #0x94] mov r1, r3, asr #7 add r1, r3, r1, lsr #24 mov r1, r1, asr #8 cmp r1, #0x80 blt _02016D48 mov r1, #0 str r1, [r0, #0xa4] ldr r0, [r2, #4] mov r1, #0x8000 add r0, r0, #0xb000 str r1, [r0, #0x94] ldr r4, [r2, #4] add r0, r4, #0xb000 ldrsh r0, [r0, #0x90] bl sub_0201F324 add r1, r4, #0xb000 ldr r2, [r1, #0x94] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0] _02016D48: ldr r0, _02016EA8 ; =_020AF760 ldr r2, [r0, #4] add r0, r2, #0xb000 ldrsh r0, [r0, #0xc0] add r1, r2, #0x90 add r2, r2, #0x30c0 add r5, r1, #0xb000 add r4, r2, #0x8000 bl sub_0201F324 ldr r1, [r5, #4] ldr r2, _02016EA8 ; =_020AF760 rsb r3, r1, #0x10000 mov r1, r3, asr #7 add r1, r3, r1, lsr #24 str r3, [r4, #4] mov r1, r1, asr #8 strh r1, [r0] ldr r0, [r2, #4] add r1, r0, #0xb000 ldr r3, [r1, #0x20] cmp r3, #0x14 bhi _02016DCC subs r0, r3, #0x10 addpl pc, pc, r0, lsl #2 b _02016DC0 _02016DAC: ; jump table b _02016DE0 ; case 0 b _02016E00 ; case 1 b _02016E38 ; case 2 b _02016E64 ; case 3 b _02016E84 ; case 4 _02016DC0: cmp r3, #0 beq _02016DD8 b _02016E98 _02016DCC: cmp r3, #0xff beq _02016E90 b _02016E98 _02016DD8: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02016DE0: mov r0, #1 strb r0, [r1, #0x88] ldr r0, [r2, #4] add r0, r0, #0xb000 ldr r1, [r0, #0x20] add r1, r1, #1 str r1, [r0, #0x20] b _02016E98 _02016E00: ldrb r0, [r1, #0x88] cmp r0, #0 bne _02016E98 mov r3, #1 strb r3, [r1, #0xb8] ldr r0, [r2, #4] add r0, r0, #0xb000 strb r3, [r0, #0xe8] ldr r0, [r2, #4] add r0, r0, #0xb000 ldr r1, [r0, #0x20] add r1, r1, #1 str r1, [r0, #0x20] b _02016E98 _02016E38: ldrb r0, [r1, #0xb8] cmp r0, #2 bne _02016E98 mov r0, #0x3c str r0, [r1, #0x150] ldr r0, [r2, #4] add r0, r0, #0xb000 ldr r1, [r0, #0x20] add r1, r1, #1 str r1, [r0, #0x20] b _02016E98 _02016E64: ldr r2, [r1, #0x94] mov r0, r2, asr #7 add r0, r2, r0, lsr #24 mov r0, r0, asr #8 cmp r0, #0x80 addge r0, r3, #1 strge r0, [r1, #0x20] b _02016E98 _02016E84: mov r0, #0xff str r0, [r1, #0x20] b _02016E98 _02016E90: mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _02016E98: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02016EA0: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02016EA8: .word _020AF760 arm_func_end sub_02016BF0 arm_func_start sub_02016EAC sub_02016EAC: ; 0x02016EAC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 bl sub_020168C8 ldr r0, _02017128 ; =0x00000A7C mov r1, #0 bl MemAlloc ldr r2, _0201712C ; =_020AF760 ldr r1, _02017128 ; =0x00000A7C str r0, [r2, #8] bl MemZero ldr r0, _02017130 ; =WAN_TABLE ldr r1, _02017134 ; =_02099110 ldr r0, [r0] mov r2, #0 bl LoadWanTableEntry ldr r1, _0201712C ; =_020AF760 ldr r2, _02017130 ; =WAN_TABLE ldr r3, [r1, #8] ldr r1, _02017138 ; =_02099124 strh r0, [r3, #0x94] ldr r0, [r2] mov r2, #0 bl LoadWanTableEntry ldr r1, _0201712C ; =_020AF760 ldr r1, [r1, #8] strh r0, [r1, #0x96] bl sub_02015F18 ldr r0, _0201712C ; =_020AF760 ldr r0, [r0, #8] add r0, r0, #0x98 bl sub_0201C0B0 ldr r0, _0201712C ; =_020AF760 ldr r1, [r0, #8] add r0, r1, #0x98 ldrsh r1, [r1, #0x94] bl SetSpriteIdForAnimationControl mov r0, #1 str r0, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] ldr r0, _0201712C ; =_020AF760 str r2, [sp, #0xc] ldr r0, [r0, #8] mov r1, #0xc mov r3, #0x100 add r0, r0, #0x98 bl SetAnimationForAnimationControl ldr r0, _0201712C ; =_020AF760 mov r4, #0xd0 ldr r2, [r0, #8] mov r3, #0x6a strh r4, [r2, #0xb4] ldr r2, [r0, #8] mov r1, #0 strh r3, [r2, #0xb6] ldr r0, [r0, #8] add r0, r0, #0x98 bl sub_0201D12C ldr r0, _0201712C ; =_020AF760 ldr r5, _0201713C ; =_02098FC8 ldr r7, [r0, #8] mov sb, #0 add r6, r7, #0x114 mov fp, #1 _02016FB0: mov r0, #0x7c mla r8, sb, r0, r6 mov r0, r8 bl sub_0201C0B0 ldrsh r1, [r7, #0x94] mov r0, r8 bl SetSpriteIdForAnimationControl mov r0, #0xc mul r4, sb, r0 add sl, r5, r4 bl Rand16Bit mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #25 str fp, [sp] add r0, r1, r0, ror #25 stmib sp, {r0, fp} mov r0, #0 str r0, [sp, #0xc] ldr r1, [r5, r4] mov r0, r8 mov r2, #0 mov r3, #0x100 bl SetAnimationForAnimationControl ldr r1, [sl, #4] mov r0, r8 strh r1, [r8, #0x1c] ldr r2, [sl, #8] mov r1, #0 strh r2, [r8, #0x1e] bl sub_0201D12C add sb, sb, #1 cmp sb, #7 blt _02016FB0 ldr r0, _0201712C ; =_020AF760 ldr r4, _02017140 ; =_02099080 ldr r7, [r0, #8] mov sb, #0 add r0, r7, #0x7c add r6, r0, #0x400 mov r5, #0x40 mov fp, #0xc _02017054: mov r0, #0x7c mla r8, sb, r0, r6 mov r0, r8 bl sub_0201C0B0 ldrsh r1, [r7, #0x96] mov r0, r8 bl SetSpriteIdForAnimationControl strh r5, [r8, #0x38] mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] mul r0, sb, fp mov r2, #0 ldr r1, [r4, r0] add sl, r4, r0 mov r0, r8 mov r3, r2 bl SetAnimationForAnimationControl ldr r0, [sl, #4] cmp sb, #6 strh r0, [r8, #0x1c] ldr r0, [sl, #8] strh r0, [r8, #0x1e] blt _020170D8 add r3, r7, sb, lsl #2 ldr r2, [r3, #0xa34] mov r0, r8 mov r1, #0 str r2, [r3, #0xa4c] bl sub_0201D12C b _020170FC _020170D8: bl Rand16Bit mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #28 add r2, r1, r0, ror #28 add r1, r7, sb, lsl #2 str r2, [r1, #0xa4c] mov r0, r8 mov r1, #1 bl sub_0201D12C _020170FC: add sb, sb, #1 cmp sb, #0xc blt _02017054 mov r0, #2 bl sub_0206AA5C bl sub_0206AB98 bl sub_0206ABB0 mov r0, #0x2d bl sub_0206ADA0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02017128: .word 0x00000A7C _0201712C: .word _020AF760 _02017130: .word WAN_TABLE _02017134: .word _02099110 _02017138: .word _02099124 _0201713C: .word _02098FC8 _02017140: .word _02099080 arm_func_end sub_02016EAC arm_func_start sub_02017144 sub_02017144: ; 0x02017144 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x104 mov r2, r0 mov r4, r1 mov r1, r2 add r0, sp, #4 mov r2, #1 bl sub_020175F8 mov r1, #0 str r1, [sp] ldr r0, _02017310 ; =_020AF760 add r3, sp, #4 ldr r0, [r0, #4] mov r1, r4 mov r2, #2 bl sub_0201770C bl sub_020164AC ldr r0, _02017310 ; =_020AF760 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0xb000 str r1, [r0, #0x150] bl sub_0201F36C ldr r1, _02017310 ; =_020AF760 ldr r1, [r1, #4] add r1, r1, #0xb000 strh r0, [r1, #0x90] bl sub_0201F36C ldr r1, _02017310 ; =_020AF760 ldr r1, [r1, #4] add r1, r1, #0xb000 strh r0, [r1, #0xc0] bl sub_0201F36C ldr r2, _02017310 ; =_020AF760 ldr r1, [r2, #4] add r1, r1, #0xb000 strh r0, [r1, #0x60] ldr r1, [r2, #4] add r0, r1, #0x90 add r5, r0, #0xb000 add r0, r1, #0xb000 ldrsh r0, [r0, #0x90] bl sub_0201F324 mov r1, #0 mov r4, r0 strb r1, [r4, #0x3c] sub r2, r1, #0x100 strh r2, [r4] mov r2, #0x20 strh r2, [r4, #2] mov r2, #1 strb r2, [r4, #0x3e] mov r3, #0x21 strh r3, [r4, #0x2a] mov r3, #2 bl sub_0201604C ldrsh r0, [r4] mov r2, #0x2000 mov r1, #0xff00 mov r0, r0, lsl #8 str r0, [r5, #4] ldrsh r3, [r4, #2] ldr r0, _02017310 ; =_020AF760 mov r3, r3, lsl #8 str r3, [r5, #8] str r2, [r5, #0xc] ldr r2, [r5, #8] str r2, [r5, #0x10] str r1, [r5, #0x24] ldr r1, [r0, #4] add r0, r1, #0x30c0 add r5, r0, #0x8000 add r0, r1, #0xb000 ldrsh r0, [r0, #0xc0] bl sub_0201F324 mov r4, r0 mov r2, #0 strb r2, [r4, #0x3c] mov r1, #0x180 strh r1, [r4] mov r1, #0x52 strh r1, [r4, #2] mov r1, #0x80 strh r1, [r4, #8] strh r2, [r4, #0xa] mov r1, #0x21 strh r1, [r4, #0x2a] mov r1, #1 strb r1, [r4, #0x3e] mov r1, #0x1000 mov r3, #2 bl sub_0201604C ldrsh r1, [r4] mov r2, #0x8000 mov r0, #0xff00 mov r1, r1, lsl #8 str r1, [r5, #4] ldrsh r4, [r4, #2] ldr r1, _02017310 ; =_020AF760 mov r3, #0x100 mov r4, r4, lsl #8 str r4, [r5, #8] str r2, [r5, #0xc] ldr r4, [r5, #8] mov r2, #0x10 str r4, [r5, #0x10] str r0, [r5, #0x24] ldr r0, [r1, #4] add r0, r0, #0xb000 str r3, [r0, #0x154] ldr r0, [r1, #4] add r0, r0, #0xb000 str r2, [r0, #0x20] add sp, sp, #0x104 ldmia sp!, {r4, r5, pc} .align 2, 0 _02017310: .word _020AF760 arm_func_end sub_02017144 arm_func_start sub_02017314 sub_02017314: ; 0x02017314 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 ldr r0, _02017588 ; =_020AF760 ldr r0, [r0, #4] cmp r0, #0 beq _0201757C bl sub_0206ADB8 bl sub_0206AD4C cmp r0, #0 bne _0201757C ldr r0, _02017588 ; =_020AF760 mov r2, #1 ldmib r0, {r3, r4} add r1, r3, #0xb000 add r0, r3, #0x90 ldr r1, [r1, #0x154] add r0, r0, #0xb000 bl sub_020177AC ldr r0, _02017588 ; =_020AF760 mov r2, #1 ldr r0, [r0, #4] add r1, r0, #0xb000 add r0, r0, #0x30c0 ldr r1, [r1, #0x154] add r0, r0, #0x8000 bl sub_020177AC ldr r1, _02017588 ; =_020AF760 ldr r5, [r1, #4] add r0, r5, #0xb000 ldr r3, [r0, #0x20] cmp r3, #0x13 bhi _020173BC subs r2, r3, #0x10 addpl pc, pc, r2, lsl #2 b _020173B0 _020173A0: ; jump table b _020173D0 ; case 0 b _020173FC ; case 1 b _02017438 ; case 2 b _02017464 ; case 3 _020173B0: cmp r3, #0 beq _020173C8 b _020174A8 _020173BC: cmp r3, #0xff beq _020174A0 b _020174A8 _020173C8: mov r0, #0 b _02017580 _020173D0: mov r2, #1 strb r2, [r0, #0xb8] ldr r0, [r1, #4] add r0, r0, #0xb000 strb r2, [r0, #0xe8] ldr r0, [r1, #4] add r0, r0, #0xb000 ldr r1, [r0, #0x20] add r1, r1, #1 str r1, [r0, #0x20] b _020174A8 _020173FC: ldr r1, [r0, #0xd4] cmp r1, #0 ldrne r0, [r0, #0xa4] cmpne r0, #0 bne _020174A8 add r0, r5, #0xb000 ldr r2, [r0, #0x20] ldr r1, _02017588 ; =_020AF760 add r2, r2, #1 str r2, [r0, #0x20] ldr r0, [r1, #4] mov r1, #0x14 add r0, r0, #0xb000 str r1, [r0, #0x150] b _020174A8 _02017438: ldr r2, [r0, #0x150] sub r2, r2, #1 str r2, [r0, #0x150] ldr r0, [r1, #4] add r0, r0, #0xb000 ldr r1, [r0, #0x150] cmp r1, #0 ldreq r1, [r0, #0x20] addeq r1, r1, #1 streq r1, [r0, #0x20] b _020174A8 _02017464: add r0, r4, #0x98 bl sub_0201CF5C add r0, r4, #0x98 bl sub_0201D1B0 cmp r0, #0 bne _020174A8 ldr r0, _02017588 ; =_020AF760 mov r1, #1 ldr r0, [r0, #4] add r0, r0, #0xb000 ldr r2, [r0, #0x20] add r2, r2, #1 str r2, [r0, #0x20] strb r1, [r4, #0x478] b _020174A8 _020174A0: mov r0, #2 b _02017580 _020174A8: ldrb r0, [r4, #0x478] cmp r0, #0 beq _020174D4 mov r7, #0 add r6, r4, #0x114 mov r5, #0x7c _020174C0: mla r0, r7, r5, r6 bl sub_0201CF5C add r7, r7, #1 cmp r7, #7 blt _020174C0 _020174D4: mov r8, #0 add r0, r4, #0x7c add r7, r0, #0x400 mov fp, r8 mov r6, #1 mov r5, #0x7c _020174EC: add r1, r4, r8, lsl #2 ldr r0, [r1, #0xa4c] cmp r0, #0 bne _02017560 mla sb, r8, r5, r7 mov r0, sb bl sub_0201D1B0 cmp r0, #0 bne _02017554 ldrsh sl, [sb, #0x78] cmp sl, #0 beq _02017554 and r0, sl, #1 cmp r0, #1 mov r0, sb addeq sl, sl, #1 bl sub_0201C108 str fp, [sp] str fp, [sp, #4] str r6, [sp, #8] mov r0, sb mov r1, sl mov r2, fp mov r3, fp str fp, [sp, #0xc] bl SetAnimationForAnimationControl _02017554: mov r0, sb bl sub_0201CF5C b _02017568 _02017560: sub r0, r0, #1 str r0, [r1, #0xa4c] _02017568: add r8, r8, #1 cmp r8, #0xc blt _020174EC mov r0, #1 b _02017580 _0201757C: mov r0, #0 _02017580: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02017588: .word _020AF760 arm_func_end sub_02017314 arm_func_start sub_0201758C sub_0201758C: ; 0x0201758C stmdb sp!, {r3, lr} ldr r0, _020175F0 ; =_020AF760 ldr r1, [r0, #8] cmp r1, #0 beq _020175E4 ldr r0, _020175F4 ; =WAN_TABLE ldrsh r1, [r1, #0x94] ldr r0, [r0] bl DeleteWanTableEntryVeneer ldr r0, _020175F0 ; =_020AF760 ldr r1, _020175F4 ; =WAN_TABLE ldr r2, [r0, #8] ldr r0, [r1] ldrsh r1, [r2, #0x96] bl DeleteWanTableEntryVeneer ldr r0, _020175F0 ; =_020AF760 ldr r0, [r0, #8] bl MemFree ldr r0, _020175F0 ; =_020AF760 mov r1, #0 str r1, [r0, #8] bl ov10_022BDADC _020175E4: bl sub_0206BA5C bl sub_02016BB8 ldmia sp!, {r3, pc} .align 2, 0 _020175F0: .word _020AF760 _020175F4: .word WAN_TABLE arm_func_end sub_0201758C arm_func_start sub_020175F8 sub_020175F8: ; 0x020175F8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x80 cmp r2, #0 ldrne r5, _020176D4 ; =0x00000171 mov r6, r0 mov sb, r1 mvn r0, #0 ldreq r5, _020176D8 ; =0x0000016F cmp sb, r0 beq _020176B0 mov r0, sb mov r1, #0x64 add r4, sp, #0 bl __udivsi3 and r8, r0, #0xff mov r0, sb mov r1, #0xa bl __udivsi3 and r7, r0, #0xff mov r0, sb mov r1, #0xa bl __udivsi3 cmp r8, #0 addne r0, r8, #0x30 strneb r0, [r4], #1 cmp r7, #0 addne r0, r7, #0x30 and r1, r1, #0xff strneb r0, [r4], #1 bne _0201767C cmp r8, #0 addne r0, r7, #0x30 strneb r0, [r4], #1 _0201767C: add r2, r1, #0x30 strb r2, [r4] mov r2, #0 add r0, sp, #0x40 mov r1, r5 strb r2, [r4, #1] bl GetStringFromFileVeneer ldr r1, _020176DC ; =_02099138 add r2, sp, #0x40 add r3, sp, #0 mov r0, r6 bl SprintfStatic__020176E4 b _020176CC _020176B0: add r0, sp, #0x40 mov r1, #0x170 bl GetStringFromFileVeneer ldr r1, _020176E0 ; =_02099140 add r2, sp, #0x40 mov r0, r6 bl SprintfStatic__020176E4 _020176CC: add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _020176D4: .word 0x00000171 _020176D8: .word 0x0000016F _020176DC: .word _02099138 _020176E0: .word _02099140 arm_func_end sub_020175F8 arm_func_start SprintfStatic__020176E4 SprintfStatic__020176E4: ; 0x020176E4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__020176E4 arm_func_start sub_0201770C sub_0201770C: ; 0x0201770C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r1, #0x6000 mov r7, r0 mov r5, r2 mov r4, r3 bl MemZero ldr r2, [sp, #0x18] mov r1, #0 mov r0, r7 str r2, [sp] mov r2, r1 mov r3, r4 bl sub_0201578C add r0, r7, #0x6000 mov r1, r7 mov r2, #0x20 bl sub_02015FDC add r0, r7, #0x6000 mov r1, #0 mov r2, #0x1000 bl sub_02016038 mov r0, r7 mov r1, #0x6000 bl MemZero str r5, [sp] mov r3, r6 mov r0, r7 mov r1, #0 mov r2, r1 bl sub_0201578C add r0, r7, #0x7000 mov r1, r7 mov r2, #0x80 bl sub_02015FDC add r0, r7, #0x7000 mov r1, #0x1000 mov r2, #0x4000 bl sub_02016038 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0201770C arm_func_start sub_020177AC sub_020177AC: ; 0x020177AC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 ldrsh r0, [r6] mov r5, r1 mov r7, r2 bl sub_0201F324 ldrb r1, [r6, #0x28] mov r4, r0 cmp r1, #1 beq _020177E8 cmp r1, #2 beq _02017848 cmp r1, #3 beq _02017858 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020177E8: cmp r7, #0 mov r3, #0x80 beq _02017820 mov r0, #0 str r0, [sp] ldr r1, [r6, #4] ldr r2, [r6, #0xc] add r0, r6, #0x14 bl ov00_022C2528 cmp r0, #0 ldrneb r0, [r6, #0x28] addne r0, r0, #1 strneb r0, [r6, #0x28] b _02017868 _02017820: str r3, [sp] ldr r1, [r6, #4] ldr r2, [r6, #0xc] add r0, r6, #0x14 bl ov00_022C2528 cmp r0, #0 ldrneb r0, [r6, #0x28] addne r0, r0, #1 strneb r0, [r6, #0x28] b _02017868 _02017848: cmp r5, #0 addeq r0, r1, #1 streqb r0, [r6, #0x28] b _02017868 _02017858: mov r0, #0xff strb r0, [r6, #0x28] mov r0, #0 str r0, [r6, #0x14] _02017868: ldr r2, [r6, #4] ldr r0, [r6, #0x14] mov r1, r5 add r2, r2, r0 mov r0, r2, asr #7 add r0, r2, r0, lsr #24 str r2, [r6, #4] mov r0, r0, asr #8 strh r0, [r4] ldr r2, [r6, #0x24] mov r0, r2, asr #7 add r0, r2, r0, lsr #24 mov r0, r0, asr #8 bl MultiplyByFixedPoint strb r0, [r4, #0x2f] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020177AC arm_func_start sub_020178A8 sub_020178A8: ; 0x020178A8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x104 mov r5, r1 and r1, r5, #0xff mov r7, r0 bl sub_0204F77C mov r6, r0 cmp r6, r7 and r4, r5, #0xff beq _020178DC bl GetNbFloors cmp r0, #1 moveq r4, #0 _020178DC: mov r1, r7 and r2, r5, #0xff mov r0, #2 bl sub_0204F6F8 mov r5, r0 mov r0, r6 bl DungeonGoesUp cmp r0, #0 ldrne r0, _020179FC ; =_020AF76C ldrne r7, [r0] ldreq r0, _020179FC ; =_020AF76C ldreq r7, [r0, #4] cmp r4, #0xa blo _02017954 mov r0, r4 mov r1, #0xa bl __divsi3 mov r6, r0 mov r0, r4 mov r1, #0xa bl __divsi3 add r1, r1, #0x30 ldr r0, _020179FC ; =_020AF76C str r1, [sp] ldr r1, [r0, #8] add r0, sp, #4 mov r2, r7 add r3, r6, #0x30 bl SprintfStatic__02017A40 b _0201797C _02017954: cmp r4, #0 moveq r0, #0 streqb r0, [sp, #4] beq _0201797C ldr r1, _020179FC ; =_020AF76C add r0, sp, #4 ldr r1, [r1, #0xc] mov r2, r7 add r3, r4, #0x30 bl SprintfStatic__02017A40 _0201797C: bl sub_02015570 cmp r4, #0 mov r0, r5 beq _020179D4 bl sub_020155FC mov r1, #0x18 mul r1, r0, r1 add r0, r1, #0x38 rsb r4, r0, #0xc0 mov r0, r4, asr #1 mov r1, r5 bl sub_02015E44 sub r1, r0, #1 mov r0, #0x18 mul r0, r1, r0 add r0, r0, r4, asr #1 add r1, r0, #0x20 add r2, sp, #4 mov r0, #0 mov r3, #2 bl sub_02015D18 b _020179F0 _020179D4: bl sub_020155FC mov r1, #0x18 mul r1, r0, r1 rsb r0, r1, #0xc0 mov r1, r5 mov r0, r0, asr #1 bl sub_02015E44 _020179F0: bl sub_02015E6C add sp, sp, #0x104 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _020179FC: .word _020AF76C arm_func_end sub_020178A8 arm_func_start sub_02017A00 sub_02017A00: ; 0x02017A00 stmdb sp!, {r3, lr} bl sub_02015570 ldr r1, _02017A1C ; =0x000044BD mov r0, #0x3e bl sub_02015E44 bl sub_02015E6C ldmia sp!, {r3, pc} .align 2, 0 _02017A1C: .word 0x000044BD arm_func_end sub_02017A00 arm_func_start sub_02017A20 sub_02017A20: ; 0x02017A20 stmdb sp!, {r3, lr} bl sub_02015570 ldr r1, _02017A3C ; =0x000044BE mov r0, #0x3e bl sub_02015E44 bl sub_02015E6C ldmia sp!, {r3, pc} .align 2, 0 _02017A3C: .word 0x000044BE arm_func_end sub_02017A20 arm_func_start SprintfStatic__02017A40 SprintfStatic__02017A40: ; 0x02017A40 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02017A40 arm_func_start sub_02017A68 sub_02017A68: ; 0x02017A68 ldr r0, _02017A7C ; =_022A4BE8 mov r1, #0 strh r1, [r0, #2] strh r1, [r0] bx lr .align 2, 0 _02017A7C: .word _022A4BE8 arm_func_end sub_02017A68 arm_func_start sub_02017A80 sub_02017A80: ; 0x02017A80 ldr r0, _02017AAC ; =_022A4BE8 ldrsh r1, [r0, #2] cmp r1, #0 subgt r1, r1, #1 strgth r1, [r0, #2] ldr r0, _02017AAC ; =_022A4BE8 ldrsh r1, [r0] cmp r1, #0 subgt r1, r1, #1 strgth r1, [r0] bx lr .align 2, 0 _02017AAC: .word _022A4BE8 arm_func_end sub_02017A80 arm_func_start sub_02017AB0 sub_02017AB0: ; 0x02017AB0 stmdb sp!, {r3, lr} bl sub_02017EE8 bl sub_02018118 bl sub_02018278 mov r0, #0x3f00 bl sub_02018428 ldmia sp!, {r3, pc} arm_func_end sub_02017AB0 arm_func_start sub_02017ACC sub_02017ACC: ; 0x02017ACC stmdb sp!, {r4, lr} mov r4, r0 bl sub_02017F28 mov r0, r4 bl sub_02018158 ldr r0, _02017AFC ; =0x000003E6 mov r1, r4 bl sub_02018460 mov r1, r4 mov r0, #0x3f00 bl sub_02018460 ldmia sp!, {r4, pc} .align 2, 0 _02017AFC: .word 0x000003E6 arm_func_end sub_02017ACC arm_func_start sub_02017B00 sub_02017B00: ; 0x02017B00 ldr ip, _02017B08 ; =sub_02017D80 bx ip .align 2, 0 _02017B08: .word sub_02017D80 arm_func_end sub_02017B00 arm_func_start sub_02017B0C sub_02017B0C: ; 0x02017B0C ldr ip, _02017B14 ; =sub_02017DE8 bx ip .align 2, 0 _02017B14: .word sub_02017DE8 arm_func_end sub_02017B0C arm_func_start sub_02017B18 sub_02017B18: ; 0x02017B18 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02017D80 ldr r1, _02017B54 ; =0x000003E7 cmp r4, r1 bne _02017B40 cmp r0, r1 movne r0, #1 moveq r0, #0 b _02017B4C _02017B40: cmp r0, r4 moveq r0, #1 movne r0, #0 _02017B4C: and r0, r0, #0xff ldmia sp!, {r4, pc} .align 2, 0 _02017B54: .word 0x000003E7 arm_func_end sub_02017B18 arm_func_start sub_02017B58 sub_02017B58: ; 0x02017B58 ldr ip, _02017B60 ; =sub_02017DF4 bx ip .align 2, 0 _02017B60: .word sub_02017DF4 arm_func_end sub_02017B58 arm_func_start sub_02017B64 sub_02017B64: ; 0x02017B64 ldr ip, _02017B6C ; =SendAudioCommandWrapper bx ip .align 2, 0 _02017B6C: .word SendAudioCommandWrapper arm_func_end sub_02017B64 arm_func_start sub_02017B70 sub_02017B70: ; 0x02017B70 ldr ip, _02017B78 ; =sub_02017EE8 bx ip .align 2, 0 _02017B78: .word sub_02017EE8 arm_func_end sub_02017B70 arm_func_start sub_02017B7C sub_02017B7C: ; 0x02017B7C ldr ip, _02017B84 ; =sub_02017F28 bx ip .align 2, 0 _02017B84: .word sub_02017F28 arm_func_end sub_02017B7C arm_func_start sub_02017B88 sub_02017B88: ; 0x02017B88 ldr ip, _02017B90 ; =sub_02017F64 bx ip .align 2, 0 _02017B90: .word sub_02017F64 arm_func_end sub_02017B88 arm_func_start sub_02017B94 sub_02017B94: ; 0x02017B94 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02017FBC ldr r1, _02017BD0 ; =0x000003E7 cmp r4, r1 bne _02017BBC cmp r0, r1 movne r0, #1 moveq r0, #0 b _02017BC8 _02017BBC: cmp r0, r4 moveq r0, #1 movne r0, #0 _02017BC8: and r0, r0, #0xff ldmia sp!, {r4, pc} .align 2, 0 _02017BD0: .word 0x000003E7 arm_func_end sub_02017B94 arm_func_start sub_02017BD4 sub_02017BD4: ; 0x02017BD4 ldr ip, _02017BDC ; =sub_02018024 bx ip .align 2, 0 _02017BDC: .word sub_02018024 arm_func_end sub_02017BD4 arm_func_start SendAudioCommandWrapperVeneer SendAudioCommandWrapperVeneer: ; 0x02017BE0 ldr ip, _02017BE8 ; =sub_020180A0 bx ip .align 2, 0 _02017BE8: .word sub_020180A0 arm_func_end SendAudioCommandWrapperVeneer arm_func_start sub_02017BEC sub_02017BEC: ; 0x02017BEC ldr ip, _02017BF4 ; =sub_02018118 bx ip .align 2, 0 _02017BF4: .word sub_02018118 arm_func_end sub_02017BEC arm_func_start sub_02017BF8 sub_02017BF8: ; 0x02017BF8 ldr ip, _02017C00 ; =sub_02018158 bx ip .align 2, 0 _02017C00: .word sub_02018158 arm_func_end sub_02017BF8 arm_func_start sub_02017C04 sub_02017C04: ; 0x02017C04 ldr ip, _02017C0C ; =sub_02018194 bx ip .align 2, 0 _02017C0C: .word sub_02018194 arm_func_end sub_02017C04 arm_func_start sub_02017C10 sub_02017C10: ; 0x02017C10 stmdb sp!, {r4, lr} mov r4, r0 bl sub_020181E0 ldr r1, _02017C4C ; =0x000003E6 cmp r4, r1 bne _02017C38 cmp r0, r1 movne r0, #1 moveq r0, #0 b _02017C44 _02017C38: cmp r0, r4 moveq r0, #1 movne r0, #0 _02017C44: and r0, r0, #0xff ldmia sp!, {r4, pc} .align 2, 0 _02017C4C: .word 0x000003E6 arm_func_end sub_02017C10 arm_func_start sub_02017C50 sub_02017C50: ; 0x02017C50 ldr ip, _02017C58 ; =sub_0201820C bx ip .align 2, 0 _02017C58: .word sub_0201820C arm_func_end sub_02017C50 arm_func_start sub_02017C5C sub_02017C5C: ; 0x02017C5C ldr ip, _02017C64 ; =sub_02018278 bx ip .align 2, 0 _02017C64: .word sub_02018278 arm_func_end sub_02017C5C arm_func_start sub_02017C68 sub_02017C68: ; 0x02017C68 ldr ip, _02017C70 ; =sub_020182AC bx ip .align 2, 0 _02017C70: .word sub_020182AC arm_func_end sub_02017C68 arm_func_start sub_02017C74 sub_02017C74: ; 0x02017C74 ldr ip, _02017C7C ; =sub_020182B8 bx ip .align 2, 0 _02017C7C: .word sub_020182B8 arm_func_end sub_02017C74 arm_func_start sub_02017C80 sub_02017C80: ; 0x02017C80 ldr ip, _02017C8C ; =sub_020182B8 mov r1, #0x100 bx ip .align 2, 0 _02017C8C: .word sub_020182B8 arm_func_end sub_02017C80 arm_func_start sub_02017C90 sub_02017C90: ; 0x02017C90 ldr ip, _02017C98 ; =sub_0201831C bx ip .align 2, 0 _02017C98: .word sub_0201831C arm_func_end sub_02017C90 arm_func_start sub_02017C9C sub_02017C9C: ; 0x02017C9C ldr ip, _02017CA4 ; =sub_020183A0 bx ip .align 2, 0 _02017CA4: .word sub_020183A0 arm_func_end sub_02017C9C arm_func_start sub_02017CA8 sub_02017CA8: ; 0x02017CA8 ldr ip, _02017CB0 ; =sub_020183E4 bx ip .align 2, 0 _02017CB0: .word sub_020183E4 arm_func_end sub_02017CA8 arm_func_start sub_02017CB4 sub_02017CB4: ; 0x02017CB4 ldr ip, _02017CBC ; =sub_02018428 bx ip .align 2, 0 _02017CBC: .word sub_02018428 arm_func_end sub_02017CB4 arm_func_start sub_02017CC0 sub_02017CC0: ; 0x02017CC0 ldr ip, _02017CC8 ; =sub_02018460 bx ip .align 2, 0 _02017CC8: .word sub_02018460 arm_func_end sub_02017CC0 arm_func_start sub_02017CCC sub_02017CCC: ; 0x02017CCC ldr r1, _02017CE4 ; =_0209915C mov r0, r0, lsl #1 ldrh r0, [r1, r0] ldr ip, _02017CE8 ; =sub_020182B8 mov r1, #0x100 bx ip .align 2, 0 _02017CE4: .word _0209915C _02017CE8: .word sub_020182B8 arm_func_end sub_02017CCC arm_func_start sub_02017CEC sub_02017CEC: ; 0x02017CEC stmdb sp!, {r3, lr} ldr r2, _02017D18 ; =_022A4BE8 ldrsh r0, [r2] cmp r0, #0 ldmgtia sp!, {r3, pc} ldr r0, _02017D1C ; =0x00003F05 mov r3, #3 mov r1, #0x100 strh r3, [r2] bl sub_020182B8 ldmia sp!, {r3, pc} .align 2, 0 _02017D18: .word _022A4BE8 _02017D1C: .word 0x00003F05 arm_func_end sub_02017CEC arm_func_start sub_02017D20 sub_02017D20: ; 0x02017D20 stmdb sp!, {r3, lr} bl sub_020184CC bl sub_02018B50 ldr r2, _02017D74 ; =0x000003E7 ldr r0, _02017D78 ; =_022A4BEC mov r1, #0 strh r2, [r0] strh r2, [r0, #2] strh r1, [r0, #4] strh r2, [r0, #6] strh r2, [r0, #8] strh r1, [r0, #0xa] sub r1, r2, #1 strh r1, [r0, #0xc] mov r1, #0x3f00 strh r1, [r0, #0x10] bl sub_02018C0C ldr r0, _02017D7C ; =_020AF77C mov r1, #1 strb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02017D74: .word 0x000003E7 _02017D78: .word _022A4BEC _02017D7C: .word _020AF77C arm_func_end sub_02017D20 arm_func_start sub_02017D80 sub_02017D80: ; 0x02017D80 stmdb sp!, {r3, lr} bl sub_02019824 ldr r2, _02017DAC ; =0x000003E7 cmp r0, r2 ldreq r1, _02017DB0 ; =_022A4BEC moveq r0, r2 streqh r2, [r1] ldrne r0, _02017DB0 ; =_022A4BEC streqh r2, [r1, #2] ldrneh r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02017DAC: .word 0x000003E7 _02017DB0: .word _022A4BEC arm_func_end sub_02017D80 arm_func_start sub_02017DB4 sub_02017DB4: ; 0x02017DB4 stmdb sp!, {r3, lr} bl sub_02019824 ldr r2, _02017DE0 ; =0x000003E7 cmp r0, r2 ldreq r1, _02017DE4 ; =_022A4BEC moveq r0, r2 streqh r2, [r1] ldrne r0, _02017DE4 ; =_022A4BEC streqh r2, [r1, #2] ldrneh r0, [r0, #2] ldmia sp!, {r3, pc} .align 2, 0 _02017DE0: .word 0x000003E7 _02017DE4: .word _022A4BEC arm_func_end sub_02017DB4 arm_func_start sub_02017DE8 sub_02017DE8: ; 0x02017DE8 ldr ip, _02017DF0 ; =sub_02019850 bx ip .align 2, 0 _02017DF0: .word sub_02019850 arm_func_end sub_02017DE8 arm_func_start sub_02017DF4 sub_02017DF4: ; 0x02017DF4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02017E68 ; =0x000003E7 mov r5, r0 cmp r5, r1 ldrne r0, _02017E6C ; =_022A4BEC ldrneh r0, [r0, #2] cmpne r5, r0 ldmeqia sp!, {r3, r4, r5, pc} bl sub_02018B50 ldr r1, _02017E6C ; =_022A4BEC mov r2, #0x100 strh r5, [r1] strh r5, [r1, #2] mov r0, #3 strh r2, [r1, #4] bl AllocAudioCommand mov r4, r0 mov r0, #3 strh r5, [r4, #4] bl GetDebugFlag cmp r0, #0 movne r1, #0 moveq r1, #0x100 strh r1, [r4, #6] mov r1, #0 mov r0, r4 strh r1, [r4, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02017E68: .word 0x000003E7 _02017E6C: .word _022A4BEC arm_func_end sub_02017DF4 arm_func_start SendAudioCommandWrapper SendAudioCommandWrapper: ; 0x02017E70 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02017EE0 ; =0x000003E7 mov r6, r0 cmp r6, r3 ldrne r0, _02017EE4 ; =_022A4BEC mov r5, r1 ldrneh r0, [r0, #2] mov r4, r2 cmpne r6, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl sub_02018B50 ldr r1, _02017EE4 ; =_022A4BEC mov r0, #3 strh r6, [r1] strh r6, [r1, #2] strh r4, [r1, #4] bl AllocAudioCommand mov r7, r0 mov r0, #3 strh r6, [r7, #4] bl GetDebugFlag cmp r0, #0 movne r4, #0 strh r4, [r7, #6] mov r0, r7 strh r5, [r7, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02017EE0: .word 0x000003E7 _02017EE4: .word _022A4BEC arm_func_end SendAudioCommandWrapper arm_func_start sub_02017EE8 sub_02017EE8: ; 0x02017EE8 stmdb sp!, {r3, lr} bl sub_02018B50 ldr r0, _02017F20 ; =0x000003E7 ldr r1, _02017F24 ; =_022A4BEC mov r2, #0 strh r0, [r1] strh r0, [r1, #2] mov r0, #5 strh r2, [r1, #4] bl AllocAudioCommand mov r1, #0 strh r1, [r0, #8] bl SendAudioCommand ldmia sp!, {r3, pc} .align 2, 0 _02017F20: .word 0x000003E7 _02017F24: .word _022A4BEC arm_func_end sub_02017EE8 arm_func_start sub_02017F28 sub_02017F28: ; 0x02017F28 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02018B50 ldr r2, _02017F5C ; =0x000003E7 ldr r0, _02017F60 ; =_022A4BEC mov r1, #0 strh r2, [r0, #2] strh r1, [r0, #4] mov r0, #5 bl AllocAudioCommand strh r4, [r0, #8] bl SendAudioCommand ldmia sp!, {r4, pc} .align 2, 0 _02017F5C: .word 0x000003E7 _02017F60: .word _022A4BEC arm_func_end sub_02017F28 arm_func_start sub_02017F64 sub_02017F64: ; 0x02017F64 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02017FA8 ; =_022A4BEC ldr r2, _02017FAC ; =0x000003E7 ldrh r3, [r3, #2] mov r5, r0 mov r4, r1 cmp r3, r2 ldmeqia sp!, {r3, r4, r5, pc} bl sub_02018B50 ldr r1, _02017FA8 ; =_022A4BEC mov r0, #6 strh r4, [r1, #4] bl AllocAudioCommand strh r4, [r0, #6] strh r5, [r0, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02017FA8: .word _022A4BEC _02017FAC: .word 0x000003E7 arm_func_end sub_02017F64 arm_func_start sub_02017FB0 sub_02017FB0: ; 0x02017FB0 ldr ip, _02017FB8 ; =sub_02019D04 bx ip .align 2, 0 _02017FB8: .word sub_02019D04 arm_func_end sub_02017FB0 arm_func_start sub_02017FBC sub_02017FBC: ; 0x02017FBC stmdb sp!, {r3, lr} bl sub_02019D58 ldr r2, _02017FE8 ; =0x000003E7 cmp r0, r2 ldreq r1, _02017FEC ; =_022A4BEC moveq r0, r2 streqh r2, [r1, #6] ldrne r0, _02017FEC ; =_022A4BEC streqh r2, [r1, #8] ldrneh r0, [r0, #6] ldmia sp!, {r3, pc} .align 2, 0 _02017FE8: .word 0x000003E7 _02017FEC: .word _022A4BEC arm_func_end sub_02017FBC arm_func_start sub_02017FF0 sub_02017FF0: ; 0x02017FF0 stmdb sp!, {r3, lr} bl sub_02019D58 ldr r2, _0201801C ; =0x000003E7 cmp r0, r2 ldreq r1, _02018020 ; =_022A4BEC moveq r0, r2 streqh r2, [r1, #6] ldrne r0, _02018020 ; =_022A4BEC streqh r2, [r1, #8] ldrneh r0, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _0201801C: .word 0x000003E7 _02018020: .word _022A4BEC arm_func_end sub_02017FF0 arm_func_start sub_02018024 sub_02018024: ; 0x02018024 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02018098 ; =0x000003E7 mov r5, r0 cmp r5, r1 ldrne r0, _0201809C ; =_022A4BEC ldrneh r0, [r0, #8] cmpne r5, r0 ldmeqia sp!, {r3, r4, r5, pc} bl sub_02018B50 ldr r1, _0201809C ; =_022A4BEC mov r2, #0x100 strh r5, [r1, #6] strh r5, [r1, #8] mov r0, #7 strh r2, [r1, #0xa] bl AllocAudioCommand mov r4, r0 mov r0, #3 strh r5, [r4, #4] bl GetDebugFlag cmp r0, #0 movne r1, #0 moveq r1, #0x100 strh r1, [r4, #6] mov r1, #0 mov r0, r4 strh r1, [r4, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02018098: .word 0x000003E7 _0201809C: .word _022A4BEC arm_func_end sub_02018024 arm_func_start sub_020180A0 sub_020180A0: ; 0x020180A0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02018110 ; =0x000003E7 mov r6, r0 cmp r6, r3 ldrne r0, _02018114 ; =_022A4BEC mov r5, r1 ldrneh r0, [r0, #8] mov r4, r2 cmpne r6, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl sub_02018B50 ldr r1, _02018114 ; =_022A4BEC mov r0, #7 strh r6, [r1, #6] strh r6, [r1, #8] strh r4, [r1, #0xa] bl AllocAudioCommand mov r7, r0 mov r0, #3 strh r6, [r7, #4] bl GetDebugFlag cmp r0, #0 movne r4, #0 strh r4, [r7, #6] mov r0, r7 strh r5, [r7, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02018110: .word 0x000003E7 _02018114: .word _022A4BEC arm_func_end sub_020180A0 arm_func_start sub_02018118 sub_02018118: ; 0x02018118 stmdb sp!, {r3, lr} bl sub_02018B50 ldr r0, _02018150 ; =0x000003E7 ldr r1, _02018154 ; =_022A4BEC mov r2, #0 strh r0, [r1, #6] strh r0, [r1, #8] mov r0, #9 strh r2, [r1, #0xa] bl AllocAudioCommand mov r1, #0 strh r1, [r0, #8] bl SendAudioCommand ldmia sp!, {r3, pc} .align 2, 0 _02018150: .word 0x000003E7 _02018154: .word _022A4BEC arm_func_end sub_02018118 arm_func_start sub_02018158 sub_02018158: ; 0x02018158 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02018B50 ldr r2, _0201818C ; =0x000003E7 ldr r0, _02018190 ; =_022A4BEC mov r1, #0 strh r2, [r0, #8] strh r1, [r0, #0xa] mov r0, #9 bl AllocAudioCommand strh r4, [r0, #8] bl SendAudioCommand ldmia sp!, {r4, pc} .align 2, 0 _0201818C: .word 0x000003E7 _02018190: .word _022A4BEC arm_func_end sub_02018158 arm_func_start sub_02018194 sub_02018194: ; 0x02018194 stmdb sp!, {r3, r4, r5, lr} ldr r3, _020181D8 ; =_022A4BEC ldr r2, _020181DC ; =0x000003E7 ldrh r3, [r3, #8] mov r5, r0 mov r4, r1 cmp r3, r2 ldmeqia sp!, {r3, r4, r5, pc} bl sub_02018B50 ldr r1, _020181D8 ; =_022A4BEC mov r0, #0xa strh r4, [r1, #0xa] bl AllocAudioCommand strh r4, [r0, #6] strh r5, [r0, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020181D8: .word _022A4BEC _020181DC: .word 0x000003E7 arm_func_end sub_02018194 arm_func_start sub_020181E0 sub_020181E0: ; 0x020181E0 stmdb sp!, {r3, lr} bl sub_0201A19C ldr r1, _02018204 ; =0x000003E6 cmp r0, r1 ldreq r0, _02018208 ; =_022A4BEC streqh r1, [r0, #0xc] ldrne r0, _02018208 ; =_022A4BEC ldrh r0, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _02018204: .word 0x000003E6 _02018208: .word _022A4BEC arm_func_end sub_020181E0 arm_func_start sub_0201820C sub_0201820C: ; 0x0201820C stmdb sp!, {r3, r4, r5, lr} ldr r1, _02018270 ; =0x000003E6 mov r5, r0 cmp r5, r1 ldmeqia sp!, {r3, r4, r5, pc} cmp r5, #0xd ldmhiia sp!, {r3, r4, r5, pc} bl sub_02018B50 ldr r1, _02018274 ; =_022A4BEC mov r0, #0xb strh r5, [r1, #0xc] bl AllocAudioCommand mov r4, r0 mov r0, #3 strh r5, [r4, #4] bl GetDebugFlag cmp r0, #0 movne r1, #0 moveq r1, #0x100 strh r1, [r4, #6] mov r1, #0 mov r0, r4 strh r1, [r4, #8] bl SendAudioCommand ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02018270: .word 0x000003E6 _02018274: .word _022A4BEC arm_func_end sub_0201820C arm_func_start sub_02018278 sub_02018278: ; 0x02018278 stmdb sp!, {r3, lr} bl sub_02018B50 ldr r2, _020182A4 ; =0x000003E6 ldr r1, _020182A8 ; =_022A4BEC mov r0, #0xc strh r2, [r1, #0xc] bl AllocAudioCommand mov r1, #0 strh r1, [r0, #8] bl SendAudioCommand ldmia sp!, {r3, pc} .align 2, 0 _020182A4: .word 0x000003E6 _020182A8: .word _022A4BEC arm_func_end sub_02018278 arm_func_start sub_020182AC sub_020182AC: ; 0x020182AC ldr ip, _020182B4 ; =sub_0201A480 bx ip .align 2, 0 _020182B4: .word sub_0201A480 arm_func_end sub_020182AC arm_func_start sub_020182B8 sub_020182B8: ; 0x020182B8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 ldr r1, _02018318 ; =_0209916C mov r2, r6 mov r3, r5 mov r0, #8 bl DebugPrint cmp r6, #0x3f00 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #0xd cmp r5, #0x100 movhi r5, #0x100 bl sub_02018A78 mov r4, r0 mov r0, #4 strh r6, [r4, #4] bl GetDebugFlag cmp r0, #0 movne r5, #0 mov r0, r4 strh r5, [r4, #8] bl sub_02018AE4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02018318: .word _0209916C arm_func_end sub_020182B8 arm_func_start sub_0201831C sub_0201831C: ; 0x0201831C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 mov r8, r0 mov r6, r2 mov r7, r1 mov r5, r3 str r6, [sp] ldr r1, _0201839C ; =_0209918C mov r2, r8 mov r3, r7 mov r0, #8 str r5, [sp, #4] bl DebugPrint cmp r8, #0x3f00 beq _02018394 mov r0, #0xe cmp r6, #0x100 movhi r6, #0x100 bl sub_02018A78 mov r4, r0 strh r8, [r4, #4] mov r0, #4 strh r7, [r4, #6] bl GetDebugFlag cmp r0, #0 movne r6, #0 strh r6, [r4, #8] mov r0, r4 strh r5, [r4, #0xa] bl sub_02018AE4 _02018394: add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0201839C: .word _0209918C arm_func_end sub_0201831C arm_func_start sub_020183A0 sub_020183A0: ; 0x020183A0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r4, r2 mov r5, r1 ldr r1, _020183E0 ; =_020991C8 mov r2, r6 mov r3, r4 mov r0, #8 bl DebugPrint mov r0, #0x10 bl sub_02018A78 strh r6, [r0, #4] strh r5, [r0, #6] strh r4, [r0, #8] bl sub_02018AE4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020183E0: .word _020991C8 arm_func_end sub_020183A0 arm_func_start sub_020183E4 sub_020183E4: ; 0x020183E4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r4, r2 mov r5, r1 ldr r1, _02018424 ; =_020991F0 mov r2, r6 mov r3, r4 mov r0, #8 bl DebugPrint mov r0, #0x11 bl sub_02018A78 strh r6, [r0, #4] strh r5, [r0, #6] strh r4, [r0, #0xa] bl sub_02018AE4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02018424: .word _020991F0 arm_func_end sub_020183E4 arm_func_start sub_02018428 sub_02018428: ; 0x02018428 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _0201845C ; =_02099210 mov r2, r4 mov r0, #8 bl DebugPrint mov r0, #0xf bl sub_02018A78 strh r4, [r0, #4] mov r1, #0 strh r1, [r0, #6] bl sub_02018AE4 ldmia sp!, {r4, pc} .align 2, 0 _0201845C: .word _02099210 arm_func_end sub_02018428 arm_func_start sub_02018460 sub_02018460: ; 0x02018460 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r1, _02018498 ; =_02099224 mov r2, r5 mov r3, r4 mov r0, #8 bl DebugPrint mov r0, #0xf bl sub_02018A78 strh r5, [r0, #4] strh r4, [r0, #6] bl sub_02018AE4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02018498: .word _02099224 arm_func_end sub_02018460 arm_func_start sub_0201849C sub_0201849C: ; 0x0201849C ldr ip, _020184A4 ; =sub_0201906C bx ip .align 2, 0 _020184A4: .word sub_0201906C arm_func_end sub_0201849C arm_func_start sub_020184A8 sub_020184A8: ; 0x020184A8 ldr ip, _020184B0 ; =sub_02019260 bx ip .align 2, 0 _020184B0: .word sub_02019260 arm_func_end sub_020184A8 arm_func_start sub_020184B4 sub_020184B4: ; 0x020184B4 ldr ip, _020184BC ; =sub_0201929C bx ip .align 2, 0 _020184BC: .word sub_0201929C arm_func_end sub_020184B4 arm_func_start sub_020184C0 sub_020184C0: ; 0x020184C0 ldr ip, _020184C8 ; =sub_020192D0 bx ip .align 2, 0 _020184C8: .word sub_020192D0 arm_func_end sub_020184C0 arm_func_start sub_020184CC sub_020184CC: ; 0x020184CC stmdb sp!, {r3, lr} bl InitSoundSystem ldr r0, _020185CC ; =_020AF7C0 bl sub_02002C40 ldr r0, _020185D0 ; =_022A4C00 mov r1, #0x11 bl sub_02002F34 ldr r0, _020185D4 ; =_022A4C28 mov r1, #0x11 bl sub_02002F34 mov r1, #0x10 ldr r0, _020185D8 ; =_020AF7E4 mov r2, r1 bl sub_02002A9C mov r2, #0 ldr r1, _020185DC ; =_022A4C50 mov r0, r2 _02018510: add r2, r2, #1 cmp r2, #0x10 str r0, [r1], #0x20 blt _02018510 ldr r0, _020185E0 ; =_020AF780 ldr r1, _020185E4 ; =0x00000701 ldr r0, [r0, #0x34] bl MemAlloc ldr r2, _020185E0 ; =_020AF780 ldr r1, _020185E4 ; =0x00000701 str r0, [r2, #0x30] ldr r0, [r2, #0xc] bl MemAlloc ldr r2, _020185E0 ; =_020AF780 ldr r1, _020185E4 ; =0x00000701 str r0, [r2, #8] ldr r0, [r2, #0x20] bl MemAlloc ldr r2, _020185E0 ; =_020AF780 ldr r1, _020185E8 ; =_020AF7AC str r0, [r2, #0x1c] ldr r0, _020185EC ; =_020AF96C mov r2, #0 bl sub_02002778 ldr r0, _020185F0 ; =_020AFA48 ldr r1, _020185F4 ; =_020AF784 mov r2, #0 bl sub_02002778 ldr r0, _020185F8 ; =_020AF890 ldr r1, _020185FC ; =_020AF798 mov r2, #0 bl sub_02002778 ldr r0, _020185CC ; =_020AF7C0 bl sub_02002E98 ldr r0, _020185EC ; =_020AF96C bl sub_020027E8 ldr r0, _020185CC ; =_020AF7C0 bl sub_02002CB4 ldr r0, _020185CC ; =_020AF7C0 mov r1, #8 bl sub_02002CAC ldr r0, _020185CC ; =_020AF7C0 bl sub_02002E98 mov r1, #1 ldr r0, _020185E0 ; =_020AF780 strb r1, [r0, #1] ldmia sp!, {r3, pc} .align 2, 0 _020185CC: .word _020AF7C0 _020185D0: .word _022A4C00 _020185D4: .word _022A4C28 _020185D8: .word _020AF7E4 _020185DC: .word _022A4C50 _020185E0: .word _020AF780 _020185E4: .word 0x00000701 _020185E8: .word _020AF7AC _020185EC: .word _020AF96C _020185F0: .word _020AFA48 _020185F4: .word _020AF784 _020185F8: .word _020AF890 _020185FC: .word _020AF798 arm_func_end sub_020184CC arm_func_start sub_02018600 sub_02018600: ; 0x02018600 stmdb sp!, {r3, lr} bl ManipBgmPlayback ldr r0, _02018624 ; =_020AFA48 bl sub_020027E8 ldr r0, _02018628 ; =_020AF890 bl sub_020027E8 _02018618: bl sub_02003AB0 bl ManipBgmPlayback b _02018618 .align 2, 0 _02018624: .word _020AFA48 _02018628: .word _020AF890 arm_func_end sub_02018600 arm_func_start sub_0201862C sub_0201862C: ; 0x0201862C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov fp, #1 ldr sl, _020187F0 ; =_022A4C28 ldr sb, _020187F4 ; =_022A4C00 ldr r4, _020187F8 ; =_020AF780 mov r6, #2 mov r5, #0 add r8, sp, #0 mov r7, fp _02018650: mov r0, sb mov r1, r8 mov r2, r7 bl sub_02002F98 ldr r0, [sp] ldr r0, [r0] cmp r0, #1 ldreqb r0, [r4, #1] beq _02018650 mov r0, r6 bl GetDebugFlag cmp r0, #0 bne _020187D0 ldr r1, [sp] ldr r0, [r1] cmp r0, #0x11 addls pc, pc, r0, lsl #2 b _020187D0 _02018698: ; jump table b _020187D0 ; case 0 b _020187D0 ; case 1 b _020186E0 ; case 2 b _020186E0 ; case 3 b _020186E0 ; case 4 b _020186E0 ; case 5 b _020186E0 ; case 6 b _020186E0 ; case 7 b _020186E0 ; case 8 b _020186E0 ; case 9 b _020186E0 ; case 10 b _020186E0 ; case 11 b _020186E0 ; case 12 b _020186F0 ; case 13 b _020186F0 ; case 14 b _02018790 ; case 15 b _020186F0 ; case 16 b _020186F0 ; case 17 _020186E0: mov r0, sl mov r2, fp bl sub_02002F7C b _02018650 _020186F0: ldrh r0, [r1, #4] bl sub_0201AAA0 cmp r0, #0 bne _02018714 ldr r1, [sp] mov r0, sl mov r2, #1 bl sub_02002F7C b _02018650 _02018714: ldr r3, [sp] ldr r0, [r3] sub r0, r0, #0xd cmp r0, #4 addls pc, pc, r0, lsl #2 b _020187D0 _0201872C: ; jump table b _02018740 ; case 0 b _02018750 ; case 1 b _020187D0 ; case 2 b _02018768 ; case 3 b _0201877C ; case 4 _02018740: ldrh r0, [r3, #4] ldrh r1, [r3, #8] bl PlaySe b _020187D0 _02018750: ldrh r0, [r3, #4] ldrh r1, [r3, #6] ldrh r2, [r3, #8] ldrsh r3, [r3, #0xa] bl PlaySeFullSpec b _020187D0 _02018768: ldrh r0, [r3, #4] ldrh r1, [r3, #6] ldrh r2, [r3, #8] bl SeChangeVolume b _020187D0 _0201877C: ldrh r0, [r3, #4] ldrh r1, [r3, #6] ldrsh r2, [r3, #0xa] bl SeChangePan b _020187D0 _02018790: ldrh r0, [r1, #4] cmp r0, #0x3f00 beq _020187BC bl sub_0201AAA0 cmp r0, #0 beq _020187BC ldr r1, [sp] ldrh r0, [r1, #4] ldrh r1, [r1, #6] bl StopSe b _020187D0 _020187BC: ldr r1, [sp] mov r0, sl mov r2, #1 bl sub_02002F7C b _02018650 _020187D0: ldr r0, _020187FC ; =_020AF7C0 bl sub_02002CB4 ldr r1, [sp] ldr r0, _020187FC ; =_020AF7C0 str r5, [r1] ldr r1, _02018800 ; =_020AF7E4 bl sub_02002ECC b _02018650 .align 2, 0 _020187F0: .word _022A4C28 _020187F4: .word _022A4C00 _020187F8: .word _020AF780 _020187FC: .word _020AF7C0 _02018800: .word _020AF7E4 arm_func_end sub_0201862C arm_func_start sub_02018804 sub_02018804: ; 0x02018804 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 _0201880C: ldr r0, _02018A64 ; =_022A4C28 add r1, sp, #0 mov r2, #1 bl sub_02002F98 ldr r3, [sp] ldr r0, [r3] cmp r0, #0x11 addls pc, pc, r0, lsl #2 b _02018A40 _02018830: ; jump table b _02018A40 ; case 0 b _02018A40 ; case 1 b _02018878 ; case 2 b _02018880 ; case 3 b _020188B4 ; case 4 b _02018900 ; case 5 b _0201890C ; case 6 b _0201891C ; case 7 b _02018950 ; case 8 b _0201899C ; case 9 b _020189A8 ; case 10 b _020189B8 ; case 11 b _020189D0 ; case 12 b _020189DC ; case 13 b _020189F0 ; case 14 b _02018A0C ; case 15 b _02018A1C ; case 16 b _02018A30 ; case 17 _02018878: bl SoundDriverReset b _02018A40 _02018880: ldr r4, _02018A68 ; =0x000003E6 b _0201888C _02018888: bl sub_02003AB0 _0201888C: bl sub_0201A19C cmp r0, r4 bne _02018888 ldr r2, [sp] ldrh r0, [r2, #4] ldrh r1, [r2, #8] ldrh r2, [r2, #6] bl PlayBgm bl sub_02003AB0 b _02018A40 _020188B4: ldr r4, _02018A68 ; =0x000003E6 b _020188C0 _020188BC: bl sub_02003AB0 _020188C0: bl sub_0201A19C cmp r0, r4 bne _020188BC ldr r4, _02018A6C ; =0x000003E7 b _020188D8 _020188D4: bl sub_02003AB0 _020188D8: bl sub_02019824 cmp r0, r4 bne _020188D4 ldr r2, [sp] ldrh r0, [r2, #4] ldrh r1, [r2, #8] ldrh r2, [r2, #6] bl PlayBgm bl sub_02003AB0 b _02018A40 _02018900: ldrh r0, [r3, #8] bl StopBgm b _02018A40 _0201890C: ldrh r0, [r3, #8] ldrh r1, [r3, #6] bl ChangeBgm b _02018A40 _0201891C: ldr r4, _02018A68 ; =0x000003E6 b _02018928 _02018924: bl sub_02003AB0 _02018928: bl sub_0201A19C cmp r0, r4 bne _02018924 ldr r2, [sp] ldrh r0, [r2, #4] ldrh r1, [r2, #8] ldrh r2, [r2, #6] bl PlayBgm2 bl sub_02003AB0 b _02018A40 _02018950: ldr r4, _02018A68 ; =0x000003E6 b _0201895C _02018958: bl sub_02003AB0 _0201895C: bl sub_0201A19C cmp r0, r4 bne _02018958 ldr r4, _02018A6C ; =0x000003E7 b _02018974 _02018970: bl sub_02003AB0 _02018974: bl sub_02019D58 cmp r0, r4 bne _02018970 ldr r2, [sp] ldrh r0, [r2, #4] ldrh r1, [r2, #8] ldrh r2, [r2, #6] bl PlayBgm2 bl sub_02003AB0 b _02018A40 _0201899C: ldrh r0, [r3, #8] bl StopBgm2 b _02018A40 _020189A8: ldrh r0, [r3, #8] ldrh r1, [r3, #6] bl ChangeBgm2 b _02018A40 _020189B8: ldrh r0, [r3, #4] ldrh r1, [r3, #8] ldrh r2, [r3, #6] bl PlayME bl sub_02003AB0 b _02018A40 _020189D0: ldrh r0, [r3, #8] bl StopME b _02018A40 _020189DC: ldrh r0, [r3, #4] ldrh r1, [r3, #8] bl PlaySe bl sub_02003AB0 b _02018A40 _020189F0: ldrh r0, [r3, #4] ldrh r1, [r3, #6] ldrh r2, [r3, #8] ldrsh r3, [r3, #0xa] bl PlaySeFullSpec bl sub_02003AB0 b _02018A40 _02018A0C: ldrh r0, [r3, #4] ldrh r1, [r3, #6] bl StopSe b _02018A40 _02018A1C: ldrh r0, [r3, #4] ldrh r1, [r3, #6] ldrh r2, [r3, #8] bl SeChangeVolume b _02018A40 _02018A30: ldrh r0, [r3, #4] ldrh r1, [r3, #6] ldrsh r2, [r3, #0xa] bl SeChangePan _02018A40: ldr r0, _02018A70 ; =_020AF7C0 bl sub_02002CB4 ldr r2, [sp] mov r3, #0 ldr r0, _02018A70 ; =_020AF7C0 ldr r1, _02018A74 ; =_020AF7E4 str r3, [r2] bl sub_02002ECC b _0201880C .align 2, 0 _02018A64: .word _022A4C28 _02018A68: .word 0x000003E6 _02018A6C: .word 0x000003E7 _02018A70: .word _020AF7C0 _02018A74: .word _020AF7E4 arm_func_end sub_02018804 arm_func_start sub_02018A78 sub_02018A78: ; 0x02018A78 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, _02018AD8 ; =_020AF7C0 ldr r1, _02018ADC ; =_020AF7E4 bl sub_02002D14 mov r1, #0 ldr r4, _02018AE0 ; =_022A4C50 b _02018AC0 _02018A98: ldr r0, [r4] cmp r0, #0 bne _02018AB8 ldr r0, _02018AD8 ; =_020AF7C0 str r5, [r4] bl sub_02002E98 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} _02018AB8: add r1, r1, #1 add r4, r4, #0x20 _02018AC0: cmp r1, #0x10 blt _02018A98 ldr r0, _02018AD8 ; =_020AF7C0 bl sub_02002E98 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02018AD8: .word _020AF7C0 _02018ADC: .word _020AF7E4 _02018AE0: .word _022A4C50 arm_func_end sub_02018A78 arm_func_start sub_02018AE4 sub_02018AE4: ; 0x02018AE4 stmdb sp!, {r4, lr} ldr r1, _02018B3C ; =_022A4C00 mov r4, r0 ldr r2, [r1, #0x24] ldr r0, [r1, #0x14] cmp r2, r0 bne _02018B0C ldr r0, _02018B40 ; =_022A4C00 ldr r1, _02018B44 ; =_02099240 bl sub_02002FB4 _02018B0C: ldr r0, _02018B48 ; =_020AF7C0 bl sub_02002CB4 ldr r1, _02018B4C ; =_020AF780 mov r2, #1 ldr r0, _02018B48 ; =_020AF7C0 strb r2, [r1] bl sub_02002E98 ldr r0, _02018B40 ; =_022A4C00 mov r1, r4 mov r2, #1 bl sub_02002F7C ldmia sp!, {r4, pc} .align 2, 0 _02018B3C: .word _022A4C00 _02018B40: .word _022A4C00 _02018B44: .word _02099240 _02018B48: .word _020AF7C0 _02018B4C: .word _020AF780 arm_func_end sub_02018AE4 arm_func_start sub_02018B50 sub_02018B50: ; 0x02018B50 ldr ip, _02018B60 ; =sub_02002D14 ldr r0, _02018B64 ; =_020AF7C0 ldr r1, _02018B68 ; =_020AF7E4 bx ip .align 2, 0 _02018B60: .word sub_02002D14 _02018B64: .word _020AF7C0 _02018B68: .word _020AF7E4 arm_func_end sub_02018B50 arm_func_start AllocAudioCommand AllocAudioCommand: ; 0x02018B6C mov r3, #0 ldr r2, _02018BA4 ; =_022A4C50 b _02018B94 _02018B78: ldr r1, [r2] cmp r1, #0 streq r0, [r2] moveq r0, r2 bxeq lr add r3, r3, #1 add r2, r2, #0x20 _02018B94: cmp r3, #0x10 blt _02018B78 mov r0, #0 bx lr .align 2, 0 _02018BA4: .word _022A4C50 arm_func_end AllocAudioCommand arm_func_start SendAudioCommand SendAudioCommand: ; 0x02018BA8 stmdb sp!, {r4, lr} ldr r1, _02018BF8 ; =_022A4C00 mov r4, r0 ldr r2, [r1, #0x24] ldr r0, [r1, #0x14] cmp r2, r0 bne _02018BD0 ldr r0, _02018BFC ; =_022A4C00 ldr r1, _02018C00 ; =_02099240 bl sub_02002FB4 _02018BD0: ldr r1, _02018C04 ; =_020AF780 mov r2, #1 ldr r0, _02018C08 ; =_020AF7C0 strb r2, [r1] bl sub_02002E98 ldr r0, _02018BFC ; =_022A4C00 mov r1, r4 mov r2, #1 bl sub_02002F7C ldmia sp!, {r4, pc} .align 2, 0 _02018BF8: .word _022A4C00 _02018BFC: .word _022A4C00 _02018C00: .word _02099240 _02018C04: .word _020AF780 _02018C08: .word _020AF7C0 arm_func_end SendAudioCommand arm_func_start sub_02018C0C sub_02018C0C: ; 0x02018C0C ldr ip, _02018C1C ; =sub_02002ECC ldr r0, _02018C20 ; =_020AF7C0 ldr r1, _02018C24 ; =_020AF7E4 bx ip .align 2, 0 _02018C1C: .word sub_02002ECC _02018C20: .word _020AF7C0 _02018C24: .word _020AF7E4 arm_func_end sub_02018C0C arm_func_start InitSoundSystem InitSoundSystem: ; 0x02018C28 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 ldr r0, _02018E44 ; =_020AFB28 bl sub_02002C40 ldr r0, _02018E44 ; =_020AFB28 mov r1, #4 bl sub_02002CAC bl sub_0207CC10 ldr r0, _02018E48 ; =0x0000FFFF mov r1, #0 bl sub_0207C9C4 add r0, sp, #0x10 bl sub_0206C1C0 mov r0, #0x10000 mov r1, #2 bl MemAlloc ldr r2, _02018E4C ; =_022A4E50 mov r1, #0x3c000 str r0, [r2] mov r0, #0 mov r2, #0x14 mov r3, #2 bl MemArenaAlloc ldr r1, _02018E4C ; =_022A4E50 mov r2, #0x10000 str r0, [r1, #4] ldr r1, [r1] add r0, sp, #0x10 bl sub_0206C33C add r0, sp, #0x10 mov r1, #0 mov r2, #4 bl sub_0206C36C add r0, sp, #0x10 mov r1, #0 mov r2, #0xf bl sub_0206C39C add r0, sp, #0x10 bl sub_0206C3E0 ldr r1, _02018E50 ; =_0209939C add r0, sp, #8 bl sub_02019314 mov r1, #0 ldr r0, [sp, #8] mov r2, r1 bl sub_0206D108 mov r1, r0 ldr r2, _02018E54 ; =_022A4E58 ldr r0, _02018E58 ; =_020993B4 str r1, [r2, #0x80] bl DebugPrint0 ldr r1, _02018E5C ; =_020993D0 add r0, sp, #8 bl sub_02019314 ldr r0, [sp, #8] bl sub_0206EA18 mov r1, r0 ldr r0, _02018E54 ; =_022A4E58 str r1, [r0, #0x7c] ldr r0, _02018E60 ; =_020993E8 bl DebugPrint0 ldr r1, _02018E64 ; =_02099404 add r0, sp, #0 bl sub_02019314 mov r1, #0 ldr r0, [sp] mov r2, r1 bl sub_0206D108 mov r1, r0 ldr r2, _02018E54 ; =_022A4E58 ldr r0, _02018E68 ; =_02099418 str r1, [r2, #0x8c] bl DebugPrint0 ldr r1, _02018E6C ; =_02099434 add r0, sp, #0 bl sub_02019314 ldr r0, [sp] bl sub_0206EA18 mov r1, r0 ldr r2, _02018E54 ; =_022A4E58 ldr r0, _02018E70 ; =_02099448 str r1, [r2, #0x88] bl DebugPrint0 ldr r0, _02018E54 ; =_022A4E58 mov r2, #0 str r2, [r0, #0xc4] str r2, [r0, #0x18] str r2, [r0, #0x1c] str r2, [r0, #0x44] ldr r1, _02018E74 ; =0x000003E7 str r2, [r0, #0x64] strh r1, [r0, #0x20] strh r1, [r0, #0x48] sub r1, r1, #1 strh r1, [r0, #0x68] str r2, [r0, #0x94] mov r1, #0x3f00 strh r1, [r0, #0x98] strh r1, [r0, #0x9a] ldr r0, _02018E78 ; =_022A4E7C bl ZInit8 ldr r0, _02018E7C ; =_022A4E84 bl ZInit8 ldr r0, _02018E80 ; =_022A4E8C bl ZInit8 ldr r0, _02018E84 ; =_022A4EA4 bl ZInit8 ldr r0, _02018E88 ; =_022A4EAC bl ZInit8 ldr r0, _02018E8C ; =_022A4EB4 bl ZInit8 ldr r0, _02018E90 ; =_022A4EC4 bl ZInit8 ldr r0, _02018E94 ; =_022A4ECC bl ZInit8 ldr r0, _02018E98 ; =_022A4EF4 bl ZInit8 ldr r4, _02018E9C ; =_022A4EFC mov r5, #0 _02018E04: add r0, r4, r5, lsl #3 bl ZInit8 add r5, r5, #1 cmp r5, #4 blt _02018E04 mov r1, #0 ldr r0, _02018EA0 ; =_020AFB4C mov r2, r1 mov r3, r1 bl sub_0206CED0 ldr r1, _02018E54 ; =_022A4E58 str r0, [r1, #4] ldr r0, _02018E44 ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02018E44: .word _020AFB28 _02018E48: .word 0x0000FFFF _02018E4C: .word _022A4E50 _02018E50: .word _0209939C _02018E54: .word _022A4E58 _02018E58: .word _020993B4 _02018E5C: .word _020993D0 _02018E60: .word _020993E8 _02018E64: .word _02099404 _02018E68: .word _02099418 _02018E6C: .word _02099434 _02018E70: .word _02099448 _02018E74: .word 0x000003E7 _02018E78: .word _022A4E7C _02018E7C: .word _022A4E84 _02018E80: .word _022A4E8C _02018E84: .word _022A4EA4 _02018E88: .word _022A4EAC _02018E8C: .word _022A4EB4 _02018E90: .word _022A4EC4 _02018E94: .word _022A4ECC _02018E98: .word _022A4EF4 _02018E9C: .word _022A4EFC _02018EA0: .word _020AFB4C arm_func_end InitSoundSystem arm_func_start ManipBgmPlayback ManipBgmPlayback: ; 0x02018EA4 stmdb sp!, {lr} sub sp, sp, #0x14 ldr r0, _0201904C ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019050 ; =_022A4E58 ldr r1, [r0, #0x18] cmp r1, #0 bne _02018F5C ldr r1, [r0, #0x1c] cmp r1, #2 bne _02018F0C ldr r0, [r0] bl sub_0206D9A4 cmp r0, #0 bne _02018F0C ldr r0, _02019050 ; =_022A4E58 ldr r1, _02019054 ; =_02099464 ldrh r2, [r0, #0x20] mov r0, #7 bl DebugPrint bl sub_02019408 ldr r0, _02019050 ; =_022A4E58 mov r2, #0 ldr r1, _02019058 ; =0x000003E7 str r2, [r0, #0x1c] strh r1, [r0, #0x20] _02018F0C: ldr r0, _02019050 ; =_022A4E58 ldr r1, [r0, #0x44] cmp r1, #2 bne _0201903C ldr r0, [r0, #8] bl sub_0206D9A4 cmp r0, #0 bne _0201903C ldr r0, _02019050 ; =_022A4E58 ldr r1, _0201905C ; =_02099470 ldrh r2, [r0, #0x48] mov r0, #7 bl DebugPrint bl sub_02019488 ldr r0, _02019050 ; =_022A4E58 mov r2, #0 ldr r1, _02019058 ; =0x000003E7 str r2, [r0, #0x44] strh r1, [r0, #0x48] b _0201903C _02018F5C: cmp r1, #1 ldreq r1, [r0, #0x64] cmpeq r1, #2 bne _0201903C ldr r0, [r0, #0x10] bl sub_0206D9A4 cmp r0, #0 bne _0201903C bl sub_02019508 ldr r0, _02019050 ; =_022A4E58 mov r2, #0 ldr r1, _02019060 ; =0x000003E6 str r2, [r0, #0x64] strh r1, [r0, #0x68] ldr r1, [r0, #0x1c] cmp r1, #2 bne _02018FE0 ldrh r2, [r0, #0x20] ldr r1, _02019064 ; =_0209947C mov r0, #7 bl DebugPrint ldr r0, _02019050 ; =_022A4E58 mov ip, #4 ldrh r2, [r0, #0x22] ldr r0, [r0] add r1, sp, #0 rsb r2, r2, r2, lsl #7 mov r2, r2, asr #8 add r3, r2, #0x3e80000 mov r2, #0 str r3, [sp, #0xc] str ip, [sp] bl ResumeBgm _02018FE0: ldr r0, _02019050 ; =_022A4E58 ldr r1, [r0, #0x44] cmp r1, #2 bne _02019030 ldrh r2, [r0, #0x48] ldr r1, _02019068 ; =_0209948C mov r0, #7 bl DebugPrint ldr r0, _02019050 ; =_022A4E58 mov ip, #4 ldrh r2, [r0, #0x4a] ldr r0, [r0, #8] add r1, sp, #0 rsb r2, r2, r2, lsl #7 mov r2, r2, asr #8 add r3, r2, #0x3e80000 mov r2, #0 str r3, [sp, #0xc] str ip, [sp] bl ResumeBgm _02019030: ldr r0, _02019050 ; =_022A4E58 mov r1, #0 str r1, [r0, #0x18] _0201903C: ldr r0, _0201904C ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 _0201904C: .word _020AFB28 _02019050: .word _022A4E58 _02019054: .word _02099464 _02019058: .word 0x000003E7 _0201905C: .word _02099470 _02019060: .word 0x000003E6 _02019064: .word _0209947C _02019068: .word _0209948C arm_func_end ManipBgmPlayback arm_func_start sub_0201906C sub_0201906C: ; 0x0201906C stmdb sp!, {r3, lr} ldr r0, _020190C0 ; =_020AFB28 bl sub_02002CB4 ldr r0, _020190C4 ; =_022A4E58 ldr r1, [r0, #0x94] cmp r1, #2 bne _020190B4 ldr r0, [r0, #0xdc] mov r1, #0 bl sub_0206ED30 cmp r0, #0 bne _020190B4 bl sub_02019790 ldr r0, _020190C4 ; =_022A4E58 mov r1, #0x3f00 strh r1, [r0, #0x98] mov r1, #0 str r1, [r0, #0x94] _020190B4: ldr r0, _020190C0 ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r3, pc} .align 2, 0 _020190C0: .word _020AFB28 _020190C4: .word _022A4E58 arm_func_end sub_0201906C arm_func_start SoundDriverReset SoundDriverReset: ; 0x020190C8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r0, _0201924C ; =_020AFB28 bl sub_02002CB4 ldr r1, _02019250 ; =_0209949C mov r0, #6 bl DebugPrint ldr r4, _02019254 ; =_022A4E58 ldr r0, [r4, #0x18] cmp r0, #1 bne _02019184 ldr r5, _0201924C ; =_020AFB28 b _0201910C _020190F8: mov r0, r5 bl sub_02002E98 bl sub_02003AB0 mov r0, r5 bl sub_02002CB4 _0201910C: ldr r0, [r4, #0x64] cmp r0, #1 beq _020190F8 cmp r0, #2 bne _02019174 ldr r0, _02019254 ; =_022A4E58 ldr r0, [r0, #0x10] bl sub_0206D9A4 cmp r0, #0 ble _02019174 ldr r0, _02019254 ; =_022A4E58 mov r1, #0 ldr r0, [r0, #0x10] bl sub_0206DA9C ldr r5, _0201924C ; =_020AFB28 ldr r4, _02019254 ; =_022A4E58 b _02019164 _02019150: mov r0, r5 bl sub_02002E98 bl sub_02003AB0 mov r0, r5 bl sub_02002CB4 _02019164: ldr r0, [r4, #0x10] bl sub_0206D9A4 cmp r0, #0 bne _02019150 _02019174: bl sub_02019508 ldr r1, _02019258 ; =0x000003E6 ldr r0, _02019254 ; =_022A4E58 strh r1, [r0, #0x68] _02019184: mov r7, #0 ldr r6, _0201925C ; =0x000003E7 ldr sl, _0201924C ; =_020AFB28 ldr sb, _02019254 ; =_022A4E58 mov r8, r7 mov r4, r7 mov r5, r7 _020191A0: ldr r0, [sb, #0x1c] cmp r0, #2 bne _020191D4 ldr r0, [sb] mov r1, r8 bl sub_0206DA9C ldr r0, [sb] bl sub_0206D9A4 cmp r0, #0 bne _020191D4 bl sub_02019408 str r7, [sb, #0x1c] strh r6, [sb, #0x20] _020191D4: ldr r0, [sb, #0x44] cmp r0, #2 bne _02019208 ldr r0, [sb, #8] mov r1, r5 bl sub_0206DA9C ldr r0, [sb, #8] bl sub_0206D9A4 cmp r0, #0 bne _02019208 bl sub_02019488 str r4, [sb, #0x44] strh r6, [sb, #0x48] _02019208: ldr r0, [sb, #0x1c] cmp r0, #0 ldrne r0, [sb, #0x44] cmpne r0, #0 beq _02019234 mov r0, sl bl sub_02002E98 bl sub_02003AB0 mov r0, sl bl sub_02002CB4 b _020191A0 _02019234: mov r0, #0x3f00 mov r1, #0 bl StopSe ldr r0, _0201924C ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0201924C: .word _020AFB28 _02019250: .word _0209949C _02019254: .word _022A4E58 _02019258: .word 0x000003E6 _0201925C: .word 0x000003E7 arm_func_end SoundDriverReset arm_func_start sub_02019260 sub_02019260: ; 0x02019260 stmdb sp!, {r3, lr} ldr r0, _02019294 ; =_020AFB24 ldrb r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02019298 ; =_020AFB28 bl sub_02002CB4 mov r0, #1 bl sub_0206C620 ldr r0, _02019294 ; =_020AFB24 mov r1, #1 strb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02019294: .word _020AFB24 _02019298: .word _020AFB28 arm_func_end sub_02019260 arm_func_start sub_0201929C sub_0201929C: ; 0x0201929C stmdb sp!, {r3, lr} ldr r0, _020192C8 ; =_020AFB28 bl sub_02002CB4 mov r0, #0 bl sub_0206C6BC ldr r0, _020192CC ; =0x0000FFFF mov r1, #0 bl sub_0207C9E4 ldr r0, _020192C8 ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r3, pc} .align 2, 0 _020192C8: .word _020AFB28 _020192CC: .word 0x0000FFFF arm_func_end sub_0201929C arm_func_start sub_020192D0 sub_020192D0: ; 0x020192D0 stmdb sp!, {r3, lr} ldr r0, _020192FC ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019300 ; =0x0000FFFF mov r1, #0 bl sub_0207C9C4 mov r0, #0 bl sub_0206C754 ldr r0, _020192FC ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r3, pc} .align 2, 0 _020192FC: .word _020AFB28 _02019300: .word 0x0000FFFF arm_func_end sub_020192D0 arm_func_start sub_02019304 sub_02019304: ; 0x02019304 ldr r0, _02019310 ; =_022A4E50 ldr r0, [r0, #4] bx lr .align 2, 0 _02019310: .word _022A4E50 arm_func_end sub_02019304 arm_func_start sub_02019314 sub_02019314: ; 0x02019314 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r5, r0 mov r4, r1 bl DataTransferInit add r0, sp, #0 bl FileInitVeneer add r0, sp, #0 mov r1, r4 bl FileOpen add r0, sp, #0 bl FileGetSize str r0, [r5, #4] ldr r0, _02019388 ; =_022A4E50 ldr r1, [r5, #4] ldr r0, [r0, #4] mov r2, #2 bl MemLocateSet str r0, [r5] add r0, sp, #0 ldmia r5, {r1, r2} bl FileRead mov r4, r0 add r0, sp, #0 bl FileClose bl DataTransferStop mov r0, r4 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02019388: .word _022A4E50 arm_func_end sub_02019314 arm_func_start LoadDseFile LoadDseFile: ; 0x0201938C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r5, r0 mov r4, r1 bl DataTransferInit add r0, sp, #0 bl FileInitVeneer add r0, sp, #0 mov r1, r4 bl FileOpen add r0, sp, #0 bl FileGetSize str r0, [r5, #4] ldr r0, _02019400 ; =_022A4E50 ldr r1, [r5, #4] ldr r0, [r0, #4] ldr r2, _02019404 ; =0x00000302 bl MemLocateSet str r0, [r5] add r0, sp, #0 ldmia r5, {r1, r2} bl FileRead mov r4, r0 add r0, sp, #0 bl FileClose bl DataTransferStop mov r0, r4 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02019400: .word _022A4E50 _02019404: .word 0x00000302 arm_func_end LoadDseFile arm_func_start sub_02019408 sub_02019408: ; 0x02019408 stmdb sp!, {r3, lr} ldr r0, _0201947C ; =_022A4E8C bl PointsToZero cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02019480 ; =_022A4E58 ldr r0, [r0] bl sub_0206D90C ldr r0, _02019480 ; =_022A4E58 ldr r0, [r0, #4] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D4E4 ldr r0, _02019484 ; =_022A4E50 ldr r1, _02019480 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x34] bl MemLocateUnset ldr r0, _02019484 ; =_022A4E50 ldr r1, _02019480 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x24] bl MemLocateUnset ldr r0, _02019484 ; =_022A4E50 ldr r1, _02019480 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x2c] bl MemLocateUnset ldmia sp!, {r3, pc} .align 2, 0 _0201947C: .word _022A4E8C _02019480: .word _022A4E58 _02019484: .word _022A4E50 arm_func_end sub_02019408 arm_func_start sub_02019488 sub_02019488: ; 0x02019488 stmdb sp!, {r3, lr} ldr r0, _020194FC ; =_022A4EB4 bl PointsToZero cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02019500 ; =_022A4E58 ldr r0, [r0, #8] bl sub_0206D90C ldr r0, _02019500 ; =_022A4E58 ldr r0, [r0, #0xc] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D4E4 ldr r0, _02019504 ; =_022A4E50 ldr r1, _02019500 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x5c] bl MemLocateUnset ldr r0, _02019504 ; =_022A4E50 ldr r1, _02019500 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x4c] bl MemLocateUnset ldr r0, _02019504 ; =_022A4E50 ldr r1, _02019500 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x54] bl MemLocateUnset ldmia sp!, {r3, pc} .align 2, 0 _020194FC: .word _022A4EB4 _02019500: .word _022A4E58 _02019504: .word _022A4E50 arm_func_end sub_02019488 arm_func_start sub_02019508 sub_02019508: ; 0x02019508 stmdb sp!, {r3, lr} ldr r0, _02019568 ; =_022A4ECC bl PointsToZero cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0201956C ; =_022A4E58 ldr r0, [r0, #0x10] bl sub_0206D90C ldr r0, _0201956C ; =_022A4E58 ldr r0, [r0, #0x14] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D4E4 ldr r0, _02019570 ; =_022A4E50 ldr r1, _0201956C ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x74] bl MemLocateUnset ldr r0, _02019570 ; =_022A4E50 ldr r1, _0201956C ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x6c] bl MemLocateUnset ldmia sp!, {r3, pc} .align 2, 0 _02019568: .word _022A4ECC _0201956C: .word _022A4E58 _02019570: .word _022A4E50 arm_func_end sub_02019508 arm_func_start PlaySeLoad PlaySeLoad: ; 0x02019574 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10c mov r6, r0 mov r1, r6, asr #8 and r4, r1, #0xff and r5, r6, #0xff bl sub_0201AAA0 cmp r0, #0 movne r0, #0 bne _02019758 cmp r5, #0 moveq r0, #0 beq _02019758 ldr r0, _02019760 ; =_022A4E58 ldrh r0, [r0, #0x9a] cmp r0, r6 moveq r0, #1 beq _02019758 cmp r0, #0x3f00 beq _020195C8 bl sub_02019790 _020195C8: ldr r0, _02019760 ; =_022A4E58 mov r1, #1 str r1, [r0, #0x94] ldr r1, _02019764 ; =_020AFB6C strh r6, [r0, #0x9a] mov r2, #0 str r2, [r0, #0xc4] ldr r2, [r1, r4, lsl #2] ldr r1, _02019768 ; =_020994B0 add r0, sp, #0xc bl sprintf ldr r1, _0201976C ; =_020994C0 add r3, sp, #0xc mov r2, r6 mov r0, #8 bl DebugPrint ldr r0, _02019770 ; =_020AFB28 bl sub_02002E98 ldr r0, _02019774 ; =_022A4EF4 add r1, sp, #0xc bl LoadDseFile ldr r0, _02019770 ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019760 ; =_022A4E58 ldr r0, [r0, #0x9c] bl sub_0206EA18 ldr r2, _02019760 ; =_022A4E58 add r1, sp, #4 str r0, [r2, #0xc8] add r0, r0, r5, lsl #16 str r0, [r2, #0xdc] mov r2, #4 bl sub_0206EC5C mov r7, r0 ldr r1, _02019778 ; =_020994D8 mov r2, r6 mov r3, r5 mov r8, #0 mov r0, #8 str r7, [sp] bl DebugPrint mov sb, r8 add r6, sp, #4 mov fp, #8 ldr r5, _0201977C ; =_022A4EFC ldr r4, _02019760 ; =_022A4E58 b _0201970C _02019684: mov r0, sb, lsl #1 ldrh r2, [r6, r0] ldr r1, _02019780 ; =_02099500 mov r0, fp and sl, r2, #0xff str r2, [sp] mov r2, sb mov r3, sl bl DebugPrint ldr r1, _02019784 ; =_02099514 mov r2, sl add r0, sp, #0xc bl sprintf ldr r1, _02019788 ; =_02099528 mov r0, #8 mov r2, r8 add r3, sp, #0xc bl DebugPrint ldr r0, _02019770 ; =_020AFB28 bl sub_02002E98 add r0, r5, r8, lsl #3 add r1, sp, #0xc bl LoadDseFile ldr r0, _02019770 ; =_020AFB28 bl sub_02002CB4 add r0, r4, r8, lsl #3 mov r1, #0 ldr r0, [r0, #0xa4] mov r2, r1 bl sub_0206D108 add r1, r4, r8, lsl #2 str r0, [r1, #0xcc] add r8, r8, #1 add sb, sb, #1 _0201970C: cmp sb, r7 blt _02019684 ldr r0, _02019760 ; =_022A4E58 cmp r8, #0 str r8, [r0, #0xc4] movne r0, #1 bne _02019758 mov r1, #0x3f00 strh r1, [r0, #0x9a] ldr r0, [r0, #0xc8] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206EBCC ldr r0, _0201978C ; =_022A4E50 ldr r1, _02019760 ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x9c] bl MemLocateUnset mov r0, #0 _02019758: add sp, sp, #0x10c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02019760: .word _022A4E58 _02019764: .word _020AFB6C _02019768: .word _020994B0 _0201976C: .word _020994C0 _02019770: .word _020AFB28 _02019774: .word _022A4EF4 _02019778: .word _020994D8 _0201977C: .word _022A4EFC _02019780: .word _02099500 _02019784: .word _02099514 _02019788: .word _02099528 _0201978C: .word _022A4E50 arm_func_end PlaySeLoad arm_func_start sub_02019790 sub_02019790: ; 0x02019790 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r4, _0201981C ; =_022A4E58 ldr r5, [r4, #0xc4] cmp r5, #0 ldmleia sp!, {r3, r4, r5, r6, r7, pc} mov r6, #0 str r6, [r4, #0xc4] ldr r7, _02019820 ; =_022A4E50 b _020197DC _020197B4: add r0, r4, r6, lsl #2 ldr r0, [r0, #0xcc] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D4E4 add r1, r4, r6, lsl #3 ldr r0, [r7, #4] ldr r1, [r1, #0xa4] bl MemLocateUnset add r6, r6, #1 _020197DC: cmp r6, r5 blt _020197B4 ldr r0, _0201981C ; =_022A4E58 ldr r0, [r0, #0xc8] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206EBCC ldr r0, _02019820 ; =_022A4E50 ldr r1, _0201981C ; =_022A4E58 ldr r0, [r0, #4] ldr r1, [r1, #0x9c] bl MemLocateUnset ldr r0, _0201981C ; =_022A4E58 mov r1, #0x3f00 strh r1, [r0, #0x9a] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0201981C: .word _022A4E58 _02019820: .word _022A4E50 arm_func_end sub_02019790 arm_func_start sub_02019824 sub_02019824: ; 0x02019824 stmdb sp!, {r4, lr} ldr r0, _02019848 ; =_020AFB28 bl sub_02002CB4 ldr r1, _0201984C ; =_022A4E58 ldr r0, _02019848 ; =_020AFB28 ldrh r4, [r1, #0x20] bl sub_02002E98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02019848: .word _020AFB28 _0201984C: .word _022A4E58 arm_func_end sub_02019824 arm_func_start sub_02019850 sub_02019850: ; 0x02019850 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _020198B0 ; =_020AFB28 mov r4, #0 bl sub_02002CB4 ldr r0, _020198B4 ; =_022A4E58 ldr r1, [r0, #0x1c] cmp r1, #2 bne _0201989C ldr r0, [r0] add r2, sp, #0 mov r1, #0xa bl sub_0206E064 ldr r0, _020198B4 ; =_022A4E58 ldr r2, [sp] ldr r1, [r0, #0x40] cmp r2, r1 strgt r2, [r0, #0x40] movgt r4, #1 _0201989C: ldr r0, _020198B0 ; =_020AFB28 bl sub_02002E98 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _020198B0: .word _020AFB28 _020198B4: .word _022A4E58 arm_func_end sub_02019850 arm_func_start PlayBgm PlayBgm: ; 0x020198B8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x98 mov r6, r0 ldr r0, _02019B00 ; =_020AFB28 mov r5, r1 mov r4, r2 bl sub_02002CB4 ldr r1, _02019B04 ; =_0209953C mov r2, r6 mov r3, r4 mov r0, #7 str r5, [sp] bl DebugPrint ldr r0, _02019B08 ; =_022A4E58 ldrh r0, [r0, #0x48] cmp r6, r0 bne _02019914 ldr r0, _02019B00 ; =_020AFB28 bl sub_02002E98 mov r0, #0 bl StopBgm2 ldr r0, _02019B00 ; =_020AFB28 bl sub_02002CB4 _02019914: ldr r1, _02019B08 ; =_022A4E58 ldr r0, _02019B0C ; =0x000003E7 ldrh r1, [r1, #0x20] cmp r1, r0 beq _02019940 ldr r0, _02019B00 ; =_020AFB28 bl sub_02002E98 mov r0, #0 bl StopBgm ldr r0, _02019B00 ; =_020AFB28 bl sub_02002CB4 _02019940: cmp r6, #1 blo _02019950 cmp r6, #0xc9 bls _02019970 _02019950: ldr r1, _02019B08 ; =_022A4E58 mov r0, #0 ldr r2, _02019B0C ; =0x000003E7 str r0, [r1, #0x1c] ldr r0, _02019B00 ; =_020AFB28 strh r2, [r1, #0x20] bl sub_02002E98 b _02019AF8 _02019970: ldr r0, _02019B08 ; =_022A4E58 mov r1, #1 str r1, [r0, #0x1c] strh r6, [r0, #0x20] strh r4, [r0, #0x22] mov r1, #0 str r1, [r0, #0x3c] str r1, [r0, #0x40] ldr r0, [r0, #0x18] cmp r0, #0 bne _02019AE4 ldr r0, _02019B00 ; =_020AFB28 bl sub_02002E98 ldr r1, _02019B10 ; =_02099554 add r0, sp, #0x18 mov r2, r6 bl sprintf ldr r0, _02019B14 ; =_022A4E8C add r1, sp, #0x18 bl sub_02019314 ldr r1, _02019B18 ; =_0209956C add r0, sp, #0x18 mov r2, r6 bl sprintf ldr r0, _02019B1C ; =_022A4E7C add r1, sp, #0x18 bl sub_02019314 ldr r0, _02019B00 ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019B08 ; =_022A4E58 mov r1, #0 ldr r0, [r0, #0x24] mov r2, r1 bl sub_0206D108 ldr r2, _02019B08 ; =_022A4E58 mov r1, r0, lsl #0x10 str r0, [r2, #4] mov r0, r1, lsr #0x10 mov r1, #0 bl sub_0206D328 mov r1, r0 ldr r0, _02019B20 ; =_022A4E50 ldr r2, _02019B08 ; =_022A4E58 ldr r0, [r0, #4] str r1, [r2, #0x30] mov r2, #2 bl MemLocateSet ldr r1, _02019B08 ; =_022A4E58 str r0, [r1, #0x2c] ldr r0, _02019B00 ; =_020AFB28 bl sub_02002E98 bl DataTransferInit bl sub_02003AB0 ldr r0, _02019B08 ; =_022A4E58 ldr r2, [r0, #4] ldr r1, [r0, #0x2c] mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D328 _02019A5C: bl sub_02003AB0 bl sub_0206D30C cmp r0, #0 bne _02019A5C bl DataTransferStop ldr r0, _02019B00 ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019B08 ; =_022A4E58 ldr r0, [r0, #0x34] bl sub_0206D808 ldr r3, _02019B08 ; =_022A4E58 ldr r1, _02019B24 ; =sub_0201AABC mov r2, #0 str r0, [r3] bl sub_0206D944 mov r0, #0x3e8 mov r1, #4 str r1, [sp, #4] mul r0, r5, r0 mov r1, #0x3c bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 rsb r1, r4, r4, lsl #7 mov r0, r0, lsl #0x10 add r0, r0, r1, asr #8 str r0, [sp, #0x10] mov r0, #4 str r0, [sp, #4] ldr r0, _02019B08 ; =_022A4E58 add r1, sp, #4 ldr r0, [r0] mov r2, #1 bl ResumeBgm _02019AE4: ldr r1, _02019B08 ; =_022A4E58 mov r2, #2 ldr r0, _02019B00 ; =_020AFB28 str r2, [r1, #0x1c] bl sub_02002E98 _02019AF8: add sp, sp, #0x98 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02019B00: .word _020AFB28 _02019B04: .word _0209953C _02019B08: .word _022A4E58 _02019B0C: .word 0x000003E7 _02019B10: .word _02099554 _02019B14: .word _022A4E8C _02019B18: .word _0209956C _02019B1C: .word _022A4E7C _02019B20: .word _022A4E50 _02019B24: .word sub_0201AABC arm_func_end PlayBgm arm_func_start StopBgm StopBgm: ; 0x02019B28 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r0 ldr r0, _02019C3C ; =_020AFB28 bl sub_02002CB4 ldr r1, _02019C40 ; =_02099584 mov r2, r4 mov r0, #7 bl DebugPrint ldr r5, _02019C44 ; =_022A4E58 ldr r0, [r5, #0x1c] cmp r0, #0 beq _02019C2C ldr r6, _02019C3C ; =_020AFB28 b _02019B78 _02019B64: mov r0, r6 bl sub_02002E98 bl sub_02003AB0 mov r0, r6 bl sub_02002CB4 _02019B78: ldr r0, [r5, #0x1c] cmp r0, #1 beq _02019B64 cmp r0, #2 bne _02019C2C mov r0, #0x3e8 mul r0, r4, r0 mov r1, #0x3c bl __divsi3 mov r1, r0, lsl #0x10 ldr r2, _02019C44 ; =_022A4E58 mov r1, r1, lsr #0x10 ldr r0, [r2] bl sub_0206DA9C ldr r0, _02019C44 ; =_022A4E58 str r4, [sp] ldrh r3, [r0, #0x20] ldr r1, [r0, #0x18] ldr r2, [r0, #0x1c] ldr r0, _02019C48 ; =_02099594 bl DebugPrint0 cmp r4, #0 beq _02019BE4 ldr r0, _02019C44 ; =_022A4E58 ldr r0, [r0, #0x18] cmp r0, #0 beq _02019C2C _02019BE4: ldr r5, _02019C3C ; =_020AFB28 ldr r4, _02019C44 ; =_022A4E58 b _02019C04 _02019BF0: mov r0, r5 bl sub_02002E98 bl sub_02003AB0 mov r0, r5 bl sub_02002CB4 _02019C04: ldr r0, [r4] bl sub_0206D9A4 cmp r0, #0 bne _02019BF0 bl sub_02019408 ldr r0, _02019C44 ; =_022A4E58 mov r2, #0 ldr r1, _02019C4C ; =0x000003E7 str r2, [r0, #0x1c] strh r1, [r0, #0x20] _02019C2C: ldr r0, _02019C3C ; =_020AFB28 bl sub_02002E98 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02019C3C: .word _020AFB28 _02019C40: .word _02099584 _02019C44: .word _022A4E58 _02019C48: .word _02099594 _02019C4C: .word 0x000003E7 arm_func_end StopBgm arm_func_start ChangeBgm ChangeBgm: ; 0x02019C50 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 ldr r0, _02019CF8 ; =_020AFB28 mov r4, r1 bl sub_02002CB4 ldr r1, _02019CFC ; =_020995BC mov r2, r4 mov r3, r5 mov r0, #7 bl DebugPrint ldr r0, _02019D00 ; =_022A4E58 ldr r1, [r0, #0x1c] cmp r1, #0 beq _02019CE8 ldr r0, [r0, #0x18] cmp r0, #0 bne _02019CE0 mov r0, #0x3e8 mul r0, r5, r0 mov r2, #4 mov r1, #0x3c str r2, [sp] bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r2, #4 ldr r1, _02019D00 ; =_022A4E58 rsb r3, r4, r4, lsl #7 mov r0, r0, lsl #0x10 add r3, r0, r3, asr #8 ldr r0, [r1] add r1, sp, #0 str r3, [sp, #0xc] str r2, [sp] bl sub_0206DB3C _02019CE0: ldr r0, _02019D00 ; =_022A4E58 strh r4, [r0, #0x22] _02019CE8: ldr r0, _02019CF8 ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 _02019CF8: .word _020AFB28 _02019CFC: .word _020995BC _02019D00: .word _022A4E58 arm_func_end ChangeBgm arm_func_start sub_02019D04 sub_02019D04: ; 0x02019D04 stmdb sp!, {r4, lr} ldr r0, _02019D50 ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019D54 ; =_022A4E58 ldr r1, [r0, #0x1c] cmp r1, #0 beq _02019D3C ldr r1, [r0, #0x3c] cmp r1, #0 subgt r1, r1, #1 movgt r4, #1 strgt r1, [r0, #0x3c] movle r4, #0 b _02019D40 _02019D3C: mov r4, #1 _02019D40: ldr r0, _02019D50 ; =_020AFB28 bl sub_02002E98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02019D50: .word _020AFB28 _02019D54: .word _022A4E58 arm_func_end sub_02019D04 arm_func_start sub_02019D58 sub_02019D58: ; 0x02019D58 stmdb sp!, {r4, lr} ldr r0, _02019D7C ; =_020AFB28 bl sub_02002CB4 ldr r1, _02019D80 ; =_022A4E58 ldr r0, _02019D7C ; =_020AFB28 ldrh r4, [r1, #0x48] bl sub_02002E98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02019D7C: .word _020AFB28 _02019D80: .word _022A4E58 arm_func_end sub_02019D58 arm_func_start PlayBgm2 PlayBgm2: ; 0x02019D84 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x98 mov r6, r0 ldr r0, _02019FC0 ; =_020AFB28 mov r5, r1 mov r4, r2 bl sub_02002CB4 ldr r1, _02019FC4 ; =_020995D0 mov r2, r6 mov r3, r4 mov r0, #7 str r5, [sp] bl DebugPrint ldr r0, _02019FC8 ; =_022A4E58 ldrh r0, [r0, #0x20] cmp r6, r0 bne _02019DE0 ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002E98 mov r0, #0 bl StopBgm ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002CB4 _02019DE0: ldr r1, _02019FC8 ; =_022A4E58 ldr r0, _02019FCC ; =0x000003E7 ldrh r1, [r1, #0x48] cmp r1, r0 beq _02019E0C ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002E98 mov r0, #0 bl StopBgm2 ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002CB4 _02019E0C: cmp r6, #1 blo _02019E1C cmp r6, #0xc9 bls _02019E3C _02019E1C: ldr r1, _02019FC8 ; =_022A4E58 mov r0, #0 ldr r2, _02019FCC ; =0x000003E7 str r0, [r1, #0x44] ldr r0, _02019FC0 ; =_020AFB28 strh r2, [r1, #0x48] bl sub_02002E98 b _02019FB8 _02019E3C: ldr r0, _02019FC8 ; =_022A4E58 mov r1, #1 str r1, [r0, #0x44] strh r6, [r0, #0x48] strh r4, [r0, #0x4a] ldr r0, [r0, #0x18] cmp r0, #0 bne _02019FA4 ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002E98 ldr r1, _02019FD0 ; =_02099554 add r0, sp, #0x18 mov r2, r6 bl sprintf ldr r0, _02019FD4 ; =_022A4EB4 add r1, sp, #0x18 bl LoadDseFile ldr r1, _02019FD8 ; =_0209956C add r0, sp, #0x18 mov r2, r6 bl sprintf ldr r0, _02019FDC ; =_022A4EA4 add r1, sp, #0x18 bl LoadDseFile ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019FC8 ; =_022A4E58 mov r1, #0 ldr r0, [r0, #0x4c] mov r2, r1 bl sub_0206D108 ldr r2, _02019FC8 ; =_022A4E58 mov r1, r0, lsl #0x10 str r0, [r2, #0xc] mov r0, r1, lsr #0x10 mov r1, #0 bl sub_0206D328 mov r1, r0 ldr r0, _02019FE0 ; =_022A4E50 ldr r2, _02019FC8 ; =_022A4E58 ldr r0, [r0, #4] str r1, [r2, #0x58] mov r2, #2 bl MemLocateSet ldr r1, _02019FC8 ; =_022A4E58 str r0, [r1, #0x54] ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002E98 bl DataTransferInit bl sub_02003AB0 ldr r0, _02019FC8 ; =_022A4E58 ldr r2, [r0, #0xc] ldr r1, [r0, #0x54] mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D328 _02019F1C: bl sub_02003AB0 bl sub_0206D30C cmp r0, #0 bne _02019F1C bl DataTransferStop ldr r0, _02019FC0 ; =_020AFB28 bl sub_02002CB4 ldr r0, _02019FC8 ; =_022A4E58 ldr r0, [r0, #0x5c] bl sub_0206D808 ldr r3, _02019FC8 ; =_022A4E58 ldr r1, _02019FE4 ; =sub_0201AABC mov r2, #0 str r0, [r3, #8] bl sub_0206D944 mov r0, #0x3e8 mov r1, #4 str r1, [sp, #4] mul r0, r5, r0 mov r1, #0x3c bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 rsb r1, r4, r4, lsl #7 mov r0, r0, lsl #0x10 add r0, r0, r1, asr #8 str r0, [sp, #0x10] mov r0, #4 str r0, [sp, #4] ldr r0, _02019FC8 ; =_022A4E58 add r1, sp, #4 ldr r0, [r0, #8] mov r2, #1 bl ResumeBgm _02019FA4: ldr r1, _02019FC8 ; =_022A4E58 mov r2, #2 ldr r0, _02019FC0 ; =_020AFB28 str r2, [r1, #0x44] bl sub_02002E98 _02019FB8: add sp, sp, #0x98 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02019FC0: .word _020AFB28 _02019FC4: .word _020995D0 _02019FC8: .word _022A4E58 _02019FCC: .word 0x000003E7 _02019FD0: .word _02099554 _02019FD4: .word _022A4EB4 _02019FD8: .word _0209956C _02019FDC: .word _022A4EA4 _02019FE0: .word _022A4E50 _02019FE4: .word sub_0201AABC arm_func_end PlayBgm2 arm_func_start StopBgm2 StopBgm2: ; 0x02019FE8 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, _0201A0D8 ; =_020AFB28 bl sub_02002CB4 ldr r1, _0201A0DC ; =_020995E8 mov r2, r4 mov r0, #7 bl DebugPrint ldr r5, _0201A0E0 ; =_022A4E58 ldr r0, [r5, #0x44] cmp r0, #0 beq _0201A0CC ldr r6, _0201A0D8 ; =_020AFB28 b _0201A034 _0201A020: mov r0, r6 bl sub_02002E98 bl sub_02003AB0 mov r0, r6 bl sub_02002CB4 _0201A034: ldr r0, [r5, #0x44] cmp r0, #1 beq _0201A020 cmp r0, #2 bne _0201A0CC mov r0, #0x3e8 mul r0, r4, r0 mov r1, #0x3c bl __divsi3 mov r1, r0, lsl #0x10 ldr r2, _0201A0E0 ; =_022A4E58 mov r1, r1, lsr #0x10 ldr r0, [r2, #8] bl sub_0206DA9C cmp r4, #0 beq _0201A084 ldr r0, _0201A0E0 ; =_022A4E58 ldr r0, [r0, #0x18] cmp r0, #0 beq _0201A0CC _0201A084: ldr r5, _0201A0D8 ; =_020AFB28 ldr r4, _0201A0E0 ; =_022A4E58 b _0201A0A4 _0201A090: mov r0, r5 bl sub_02002E98 bl sub_02003AB0 mov r0, r5 bl sub_02002CB4 _0201A0A4: ldr r0, [r4, #8] bl sub_0206D9A4 cmp r0, #0 bne _0201A090 bl sub_02019488 ldr r0, _0201A0E0 ; =_022A4E58 mov r2, #0 ldr r1, _0201A0E4 ; =0x000003E7 str r2, [r0, #0x44] strh r1, [r0, #0x48] _0201A0CC: ldr r0, _0201A0D8 ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0201A0D8: .word _020AFB28 _0201A0DC: .word _020995E8 _0201A0E0: .word _022A4E58 _0201A0E4: .word 0x000003E7 arm_func_end StopBgm2 arm_func_start ChangeBgm2 ChangeBgm2: ; 0x0201A0E8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 ldr r0, _0201A190 ; =_020AFB28 mov r4, r1 bl sub_02002CB4 ldr r1, _0201A194 ; =_020995F8 mov r2, r4 mov r3, r5 mov r0, #7 bl DebugPrint ldr r0, _0201A198 ; =_022A4E58 ldr r1, [r0, #0x44] cmp r1, #0 beq _0201A180 ldr r0, [r0, #0x18] cmp r0, #0 bne _0201A178 mov r0, #0x3e8 mul r0, r5, r0 mov r2, #4 mov r1, #0x3c str r2, [sp] bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r2, #4 ldr r1, _0201A198 ; =_022A4E58 rsb r3, r4, r4, lsl #7 mov r0, r0, lsl #0x10 add r3, r0, r3, asr #8 ldr r0, [r1, #8] add r1, sp, #0 str r3, [sp, #0xc] str r2, [sp] bl sub_0206DB3C _0201A178: ldr r0, _0201A198 ; =_022A4E58 strh r4, [r0, #0x4a] _0201A180: ldr r0, _0201A190 ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 _0201A190: .word _020AFB28 _0201A194: .word _020995F8 _0201A198: .word _022A4E58 arm_func_end ChangeBgm2 arm_func_start sub_0201A19C sub_0201A19C: ; 0x0201A19C stmdb sp!, {r4, lr} ldr r0, _0201A1C0 ; =_020AFB28 bl sub_02002CB4 ldr r1, _0201A1C4 ; =_022A4E58 ldr r0, _0201A1C0 ; =_020AFB28 ldrh r4, [r1, #0x68] bl sub_02002E98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0201A1C0: .word _020AFB28 _0201A1C4: .word _022A4E58 arm_func_end sub_0201A19C arm_func_start PlayME PlayME: ; 0x0201A1C8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x98 mov r6, r0 ldr r0, _0201A3F0 ; =_020AFB28 mov r5, r1 mov r4, r2 bl sub_02002CB4 ldr r1, _0201A3F4 ; =_0209960C mov r2, r6 mov r3, r4 mov r0, #7 str r5, [sp] bl DebugPrint ldr r7, _0201A3F8 ; =_022A4E58 cmp r6, #0xd ldr r0, [r7, #0x18] movhi r6, #0 cmp r0, #0 bne _0201A2B0 mov r0, #1 str r0, [r7, #0x18] str r0, [r7, #0x64] ldr r8, _0201A3F0 ; =_020AFB28 strh r6, [r7, #0x68] _0201A228: ldr r0, [r7, #0x1c] cmp r0, #0 beq _0201A268 cmp r0, #2 bne _0201A250 ldr r0, _0201A3F8 ; =_022A4E58 mov r1, #0 ldr r0, [r0] bl sub_0206DA9C b _0201A268 _0201A250: mov r0, r8 bl sub_02002E98 bl sub_02003AB0 mov r0, r8 bl sub_02002CB4 b _0201A228 _0201A268: ldr r8, _0201A3F0 ; =_020AFB28 ldr r7, _0201A3F8 ; =_022A4E58 _0201A270: ldr r0, [r7, #0x44] cmp r0, #0 beq _0201A304 cmp r0, #2 bne _0201A298 ldr r0, _0201A3F8 ; =_022A4E58 mov r1, #0 ldr r0, [r0, #8] bl sub_0206DA9C b _0201A304 _0201A298: mov r0, r8 bl sub_02002E98 bl sub_02003AB0 mov r0, r8 bl sub_02002CB4 b _0201A270 _0201A2B0: ldr r0, [r7, #0x64] cmp r0, #2 bne _0201A304 ldr r0, _0201A3F0 ; =_020AFB28 bl sub_02002E98 mov r0, #0 bl StopME ldr r0, _0201A3F0 ; =_020AFB28 bl sub_02002CB4 ldr r8, _0201A3F0 ; =_020AFB28 b _0201A2F0 _0201A2DC: mov r0, r8 bl sub_02002E98 bl sub_02003AB0 mov r0, r8 bl sub_02002CB4 _0201A2F0: ldr r0, [r7, #0x10] bl sub_0206D9A4 cmp r0, #0 bne _0201A2DC bl sub_02019508 _0201A304: ldr r1, _0201A3F8 ; =_022A4E58 mov r0, #1 str r0, [r1, #0x18] str r0, [r1, #0x64] ldr r0, _0201A3F0 ; =_020AFB28 strh r6, [r1, #0x68] bl sub_02002E98 ldr r1, _0201A3FC ; =_02099620 add r0, sp, #0x18 mov r2, r6 bl sprintf ldr r0, _0201A400 ; =_022A4ECC add r1, sp, #0x18 bl sub_02019314 ldr r1, _0201A404 ; =_02099634 add r0, sp, #0x18 bl sprintf ldr r0, _0201A408 ; =_022A4EC4 add r1, sp, #0x18 bl sub_02019314 ldr r0, _0201A3F0 ; =_020AFB28 bl sub_02002CB4 ldr r0, _0201A3F8 ; =_022A4E58 mov r1, #0 ldr r0, [r0, #0x6c] mov r2, r1 bl sub_0206D108 ldr r1, _0201A3F8 ; =_022A4E58 str r0, [r1, #0x14] ldr r0, [r1, #0x74] bl sub_0206D808 ldr r1, _0201A3F8 ; =_022A4E58 mov r2, #4 str r0, [r1, #0x10] mov r0, #0x3e8 mul r0, r5, r0 mov r1, #0x3c str r2, [sp, #4] bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 rsb r1, r4, r4, lsl #7 mov r0, r0, lsl #0x10 add r0, r0, r1, asr #8 str r0, [sp, #0x10] mov r0, #4 str r0, [sp, #4] ldr r0, _0201A3F8 ; =_022A4E58 add r1, sp, #4 ldr r0, [r0, #0x10] mov r2, #1 bl ResumeBgm ldr r1, _0201A3F8 ; =_022A4E58 mov r2, #2 ldr r0, _0201A3F0 ; =_020AFB28 str r2, [r1, #0x64] bl sub_02002E98 add sp, sp, #0x98 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0201A3F0: .word _020AFB28 _0201A3F4: .word _0209960C _0201A3F8: .word _022A4E58 _0201A3FC: .word _02099620 _0201A400: .word _022A4ECC _0201A404: .word _02099634 _0201A408: .word _022A4EC4 arm_func_end PlayME arm_func_start StopME StopME: ; 0x0201A40C stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0201A474 ; =_020AFB28 bl sub_02002CB4 ldr r1, _0201A478 ; =_02099644 mov r2, r4 mov r0, #7 bl DebugPrint ldr r0, _0201A47C ; =_022A4E58 ldr r1, [r0, #0x18] cmp r1, #1 ldreq r0, [r0, #0x64] cmpeq r0, #2 bne _0201A468 mov r0, #0x3e8 mul r0, r4, r0 mov r1, #0x3c bl __divsi3 mov r1, r0, lsl #0x10 ldr r2, _0201A47C ; =_022A4E58 mov r1, r1, lsr #0x10 ldr r0, [r2, #0x10] bl sub_0206DA9C _0201A468: ldr r0, _0201A474 ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r4, pc} .align 2, 0 _0201A474: .word _020AFB28 _0201A478: .word _02099644 _0201A47C: .word _022A4E58 arm_func_end StopME arm_func_start sub_0201A480 sub_0201A480: ; 0x0201A480 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r1, r7, asr #8 ldr r0, _0201A4F4 ; =_020AFB28 and r5, r7, #0xff and r4, r1, #0xff mov r6, #0 bl sub_02002CB4 cmp r5, #0 cmpne r4, #0x3f beq _0201A4E4 cmp r4, #1 bne _0201A4D4 ldr r0, _0201A4F8 ; =_022A4E58 mov r1, r5, lsl #0x10 ldr r0, [r0, #0x88] mov r1, r1, lsr #0x10 bl sub_0206ED30 cmp r0, #0 movgt r6, #1 b _0201A4E4 _0201A4D4: ldr r0, _0201A4F8 ; =_022A4E58 ldrh r0, [r0, #0x98] cmp r0, r7 moveq r6, #1 _0201A4E4: ldr r0, _0201A4F4 ; =_020AFB28 bl sub_02002E98 mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0201A4F4: .word _020AFB28 _0201A4F8: .word _022A4E58 arm_func_end sub_0201A480 arm_func_start PlaySe PlaySe: ; 0x0201A4FC stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x14 mov r5, r0 mov r2, r5, asr #8 ldr r0, _0201A660 ; =_020AFB28 mov r7, r1 and r6, r2, #0xff and r4, r5, #0xff bl sub_02002CB4 ldr r1, _0201A664 ; =_02099650 mov r2, r5 mov r3, r7 mov r0, #8 bl DebugPrint rsb r0, r7, r7, lsl #7 mov r0, r0, asr #8 mov r1, #4 str r0, [sp, #0xc] str r1, [sp] cmp r4, #0 beq _0201A650 cmp r6, #0x3f bne _0201A578 ldr r3, _0201A668 ; =_022A4E58 add r2, sp, #0 ldr r0, [r3, #0x7c] mov r1, #0 add r0, r0, r4, lsl #16 str r0, [r3, #0x84] bl sub_0206EDFC b _0201A650 _0201A578: cmp r6, #1 bne _0201A5A0 ldr r3, _0201A668 ; =_022A4E58 add r2, sp, #0 ldr r0, [r3, #0x88] mov r1, #0 add r0, r0, r4, lsl #16 str r0, [r3, #0x90] bl sub_0206EDFC b _0201A650 _0201A5A0: ldr r0, _0201A668 ; =_022A4E58 mov r1, #1 ldrh r2, [r0, #0x98] ldr r3, [r0, #0x94] str r1, [r0, #0x94] cmp r3, #0 strh r5, [r0, #0x98] cmpne r2, #0x3f00 beq _0201A60C mov r1, #0 ldr r0, [r0, #0xdc] mov r2, r1 bl sub_0206F38C ldr r8, _0201A660 ; =_020AFB28 mov r7, #0 ldr r6, _0201A668 ; =_022A4E58 b _0201A5F8 _0201A5E4: mov r0, r8 bl sub_02002E98 bl sub_02003AB0 mov r0, r8 bl sub_02002CB4 _0201A5F8: ldr r0, [r6, #0xdc] mov r1, r7 bl sub_0206ED30 cmp r0, #0 bgt _0201A5E4 _0201A60C: mov r0, r5 bl PlaySeLoad cmp r0, #0 ldreq r0, _0201A668 ; =_022A4E58 mov r1, #0 streq r1, [r0, #0x94] moveq r1, #0x3f00 streqh r1, [r0, #0x98] beq _0201A650 ldr r3, _0201A668 ; =_022A4E58 mov r0, #2 str r0, [r3, #0x94] ldr r0, [r3, #0xc8] add r2, sp, #0 add r0, r0, r4, lsl #16 str r0, [r3, #0xdc] bl sub_0206EDFC _0201A650: ldr r0, _0201A660 ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0201A660: .word _020AFB28 _0201A664: .word _02099650 _0201A668: .word _022A4E58 arm_func_end PlaySe arm_func_start PlaySeFullSpec PlaySeFullSpec: ; 0x0201A66C stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x1c mov sb, r0 mov r4, sb, asr #8 ldr r0, _0201A81C ; =_020AFB28 mov r8, r1 mov r7, r2 mov r6, r3 and r4, r4, #0xff and r5, sb, #0xff bl sub_02002CB4 str r7, [sp] str r6, [sp, #4] mov r0, #8 ldr r1, _0201A820 ; =_02099660 mov r2, sb mov r3, r8 bl DebugPrint mov r0, #4 str r0, [sp, #8] mov r0, #0x3e8 mul r0, r8, r0 mov r1, #0x3c bl __divsi3 rsb r2, r7, r7, lsl #7 rsb r1, r6, r6, lsl #6 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 add r0, r0, r2, asr #8 str r0, [sp, #0x14] cmp r5, #0 mov r0, r1, asr #7 add r0, r1, r0, lsr #24 mov r0, r0, asr #8 add r0, r0, #0x40 str r0, [sp, #0x18] mov r0, #0xc str r0, [sp, #8] beq _0201A80C cmp r4, #0x3f bne _0201A734 ldr r3, _0201A824 ; =_022A4E58 add r2, sp, #8 ldr r0, [r3, #0x7c] mov r1, #0 add r0, r0, r5, lsl #16 str r0, [r3, #0x84] bl sub_0206EDFC b _0201A80C _0201A734: cmp r4, #1 bne _0201A75C ldr r3, _0201A824 ; =_022A4E58 add r2, sp, #8 ldr r0, [r3, #0x88] mov r1, #0 add r0, r0, r5, lsl #16 str r0, [r3, #0x90] bl sub_0206EDFC b _0201A80C _0201A75C: ldr r0, _0201A824 ; =_022A4E58 mov r1, #1 ldrh r2, [r0, #0x98] ldr r3, [r0, #0x94] str r1, [r0, #0x94] cmp r3, #0 strh sb, [r0, #0x98] cmpne r2, #0x3f00 beq _0201A7C8 mov r1, #0 ldr r0, [r0, #0xdc] mov r2, r1 bl sub_0206F38C ldr r7, _0201A81C ; =_020AFB28 mov r6, #0 ldr r4, _0201A824 ; =_022A4E58 b _0201A7B4 _0201A7A0: mov r0, r7 bl sub_02002E98 bl sub_02003AB0 mov r0, r7 bl sub_02002CB4 _0201A7B4: ldr r0, [r4, #0xdc] mov r1, r6 bl sub_0206ED30 cmp r0, #0 bgt _0201A7A0 _0201A7C8: mov r0, sb bl PlaySeLoad cmp r0, #0 ldreq r0, _0201A824 ; =_022A4E58 mov r1, #0 streq r1, [r0, #0x94] moveq r1, #0x3f00 streqh r1, [r0, #0x98] beq _0201A80C ldr r3, _0201A824 ; =_022A4E58 mov r0, #2 str r0, [r3, #0x94] ldr r0, [r3, #0xc8] add r2, sp, #8 add r0, r0, r5, lsl #16 str r0, [r3, #0xdc] bl sub_0206EDFC _0201A80C: ldr r0, _0201A81C ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0201A81C: .word _020AFB28 _0201A820: .word _02099660 _0201A824: .word _022A4E58 arm_func_end PlaySeFullSpec arm_func_start SeChangeVolume SeChangeVolume: ; 0x0201A828 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r8, r0 mov r3, r8, asr #8 ldr r0, _0201A8F4 ; =_020AFB28 mov r7, r1 mov r6, r2 and r4, r3, #0xff and r5, r8, #0xff bl sub_02002CB4 ldr r1, _0201A8F8 ; =_02099684 mov r2, r8 mov r3, r7 str r6, [sp] mov r0, #8 bl DebugPrint mov r0, #0x3e8 mul r0, r7, r0 mov r1, #4 str r1, [sp, #4] mov r1, #0x3c bl __divsi3 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, #4 rsb r2, r6, r6, lsl #7 str r0, [sp, #4] mov r0, r1, lsl #0x10 add r0, r0, r2, asr #8 str r0, [sp, #0x10] cmp r5, #0 beq _0201A8E4 cmp r4, #0x3f ldreq r0, _0201A8FC ; =_022A4E58 ldreq r0, [r0, #0x7c] addeq r0, r0, r5, lsl #16 beq _0201A8D8 cmp r4, #1 ldreq r0, _0201A8FC ; =_022A4E58 ldreq r0, [r0, #0x88] addeq r0, r0, r5, lsl #16 ldrne r0, _0201A8FC ; =_022A4E58 ldrne r0, [r0, #0xc8] addne r0, r0, r5, lsl #16 _0201A8D8: add r2, sp, #4 mov r1, #0 bl sub_0206F5C8 _0201A8E4: ldr r0, _0201A8F4 ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0201A8F4: .word _020AFB28 _0201A8F8: .word _02099684 _0201A8FC: .word _022A4E58 arm_func_end SeChangeVolume arm_func_start SeChangePan SeChangePan: ; 0x0201A900 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r8, r0 mov r3, r8, asr #8 ldr r0, _0201A9D8 ; =_020AFB28 mov r7, r1 mov r6, r2 and r4, r3, #0xff and r5, r8, #0xff bl sub_02002CB4 ldr r1, _0201A9DC ; =_020996A4 mov r2, r8 mov r3, r7 str r6, [sp] mov r0, #8 bl DebugPrint mov r0, #0x3e8 mul r0, r7, r0 mov r1, #4 str r1, [sp, #4] mov r1, #0x3c bl __divsi3 rsb r2, r6, r6, lsl #6 mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r2, r1, asr #8 mov r0, r0, lsl #0x10 mov r1, #8 str r1, [sp, #4] add r1, r2, #0x40 mov r0, r0, lsr #0x10 add r0, r1, r0, lsl #16 str r0, [sp, #0x14] cmp r5, #0 beq _0201A9C8 cmp r4, #0x3f ldreq r0, _0201A9E0 ; =_022A4E58 ldreq r0, [r0, #0x7c] addeq r0, r0, r5, lsl #16 beq _0201A9BC cmp r4, #1 ldreq r0, _0201A9E0 ; =_022A4E58 ldreq r0, [r0, #0x88] addeq r0, r0, r5, lsl #16 ldrne r0, _0201A9E0 ; =_022A4E58 ldrne r0, [r0, #0xc8] addne r0, r0, r5, lsl #16 _0201A9BC: add r2, sp, #4 mov r1, #0 bl sub_0206F5C8 _0201A9C8: ldr r0, _0201A9D8 ; =_020AFB28 bl sub_02002E98 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0201A9D8: .word _020AFB28 _0201A9DC: .word _020996A4 _0201A9E0: .word _022A4E58 arm_func_end SeChangePan arm_func_start StopSe StopSe: ; 0x0201A9E4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r2, r7, asr #8 ldr r0, _0201AA94 ; =_020AFB28 mov r5, r1 and r6, r2, #0xff and r4, r7, #0xff bl sub_02002CB4 ldr r1, _0201AA98 ; =_020996C0 mov r2, r7 mov r3, r5 mov r0, #8 bl DebugPrint cmp r7, #0x3f00 bne _0201AA2C mov r0, #0 bl sub_0206F4E0 b _0201AA88 _0201AA2C: cmp r4, #0 beq _0201AA88 cmp r6, #0x3f ldreq r0, _0201AA9C ; =_022A4E58 ldreq r0, [r0, #0x7c] addeq r4, r0, r4, lsl #16 beq _0201AA64 cmp r6, #1 ldreq r0, _0201AA9C ; =_022A4E58 ldreq r0, [r0, #0x88] addeq r4, r0, r4, lsl #16 ldrne r0, _0201AA9C ; =_022A4E58 ldrne r0, [r0, #0xc8] addne r4, r0, r4, lsl #16 _0201AA64: mov r0, #0x3e8 mul r0, r5, r0 mov r1, #0x3c bl __divsi3 mov r1, r0, lsl #0x10 mov r2, r1, lsr #0x10 mov r0, r4 mov r1, #0 bl sub_0206F38C _0201AA88: ldr r0, _0201AA94 ; =_020AFB28 bl sub_02002E98 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0201AA94: .word _020AFB28 _0201AA98: .word _020996C0 _0201AA9C: .word _022A4E58 arm_func_end StopSe arm_func_start sub_0201AAA0 sub_0201AAA0: ; 0x0201AAA0 mov r0, r0, asr #8 and r0, r0, #0xff cmp r0, #0x3f cmpne r0, #1 moveq r0, #1 movne r0, #0 bx lr arm_func_end sub_0201AAA0 arm_func_start sub_0201AABC sub_0201AABC: ; 0x0201AABC ldr r1, _0201AAD4 ; =_022A4E58 mov r0, #0 ldr r2, [r1, #0x3c] add r2, r2, #1 str r2, [r1, #0x3c] bx lr .align 2, 0 _0201AAD4: .word _022A4E58 arm_func_end sub_0201AABC arm_func_start sub_0201AAD8 sub_0201AAD8: ; 0x0201AAD8 ldrb ip, [sp] cmp ip, #1 cmpne ip, #2 moveq r3, r3, lsl #1 str r3, [r0] str r2, [r0, #4] str r1, [r0, #8] ldrb r2, [sp] ldrh r1, [sp, #4] strb r2, [r0, #0xe] strh r1, [r0, #0xc] mov r0, r3 bx lr arm_func_end sub_0201AAD8 arm_func_start sub_0201AB0C sub_0201AB0C: ; 0x0201AB0C stmdb sp!, {r3, lr} mov ip, r0 ldr r1, [ip, #4] cmp r1, #0 beq _0201AB7C ldrb r0, [ip, #0xe] cmp r0, #0 bne _0201AB40 mov r0, r1 ldr r1, [ip, #8] ldr r2, [ip] bl ArrayCopy32 ldmia sp!, {r3, pc} _0201AB40: cmp r0, #1 bne _0201AB60 ldr r2, [ip] ldrh r3, [ip, #0xc] ldr r0, [ip, #8] mov r2, r2, asr #1 bl sub_01FF8000 ldmia sp!, {r3, pc} _0201AB60: cmp r0, #2 ldmneia sp!, {r3, pc} ldr r2, [ip] ldr r0, [ip, #8] mov r2, r2, asr #1 bl sub_01FF80B0 ldmia sp!, {r3, pc} _0201AB7C: ldr r1, [ip, #8] ldr r2, [ip] mov r0, #0 bl ArrayFill32 ldmia sp!, {r3, pc} arm_func_end sub_0201AB0C arm_func_start sub_0201AB90 sub_0201AB90: ; 0x0201AB90 ldr ip, _0201ABA8 ; =MemZero add r2, r0, #0xe00 mov r3, #0 mov r1, #0xe00 strh r3, [r2] bx ip .align 2, 0 _0201ABA8: .word MemZero arm_func_end sub_0201AB90 arm_func_start sub_0201ABAC sub_0201ABAC: ; 0x0201ABAC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x18 mov r7, #0 mov sb, r0 mov r8, r1 mov r6, r7 add r5, sp, #8 b _0201ABF8 _0201ABCC: str r6, [sp] str r6, [sp, #4] ldr r2, [sb], #0xc mov r0, r5 mov r1, r8 bl sub_0201AAD8 mov r4, r0 mov r0, r5 bl sub_0201AB0C add r8, r8, r4 add r7, r7, r4 _0201ABF8: ldr r3, [sb, #4] cmp r3, #0 bne _0201ABCC mov r0, r7 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0201ABAC arm_func_start sub_0201AC10 sub_0201AC10: ; 0x0201AC10 add r0, r0, #0xe00 mov r1, #0 strh r1, [r0] bx lr arm_func_end sub_0201AC10 arm_func_start sub_0201AC20 sub_0201AC20: ; 0x0201AC20 stmdb sp!, {r4, lr} sub sp, sp, #8 ldrb lr, [sp, #0x10] ldrh ip, [sp, #0x14] mov r4, r0 str lr, [sp] str ip, [sp, #4] add r0, r4, #0xe00 ldrsh r0, [r0] add r0, r4, r0, lsl #4 bl sub_0201AAD8 add r0, r4, #0xe00 ldrsh r1, [r0] add r1, r1, #1 strh r1, [r0] add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end sub_0201AC20 arm_func_start sub_0201AC64 sub_0201AC64: ; 0x0201AC64 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 mov sb, r1 mov r8, r2 mov r7, r3 ldr r6, [sp, #0x30] add r4, sl, #0xe00 mov fp, #1 mov r5, #0 b _0201AD30 _0201AC90: ldrsh r0, [r4] cmp r0, #0xe0 bge _0201AD3C cmp r7, #0 beq _0201ACB8 cmp r7, #1 beq _0201ACD8 cmp r7, #2 beq _0201ACF8 b _0201AD1C _0201ACB8: str r5, [sp] str r5, [sp, #4] ldr r2, [sb] mov r1, r8 add r0, sl, r0, lsl #4 bl sub_0201AAD8 mov r3, r0 b _0201AD1C _0201ACD8: str fp, [sp] str r6, [sp, #4] ldr r2, [sb] mov r1, r8 add r0, sl, r0, lsl #4 bl sub_0201AAD8 mov r3, r0 b _0201AD1C _0201ACF8: mov r1, #2 str r1, [sp] mov r1, #0 str r1, [sp, #4] ldr r2, [sb] mov r1, r8 add r0, sl, r0, lsl #4 bl sub_0201AAD8 mov r3, r0 _0201AD1C: ldrsh r0, [r4] add r8, r8, r3 add sb, sb, #0xc add r0, r0, #1 strh r0, [r4] _0201AD30: ldr r3, [sb, #4] cmp r3, #0 bne _0201AC90 _0201AD3C: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0201AC64 arm_func_start sub_0201AD44 sub_0201AD44: ; 0x0201AD44 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 add r0, r6, #0xe00 ldrsh r5, [r0] mov r4, #0 b _0201AD70 _0201AD5C: add r0, r6, r4, lsl #4 bl sub_0201AB0C add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _0201AD70: cmp r4, r5 blt _0201AD5C ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0201AD44 arm_func_start sub_0201AD7C sub_0201AD7C: ; 0x0201AD7C add r0, r0, #0x14 bx lr arm_func_end sub_0201AD7C arm_func_start sub_0201AD84 sub_0201AD84: ; 0x0201AD84 add r0, r0, #0x50 bx lr arm_func_end sub_0201AD84 arm_func_start sub_0201AD8C sub_0201AD8C: ; 0x0201AD8C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r0, r2 mov r5, #0 mov ip, #1 b _0201ADC0 _0201ADA4: add r2, r1, r5 and r2, r2, #0xff ldrh lr, [r4, #0x7a] mov r2, r2, asr #4 add r5, r5, #0x10 orr r2, lr, ip, lsl r2 strh r2, [r4, #0x7a] _0201ADC0: cmp r5, r0 blt _0201ADA4 mov ip, r0, lsr #0x1f rsb r2, ip, r0, lsl #28 adds r2, ip, r2, ror #28 beq _0201ADF8 add r2, r1, r0 sub r2, r2, #1 and r2, r2, #0xff ldrh lr, [r4, #0x7a] mov r2, r2, asr #4 mov ip, #1 orr r2, lr, ip, lsl r2 strh r2, [r4, #0x7a] _0201ADF8: mov r1, r1, lsl #0x10 mov r2, r3 mov r3, r0 add r0, r4, #0x14 mov r1, r1, lsr #0x10 bl sub_0200A5B0 add r0, r4, #0x14 bl sub_0200A504 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0201AD8C arm_func_start sub_0201AE1C sub_0201AE1C: ; 0x0201AE1C stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov lr, #0 add ip, r4, r1, lsl #1 mov r5, #1 b _0201AE50 _0201AE34: add r0, r2, lr and r0, r0, #0xff ldrh r6, [ip, #0x7c] mov r0, r0, asr #4 add lr, lr, #0x10 orr r0, r6, r5, lsl r0 strh r0, [ip, #0x7c] _0201AE50: cmp lr, r3 blt _0201AE34 mov ip, r3, lsr #0x1f rsb r0, ip, r3, lsl #28 adds r0, ip, r0, ror #28 beq _0201AE90 add r0, r2, r3 sub r0, r0, #1 and r0, r0, #0xff add r6, r4, #0x7c mov r5, r1, lsl #1 ldrh lr, [r6, r5] mov r0, r0, asr #4 mov ip, #1 orr r0, lr, ip, lsl r0 strh r0, [r6, r5] _0201AE90: add r0, r2, r1, lsl #8 mov r1, r0, lsl #0x10 ldr r2, [sp, #0x10] add r0, r4, #0x50 mov r1, r1, lsr #0x10 bl sub_0200A5B0 add r0, r4, #0x50 bl sub_0200A504 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0201AE1C arm_func_start sub_0201AEB4 sub_0201AEB4: ; 0x0201AEB4 ldrh r3, [r0, #0x7a] mov r1, r1, asr #4 mov r2, #1 orr r1, r3, r2, lsl r1 strh r1, [r0, #0x7a] bx lr arm_func_end sub_0201AEB4 arm_func_start sub_0201AECC sub_0201AECC: ; 0x0201AECC stmdb sp!, {r3, lr} add lr, r0, #0x7c mov ip, r1, lsl #1 ldrh r3, [lr, ip] mov r0, r2, asr #4 mov r1, #1 orr r0, r3, r1, lsl r0 strh r0, [lr, ip] ldmia sp!, {r3, pc} arm_func_end sub_0201AECC arm_func_start sub_0201AEF0 sub_0201AEF0: ; 0x0201AEF0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r1, #0x9c bl MemZero strb r4, [r5, #0x79] ldrb r0, [r5, #0x78] orr r0, r0, #2 strb r0, [r5, #0x78] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0201AEF0 arm_func_start sub_0201AF18 sub_0201AF18: ; 0x0201AF18 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r3, r1 mov r1, #0 mov r2, #0x100 mov r4, r0 str r1, [sp] bl sub_0200A124 mov r2, #0 mov r1, r4 str r2, [sp] add r0, r4, #0x14 mov r3, #0x100 bl sub_0200A478 ldrb r0, [r4, #0x78] orr r0, r0, #4 strb r0, [r4, #0x78] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_0201AF18 arm_func_start sub_0201AF64 sub_0201AF64: ; 0x0201AF64 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r3, r1 mov ip, #0 add r0, r4, #0x3c mov r1, #2 mov r2, #0x1000 str ip, [sp] bl sub_0200A124 mov r2, #0 str r2, [sp] add r0, r4, #0x50 add r1, r4, #0x3c mov r3, #0x1000 bl sub_0200A478 ldrb r0, [r4, #0x78] orr r0, r0, #8 strb r0, [r4, #0x78] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_0201AF64 arm_func_start sub_0201AFB8 sub_0201AFB8: ; 0x0201AFB8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x78] mov r0, r0, lsl #0x1d movs r0, r0, lsr #0x1f beq _0201AFE0 add r0, r4, #0x14 bl sub_0200A510 mov r0, r4 bl sub_0200A180 _0201AFE0: ldrb r0, [r4, #0x78] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1f ldmeqia sp!, {r4, pc} add r0, r4, #0x50 bl sub_0200A510 add r0, r4, #0x3c bl sub_0200A180 ldmia sp!, {r4, pc} arm_func_end sub_0201AFB8 arm_func_start sub_0201B004 sub_0201B004: ; 0x0201B004 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldrb r1, [r7, #0x78] mov r2, r1, lsl #0x1d movs r2, r2, lsr #0x1f beq _0201B158 mov r1, r1, lsl #0x1f movs r1, r1, lsr #0x1f beq _0201B14C ldrb r0, [r7, #8] cmp r0, #0 beq _0201B150 mov r4, #0 _0201B038: mov r2, r4, lsl #4 and r0, r2, #0xff ldrh r1, [r7, #0x7a] mov r0, r0, asr #4 mov r3, #1 tst r1, r3, lsl r0 moveq r3, #0 tst r3, #0xff beq _0201B12C mov r0, r2, lsl #0x10 ldr r1, [r7, #0x10] mov r3, r0, asr #0x10 add r5, r1, r3, lsl #1 ldr r2, [r7, #0xc] mov r0, r5 mov r1, #0x20 add r6, r2, r3, lsl #1 bl sub_0207A2DC ldr r0, [r7] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0201B0A4 _0201B090: ; jump table b _0201B0A4 ; case 0 b _0201B0C0 ; case 1 b _0201B0DC ; case 2 b _0201B0F8 ; case 3 b _0201B114 ; case 4 _0201B0A4: mov r1, #0 _0201B0A8: ldrh r0, [r5], #2 add r1, r1, #1 cmp r1, #0x10 strh r0, [r6], #2 blt _0201B0A8 b _0201B12C _0201B0C0: bl sub_020783D0 mov r0, r6 mov r1, r5 mov r2, #0x20 bl Memcpy32 bl sub_02078470 b _0201B12C _0201B0DC: bl sub_020784B8 mov r0, r6 mov r1, r5 mov r2, #0x20 bl Memcpy32 bl sub_02078500 b _0201B12C _0201B0F8: bl sub_02078544 mov r0, r6 mov r1, r5 mov r2, #0x20 bl Memcpy32 bl sub_0207855C b _0201B12C _0201B114: bl sub_0207859C mov r0, r6 mov r1, r5 mov r2, #0x20 bl Memcpy32 bl sub_020785B4 _0201B12C: add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #0x10 blt _0201B038 mov r0, #0 strb r0, [r7, #8] b _0201B150 _0201B14C: bl sub_0200A184 _0201B150: mov r0, #0 strh r0, [r7, #0x7a] _0201B158: ldrb r0, [r7, #0x78] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1f ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, r7, #0x3c bl sub_0200A184 mov r3, #0 mov r2, r3 _0201B178: add r0, r3, #1 mov r0, r0, lsl #0x10 add r1, r7, r3, lsl #1 mov r3, r0, asr #0x10 strh r2, [r1, #0x7c] cmp r3, #0x10 blt _0201B178 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0201B004 arm_func_start sub_0201B198 sub_0201B198: ; 0x0201B198 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 ldr r5, [sp, #0x20] mov r8, r1 mov r4, r0 mov r1, #0x70 mov r7, r2 mov r6, r3 bl MemZero strb r5, [r4, #0xe] strb r6, [r4] stmib r4, {r7, r8} ldr r0, [r4, #4] bl sub_0201AC10 mov r0, #2 strh r0, [r4, #0xc] cmp r6, #0 moveq r0, #0x6400000 movne r0, #0x6600000 str r0, [r4, #0x64] cmp r5, #0 bne _0201B210 mov ip, #0 add r0, r4, #0x20 mov r1, #0x70 mov r2, #0x140 mov r3, #0x7000000 str ip, [sp] bl sub_0200B508 b _0201B284 _0201B210: cmp r5, #1 bne _0201B238 ldr r3, _0201B294 ; =0x07000400 mov ip, #0 add r0, r4, #0x20 mov r1, #0x70 mov r2, #0x140 str ip, [sp] bl sub_0200B508 b _0201B284 _0201B238: cmp r5, #2 bne _0201B260 ldr r3, _0201B298 ; =0x07000380 mov ip, #0 add r0, r4, #0x20 mov r1, #0x10 mov r2, #0x140 str ip, [sp] bl sub_0200B508 b _0201B284 _0201B260: cmp r5, #3 bne _0201B284 ldr r3, _0201B29C ; =0x07000780 mov ip, #0 add r0, r4, #0x20 mov r1, #0x10 mov r2, #0x140 str ip, [sp] bl sub_0200B508 _0201B284: mov r0, r4 bl sub_0201B2A0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0201B294: .word 0x07000400 _0201B298: .word 0x07000380 _0201B29C: .word 0x07000780 arm_func_end sub_0201B198 arm_func_start sub_0201B2A0 sub_0201B2A0: ; 0x0201B2A0 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 str r0, [r4, #0x40] add r0, r4, #0x20 bl sub_0200B67C ldrb r0, [r4, #0x1c] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x10 mov r1, #0xc bl MemZero mov r0, #0 strb r0, [r4, #0x1c] ldmia sp!, {r4, pc} arm_func_end sub_0201B2A0 arm_func_start sub_0201B2DC sub_0201B2DC: ; 0x0201B2DC stmdb sp!, {r4, r5, r6, lr} mov ip, #0 cmp r1, #0 moveq r0, ip ldmeqia sp!, {r4, r5, r6, pc} ldrh r6, [r0, #0xc] ldrh r4, [r3, #4] ldr r5, _0201B384 ; =_020AFC28 mov lr, r6, lsr #0x1f rsb r3, lr, r6, lsl #30 add r3, lr, r3, ror #30 mov r3, r3, lsl #1 ldrsh r3, [r5, r3] cmp r4, #0 ldr lr, [r0, #0x64] mul r5, r2, r3 bne _0201B35C ldrh r3, [sp, #0x10] mov r0, r1 cmp r3, #0x10 bhs _0201B344 mov r2, ip add r1, r5, lr bl sub_0201ABAC mov ip, r0 b _0201B37C _0201B344: mov r3, ip add r1, r5, lr mov r2, #2 bl sub_0201ABAC mov ip, r0 b _0201B37C _0201B35C: cmp r4, #1 bne _0201B37C ldrh r3, [sp, #0x10] mov r0, r1 mov r2, ip add r1, r5, lr bl sub_0201ABAC mov ip, r0 _0201B37C: mov r0, ip ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0201B384: .word _020AFC28 arm_func_end sub_0201B2DC arm_func_start sub_0201B388 sub_0201B388: ; 0x0201B388 stmdb sp!, {r3, r4, r5, lr} cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrh lr, [r0, #0xc] ldrb ip, [r3, #0xa] ldr r5, _0201B438 ; =_020AFC28 mov r4, lr, lsr #0x1f rsb lr, r4, lr, lsl #30 add r4, r4, lr, ror #30 mov r4, r4, lsl #1 ldrsh lr, [r5, r4] cmp ip, #0xff ldr r4, [r0, #0x64] mul r5, r2, lr ldreqh r2, [sp, #0x10] andeq ip, r2, #0xff ldrh r2, [r3, #4] cmp r2, #0 bne _0201B414 cmp ip, #0x10 bhs _0201B3F8 mov r3, #0 str r3, [sp] ldr r0, [r0, #4] add r2, r5, r4 bl sub_0201AC64 b _0201B430 _0201B3F8: mov r2, #0 str r2, [sp] ldr r0, [r0, #4] add r2, r5, r4 mov r3, #2 bl sub_0201AC64 b _0201B430 _0201B414: cmp r2, #1 bne _0201B430 mov r3, #0 str r3, [sp] ldr r0, [r0, #4] add r2, r5, r4 bl sub_0201AC64 _0201B430: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0201B438: .word _020AFC28 arm_func_end sub_0201B388 arm_func_start sub_0201B43C sub_0201B43C: ; 0x0201B43C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r1 ldrb r1, [r6, #0xa] mov r7, r0 ldrh r0, [r6, #4] mov r5, r2 cmp r1, #0xff movne r5, r1 cmp r0, #0 bne _0201B4B8 cmp r5, #0x10 bhs _0201B48C ldrsh r2, [r6, #6] mov r1, r5, lsl #4 ldr r0, [r7, #8] ldr r3, [r6] and r1, r1, #0xff and r2, r2, #0xff bl sub_0201AD8C b _0201B534 _0201B48C: ldr r1, [r6] sub r0, r5, #0x10 str r1, [sp] mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 ldr r0, [r7, #8] and r1, r1, #0xff mov r2, #0 mov r3, #0x10 bl sub_0201AE1C b _0201B534 _0201B4B8: cmp r0, #1 bne _0201B534 ldrb r0, [r6, #0xb] cmp r0, #0 beq _0201B518 ldrsh r1, [r6, #6] mov r4, #0 mov sb, #0x10 mov r0, r1, asr #3 add r8, r1, r0, lsr #28 b _0201B50C _0201B4E4: ldr r0, [r6] add r1, r5, r4 add r0, r0, r4, lsl #6 str r0, [sp] ldrh r2, [r6, #8] ldr r0, [r7, #8] mov r3, sb and r1, r1, #0xff bl sub_0201AE1C add r4, r4, #1 _0201B50C: cmp r4, r8, asr #4 blt _0201B4E4 b _0201B534 _0201B518: ldr r0, [r6] and r1, r5, #0xff str r0, [sp] ldrh r2, [r6, #8] ldrh r3, [r6, #6] ldr r0, [r7, #8] bl sub_0201AE1C _0201B534: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0201B43C arm_func_start sub_0201B53C sub_0201B53C: ; 0x0201B53C stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r4, [sp, #0x18] mov r5, r3 ldrh ip, [r4, #4] ldr r3, _0201B5F4 ; =_020AFC30 mov r6, r0 mov r0, ip, lsl #1 ldrh r7, [r3, r0] mov r3, #0 cmp r7, #0 bne _0201B57C ldrh r0, [sp, #0x1c] cmp r0, #0x10 movhs r0, #1 movlo r0, r7 b _0201B580 _0201B57C: mov r0, r7 _0201B580: mov ip, r2, lsl #0x10 ldrsh r2, [r6, #0xc] cmp r7, #0 cmpeq r0, #1 mov r0, r1 moveq r3, #1 mov r1, ip, asr #0x10 bl sub_0201B5F8 ldrb r1, [sp, #0x24] mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 cmp r1, #0 bne _0201B5D0 ldrh ip, [sp, #0x1c] mov r0, r6 mov r1, r5 mov r2, r7 mov r3, r4 str ip, [sp] bl sub_0201B388 _0201B5D0: ldrb r0, [sp, #0x28] cmp r0, #0 bne _0201B5EC ldrh r2, [sp, #0x1c] mov r0, r6 mov r1, r4 bl sub_0201B43C _0201B5EC: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0201B5F4: .word _020AFC30 arm_func_end sub_0201B53C arm_func_start sub_0201B5F8 sub_0201B5F8: ; 0x0201B5F8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 mov r5, r1 mov r1, r4 add r0, sp, #0 mov r6, r2 mov r4, r3 bl sub_0201B678 ldrh r3, [sp, #8] ldr r0, _0201B670 ; =0x000003FF ldr r1, _0201B674 ; =_020996D8 mov r2, r6, lsl #1 and r0, r3, r0 mov r0, r0, lsl #0x10 ldrsh r1, [r1, r2] mov r0, r0, asr #0x10 cmp r4, #0 mov r0, r0, lsl r1 mov r0, r0, lsl #0x10 movne r1, #1 mov r0, r0, asr #0x10 moveq r1, #0 mov r0, r0, lsl r1 mov r0, r0, lsl #0x10 add r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0201B670: .word 0x000003FF _0201B674: .word _020996D8 arm_func_end sub_0201B5F8 arm_func_start sub_0201B678 sub_0201B678: ; 0x0201B678 ldrh r3, [r1] ldr r2, _0201B6D0 ; =0x0000FCFF strh r3, [r0] ldrh ip, [r1, #2] sub r3, r2, #0xb00 strh ip, [r0, #2] ldrh ip, [r1, #4] and r2, ip, r2 strh r2, [r0, #4] ldrh r2, [r1, #6] and r2, r2, r3 strh r2, [r0, #6] ldrh r2, [r1, #8] strh r2, [r0, #8] ldrh r2, [r1, #4] ldrh r3, [r1, #6] mov r1, r2, lsl #0x16 and r2, r3, #0xe00 mov r1, r1, lsr #0x12 orr r1, r1, r2, asr #9 strh r1, [r0, #0xa] bx lr .align 2, 0 _0201B6D0: .word 0x0000FCFF arm_func_end sub_0201B678 arm_func_start sub_0201B6D4 sub_0201B6D4: ; 0x0201B6D4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov r5, r0 mov r6, r2 mov r7, r1 mov r4, r3 ldrsh r1, [r6, #4] ldrsh r2, [r5, #0xc] ldrb r3, [r6, #0xe] mov r0, r7 bl sub_0201B5F8 ldr r1, [r5, #0x40] str r0, [sp, #4] cmp r1, #0x80 mvnge r0, #0 bge _0201B9A4 ldrh r2, [r6, #0xa] ldrh r3, [r6, #8] ldrb sl, [r6, #0xf] and r8, r2, #0xff ldrh r2, [r6, #0xc] add r0, sp, #0x16 mov r1, r7 str r2, [sp] and sb, r3, #0xff ldrh r7, [r6, #6] ldrsh fp, [r6, #2] ldrsh r6, [r6] bl sub_0201B678 ldrsb r0, [sp, #0x19] adds r7, r7, r0 movmi r7, #0 cmp r7, #0x140 ldrge r7, _0201B9AC ; =0x0000013F cmp r4, #0 bne _0201B790 add r3, sp, #0x1a ldrh r0, [r3] add r4, sp, #0xe ldrh r2, [r3, #2] ldrh r1, [r3, #4] strh r0, [r4] ldrh r0, [r3, #6] strh r2, [r4, #2] strh r1, [r4, #4] strh r0, [r4, #6] b _0201B7E8 _0201B790: add lr, sp, #0x1a ldrh r1, [r4] ldrh r2, [lr] ldrh r0, [r4, #6] add ip, sp, #0xe and r1, r2, r1 orr r0, r0, r1 strh r0, [ip] ldrh r2, [lr, #2] ldrh r1, [r4, #2] ldrh r3, [r4, #8] ldrh r0, [lr, #4] and r1, r2, r1 orr r1, r3, r1 strh r1, [ip, #2] ldrh r1, [r4, #4] ldrh r2, [r4, #0xa] ldrh r3, [lr, #6] and r0, r0, r1 orr r0, r2, r0 strh r0, [ip, #4] strh r3, [ip, #6] _0201B7E8: ldrh r1, [sp, #0x12] mov r2, #0x400 rsb r2, r2, #0 and r1, r1, r2 ldrh r0, [sp, #0x10] strh r1, [sp, #0x12] and r1, r0, r2, lsr #23 sub r0, r6, #0x100 add r4, r1, r0 ldr r1, [sp, #4] ldrh r0, [sp, #0x12] mov r1, r1, lsl #0x10 mov r2, r2, lsr #0x16 and r1, r2, r1, lsr #16 orr r1, r0, r1 mov r3, r4, lsl #0x10 mov r0, r3, asr #0x10 strh r1, [sp, #0x12] bl sub_0201B9B0 cmp r0, #0 mvnne r7, #0 bne _0201B950 ldrh r1, [sp, #0x10] mov r0, #0x200 rsb r0, r0, #0 and r1, r1, r0 strh r1, [sp, #0x10] ldrh r3, [sp, #0x14] mov r1, r0, lsr #0x14 sub r2, fp, #0x200 and r1, r1, r3, asr #4 add r6, r1, r2 ldrh r3, [sp, #0x10] mov r1, r6, lsl #0x10 and r2, r4, r0, lsr #23 mov r0, r1, asr #0x10 orr r1, r3, r2 strh r1, [sp, #0x10] bl sub_0201B9D4 cmp r0, #0 mvnne r7, #0 bne _0201B950 ldrh r1, [sp, #0xe] ldrh r0, [sp, #0x14] and r2, r6, #0xff bic r1, r1, #0xff strh r1, [sp, #0xe] ldrh r3, [sp, #0xe] mov r1, r0, asr #1 ldr r0, [sp] orr r2, r3, r2 bic r2, r2, #0x2000 strh r2, [sp, #0xe] ldrh r2, [sp, #0xe] mov r0, r0, lsl #0x1f tst r1, #1 orr r0, r2, r0, lsr #18 strh r0, [sp, #0xe] bne _0201B928 cmp sl, #0 beq _0201B8FC ldrh r1, [sp, #0x12] mov r0, sb, lsl #0x1c bic r1, r1, #0xf000 strh r1, [sp, #0x12] ldrh r1, [sp, #0x12] orr r0, r1, r0, lsr #16 strh r0, [sp, #0x12] b _0201B928 _0201B8FC: ldrh r2, [sp, #0x12] and r1, sb, #0xf bic r0, r2, #0xf000 strh r0, [sp, #0x12] mov r0, r2, asr #0xc and r0, r0, #0xf add r0, r0, r1 ldrh r1, [sp, #0x12] mov r0, r0, lsl #0x1c orr r0, r1, r0, lsr #16 strh r0, [sp, #0x12] _0201B928: ldrh r1, [sp, #0x12] bic r0, r1, #0xf000 strh r0, [sp, #0x12] mov r0, r1, asr #0xc and r0, r0, #0xf add r0, r0, r8 ldrh r1, [sp, #0x12] mov r0, r0, lsl #0x1c orr r0, r1, r0, lsr #16 strh r0, [sp, #0x12] _0201B950: cmp r7, #0 mvnlt r0, #1 blt _0201B9A4 ldr r1, [r5, #0x40] ldr r0, [r5, #0x20] cmp r1, r0 bge _0201B9A0 ldrh r4, [sp, #0xe] ldrh r3, [sp, #0x10] ldrh r0, [sp, #0x12] add r1, sp, #8 mov r2, r7 strh r0, [sp, #0xc] strh r4, [sp, #8] strh r3, [sp, #0xa] add r0, r5, #0x20 bl sub_0200B6F0 ldr r0, [r5, #0x40] add r0, r0, #1 str r0, [r5, #0x40] _0201B9A0: mov r0, #0 _0201B9A4: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201B9AC: .word 0x0000013F arm_func_end sub_0201B6D4 arm_func_start sub_0201B9B0 sub_0201B9B0: ; 0x0201B9B0 mvn r1, #0x3f cmp r0, r1 blt _0201B9C4 cmp r0, #0x100 blt _0201B9CC _0201B9C4: mov r0, #1 bx lr _0201B9CC: mov r0, #0 bx lr arm_func_end sub_0201B9B0 arm_func_start sub_0201B9D4 sub_0201B9D4: ; 0x0201B9D4 mvn r1, #0x3f cmp r0, r1 blt _0201B9E8 cmp r0, #0xc0 blt _0201B9F0 _0201B9E8: mov r0, #1 bx lr _0201B9F0: mov r0, #0 bx lr arm_func_end sub_0201B9D4 arm_func_start sub_0201B9F8 sub_0201B9F8: ; 0x0201B9F8 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r3, [r4, #0x40] cmp r3, #0x80 mvnge r0, #0 bge _0201BA90 cmp r2, #0 blt _0201BA24 cmp r2, #0x140 blt _0201BA2C _0201BA24: mvn r0, #1 b _0201BA90 _0201BA2C: ldr r0, [r4, #0x20] cmp r3, r0 bge _0201BA8C ldrh lr, [r1] ldr r3, _0201BA98 ; =0x00000FFF add r0, r4, #0x20 strh lr, [sp] ldrh ip, [r1, #2] and lr, lr, #0xff00 strh ip, [sp, #2] ldrh ip, [r1, #4] strh ip, [sp, #4] ldrh ip, [r1, #6] add r1, sp, #0 and r3, r3, ip, asr #4 mov r3, r3, lsl #0x10 mov r3, r3, asr #0x10 and r3, r3, #0xff orr r3, lr, r3 strh r3, [sp] bl sub_0200B6F0 ldr r0, [r4, #0x40] add r0, r0, #1 str r0, [r4, #0x40] _0201BA8C: mov r0, #0 _0201BA90: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0201BA98: .word 0x00000FFF arm_func_end sub_0201B9F8 arm_func_start sub_0201BA9C sub_0201BA9C: ; 0x0201BA9C ldr ip, _0201BAA8 ; =sub_0200B57C add r0, r0, #0x20 bx ip .align 2, 0 _0201BAA8: .word sub_0200B57C arm_func_end sub_0201BA9C arm_func_start sub_0201BAAC sub_0201BAAC: ; 0x0201BAAC stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x20 bl sub_0200B570 add r0, r4, #0x20 bl sub_0200B630 ldmia sp!, {r4, pc} arm_func_end sub_0201BAAC arm_func_start sub_0201BAC8 sub_0201BAC8: ; 0x0201BAC8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 ldrb r5, [sp, #0x18] ldrb r4, [sp, #0x1c] str r5, [sp] str r4, [sp, #4] ldrh ip, [r0, #0xc] ldr r4, [r0, #0x64] ldr r5, _0201BB1C ; =_020AFC28 mov lr, ip, lsr #0x1f rsb ip, lr, ip, lsl #30 add ip, lr, ip, ror #30 mov ip, ip, lsl #1 ldrsh ip, [r5, ip] mov r5, r1 ldr r0, [r0, #4] smlabb r1, r2, ip, r4 mov r2, r5 bl sub_0201AC20 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0201BB1C: .word _020AFC28 arm_func_end sub_0201BAC8 arm_func_start sub_0201BB20 sub_0201BB20: ; 0x0201BB20 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] bl sub_0201AD44 ldr r0, [r4, #4] bl sub_0201AC10 ldmia sp!, {r4, pc} arm_func_end sub_0201BB20 arm_func_start sub_0201BB3C sub_0201BB3C: ; 0x0201BB3C stmdb sp!, {r3, lr} mov r0, #0x1f00 mov r1, #0 bl MemAlloc ldr r2, _0201BCBC ; =_020AFC4C mov r1, #0x1f00 str r0, [r2] bl MemZero ldr r0, _0201BCBC ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x1c0 bl sub_0201AB90 ldr r0, _0201BCBC ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x3c4 add r0, r0, #0xc00 bl sub_0201AB90 ldr r0, _0201BCBC ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x1c0 bl sub_0201AC10 ldr r0, _0201BCBC ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x3c4 add r0, r0, #0xc00 bl sub_0201AC10 ldr r0, _0201BCBC ; =_020AFC4C mov r1, #0 ldr r0, [r0] add r0, r0, #0x1c8 add r0, r0, #0x1c00 bl sub_0201AEF0 ldr r0, _0201BCBC ; =_020AFC4C ldr r1, _0201BCC0 ; =0x05000200 ldr r0, [r0] add r0, r0, #0x1c8 add r0, r0, #0x1c00 bl sub_0201AF18 ldr r0, _0201BCBC ; =_020AFC4C ldr r1, _0201BCC4 ; =0x06894000 ldr r0, [r0] add r0, r0, #0x1c8 add r0, r0, #0x1c00 bl sub_0201AF64 ldr r0, _0201BCBC ; =_020AFC4C mov r1, #1 ldr r0, [r0] add r0, r0, #0x264 add r0, r0, #0x1c00 bl sub_0201AEF0 ldr r0, _0201BCBC ; =_020AFC4C ldr r1, _0201BCC8 ; =0x05000600 ldr r0, [r0] add r0, r0, #0x264 add r0, r0, #0x1c00 bl sub_0201AF18 ldr r0, _0201BCBC ; =_020AFC4C mov r3, #0 ldr r0, [r0] str r3, [sp] add r1, r0, #0x1c8 add r1, r1, #0x1c00 add r2, r0, #0x1c0 bl sub_0201B198 ldr r0, _0201BCBC ; =_020AFC4C mov r3, #1 ldr r2, [r0] str r3, [sp] add r0, r2, #0x70 add r1, r2, #0x264 add r1, r1, #0x1c00 add r2, r2, #0x3c4 add r2, r2, #0xc00 bl sub_0201B198 ldr r0, _0201BCBC ; =_020AFC4C mov r1, #2 ldr r2, [r0] mov r3, #0 str r1, [sp] add r0, r2, #0xe0 add r1, r2, #0x1c8 add r1, r1, #0x1c00 add r2, r2, #0x1c0 bl sub_0201B198 ldr r0, _0201BCBC ; =_020AFC4C mov r1, #3 ldr r2, [r0] mov r3, #1 str r1, [sp] add r0, r2, #0x150 add r1, r2, #0x264 add r1, r1, #0x1c00 add r2, r2, #0x3c4 add r2, r2, #0xc00 bl sub_0201B198 ldmia sp!, {r3, pc} .align 2, 0 _0201BCBC: .word _020AFC4C _0201BCC0: .word 0x05000200 _0201BCC4: .word 0x06894000 _0201BCC8: .word 0x05000600 arm_func_end sub_0201BB3C arm_func_start sub_0201BCCC sub_0201BCCC: ; 0x0201BCCC ldr r1, _0201BCEC ; =_020AFC4C mov r2, #0x9c ldr r1, [r1] ldr ip, _0201BCF0 ; =sub_0201AD7C add r1, r1, #0x1c8 add r1, r1, #0x1c00 mla r0, r2, r0, r1 bx ip .align 2, 0 _0201BCEC: .word _020AFC4C _0201BCF0: .word sub_0201AD7C arm_func_end sub_0201BCCC arm_func_start sub_0201BCF4 sub_0201BCF4: ; 0x0201BCF4 ldr r1, _0201BD14 ; =_020AFC4C mov r2, #0x9c ldr r1, [r1] ldr ip, _0201BD18 ; =sub_0201AD84 add r1, r1, #0x1c8 add r1, r1, #0x1c00 mla r0, r2, r0, r1 bx ip .align 2, 0 _0201BD14: .word _020AFC4C _0201BD18: .word sub_0201AD84 arm_func_end sub_0201BCF4 arm_func_start sub_0201BD1C sub_0201BD1C: ; 0x0201BD1C ldr r3, _0201BD4C ; =_020AFC4C mov r2, #0x9c ldr ip, [r3] and r3, r0, #1 add r0, ip, #0x1c8 add r0, r0, #0x1c00 mla r2, r1, r2, r0 ldrb r0, [r2, #0x78] bic r0, r0, #1 orr r0, r0, r3 strb r0, [r2, #0x78] bx lr .align 2, 0 _0201BD4C: .word _020AFC4C arm_func_end sub_0201BD1C arm_func_start sub_0201BD50 sub_0201BD50: ; 0x0201BD50 stmdb sp!, {r3, lr} ldr r3, _0201BD7C ; =_020AFC4C mov r2, #0x9c ldr r3, [r3] mov ip, r0 add r0, r3, #0x1c8 add r0, r0, #0x1c00 mla r0, r1, r2, r0 mov r1, ip bl sub_0201AEB4 ldmia sp!, {r3, pc} .align 2, 0 _0201BD7C: .word _020AFC4C arm_func_end sub_0201BD50 arm_func_start sub_0201BD80 sub_0201BD80: ; 0x0201BD80 stmdb sp!, {r3, lr} ldr ip, _0201BDB0 ; =_020AFC4C mov lr, r0 ldr ip, [ip] mov r3, #0x9c add r0, ip, #0x1c8 add r0, r0, #0x1c00 mla r0, r2, r3, r0 mov r2, r1 mov r1, lr bl sub_0201AECC ldmia sp!, {r3, pc} .align 2, 0 _0201BDB0: .word _020AFC4C arm_func_end sub_0201BD80 arm_func_start sub_0201BDB4 sub_0201BDB4: ; 0x0201BDB4 stmdb sp!, {r3, lr} mov r0, #8 bl sub_0200302C ldr r0, _0201BDE8 ; =_020AFC4C ldr r0, [r0] bl sub_0201BAAC ldr r0, _0201BDE8 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x70 bl sub_0201BAAC mov r0, #8 bl sub_020030FC ldmia sp!, {r3, pc} .align 2, 0 _0201BDE8: .word _020AFC4C arm_func_end sub_0201BDB4 arm_func_start sub_0201BDEC sub_0201BDEC: ; 0x0201BDEC stmdb sp!, {r3, lr} mov r0, #8 bl sub_0200302C ldr r0, _0201BE24 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0xe0 bl sub_0201BAAC ldr r0, _0201BE24 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x150 bl sub_0201BAAC mov r0, #8 bl sub_020030FC ldmia sp!, {r3, pc} .align 2, 0 _0201BE24: .word _020AFC4C arm_func_end sub_0201BDEC arm_func_start sub_0201BE28 sub_0201BE28: ; 0x0201BE28 stmdb sp!, {r3, lr} ldr r0, _0201BE58 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x1c8 add r0, r0, #0x1c00 bl sub_0201AFB8 ldr r0, _0201BE58 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x264 add r0, r0, #0x1c00 bl sub_0201AFB8 ldmia sp!, {r3, pc} .align 2, 0 _0201BE58: .word _020AFC4C arm_func_end sub_0201BE28 arm_func_start sub_0201BE5C sub_0201BE5C: ; 0x0201BE5C stmdb sp!, {r3, lr} ldr r0, _0201BE80 ; =_020AFC4C ldr r0, [r0] bl sub_0201BA9C ldr r0, _0201BE80 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x70 bl sub_0201BA9C ldmia sp!, {r3, pc} .align 2, 0 _0201BE80: .word _020AFC4C arm_func_end sub_0201BE5C arm_func_start sub_0201BE84 sub_0201BE84: ; 0x0201BE84 stmdb sp!, {r3, lr} ldr r0, _0201BEAC ; =_020AFC4C ldr r0, [r0] add r0, r0, #0xe0 bl sub_0201BA9C ldr r0, _0201BEAC ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x150 bl sub_0201BA9C ldmia sp!, {r3, pc} .align 2, 0 _0201BEAC: .word _020AFC4C arm_func_end sub_0201BE84 arm_func_start sub_0201BEB0 sub_0201BEB0: ; 0x0201BEB0 stmdb sp!, {r3, lr} mov r0, #8 bl sub_0200302C ldr r0, _0201BF0C ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x1c8 add r0, r0, #0x1c00 bl sub_0201B004 ldr r0, _0201BF0C ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x264 add r0, r0, #0x1c00 bl sub_0201B004 ldr r0, _0201BF0C ; =_020AFC4C ldr r0, [r0] bl sub_0201BB20 ldr r0, _0201BF0C ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x70 bl sub_0201BB20 mov r0, #8 bl sub_020030FC ldmia sp!, {r3, pc} .align 2, 0 _0201BF0C: .word _020AFC4C arm_func_end sub_0201BEB0 arm_func_start sub_0201BF10 sub_0201BF10: ; 0x0201BF10 stmdb sp!, {r3, lr} mov r0, #8 bl sub_0200302C ldr r0, _0201BF48 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0xe0 bl sub_0201BB20 ldr r0, _0201BF48 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x150 bl sub_0201BB20 mov r0, #8 bl sub_020030FC ldmia sp!, {r3, pc} .align 2, 0 _0201BF48: .word _020AFC4C arm_func_end sub_0201BF10 arm_func_start sub_0201BF4C sub_0201BF4C: ; 0x0201BF4C stmdb sp!, {r3, lr} bl sub_0201BEB0 bl sub_0201BF10 bl sub_0201BDB4 bl sub_0201BDEC ldmia sp!, {r3, pc} arm_func_end sub_0201BF4C arm_func_start sub_0201BF64 sub_0201BF64: ; 0x0201BF64 stmdb sp!, {r3, lr} ldr r0, _0201BFA8 ; =_020AFC4C ldr r0, [r0] bl sub_0201B2A0 ldr r0, _0201BFA8 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x70 bl sub_0201B2A0 ldr r0, _0201BFA8 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0xe0 bl sub_0201B2A0 ldr r0, _0201BFA8 ; =_020AFC4C ldr r0, [r0] add r0, r0, #0x150 bl sub_0201B2A0 ldmia sp!, {r3, pc} .align 2, 0 _0201BFA8: .word _020AFC4C arm_func_end sub_0201BF64 arm_func_start sub_0201BFAC sub_0201BFAC: ; 0x0201BFAC stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr ip, _0201BFEC ; =_020AFC4C str r3, [sp] ldr lr, [ip] ldr ip, [sp, #0x10] mov r3, #0x70 mov r4, r0 mla r0, ip, r3, lr mov ip, r1 mov r3, r2 mov r1, r4 mov r2, ip bl sub_0201B2DC add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0201BFEC: .word _020AFC4C arm_func_end sub_0201BFAC arm_func_start sub_0201BFF0 sub_0201BFF0: ; 0x0201BFF0 ldr ip, _0201BFFC ; =sub_01FF8000 mov r2, r2, asr #1 bx ip .align 2, 0 _0201BFFC: .word sub_01FF8000 arm_func_end sub_0201BFF0 arm_func_start sub_0201C000 sub_0201C000: ; 0x0201C000 ldr r2, _0201C024 ; =0x0000FFFF mov r1, #0 strh r2, [r0] strh r2, [r0, #2] strh r2, [r0, #4] strh r1, [r0, #6] strh r1, [r0, #8] strh r1, [r0, #0xa] bx lr .align 2, 0 _0201C024: .word 0x0000FFFF arm_func_end sub_0201C000 arm_func_start sub_0201C028 sub_0201C028: ; 0x0201C028 strh r1, [r0] strh r2, [r0, #2] ldrh r1, [sp] strh r3, [r0, #4] ldrh r2, [sp, #4] strh r1, [r0, #6] ldrh r1, [sp, #8] strh r2, [r0, #8] strh r1, [r0, #0xa] bx lr arm_func_end sub_0201C028 arm_func_start InitAnimationControl InitAnimationControl: ; 0x0201C050 stmdb sp!, {r4, lr} mov r1, #0x7c mov r4, r0 bl MemZero mov r1, #0 str r1, [r4, #0x68] str r1, [r4, #0x6c] strh r1, [r4, #0x70] mov r0, #0xff strh r1, [r4, #0x72] strb r0, [r4, #0x43] add r0, r0, #0xff00 strh r0, [r4, #0x36] mov r0, #9 strb r0, [r4, #0x40] add r0, r4, #0x10 bl sub_0201C000 ldrh r0, [r4, #2] bic r0, r0, #0x8000 strh r0, [r4, #2] ldrh r0, [r4, #2] orr r0, r0, #0x200 strh r0, [r4, #2] ldmia sp!, {r4, pc} arm_func_end InitAnimationControl arm_func_start sub_0201C0B0 sub_0201C0B0: ; 0x0201C0B0 stmdb sp!, {r4, lr} mov r4, r0 bl InitAnimationControl ldrh r0, [r4, #2] orr r0, r0, #1 strh r0, [r4, #2] ldmia sp!, {r4, pc} arm_func_end sub_0201C0B0 arm_func_start sub_0201C0CC sub_0201C0CC: ; 0x0201C0CC stmdb sp!, {r4, lr} mov r4, r0 bl InitAnimationControl ldrh r0, [r4, #2] orr r0, r0, #1 strh r0, [r4, #2] ldmia sp!, {r4, pc} arm_func_end sub_0201C0CC arm_func_start SetSpriteIdForAnimationControl SetSpriteIdForAnimationControl: ; 0x0201C0E8 strh r1, [r0, #0x70] ldrsh r2, [r0, #0x70] ldrsh r1, [r0, #0x72] cmp r2, r1 strneh r2, [r0, #0x72] movne r1, #0xff strneb r1, [r0, #0x43] bx lr arm_func_end SetSpriteIdForAnimationControl arm_func_start sub_0201C108 sub_0201C108: ; 0x0201C108 stmdb sp!, {r4, lr} mov r4, r0 ldrsh r0, [r4, #0x70] cmp r0, #0 bne _0201C124 ldr r0, _0201C134 ; =_020996E0 bl DebugPrint0 _0201C124: ldrh r0, [r4, #2] orr r0, r0, #0x8000 strh r0, [r4, #2] ldmia sp!, {r4, pc} .align 2, 0 _0201C134: .word _020996E0 arm_func_end sub_0201C108 arm_func_start sub_0201C138 sub_0201C138: ; 0x0201C138 ldr ip, _0201C140 ; =InitAnimationControl bx ip .align 2, 0 _0201C140: .word InitAnimationControl arm_func_end sub_0201C138 arm_func_start sub_0201C144 sub_0201C144: ; 0x0201C144 stmdb sp!, {r3, lr} ldr r1, _0201C178 ; =_020AFC3C ldr r1, [r1, r2, lsl #2] mov r1, r1, lsl #0x10 add r0, r0, r1, asr #16 sub r0, r0, #1 mov r0, r0, lsl #0x10 mov r1, r1, asr #0x10 mov r0, r0, asr #0x10 bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0201C178: .word _020AFC3C arm_func_end sub_0201C144 arm_func_start SetAnimationForAnimationControlInternal SetAnimationForAnimationControlInternal: ; 0x0201C17C stmdb sp!, {r3, r4, r5, lr} ldr r4, [sp, #0x18] ldmia r1, {ip, lr} mov r5, #0 mov r4, r4, lsl #0x10 strh r5, [r0] strh r5, [r0, #6] mov r4, r4, asr #0x10 strh r4, [r0, #8] strh r4, [r0, #0xa] strh r5, [r0, #0xc] mov r5, #1 ldrb r4, [sp, #0x1c] strh r5, [r0, #4] ldrh r5, [r0] cmp r4, #0 orr r4, r5, #0x8000 strh r4, [r0] ldrneh r4, [r0] mov r5, #0 orrne r4, r4, #0x1000 strneh r4, [r0] ldr r4, [ip, #8] add r4, r4, r2, lsl #3 ldrh r4, [r4, #4] cmp r3, r4 strh r5, [r0, #0x20] movge r3, #0 ldr r4, [sp, #0x10] strh r5, [r0, #0x22] strh r4, [r0, #0x32] sub r4, r5, #1 strh r4, [r0, #0x3a] strh r4, [r0, #0x3c] str r5, [r0, #0x28] str r5, [r0, #0x2c] strh r5, [r0, #0xc] strh r2, [r0, #0x76] strh r3, [r0, #0x78] ldr r4, [ip] cmp lr, #0 str r4, [r0, #0x54] ldrne r5, [lr] cmp lr, #0 str r5, [r0, #0x58] ldrne r4, [lr, #4] moveq r4, #0 str r4, [r0, #0x5c] cmp lr, #0 ldrnesh r4, [lr, #0xa] ldrb lr, [sp, #0x14] ldreqsh r4, [ip, #0x14] and r4, r4, #1 strh r4, [r0, #0x60] ldr r4, [ip, #4] str r4, [r0, #0x50] ldrb r4, [sp, #0x20] strb lr, [r0, #0x41] strb r4, [r0, #0x7a] ldrb r1, [r1, #8] cmp r1, #1 beq _0201C29C ldr r1, [ip, #8] ldr r1, [r1] ldr r1, [r1, r3, lsl #2] str r1, [r0, #0x48] str r1, [r0, #0x4c] ldr r1, [ip, #8] ldrh r1, [r1, #4] strh r1, [r0, #0x30] ldr r1, [ip, #8] b _0201C2C0 _0201C29C: ldrsh r1, [ip, #0xc] strh r1, [r0, #0x30] ldr r1, [ip, #8] ldr r1, [r1, r2, lsl #3] ldr r1, [r1, r3, lsl #2] str r1, [r0, #0x48] str r1, [r0, #0x4c] ldr r1, [ip, #8] add r1, r1, r2, lsl #3 _0201C2C0: ldrh r1, [r1, #6] strh r1, [r0, #0x62] ldmia sp!, {r3, r4, r5, pc} arm_func_end SetAnimationForAnimationControlInternal arm_func_start SetAnimationForAnimationControl SetAnimationForAnimationControl: ; 0x0201C2CC stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 mov r7, r0 ldrsh r0, [r7, #0x70] mov r6, r1 mov r5, r2 mov r4, r3 bl SpriteTypeInWanTable cmp r0, #0 beq _0201C304 add r0, r0, #0xfe and r0, r0, #0xff cmp r0, #1 bhi _0201C348 _0201C304: mov r0, r7 bl GetWanForAnimationControl ldrb r3, [sp, #0x28] str r4, [sp] mov r1, r0 ldr r2, [sp, #0x2c] str r3, [sp, #4] ldrb r0, [sp, #0x30] str r2, [sp, #8] ldrb r4, [sp, #0x34] str r0, [sp, #0xc] mov r0, r7 mov r3, r6 mov r2, #0 str r4, [sp, #0x10] bl SetAnimationForAnimationControlInternal b _0201C3E0 _0201C348: ldrsh r0, [r7, #0x70] mov r1, r6, lsl #0x10 mov r1, r1, asr #0x10 bl WanTableSpriteHasAnimationGroup cmp r0, #0 mov r0, r7 beq _0201C3A4 bl GetWanForAnimationControl str r4, [sp] ldrb r3, [sp, #0x28] mov r1, r0 ldr r2, [sp, #0x2c] str r3, [sp, #4] str r2, [sp, #8] ldrb r0, [sp, #0x30] ldrb r4, [sp, #0x34] mov r2, r6 str r0, [sp, #0xc] mov r0, r7 mov r3, r5 str r4, [sp, #0x10] bl SetAnimationForAnimationControlInternal b _0201C3E0 _0201C3A4: bl GetWanForAnimationControl str r4, [sp] ldrb r3, [sp, #0x28] mov r1, r0 ldr r2, [sp, #0x2c] str r3, [sp, #4] str r2, [sp, #8] ldrb r0, [sp, #0x30] ldrb r4, [sp, #0x34] mov r3, r5 str r0, [sp, #0xc] mov r0, r7 mov r2, #0 str r4, [sp, #0x10] bl SetAnimationForAnimationControlInternal _0201C3E0: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end SetAnimationForAnimationControl arm_func_start GetWanForAnimationControl GetWanForAnimationControl: ; 0x0201C3E8 ldr r1, [r0, #0x68] cmp r1, #0 ldrne r0, [r1, #4] bxne lr ldr r1, _0201C414 ; =WAN_TABLE ldrsh r2, [r0, #0x70] ldr r1, [r1] mov r0, #0x38 smlabb r0, r2, r0, r1 ldr r0, [r0, #0x30] bx lr .align 2, 0 _0201C414: .word WAN_TABLE arm_func_end GetWanForAnimationControl arm_func_start SetAndPlayAnimationForAnimationControl SetAndPlayAnimationForAnimationControl: ; 0x0201C418 stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldrb r4, [sp, #0x18] ldr ip, [sp, #0x1c] ldrb lr, [sp, #0x20] stmia sp, {r4, ip} ldrb ip, [sp, #0x24] str lr, [sp, #8] mov r4, r0 str ip, [sp, #0xc] bl SetAnimationForAnimationControl ldr r1, [r4, #0x4c] mov r0, r4 bl LoadAnimationFrameAndIncrementInAnimationControl add sp, sp, #0x10 ldmia sp!, {r4, pc} arm_func_end SetAndPlayAnimationForAnimationControl arm_func_start SwitchAnimationControlToNextFrame SwitchAnimationControlToNextFrame: ; 0x0201C458 stmdb sp!, {r4, lr} mov r4, r0 bl sub_0201D1B0 cmp r0, #0 ldmeqia sp!, {r4, pc} ldrsh r0, [r4, #0x3a] cmp r0, #0 blt _0201C4F4 ldrh r0, [r4] tst r0, #0x4000 ldmneia sp!, {r4, pc} ldrh r1, [r4, #0xc] ldrsh r0, [r4, #4] add r0, r1, r0 strh r0, [r4, #0xc] ldrsh r1, [r4, #0xa] cmp r1, #0 beq _0201C4C0 ldrsh r0, [r4, #4] sub r0, r1, r0 strh r0, [r4, #0xa] ldrsh r0, [r4, #0xa] cmp r0, #0 movlt r0, #0 strlth r0, [r4, #0xa] ldmia sp!, {r4, pc} _0201C4C0: ldrsh r1, [r4, #6] cmp r1, #0 beq _0201C4E8 ldrsh r0, [r4, #4] sub r0, r1, r0 strh r0, [r4, #6] ldrsh r0, [r4, #6] cmp r0, #0 movlt r0, #0 strlth r0, [r4, #6] _0201C4E8: ldrsh r0, [r4, #6] cmp r0, #0 ldmgtia sp!, {r4, pc} _0201C4F4: ldr r0, [r4, #0x4c] ldrb r0, [r0] cmp r0, #0 bne _0201C550 ldrh r0, [r4] tst r0, #0x1000 beq _0201C544 ldrh r1, [r4, #0x62] ldr r2, [r4, #0x48] mov r0, #0xc mla r0, r1, r0, r2 str r0, [r4, #0x4c] ldrsh r0, [r4, #8] cmp r0, #0 beq _0201C550 bl Rand16Bit ldrsh r1, [r4, #8] and r0, r1, r0 strh r0, [r4, #0xa] b _0201C550 _0201C544: orr r0, r0, #0x2000 strh r0, [r4] ldmia sp!, {r4, pc} _0201C550: ldr r1, [r4, #0x4c] mov r0, r4 bl LoadAnimationFrameAndIncrementInAnimationControl ldmia sp!, {r4, pc} arm_func_end SwitchAnimationControlToNextFrame arm_func_start LoadAnimationFrameAndIncrementInAnimationControl LoadAnimationFrameAndIncrementInAnimationControl: ; 0x0201C560 ldrh r2, [r0] orr r2, r2, #0x800 strh r2, [r0] ldrb r2, [r1] strh r2, [r0, #6] ldrsh r2, [r1, #2] strh r2, [r0, #0x3a] ldrsh r2, [r1, #4] strh r2, [r0, #0x20] ldrsh r2, [r1, #6] strh r2, [r0, #0x22] ldrsh r2, [r1, #8] strh r2, [r0, #0x24] ldrsh r2, [r1, #0xa] strh r2, [r0, #0x26] ldrb r2, [r1, #1] str r2, [r0, #0x28] ldrb r1, [r1, #1] ldr r2, [r0, #0x2c] orr r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x4c] add r1, r1, #0xc str r1, [r0, #0x4c] bx lr arm_func_end LoadAnimationFrameAndIncrementInAnimationControl arm_func_start sub_0201C5C4 sub_0201C5C4: ; 0x0201C5C4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x90 mov r8, r0 ldrh r0, [r8] tst r0, #0x8000 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0201CF40 ldrsh r0, [r8, #0x3a] mov fp, #0 cmp r0, #0 bge _0201C618 mov r0, r8 bl SwitchAnimationControlToNextFrame ldrh r0, [r8] tst r0, #0x8000 movne r0, #1 moveq r0, fp tst r0, #0xff beq _0201CF40 _0201C618: ldrsh r1, [r8, #0x3c] ldrsh r0, [r8, #0x3a] cmp r1, r0 ldrh r0, [r8, #2] movne fp, #1 bicne r0, r0, #0x100 strneh r0, [r8, #2] bne _0201C640 tst r0, #0x100 movne fp, #1 _0201C640: ldrb r0, [r8, #0x7a] cmp r0, #4 bhs _0201CEC8 ldrsh r0, [r8, #0x70] bl SpriteTypeInWanTable cmp r0, #3 bne _0201C928 mov r0, r8 bl GetWanForAnimationControl ldr r6, [r0] ldr r5, [r0, #4] ldr sl, [r6, #0x10] mov r0, #0 ldr r3, [r5] mov r7, r0 str r0, [sp, #0x44] ldr r0, [r5, #4] ldrsh r1, [r8, #0x3a] ldr r2, [r6] cmp sl, #0 str r0, [sp, #0x48] ldr r4, [r3] ldr sb, [r2, r1, lsl #2] beq _0201C6CC ldrsh r0, [r8, #0x78] str r0, [sp, #0x20] ldr r1, [sp, #0x20] ldrh r0, [r8, #0xc] add r1, sl, r1, lsl #3 ldr r1, [r1, #4] bl __divsi3 ldr r0, [sp, #0x20] ldr r0, [sl, r0, lsl #3] ldrb r0, [r0, r1] str r0, [sp, #0x44] _0201C6CC: cmp r5, #0 cmpne fp, #0 beq _0201C7D8 ldrh r0, [r8, #2] tst r0, #0x8000 bne _0201C7D8 ldr r0, [sp, #0x48] ldr r0, [r0] str r0, [sp, #0x84] ldr r0, [sp, #0x48] ldrsh r0, [r0, #6] strh r0, [sp, #0x8a] ldrsh r0, [r5, #0xa] cmp r0, #2 bne _0201C72C ldrsh r2, [r4, #4] ldrsh r0, [r4, #6] mov r1, #2 smulbb r2, r2, r0 mov r0, r2, asr #1 add r0, r2, r0, lsr #30 strh r1, [sp, #0x88] mov r5, r0, asr #2 b _0201C79C _0201C72C: cmp r0, #0 bne _0201C754 ldrsh r2, [r4, #4] ldrsh r0, [r4, #6] mov r1, #0 smulbb r0, r2, r0 add r0, r0, r0, lsr #31 strh r1, [sp, #0x88] mov r5, r0, asr #1 b _0201C79C _0201C754: cmp r0, #3 bne _0201C774 ldrsh r2, [r4, #4] ldrsh r1, [r4, #6] mov r0, #3 strh r0, [sp, #0x88] smulbb r5, r2, r1 b _0201C79C _0201C774: cmp r0, #4 ldrsh r2, [r4, #4] ldreqsh r1, [r4, #6] moveq r0, #4 streqh r0, [sp, #0x88] smulbbeq r5, r2, r1 ldrnesh r1, [r4, #6] movne r0, #1 smulbbne r5, r2, r1 strneh r0, [sp, #0x88] _0201C79C: ldr r0, _0201CF48 ; =_020AFC70 ldrb r2, [r8, #0x40] ldr r0, [r0] ldrb r3, [r8, #0x41] add r1, sp, #0x84 add r0, r0, #0xcc bl sub_0201E408 ldrh r1, [r8, #0x32] ldr r0, [r4] mov r2, r5 mov r3, #0 bl sub_0201E050 ldrh r0, [r8, #2] orr r0, r0, #0x8000 strh r0, [r8, #2] _0201C7D8: ldr r0, [sp, #0x44] and r0, r0, #0xf8 mov r0, r0, asr #3 str r0, [sp, #0x24] _0201C7E8: ldr r0, _0201CF48 ; =_020AFC70 ldrsh r2, [r8, #0x1c] ldr r5, [r0] ldrsh r0, [r8, #0x20] ldrh sl, [sb, #0x20] ldrsh ip, [r8, #0x1e] ldrsh r3, [r8, #0x22] add r2, r2, r0 ldrb r4, [r8, #0x41] ldrb r1, [r8, #0x40] add r3, ip, r3 add ip, sl, #0x39 ldrh r0, [r8, #0x32] ldr r5, [r5, #0xe0] mov sl, #3 add r1, r4, r1, lsl #8 strh sl, [sp, #0x5c] add r4, r5, r1, lsl #1 str r0, [sp, #0x60] strh ip, [sp, #0x5e] mov r0, r4, lsl #0x10 ldr r1, [sb] mov r4, r7 add r0, r1, r0, lsr #16 add r1, r7, #1 and r7, r1, #0xff add r5, sp, #0x68 str r0, [sp, #0x64] add sl, sb, #0x10 mov r1, #4 _0201C860: ldrh r0, [sl], #2 subs r1, r1, #1 strh r0, [r5], #2 bne _0201C860 ldrh r5, [sb, #0x18] add r0, sp, #0x7e add r1, sb, #0x1a strh r5, [sp, #0x70] ldrsh r5, [sb, #4] strh r5, [sp, #0x72] ldrsh sl, [sb, #6] add r5, r5, r2 add r2, sl, r3 strh r5, [sp, #0x72] strh r2, [sp, #0x74] ldrsh r2, [sb, #8] strh r2, [sp, #0x76] ldrsh r2, [sb, #0xa] strh r2, [sp, #0x78] ldrh r2, [sb, #0xc] strh r2, [sp, #0x7a] ldrh r2, [sb, #0xe] strh r2, [sp, #0x7c] ldrh r2, [sb, #0x1e] strb r4, [sp, #0x82] strh r2, [sp, #0x80] ldrb r2, [sb, #0x1d] and r2, r2, #0xf8 mov r2, r2, asr #3 strb r2, [sp, #0x83] bl Rgb8ToRgb5 ldr r0, [r6, #0x10] mov r1, #0x3f cmp r0, #0 ldrne r0, [sp, #0x24] strneb r0, [sp, #0x83] mov r0, r7 bl __divsi3 ldrh r0, [r8, #2] and r7, r1, #0xff tst r0, #2 bne _0201C910 add r0, sp, #0x5c bl sub_01FF8CAC _0201C910: ldrb r0, [sb, #0x22] cmp r0, #0 addeq sb, sb, #0x28 beq _0201C7E8 mov r4, #1 b _0201CF04 _0201C928: ldrb r2, [r8, #0x7a] ldr r1, _0201CF4C ; =_020AFC50 mov r0, r8 ldr r1, [r1, r2, lsl #2] str r1, [sp, #0x40] bl GetWanForAnimationControl mov r1, #0 ldrh r3, [r8, #0x60] str r1, [sp, #0x2c] ldr r2, _0201CF50 ; =_020AFC30 mov r1, r3, lsl #1 ldrh r1, [r2, r1] str r1, [sp, #0x28] ldrsh r2, [r8, #0x3a] ldr r3, [r8, #0x54] ldr r1, [sp, #0x2c] str r1, [sp, #0x34] str r1, [sp, #0x38] ldr r7, [r0, #4] ldr r1, [sp, #0x28] ldrb r0, [r8, #0x41] ldr r6, [r3, r2, lsl #2] cmp r1, #0 str r0, [sp, #0x30] bne _0201C9B4 ldr r0, [sp, #0x30] cmp r0, #0x10 blo _0201C9B4 sub r0, r0, #0x10 mov r1, r0, lsl #0x10 mov r0, #1 str r0, [sp, #0x28] str r0, [sp, #0x38] mov r0, r1, lsr #0x10 str r0, [sp, #0x30] _0201C9B4: ldrh r2, [r8, #2] tst r2, #0x20 addne r0, r8, #0x10 strne r0, [sp, #0x2c] cmp r7, #0 cmpne fp, #0 beq _0201CCFC ldrh r0, [r7, #8] tst r0, #1 beq _0201CCFC tst r2, #0x8000 bne _0201CCFC ldr r0, [sp, #0x40] mov r1, #0 ldrh r5, [r7, #0xe] ldrh sb, [r8, #0x32] mov r4, r1 tst r2, #0x80 movne r1, #1 tst r2, #0x40 and r0, r0, #0xff movne r4, #1 cmp r0, #3 addls pc, pc, r0, lsl #2 b _0201CCE0 _0201CA18: ; jump table b _0201CA28 ; case 0 b _0201CAD0 ; case 1 b _0201CB80 ; case 2 b _0201CC30 ; case 3 _0201CA28: cmp r1, #0 bne _0201CAB0 mov sl, #0 b _0201CAA8 _0201CA38: ldr r0, [r8, #0x58] ldrb r1, [r8, #0x41] ldr r0, [r0, sl, lsl #2] mov r2, sb str r0, [sp, #0x3c] str r1, [sp] ldr r0, _0201CF54 ; =_020AFC4C ldr r1, [sp, #0x3c] ldr r0, [r0] ldr r3, [r8, #0x5c] bl sub_0201B388 ldr r2, [r8, #0x5c] ldr r1, _0201CF54 ; =_020AFC4C ldrh r3, [r2, #4] ldr r1, [r1] ldr r0, [sp, #0x3c] ldrh r2, [r1, #0xc] ldr r1, _0201CF50 ; =_020AFC30 mov r3, r3, lsl #1 ldrh r1, [r1, r3] ldr r0, [r0, #4] bl sub_0201C144 add r0, sb, r0 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 _0201CAA8: cmp sl, r5 blo _0201CA38 _0201CAB0: cmp r4, #0 bne _0201CCE0 ldr r0, _0201CF54 ; =_020AFC4C ldrb r2, [r8, #0x41] ldr r0, [r0] ldr r1, [r8, #0x5c] bl sub_0201B43C b _0201CCE0 _0201CAD0: cmp r1, #0 bne _0201CB5C mov sl, #0 b _0201CB54 _0201CAE0: ldr r0, [r8, #0x58] ldrb r1, [r8, #0x41] ldr r0, [r0, sl, lsl #2] mov r2, sb str r0, [sp, #0x14] str r1, [sp] ldr r0, _0201CF54 ; =_020AFC4C ldr r1, [sp, #0x14] ldr r0, [r0] ldr r3, [r8, #0x5c] add r0, r0, #0x70 bl sub_0201B388 ldr r2, [r8, #0x5c] ldr r1, _0201CF54 ; =_020AFC4C ldrh r3, [r2, #4] ldr r1, [r1] ldr r0, [sp, #0x14] ldrh r2, [r1, #0x7c] ldr r1, _0201CF50 ; =_020AFC30 mov r3, r3, lsl #1 ldrh r1, [r1, r3] ldr r0, [r0, #4] bl sub_0201C144 add r0, sb, r0 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 _0201CB54: cmp sl, r5 blo _0201CAE0 _0201CB5C: cmp r4, #0 bne _0201CCE0 ldr r0, _0201CF54 ; =_020AFC4C ldrb r2, [r8, #0x41] ldr r0, [r0] ldr r1, [r8, #0x5c] add r0, r0, #0x70 bl sub_0201B43C b _0201CCE0 _0201CB80: cmp r1, #0 bne _0201CC0C mov sl, #0 b _0201CC04 _0201CB90: ldr r0, [r8, #0x58] ldrb r1, [r8, #0x41] ldr r0, [r0, sl, lsl #2] mov r2, sb str r0, [sp, #0x18] str r1, [sp] ldr r0, _0201CF54 ; =_020AFC4C ldr r1, [sp, #0x18] ldr r0, [r0] ldr r3, [r8, #0x5c] add r0, r0, #0xe0 bl sub_0201B388 ldr r2, [r8, #0x5c] ldr r1, _0201CF54 ; =_020AFC4C ldrh r3, [r2, #4] ldr r1, [r1] ldr r0, [sp, #0x18] ldrh r2, [r1, #0xec] ldr r1, _0201CF50 ; =_020AFC30 mov r3, r3, lsl #1 ldrh r1, [r1, r3] ldr r0, [r0, #4] bl sub_0201C144 add r0, sb, r0 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 _0201CC04: cmp sl, r5 blo _0201CB90 _0201CC0C: cmp r4, #0 bne _0201CCE0 ldr r0, _0201CF54 ; =_020AFC4C ldrb r2, [r8, #0x41] ldr r0, [r0] ldr r1, [r8, #0x5c] add r0, r0, #0xe0 bl sub_0201B43C b _0201CCE0 _0201CC30: cmp r1, #0 bne _0201CCC0 mov sl, #0 b _0201CCB8 _0201CC40: ldr r0, [r8, #0x58] ldrb r1, [r8, #0x41] ldr r0, [r0, sl, lsl #2] mov r2, sb str r0, [sp, #0x1c] str r1, [sp] ldr r0, _0201CF54 ; =_020AFC4C ldr r1, [sp, #0x1c] ldr r0, [r0] ldr r3, [r8, #0x5c] add r0, r0, #0x150 bl sub_0201B388 ldr r1, _0201CF54 ; =_020AFC4C ldr r2, [r8, #0x5c] ldr r1, [r1] ldrh r3, [r2, #4] add r1, r1, #0x100 ldrh r2, [r1, #0x5c] ldr r0, [sp, #0x1c] ldr r1, _0201CF50 ; =_020AFC30 mov r3, r3, lsl #1 ldrh r1, [r1, r3] ldr r0, [r0, #4] bl sub_0201C144 add r0, sb, r0 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 _0201CCB8: cmp sl, r5 blo _0201CC40 _0201CCC0: cmp r4, #0 bne _0201CCE0 ldr r0, _0201CF54 ; =_020AFC4C ldrb r2, [r8, #0x41] ldr r0, [r0] ldr r1, [r8, #0x5c] add r0, r0, #0x150 bl sub_0201B43C _0201CCE0: ldrh r1, [r8, #2] ldr r0, _0201CF58 ; =0x0000FFFF orr r1, r1, #0x8000 strh r1, [r8, #2] ldrb r1, [r8, #0x41] strb r1, [r8, #0x43] strh r0, [r8, #0x36] _0201CCFC: ldr r0, [sp, #0x40] mov r1, #0x70 mul r5, r0, r1 cmp fp, #0 moveq sb, #1 ldr sl, _0201CF58 ; =0x0000FFFF movne sb, #0 _0201CD18: cmp sb, #0 mov r4, #0 bne _0201CD34 ldrsh r0, [r6] cmp r0, #0 strgeh r0, [r8, #0x36] bge _0201CD38 _0201CD34: strh sl, [r8, #0x36] _0201CD38: ldrsh r3, [r8, #0x1e] ldrsh r2, [r8, #0x22] ldrsh r1, [r8, #0x1c] ldrsh r0, [r8, #0x20] add r2, r3, r2 add r0, r1, r0 strh r2, [sp, #0x4e] strh r0, [sp, #0x4c] ldrh r0, [r8, #0x32] strh r0, [sp, #0x50] ldrh r0, [r8, #0x38] strh r0, [sp, #0x52] ldr r0, [sp, #0x30] strh r0, [sp, #0x54] ldrb r0, [r8, #0x42] strh r0, [sp, #0x56] ldr r0, [sp, #0x28] strh r0, [sp, #0x58] ldr r0, [sp, #0x38] strb r0, [sp, #0x5a] ldrh r0, [r8, #2] tst r0, #0x1000 movne r0, #1 moveq r0, #0 strb r0, [sp, #0x5b] ldrh r0, [r8, #2] tst r0, #2 bne _0201CDD4 ldr r0, _0201CF54 ; =_020AFC4C ldr r3, [sp, #0x2c] ldr r0, [r0] mov r1, r6 add r0, r0, r5 add r2, sp, #0x4c bl sub_0201B6D4 cmp r0, #0 movne r0, #1 moveq r4, #1 strne r0, [sp, #0x34] _0201CDD4: ldrh r2, [r8, #2] tst r2, #0x200 movne r4, #1 cmp r4, #0 cmpne r7, #0 beq _0201CE80 ldrh r0, [r7, #8] tst r0, #1 bne _0201CE80 ldrh r0, [r8, #0x36] cmp r0, sl beq _0201CE80 ldrb r3, [r8, #0x41] ldrb r1, [r8, #0x43] mov r0, #1 cmp r3, r1 beq _0201CE24 tst r2, #0x40 moveq r0, #0 strb r3, [r8, #0x43] _0201CE24: ldrh r2, [r8, #0x36] ldr r3, [r8, #0x58] ldrh r1, [r8, #2] ldr r3, [r3, r2, lsl #2] ldr r2, [r8, #0x5c] tst r1, #0x80 str r2, [sp] ldrb r2, [r8, #0x41] movne r1, #1 moveq r1, #0 str r2, [sp, #4] mov r2, #0 and r4, r1, #0xff str r2, [sp, #8] str r4, [sp, #0xc] str r0, [sp, #0x10] ldr r0, _0201CF54 ; =_020AFC4C ldrh r2, [r8, #0x32] ldr r0, [r0] mov r1, r6 add r0, r0, r5 bl sub_0201B53C strh sl, [r8, #0x36] _0201CE80: ldrh r0, [r6, #6] mov r0, r0, asr #0xb tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff addeq r6, r6, #0xa beq _0201CD18 ldrh r0, [r8, #2] tst r0, #0x200 movne r0, #0 strne r0, [sp, #0x34] ldr r0, [sp, #0x34] cmp r0, #0 moveq r0, #1 movne r0, #0 and r4, r0, #0xff b _0201CF04 _0201CEC8: bne _0201CF04 ldrsh r0, [r8, #0x3a] ldr r1, [r8, #0x54] ldr r3, [r1, r0, lsl #2] mov r0, #0 mov r1, #1 _0201CEE0: ldrh r2, [r3, #6] mov r2, r2, asr #0xb tst r2, #1 movne r2, r1 moveq r2, r0 tst r2, #0xff addeq r3, r3, #0xa beq _0201CEE0 mov r4, #1 _0201CF04: cmp r4, #0 ldrneh r0, [r8, #2] bicne r0, r0, #0x100 strneh r0, [r8, #2] bne _0201CF28 cmp fp, #0 ldrneh r0, [r8, #2] orrne r0, r0, #0x100 strneh r0, [r8, #2] _0201CF28: ldrsh r0, [r8, #0x3a] strh r0, [r8, #0x3c] ldrh r0, [r8] tst r0, #0x800 bicne r0, r0, #0x800 strneh r0, [r8] _0201CF40: add sp, sp, #0x90 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201CF48: .word _020AFC70 _0201CF4C: .word _020AFC50 _0201CF50: .word _020AFC30 _0201CF54: .word _020AFC4C _0201CF58: .word 0x0000FFFF arm_func_end sub_0201C5C4 arm_func_start sub_0201CF5C sub_0201CF5C: ; 0x0201CF5C stmdb sp!, {r4, lr} mov r4, r0 bl sub_0201C5C4 ldrh r0, [r4, #2] tst r0, #0x10 ldmneia sp!, {r4, pc} mov r0, r4 bl SwitchAnimationControlToNextFrame ldmia sp!, {r4, pc} arm_func_end sub_0201CF5C arm_func_start sub_0201CF80 sub_0201CF80: ; 0x0201CF80 ldrb r1, [r0, #0x41] add r1, r1, #1 strb r1, [r0, #0x43] bx lr arm_func_end sub_0201CF80 arm_func_start sub_0201CF90 sub_0201CF90: ; 0x0201CF90 stmdb sp!, {r3, lr} mov ip, #0 strh ip, [r0] strh ip, [r0, #2] ldrh r3, [r1] tst r3, #0x8000 movne ip, #1 tst ip, #0xff ldmeqia sp!, {r3, pc} cmp r2, #4 ldmhsia sp!, {r3, pc} ldrsh ip, [r1, #0x3a] mvn r3, #0 cmp ip, r3 ldrne r3, [r1, #0x50] cmpne r3, #0 beq _0201D024 add ip, r3, ip, lsl #4 mov r3, r2, lsl #2 ldrsh lr, [ip, r3] cmp lr, #0x63 addeq r3, ip, r3 ldreqsh r3, [r3, #2] cmpeq r3, #0x63 moveq r1, #0x63 streqh r1, [r0] streqh r1, [r0, #2] ldmeqia sp!, {r3, pc} ldrsh r3, [r1, #0x20] add r2, ip, r2, lsl #2 add r3, r3, lr strh r3, [r0] ldrsh r3, [r1, #0x22] ldrsh r1, [r2, #2] add r1, r3, r1 strh r1, [r0, #2] ldmia sp!, {r3, pc} _0201D024: mov r1, #0 strh r1, [r0] strh r1, [r0, #2] ldmia sp!, {r3, pc} arm_func_end sub_0201CF90 arm_func_start sub_0201D034 sub_0201D034: ; 0x0201D034 stmdb sp!, {r4, r5, r6, lr} ldrh r3, [r2] tst r3, #0x8000 movne r3, #1 moveq r3, #0 tst r3, #0xff ldmeqia sp!, {r4, r5, r6, pc} ldr r4, [r2, #0x50] cmp r4, #0 beq _0201D0CC ldrsh r3, [r2, #0x3a] mov ip, #0 mov r5, #0x63 add r3, r4, r3, lsl #4 b _0201D0C0 _0201D070: mov r4, ip, lsl #2 ldrsh r6, [r3, r4] cmp r6, #0x63 addeq r4, r3, r4 ldreqsh r4, [r4, #2] cmpeq r4, #0x63 streqh r5, [r0] streqh r5, [r0, #2] beq _0201D0B4 ldrsh r4, [r2, #0x20] add lr, r3, ip, lsl #2 add r4, r4, r6 strh r4, [r0] ldrsh r4, [r2, #0x22] ldrsh lr, [lr, #2] add r4, r4, lr strh r4, [r0, #2] _0201D0B4: add ip, ip, #1 add r0, r0, #4 and ip, ip, #0xff _0201D0C0: cmp ip, r1 blo _0201D070 ldmia sp!, {r4, r5, r6, pc} _0201D0CC: mov r2, #0 mov r3, r2 b _0201D0EC _0201D0D8: strh r3, [r0] add r2, r2, #1 strh r3, [r0, #2] add r0, r0, #4 and r2, r2, #0xff _0201D0EC: cmp r2, r1 blo _0201D0D8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0201D034 arm_func_start sub_0201D0F8 sub_0201D0F8: ; 0x0201D0F8 strb r1, [r0, #0x40] bx lr arm_func_end sub_0201D0F8 arm_func_start sub_0201D100 sub_0201D100: ; 0x0201D100 ldr ip, _0201D10C ; =sub_0201DC4C ldrsh r0, [r0, #0x70] bx ip .align 2, 0 _0201D10C: .word sub_0201DC4C arm_func_end sub_0201D100 arm_func_start sub_0201D110 sub_0201D110: ; 0x0201D110 add r3, r0, #0x10 mov r2, #6 _0201D118: ldrh r0, [r1], #2 subs r2, r2, #1 strh r0, [r3], #2 bne _0201D118 bx lr arm_func_end sub_0201D110 arm_func_start sub_0201D12C sub_0201D12C: ; 0x0201D12C ldrh r3, [r0, #2] and r2, r1, #3 ldr r1, _0201D16C ; =0x0000F3FF orr r3, r3, #0x20 strh r3, [r0, #2] ldrh r3, [r0, #0x14] mov r2, r2, lsl #0x10 and r3, r3, r1 strh r3, [r0, #0x14] ldrh r3, [r0, #0x1a] and r1, r3, r1 strh r1, [r0, #0x1a] ldrh r1, [r0, #0x1a] orr r1, r1, r2, lsr #6 strh r1, [r0, #0x1a] bx lr .align 2, 0 _0201D16C: .word 0x0000F3FF arm_func_end sub_0201D12C arm_func_start AnimationControlGetAllocForMaxFrame AnimationControlGetAllocForMaxFrame: ; 0x0201D170 stmdb sp!, {r3, lr} bl GetWanForAnimationControl cmp r0, #0 ldrne r0, [r0] ldrnesh r0, [r0, #0xe] moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end AnimationControlGetAllocForMaxFrame arm_func_start sub_0201D18C sub_0201D18C: ; 0x0201D18C mov r1, #0 strh r1, [r0] bx lr arm_func_end sub_0201D18C arm_func_start sub_0201D198 sub_0201D198: ; 0x0201D198 cmp r1, #0 ldrh r1, [r0] orrne r1, r1, #0x4000 biceq r1, r1, #0x4000 strh r1, [r0] bx lr arm_func_end sub_0201D198 arm_func_start sub_0201D1B0 sub_0201D1B0: ; 0x0201D1B0 ldrh r0, [r0] tst r0, #0x2000 movne r0, #0 bxne lr tst r0, #0x8000 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_0201D1B0 arm_func_start sub_0201D1D4 sub_0201D1D4: ; 0x0201D1D4 ldr r0, [r0, #0x2c] bx lr arm_func_end sub_0201D1D4 arm_func_start DeleteWanTableEntry DeleteWanTableEntry: ; 0x0201D1DC stmdb sp!, {r4, lr} mov r2, #0x38 smlabb r4, r1, r2, r0 ldrb r0, [r4, #0x20] cmp r0, #0 beq _0201D204 mov r0, r4 mov r1, r2 bl MemZero ldmia sp!, {r4, pc} _0201D204: ldr r0, [r4, #0x34] cmp r0, #0 ldrnesh r0, [r4, #0x2c] cmpne r0, #0 ldmeqia sp!, {r4, pc} sub r0, r0, #1 strh r0, [r4, #0x2c] ldrsh r0, [r4, #0x2c] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x34] bl MemFree mov r0, r4 mov r1, #0x38 bl MemZero ldmia sp!, {r4, pc} arm_func_end DeleteWanTableEntry arm_func_start AllocateWanTableEntry AllocateWanTableEntry: ; 0x0201D244 stmdb sp!, {r3, r4, r5, lr} add r1, r0, #0x1500 mov lr, #1 ldrsh r4, [r1, #0xa] ldrsh r5, [r1, #8] mov ip, lr mov r3, #0x38 b _0201D2C4 _0201D264: cmp r4, r5 movge r4, ip smlabb r1, r4, r3, r0 ldr r1, [r1, #0x34] cmp r1, #0 bne _0201D2AC add r2, r4, #1 add r1, r0, #0x1500 strh r2, [r1, #0xa] ldrsh r3, [r1, #0xa] ldrsh r2, [r1, #8] cmp r3, r2 movge r2, #1 strgeh r2, [r1, #0xa] mov r1, #0x38 bl MemZero mov r0, r4 ldmia sp!, {r3, r4, r5, pc} _0201D2AC: add r1, lr, #1 add r2, r4, #1 mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 mov lr, r1, asr #0x10 mov r4, r2, asr #0x10 _0201D2C4: cmp lr, r5 blt _0201D264 mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end AllocateWanTableEntry arm_func_start FindWanTableEntry FindWanTableEntry: ; 0x0201D2D4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 add r0, r6, #0x1500 mov r5, r1 ldrsh r4, [r0, #8] mov r8, #1 mov r7, #0x38 b _0201D324 _0201D2F4: smlabb r0, r8, r7, r6 ldrb r1, [r0, #0x21] cmp r1, #1 bne _0201D318 mov r1, r5 bl strcmp cmp r0, #0 moveq r0, r8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _0201D318: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _0201D324: cmp r8, r4 blt _0201D2F4 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end FindWanTableEntry arm_func_start GetLoadedWanTableEntry GetLoadedWanTableEntry: ; 0x0201D334 stmdb sp!, {r3, r4, r5, lr} add r3, r0, #0x1500 ldrsh r5, [r3, #8] mov r4, #1 mov ip, #0x38 b _0201D37C _0201D34C: smlabb lr, r4, ip, r0 ldrb r3, [lr, #0x21] cmp r3, #2 ldreqh r3, [lr, #0x22] cmpeq r1, r3 ldreqh r3, [lr, #0x24] cmpeq r2, r3 moveq r0, r4 ldmeqia sp!, {r3, r4, r5, pc} add r3, r4, #1 mov r3, r3, lsl #0x10 mov r4, r3, asr #0x10 _0201D37C: cmp r4, r5 blt _0201D34C mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end GetLoadedWanTableEntry arm_func_start sub_0201D38C sub_0201D38C: ; 0x0201D38C stmdb sp!, {r4, lr} ldr r1, _0201D3B8 ; =0x00001510 mov r4, r0 bl MemZero add r1, r4, #0x1500 mov r2, #1 strh r2, [r1, #0xa] add r0, r4, #0x1000 strb r2, [r0, #0x50c] strh r2, [r1, #0xa] ldmia sp!, {r4, pc} .align 2, 0 _0201D3B8: .word 0x00001510 arm_func_end sub_0201D38C arm_func_start InitWanTable InitWanTable: ; 0x0201D3BC stmdb sp!, {r4, lr} mov r1, #0x1500 mov r4, r0 bl MemZero add r0, r4, #0x1500 mov r1, #0x60 strh r1, [r0, #8] ldmia sp!, {r4, pc} arm_func_end InitWanTable arm_func_start LoadWanTableEntry LoadWanTableEntry: ; 0x0201D3DC stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r5, r0 mov r6, r1 mov r7, r2 bl FindWanTableEntry mvn r1, #0 cmp r0, r1 beq _0201D418 mov r1, #0x38 smlabb r2, r0, r1, r5 ldrsh r1, [r2, #0x2c] add r1, r1, #1 strh r1, [r2, #0x2c] b _0201D47C _0201D418: mov r0, r5 bl AllocateWanTableEntry mov r4, r0 mov r0, #0x38 smlabb r5, r4, r0, r5 mov r3, #1 add r0, sp, #0 mov r1, r6 mov r2, r7 strb r3, [r5, #0x21] bl LoadFileFromRom ldr r1, [sp] mov r0, r5 str r1, [r5, #0x34] ldr r2, [sp, #4] mov r1, r6 str r2, [r5, #0x28] bl strcpy ldrsh r1, [r5, #0x2c] add r0, r5, #0x30 add r1, r1, #1 strh r1, [r5, #0x2c] ldr r1, [r5, #0x34] bl HandleSir0TranslationVeneer mov r0, r4 _0201D47C: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end LoadWanTableEntry arm_func_start LoadWanTableEntryFromPack LoadWanTableEntryFromPack: ; 0x0201D484 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r8, r1 mov r7, r2 mov r6, r3 bl GetLoadedWanTableEntry mvn r1, #0 cmp r0, r1 beq _0201D4C0 mov r1, #0x38 smlabb r2, r0, r1, sb ldrsh r1, [r2, #0x2c] add r1, r1, #1 strh r1, [r2, #0x2c] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0201D4C0: mov r0, sb bl AllocateWanTableEntry mov r5, r0 mov r0, #0x38 smlabb r4, r5, r0, sb ldrb r0, [sp, #0x20] mov r1, #2 strb r1, [r4, #0x21] strh r8, [r4, #0x22] strh r7, [r4, #0x24] cmp r0, #0 beq _0201D53C add r0, sb, #0x1000 ldr sb, [r0, #0x500] mov r0, r8 mov r1, r7 bl GetFileLengthInPackWithPackNb mov r0, r8 mov r1, r7 mov r2, sb bl LoadFileInPackWithPackId mov r0, sb bl GetAtSize mov r7, r0 mov r1, r6 bl MemAlloc mov r1, r7 mov r2, sb mov r6, r0 bl DecompressAtNormalVeneer b _0201D56C _0201D53C: mov r0, r8 mov r1, r7 bl GetFileLengthInPackWithPackNb mov r1, r6 mov sb, r0 bl MemAlloc mov r6, r0 mov r0, r8 mov r1, r7 mov r2, r6 bl LoadFileInPackWithPackId str sb, [r4, #0x28] _0201D56C: str r6, [r4, #0x34] ldrsh r1, [r4, #0x2c] add r0, r4, #0x30 add r1, r1, #1 strh r1, [r4, #0x2c] ldr r1, [r4, #0x34] bl HandleSir0TranslationVeneer mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end LoadWanTableEntryFromPack arm_func_start LoadWanTableEntryFromPackUseProvidedMemory LoadWanTableEntryFromPackUseProvidedMemory: ; 0x0201D590 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r8, r1 mov r7, r2 mov r6, r3 bl GetLoadedWanTableEntry mvn r1, #0 cmp r0, r1 beq _0201D5CC mov r1, #0x38 smlabb r2, r0, r1, sb ldrsh r1, [r2, #0x2c] add r1, r1, #1 strh r1, [r2, #0x2c] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0201D5CC: mov r0, sb bl AllocateWanTableEntry ldrb r1, [sp, #0x20] mov r5, r0 mov r0, #0x38 smlabb r4, r5, r0, sb cmp r1, #0 beq _0201D62C add r0, sb, #0x1000 ldr sb, [r0, #0x500] mov r0, r8 mov r1, r7 bl GetFileLengthInPackWithPackNb mov r0, r8 mov r1, r7 mov r2, sb bl LoadFileInPackWithPackId mov r0, sb bl GetAtSize mov r2, sb mov r1, r0 mov r0, r6 bl DecompressAtNormalVeneer b _0201D648 _0201D62C: mov r0, r8 mov r1, r7 bl GetFileLengthInPackWithPackNb mov r0, r8 mov r1, r7 mov r2, r6 bl LoadFileInPackWithPackId _0201D648: mov r0, #2 strb r0, [r4, #0x21] strh r8, [r4, #0x22] strh r7, [r4, #0x24] str r6, [r4, #0x34] ldrsh r1, [r4, #0x2c] add r0, r4, #0x30 add r1, r1, #1 strh r1, [r4, #0x2c] ldr r1, [r4, #0x34] bl HandleSir0TranslationVeneer mov r1, #1 mov r0, r5 strb r1, [r4, #0x20] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end LoadWanTableEntryFromPackUseProvidedMemory arm_func_start ReplaceWanFromBinFile ReplaceWanFromBinFile: ; 0x0201D684 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldrb ip, [sp, #0x18] mov r4, #0x38 smlabb r6, r1, r4, r0 mov r5, r2 mov r4, r3 cmp ip, #0 beq _0201D6E8 add r0, r0, #0x1000 ldr r7, [r0, #0x500] mov r0, r5 mov r1, r4 ldr r8, [r6, #0x34] bl GetFileLengthInPackWithPackNb mov r0, r5 mov r1, r4 mov r2, r7 bl LoadFileInPackWithPackId mov r0, r7 bl GetAtSize mov r2, r7 mov r1, r0 mov r0, r8 bl DecompressAtNormalVeneer b _0201D708 _0201D6E8: ldr r7, [r6, #0x34] mov r0, r5 mov r1, r4 bl GetFileLengthInPackWithPackNb mov r0, r5 mov r1, r4 mov r2, r7 bl LoadFileInPackWithPackId _0201D708: ldr r1, [r6, #0x34] add r0, r6, #0x30 bl HandleSir0TranslationVeneer mov r0, #2 strb r0, [r6, #0x21] strh r5, [r6, #0x22] strh r4, [r6, #0x24] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end ReplaceWanFromBinFile arm_func_start DeleteWanTableEntryVeneer DeleteWanTableEntryVeneer: ; 0x0201D72C ldr ip, _0201D734 ; =DeleteWanTableEntry bx ip .align 2, 0 _0201D734: .word DeleteWanTableEntry arm_func_end DeleteWanTableEntryVeneer arm_func_start sub_0201D738 sub_0201D738: ; 0x0201D738 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 add r3, r6, #0x1000 ldr r3, [r3, #0x500] mov r5, r1 mov r4, r2 cmp r3, #0 beq _0201D75C bl sub_0201D778 _0201D75C: mov r0, r5 mov r1, r4 bl MemAlloc add r1, r6, #0x1000 str r0, [r1, #0x500] str r5, [r1, #0x504] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0201D738 arm_func_start sub_0201D778 sub_0201D778: ; 0x0201D778 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1000 ldr r0, [r0, #0x500] cmp r0, #0 ldmeqia sp!, {r4, pc} bl MemFree add r0, r4, #0x1000 mov r1, #0 str r1, [r0, #0x500] str r1, [r0, #0x504] ldmia sp!, {r4, pc} arm_func_end sub_0201D778 arm_func_start sub_0201D7A8 sub_0201D7A8: ; 0x0201D7A8 stmdb sp!, {r3, lr} ldr r0, _0201D7D8 ; =0x00001510 mov r1, #0 bl MemAlloc ldr r2, _0201D7DC ; =_020AFC64 ldr r1, _0201D7D8 ; =0x00001510 str r0, [r2, #4] bl MemZero ldr r0, _0201D7DC ; =_020AFC64 ldr r0, [r0, #4] bl sub_0201D38C ldmia sp!, {r3, pc} .align 2, 0 _0201D7D8: .word 0x00001510 _0201D7DC: .word _020AFC64 arm_func_end sub_0201D7A8 arm_func_start sub_0201D7E0 sub_0201D7E0: ; 0x0201D7E0 ldr r2, _0201D7FC ; =_020AFC64 mov r3, r0 ldr r0, [r2, #4] mov r2, r1 ldr ip, _0201D800 ; =sub_0201D738 mov r1, r3 bx ip .align 2, 0 _0201D7FC: .word _020AFC64 _0201D800: .word sub_0201D738 arm_func_end sub_0201D7E0 arm_func_start sub_0201D804 sub_0201D804: ; 0x0201D804 ldr r0, _0201D814 ; =_020AFC64 ldr ip, _0201D818 ; =sub_0201D778 ldr r0, [r0, #4] bx ip .align 2, 0 _0201D814: .word _020AFC64 _0201D818: .word sub_0201D778 arm_func_end sub_0201D804 arm_func_start sub_0201D81C sub_0201D81C: ; 0x0201D81C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldrb r4, [sp, #0x2c] ldr r5, [r0, #4] mov sl, r1 mov sb, r2 cmp r4, #0 ldrh r7, [r5, #0xe] beq _0201D848 cmp r4, #1 beq _0201D8E4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0201D848: cmp r3, #0 beq _0201D8C0 mov r8, #0 ldr fp, _0201D988 ; =_020AFC30 ldr r4, _0201D98C ; =_020AFC4C b _0201D8B8 _0201D860: ldr r0, [r5] mov r2, sl ldr r6, [r0, r8, lsl #2] str sb, [sp] ldr r0, [r4] ldr r3, [r5, #4] mov r1, r6 bl sub_0201B388 ldr r1, [r5, #4] ldr r0, [r4] ldrh r1, [r1, #4] ldrh r2, [r0, #0xc] ldr r0, [r6, #4] mov r1, r1, lsl #1 ldrh r1, [fp, r1] bl sub_0201D990 add r0, sl, r0 add r1, r8, #1 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov sl, r0, lsr #0x10 mov r8, r1, lsr #0x10 _0201D8B8: cmp r8, r7 blo _0201D860 _0201D8C0: ldrb r0, [sp, #0x28] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _0201D98C ; =_020AFC4C ldr r1, [r5, #4] ldr r0, [r0] mov r2, sb bl sub_0201B43C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0201D8E4: cmp r3, #0 beq _0201D960 mov r6, #0 ldr fp, _0201D988 ; =_020AFC30 ldr r4, _0201D98C ; =_020AFC4C b _0201D958 _0201D8FC: ldr r0, [r5] mov r2, sl ldr r8, [r0, r6, lsl #2] str sb, [sp] ldr r0, [r4] ldr r3, [r5, #4] mov r1, r8 add r0, r0, #0x70 bl sub_0201B388 ldr r1, [r5, #4] ldr r0, [r4] ldrh r1, [r1, #4] ldrh r2, [r0, #0x7c] ldr r0, [r8, #4] mov r1, r1, lsl #1 ldrh r1, [fp, r1] bl sub_0201D990 add r0, sl, r0 add r1, r6, #1 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov sl, r0, lsr #0x10 mov r6, r1, lsr #0x10 _0201D958: cmp r6, r7 blo _0201D8FC _0201D960: ldrb r0, [sp, #0x28] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _0201D98C ; =_020AFC4C ldr r1, [r5, #4] ldr r0, [r0] mov r2, sb add r0, r0, #0x70 bl sub_0201B43C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201D988: .word _020AFC30 _0201D98C: .word _020AFC4C arm_func_end sub_0201D81C arm_func_start sub_0201D990 sub_0201D990: ; 0x0201D990 stmdb sp!, {r3, lr} ldr r1, _0201D9C4 ; =_020AFC3C ldr r1, [r1, r2, lsl #2] mov r1, r1, lsl #0x10 add r0, r0, r1, asr #16 sub r0, r0, #1 mov r0, r0, lsl #0x10 mov r1, r1, asr #0x10 mov r0, r0, asr #0x10 bl __divsi3 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0201D9C4: .word _020AFC3C arm_func_end sub_0201D990 arm_func_start sub_0201D9C8 sub_0201D9C8: ; 0x0201D9C8 stmdb sp!, {r3, lr} sub sp, sp, #8 ldrb lr, [sp, #0x14] ldr ip, _0201D9FC ; =_020AFC64 mov r3, #1 stmia sp, {r3, lr} ldr lr, [ip, #4] mov ip, #0x38 smlabb r0, r0, ip, lr ldr r0, [r0, #0x30] bl sub_0201D81C add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0201D9FC: .word _020AFC64 arm_func_end sub_0201D9C8 arm_func_start sub_0201DA00 sub_0201DA00: ; 0x0201DA00 ldrb r1, [r0, #8] ldr r0, [r0] cmp r1, #0 cmpne r1, #2 ldreq r0, [r0, #8] ldreqsh r0, [r0, #4] ldrnesh r0, [r0, #0xc] bx lr arm_func_end sub_0201DA00 arm_func_start sub_0201DA20 sub_0201DA20: ; 0x0201DA20 ldr r2, _0201DA3C ; =_020AFC64 mov r1, #0x38 ldr r2, [r2, #4] ldr ip, _0201DA40 ; =sub_0201DA00 smlabb r0, r0, r1, r2 ldr r0, [r0, #0x30] bx ip .align 2, 0 _0201DA3C: .word _020AFC64 _0201DA40: .word sub_0201DA00 arm_func_end sub_0201DA20 arm_func_start WanHasAnimationGroup WanHasAnimationGroup: ; 0x0201DA44 ldr r2, [r0] ldrsh r0, [r2, #0xc] cmp r1, r0 bge _0201DA70 cmp r1, #0 blt _0201DA70 ldr r0, [r2, #8] add r0, r0, r1, lsl #3 ldrh r0, [r0, #4] cmp r0, #0 bne _0201DA78 _0201DA70: mov r0, #0 bx lr _0201DA78: mov r0, #1 bx lr arm_func_end WanHasAnimationGroup arm_func_start WanTableSpriteHasAnimationGroup WanTableSpriteHasAnimationGroup: ; 0x0201DA80 ldr r3, _0201DA9C ; =_020AFC64 mov r2, #0x38 ldr r3, [r3, #4] ldr ip, _0201DAA0 ; =WanHasAnimationGroup smlabb r0, r0, r2, r3 ldr r0, [r0, #0x30] bx ip .align 2, 0 _0201DA9C: .word _020AFC64 _0201DAA0: .word WanHasAnimationGroup arm_func_end WanTableSpriteHasAnimationGroup arm_func_start sub_0201DAA4 sub_0201DAA4: ; 0x0201DAA4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r5, [r0, #4] mov sl, r1 mov sb, r2 cmp r3, #0 ldrh r7, [r5, #0xe] beq _0201DACC cmp r3, #1 beq _0201DB38 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0201DACC: mov r8, #0 mov r6, r8 ldr r4, _0201DBB0 ; =_020AFC30 ldr fp, _0201DBB4 ; =_020AFC4C b _0201DB2C _0201DAE0: str r6, [sp] ldmia r5, {r0, r2} ldr r0, [r0, r8, lsl #2] mov r1, sl mov r3, sb bl sub_0201BFAC ldr r2, [r5, #4] ldr r1, [fp] ldrh r3, [r2, #4] ldrh r2, [r1, #0xc] mov r1, r3, lsl #1 ldrh r1, [r4, r1] bl sub_0201D990 add r0, sl, r0 add r1, r8, #1 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov sl, r0, lsr #0x10 mov r8, r1, lsr #0x10 _0201DB2C: cmp r8, r7 blo _0201DAE0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0201DB38: mov r8, #0 mov r4, #1 ldr fp, _0201DBB0 ; =_020AFC30 b _0201DBA4 _0201DB48: ldr r0, [r5] mov r1, sl ldr r6, [r0, r8, lsl #2] mov r3, sb str r4, [sp] ldr r2, [r5, #4] mov r0, r6 bl sub_0201BFAC ldr r2, [r5, #4] ldr r0, _0201DBB4 ; =_020AFC4C ldrh r3, [r2, #4] ldr r1, [r0] ldr r0, [r6, #4] ldrh r2, [r1, #0x7c] mov r1, r3, lsl #1 ldrh r1, [fp, r1] bl sub_0201D990 add r0, sl, r0 add r1, r8, #1 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov sl, r0, lsr #0x10 mov r8, r1, lsr #0x10 _0201DBA4: cmp r8, r7 blo _0201DB48 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201DBB0: .word _020AFC30 _0201DBB4: .word _020AFC4C arm_func_end sub_0201DAA4 arm_func_start sub_0201DBB8 sub_0201DBB8: ; 0x0201DBB8 stmdb sp!, {r3, lr} ldr lr, _0201DBD8 ; =_020AFC64 mov ip, #0x38 ldr lr, [lr, #4] smlabb r0, r0, ip, lr ldr r0, [r0, #0x30] bl sub_0201DAA4 ldmia sp!, {r3, pc} .align 2, 0 _0201DBD8: .word _020AFC64 arm_func_end sub_0201DBB8 arm_func_start sub_0201DBDC sub_0201DBDC: ; 0x0201DBDC ldr r0, [r0, #4] ldr r1, [r0, #4] cmp r1, #0 moveq r0, #0 bxeq lr ldrh r0, [r1, #4] cmp r0, #1 bne _0201DC30 ldrb r0, [r1, #0xb] cmp r0, #0 ldrsh r0, [r1, #6] addne r1, r0, #0xf movne r0, r1, asr #3 addne r0, r1, r0, lsr #28 movne r0, r0, lsl #0xc addeq r1, r0, #0xff moveq r0, r1, asr #7 addeq r0, r1, r0, lsr #24 moveq r0, r0, lsl #8 mov r0, r0, asr #0x10 bx lr _0201DC30: ldrsh r0, [r1, #6] add r1, r0, #0xf mov r0, r1, asr #3 add r0, r1, r0, lsr #28 mov r0, r0, lsl #0xc mov r0, r0, asr #0x10 bx lr arm_func_end sub_0201DBDC arm_func_start sub_0201DC4C sub_0201DC4C: ; 0x0201DC4C ldr r2, _0201DC68 ; =_020AFC64 mov r1, #0x38 ldr r2, [r2, #4] ldr ip, _0201DC6C ; =sub_0201DBDC smlabb r0, r0, r1, r2 ldr r0, [r0, #0x30] bx ip .align 2, 0 _0201DC68: .word _020AFC64 _0201DC6C: .word sub_0201DBDC arm_func_end sub_0201DC4C arm_func_start SpriteTypeInWanTable SpriteTypeInWanTable: ; 0x0201DC70 ldr r2, _0201DC8C ; =_020AFC64 mov r1, #0x38 ldr r2, [r2, #4] smlabb r0, r0, r1, r2 ldr r0, [r0, #0x30] ldrb r0, [r0, #8] bx lr .align 2, 0 _0201DC8C: .word _020AFC64 arm_func_end SpriteTypeInWanTable arm_func_start sub_0201DC90 sub_0201DC90: ; 0x0201DC90 stmdb sp!, {r3, lr} ldr r0, _0201DCC8 ; =0x000007C4 mov r1, #0 bl MemAlloc ldr r2, _0201DCCC ; =_020AFC6C ldr r1, _0201DCC8 ; =0x000007C4 str r0, [r2] bl MemZero ldr r0, _0201DCCC ; =_020AFC6C mov r1, #1 ldr r0, [r0] add r0, r0, #0x700 strh r1, [r0, #0xc0] ldmia sp!, {r3, pc} .align 2, 0 _0201DCC8: .word 0x000007C4 _0201DCCC: .word _020AFC6C arm_func_end sub_0201DC90 arm_func_start sub_0201DCD0 sub_0201DCD0: ; 0x0201DCD0 stmdb sp!, {r3, lr} ldr r0, _0201DCF0 ; =_020AFC6C ldr r0, [r0] bl MemFree ldr r0, _0201DCF0 ; =_020AFC6C mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0201DCF0: .word _020AFC6C arm_func_end sub_0201DCD0 arm_func_start sub_0201DCF4 sub_0201DCF4: ; 0x0201DCF4 ldr r0, _0201DD44 ; =_020AFC6C mov r2, #0 ldr r1, [r0] mov r3, #1 strb r2, [r1, #0x7c2] ldr r2, [r0] mov r1, #0x7c b _0201DD30 _0201DD14: smlabb r0, r3, r1, r2 ldrh r0, [r0, #2] tst r0, #1 bxeq lr add r0, r3, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 _0201DD30: cmp r3, #0x10 blt _0201DD14 mov r0, #1 strb r0, [r2, #0x7c2] bx lr .align 2, 0 _0201DD44: .word _020AFC6C arm_func_end sub_0201DCF4 arm_func_start sub_0201DD48 sub_0201DD48: ; 0x0201DD48 stmdb sp!, {r4, r5, r6, lr} ldr r5, _0201DD8C ; =_020AFC6C mov r6, #1 mov r4, #0x7c _0201DD58: ldr r0, [r5] smlabb r0, r6, r4, r0 ldrh r1, [r0, #2] tst r1, #1 beq _0201DD70 bl sub_0201CF5C _0201DD70: add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 cmp r6, #0x10 blt _0201DD58 bl sub_0201DCF4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0201DD8C: .word _020AFC6C arm_func_end sub_0201DD48 arm_func_start sub_0201DD90 sub_0201DD90: ; 0x0201DD90 stmdb sp!, {r3, lr} mov r0, #0x2ec mov r1, #0 bl MemAlloc ldr r1, _0201DDF0 ; =_020AFC70 str r0, [r1] bl sub_0201E614 ldr r0, _0201DDF0 ; =_020AFC70 ldr r1, _0201DDF4 ; =0x06860000 ldr r0, [r0] add r2, r1, #0x30000 add r0, r0, #0xbc mov r3, #0x80 bl sub_0201E190 ldr r0, _0201DDF0 ; =_020AFC70 ldr r2, _0201DDF8 ; =0x06890000 ldr r1, [r0] mov r0, #0x2000 str r0, [sp] add r0, r1, #0xcc add r1, r1, #0xbc mov r3, #0 bl sub_0201E314 ldmia sp!, {r3, pc} .align 2, 0 _0201DDF0: .word _020AFC70 _0201DDF4: .word 0x06860000 _0201DDF8: .word 0x06890000 arm_func_end sub_0201DD90 arm_func_start sub_0201DDFC sub_0201DDFC: ; 0x0201DDFC stmdb sp!, {r3, lr} bl sub_0201E5B0 bl GeomSwapBuffers bl sub_0201E544 ldmia sp!, {r3, pc} arm_func_end sub_0201DDFC arm_func_start sub_0201DE10 sub_0201DE10: ; 0x0201DE10 stmdb sp!, {r3, lr} ldr r0, _0201DE48 ; =_020AFC70 ldr r0, [r0] add r0, r0, #0xcc bl sub_0201E424 ldr r0, _0201DE48 ; =_020AFC70 ldr r0, [r0] add r0, r0, #0xbc bl sub_0201E230 ldr r0, _0201DE48 ; =_020AFC70 ldr r0, [r0] add r0, r0, #0xbc bl sub_0201E1D4 ldmia sp!, {r3, pc} .align 2, 0 _0201DE48: .word _020AFC70 arm_func_end sub_0201DE10 arm_func_start LoadWteFromRom LoadWteFromRom: ; 0x0201DE4C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x10c mov r5, r1 mov r6, r0 ldr r1, _0201DEBC ; =_02099714 add r0, sp, #0xc mov r4, r2 bl strcpy add r0, sp, #0xc mov r1, r5 bl strcat add r0, sp, #4 add r1, sp, #0xc mov r2, r4 bl LoadFileFromRom ldr r1, [sp, #4] add r0, sp, #0 bl HandleSir0Translation ldr r0, [sp] ldr r1, _0201DEC0 ; =_0209971C mov r2, #4 bl strncmp ldr r0, [sp, #4] str r0, [r6] ldr r0, [sp] str r0, [r6, #4] add sp, sp, #0x10c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0201DEBC: .word _02099714 _0201DEC0: .word _0209971C arm_func_end LoadWteFromRom arm_func_start LoadWteFromFileDirectory LoadWteFromFileDirectory: ; 0x0201DEC4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r0, r1 mov r1, r2 add r2, sp, #0 bl AllocAndLoadFileInPack ldr r1, [sp] add r0, sp, #8 bl HandleSir0Translation ldr r0, [sp, #8] ldr r1, _0201DF14 ; =_0209971C mov r2, #4 bl strncmp ldr r0, [sp] str r0, [r4] ldr r0, [sp, #8] str r0, [r4, #4] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 _0201DF14: .word _0209971C arm_func_end LoadWteFromFileDirectory arm_func_start UnloadWte UnloadWte: ; 0x0201DF18 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] bl MemFree mov r0, #0 str r0, [r4] str r0, [r4, #4] ldmia sp!, {r4, pc} arm_func_end UnloadWte arm_func_start sub_0201DF38 sub_0201DF38: ; 0x0201DF38 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x108 mov r6, r0 mov r0, #8 mov r5, r1 bl MemAlloc mov r4, r0 ldr r1, _0201DFAC ; =_02099714 add r0, sp, #8 bl strcpy add r0, sp, #8 mov r1, r6 bl strcat add r0, sp, #0 add r1, sp, #8 mov r2, r5 bl LoadFileFromRom ldr r5, [sp] ldr r1, _0201DFB0 ; =_02099720 str r5, [r4] mov r0, r5 mov r2, #4 bl strncmp ldr r1, [r5, #0xc] mov r0, r4 add r1, r5, r1 str r1, [r4, #4] add sp, sp, #0x108 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0201DFAC: .word _02099714 _0201DFB0: .word _02099720 arm_func_end sub_0201DF38 arm_func_start LoadWtuFromBin LoadWtuFromBin: ; 0x0201DFB4 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r5, r2 mov r7, r0 mov r6, r1 mov r1, r5 mov r0, #8 bl MemAlloc mov r4, r0 add r2, sp, #0 mov r0, r7 mov r1, r6 mov r3, r5 bl AllocAndLoadFileInPack ldr r5, [sp] ldr r1, _0201E01C ; =_02099720 str r5, [r4] mov r0, r5 mov r2, #4 bl strncmp ldr r1, [r5, #0xc] mov r0, r4 add r1, r5, r1 str r1, [r4, #4] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0201E01C: .word _02099720 arm_func_end LoadWtuFromBin arm_func_start sub_0201E020 sub_0201E020: ; 0x0201E020 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r0] bl MemFree ldr r0, [r4] bl MemFree mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_0201E020 arm_func_start sub_0201E050 sub_0201E050: ; 0x0201E050 stmdb sp!, {r3, lr} ldr ip, _0201E07C ; =_020AFC70 str r3, [sp] ldr ip, [ip] mov lr, r1 mov r3, r2 mov r1, r0 mov r2, lr add r0, ip, #0xbc bl sub_0201E1E0 ldmia sp!, {r3, pc} .align 2, 0 _0201E07C: .word _020AFC70 arm_func_end sub_0201E050 arm_func_start sub_0201E080 sub_0201E080: ; 0x0201E080 stmdb sp!, {r3, lr} mov r2, #2 ldr r1, _0201E0AC ; =_020AFC70 str r2, [sp] mov r2, #0 ldr ip, [r1] mov r1, r0 mov r3, r2 add r0, ip, #0xbc bl sub_0201E1E0 ldmia sp!, {r3, pc} .align 2, 0 _0201E0AC: .word _020AFC70 arm_func_end sub_0201E080 arm_func_start ProcessWte ProcessWte: ; 0x0201E0B0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 mov ip, r1 ldr r1, [r6, #4] mov r5, r2 mov r4, r3 cmp r1, #0 beq _0201E0F4 mov r0, #0 str r0, [sp] ldr r0, _0201E128 ; =_020AFC70 ldr r3, [r6, #8] ldr r0, [r0] mov r2, ip add r0, r0, #0xbc bl sub_0201E1E0 _0201E0F4: ldr r0, [r6, #0x18] cmp r0, #0 beq _0201E120 ldr r0, _0201E128 ; =_020AFC70 str r4, [sp] ldr r0, [r0] ldrsh r2, [r6, #0x1c] ldr r1, [r6, #0x18] mov r3, r5 add r0, r0, #0xcc bl sub_0201E3AC _0201E120: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0201E128: .word _020AFC70 arm_func_end ProcessWte arm_func_start sub_0201E12C sub_0201E12C: ; 0x0201E12C ldr ip, _0201E138 ; =ProcessWte ldr r0, [r0, #4] bx ip .align 2, 0 _0201E138: .word ProcessWte arm_func_end sub_0201E12C arm_func_start sub_0201E13C sub_0201E13C: ; 0x0201E13C stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r2, #2 ldr r1, _0201E180 ; =_020AFC70 str r2, [sp] mov r4, r0 ldr r0, [r1] mov r2, #0 ldr r1, [r4] mov r3, r2 add r0, r0, #0xbc bl sub_0201E1E0 mov r0, #0 str r0, [r4] str r0, [r4, #4] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0201E180: .word _020AFC70 arm_func_end sub_0201E13C arm_func_start sub_0201E184 sub_0201E184: ; 0x0201E184 mov r0, r0, lsl #9 mov r0, r0, asr #0x10 bx lr arm_func_end sub_0201E184 arm_func_start sub_0201E190 sub_0201E190: ; 0x0201E190 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov ip, #0x1c mul r4, r3, ip mov r7, r0 mov r6, r1 mov r0, r4 mov r1, #0 mov r5, r2 bl MemAlloc mov r1, r4 str r0, [r7] bl MemZero mov r0, #0 strh r0, [r7, #0xc] str r6, [r7, #4] str r5, [r7, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0201E190 arm_func_start sub_0201E1D4 sub_0201E1D4: ; 0x0201E1D4 mov r1, #0 strh r1, [r0, #0xc] bx lr arm_func_end sub_0201E1D4 arm_func_start sub_0201E1E0 sub_0201E1E0: ; 0x0201E1E0 stmdb sp!, {r4, lr} ldrsh r4, [r0, #0xc] cmp r4, #0x80 mvnge r0, #0 ldmgeia sp!, {r4, pc} ldr lr, [r0] mov ip, #0x1c smlabb ip, r4, ip, lr str r3, [ip, #4] str r1, [ip, #8] ldrb r3, [sp, #8] str r2, [ip, #0xc] mov r1, #0 str r3, [ip, #0x10] strb r1, [ip, #0x14] ldrsh r1, [r0, #0xc] add r1, r1, #1 strh r1, [r0, #0xc] ldrsh r0, [r0, #0xc] ldmia sp!, {r4, pc} arm_func_end sub_0201E1E0 arm_func_start sub_0201E230 sub_0201E230: ; 0x0201E230 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, r0 ldrsh r7, [r4, #0xc] mov r6, #0 ldr fp, _0201E310 ; =_022A4F38 mov r5, #0x1c b _0201E304 _0201E24C: ldr r0, [r4] smlabb r1, r6, r5, r0 ldr r0, [r1, #0x10] cmp r0, #0 beq _0201E274 cmp r0, #1 beq _0201E2C8 cmp r0, #2 beq _0201E2F0 b _0201E2F8 _0201E274: ldr sl, [r1, #8] cmp sl, #0 beq _0201E2A4 ldr sb, [r1, #4] ldr r8, [r1, #0xc] bl sub_020785F4 mov r0, sl mov r1, r8 mov r2, sb bl sub_02078650 bl sub_02078790 b _0201E2F8 _0201E2A4: ldr r8, [r1, #4] ldr sb, [r1, #0xc] bl sub_020785F4 mov r0, fp mov r1, sb mov r2, r8 bl sub_02078650 bl sub_02078790 b _0201E2F8 _0201E2C8: ldr sl, [r1, #4] ldr sb, [r1, #0xc] ldr r8, [r1, #8] bl sub_020787DC mov r0, r8 mov r1, sb mov r2, sl bl sub_02078810 bl sub_0207887C b _0201E2F8 _0201E2F0: ldr r0, [r1, #8] bl MemFree _0201E2F8: add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 _0201E304: cmp r6, r7 blt _0201E24C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0201E310: .word _022A4F38 arm_func_end sub_0201E230 arm_func_start sub_0201E314 sub_0201E314: ; 0x0201E314 stmdb sp!, {r4, lr} ldr ip, [sp, #8] mov r4, r0 mov r0, ip, asr #7 add r0, ip, r0, lsr #24 stmia r4, {r1, ip} mov r0, r0, asr #8 str r0, [r4, #8] mov r1, #0 strb r1, [r4, #0xc] str r2, [r4, #0x10] str r3, [r4, #0x14] mov r0, ip, lsl #1 bl MemAlloc str r0, [r4, #0x18] ldr r0, [r4, #8] mov r1, #0 bl MemAlloc str r0, [r4, #0x1c] ldr r1, [r4, #4] ldr r0, [r4, #0x18] mov r1, r1, lsl #1 bl MemZero ldr r0, [r4, #0x1c] ldr r1, [r4, #8] bl MemZero ldmia sp!, {r4, pc} arm_func_end sub_0201E314 arm_func_start sub_0201E380 sub_0201E380: ; 0x0201E380 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 ldr r2, [r5, #0x18] add r0, r3, r4, lsl #8 add r0, r2, r0, lsl #1 bl Rgb8ToRgb5 ldr r0, [r5, #0x1c] mov r1, #1 strb r1, [r0, r4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0201E380 arm_func_start sub_0201E3AC sub_0201E3AC: ; 0x0201E3AC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrsh r4, [sp, #0x20] mov r7, r3 mov sl, r0 add r6, r4, r7, lsl #8 mov sb, r1 mov r8, r2 mov r5, #0 mov r4, #1 b _0201E3FC _0201E3D4: ldr r1, [sl, #0x18] add r0, r5, r6 add r0, r1, r0, lsl #1 add r1, sb, r5, lsl #2 bl Rgb8ToRgb5 add r0, r5, #1 ldr r1, [sl, #0x1c] mov r0, r0, lsl #0x10 strb r4, [r7, r1] mov r5, r0, asr #0x10 _0201E3FC: cmp r5, r8 blt _0201E3D4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_0201E3AC arm_func_start sub_0201E408 sub_0201E408: ; 0x0201E408 stmdb sp!, {r3, lr} str r3, [sp] mov r3, r2 ldrsh r2, [r1, #6] ldr r1, [r1] bl sub_0201E3AC ldmia sp!, {r3, pc} arm_func_end sub_0201E408 arm_func_start sub_0201E424 sub_0201E424: ; 0x0201E424 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r5, #0 mov r6, r0 mov r4, #1 mov r8, #0x200 mov r7, r5 b _0201E480 _0201E444: ldr r0, [r6, #0x1c] ldrb r0, [r0, r5] cmp r0, #0 beq _0201E47C str r4, [sp] ldr r1, [r6, #0x18] ldr r2, [r6, #0x14] ldr r0, [r6] mov r3, r8 add r1, r1, r5, lsl #9 add r2, r2, r5, lsl #9 bl sub_0201E1E0 ldr r0, [r6, #0x1c] strb r7, [r0, r5] _0201E47C: add r5, r5, #1 _0201E480: ldr r0, [r6, #8] cmp r5, r0 blt _0201E444 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end sub_0201E424 arm_func_start GeomSetTexImageParam GeomSetTexImageParam: ; 0x0201E494 ldr ip, [sp, #0xc] mov r0, r0, lsl #0x1a orr r0, r0, ip, lsr #3 orr r0, r0, r1, lsl #30 orr r0, r0, r2, lsl #20 ldr r1, [sp] orr r0, r0, r3, lsl #23 ldr r2, [sp, #4] orr r0, r0, r1, lsl #16 ldr r3, [sp, #8] orr r1, r0, r2, lsl #18 ldr r0, _0201E4D0 ; =0x040004A8 orr r1, r1, r3, lsl #29 str r1, [r0] bx lr .align 2, 0 _0201E4D0: .word 0x040004A8 arm_func_end GeomSetTexImageParam arm_func_start GeomSetVertexCoord16 GeomSetVertexCoord16: ; 0x0201E4D4 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r0, r0, lsl #0x10 mov r3, r1, lsl #0x10 mov r1, r2, lsl #0x10 ldr r2, _0201E500 ; =0x0400048C orr r0, r3, r0, lsr #16 str r0, [r2] mov r0, r1, lsr #0x10 str r0, [r2] bx lr .align 2, 0 _0201E500: .word 0x0400048C arm_func_end GeomSetVertexCoord16 arm_func_start InitRender3dData InitRender3dData: ; 0x0201E504 stmdb sp!, {r3, lr} ldr r0, _0201E540 ; =RENDER_3D ldr r0, [r0, #0x40] cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #0x1a00 mov r1, #0 bl MemAlloc ldr r1, _0201E540 ; =RENDER_3D mov r2, #0 str r0, [r1, #0x40] strh r2, [r1] mov r0, #0x80 strh r0, [r1, #2] ldmia sp!, {r3, pc} .align 2, 0 _0201E540: .word RENDER_3D arm_func_end InitRender3dData arm_func_start sub_0201E544 sub_0201E544: ; 0x0201E544 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] mov r1, r0 mov r2, r0 mov r3, r0 str r0, [sp, #0xc] bl GeomSetTexImageParam ldr r0, _0201E5A4 ; =RENDER_3D mvn r1, #0 str r1, [r0, #8] bl sub_01FF8F04 ldr r2, _0201E5A8 ; =0x3F1F00C0 ldr r1, _0201E5AC ; =0x040004A4 ldr r0, _0201E5A4 ; =RENDER_3D str r2, [r1] mov r1, #0 strh r1, [r0] add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0201E5A4: .word RENDER_3D _0201E5A8: .word 0x3F1F00C0 _0201E5AC: .word 0x040004A4 arm_func_end sub_0201E544 arm_func_start sub_0201E5B0 sub_0201E5B0: ; 0x0201E5B0 stmdb sp!, {r3, lr} sub sp, sp, #0x10 bl Render3dStack mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] mov r1, r0 mov r2, r0 mov r3, r0 str r0, [sp, #0xc] bl GeomSetTexImageParam ldr r0, _0201E608 ; =RENDER_3D mvn r1, #0 str r1, [r0, #8] bl sub_01FF8F04 ldr r1, _0201E60C ; =0x3F1F00C0 ldr r0, _0201E610 ; =0x040004A4 str r1, [r0] add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0201E608: .word RENDER_3D _0201E60C: .word 0x3F1F00C0 _0201E610: .word 0x040004A4 arm_func_end sub_0201E5B0 arm_func_start sub_0201E614 sub_0201E614: ; 0x0201E614 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0xbc bl MemZero bl InitRender3dData mov r0, r4 bl sub_0201E634 ldmia sp!, {r4, pc} arm_func_end sub_0201E614 arm_func_start sub_0201E634 sub_0201E634: ; 0x0201E634 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 mov r2, #0 str r2, [r4, #0xa0] mov r0, #0x100000 str r0, [r4, #0xa4] ldr r0, _0201E70C ; =0x007FFFFF str r2, [r4, #0xa8] mov r1, #0xc0000 str r1, [r4, #0xac] mov r1, #0x1000 str r1, [r4, #0xb0] str r0, [r4, #0xb4] str r2, [r4] str r2, [r4, #4] str r1, [r4, #8] str r2, [r4, #0x18] str r2, [r4, #0x1c] mov r0, r0, lsl #0xc str r0, [r4, #0x20] str r2, [r4, #0x24] str r1, [r4, #0x28] ldr r1, _0201E710 ; =0xBFFF0000 ldr r0, _0201E714 ; =0x04000580 str r2, [r4, #0x2c] str r1, [r0] ldr r0, [r4, #0xb0] mov r1, #0x400000 str r0, [sp] ldr r2, [r4, #0xb4] mov r0, #1 str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] add r0, r4, #0x60 str r0, [sp, #0x10] ldr r0, [r4, #0xa8] ldr r1, [r4, #0xac] ldr r2, [r4, #0xa0] ldr r3, [r4, #0xa4] bl sub_02077C48 ldr r1, _0201E718 ; =0x0400044C mov r2, #0 mov r0, r4 str r2, [r1] add ip, r4, #0x30 add r1, r4, #0x24 add r2, r4, #0x18 mov r3, #1 str ip, [sp] bl sub_02077CAC add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 _0201E70C: .word 0x007FFFFF _0201E710: .word 0xBFFF0000 _0201E714: .word 0x04000580 _0201E718: .word 0x0400044C arm_func_end sub_0201E634 arm_func_start GeomSwapBuffers GeomSwapBuffers: ; 0x0201E71C ldr r0, _0201E72C ; =0x04000540 mov r1, #1 str r1, [r0] bx lr .align 2, 0 _0201E72C: .word 0x04000540 arm_func_end GeomSwapBuffers arm_func_start InitRender3dElement64 InitRender3dElement64: ; 0x0201E730 stmdb sp!, {r4, lr} mov r1, #0x40 mov r4, r0 bl MemZero mov r0, #0xff strb r0, [r4, #0x2c] strb r0, [r4, #0x2d] strb r0, [r4, #0x2e] strb r0, [r4, #0x2f] mov r0, #0x1000 strh r0, [r4, #0x10] strh r0, [r4, #0x12] mov r0, #0x40 strh r0, [r4, #0x2a] mov r0, #0 strb r0, [r4, #0x3e] ldmia sp!, {r4, pc} arm_func_end InitRender3dElement64 arm_func_start sub_0201E774 sub_0201E774: ; 0x0201E774 stmdb sp!, {r4, lr} ldrh ip, [r1, #0xc] mov r4, r0 mov r0, r3 strh ip, [r4, #0x14] ldrsh r3, [r1, #0x10] strh r3, [r4, #0x16] ldrsh r3, [r1, #0x12] strh r3, [r4, #0x18] ldrsh r3, [r1, #0x14] strh r3, [r4, #0x1a] ldrsh r3, [r1, #0x16] ldrsh r1, [sp, #8] strh r3, [r4, #0x1c] str r2, [r4, #0x20] bl sub_0201E7BC str r0, [r4, #0x24] ldmia sp!, {r4, pc} arm_func_end sub_0201E774 arm_func_start sub_0201E7BC sub_0201E7BC: ; 0x0201E7BC ldr r2, _0201E7D4 ; =_020AFC70 add r0, r1, r0, lsl #8 ldr r1, [r2] ldr r1, [r1, #0xe0] add r0, r1, r0, lsl #1 bx lr .align 2, 0 _0201E7D4: .word _020AFC70 arm_func_end sub_0201E7BC arm_func_start sub_0201E7D8 sub_0201E7D8: ; 0x0201E7D8 stmdb sp!, {r4, lr} ldr ip, [r1] mov r4, r0 ldrh lr, [ip, #8] mov ip, r2, lsl #3 ldrsh r0, [sp, #8] strh lr, [r4, #0x14] ldr lr, [r1, #4] ldrsh ip, [lr, ip] strh ip, [r4, #0x16] ldr ip, [r1, #4] add ip, ip, r2, lsl #3 ldrsh ip, [ip, #2] strh ip, [r4, #0x18] ldr ip, [r1, #4] add ip, ip, r2, lsl #3 ldrsh ip, [ip, #4] strh ip, [r4, #0x1a] ldr ip, [r1, #4] ldrsh r1, [sp, #0xc] add r2, ip, r2, lsl #3 ldrsh r2, [r2, #6] strh r2, [r4, #0x1c] str r3, [r4, #0x20] bl sub_0201E7BC str r0, [r4, #0x24] ldmia sp!, {r4, pc} arm_func_end sub_0201E7D8 arm_func_start Render3d64Texture0x7 Render3d64Texture0x7: ; 0x0201E844 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, r0 bl sub_01FF8D6C ldrsh r1, [r4] mov r5, #0 strh r1, [r0, #0x16] ldrsh r1, [r4, #2] strh r1, [r0, #0x18] ldrsh r1, [r4, #8] strh r1, [r0, #0x1a] ldrsh r1, [r4, #0xa] strh r1, [r0, #0x1c] ldrb r2, [r4, #0x2e] ldrb r1, [r4, #0x2d] ldrb r6, [r4, #0x2c] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, r6, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x22] ldrb r1, [r4, #0x2f] and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x27] ldrh r1, [r4, #0x10] strh r1, [r0, #0x1e] ldrh r1, [r4, #0x12] strh r1, [r0, #0x20] ldrh r1, [r4, #0x28] strh r1, [r0, #0x24] ldr r1, [r4, #0x20] str r1, [r0, #4] ldr r1, [r4, #0x24] str r1, [r0, #8] ldrb r1, [r4, #0x3e] strb r1, [r0, #0x26] ldrh r1, [r4, #0x2a] strh r1, [r0, #2] ldrh r1, [r4, #0x14] strh r1, [r0, #0x14] _0201E8F0: mov r1, #0x18 mul r6, r5, r1 mov r1, r6, lsl #0x10 mov ip, r1, asr #0x10 mov r1, #0x1f mov r3, #0x18 and r7, r5, #1 mov lr, #0 mov r2, r1 mov sb, r3 _0201E918: mul r8, lr, sb ldrsh sl, [r4] tst lr, #1 add sl, sl, r8 strh sl, [r0, #0x16] ldrsh sl, [r4, #2] add sl, sl, r6 strh sl, [r0, #0x18] strh r8, [r0, #0xc] strh ip, [r0, #0xe] strh r3, [r0, #0x10] strh r3, [r0, #0x12] beq _0201E988 cmp r7, #0 streqh r2, [r0, #0x22] beq _0201E9C0 ldrb r8, [r4, #0x2e] ldrb sl, [r4, #0x2d] ldrb fp, [r4, #0x2c] and r8, r8, #0xf8 mov r8, r8, lsl #0x17 and fp, fp, #0xf8 and sl, sl, #0xf8 mov sl, sl, lsl #2 orr r8, sl, r8, lsr #16 orr r8, r8, fp, asr #3 strh r8, [r0, #0x22] b _0201E9C0 _0201E988: cmp r7, #0 strneh r1, [r0, #0x22] bne _0201E9C0 ldrb r8, [r4, #0x2e] ldrb sl, [r4, #0x2d] ldrb fp, [r4, #0x2c] and r8, r8, #0xf8 mov r8, r8, lsl #0x17 and fp, fp, #0xf8 and sl, sl, #0xf8 mov sl, sl, lsl #2 orr r8, sl, r8, lsr #16 orr r8, r8, fp, asr #3 strh r8, [r0, #0x22] _0201E9C0: add r8, lr, #1 mov r8, r8, lsl #0x10 mov lr, r8, asr #0x10 cmp lr, #0xa blt _0201E918 add r1, r5, #1 mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 cmp r5, #8 blt _0201E8F0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end Render3d64Texture0x7 arm_func_start Render3d64Border Render3d64Border: ; 0x0201E9EC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x4c mov sl, r0 add r5, sp, #0xc mov r6, sl mov r4, #4 _0201EA04: ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs r4, r4, #1 bne _0201EA04 mov r0, #5 strb r0, [sp, #0x48] ldrsh r1, [sl, #4] ldrsh r2, [sl, #6] cmp r1, #0x10 addle r0, r1, r1, lsr #31 movgt r3, #8 movle r0, r0, lsl #0xf movle r3, r0, asr #0x10 cmp r2, #0x10 addle r0, r2, r2, lsr #31 movgt r6, #8 movle r0, r0, lsl #0xf movle r6, r0, asr #0x10 ldrsh r0, [sl] str r0, [sp] ldrsh r8, [sl, #2] ldr r4, [sp] add r0, sp, #0xc add r4, r4, r3 add r5, r8, r6 mov r4, r4, lsl #0x10 mov r7, r5, lsl #0x10 mov r5, r4, asr #0x10 mov r4, r7, asr #0x10 ldr r7, [sp] add sb, r8, r2 strh r7, [sp, #0xc] ldr r7, [sp] mov r2, sb, lsl #0x10 add fp, r7, r1 sub r1, fp, r3 mov r3, r1, lsl #0x10 sub r1, sb, r6 mov r7, r1, lsl #0x10 mov r1, fp, lsl #0x10 mov r6, r3, asr #0x10 strh r8, [sp, #0xe] strh r5, [sp, #0x10] strh r4, [sp, #0x12] ldrsh ip, [sl, #0x16] mov r1, r1, asr #0x10 mov r3, #8 strh ip, [sp, #0x22] ldrsh ip, [sl, #0x18] mov r7, r7, asr #0x10 str r1, [sp, #8] strh ip, [sp, #0x24] strh r3, [sp, #0x26] strh r3, [sp, #0x28] mov r1, r2, asr #0x10 str r1, [sp, #4] bl EnqueueRender3d64Tiling strh r5, [sp, #0xc] strh r8, [sp, #0xe] strh r6, [sp, #0x10] strh r4, [sp, #0x12] ldrsh r2, [sl, #0x16] add r0, sp, #0xc mov r1, #8 add r2, r2, #8 strh r2, [sp, #0x22] ldrsh r2, [sl, #0x18] strh r2, [sp, #0x24] strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling strh r6, [sp, #0xc] strh r8, [sp, #0xe] strh fp, [sp, #0x10] strh r4, [sp, #0x12] ldrsh r2, [sl, #0x16] mov r1, #8 add r0, sp, #0xc add r2, r2, #0x10 strh r2, [sp, #0x22] ldrsh r2, [sl, #0x18] strh r2, [sp, #0x24] strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling ldr r0, [sp] strh r4, [sp, #0xe] strh r5, [sp, #0x10] strh r7, [sp, #0x12] strh r0, [sp, #0xc] ldrsh r0, [sl, #0x16] strh r0, [sp, #0x22] ldrsh r0, [sl, #0x18] add r0, r0, #8 strh r0, [sp, #0x24] mov r1, #8 add r0, sp, #0xc strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling strh r6, [sp, #0xc] strh r4, [sp, #0xe] ldr r0, [sp, #8] mov r1, #8 strh r0, [sp, #0x10] strh r7, [sp, #0x12] ldrsh r2, [sl, #0x16] add r0, sp, #0xc add r2, r2, #0x10 strh r2, [sp, #0x22] ldrsh r2, [sl, #0x18] add r2, r2, #8 strh r2, [sp, #0x24] strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling ldr r0, [sp] mov r1, #8 strh r0, [sp, #0xc] strh r7, [sp, #0xe] strh r5, [sp, #0x10] strh sb, [sp, #0x12] ldrsh r2, [sl, #0x16] add r0, sp, #0xc strh r2, [sp, #0x22] ldrsh r2, [sl, #0x18] add r2, r2, #0x10 strh r2, [sp, #0x24] strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling strh r5, [sp, #0xc] strh r7, [sp, #0xe] strh r6, [sp, #0x10] ldr r0, [sp, #4] mov r1, #8 strh r0, [sp, #0x12] ldrsh r2, [sl, #0x16] add r0, sp, #0xc add r2, r2, #8 strh r2, [sp, #0x22] ldrsh r2, [sl, #0x18] add r2, r2, #0x10 strh r2, [sp, #0x24] strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling strh r6, [sp, #0xc] strh r7, [sp, #0xe] ldr r0, [sp, #8] mov r1, #8 strh r0, [sp, #0x10] ldr r0, [sp, #4] strh r0, [sp, #0x12] ldrsh r2, [sl, #0x16] add r0, sp, #0xc add r2, r2, #0x10 strh r2, [sp, #0x22] ldrsh r2, [sl, #0x18] add r2, r2, #0x10 strh r2, [sp, #0x24] strh r1, [sp, #0x26] strh r1, [sp, #0x28] bl EnqueueRender3d64Tiling add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end Render3d64Border arm_func_start EnqueueRender3d64Tiling EnqueueRender3d64Tiling: ; 0x0201EC9C stmdb sp!, {r4, lr} mov r4, r0 bl sub_01FF8D9C ldrsh r2, [r4] mov r1, #0 strh r2, [r0, #0x16] ldrsh r2, [r4, #2] strh r2, [r0, #0x18] ldrsh r2, [r4, #4] strh r2, [r0, #0x1a] ldrsh r2, [r4, #2] strh r2, [r0, #0x1c] ldrsh r2, [r4] strh r2, [r0, #0x1e] ldrsh r2, [r4, #6] strh r2, [r0, #0x20] ldrsh r2, [r4, #4] strh r2, [r0, #0x22] ldrsh r2, [r4, #6] strh r2, [r0, #0x24] _0201ECEC: ldrb r3, [r4, #0x2e] ldrb r2, [r4, #0x2d] ldrb lr, [r4, #0x2c] and ip, r3, #0xf8 and r3, r2, #0xf8 mov r2, ip, lsl #0x17 mov ip, r3, lsl #2 add r3, r0, r1, lsl #1 add r1, r1, #1 and lr, lr, #0xf8 orr r2, ip, r2, lsr #16 orr r2, r2, lr, asr #3 strh r2, [r3, #0x26] cmp r1, #4 blt _0201ECEC ldrb r1, [r4, #0x2f] add r3, r4, #0x16 add r2, r0, #0xc and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x31] ldrh ip, [r4, #0x28] mov r1, #4 strh ip, [r0, #0x2e] ldr ip, [r4, #0x20] str ip, [r0, #4] ldr ip, [r4, #0x24] str ip, [r0, #8] ldrb ip, [r4, #0x3e] strb ip, [r0, #0x30] ldrh ip, [r4, #0x2a] strh ip, [r0, #2] ldrh r4, [r4, #0x14] strh r4, [r0, #0x14] _0201ED74: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _0201ED74 ldmia sp!, {r4, pc} arm_func_end EnqueueRender3d64Tiling arm_func_start Render3d64Tiling Render3d64Tiling: ; 0x0201ED88 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl sub_01FF8D9C mov r1, #0 _0201ED98: mov r2, r1, lsl #2 ldrsh r2, [r4, r2] add ip, r0, r1, lsl #2 add r5, r4, r1, lsl #2 strh r2, [ip, #0x16] ldrsh r2, [r5, #2] add r3, r0, r1, lsl #1 add r1, r1, #1 strh r2, [ip, #0x18] ldrb ip, [r5, #0x2e] ldrb r2, [r5, #0x2d] ldrb r5, [r5, #0x2c] and lr, ip, #0xf8 and ip, r2, #0xf8 mov r2, lr, lsl #0x17 mov ip, ip, lsl #2 and r5, r5, #0xf8 orr r2, ip, r2, lsr #16 orr r2, r2, r5, asr #3 strh r2, [r3, #0x26] cmp r1, #4 blt _0201ED98 ldrb r1, [r4, #0x2f] add r3, r4, #0x16 add r2, r0, #0xc and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x31] ldrh ip, [r4, #0x28] mov r1, #4 strh ip, [r0, #0x2e] ldr ip, [r4, #0x20] str ip, [r0, #4] ldr ip, [r4, #0x24] str ip, [r0, #8] ldrb ip, [r4, #0x3e] strb ip, [r0, #0x30] ldrh ip, [r4, #0x2a] strh ip, [r0, #2] ldrh r4, [r4, #0x14] strh r4, [r0, #0x14] _0201EE3C: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _0201EE3C ldmia sp!, {r3, r4, r5, pc} arm_func_end Render3d64Tiling arm_func_start Render3d64Quadrilateral Render3d64Quadrilateral: ; 0x0201EE50 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl sub_01FF8D3C mov r1, #0 _0201EE60: mov r2, r1, lsl #2 ldrsh r2, [r4, r2] add ip, r0, r1, lsl #2 add r5, r4, r1, lsl #2 strh r2, [ip, #4] ldrsh r2, [r5, #2] add r3, r0, r1, lsl #1 add r1, r1, #1 strh r2, [ip, #6] ldrb ip, [r5, #0x2e] ldrb r2, [r5, #0x2d] ldrb r5, [r5, #0x2c] and lr, ip, #0xf8 and ip, r2, #0xf8 mov r2, lr, lsl #0x17 mov ip, ip, lsl #2 and r5, r5, #0xf8 orr r2, ip, r2, lsr #16 orr r2, r2, r5, asr #3 strh r2, [r3, #0x1a] cmp r1, #4 blt _0201EE60 ldrb r1, [r4, #0x2f] and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x23] ldrb r1, [r4, #0x3e] strb r1, [r0, #0x22] ldrh r1, [r4, #0x2a] strh r1, [r0, #2] ldrb r1, [r4, #0x3d] tst r1, #2 movne r1, #1 moveq r1, #0 strb r1, [r0, #0x24] ldmia sp!, {r3, r4, r5, pc} arm_func_end Render3d64Quadrilateral arm_func_start Render3d64RectangleMulticolor Render3d64RectangleMulticolor: ; 0x0201EEF0 stmdb sp!, {r4, lr} mov r4, r0 bl sub_01FF8D0C ldrh r1, [r4] strh r1, [r0, #4] ldrh r1, [r4, #2] strh r1, [r0, #6] ldrh r1, [r4, #4] strh r1, [r0, #8] ldrh r1, [r4, #6] strh r1, [r0, #0xa] ldrh r1, [r4, #8] strh r1, [r0, #0xc] ldrh r1, [r4, #0xa] strh r1, [r0, #0xe] ldrb r1, [r4, #0x2f] and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x23] ldrh r1, [r4, #0x10] strh r1, [r0, #0x14] ldrh r1, [r4, #0x12] strh r1, [r0, #0x16] ldrh r1, [r4, #0x28] strh r1, [r0, #0x18] ldrb r1, [r4, #0x3e] strb r1, [r0, #0x22] ldrh r1, [r4, #0x2a] strh r1, [r0, #2] ldrb r1, [r4, #0x3d] tst r1, #2 movne r1, #1 moveq r1, #0 strb r1, [r0, #0x24] tst r1, #0xff ldrb r2, [r4, #0x2e] ldrb r1, [r4, #0x2d] beq _0201F034 ldrb ip, [r4, #0x2c] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, ip, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x1a] ldrb r2, [r4, #0x32] ldrb r1, [r4, #0x31] ldrb ip, [r4, #0x30] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, ip, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x1c] ldrb r2, [r4, #0x36] ldrb r1, [r4, #0x35] ldrb ip, [r4, #0x34] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, ip, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x1e] ldrb r2, [r4, #0x3a] ldrb r1, [r4, #0x39] ldrb r4, [r4, #0x38] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, r4, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x20] ldmia sp!, {r4, pc} _0201F034: ldrb r4, [r4, #0x2c] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, r4, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x1a] ldmia sp!, {r4, pc} arm_func_end Render3d64RectangleMulticolor arm_func_start Render3d64Rectangle Render3d64Rectangle: ; 0x0201F05C stmdb sp!, {r4, lr} mov r4, r0 bl sub_01FF8D0C ldrh r1, [r4] mov r2, #0 strh r1, [r0, #4] ldrh r1, [r4, #2] strh r1, [r0, #6] ldrh r1, [r4, #4] strh r1, [r0, #8] ldrh r1, [r4, #6] strh r1, [r0, #0xa] ldrh r1, [r4, #8] strh r1, [r0, #0xc] ldrh r1, [r4, #0xa] strh r1, [r0, #0xe] ldrb r3, [r4, #0x2e] ldrb r1, [r4, #0x2d] ldrb lr, [r4, #0x2c] and ip, r3, #0xf8 and r3, r1, #0xf8 mov r1, ip, lsl #0x17 mov r3, r3, lsl #2 and ip, lr, #0xf8 orr r1, r3, r1, lsr #16 orr r1, r1, ip, asr #3 strh r1, [r0, #0x1a] ldrb r1, [r4, #0x2f] and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x23] ldrh r1, [r4, #0x10] strh r1, [r0, #0x14] ldrh r1, [r4, #0x12] strh r1, [r0, #0x16] ldrh r1, [r4, #0x28] strh r1, [r0, #0x18] ldrb r1, [r4, #0x3e] strb r1, [r0, #0x22] ldrh r1, [r4, #0x2a] strh r1, [r0, #2] strb r2, [r0, #0x24] ldmia sp!, {r4, pc} arm_func_end Render3d64Rectangle arm_func_start Render3d64Nothing Render3d64Nothing: ; 0x0201F108 bx lr arm_func_end Render3d64Nothing arm_func_start Render3d64Texture Render3d64Texture: ; 0x0201F10C stmdb sp!, {r4, lr} mov r4, r0 bl sub_01FF8D6C ldrsh r1, [r4] add ip, r4, #0x16 add r3, r0, #0xc strh r1, [r0, #0x16] ldrsh r1, [r4, #2] mov r2, #4 strh r1, [r0, #0x18] ldrsh r1, [r4, #8] strh r1, [r0, #0x1a] ldrsh r1, [r4, #0xa] strh r1, [r0, #0x1c] _0201F144: ldrh r1, [ip], #2 subs r2, r2, #1 strh r1, [r3], #2 bne _0201F144 ldrb r2, [r4, #0x2e] ldrb r1, [r4, #0x2d] ldrb ip, [r4, #0x2c] and r3, r2, #0xf8 and r2, r1, #0xf8 mov r1, r3, lsl #0x17 mov r2, r2, lsl #2 and r3, ip, #0xf8 orr r1, r2, r1, lsr #16 orr r1, r1, r3, asr #3 strh r1, [r0, #0x22] ldrb r1, [r4, #0x2f] and r1, r1, #0xf8 mov r1, r1, asr #3 strb r1, [r0, #0x27] ldrh r1, [r4, #0x10] strh r1, [r0, #0x1e] ldrh r1, [r4, #0x12] strh r1, [r0, #0x20] ldrh r1, [r4, #0x28] strh r1, [r0, #0x24] ldr r1, [r4, #0x20] str r1, [r0, #4] ldr r1, [r4, #0x24] str r1, [r0, #8] ldrb r1, [r4, #0x3e] strb r1, [r0, #0x26] ldrh r1, [r4, #0x2a] strh r1, [r0, #2] ldrh r1, [r4, #0x14] strh r1, [r0, #0x14] ldmia sp!, {r4, pc} arm_func_end Render3d64Texture arm_func_start Render3dElement64 Render3dElement64: ; 0x0201F1D4 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x3d] tst r1, #2 ldmneia sp!, {r3, pc} ldrb r1, [r0, #0x2f] cmp r1, #0 ldmeqia sp!, {r3, pc} ldrb r2, [r0, #0x3c] ldr r1, _0201F204 ; =RENDER_3D_FUNCTIONS_64 ldr r1, [r1, r2, lsl #2] blx r1 ldmia sp!, {r3, pc} .align 2, 0 _0201F204: .word RENDER_3D_FUNCTIONS_64 arm_func_end Render3dElement64 arm_func_start sub_0201F208 sub_0201F208: ; 0x0201F208 stmdb sp!, {r3, lr} ldr r0, _0201F240 ; =0x00001544 mov r1, #0 bl MemAlloc ldr r2, _0201F244 ; =_020AFCE4 ldr r1, _0201F240 ; =0x00001544 str r0, [r2] bl MemZero ldr r0, _0201F244 ; =_020AFCE4 mov r1, #0 ldr r0, [r0] add r0, r0, #0x1500 strh r1, [r0, #0x40] ldmia sp!, {r3, pc} .align 2, 0 _0201F240: .word 0x00001544 _0201F244: .word _020AFCE4 arm_func_end sub_0201F208 arm_func_start sub_0201F248 sub_0201F248: ; 0x0201F248 ldr r1, _0201F29C ; =_020AFCE4 mov r2, #0 ldr r0, [r1] add r0, r0, #0x1000 strb r2, [r0, #0x542] ldr r3, [r1] mov r1, #0x44 b _0201F284 _0201F268: smlabb r0, r2, r1, r3 ldrb r0, [r0, #0x40] cmp r0, #0 bxeq lr add r0, r2, #1 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 _0201F284: cmp r2, #0x50 blt _0201F268 add r0, r3, #0x1000 mov r1, #1 strb r1, [r0, #0x542] bx lr .align 2, 0 _0201F29C: .word _020AFCE4 arm_func_end sub_0201F248 arm_func_start sub_0201F2A0 sub_0201F2A0: ; 0x0201F2A0 ldr ip, _0201F2A8 ; =Render3dElement64 bx ip .align 2, 0 _0201F2A8: .word Render3dElement64 arm_func_end sub_0201F2A0 arm_func_start sub_0201F2AC sub_0201F2AC: ; 0x0201F2AC stmdb sp!, {r4, lr} ldr r2, _0201F2E0 ; =_020AFCE4 mov r1, #0x44 smulbb r4, r0, r1 ldr r0, [r2] add r0, r0, r4 bl InitRender3dElement64 ldr r0, _0201F2E0 ; =_020AFCE4 mov r1, #0 ldr r0, [r0] add r0, r0, r4 strb r1, [r0, #0x40] ldmia sp!, {r4, pc} .align 2, 0 _0201F2E0: .word _020AFCE4 arm_func_end sub_0201F2AC arm_func_start sub_0201F2E4 sub_0201F2E4: ; 0x0201F2E4 stmdb sp!, {r4, lr} mov r4, #0 _0201F2EC: mov r0, r4 bl sub_0201F2AC add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #0x50 blt _0201F2EC ldr r0, _0201F320 ; =_020AFCE4 mov r1, #0 ldr r0, [r0] add r0, r0, #0x1500 strh r1, [r0, #0x40] ldmia sp!, {r4, pc} .align 2, 0 _0201F320: .word _020AFCE4 arm_func_end sub_0201F2E4 arm_func_start sub_0201F324 sub_0201F324: ; 0x0201F324 ldr r2, _0201F344 ; =_020AFCE4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r1, [r0, #0x40] cmp r1, #0 moveq r0, #0 bx lr .align 2, 0 _0201F344: .word _020AFCE4 arm_func_end sub_0201F324 arm_func_start sub_0201F348 sub_0201F348: ; 0x0201F348 ldr r3, _0201F368 ; =_020AFCE4 mov r2, #0x44 ldr r3, [r3] smlabb r2, r0, r2, r3 ldrb r0, [r2, #0x40] cmp r0, #0 strneb r1, [r2, #0x41] bx lr .align 2, 0 _0201F368: .word _020AFCE4 arm_func_end sub_0201F348 arm_func_start sub_0201F36C sub_0201F36C: ; 0x0201F36C stmdb sp!, {r3, r4, r5, lr} ldr r0, _0201F460 ; =_020AFCE4 mov ip, #0 ldr lr, [r0] mov r5, ip add r0, lr, #0x1500 ldrsh r4, [r0, #0x40] mov r2, #0x44 b _0201F3F8 _0201F390: cmp r4, #0x50 movge r4, r5 smlabb r3, r4, r2, lr ldrb r0, [r3, #0x40] cmp r0, #0 bne _0201F3E0 ldr r1, _0201F460 ; =_020AFCE4 mov r0, #1 strb r0, [r3, #0x40] ldr r0, [r1] add r2, r4, #1 add r0, r0, #0x1500 strh r2, [r0, #0x40] ldr r0, [r1] add r0, r0, #0x1500 ldrsh r1, [r0, #0x40] cmp r1, #0x50 movge r1, #0 strgeh r1, [r0, #0x40] b _0201F410 _0201F3E0: add r0, ip, #1 add r1, r4, #1 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov ip, r0, asr #0x10 mov r4, r1, asr #0x10 _0201F3F8: cmp ip, #0x50 blt _0201F390 mov r1, #1 add r0, lr, #0x1000 strb r1, [r0, #0x542] sub r4, r1, #2 _0201F410: mvn r0, #0 cmp r4, r0 moveq r0, r4 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _0201F460 ; =_020AFCE4 mov r0, #0x44 smulbb r5, r4, r0 ldr r0, [r1] add r0, r0, r5 bl InitRender3dElement64 ldr r1, _0201F460 ; =_020AFCE4 mov r3, #1 ldr r2, [r1] mov r0, r4 add r2, r2, r5 strb r3, [r2, #0x40] ldr r1, [r1] add r1, r1, r5 strb r3, [r1, #0x41] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0201F460: .word _020AFCE4 arm_func_end sub_0201F36C arm_func_start sub_0201F464 sub_0201F464: ; 0x0201F464 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0201F4B0 ; =_020AFCE4 mov r4, #0 ldr r5, [r0] _0201F474: ldrb r0, [r5, #0x40] cmp r0, #0 ldrneb r0, [r5, #0x41] cmpne r0, #0 beq _0201F490 mov r0, r5 bl Render3dElement64 _0201F490: add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #0x50 add r5, r5, #0x44 blt _0201F474 bl sub_0201F248 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0201F4B0: .word _020AFCE4 arm_func_end sub_0201F464 arm_func_start HandleSir0Translation HandleSir0Translation: ; 0x0201F4B4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrb r2, [r4] mov r5, r0 mov r0, #0 cmp r2, #0x53 ldreqb r1, [r4, #1] cmpeq r1, #0x49 ldreqb r1, [r4, #2] cmpeq r1, #0x52 ldreqb r1, [r4, #3] cmpeq r1, #0x30 bne _0201F500 mov r1, #0x4f mov r0, r4 strb r1, [r4, #3] bl ConvertPointersSir0 mov r0, #1 b _0201F520 _0201F500: cmp r2, #0x53 ldreqb r1, [r4, #1] cmpeq r1, #0x49 ldreqb r1, [r4, #2] cmpeq r1, #0x52 ldreqb r1, [r4, #3] cmpeq r1, #0x4f moveq r0, #2 _0201F520: cmp r0, #0 ldrne r1, [r4, #4] strne r1, [r5] streq r4, [r5] ldmia sp!, {r3, r4, r5, pc} arm_func_end HandleSir0Translation arm_func_start ConvertPointersSir0 ConvertPointersSir0: ; 0x0201F534 stmdb sp!, {r4, r5} ldr r1, [r0, #8] mov r3, r0 add r1, r1, r0 _0201F544: mov r2, #0 _0201F548: ldrb r4, [r1] add r1, r1, #1 mov r2, r2, lsl #7 and r5, r4, #0x7f orr r2, r2, r5 and r5, r4, #0x80 cmp r5, #0 bne _0201F548 cmp r2, #0 beq _0201F584 add r3, r3, r2 ldr r2, [r3] add r2, r2, r0 str r2, [r3] b _0201F544 _0201F584: ldmia sp!, {r4, r5} bx lr arm_func_end ConvertPointersSir0 arm_func_start HandleSir0TranslationVeneer HandleSir0TranslationVeneer: ; 0x0201F58C ldr ip, _0201F594 ; =HandleSir0Translation bx ip .align 2, 0 _0201F594: .word HandleSir0Translation arm_func_end HandleSir0TranslationVeneer arm_func_start sub_0201F598 sub_0201F598: ; 0x0201F598 str r1, [r0] strh r2, [r0, #4] ldrsh r1, [sp] strh r3, [r0, #6] ldrb r2, [sp, #4] strh r1, [r0, #8] mov r1, #0 strb r2, [r0, #0xa] strb r1, [r0, #0xb] bx lr arm_func_end sub_0201F598 arm_func_start DecompressAtNormalVeneer DecompressAtNormalVeneer: ; 0x0201F5C0 ldr ip, _0201F5C8 ; =DecompressAtNormal bx ip .align 2, 0 _0201F5C8: .word DecompressAtNormal arm_func_end DecompressAtNormalVeneer arm_func_start DecompressAtNormal DecompressAtNormal: ; 0x0201F5CC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c ldrb r5, [r2] mov ip, #0 ldrb r4, [r2, #5] cmp r5, #0x50 ldreqb r6, [r2, #1] ldrb r3, [r2, #6] mov lr, ip cmpeq r6, #0x4b ldreqb r6, [r2, #2] add r3, r4, r3, lsl #8 mov r4, #8 cmpeq r6, #0x44 ldreqb r6, [r2, #3] cmpeq r6, #0x50 bne _0201F644 ldrb r7, [r2, #0x10] ldrb r6, [r2, #0x11] ldrb r8, [r2, #0x12] ldrb r5, [r2, #0x13] add r6, r7, r6, lsl #8 add r6, r6, r8, lsl #16 add r5, r6, r5, lsl #24 cmp r1, #0 cmpne r1, r5 movne r0, ip bne _0201FA08 mov r5, #0x14 b _0201F6B4 _0201F644: cmp r5, #0x41 ldreqb r6, [r2, #1] cmpeq r6, #0x54 ldreqb r6, [r2, #2] cmpeq r6, #0x34 ldreqb r6, [r2, #3] cmpeq r6, #0x50 bne _0201F688 ldrb r6, [r2, #0x10] ldrb r5, [r2, #0x11] cmp r1, #0 add r5, r6, r5, lsl #8 cmpne r1, r5 movne r0, #0 bne _0201FA08 mov r5, #0x12 b _0201F6B4 _0201F688: cmp r5, #0x41 ldreqb r5, [r2, #1] cmpeq r5, #0x54 ldreqb r5, [r2, #2] cmpeq r5, #0x33 ldreqb r5, [r2, #3] cmpeq r5, #0x50 moveq r5, #0x10 beq _0201F6B4 mov r0, #0 b _0201FA08 _0201F6B4: ldrb r6, [r2, #4] cmp r6, #0x4e bne _0201F6E8 mov r4, #0 b _0201F6D8 _0201F6C8: add r1, r2, r4 ldrb r1, [r1, #7] strb r1, [r0, r4] add r4, r4, #1 _0201F6D8: cmp r4, r3 blt _0201F6C8 mov r0, r4 b _0201FA08 _0201F6E8: ldrb r6, [r2, #7] ldrb sb, [r2, #8] ldrb r8, [r2, #9] add r6, r6, #3 str r6, [sp, #0x18] add r6, sb, #3 str r6, [sp, #0x14] add r6, r8, #3 ldrb r7, [r2, #0xa] str r6, [sp, #0x10] ldrb sl, [r2, #0xb] add r6, r7, #3 str r6, [sp, #0xc] add r6, sl, #3 ldrb r7, [r2, #0xf] ldrb fp, [r2, #0xc] str r6, [sp, #8] ldrb r8, [r2, #0xe] add r6, fp, #3 str r6, [sp, #4] ldrb r6, [r2, #0xd] add fp, r8, #3 add sl, r7, #3 add r6, r6, #3 str r6, [sp] b _0201F9FC _0201F750: cmp r1, #0 beq _0201F764 cmp ip, r1 movge r0, #0 bge _0201FA08 _0201F764: cmp r4, #8 ldreqb lr, [r2, r5] addeq r5, r5, #1 moveq r4, #0 tst lr, #0x80 bne _0201F9E4 ldrb r8, [r2, r5] ldr sb, [sp, #0x18] add r7, r2, r5 and r6, r8, #0xf0 mov r6, r6, asr #4 add r6, r6, #3 cmp r6, sb ldr sb, [sp, #0x14] moveq r6, #0x1f cmp r6, sb ldr sb, [sp, #0x10] moveq r6, #0x1e cmp r6, sb ldr sb, [sp, #0xc] moveq r6, #0x1d cmp r6, sb ldr sb, [sp, #8] moveq r6, #0x1c cmp r6, sb ldr sb, [sp, #4] moveq r6, #0x1b cmp r6, sb ldr sb, [sp] moveq r6, #0x1a cmp r6, sb moveq r6, #0x19 cmp r6, fp moveq r6, #0x18 cmp r6, sl moveq r6, #0x17 sub sb, r6, #0x17 and r8, r8, #0xf cmp sb, #8 addls pc, pc, sb, lsl #2 b _0201F9A8 _0201F808: ; jump table b _0201F97C ; case 0 b _0201F950 ; case 1 b _0201F924 ; case 2 b _0201F8FC ; case 3 b _0201F8D0 ; case 4 b _0201F8A4 ; case 5 b _0201F878 ; case 6 b _0201F850 ; case 7 b _0201F82C ; case 8 _0201F82C: add r5, r5, #1 add r7, r0, ip orr r6, r8, r8, lsl #4 strb r6, [r0, ip] and r6, r8, #0xf orr r6, r6, r6, lsl #4 strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F850: add r5, r5, #1 add r6, r8, #1 and r6, r6, #0xf orr r7, r6, r8, lsl #4 orr r6, r6, r6, lsl #4 strb r7, [r0, ip] add r7, r0, ip strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F878: add r5, r5, #1 add r6, r0, ip sub r7, r8, #1 and r7, r7, #0xf orr r7, r7, r8, lsl #4 strb r7, [r0, ip] and r7, r8, #0xf orr r7, r7, r7, lsl #4 strb r7, [r6, #1] add ip, ip, #2 b _0201F9F4 _0201F8A4: add r5, r5, #1 add r7, r0, ip orr r6, r8, r8, lsl #4 strb r6, [r0, ip] sub r6, r8, #1 mov r6, r6, lsl #0x1c and r8, r8, #0xf orr r6, r8, r6, lsr #24 strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F8D0: add r5, r5, #1 add r7, r0, ip orr r6, r8, r8, lsl #4 strb r6, [r0, ip] mov r6, r8, lsl #0x1c sub r8, r8, #1 and r8, r8, #0xf orr r6, r8, r6, lsr #24 strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F8FC: add r5, r5, #1 sub r6, r8, #1 and r6, r6, #0xf orr r7, r6, r8, lsl #4 orr r6, r6, r6, lsl #4 strb r7, [r0, ip] add r7, r0, ip strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F924: add r5, r5, #1 add r6, r0, ip add r7, r8, #1 and r7, r7, #0xf orr r7, r7, r8, lsl #4 strb r7, [r0, ip] and r7, r8, #0xf orr r7, r7, r7, lsl #4 strb r7, [r6, #1] add ip, ip, #2 b _0201F9F4 _0201F950: add r5, r5, #1 add r7, r0, ip orr r6, r8, r8, lsl #4 strb r6, [r0, ip] add r6, r8, #1 mov r6, r6, lsl #0x1c and r8, r8, #0xf orr r6, r8, r6, lsr #24 strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F97C: add r5, r5, #1 add r7, r0, ip orr r6, r8, r8, lsl #4 strb r6, [r0, ip] mov r6, r8, lsl #0x1c add r8, r8, #1 and r8, r8, #0xf orr r6, r8, r6, lsr #24 strb r6, [r7, #1] add ip, ip, #2 b _0201F9F4 _0201F9A8: ldrb sb, [r7, #1] sub r7, ip, #0x1000 add r5, r5, #2 add r8, sb, r8, lsl #8 add sb, r8, r7 mov r8, #0 b _0201F9D8 _0201F9C4: ldrb r7, [r0, sb] add sb, sb, #1 add r8, r8, #1 strb r7, [r0, ip] add ip, ip, #1 _0201F9D8: cmp r8, r6 blt _0201F9C4 b _0201F9F4 _0201F9E4: ldrb r6, [r2, r5] add r5, r5, #1 strb r6, [r0, ip] add ip, ip, #1 _0201F9F4: add r4, r4, #1 mov lr, lr, lsl #1 _0201F9FC: cmp r5, r3 blt _0201F750 mov r0, ip _0201FA08: add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end DecompressAtNormal arm_func_start DecompressAtHalf DecompressAtHalf: ; 0x0201FA10 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x34 ldrb r4, [r2] ldrb r6, [r2, #5] ldrb r5, [r2, #6] cmp r4, #0x50 mov ip, #0 add sl, r6, r5, lsl #8 ldreqb r5, [r2, #1] str ip, [sp, #0x30] mov lr, #8 cmpeq r5, #0x4b ldreqb r5, [r2, #2] cmpeq r5, #0x44 ldreqb r5, [r2, #3] cmpeq r5, #0x50 bne _0201FA88 ldrb r6, [r2, #0x10] ldrb r5, [r2, #0x11] ldrb r7, [r2, #0x12] ldrb r4, [r2, #0x13] add r5, r6, r5, lsl #8 add r5, r5, r7, lsl #16 add r4, r5, r4, lsl #24 cmp r1, #0 cmpne r1, r4 movne r0, ip bne _0201FF44 mov r8, #0x14 b _0201FB18 _0201FA88: cmp r4, #0x41 ldreqb r5, [r2, #1] cmpeq r5, #0x54 ldreqb r5, [r2, #2] cmpeq r5, #0x34 ldreqb r5, [r2, #3] cmpeq r5, #0x50 bne _0201FAEC ldrb r4, [r2, #4] ldrb r6, [r2, #0x10] ldrb r5, [r2, #0x11] cmp r4, #0x4e add r4, r6, r5, lsl #8 bne _0201FAD4 cmp r1, #0 cmpne r1, sl beq _0201FB18 mov r0, #0 b _0201FF44 _0201FAD4: cmp r1, #0 cmpne r1, r4 movne r0, #0 bne _0201FF44 mov r8, #0x12 b _0201FB18 _0201FAEC: cmp r4, #0x41 ldreqb r4, [r2, #1] cmpeq r4, #0x54 ldreqb r4, [r2, #2] cmpeq r4, #0x33 ldreqb r4, [r2, #3] cmpeq r4, #0x50 moveq r8, #0x10 beq _0201FB18 mov r0, #0 b _0201FF44 _0201FB18: ldrb r4, [r2, #4] cmp r4, #0x4e bne _0201FB78 mov r5, #0 b _0201FB68 _0201FB2C: add r6, r2, r5 ldrb r4, [r6, #7] add r1, r0, r5, lsl #1 ands r4, r4, #0xf strb r4, [r0, r5, lsl #1] orrne r4, r4, r3 strneb r4, [r1] ldrb r4, [r6, #7] add r5, r5, #1 and r4, r4, #0xf0 mov r4, r4, asr #4 strb r4, [r1, #1] ands r4, r4, #0xff orrne r4, r4, r3 strneb r4, [r1, #1] _0201FB68: cmp r5, sl blt _0201FB2C mov r0, r5 b _0201FF44 _0201FB78: ldrb r4, [r2, #7] ldrb r7, [r2, #8] ldrb r6, [r2, #9] add r4, r4, #3 str r4, [sp, #0x24] add r4, r7, #3 str r4, [sp, #0x20] add r4, r6, #3 ldrb r5, [r2, #0xa] str r4, [sp, #0x1c] ldrb sb, [r2, #0xb] add r4, r5, #3 str r4, [sp, #0x18] add r4, sb, #3 str r4, [sp, #0x14] ldrb r4, [r2, #0xc] ldrb r6, [r2, #0xd] ldrb r5, [r2, #0xe] add r4, r4, #3 str r4, [sp, #0x10] add r4, r6, #3 str r4, [sp, #0xc] add r4, r5, #3 str r4, [sp, #8] ldrb r4, [r2, #0xf] mov r1, r1, lsl #1 add r4, r4, #3 str r4, [sp, #4] b _0201FF38 _0201FBEC: cmp r1, #0 beq _0201FC00 cmp ip, r1 movge r0, #0 bge _0201FF44 _0201FC00: cmp lr, #8 ldreqb r4, [r2, r8] addeq r8, r8, #1 moveq lr, #0 streq r4, [sp, #0x30] ldr r4, [sp, #0x30] tst r4, #0x80 bne _0201FEEC add r4, r2, r8 str r4, [sp] ldrb r4, [r2, r8] ldr sb, [sp, #0x24] str r4, [sp, #0x28] ldr r5, [sp, #0x28] ldr r6, [sp, #0x28] ldr r7, [sp, #0x28] and r4, r4, #0xf0 mov r4, r4, asr #4 ands fp, r5, #0xf add r6, r6, #1 sub r7, r7, #1 mov r5, fp add r4, r4, #3 and r6, r6, #0xf orrne r5, fp, r3 cmp r6, #0 and r7, r7, #0xf orrne r6, r6, r3 cmp r7, #0 orrne r7, r7, r3 cmp r4, sb ldr sb, [sp, #0x20] moveq r4, #0x1f cmp r4, sb ldr sb, [sp, #0x1c] moveq r4, #0x1e cmp r4, sb ldr sb, [sp, #0x18] moveq r4, #0x1d cmp r4, sb ldr sb, [sp, #0x14] moveq r4, #0x1c cmp r4, sb ldr sb, [sp, #0x10] moveq r4, #0x1b cmp r4, sb ldr sb, [sp, #0xc] moveq r4, #0x1a cmp r4, sb ldr sb, [sp, #8] moveq r4, #0x19 cmp r4, sb ldr sb, [sp, #4] moveq r4, #0x18 cmp r4, sb moveq r4, #0x17 sub sb, r4, #0x17 str sb, [sp, #0x2c] cmp sb, #8 addls pc, pc, sb, lsl #2 b _0201FEAC _0201FCF4: ; jump table b _0201FE80 ; case 0 b _0201FE54 ; case 1 b _0201FE28 ; case 2 b _0201FDFC ; case 3 b _0201FDC8 ; case 4 b _0201FD9C ; case 5 b _0201FD70 ; case 6 b _0201FD44 ; case 7 b _0201FD18 ; case 8 _0201FD18: and r5, r5, #0xff strb r5, [r0, ip] add r8, r8, #1 add r4, ip, #1 strb r5, [r0, r4] add r4, ip, #2 strb r5, [r0, r4] add r4, ip, #3 strb r5, [r0, r4] add ip, ip, #4 b _0201FF28 _0201FD44: and r4, r6, #0xff strb r4, [r0, ip] add r8, r8, #1 add r6, ip, #1 strb r5, [r0, r6] add r5, ip, #2 strb r4, [r0, r5] add r5, ip, #3 strb r4, [r0, r5] add ip, ip, #4 b _0201FF28 _0201FD70: strb r7, [r0, ip] and r5, r5, #0xff add r8, r8, #1 add r4, ip, #1 strb r5, [r0, r4] add r4, ip, #2 strb r5, [r0, r4] add r4, ip, #3 strb r5, [r0, r4] add ip, ip, #4 b _0201FF28 _0201FD9C: and r5, r5, #0xff strb r5, [r0, ip] add r8, r8, #1 add r4, ip, #1 strb r5, [r0, r4] add r4, ip, #2 strb r5, [r0, r4] add r4, ip, #3 strb r7, [r0, r4] add ip, ip, #4 b _0201FF28 _0201FDC8: orr r5, fp, r3 add r8, r8, #1 and r4, r5, #0xff sub r6, r5, #1 strb r4, [r0, ip] add r5, ip, #1 strb r4, [r0, r5] add r5, ip, #2 strb r6, [r0, r5] add r5, ip, #3 strb r4, [r0, r5] add ip, ip, #4 b _0201FF28 _0201FDFC: and r4, r7, #0xff strb r4, [r0, ip] add r8, r8, #1 add r6, ip, #1 strb r5, [r0, r6] add r5, ip, #2 strb r4, [r0, r5] add r5, ip, #3 strb r4, [r0, r5] add ip, ip, #4 b _0201FF28 _0201FE28: strb r6, [r0, ip] and r5, r5, #0xff add r8, r8, #1 add r4, ip, #1 strb r5, [r0, r4] add r4, ip, #2 strb r5, [r0, r4] add r4, ip, #3 strb r5, [r0, r4] add ip, ip, #4 b _0201FF28 _0201FE54: and r5, r5, #0xff strb r5, [r0, ip] add r8, r8, #1 add r4, ip, #1 strb r5, [r0, r4] add r4, ip, #2 strb r5, [r0, r4] add r4, ip, #3 strb r6, [r0, r4] add ip, ip, #4 b _0201FF28 _0201FE80: and r4, r5, #0xff strb r4, [r0, ip] add r8, r8, #1 add r5, ip, #1 strb r4, [r0, r5] add r5, ip, #2 strb r6, [r0, r5] add r5, ip, #3 strb r4, [r0, r5] add ip, ip, #4 b _0201FF28 _0201FEAC: ldr r5, [sp] add r8, r8, #2 ldrb r6, [r5, #1] sub r5, ip, #0x2000 add r6, r6, fp, lsl #8 add r7, r5, r6, lsl #1 mov r6, #0 b _0201FEE0 _0201FECC: ldrb r5, [r0, r7] add r7, r7, #1 add r6, r6, #1 strb r5, [r0, ip] add ip, ip, #1 _0201FEE0: cmp r6, r4, lsl #1 blt _0201FECC b _0201FF28 _0201FEEC: ldrb r5, [r2, r8] add r4, r0, ip ands r5, r5, #0xf strb r5, [r0, ip] orrne r5, r5, r3 strneb r5, [r4] ldrb r5, [r2, r8] add ip, ip, #2 add r8, r8, #1 and r5, r5, #0xf0 mov r5, r5, asr #4 strb r5, [r4, #1] ands r5, r5, #0xff orrne r5, r5, r3 strneb r5, [r4, #1] _0201FF28: ldr r4, [sp, #0x30] add lr, lr, #1 mov r4, r4, lsl #1 str r4, [sp, #0x30] _0201FF38: cmp r8, sl blt _0201FBEC mov r0, ip _0201FF44: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end DecompressAtHalf arm_func_start DecompressAtFromMemoryPointerVeneer DecompressAtFromMemoryPointerVeneer: ; 0x0201FF4C ldr ip, _0201FF54 ; =DecompressAtFromMemoryPointer bx ip .align 2, 0 _0201FF54: .word DecompressAtFromMemoryPointer arm_func_end DecompressAtFromMemoryPointerVeneer arm_func_start DecompressAtFromMemoryPointer DecompressAtFromMemoryPointer: ; 0x0201FF58 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c mov r5, r2 ldrb r4, [r5, #5] ldrb r3, [r5, #6] ldr r2, _0202046C ; =_022A5038 mov r7, #0 str r0, [r2] str r0, [r2, #0xc] str r7, [r2, #4] str r7, [r2, #8] ldrb r0, [r5] mov r6, r1 add r1, r4, r3, lsl #8 cmp r0, #0x50 str r1, [sp, #0x28] ldreqb r1, [r5, #1] str r7, [sp, #0x24] mov sl, #8 cmpeq r1, #0x4b ldreqb r1, [r5, #2] cmpeq r1, #0x44 ldreqb r1, [r5, #3] cmpeq r1, #0x50 bne _0201FFF0 ldrb r1, [r5, #0x10] ldrb r0, [r5, #0x11] ldrb r2, [r5, #0x12] ldrb r3, [r5, #0x13] add r0, r1, r0, lsl #8 add r0, r0, r2, lsl #16 add r0, r0, r3, lsl #24 cmp r6, #0 cmpne r6, r0 movne r0, r7 bne _02020464 mov r4, #0x14 b _02020060 _0201FFF0: cmp r0, #0x41 ldreqb r1, [r5, #1] cmpeq r1, #0x54 ldreqb r1, [r5, #2] cmpeq r1, #0x34 ldreqb r1, [r5, #3] cmpeq r1, #0x50 bne _02020034 ldrb r1, [r5, #0x10] ldrb r0, [r5, #0x11] cmp r6, #0 add r0, r1, r0, lsl #8 cmpne r6, r0 movne r0, #0 bne _02020464 mov r4, #0x12 b _02020060 _02020034: cmp r0, #0x41 ldreqb r0, [r5, #1] cmpeq r0, #0x54 ldreqb r0, [r5, #2] cmpeq r0, #0x33 ldreqb r0, [r5, #3] cmpeq r0, #0x50 moveq r4, #0x10 beq _02020060 mov r0, #0 b _02020464 _02020060: ldrb r0, [r5, #4] cmp r0, #0x4e bne _0202009C mov r4, #0 b _02020084 _02020074: add r0, r5, r4 ldrb r0, [r0, #7] bl WriteByteFromMemoryPointer add r4, r4, #1 _02020084: ldr r0, [sp, #0x28] cmp r4, r0 blt _02020074 bl sub_020204CC mov r0, r4 b _02020464 _0202009C: ldrb r0, [r5, #7] ldrb fp, [r5, #8] ldrb sb, [r5, #9] add r0, r0, #3 str r0, [sp, #0x20] add r0, fp, #3 str r0, [sp, #0x1c] add r0, sb, #3 ldrb r8, [r5, #0xa] str r0, [sp, #0x18] ldrb r3, [r5, #0xb] add r0, r8, #3 str r0, [sp, #0x14] add r0, r3, #3 ldrb r2, [r5, #0xc] str r0, [sp, #0x10] ldrb r1, [r5, #0xd] add r0, r2, #3 str r0, [sp, #0xc] add r0, r1, #3 str r0, [sp, #8] ldrb r0, [r5, #0xe] ldrb r1, [r5, #0xf] add r0, r0, #3 str r0, [sp, #4] add r0, r1, #3 str r0, [sp] b _02020450 _0202010C: cmp r6, #0 beq _02020120 cmp r7, r6 movge r0, #0 bge _02020464 _02020120: cmp sl, #8 ldreqb r0, [r5, r4] addeq r4, r4, #1 moveq sl, #0 streq r0, [sp, #0x24] ldr r0, [sp, #0x24] tst r0, #0x80 bne _02020430 ldrb r2, [r5, r4] add r0, r5, r4 and r1, r2, #0xf0 mov r1, r1, asr #4 add r8, r1, #3 ldr r1, [sp, #0x20] and sb, r2, #0xf cmp r8, r1 ldr r1, [sp, #0x1c] moveq r8, #0x1f cmp r8, r1 ldr r1, [sp, #0x18] moveq r8, #0x1e cmp r8, r1 ldr r1, [sp, #0x14] moveq r8, #0x1d cmp r8, r1 ldr r1, [sp, #0x10] moveq r8, #0x1c cmp r8, r1 ldr r1, [sp, #0xc] moveq r8, #0x1b cmp r8, r1 ldr r1, [sp, #8] moveq r8, #0x1a cmp r8, r1 ldr r1, [sp, #4] moveq r8, #0x19 cmp r8, r1 ldr r1, [sp] moveq r8, #0x18 cmp r8, r1 moveq r8, #0x17 sub r1, r8, #0x17 cmp r1, #8 addls pc, pc, r1, lsl #2 b _02020398 _020201D4: ; jump table b _02020368 ; case 0 b _02020338 ; case 1 b _02020308 ; case 2 b _020202DC ; case 3 b _020202AC ; case 4 b _0202027C ; case 5 b _0202024C ; case 6 b _02020220 ; case 7 b _020201F8 ; case 8 _020201F8: add r4, r4, #1 orr r0, sb, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer and r0, sb, #0xf orr r0, r0, r0, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _02020220: add r4, r4, #1 add r0, sb, #1 and r8, r0, #0xf orr r0, r8, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer orr r0, r8, r8, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _0202024C: add r4, r4, #1 sub r0, sb, #1 and r0, r0, #0xf orr r0, r0, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer and r0, sb, #0xf orr r0, r0, r0, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _0202027C: add r4, r4, #1 orr r0, sb, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer sub r0, sb, #1 mov r1, r0, lsl #0x1c and r0, sb, #0xf orr r0, r0, r1, lsr #24 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _020202AC: add r4, r4, #1 orr r0, sb, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer mov r1, sb, lsl #0x1c sub r0, sb, #1 and r0, r0, #0xf orr r0, r0, r1, lsr #24 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _020202DC: add r4, r4, #1 sub r0, sb, #1 and r8, r0, #0xf orr r0, r8, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer orr r0, r8, r8, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _02020308: add r4, r4, #1 add r0, sb, #1 and r0, r0, #0xf orr r0, r0, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer and r0, sb, #0xf orr r0, r0, r0, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _02020338: add r4, r4, #1 orr r0, sb, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r0, sb, #1 mov r1, r0, lsl #0x1c and r0, sb, #0xf orr r0, r0, r1, lsr #24 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _02020368: add r4, r4, #1 orr r0, sb, sb, lsl #4 and r0, r0, #0xff bl WriteByteFromMemoryPointer mov r1, sb, lsl #0x1c add r0, sb, #1 and r0, r0, #0xf orr r0, r0, r1, lsr #24 and r0, r0, #0xff bl WriteByteFromMemoryPointer add r7, r7, #2 b _02020440 _02020398: ldrb r1, [r0, #1] sub r0, r7, #0x1000 add r4, r4, #2 add r1, r1, sb, lsl #8 add sb, r1, r0 mov fp, #0 b _02020424 _020203B4: ldr r0, _0202046C ; =_022A5038 ldr r1, [r0, #0xc] mov r0, sb, asr #1 add r0, sb, r0, lsr #30 mov r0, r0, asr #2 ldr r1, [r1, r0, lsl #2] and r0, sb, #3 cmp r0, #3 addls pc, pc, r0, lsl #2 b _020203EC _020203DC: ; jump table b _020203EC ; case 0 b _020203F4 ; case 1 b _02020400 ; case 2 b _0202040C ; case 3 _020203EC: and r0, r1, #0xff b _02020414 _020203F4: mov r0, r1, lsr #8 and r0, r0, #0xff b _02020414 _02020400: mov r0, r1, lsr #0x10 and r0, r0, #0xff b _02020414 _0202040C: mov r0, r1, lsr #0x18 and r0, r0, #0xff _02020414: bl WriteByteFromMemoryPointer add r7, r7, #1 add sb, sb, #1 add fp, fp, #1 _02020424: cmp fp, r8 blt _020203B4 b _02020440 _02020430: ldrb r0, [r5, r4] bl WriteByteFromMemoryPointer add r7, r7, #1 add r4, r4, #1 _02020440: ldr r0, [sp, #0x24] add sl, sl, #1 mov r0, r0, lsl #1 str r0, [sp, #0x24] _02020450: ldr r0, [sp, #0x28] cmp r4, r0 blt _0202010C bl sub_020204CC mov r0, r7 _02020464: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202046C: .word _022A5038 arm_func_end DecompressAtFromMemoryPointer arm_func_start WriteByteFromMemoryPointer WriteByteFromMemoryPointer: ; 0x02020470 ldr r1, _020204C4 ; =_022A5038 ldr r2, _020204C8 ; =_020997A4 ldr r3, [r1, #8] ldr ip, [r1, #4] ldr r2, [r2, r3, lsl #2] orr r2, ip, r0, lsl r2 str r2, [r1, #4] ldr r0, [r1] str r2, [r0] ldr r0, [r1, #8] add r0, r0, #1 str r0, [r1, #8] cmp r0, #4 bxne lr ldr r2, [r1] mov r0, #0 add r2, r2, #4 str r2, [r1] str r0, [r1, #4] str r0, [r1, #8] bx lr .align 2, 0 _020204C4: .word _022A5038 _020204C8: .word _020997A4 arm_func_end WriteByteFromMemoryPointer arm_func_start sub_020204CC sub_020204CC: ; 0x020204CC ldr r0, _020204E8 ; =_022A5038 ldr r1, [r0, #8] cmp r1, #0 ldrne r1, [r0, #4] ldrne r0, [r0] strne r1, [r0] bx lr .align 2, 0 _020204E8: .word _022A5038 arm_func_end sub_020204CC arm_func_start GetAtSize GetAtSize: ; 0x020204EC ldrb r2, [r0] cmp r2, #0x50 ldreqb r1, [r0, #1] cmpeq r1, #0x4b ldreqb r1, [r0, #2] cmpeq r1, #0x44 ldreqb r1, [r0, #3] cmpeq r1, #0x50 bne _02020530 ldrb r2, [r0, #0x10] ldrb r1, [r0, #0x11] ldrb r3, [r0, #0x12] ldrb ip, [r0, #0x13] add r0, r2, r1, lsl #8 add r0, r0, r3, lsl #16 add r0, r0, ip, lsl #24 bx lr _02020530: cmp r2, #0x41 ldreqb r1, [r0, #1] cmpeq r1, #0x54 ldreqb r1, [r0, #2] cmpeq r1, #0x34 ldreqb r1, [r0, #3] cmpeq r1, #0x50 ldreqb r1, [r0, #0x10] ldreqb r0, [r0, #0x11] addeq r0, r1, r0, lsl #8 bxeq lr cmp r2, #0x41 ldreqb r1, [r0, #1] cmpeq r1, #0x54 ldreqb r0, [r0, #2] cmpeq r0, #0x33 moveq r0, #0 movne r0, #0 bx lr arm_func_end GetAtSize arm_func_start sub_0202057C sub_0202057C: ; 0x0202057C stmdb sp!, {lr} sub sp, sp, #0x54 add r0, sp, #0 bl sub_02004F74 ldrsb r0, [sp] bl sub_020205C0 add sp, sp, #0x54 ldmia sp!, {pc} arm_func_end sub_0202057C arm_func_start sub_0202059C sub_0202059C: ; 0x0202059C bx lr arm_func_end sub_0202059C arm_func_start GetLanguageType GetLanguageType: ; 0x020205A0 ldr r0, _020205AC ; =LANGUAGE_INFO_DATA ldrsb r0, [r0, #1] bx lr .align 2, 0 _020205AC: .word LANGUAGE_INFO_DATA arm_func_end GetLanguageType arm_func_start GetLanguage GetLanguage: ; 0x020205B0 ldr r0, _020205BC ; =LANGUAGE_INFO_DATA ldrsb r0, [r0] bx lr .align 2, 0 _020205BC: .word LANGUAGE_INFO_DATA arm_func_end GetLanguage arm_func_start sub_020205C0 sub_020205C0: ; 0x020205C0 cmp r0, #0 blt _020205D8 cmp r0, #9 ldrlt r1, _020205E0 ; =_020997B4 ldrltsb r0, [r1, r0] bxlt lr _020205D8: mvn r0, #0 bx lr .align 2, 0 _020205E0: .word _020997B4 arm_func_end sub_020205C0 arm_func_start sub_020205E4 sub_020205E4: ; 0x020205E4 stmdb sp!, {r3, lr} bl sub_0202057C bl sub_020257FC bl sub_02023610 ldmia sp!, {r3, pc} arm_func_end sub_020205E4 arm_func_start sub_020205F8 sub_020205F8: ; 0x020205F8 stmdb sp!, {r3, lr} bl sub_0200B768 bl LoadStringFile bl sub_0202088C ldmia sp!, {r3, pc} arm_func_end sub_020205F8 arm_func_start sub_0202060C sub_0202060C: ; 0x0202060C cmp r0, #0 mvneq r0, #0 bxeq lr cmp r0, #0x61 blo _0202062C cmp r0, #0x66 subls r0, r0, #0x57 bxls lr _0202062C: cmp r0, #0x41 blo _02020640 cmp r0, #0x46 subls r0, r0, #0x37 bxls lr _02020640: cmp r0, #0x30 blo _02020654 cmp r0, #0x39 subls r0, r0, #0x30 bxls lr _02020654: mov r0, #0 bx lr arm_func_end sub_0202060C arm_func_start sub_0202065C sub_0202065C: ; 0x0202065C stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r6, [r4] ldrb r0, [r6] cmp r0, #0x7e bne _020206C8 ldrb r0, [r6, #1] bl sub_0202060C movs r5, r0 addmi r0, r6, #1 strmi r0, [r4] movmi r0, #0 ldmmiia sp!, {r4, r5, r6, pc} ldrb r0, [r6, #2] bl sub_0202060C cmp r0, #0 addlt r1, r6, #2 movlt r0, r5, lsl #0x10 strlt r1, [r4] movlt r0, r0, lsr #0x10 ldmltia sp!, {r4, r5, r6, pc} add r0, r0, r5, lsl #4 add r1, r6, #3 mov r0, r0, lsl #0x10 str r1, [r4] mov r0, r0, lsr #0x10 ldmia sp!, {r4, r5, r6, pc} _020206C8: cmp r0, #0x81 blo _020206D8 cmp r0, #0x84 bls _020206E0 _020206D8: cmp r0, #0x87 bne _020206F0 _020206E0: ldrb r1, [r6, #1]! orr r0, r1, r0, lsl #8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 _020206F0: add r1, r6, #1 str r1, [r4] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0202065C arm_func_start sub_020206FC sub_020206FC: ; 0x020206FC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sb, r1 ldr r5, [sb] mov sl, r0 ldrb r0, [r5] mov r8, r2 ldr r4, [sl] cmp r0, #0x7e bne _020207F0 ldrb r0, [r5, #1] mov r6, #0 bl sub_0202060C movs r7, r0 bpl _02020754 ldrb r2, [r5] add r1, r4, #1 add r0, r5, #1 strb r2, [r4] str r1, [sl] str r0, [sb] mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02020754: add r0, r4, #1 cmp r0, r8 ldrb r0, [r5, #2] moveq r6, #1 bl sub_0202060C cmp r0, #0 bge _020207A4 cmp r6, #0 bne _02020790 ldrb r1, [r5] add r0, r4, #2 strb r1, [r4] ldrb r1, [r5, #1] strb r1, [r4, #1] str r0, [sl] _02020790: add r1, r5, #2 mov r0, r7, lsl #0x10 str r1, [sb] mov r0, r0, lsr #0x10 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _020207A4: add r1, r4, #2 cmp r1, r8 moveq r6, #1 cmp r6, #0 bne _020207D8 ldrb r2, [r5] add r1, r4, #3 strb r2, [r4] ldrb r2, [r5, #1] strb r2, [r4, #1] ldrb r2, [r5, #2] strb r2, [r4, #2] str r1, [sl] _020207D8: add r0, r0, r7, lsl #4 add r1, r5, #3 mov r0, r0, lsl #0x10 str r1, [sb] mov r0, r0, lsr #0x10 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _020207F0: cmp r0, #0x81 blo _02020800 cmp r0, #0x84 bls _02020808 _02020800: cmp r0, #0x87 bne _02020850 _02020808: ldrb r2, [r5, #1] add r1, r4, #1 cmp r1, r8 orr r0, r2, r0, lsl #8 mov r0, r0, lsl #0x10 addeq r1, r5, #2 mov r0, r0, lsr #0x10 streq r1, [sb] ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrb r3, [r5] add r2, r5, #2 add r1, r4, #2 strb r3, [r4] ldrb r3, [r5, #1] strb r3, [r4, #1] str r2, [sb] str r1, [sl] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02020850: strb r0, [r4] add r1, r5, #1 str r1, [sb] add r1, r4, #1 str r1, [sl] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_020206FC arm_func_start sub_02020868 sub_02020868: ; 0x02020868 b _02020870 _0202086C: add r0, r0, #1 _02020870: ldrb r1, [r0] cmp r1, #0 bne _0202086C bx lr arm_func_end sub_02020868 arm_func_start sub_02020880 sub_02020880: ; 0x02020880 ldr ip, _02020888 ; =strstr bx ip .align 2, 0 _02020888: .word strstr arm_func_end sub_02020880 arm_func_start sub_0202088C sub_0202088C: ; 0x0202088C bx lr arm_func_end sub_0202088C arm_func_start sub_02020890 sub_02020890: ; 0x02020890 cmp r1, #0 beq _020208C0 ldr ip, [r0] _0202089C: cmp ip, r2 moveq r0, #0 streqb r0, [r2, #-1] bxeq lr ldrb r3, [r1], #1 cmp r3, #0 strneb r3, [ip], #1 bne _0202089C str ip, [r0] _020208C0: mov r0, #1 bx lr arm_func_end sub_02020890 arm_func_start StrcmpTag StrcmpTag: ; 0x020208C8 ldrb r2, [r1], #1 ldrb r3, [r0], #1 cmp r2, #0 bne _020208F0 cmp r3, #0 cmpne r3, #0x3a cmpne r3, #0x5d moveq r0, #1 movne r0, #0 bx lr _020208F0: cmp r3, #0 moveq r0, #0 bxeq lr cmp r3, r2 beq StrcmpTag mov r0, #0 bx lr arm_func_end StrcmpTag arm_func_start StoiTag StoiTag: ; 0x0202090C mov r3, #0 mov r1, #0xa _02020914: ldrb r2, [r0], #1 cmp r2, #0 cmpne r2, #0x3a cmpne r2, #0x5d moveq r0, r3 bxeq lr cmp r2, #0x30 blo _02020914 cmp r2, #0x39 mlals r2, r3, r1, r2 subls r3, r2, #0x30 b _02020914 arm_func_end StoiTag arm_func_start sub_02020944 sub_02020944: ; 0x02020944 bx lr arm_func_end sub_02020944 arm_func_start sub_02020948 sub_02020948: ; 0x02020948 stmdb sp!, {r4, lr} ldrb r4, [r0] cmp r4, #0x41 blo _02020A24 cmp r4, #0x5a bhi _02020A24 add r0, r0, #1 bl StoiTag mov r0, r0, lsl #0x10 cmp r4, #0x49 mov r0, r0, asr #0x10 bgt _0202099C cmp r4, #0x48 blt _02020990 beq _020209DC cmp r4, #0x49 beq _02020A0C b _02020A1C _02020990: cmp r4, #0x42 ldmeqia sp!, {r4, pc} b _02020A1C _0202099C: cmp r4, #0x52 bgt _020209AC beq _020209EC b _02020A1C _020209AC: cmp r4, #0x54 bgt _02020A1C cmp r4, #0x53 blt _02020A1C beq _020209CC cmp r4, #0x54 beq _020209FC b _02020A1C _020209CC: add r0, r0, #0x21 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} _020209DC: add r0, r0, #0x29 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} _020209EC: add r0, r0, #0x32 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} _020209FC: add r0, r0, #0x3c mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} _02020A0C: add r0, r0, #0x43 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} _02020A1C: mvn r0, #0 ldmia sp!, {r4, pc} _02020A24: cmp r4, #0x30 blo _02020A44 cmp r4, #0x39 bhi _02020A44 bl StoiTag mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} _02020A44: mvn r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_02020948 arm_func_start sub_02020A4C sub_02020A4C: ; 0x02020A4C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetLanguageType cmp r0, #3 ldreq r4, _02020A94 ; =_0209995C ldrne r4, _02020A98 ; =_0209990C b _02020A80 _02020A68: mov r0, r5 bl StrcmpTag cmp r0, #0 ldrneh r0, [r4, #4] ldmneia sp!, {r3, r4, r5, pc} add r4, r4, #8 _02020A80: ldr r1, [r4] cmp r1, #0 bne _02020A68 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02020A94: .word _0209995C _02020A98: .word _0209990C arm_func_end sub_02020A4C arm_func_start sub_02020A9C sub_02020A9C: ; 0x02020A9C stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r6, r1 mov r5, r2 mov lr, r4 mov ip, #5 _02020AB4: ldmia r6!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02020AB4 ldr r0, [r6] str r0, [lr] str r5, [r4, #0x54] ldr r2, [r4, #0x20] cmp r2, #0 beq _02020AE8 ldr r0, [r4, #0x54] add r1, r4, #8 blx r2 _02020AE8: mov r0, #0 str r0, [r4, #0x58] mov r0, #0x78 mov r1, #0x3c str r0, [r4, #0x6c] mov r0, r4 str r1, [r4, #0x70] sub r1, r1, #0x3d str r1, [r4, #0x74] bl sub_02020B14 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02020A9C arm_func_start sub_02020B14 sub_02020B14: ; 0x02020B14 mov r3, #0 str r3, [r0, #0x5c] strb r3, [r0, #0x9d] ldr r2, [r0] ldr r1, [r0, #4] str r2, [r0, #0x90] str r1, [r0, #0x94] mov r2, r3 _02020B34: add r1, r0, r3 add r3, r3, #1 strb r2, [r1, #0x99] cmp r3, #4 blt _02020B34 bx lr arm_func_end sub_02020B14 arm_func_start sub_02020B4C sub_02020B4C: ; 0x02020B4C ldr r2, [r1] ldr r1, [r1, #4] str r2, [r0, #0x10] str r1, [r0, #0x14] bx lr arm_func_end sub_02020B4C arm_func_start sub_02020B60 sub_02020B60: ; 0x02020B60 ldr r2, [r1] ldr r1, [r1, #4] str r2, [r0, #0x90] str r1, [r0, #0x94] bx lr arm_func_end sub_02020B60 arm_func_start sub_02020B74 sub_02020B74: ; 0x02020B74 stmdb sp!, {r3, lr} mov r2, r0 strb r1, [r2, #0x98] ldr r0, [r2, #0x54] ldr r2, [r2, #0x30] and r1, r1, #0xff blx r2 ldmia sp!, {r3, pc} arm_func_end sub_02020B74 arm_func_start sub_02020B94 sub_02020B94: ; 0x02020B94 stmdb sp!, {r3, lr} mov r2, r0 strb r1, [r2, #0x98] strb r1, [r2, #0x9c] ldrb r1, [r2, #0x98] ldr r0, [r2, #0x54] ldr r2, [r2, #0x30] blx r2 ldmia sp!, {r3, pc} arm_func_end sub_02020B94 arm_func_start sub_02020BB8 sub_02020BB8: ; 0x02020BB8 str r1, [r0, #0x6c] str r2, [r0, #0x70] bx lr arm_func_end sub_02020BB8 arm_func_start sub_02020BC4 sub_02020BC4: ; 0x02020BC4 stmdb sp!, {r4, lr} mov r4, r0 tst r1, #0x400 movne r0, #1 moveq r0, #0 strh r1, [r4, #0x60] strb r0, [r4, #0x62] tst r1, #2 movne r0, #3 strne r0, [r4, #0x5c] bne _02020C50 tst r1, #4 beq _02020C14 mov r0, #3 str r0, [r4, #0x5c] ldr r1, [r4] ldr r0, [r4, #4] str r1, [r4, #0x90] str r0, [r4, #0x94] b _02020C50 _02020C14: ldr r0, [r4, #0x5c] cmp r0, #1 movne r0, #3 strne r0, [r4, #0x5c] bne _02020C40 ldr r1, [r4, #0x6c] mov r0, #0xc str r1, [r4, #0x7c] str r0, [r4, #0x5c] mov r0, #1 strb r0, [r4, #0x9d] _02020C40: ldr r1, [r4] ldr r0, [r4, #4] str r1, [r4, #0x90] str r0, [r4, #0x94] _02020C50: str r2, [r4, #0x88] str r2, [r4, #0x84] mov r1, #0 strh r1, [r4, #0x8c] str r1, [r4, #0xa4] strb r1, [r4, #0xa8] add r2, r4, #0xac mov r0, r1 _02020C70: add r1, r1, #1 cmp r1, #4 strb r0, [r2], #0x18 blt _02020C70 mov r1, #0x44 strb r1, [r4, #0x98] str r0, [r4, #0xa0] bl GetDebugFlag cmp r0, #0 movne r0, #4 moveq r0, #1 str r0, [r4, #0x64] mov r0, #1 str r0, [r4, #0x68] mov r0, #0 str r0, [r4, #0x78] str r0, [r4, #0x7c] str r0, [r4, #0x80] ldrb r1, [r4, #0x98] ldr r0, [r4, #0x54] ldr r2, [r4, #0x30] blx r2 ldmia sp!, {r4, pc} arm_func_end sub_02020BC4 arm_func_start sub_02020CCC sub_02020CCC: ; 0x02020CCC ldr r1, [r0, #0x5c] cmp r1, #1 bne _02020CF4 ldr r2, [r0, #0x6c] mov r1, #0xb str r2, [r0, #0x7c] str r1, [r0, #0x5c] mov r1, #1 strb r1, [r0, #0x9d] bx lr _02020CF4: cmp r1, #0x10 bxeq lr ldr r2, [r0, #0x6c] mov r1, #0xe str r2, [r0, #0x7c] str r1, [r0, #0x5c] mov r1, #1 strb r1, [r0, #0x9d] bx lr arm_func_end sub_02020CCC arm_func_start sub_02020D18 sub_02020D18: ; 0x02020D18 ldr r1, [r0, #0x5c] cmp r1, #1 bxne lr ldr r2, [r0, #0x6c] mov r1, #0xd str r2, [r0, #0x7c] str r1, [r0, #0x5c] mov r1, #1 strb r1, [r0, #0x9d] bx lr arm_func_end sub_02020D18 arm_func_start sub_02020D40 sub_02020D40: ; 0x02020D40 ldr r1, [r0, #0x5c] cmp r1, #1 moveq r1, #2 streq r1, [r0, #0x5c] bx lr arm_func_end sub_02020D40 arm_func_start sub_02020D54 sub_02020D54: ; 0x02020D54 ldr r0, [r0, #0x5c] bx lr arm_func_end sub_02020D54 arm_func_start sub_02020D5C sub_02020D5C: ; 0x02020D5C ldr r0, [r0, #0x5c] cmp r0, #0 cmpne r0, #1 cmpne r0, #2 cmpne r0, #0x10 moveq r0, #0 movne r0, #1 bx lr arm_func_end sub_02020D5C arm_func_start sub_02020D7C sub_02020D7C: ; 0x02020D7C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r4, #0 mov ip, #0x18 b _02020DB8 _02020D94: mla r0, r4, ip, r7 mov r5, r6 add lr, r0, #0xac ldmia lr!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia lr, {r0, r1} stmia r5, {r0, r1} add r6, r6, #0x18 add r4, r4, #1 _02020DB8: ldr r0, [r7, #0xa4] cmp r4, r0 blt _02020D94 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02020D7C arm_func_start AnalyzeText AnalyzeText: ; 0x02020DC8 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x84 mov r4, r0 ldr r0, [r4, #0x78] add r0, r0, #1 str r0, [r4, #0x78] ldr r0, [r4, #0x5c] cmp r0, #0x10 addls pc, pc, r0, lsl #2 b _02021EC4 _02020DF0: ; jump table b _02021EC4 ; case 0 b _02021EC4 ; case 1 b _02021EC4 ; case 2 b _02020E34 ; case 3 b _02020EC4 ; case 4 b _02020E4C ; case 5 b _02020E4C ; case 6 b _02021C90 ; case 7 b _02021CE4 ; case 8 b _02021CE4 ; case 9 b _02021CE4 ; case 10 b _02021CE4 ; case 11 b _02021CE4 ; case 12 b _02021CE4 ; case 13 b _02021E90 ; case 14 b _02021E9C ; case 15 b _02021EC4 ; case 16 _02020E34: ldrh r0, [r4, #0x60] tst r0, #0x8000 bne _02020E4C ldr r0, [r4, #0x54] ldr r1, [r4, #0x28] blx r1 _02020E4C: ldr r1, [r4, #0x5c] sub r0, r1, #5 cmp r0, #1 bhi _02020EBC cmp r1, #5 bne _02020E74 ldrh r0, [r4, #0x60] tst r0, #0x1000 beq _02020E74 bl sub_02017CEC _02020E74: ldrh r0, [r4, #0x60] tst r0, #0x20 bne _02020EA8 tst r0, #0x800 beq _02020EA8 ldr r0, [r4, #0x54] ldr r1, [r4, #0x18] blx r1 cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x62] movne r0, #0 strne r0, [r4, #0x7c] _02020EA8: ldr r0, [r4, #0x7c] sub r0, r0, #1 str r0, [r4, #0x7c] cmp r0, #0 bgt _02021EC4 _02020EBC: mov r0, #4 str r0, [r4, #0x5c] _02020EC4: ldrb r0, [r4, #0x62] cmp r0, #0 movne r0, #0x400 ldreq r0, [r4, #0x64] str r0, [r4, #0x80] mov r0, #0 str r0, [r4, #0x7c] b _02021BFC _02020EE4: ldr r0, [r4, #0x88] ldrb r0, [r0] strh r0, [r4, #0x8c] cmp r0, #0x5b bne _02021AB4 ldr r0, [r4, #0x88] ldrb r5, [r0] strh r5, [r4, #0x8c] cmp r5, #0x5b bne _02021A70 ldr r0, [r4, #0x88] mov r6, #1 add r0, r0, #1 str r0, [r4, #0x88] str r0, [sp, #0x70] add r0, sp, #0x70 _02020F24: ldr r1, [r4, #0x88] mov r2, r1 add r1, r1, #1 str r1, [r4, #0x88] ldrb r1, [r2] cmp r1, #0x5d beq _02020F54 cmp r1, #0x3a ldreq r1, [r4, #0x88] streq r1, [r0, r6, lsl #2] addeq r6, r6, #1 b _02020F24 _02020F54: ldr r0, [sp, #0x70] ldrb r7, [r0] cmp r7, #0x41 blo _02021A38 cmp r7, #0x5a bhi _02021A38 sub r1, r7, #0x42 cmp r1, #0x15 addls pc, pc, r1, lsl #2 b _02021A10 _02020F7C: ; jump table b _02020FD4 ; case 0 b _02021040 ; case 1 b _02021A10 ; case 2 b _02021A10 ; case 3 b _0202134C ; case 4 b _02021A10 ; case 5 b _020212F0 ; case 6 b _02021A10 ; case 7 b _02021A10 ; case 8 b _02021404 ; case 9 b _0202145C ; case 10 b _02021694 ; case 11 b _02021A10 ; case 12 b _02021A10 ; case 13 b _020217C4 ; case 14 b _02021A10 ; case 15 b _02021868 ; case 16 b _020218D8 ; case 17 b _02021A10 ; case 18 b _02021A10 ; case 19 b _02021A10 ; case 20 b _020219AC ; case 21 _02020FD4: ldr r1, _02021ED0 ; =_020999AC bl StrcmpTag cmp r0, #0 beq _02021018 ldr r1, [r4, #8] ldr r3, [r4, #0x94] ldr r2, [r4, #0x14] ldr r0, [r4, #0x54] ldr r5, [r4, #0x48] add r2, r3, r2 sub r3, r1, #4 mov r1, #2 blx r5 ldr r0, [r4, #0x94] add r0, r0, #3 str r0, [r4, #0x94] b _02021AA0 _02021018: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0xe8] ldr r0, [r0, #0xe4] str r1, [sp, #0x6c] str r0, [sp, #0x68] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x68 bl FatalError _02021040: ldr r0, [sp, #0x70] ldr r1, _02021EDC ; =_020999C8 bl StrcmpTag cmp r0, #0 beq _02021104 cmp r6, #2 bne _02021098 ldrb r1, [r4, #0x9c] cmp r1, #0 ldrne r0, [sp, #0x74] strneb r1, [r4, #0x99] ldrneb r0, [r0] strneb r0, [r4, #0x9c] bne _020210F0 ldrb r0, [r4, #0x98] strb r0, [r4, #0x99] ldrb r0, [r4, #0xa8] cmp r0, #0 ldreq r0, [sp, #0x74] ldreqb r0, [r0] streqb r0, [r4, #0x98] b _020210F0 _02021098: cmp r6, #3 bne _020210F0 ldr r0, [sp, #0x74] bl StoiTag ldrb r2, [r4, #0x9c] cmp r2, #0 cmpne r0, #3 beq _020210D0 add r1, r4, r0 ldr r0, [sp, #0x78] strb r2, [r1, #0x99] ldrb r0, [r0] strb r0, [r4, #0x9c] b _020210F0 _020210D0: ldrb r1, [r4, #0x98] add r0, r4, r0 strb r1, [r0, #0x99] ldrb r0, [r4, #0xa8] cmp r0, #0 ldreq r0, [sp, #0x78] ldreqb r0, [r0] streqb r0, [r4, #0x98] _020210F0: ldrb r1, [r4, #0x98] ldr r0, [r4, #0x54] ldr r2, [r4, #0x30] blx r2 b _02021AA0 _02021104: ldr r0, [sp, #0x70] ldr r1, _02021EE0 ; =_020999CC bl StrcmpTag cmp r0, #0 beq _020211C4 cmp r6, #1 bne _02021158 ldrb r0, [r4, #0x9c] cmp r0, #0 ldrneb r1, [r4, #0x99] movne r0, #0 strneb r1, [r4, #0x9c] strneb r0, [r4, #0x99] bne _020211B0 ldrb r0, [r4, #0xa8] cmp r0, #0 ldreqb r0, [r4, #0x99] streqb r0, [r4, #0x98] mov r0, #0 strb r0, [r4, #0x99] b _020211B0 _02021158: cmp r6, #2 bne _020211B0 ldr r0, [sp, #0x74] bl StoiTag ldrb r1, [r4, #0x9c] cmp r1, #0 cmpne r0, #3 beq _02021190 add r2, r4, r0 ldrb r1, [r2, #0x99] mov r0, #0 strb r1, [r4, #0x9c] strb r0, [r2, #0x99] b _020211B0 _02021190: ldrb r1, [r4, #0xa8] cmp r1, #0 addeq r1, r4, r0 ldreqb r1, [r1, #0x99] add r0, r4, r0 streqb r1, [r4, #0x98] mov r1, #0 strb r1, [r0, #0x99] _020211B0: ldrb r1, [r4, #0x98] ldr r0, [r4, #0x54] ldr r2, [r4, #0x30] blx r2 b _02021AA0 _020211C4: ldr r0, [sp, #0x70] ldr r1, _02021EE4 ; =_020999D0 bl StrcmpTag cmp r0, #0 beq _02021200 ldr r0, [r4, #0x88] ldr r1, [r4, #0x38] ldr r2, [r4, #0x3c] bl sub_02022118 ldr r1, [r4, #8] sub r0, r1, r0 add r0, r0, r0, lsr #31 mov r0, r0, asr #1 str r0, [r4, #0x90] b _02021AA0 _02021200: ldr r0, [sp, #0x70] ldr r1, _02021EE8 ; =_020999D4 bl StrcmpTag cmp r0, #0 beq _02021278 ldr r0, [r4, #0xc] mov r1, #1 str r0, [r4, #0x94] str r1, [r4, #0xa0] mov r0, #9 str r0, [r4, #0x5c] strb r1, [r4, #0x9d] ldr r0, [r4, #0x88] ldrb r0, [r0] cmp r0, #0xd cmpne r0, #0xa bne _02021260 ldr r0, [r4, #0x88] add r0, r0, #1 str r0, [r4, #0x88] ldrh r0, [r4, #0x60] tst r0, #0x40 movne r0, #7 strne r0, [r4, #0x5c] _02021260: ldrh r0, [r4, #0x60] tst r0, #0x80 movne r0, #7 strne r0, [r4, #0x5c] mov r0, #1 b _02021AA4 _02021278: ldr r0, [sp, #0x70] ldr r1, _02021EEC ; =_020999D8 bl StrcmpTag cmp r0, #0 beq _0202129C ldr r0, [sp, #0x74] bl StoiTag str r0, [r4, #0x90] b _02021AA0 _0202129C: ldr r0, [sp, #0x70] ldr r1, _02021EF0 ; =_020999E4 bl StrcmpTag cmp r0, #0 beq _020212C8 ldr r0, [sp, #0x74] bl StoiTag ldr r1, [r4, #0x90] add r0, r1, r0 str r0, [r4, #0x90] b _02021AA0 _020212C8: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0xf8] ldr r0, [r0, #0xf4] str r1, [sp, #0x64] str r0, [sp, #0x60] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x60 bl FatalError _020212F0: ldr r0, [sp, #0x70] ldr r1, _02021EF4 ; =_020999F0 bl StrcmpTag cmp r0, #0 beq _02021324 ldr r0, [r4] str r0, [r4, #0x90] ldr r0, [r4, #0x14] ldr r1, [r4, #0x94] add r0, r0, r0, lsr #31 add r0, r1, r0, asr #1 str r0, [r4, #0x94] b _02021AA0 _02021324: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x100] ldr r0, [r0, #0xfc] str r1, [sp, #0x5c] str r0, [sp, #0x58] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x58 bl FatalError _0202134C: ldr r0, [sp, #0x70] ldr r1, _02021EF8 ; =_020999F4 bl StrcmpTag cmp r0, #0 beq _020213A8 ldr r0, [sp, #0x74] bl sub_02020A4C movs r3, r0 beq _020213F4 ldr r0, [r4, #0x54] ldr r1, [r4, #0x90] ldr r2, [r4, #0x94] ldr r5, [r4, #0x40] blx r5 ldr r1, [r4, #0x90] add r0, r1, r0 str r0, [r4, #0x90] ldr r0, [r4, #0x68] str r0, [r4, #0x7c] ldr r0, [r4, #0x80] sub r0, r0, #1 str r0, [r4, #0x80] b _020213F4 _020213A8: ldr r0, [sp, #0x70] ldr r1, _02021EFC ; =_020999F8 bl StrcmpTag cmp r0, #0 beq _020213CC ldr r0, [sp, #0x74] bl StoiTag str r0, [r4, #0x58] b _020213F4 _020213CC: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0xa0] ldr r0, [r0, #0x9c] str r1, [sp, #0x54] str r0, [sp, #0x50] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x50 bl FatalError _020213F4: ldr r0, [r4, #0x58] ldr r1, [r4, #0x34] blx r1 b _02021AA0 _02021404: ldr r1, _02021F00 ; =_020999FC bl StrcmpTag cmp r0, #0 beq _02021434 ldrh r0, [r4, #0x60] tst r0, #1 bne _02021AA0 mov r0, #8 str r0, [r4, #0x5c] mov r0, #1 strb r0, [r4, #0x9d] b _02021AA4 _02021434: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x98] ldr r0, [r0, #0x94] str r1, [sp, #0x4c] str r0, [sp, #0x48] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x48 bl FatalError _0202145C: ldr r0, [sp, #0x70] ldr r1, _02021F04 ; =_02099A00 bl StrcmpTag cmp r0, #0 beq _020214E8 ldr r0, [sp, #0x74] bl StoiTag ldr r2, [r4, #0xa4] mov r1, #0x18 mul r3, r2, r1 add r2, r4, #0xac mov r1, #1 strb r1, [r2, r3] add r3, r2, r3 strh r0, [r3, #2] ldr r0, [sp, #0x70] ldr r2, [r4, #0x94] ldr r1, [r4, #0x90] sub r0, r0, #1 str r1, [r3, #0xc] str r2, [r3, #0x10] ldr r1, [r3, #0xc] stmib r3, {r1, r2} str r0, [r3, #0x14] ldrh r0, [r4, #0x60] tst r0, #0x100 bne _02021AA0 ldrb r0, [r4, #0x98] mov r1, #0x54 strb r0, [r4, #0xa8] strb r1, [r4, #0x98] ldr r0, [r4, #0x54] ldr r2, [r4, #0x30] blx r2 b _02021AA0 _020214E8: ldr r0, [sp, #0x70] ldr r1, _02021F08 ; =_02099A04 bl StrcmpTag cmp r0, #0 beq _02021588 ldr r3, [r4, #0xa4] add r1, r4, #0xac mov r0, #0x18 mla r2, r3, r0, r1 add r0, r3, #1 str r0, [r4, #0xa4] ldr r1, [r4, #0x90] ldr r0, [r4, #0x94] str r1, [r2, #0xc] str r0, [r2, #0x10] ldr r0, [r2, #0xc] sub r0, r0, #1 str r0, [r2, #0xc] ldr r0, [r4, #0x14] ldr r1, [r2, #0x10] sub r0, r0, #1 add r0, r1, r0 str r0, [r2, #0x10] ldrb r0, [r4, #0xa8] cmp r0, #0 beq _0202156C strb r0, [r4, #0x98] mov r0, #0 strb r0, [r4, #0xa8] ldrb r1, [r4, #0x98] ldr r0, [r4, #0x54] ldr r2, [r4, #0x30] blx r2 _0202156C: ldrh r0, [r4, #0x60] tst r0, #0x100 beq _02021AA0 mov r0, #7 str r0, [r4, #0x5c] mov r0, #1 b _02021AA4 _02021588: ldr r0, [sp, #0x70] ldr r1, _02021F0C ; =_02099A08 bl StrcmpTag cmp r0, #0 beq _0202166C ldr r0, [sp, #0x74] bl StoiTag mov r5, r0 ldr r0, [sp, #0x78] bl StoiTag mov r6, r0 ldr r0, _02021F10 ; =_020997E4 mov r1, r5, lsl #1 mov r7, #0 ldrh sb, [r0, r1] mov r5, r7 b _02021654 _020215CC: ldr r1, [r4, #0x38] mov r0, sb mov r8, r5 blx r1 ldr r2, [r4, #0x90] ldr r1, [r4, #8] add r0, r2, r0 cmp r0, r1 ble _02021608 ldr r0, [r4] str r0, [r4, #0x90] ldr r1, [r4, #0x94] ldr r0, [r4, #0x14] add r0, r1, r0 str r0, [r4, #0x94] _02021608: ldrb r0, [r4, #0x98] cmp r0, #0x54 beq _02021630 ldr r0, [r4, #0x54] ldr r1, [r4, #0x90] ldr r2, [r4, #0x94] ldr r8, [r4, #0x40] mov r3, sb blx r8 mov r8, r0 _02021630: ldr r0, [r4, #0x90] add r7, r7, #1 add r0, r0, r8 str r0, [r4, #0x90] ldr r0, [r4, #0x68] str r0, [r4, #0x7c] ldr r0, [r4, #0x80] sub r0, r0, #1 str r0, [r4, #0x80] _02021654: cmp r7, r6 blt _020215CC ldr r0, [r4, #0x90] add r0, r0, #1 str r0, [r4, #0x90] b _02021AA0 _0202166C: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x90] ldr r0, [r0, #0x8c] str r1, [sp, #0x44] str r0, [sp, #0x40] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x40 bl FatalError _02021694: ldr r0, [sp, #0x70] ldr r1, _02021F14 ; =_02099A10 bl StrcmpTag cmp r0, #0 beq _020216F8 ldr r0, [sp, #0x74] bl sub_02020948 mov r3, r0 mvn r0, #0 cmp r3, r0 beq _02021AA0 ldr r0, [r4, #0x54] ldr r1, [r4, #0x90] ldr r2, [r4, #0x94] ldr r5, [r4, #0x44] blx r5 ldr r1, [r4, #0x90] add r0, r1, r0 str r0, [r4, #0x90] ldr r0, [r4, #0x68] str r0, [r4, #0x7c] ldr r0, [r4, #0x80] sub r0, r0, #1 str r0, [r4, #0x80] b _02021AA0 _020216F8: ldr r0, [sp, #0x70] ldr r1, _02021F18 ; =_02099A14 bl StrcmpTag cmp r0, #0 beq _02021728 ldr r0, [sp, #0x74] bl StoiTag ldr r2, [r4, #0x90] mov r1, #6 mla r1, r0, r1, r2 str r1, [r4, #0x90] b _02021AA0 _02021728: ldr r0, [sp, #0x70] ldr r1, _02021F1C ; =_02099A18 bl StrcmpTag cmp r0, #0 beq _02021764 ldr r0, [r4, #0x54] ldr r1, [r4, #0x90] ldr r2, [r4, #0x94] ldr r5, [r4, #0x40] mov r3, #0x2c blx r5 ldr r0, [r4, #0x90] add r0, r0, #6 str r0, [r4, #0x90] b _02021AA0 _02021764: ldr r0, [sp, #0x70] ldr r1, _02021F20 ; =_02099A1C bl StrcmpTag cmp r0, #0 beq _0202179C ldrh r0, [r4, #0x60] tst r0, #1 bne _02021AA0 ldr r0, [sp, #0x74] bl StoiTag mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02017C50 b _02021AA0 _0202179C: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x88] ldr r0, [r0, #0x84] str r1, [sp, #0x3c] str r0, [sp, #0x38] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x38 bl FatalError _020217C4: ldr r0, [sp, #0x70] ldr r1, _02021F24 ; =_02099A24 bl StrcmpTag cmp r0, #0 beq _02021840 ldr r1, [r4, #0xc] mov r0, #0 str r1, [r4, #0x94] str r0, [r4, #0xa0] mov r0, #9 str r0, [r4, #0x5c] mov r0, #1 strb r0, [r4, #0x9d] ldr r0, [r4, #0x88] ldrb r0, [r0] cmp r0, #0xd cmpne r0, #0xa bne _02021828 ldr r0, [r4, #0x88] add r0, r0, #1 str r0, [r4, #0x88] ldrh r0, [r4, #0x60] tst r0, #0x40 movne r0, #7 strne r0, [r4, #0x5c] _02021828: ldrh r0, [r4, #0x60] tst r0, #0x80 movne r0, #7 strne r0, [r4, #0x5c] mov r0, #1 b _02021AA4 _02021840: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x80] ldr r0, [r0, #0x7c] str r1, [sp, #0x34] str r0, [sp, #0x30] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x30 bl FatalError _02021868: ldr r0, [sp, #0x70] ldr r1, _02021F28 ; =_02099A28 bl StrcmpTag cmp r0, #0 beq _020218B0 ldr r0, [r4] str r0, [r4, #0x90] ldr r1, [r4, #0x94] ldr r0, [r4, #0x14] add r0, r1, r0 str r0, [r4, #0x94] ldrh r0, [r4, #0x60] tst r0, #0x40 beq _02021AA0 mov r0, #7 str r0, [r4, #0x5c] mov r0, #1 b _02021AA4 _020218B0: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x78] ldr r0, [r0, #0x74] str r1, [sp, #0x2c] str r0, [sp, #0x28] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x28 bl FatalError _020218D8: ldr r0, [sp, #0x70] ldr r1, _02021F2C ; =_02099A2C bl StrcmpTag cmp r0, #0 beq _02021904 ldr r0, [sp, #0x74] bl StoiTag ldr r1, [r4, #0x90] add r0, r1, r0 str r0, [r4, #0x90] b _02021AA0 _02021904: ldr r0, [sp, #0x70] ldr r1, _02021F30 ; =_02099A30 bl StrcmpTag cmp r0, #0 movne r0, #0x400 strne r0, [r4, #0x80] bne _02021AA0 ldr r0, [sp, #0x70] ldr r1, _02021F34 ; =_02099A34 bl StrcmpTag cmp r0, #0 beq _0202194C ldrb r0, [r4, #0x62] cmp r0, #0 movne r0, #0x400 ldreq r0, [r4, #0x64] str r0, [r4, #0x80] b _02021AA0 _0202194C: ldr r0, [sp, #0x70] ldr r1, _02021F38 ; =_02099A38 bl StrcmpTag cmp r0, #0 beq _02021984 ldrh r0, [r4, #0x60] tst r0, #1 bne _02021AA0 ldr r0, [sp, #0x74] bl StoiTag mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02017C80 b _02021AA0 _02021984: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x70] ldr r0, [r0, #0x6c] str r1, [sp, #0x24] str r0, [sp, #0x20] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x20 bl FatalError _020219AC: ldr r0, [sp, #0x70] ldr r1, _02021F3C ; =_02099A40 bl StrcmpTag cmp r0, #0 beq _020219E8 ldrh r0, [r4, #0x60] tst r0, #1 bne _02021AA0 ldr r0, [sp, #0x74] bl StoiTag str r0, [r4, #0x7c] mov r0, #6 str r0, [r4, #0x5c] mov r0, #1 b _02021AA4 _020219E8: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x68] ldr r0, [r0, #0x64] str r1, [sp, #0x1c] str r0, [sp, #0x18] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x18 bl FatalError _02021A10: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x60] ldr r0, [r0, #0x5c] str r1, [sp, #0x14] str r0, [sp, #0x10] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #0x10 bl FatalError _02021A38: cmp r7, #0x61 blo _02021A48 cmp r7, #0x7a bls _02021AA0 _02021A48: ldr r0, _02021ED4 ; =_020997E4 ldr r2, [sp, #0x70] ldr r1, [r0, #0x58] ldr r0, [r0, #0x54] str r1, [sp, #0xc] str r0, [sp, #8] ldr r3, [r4, #0x84] ldr r1, _02021ED8 ; =_020999B0 add r0, sp, #8 bl FatalError _02021A70: cmp r5, #0x5b beq _02021AA0 ldr r1, _02021ED4 ; =_020997E4 add r0, sp, #0 ldr r2, [r1, #0x48] ldr r1, [r1, #0x44] str r2, [sp, #4] str r1, [sp] ldr r2, [r4, #0x88] ldr r3, [r4, #0x84] ldr r1, _02021F40 ; =_02099A44 bl FatalError _02021AA0: mov r0, #0 _02021AA4: cmp r0, #0 beq _02021BC4 ldr r1, [r4, #0x5c] b _02021C10 _02021AB4: cmp r0, #0 moveq r1, #7 streq r1, [r4, #0x5c] beq _02021C10 cmp r0, #0xd cmpne r0, #0xa bne _02021B0C ldrh r0, [r4, #0x60] tst r0, #0x40 movne r1, #7 strne r1, [r4, #0x5c] bne _02021C10 ldr r0, [r4] str r0, [r4, #0x90] ldr r1, [r4, #0x94] ldr r0, [r4, #0x14] add r0, r1, r0 str r0, [r4, #0x94] ldr r0, [r4, #0x88] add r0, r0, #1 str r0, [r4, #0x88] b _02021BC4 _02021B0C: ldr r7, [r4, #0x88] add r0, r4, #0x88 bl sub_0202065C strh r0, [r4, #0x8c] ldr r0, [r4, #0x10] ldrh r6, [r4, #0x8c] cmp r0, #0 bne _02021B50 ldr r8, [r4, #0x90] cmp r6, #0x7f addeq r5, r8, #6 beq _02021B58 ldr r1, [r4, #0x38] mov r0, r6 blx r1 add r5, r8, r0 b _02021B58 _02021B50: ldr r8, [r4, #0x90] add r5, r8, r0 _02021B58: ldr r0, [r4, #8] cmp r5, r0 ble _02021B84 ldr r0, [r4] str r0, [r4, #0x90] ldr r1, [r4, #0x94] ldr r0, [r4, #0x14] add r0, r1, r0 str r0, [r4, #0x94] str r7, [r4, #0x88] b _02021BC4 _02021B84: ldrb r0, [r4, #0x98] cmp r0, #0x54 beq _02021BA8 ldr r0, [r4, #0x54] ldr r2, [r4, #0x94] ldr r7, [r4, #0x40] mov r1, r8 mov r3, r6 blx r7 _02021BA8: str r5, [r4, #0x90] ldr r0, [r4, #0x68] str r0, [r4, #0x7c] ldr r0, [r4, #0x80] sub r0, r0, #1 str r0, [r4, #0x80] b _02021BFC _02021BC4: ldrh r0, [r4, #0x60] tst r0, #0x400 bne _02021BFC ldr r1, [r4, #0x94] ldr r0, [r4, #0xc] cmp r1, r0 blt _02021BFC mov r0, #0 str r0, [r4, #0xa0] mov r0, #1 mov r1, #9 strb r0, [r4, #0x9d] str r1, [r4, #0x5c] b _02021C10 _02021BFC: ldr r0, [r4, #0x80] cmp r0, #0 bgt _02020EE4 mov r1, #5 str r1, [r4, #0x5c] _02021C10: sub r0, r1, #7 cmp r0, #6 addls pc, pc, r0, lsl #2 b _02021C74 _02021C20: ; jump table b _02021C54 ; case 0 b _02021C48 ; case 1 b _02021C3C ; case 2 b _02021C74 ; case 3 b _02021C74 ; case 4 b _02021C3C ; case 5 b _02021C3C ; case 6 _02021C3C: ldr r0, [r4, #0x6c] str r0, [r4, #0x7c] b _02021C74 _02021C48: ldr r0, [r4, #0x70] str r0, [r4, #0x7c] b _02021C74 _02021C54: ldrh r0, [r4, #0x60] tst r0, #0x4000 bne _02021C6C ldr r0, [r4, #0x54] ldr r1, [r4, #0x24] blx r1 _02021C6C: mov r0, #7 b _02021EC8 _02021C74: ldrh r0, [r4, #0x60] tst r0, #0x4000 bne _02021EC4 ldr r0, [r4, #0x54] ldr r1, [r4, #0x24] blx r1 b _02021EC4 _02021C90: ldrh r0, [r4, #0x60] tst r0, #0x10 beq _02021CCC mov r0, #0xa str r0, [r4, #0x5c] mov r0, #1 strb r0, [r4, #0x9d] ldr r1, [r4, #0x74] cmp r1, #0 ldrge r0, [r4, #0x78] subge r0, r1, r0 strge r0, [r4, #0x7c] ldrlt r0, [r4, #0x6c] strlt r0, [r4, #0x7c] b _02021EC4 _02021CCC: tst r0, #0x200 movne r0, #0x10 strne r0, [r4, #0x5c] moveq r0, #1 streq r0, [r4, #0x5c] b _02021EC4 _02021CE4: ldrh r1, [r4, #0x60] mov r5, #0 tst r1, #8 bne _02021D08 cmp r0, #0xb cmpne r0, #0xc cmpne r0, #0xd movne r5, #1 bne _02021D60 _02021D08: tst r1, #0x20 beq _02021D24 ldr r0, [r4, #0x7c] subs r0, r0, #1 str r0, [r4, #0x7c] movmi r5, #1 b _02021D60 _02021D24: ldrb r0, [r4, #0x9d] cmp r0, #0 beq _02021D50 mov r0, #0 strb r0, [r4, #0x9d] bl sub_02006220 mov r0, #0 bl sub_020063A0 mov r0, #0 bl sub_020063D4 b _02021D60 _02021D50: ldr r0, [r4, #0x54] ldr r1, [r4, #0x1c] blx r1 mov r5, r0 _02021D60: cmp r5, #0 bne _02021DB0 ldrh r0, [r4, #0x60] tst r0, #0x20 bne _02021EC4 ldr r0, [r4, #0x5c] cmp r0, #8 bne _02021D98 ldr r0, [r4, #0x54] ldr r1, [r4, #0x90] ldr r2, [r4, #0x94] ldr r3, [r4, #0x50] blx r3 b _02021EC4 _02021D98: mvn r1, #0 ldr r0, [r4, #0x54] ldr r3, [r4, #0x50] mov r2, r1 blx r3 b _02021EC4 _02021DB0: ldr r2, [r4, #0x88] ldr r0, [r4, #0x54] ldr r1, [r4, #0x4c] ldrb r5, [r2] blx r1 ldr r0, [r4, #0x5c] cmp r0, #0xb moveq r0, #0x10 streq r0, [r4, #0x5c] beq _02021EC4 cmp r0, #0xc moveq r0, #3 streq r0, [r4, #0x5c] beq _02021EC4 cmp r0, #0xd moveq r0, #2 streq r0, [r4, #0x5c] beq _02021EC4 cmp r5, #0 cmpne r0, #0xa bne _02021E20 ldrh r0, [r4, #0x60] tst r0, #0x200 movne r0, #0x10 strne r0, [r4, #0x5c] moveq r0, #1 streq r0, [r4, #0x5c] b _02021EC4 _02021E20: cmp r0, #9 bne _02021E84 ldr r0, [r4] str r0, [r4, #0x90] ldr r1, [r4, #0x94] ldr r0, [r4, #0xc] cmp r1, r0 blt _02021E78 ldr r0, [r4, #4] str r0, [r4, #0x94] ldr r0, [r4, #0xa0] cmp r0, #0 movne r0, #3 strne r0, [r4, #0x5c] bne _02021EC4 mov r0, #0xf str r0, [r4, #0x5c] ldr r0, [r4, #0xc] add r0, r0, r0, lsr #31 mov r0, r0, asr #1 str r0, [r4, #0x7c] b _02021EC4 _02021E78: mov r0, #4 str r0, [r4, #0x5c] b _02021EC4 _02021E84: mov r0, #4 str r0, [r4, #0x5c] b _02021EC4 _02021E90: mov r0, #0x10 str r0, [r4, #0x5c] b _02021EC4 _02021E9C: ldr r0, [r4, #0x7c] sub r0, r0, #1 str r0, [r4, #0x7c] ldr r0, [r4, #0x54] ldr r1, [r4, #0x2c] blx r1 ldr r0, [r4, #0x7c] cmp r0, #0 movle r0, #4 strle r0, [r4, #0x5c] _02021EC4: ldr r0, [r4, #0x5c] _02021EC8: add sp, sp, #0x84 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02021ED0: .word _020999AC _02021ED4: .word _020997E4 _02021ED8: .word _020999B0 _02021EDC: .word _020999C8 _02021EE0: .word _020999CC _02021EE4: .word _020999D0 _02021EE8: .word _020999D4 _02021EEC: .word _020999D8 _02021EF0: .word _020999E4 _02021EF4: .word _020999F0 _02021EF8: .word _020999F4 _02021EFC: .word _020999F8 _02021F00: .word _020999FC _02021F04: .word _02099A00 _02021F08: .word _02099A04 _02021F0C: .word _02099A08 _02021F10: .word _020997E4 _02021F14: .word _02099A10 _02021F18: .word _02099A14 _02021F1C: .word _02099A18 _02021F20: .word _02099A1C _02021F24: .word _02099A24 _02021F28: .word _02099A28 _02021F2C: .word _02099A2C _02021F30: .word _02099A30 _02021F34: .word _02099A34 _02021F38: .word _02099A38 _02021F3C: .word _02099A40 _02021F40: .word _02099A44 arm_func_end AnalyzeText arm_func_start sub_02021F44 sub_02021F44: ; 0x02021F44 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r1 mov r0, #0 ldr r6, _02022020 ; =_02099A24 ldr r5, _02022024 ; =_020999D4 ldr r4, _02022028 ; =_02099A00 str r0, [sb] add r7, sp, #0x20 _02021F68: mov r0, r7 bl sub_0202065C cmp r0, #0 beq _02022010 cmp r0, #0x5b bne _02021F68 ldr r8, [sp, #0x20] add r1, r8, #1 str r1, [sp, #0x20] _02021F8C: mov r0, r1 add r1, r1, #1 str r1, [sp, #0x20] ldrb r0, [r0] cmp r0, #0x5d bne _02021F8C mov r0, r8 mov r1, r6 bl StrcmpTag cmp r0, #0 bne _02021FCC mov r0, r8 mov r1, r5 bl StrcmpTag cmp r0, #0 beq _02021FF0 _02021FCC: ldr r0, [sp, #0x20] ldrb r0, [r0] cmp r0, #0xd cmpne r0, #0xa ldreq r0, [sp, #0x20] addeq r0, r0, #1 streq r0, [sp, #0x20] ldr r0, [sp, #0x20] b _02022014 _02021FF0: mov r0, r8 mov r1, r4 bl StrcmpTag cmp r0, #0 ldrne r0, [sb] addne r0, r0, #1 strne r0, [sb] b _02021F68 _02022010: mov r0, #0 _02022014: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02022020: .word _02099A24 _02022024: .word _020999D4 _02022028: .word _02099A00 arm_func_end sub_02021F44 arm_func_start sub_0202202C sub_0202202C: ; 0x0202202C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, [r1, #0x14] str r0, [sp] _02022040: add r0, sp, #0 ldr r4, [sp] bl sub_0202065C cmp r0, #0 beq _020220F4 cmp r0, #0x5b bne _020220DC ldr r4, [sp] add r1, r4, #1 str r1, [sp] _02022068: mov r0, r1 add r1, r1, #1 str r1, [sp] ldrb r0, [r0] cmp r0, #0x5d bne _02022068 ldr r1, _02022110 ; =_02099A04 mov r0, r4 bl StrcmpTag cmp r0, #0 bne _020220F4 ldr r1, _02022114 ; =_02099A00 mov r0, r4 bl StrcmpTag cmp r0, #0 bne _02022040 ldr r2, [sp, #0x10] mov r0, #0x5b add r1, r2, #1 str r1, [sp, #0x10] strb r0, [r2] _020220BC: ldr r1, [sp, #0x10] add r0, r1, #1 str r0, [sp, #0x10] ldrb r0, [r4], #1 strb r0, [r1] cmp r0, #0x5d bne _020220BC b _02022040 _020220DC: add r0, sp, #0x10 add r1, sp, #0 mov r2, #0 str r4, [sp] bl sub_020206FC b _02022040 _020220F4: ldr r0, [sp, #0x10] mov r1, #0 strb r1, [r0] add sp, sp, #4 ldmia sp!, {r3, r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02022110: .word _02099A04 _02022114: .word _02099A00 arm_func_end sub_0202202C arm_func_start sub_02022118 sub_02022118: ; 0x02022118 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r1 mov r7, r2 mov r4, #0 _0202212C: add r0, sp, #0x18 bl sub_0202065C cmp r0, #0 cmpne r0, #0xd cmpne r0, #0xa cmpne r0, #0x1b beq _020223B4 cmp r0, #0x5b bne _020223A8 ldr r6, [sp, #0x18] ldr r1, _020223C4 ; =_02099A10 add r2, r6, #1 mov r0, r6 str r2, [sp, #0x18] mov r5, #0 bl StrcmpTag cmp r0, #0 bne _020221D8 ldr r1, _020223C8 ; =_020999F4 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020221D8 ldr r1, _020223CC ; =_02099A2C mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020221D8 ldr r1, _020223D0 ; =_02099A14 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020221D8 ldr r1, _020223D4 ; =_02099A18 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020221D8 ldr r1, _020223D8 ; =_02099A08 mov r0, r6 bl StrcmpTag cmp r0, #0 beq _02022324 _020221D8: ldr r1, [sp, #0x18] _020221DC: mov r0, r1 add r1, r1, #1 str r1, [sp, #0x18] ldrb r0, [r0] cmp r0, #0x3a bne _02022214 mov r5, r1 _020221F8: mov r0, r1 add r1, r1, #1 str r1, [sp, #0x18] ldrb r0, [r0] cmp r0, #0x5d bne _020221F8 b _0202221C _02022214: cmp r0, #0x5d bne _020221DC _0202221C: ldr r1, _020223C4 ; =_02099A10 mov r0, r6 bl StrcmpTag cmp r0, #0 beq _02022250 mov r0, r5 bl sub_02020948 mvn r1, #0 cmp r0, r1 beq _0202212C blx r7 add r4, r4, r0 b _0202212C _02022250: ldr r1, _020223C8 ; =_020999F4 mov r0, r6 bl StrcmpTag cmp r0, #0 beq _02022280 mov r0, r5 bl sub_02020A4C cmp r0, #0 beq _0202212C blx r8 add r4, r4, r0 b _0202212C _02022280: ldr r1, _020223CC ; =_02099A2C mov r0, r6 bl StrcmpTag cmp r0, #0 beq _020222A4 mov r0, r5 bl StoiTag add r4, r4, r0 b _0202212C _020222A4: ldr r1, _020223D0 ; =_02099A14 mov r0, r6 bl StrcmpTag cmp r0, #0 beq _020222CC mov r0, r5 bl StoiTag mov r1, #6 mla r4, r0, r1, r4 b _0202212C _020222CC: ldr r1, _020223D4 ; =_02099A18 mov r0, r6 bl StrcmpTag cmp r0, #0 addne r4, r4, #6 bne _0202212C mov r6, r5 _020222E8: ldrb r0, [r6], #1 cmp r0, #0x3a bne _020222E8 mov r0, r5 bl StoiTag mov r5, r0 mov r0, r6 bl StoiTag ldr r1, _020223DC ; =_020997E4 mov r2, r5, lsl #1 mov r5, r0 ldrh r0, [r1, r2] blx r8 mla r4, r5, r0, r4 b _0202212C _02022324: ldr r1, [sp, #0x18] _02022328: mov r0, r1 add r1, r1, #1 str r1, [sp, #0x18] ldrb r0, [r0] cmp r0, #0x5d bne _02022328 ldrb r0, [r6] cmp r0, #0x41 blo _0202212C cmp r0, #0x5a bhi _0202212C ldr r1, _020223E0 ; =_02099A24 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020223B4 ldr r1, _020223E4 ; =_020999D4 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020223B4 ldr r1, _020223E8 ; =_02099A28 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020223B4 ldr r1, _020223EC ; =_020999F0 mov r0, r6 bl StrcmpTag cmp r0, #0 bne _020223B4 b _0202212C _020223A8: blx r8 add r4, r4, r0 b _0202212C _020223B4: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, lr} add sp, sp, #0x10 bx lr .align 2, 0 _020223C4: .word _02099A10 _020223C8: .word _020999F4 _020223CC: .word _02099A2C _020223D0: .word _02099A14 _020223D4: .word _02099A18 _020223D8: .word _02099A08 _020223DC: .word _020997E4 _020223E0: .word _02099A24 _020223E4: .word _020999D4 _020223E8: .word _02099A28 _020223EC: .word _020999F0 arm_func_end sub_02022118 arm_func_start PreprocessString PreprocessString: ; 0x020223F0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c8 sub sp, sp, #0x400 ldr sl, [sp, #0x5f0] mov r0, #1 str r0, [sp, #0x10] mov r0, r0 str r0, [sp, #0xc] and r0, r3, #0x40 mov sb, r1 str r0, [sp, #8] and r0, r3, #0x100 ldr r8, [sp, #0x600] add r4, sl, sb and fp, r3, #0x2000 str r0, [sp, #4] _02022434: ldr r1, [sp, #0x5f0] cmp r1, r4 moveq r1, #0 moveq r0, sb streqb r1, [r4, #-1] beq _0202357C ldr r0, [sp, #0x5f8] ldrb r5, [r0] cmp r5, #0 moveq r0, #0 streqb r0, [r1] ldreq r0, [sp, #0x5f0] subeq r0, r0, sl beq _0202357C cmp r5, #0xd cmpne r5, #0xa bne _02022490 ldr r0, [sp, #8] cmp r0, #0 bne _02023574 mov r0, #1 str r0, [sp, #0xc] b _02022554 _02022490: ldr r0, [sp, #0x10] cmp r0, #0 beq _0202251C mov r0, #0 str r0, [sp, #0x10] str r0, [sp, #0xc] cmp fp, #0 beq _02022554 ldr r1, [r8, #0x4c] add r0, sp, #0x1c8 bl sub_02023B68 movs r6, r0 beq _02022554 ldr r1, _0202346C ; =_02099A5C add r0, sp, #0x5f0 mov r2, r4 bl sub_02020890 cmp r0, #0 moveq r0, sb beq _0202357C add r0, sp, #0x5f0 mov r1, r6 mov r2, r4 bl sub_02020890 cmp r0, #0 moveq r0, sb beq _0202357C ldr r1, _02023470 ; =_02099A64 add r0, sp, #0x5f0 mov r2, r4 bl sub_02020890 cmp r0, #0 bne _02022554 mov r0, sb b _0202357C _0202251C: ldr r0, [sp, #0xc] cmp r0, #0 beq _02022554 mov r0, #0 cmp fp, #0 str r0, [sp, #0xc] beq _02022554 ldr r1, _02023474 ; =_02099A70 add r0, sp, #0x5f0 mov r2, r4 bl sub_02020890 cmp r0, #0 moveq r0, sb beq _0202357C _02022554: cmp r5, #0x5b bne _02023454 ldr r5, [sp, #0x5f8] mov r7, #0 add r0, r5, #1 str r0, [sp, #0x5f8] ldrb r2, [r5, #1] cmp r2, #0x61 blo _0202332C cmp r2, #0x7a bhi _0202332C str r0, [sp, #0xb4] mov r6, #1 add r1, sp, #0xb4 _0202258C: mov r2, r0 add r0, r0, #1 str r0, [sp, #0x5f8] ldrb r2, [r2] cmp r2, #0x5d beq _020225B4 cmp r2, #0x3a streq r0, [r1, r6, lsl #2] addeq r6, r6, #1 b _0202258C _020225B4: ldr r0, [sp, #0xb4] ldrb r1, [r0] sub r1, r1, #0x61 cmp r1, #0x16 addls pc, pc, r1, lsl #2 b _020232C8 _020225CC: ; jump table b _02022628 ; case 0 b _020226BC ; case 1 b _0202274C ; case 2 b _02022838 ; case 3 b _02022908 ; case 4 b _02022994 ; case 5 b _020229F0 ; case 6 b _02022AD8 ; case 7 b _02022B28 ; case 8 b _020232C8 ; case 9 b _02022B8C ; case 10 b _020232C8 ; case 11 b _02022C64 ; case 12 b _02022BE4 ; case 13 b _020232C8 ; case 14 b _02022D5C ; case 15 b _020232C8 ; case 16 b _02022E30 ; case 17 b _02022EC0 ; case 18 b _02022FA0 ; case 19 b _020232C8 ; case 20 b _0202313C ; case 21 b _0202323C ; case 22 _02022628: ldr r1, _02023478 ; =_02099A74 bl StrcmpTag cmp r0, #0 beq _02022658 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_0202494C mov r7, r0 b _020232F0 _02022658: ldr r0, [sp, #0xb4] ldr r1, _0202347C ; =_02099A7C bl StrcmpTag cmp r0, #0 beq _02022694 ldr r0, [sp, #0xb8] bl StoiTag add r2, r8, r0, lsl #2 ldr r1, [r2, #0x10] ldr r2, [r2, #0x24] add r0, sp, #0x1c8 mov r3, #0 bl sub_020241DC mov r7, r0 b _020232F0 _02022694: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x50] ldr ip, [r1, #0x4c] str r2, [sp, #0xb0] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0xac mov r2, r5 str ip, [sp, #0xac] bl FatalError _020226BC: ldr r0, [sp, #0xb4] ldr r1, _02023488 ; =_02099A84 bl StrcmpTag cmp r0, #0 beq _020226F0 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x24] add r0, sp, #0x1c8 bl sub_020238F0 mov r7, r0 b _020232F0 _020226F0: ldr r0, [sp, #0xb4] ldr r1, _0202348C ; =_02099A8C bl StrcmpTag cmp r0, #0 beq _02022724 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x24] add r0, sp, #0x1c8 bl sub_02023900 mov r7, r0 b _020232F0 _02022724: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0xb8] ldr ip, [r1, #0xb4] str r2, [sp, #0xa8] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0xa4 mov r2, r5 str ip, [sp, #0xa4] bl FatalError _0202274C: ldr r0, [sp, #0xb4] ldr r1, _02023490 ; =_02099A98 bl StrcmpTag cmp r0, #0 beq _02022774 ldr r1, [sp, #0xb8] add r0, sp, #0x1c8 bl sub_020240B0 mov r7, r0 b _020232F0 _02022774: ldr r0, [sp, #0xb4] ldr r1, _02023494 ; =_02099AA0 bl StrcmpTag cmp r0, #0 beq _020227A8 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024C18 mov r7, r0 b _020232F0 _020227A8: ldr r0, [sp, #0xb4] ldr r1, _02023498 ; =_02099AA4 bl StrcmpTag cmp r0, #0 beq _020227D0 ldr r1, [sp, #0xb8] add r0, sp, #0x1c8 bl sub_02024114 mov r7, r0 b _020232F0 _020227D0: ldr r0, [sp, #0xb4] ldr r1, _0202349C ; =_02099AAC bl StrcmpTag cmp r0, #0 beq _020227F8 ldr r1, [sp, #0xb8] add r0, sp, #0x1c8 bl sub_02024178 mov r7, r0 b _020232F0 _020227F8: ldr r0, [sp, #0xb4] ldr r1, _020234A0 ; =_02099AB8 bl StrcmpTag cmp r0, #0 ldrne r7, _020234A4 ; =_02099AC0 bne _020232F0 ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0xc8] ldr ip, [r1, #0xc4] str r2, [sp, #0xa0] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x9c mov r2, r5 str ip, [sp, #0x9c] bl FatalError _02022838: ldr r0, [sp, #0xb4] ldr r1, _020234A8 ; =_02099AC8 bl StrcmpTag cmp r0, #0 beq _02022870 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r2, [r0, #0x24] ldr r1, _020234AC ; =_02099AD0 add r0, sp, #0x1c8 bl SprintfStatic__02023590 add r7, sp, #0x1c8 b _020232F0 _02022870: ldr r0, [sp, #0xb4] ldr r1, _020234B0 ; =_02099AD4 bl StrcmpTag cmp r0, #0 beq _020228A8 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r2, [r0, #0x24] ldr r1, _020234B4 ; =_02099AE0 add r0, sp, #0x1c8 bl SprintfStatic__02023590 add r7, sp, #0x1c8 b _020232F0 _020228A8: ldr r0, [sp, #0xb4] ldr r1, _020234B8 ; =_02099AF0 bl StrcmpTag cmp r0, #0 beq _020228E0 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] ldr r2, [r0, #0x24] add r0, sp, #0x1c8 bl sub_020245D0 mov r7, r0 b _020232F0 _020228E0: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0xe0] ldr ip, [r1, #0xdc] str r2, [sp, #0x98] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x94 mov r2, r5 str ip, [sp, #0x94] bl FatalError _02022908: ldr r0, [sp, #0xb4] ldr r1, _020234BC ; =_02099AF8 bl StrcmpTag cmp r0, #0 beq _02022938 ldr r1, [r8, #0x34] add r0, sp, #0x1c8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl sub_02024E34 mov r7, r0 b _020232F0 _02022938: ldr r0, [sp, #0xb4] ldr r1, _020234C0 ; =_02099B04 bl StrcmpTag cmp r0, #0 beq _0202296C ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x24] add r0, sp, #0x1c8 bl sub_02023910 mov r7, r0 b _020232F0 _0202296C: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x108] ldr ip, [r1, #0x104] str r2, [sp, #0x90] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x8c mov r2, r5 str ip, [sp, #0x8c] bl FatalError _02022994: ldr r0, [sp, #0xb4] ldr r1, _020234C4 ; =_02099B10 bl StrcmpTag cmp r0, #0 beq _020229C8 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x24] add r0, sp, #0x1c8 bl sub_02024598 mov r7, r0 b _020232F0 _020229C8: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x20] ldr ip, [r1, #0x1c] str r2, [sp, #0x88] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x84 mov r2, r5 str ip, [sp, #0x84] bl FatalError _020229F0: ldr r0, [sp, #0xb4] ldr r1, _020234C8 ; =_02099B18 bl StrcmpTag cmp r0, #0 beq _02022A14 add r0, sp, #0x1c8 bl GetBagNameString mov r7, r0 b _020232F0 _02022A14: ldr r0, [sp, #0xb4] ldr r1, _020234CC ; =_02099B24 bl StrcmpTag cmp r0, #0 beq _02022A48 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024D7C mov r7, r0 b _020232F0 _02022A48: ldr r0, [sp, #0xb4] ldr r1, _020234D0 ; =_02099B2C bl StrcmpTag cmp r0, #0 beq _02022A7C ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x24] add r0, sp, #0x1c8 bl sub_020238D0 mov r7, r0 b _020232F0 _02022A7C: ldr r0, [sp, #0xb4] ldr r1, _020234D4 ; =_02099B34 bl StrcmpTag cmp r0, #0 beq _02022AB0 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x24] add r0, sp, #0x1c8 bl sub_020238E0 mov r7, r0 b _020232F0 _02022AB0: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x18] ldr ip, [r1, #0x14] str r2, [sp, #0x80] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x7c mov r2, r5 str ip, [sp, #0x7c] bl FatalError _02022AD8: ldr r0, [sp, #0xb4] ldr r1, _020234D8 ; =_02099B40 bl StrcmpTag cmp r0, #0 beq _02022B00 add r0, sp, #0x1c8 mov r1, #0x3c bl sub_02023DC0 mov r7, r0 b _020232F0 _02022B00: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x10] ldr ip, [r1, #0xc] str r2, [sp, #0x78] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x74 mov r2, r5 str ip, [sp, #0x74] bl FatalError _02022B28: ldr r0, [sp, #0xb4] ldr r1, _020234DC ; =_02099B48 bl StrcmpTag cmp r0, #0 beq _02022B64 ldr r0, [sp, #0xb8] bl StoiTag add r3, r8, r0, lsl #2 ldr r1, [r3, #0x10] ldr r2, [r3, #0x24] ldr r3, [r3, #0x28] add r0, sp, #0x1c8 bl sub_020241DC mov r7, r0 b _020232F0 _02022B64: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x28] ldr ip, [r1, #0x24] str r2, [sp, #0x70] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x6c mov r2, r5 str ip, [sp, #0x6c] bl FatalError _02022B8C: ldr r0, [sp, #0xb4] ldr r1, _020234E0 ; =_02099B50 bl StrcmpTag cmp r0, #0 beq _02022BBC ldr r0, [sp, #0xb8] bl StoiTag ldr r1, [r8, r0, lsl #2] add r0, sp, #0x1c8 bl sub_02023920 mov r7, r0 b _020232F0 _02022BBC: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x40] ldr ip, [r1, #0x3c] str r2, [sp, #0x68] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x64 mov r2, r5 str ip, [sp, #0x64] bl FatalError _02022BE4: ldr r0, [sp, #0xb4] ldr r1, _020234E4 ; =_02099B58 bl StrcmpTag cmp r0, #0 beq _02022C14 ldr r0, [sp, #0xb8] bl StoiTag ldr r1, [r8, r0, lsl #2] add r0, sp, #0x1c8 bl sub_02023B68 mov r7, r0 b _020232F0 _02022C14: ldr r0, [sp, #0xb4] ldr r1, _020234E8 ; =_02099B60 bl StrcmpTag cmp r0, #0 beq _02022C3C add r0, sp, #0x1c8 mov r1, #2 bl sub_02024C6C mov r7, r0 b _020232F0 _02022C3C: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0xa8] ldr ip, [r1, #0xa4] str r2, [sp, #0x60] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x5c mov r2, r5 str ip, [sp, #0x5c] bl FatalError _02022C64: ldr r0, [sp, #0xb4] ldr r1, _020234EC ; =_02099B6C bl StrcmpTag cmp r0, #0 beq _02022C9C ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] ldr r2, [r0, #0x24] add r0, sp, #0x1c8 bl sub_020242F8 mov r7, r0 b _020232F0 _02022C9C: ldr r0, [sp, #0xb4] ldr r1, _020234F0 ; =_02099B74 bl StrcmpTag cmp r0, #0 beq _02022CD4 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r2, [r0, #0x24] ldr r1, _020234F4 ; =_02099B7C add r0, sp, #0x1c8 bl SprintfStatic__02023590 add r7, sp, #0x1c8 b _020232F0 _02022CD4: ldr r0, [sp, #0xb4] ldr r1, _020234F8 ; =_02099B8C bl StrcmpTag cmp r0, #0 beq _02022D04 ldr r1, [r8, #0x34] add r0, sp, #0x1c8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl SetStringAccuracy mov r7, r0 b _020232F0 _02022D04: ldr r0, [sp, #0xb4] ldr r1, _020234FC ; =_02099B9C bl StrcmpTag cmp r0, #0 beq _02022D34 ldr r1, [r8, #0x34] add r0, sp, #0x1c8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl SetStringPower mov r7, r0 b _020232F0 _02022D34: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0xc0] ldr ip, [r1, #0xbc] str r2, [sp, #0x58] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x54 mov r2, r5 str ip, [sp, #0x54] bl FatalError _02022D5C: ldr r0, [sp, #0xb4] ldr r1, _02023500 ; =_02099BA8 bl StrcmpTag cmp r0, #0 beq _02022D84 add r0, sp, #0x1c8 mov r1, #0x3d bl sub_02023DC0 mov r7, r0 b _020232F0 _02022D84: ldr r0, [sp, #0xb4] ldr r1, _02023504 ; =_02099BB0 bl StrcmpTag cmp r0, #0 beq _02022DAC add r0, sp, #0x1c8 mov r1, #0x3e bl sub_02023DC0 mov r7, r0 b _020232F0 _02022DAC: ldr r0, [sp, #0xb4] ldr r1, _02023508 ; =_02099BBC bl StrcmpTag cmp r0, #0 beq _02022DD4 add r0, sp, #0x1c8 mov r1, #0x3f bl sub_02023DC0 mov r7, r0 b _020232F0 _02022DD4: ldr r0, [sp, #0xb4] ldr r1, _0202350C ; =_02099BC4 bl StrcmpTag cmp r0, #0 beq _02022E08 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024A68 mov r7, r0 b _020232F0 _02022E08: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0xf0] ldr ip, [r1, #0xec] str r2, [sp, #0x50] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x4c mov r2, r5 str ip, [sp, #0x4c] bl FatalError _02022E30: ldr r0, [sp, #0xb4] ldr r1, _02023510 ; =_02099BCC bl StrcmpTag cmp r0, #0 beq _02022E64 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024AF4 mov r7, r0 b _020232F0 _02022E64: ldr r0, [sp, #0xb4] ldr r1, _02023514 ; =_02099BD4 bl StrcmpTag cmp r0, #0 beq _02022E98 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024B48 mov r7, r0 b _020232F0 _02022E98: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #8] ldr ip, [r1, #4] str r2, [sp, #0x48] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x44 mov r2, r5 str ip, [sp, #0x44] bl FatalError _02022EC0: ldr r0, [sp, #0xb4] ldr r1, _02023518 ; =_02099BDC bl StrcmpTag cmp r0, #0 beq _02022EF8 ldr r0, [sp, #0xb8] bl StoiTag mov r2, #0 orr r1, r0, #0x50000 add r0, sp, #0x1c8 mov r3, r2 bl sub_020241DC mov r7, r0 b _020232F0 _02022EF8: ldr r0, [sp, #0xb4] ldr r1, _0202351C ; =_02099BE4 bl StrcmpTag cmp r0, #0 ldrne r7, [r8, #0x38] bne _020232F0 ldr r0, [sp, #0xb4] ldr r1, _02023520 ; =_02099BEC bl StrcmpTag cmp r0, #0 beq _02022F40 cmp r6, #2 bne _020232F0 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r7, [r0, #0x38] b _020232F0 _02022F40: ldr r0, [sp, #0xb4] ldr r1, _02023524 ; =_02099BF4 bl StrcmpTag cmp r0, #0 beq _02022F78 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r2, [r0, #0x24] ldr r1, _02023528 ; =_02099BFC add r0, sp, #0x1c8 bl SprintfStatic__02023590 add r7, sp, #0x1c8 b _020232F0 _02022F78: ldr r1, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r2, [r1, #0x30] ldr ip, [r1, #0x2c] str r2, [sp, #0x40] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x3c mov r2, r5 str ip, [sp, #0x3c] bl FatalError _02022FA0: ldr r0, [sp, #0xb4] ldr r1, _0202352C ; =_02099C0C bl StrcmpTag cmp r0, #0 beq _02022FD4 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024B94 mov r7, r0 b _020232F0 _02022FD4: ldr r0, [sp, #0xb4] ldr r1, _02023530 ; =_02099C14 bl StrcmpTag cmp r0, #0 beq _02023008 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_020244F4 mov r7, r0 b _020232F0 _02023008: ldr r0, [sp, #0xb4] ldr r1, _02023534 ; =_02099C1C bl StrcmpTag cmp r0, #0 beq _0202303C ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024D48 mov r7, r0 b _020232F0 _0202303C: ldr r0, [sp, #0xb4] ldr r1, _02023538 ; =_02099C24 bl StrcmpTag cmp r0, #0 beq _02023094 cmp r6, #1 bne _0202306C add r0, sp, #0x1c8 mov r1, #0 bl sub_02024C6C mov r7, r0 b _020232F0 _0202306C: cmp r6, #2 bne _020232F0 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024C6C mov r7, r0 b _020232F0 _02023094: ldr r0, [sp, #0xb4] ldr r1, _0202353C ; =_02099C2C bl StrcmpTag cmp r0, #0 beq _02023114 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r5, [r0, #0x24] mov r1, #0xe10 mov r0, r5 bl __udivsi3 mov r6, r0 mov r0, r5 mov r1, #0xe10 bl __udivsi3 mov r5, r1 mov r0, r5 mov r1, #0x3c bl __udivsi3 mov r7, r0 mov r0, r5 mov r1, #0x3c bl __udivsi3 str r1, [sp] ldr r1, _02023540 ; =_02099C34 mov r2, r6 mov r3, r7 add r0, sp, #0x1c8 bl SprintfStatic__02023590 add r7, sp, #0x1c8 b _020232F0 _02023114: ldr r0, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r1, [r0, #0xb0] ldr r2, [r0, #0xac] str r1, [sp, #0x38] str r2, [sp, #0x34] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x34 mov r2, r5 bl FatalError _0202313C: ldr r0, [sp, #0xb4] ldr r1, _02023544 ; =_02099C44 bl StrcmpTag cmp r0, #0 beq _02023180 ldr r0, [sp, #0xb8] bl StoiTag mov r5, r0 ldr r0, [sp, #0xbc] bl StoiTag add r1, r8, r5, lsl #2 mov r2, r0 ldr r1, [r1, #0x24] add r0, sp, #0x1c8 bl sub_0202372C mov r7, r0 b _020232F0 _02023180: ldr r0, [sp, #0xb4] ldr r1, _02023548 ; =_02099C4C bl StrcmpTag cmp r0, #0 beq _020231D8 ldr r0, [sp, #0xb8] bl StoiTag mov r5, r0 ldr r0, [sp, #0xbc] bl StoiTag add r1, r8, r5, lsl #2 ldr r3, [r1, #0x24] mov r2, r0 ldr r1, _0202354C ; =_02099C54 add r0, sp, #0xc8 bl SprintfStatic__02023590 ldr r1, _02023550 ; =_02099C5C add r0, sp, #0x1c8 add r2, sp, #0xc8 bl SprintfStatic__02023590 add r7, sp, #0x1c8 b _020232F0 _020231D8: ldr r0, [sp, #0xb4] ldr r1, _02023554 ; =_02099C68 bl StrcmpTag cmp r0, #0 beq _02023214 ldr r0, [sp, #0xb8] bl StoiTag add r2, r8, r0, lsl #2 ldr r1, [r2, #0x10] ldr r2, [r2, #0x24] add r0, sp, #0x1c8 mov r3, #0 bl sub_020241DC mov r7, r0 b _020232F0 _02023214: ldr r0, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r1, [r0, #0xd0] ldr r2, [r0, #0xcc] str r1, [sp, #0x30] str r2, [sp, #0x2c] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x2c mov r2, r5 bl FatalError _0202323C: ldr r0, [sp, #0xb4] ldr r1, _02023558 ; =_02099C70 bl StrcmpTag cmp r0, #0 beq _0202326C ldr r0, [sp, #0xb8] bl StoiTag ldr r1, [r8, r0, lsl #2] add r0, sp, #0x1c8 bl sub_02024AA8 mov r7, r0 b _020232F0 _0202326C: ldr r0, [sp, #0xb4] ldr r1, _0202355C ; =_02099C78 bl StrcmpTag cmp r0, #0 beq _020232A0 ldr r0, [sp, #0xb8] bl StoiTag add r0, r8, r0, lsl #2 ldr r1, [r0, #0x10] add r0, sp, #0x1c8 bl sub_02024BD8 mov r7, r0 b _020232F0 _020232A0: ldr r0, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r1, [r0, #0x38] ldr r2, [r0, #0x34] str r1, [sp, #0x28] str r2, [sp, #0x24] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x24 mov r2, r5 bl FatalError _020232C8: ldr r0, _02023480 ; =_020997E4 ldr r3, [sp, #0xb4] ldr r1, [r0, #0xd8] ldr r2, [r0, #0xd4] str r1, [sp, #0x20] str r2, [sp, #0x1c] ldr r1, _02023484 ; =_020999B0 add r0, sp, #0x1c mov r2, r5 bl FatalError _020232F0: cmp r7, #0 beq _02022434 _020232F8: ldr r2, [sp, #0x5f0] cmp r2, r4 moveq r1, #0 moveq r0, sb streqb r1, [r4, #-1] beq _0202357C ldrb r1, [r7], #1 cmp r1, #0 beq _02022434 add r0, r2, #1 str r0, [sp, #0x5f0] strb r1, [r2] b _020232F8 _0202332C: cmp r2, #0x41 blo _0202342C cmp r2, #0x5a bhi _0202342C ldr r1, _02023560 ; =_02099A24 add r0, r5, #1 bl StrcmpTag cmp r0, #0 bne _02023364 ldr r1, _02023564 ; =_020999D4 add r0, r5, #1 bl StrcmpTag cmp r0, #0 beq _02023390 _02023364: ldr r0, [sp, #0x5f8] ldrb r0, [r0] cmp r0, #0xd cmpne r0, #0xa ldreq r0, [sp, #0x5f8] addeq r0, r0, #1 streq r0, [sp, #0x5f8] mov r0, #1 str r0, [sp, #0x10] str r0, [sp, #0xc] b _020233D8 _02023390: ldr r1, _02023568 ; =_02099A28 add r0, r5, #1 bl StrcmpTag cmp r0, #0 beq _020233BC ldr r0, [sp, #8] cmp r0, #0 bne _02023574 mov r0, #1 str r0, [sp, #0xc] b _020233D8 _020233BC: ldr r1, _0202356C ; =_02099A04 add r0, r5, #1 bl StrcmpTag cmp r0, #0 ldrne r0, [sp, #4] cmpne r0, #0 bne _02023574 _020233D8: ldr r2, [sp, #0x5f0] mov r0, #0x5b add r1, r2, #1 str r1, [sp, #0x5f0] strb r0, [r2] _020233EC: ldr r3, [sp, #0x5f0] cmp r3, r4 moveq r1, #0 moveq r0, sb streqb r1, [r4, #-1] beq _0202357C ldr r2, [sp, #0x5f8] add r0, r3, #1 add r1, r2, #1 str r1, [sp, #0x5f8] ldrb r1, [r2] str r0, [sp, #0x5f0] strb r1, [r3] cmp r1, #0x5d beq _02022434 b _020233EC _0202342C: ldr r1, _02023480 ; =_020997E4 add r0, sp, #0x14 ldr r3, [r1, #0x110] ldr r1, [r1, #0x10c] str r3, [sp, #0x18] str r1, [sp, #0x14] ldr r1, _02023570 ; =_02099C84 mov r3, r2 str r5, [sp] bl FatalError _02023454: add r1, sp, #0x500 add r0, sp, #0x5f0 add r1, r1, #0xf8 mov r2, r4 bl sub_020206FC b _02022434 .align 2, 0 _0202346C: .word _02099A5C _02023470: .word _02099A64 _02023474: .word _02099A70 _02023478: .word _02099A74 _0202347C: .word _02099A7C _02023480: .word _020997E4 _02023484: .word _020999B0 _02023488: .word _02099A84 _0202348C: .word _02099A8C _02023490: .word _02099A98 _02023494: .word _02099AA0 _02023498: .word _02099AA4 _0202349C: .word _02099AAC _020234A0: .word _02099AB8 _020234A4: .word _02099AC0 _020234A8: .word _02099AC8 _020234AC: .word _02099AD0 _020234B0: .word _02099AD4 _020234B4: .word _02099AE0 _020234B8: .word _02099AF0 _020234BC: .word _02099AF8 _020234C0: .word _02099B04 _020234C4: .word _02099B10 _020234C8: .word _02099B18 _020234CC: .word _02099B24 _020234D0: .word _02099B2C _020234D4: .word _02099B34 _020234D8: .word _02099B40 _020234DC: .word _02099B48 _020234E0: .word _02099B50 _020234E4: .word _02099B58 _020234E8: .word _02099B60 _020234EC: .word _02099B6C _020234F0: .word _02099B74 _020234F4: .word _02099B7C _020234F8: .word _02099B8C _020234FC: .word _02099B9C _02023500: .word _02099BA8 _02023504: .word _02099BB0 _02023508: .word _02099BBC _0202350C: .word _02099BC4 _02023510: .word _02099BCC _02023514: .word _02099BD4 _02023518: .word _02099BDC _0202351C: .word _02099BE4 _02023520: .word _02099BEC _02023524: .word _02099BF4 _02023528: .word _02099BFC _0202352C: .word _02099C0C _02023530: .word _02099C14 _02023534: .word _02099C1C _02023538: .word _02099C24 _0202353C: .word _02099C2C _02023540: .word _02099C34 _02023544: .word _02099C44 _02023548: .word _02099C4C _0202354C: .word _02099C54 _02023550: .word _02099C5C _02023554: .word _02099C68 _02023558: .word _02099C70 _0202355C: .word _02099C78 _02023560: .word _02099A24 _02023564: .word _020999D4 _02023568: .word _02099A28 _0202356C: .word _02099A04 _02023570: .word _02099C84 _02023574: ldr r0, [sp, #0x5f0] sub r0, r0, sl _0202357C: add sp, sp, #0x1c8 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr arm_func_end PreprocessString arm_func_start SprintfStatic__02023590 SprintfStatic__02023590: ; 0x02023590 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02023590 arm_func_start PreprocessStringFromMessageId PreprocessStringFromMessageId: ; 0x020235B8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 mov r0, r2 mov r5, r1 mov r4, r3 bl StringFromMessageId ldr ip, [sp, #0x18] mov r2, r0 mov r0, r6 mov r1, r5 mov r3, r4 str ip, [sp] bl PreprocessString add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end PreprocessStringFromMessageId arm_func_start StrcmpTagVeneer StrcmpTagVeneer: ; 0x020235F8 ldr ip, _02023600 ; =StrcmpTag bx ip .align 2, 0 _02023600: .word StrcmpTag arm_func_end StrcmpTagVeneer arm_func_start StoiTagVeneer StoiTagVeneer: ; 0x02023604 ldr ip, _0202360C ; =StoiTag bx ip .align 2, 0 _0202360C: .word StoiTag arm_func_end StoiTagVeneer arm_func_start sub_02023610 sub_02023610: ; 0x02023610 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r6, _02023644 ; =_022A5048 ldr r5, _02023648 ; =_02099CA0 mov r7, #0 mov r4, #1 _02023624: mov r2, r4 add r0, r6, r7, lsl #2 add r1, r5, r7 bl StrncpySimpleNoPadSafe add r7, r7, #1 cmp r7, #3 blt _02023624 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02023644: .word _022A5048 _02023648: .word _02099CA0 arm_func_end sub_02023610 _0202364C: ldrb r2, [r1], #1 ldrb r3, [r0], #1 cmp r2, #0 bne _02023674 cmp r3, #0 cmpne r3, #0x3a cmpne r3, #0x5d moveq r0, #1 movne r0, #0 bx lr _02023674: cmp r3, #0 moveq r0, #0 bxeq lr cmp r3, r2 beq _0202364C mov r0, #0 bx lr arm_func_start InitPreprocessorArgs InitPreprocessorArgs: ; 0x02023690 mov r1, #0x60000 str r1, [r0, #0x4c] mov r1, #0 mov r3, r1 _020236A0: str r3, [r0, r1, lsl #2] add r1, r1, #1 cmp r1, #4 blt _020236A0 mov r2, #0 _020236B4: add r1, r0, r3, lsl #2 add r3, r3, #1 str r2, [r1, #0x10] cmp r3, #5 blt _020236B4 mov r3, #0 _020236CC: add r1, r0, r2, lsl #2 add r2, r2, #1 str r3, [r1, #0x24] cmp r2, #5 blt _020236CC mov r2, #0 _020236E4: add r1, r0, r3, lsl #2 add r3, r3, #1 str r2, [r1, #0x38] cmp r3, #5 blt _020236E4 bx lr arm_func_end InitPreprocessorArgs arm_func_start sub_020236FC sub_020236FC: ; 0x020236FC stmdb sp!, {r4, lr} movs lr, r1 mov r4, r0 beq _02023724 mov ip, #5 _02023710: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02023710 ldmia sp!, {r4, pc} _02023724: bl InitPreprocessorArgs ldmia sp!, {r4, pc} arm_func_end sub_020236FC arm_func_start sub_0202372C sub_0202372C: ; 0x0202372C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x100 mov r3, r1 mov r5, r0 mov r4, r2 ldr r1, _02023784 ; =_02099D0C add r0, sp, #0 mov r2, r3 bl SprintfStatic__0202378C add r0, sp, #0 bl strlen mov r2, r0 cmp r2, r4 movgt r4, r2 ldr r1, _02023788 ; =_02099D10 add r3, sp, #0 mov r0, r5 sub r2, r4, r2 bl SprintfStatic__0202378C mov r0, r5 add sp, sp, #0x100 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02023784: .word _02099D0C _02023788: .word _02099D10 arm_func_end sub_0202372C arm_func_start SprintfStatic__0202378C SprintfStatic__0202378C: ; 0x0202378C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__0202378C arm_func_start sub_020237B4 sub_020237B4: ; 0x020237B4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x100 mov r3, r1 mov r7, r0 mov r6, r2 ldr r1, _020238C8 ; =_02099D0C add r0, sp, #0 mov r2, r3 bl SprintfStatic__0202378C add r0, sp, #0 bl strlen mov r5, r0 sub r0, r5, #1 mov r1, #3 bl __divsi3 mov r4, r0 cmp r6, #0 ble _02023810 cmp r5, r6 movgt r6, r5 sub r0, r6, #1 mov r1, #3 bl __divsi3 _02023810: cmp r4, #0 ble _02023888 add r2, sp, #0 sub r1, r5, #1 add sb, r2, r1 mov r8, #0 add sl, sb, r4, lsl #2 mov lr, r8 strb r8, [sl, #1] mov ip, #0x5d mov r3, #0x50 mov r2, #0x4d mov fp, #0x5b b _02023880 _02023848: cmp r8, #3 blt _02023870 strb ip, [sl] strb r3, [sl, #-1] strb r2, [sl, #-2] strb fp, [sl, #-3] sub sl, sl, #4 cmp sl, sb beq _02023888 mov r8, #0 _02023870: ldrb r1, [sb], #-1 add r8, r8, #1 add lr, lr, #1 strb r1, [sl], #-1 _02023880: cmp lr, r5 blt _02023848 _02023888: cmp r6, #0 ble _020238B0 sub r1, r6, r5 add r2, r0, r1 ldr r1, _020238CC ; =_02099D10 add r3, sp, #0 mov r0, r7 sub r2, r2, r4 bl SprintfStatic__0202378C b _020238BC _020238B0: add r1, sp, #0 mov r0, r7 bl strcpy _020238BC: mov r0, r7 add sp, sp, #0x100 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020238C8: .word _02099D0C _020238CC: .word _02099D10 arm_func_end sub_020237B4 arm_func_start sub_020238D0 sub_020238D0: ; 0x020238D0 ldr ip, _020238DC ; =sub_020237B4 mov r2, #5 bx ip .align 2, 0 _020238DC: .word sub_020237B4 arm_func_end sub_020238D0 arm_func_start sub_020238E0 sub_020238E0: ; 0x020238E0 ldr ip, _020238EC ; =sub_020237B4 mov r2, #0 bx ip .align 2, 0 _020238EC: .word sub_020237B4 arm_func_end sub_020238E0 arm_func_start sub_020238F0 sub_020238F0: ; 0x020238F0 ldr ip, _020238FC ; =sub_020237B4 mov r2, #7 bx ip .align 2, 0 _020238FC: .word sub_020237B4 arm_func_end sub_020238F0 arm_func_start sub_02023900 sub_02023900: ; 0x02023900 ldr ip, _0202390C ; =sub_020237B4 mov r2, #0 bx ip .align 2, 0 _0202390C: .word sub_020237B4 arm_func_end sub_02023900 arm_func_start sub_02023910 sub_02023910: ; 0x02023910 ldr ip, _0202391C ; =sub_020237B4 mov r2, #0 bx ip .align 2, 0 _0202391C: .word sub_020237B4 arm_func_end sub_02023910 arm_func_start sub_02023920 sub_02023920: ; 0x02023920 stmdb sp!, {r3, r4, r5, lr} mov r2, r1, lsl #0x10 and r1, r1, #0xf0000 mov r5, r0 cmp r1, #0x40000 mov r4, r2, lsr #0x10 bgt _02023978 cmp r1, #0x40000 bge _02023B44 cmp r1, #0x10000 bgt _0202395C bge _02023A30 cmp r1, #0 beq _020239AC b _02023B44 _0202395C: cmp r1, #0x20000 bgt _0202396C beq _02023A40 b _02023B44 _0202396C: cmp r1, #0x30000 beq _02023A8C b _02023B44 _02023978: cmp r1, #0x70000 bgt _02023990 bge _02023B3C cmp r1, #0x60000 beq _02023B34 b _02023B44 _02023990: cmp r1, #0x80000 bgt _020239A0 beq _020239D0 b _02023B44 _020239A0: cmp r1, #0x90000 beq _02023AE0 b _02023B44 _020239AC: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetNameString mov r2, r0 ldr r1, _02023B4C ; =_02099D1C mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _020239D0: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetNameString mov r2, r0 ldr r1, _02023B4C ; =_02099D1C mov r0, r5 bl SprintfStatic__0202378C mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetMonsterGender cmp r0, #1 beq _02023A0C cmp r0, #2 beq _02023A1C b _02023A28 _02023A0C: ldr r1, _02023B50 ; =_022A5048 mov r0, r5 bl strcat b _02023A28 _02023A1C: ldr r1, _02023B54 ; =_022A504C mov r0, r5 bl strcat _02023A28: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _02023A30: mov r1, r4, lsl #0x10 mov r1, r1, asr #0x10 bl sub_02023D64 ldmia sp!, {r3, r4, r5, pc} _02023A40: mov r0, #0x44 mul r1, r4, r0 ldr r0, _02023B58 ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r0] ldrb r0, [r2, r1] add r1, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02023B44 ldrsh r0, [r1, #4] bl GetNameString mov r2, r0 ldr r1, _02023B4C ; =_02099D1C mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _02023A8C: ldr r1, _02023B58 ; =TEAM_MEMBER_TABLE_PTR mov r0, #0x68 ldr r2, [r1] mul r1, r4, r0 add r0, r2, #0x9000 ldr r2, [r0, #0x84c] ldrb r0, [r2, r1] add r1, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02023B44 ldrsh r0, [r1, #0xc] bl GetNameString mov r2, r0 ldr r1, _02023B4C ; =_02099D1C mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _02023AE0: mov r0, #0x44 ldr r1, _02023B58 ; =TEAM_MEMBER_TABLE_PTR mul r2, r4, r0 ldr r0, [r1] add r0, r0, #0x98 add r1, r0, #0x9800 ldrb r0, [r1, r2] add r1, r1, r2 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02023B44 ldrsh r0, [r1, #4] bl GetNameString mov r2, r0 ldr r1, _02023B5C ; =_02099D2C mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _02023B34: ldr r0, _02023B60 ; =_02099D3C ldmia sp!, {r3, r4, r5, pc} _02023B3C: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02023B44: ldr r0, _02023B64 ; =_02099D50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02023B4C: .word _02099D1C _02023B50: .word _022A5048 _02023B54: .word _022A504C _02023B58: .word TEAM_MEMBER_TABLE_PTR _02023B5C: .word _02099D2C _02023B60: .word _02099D3C _02023B64: .word _02099D50 arm_func_end sub_02023920 arm_func_start sub_02023B68 sub_02023B68: ; 0x02023B68 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r2, r1, lsl #0x10 and r1, r1, #0xf0000 mov r5, r0 cmp r1, #0x30000 mov r4, r2, lsr #0x10 bgt _02023BB4 cmp r1, #0x30000 bge _02023C90 cmp r1, #0x10000 bgt _02023BA8 bge _02023C08 cmp r1, #0 beq _02023BE4 b _02023D40 _02023BA8: cmp r1, #0x20000 beq _02023C18 b _02023D40 _02023BB4: cmp r1, #0x50000 bgt _02023BC8 bge _02023D14 cmp r1, #0x40000 b _02023D40 _02023BC8: cmp r1, #0x60000 bgt _02023BD8 beq _02023D30 b _02023D40 _02023BD8: cmp r1, #0x70000 beq _02023D38 b _02023D40 _02023BE4: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetNameString mov r2, r0 ldr r1, _02023D4C ; =_02099D2C mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 b _02023D44 _02023C08: mov r1, r4, lsl #0x10 mov r1, r1, asr #0x10 bl sub_02023DC0 b _02023D44 _02023C18: mov r0, #0x44 mul r1, r4, r0 ldr r0, _02023D50 ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r0] ldrb r0, [r2, r1] add r1, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02023D40 add r0, sp, #0 add r1, r1, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl sub_020564B0 cmp r0, #0 add r2, sp, #0 beq _02023C7C ldr r1, _02023D54 ; =_02099D54 mov r0, r5 bl SprintfStatic__0202378C b _02023C88 _02023C7C: ldr r1, _02023D58 ; =_02099D64 mov r0, r5 bl SprintfStatic__0202378C _02023C88: mov r0, r5 b _02023D44 _02023C90: ldr r1, _02023D50 ; =TEAM_MEMBER_TABLE_PTR mov r0, #0x68 ldr r2, [r1] mul r1, r4, r0 add r0, r2, #0x9000 ldr r2, [r0, #0x84c] ldrb r0, [r2, r1] add r4, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02023D40 add r0, sp, #0 add r1, r4, #0x5e mov r2, #0xa bl StrncpySimpleNoPadSafe ldrb r0, [r4, #1] add r2, sp, #0 cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02023D00 ldr r1, _02023D54 ; =_02099D54 mov r0, r5 bl SprintfStatic__0202378C b _02023D0C _02023D00: ldr r1, _02023D58 ; =_02099D64 mov r0, r5 bl SprintfStatic__0202378C _02023D0C: mov r0, r5 b _02023D44 _02023D14: mov r0, r4 bl sub_02024FB8 mov r1, r0 mov r0, r5 bl strcpy mov r0, r5 b _02023D44 _02023D30: ldr r0, _02023D5C ; =_02099D3C b _02023D44 _02023D38: mov r0, #0 b _02023D44 _02023D40: ldr r0, _02023D60 ; =_02099D50 _02023D44: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02023D4C: .word _02099D2C _02023D50: .word TEAM_MEMBER_TABLE_PTR _02023D54: .word _02099D54 _02023D58: .word _02099D64 _02023D5C: .word _02099D3C _02023D60: .word _02099D50 arm_func_end sub_02023B68 arm_func_start sub_02023D64 sub_02023D64: ; 0x02023D64 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 add r0, sp, #0x14 add r1, sp, #0 bl sub_0206549C ldrsh r0, [sp] cmp r0, #0 moveq r0, #0 beq _02023DAC ldrsh r0, [sp] bl GetNameString mov r2, r0 ldr r1, _02023DBC ; =_02099D1C mov r0, r4 bl SprintfStatic__0202378C mov r0, r4 _02023DAC: add sp, sp, #4 ldmia sp!, {r3, r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02023DBC: .word _02099D1C arm_func_end sub_02023D64 arm_func_start sub_02023DC0 sub_02023DC0: ; 0x02023DC0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, lr} sub sp, sp, #0x84 mov r4, r0 add r0, sp, #0x94 add r1, sp, #0 bl sub_0206549C ldrsh r0, [sp] cmp r0, #0 moveq r0, #0 beq _02023F98 ldrsh r0, [sp, #0x94] cmp r0, #0x39 bne _02023E18 add r0, sp, #0x42 bl sub_02065BF0 ldr r1, _02023FA8 ; =_02099D64 add r2, sp, #0x42 mov r0, r4 bl SprintfStatic__0202378C mov r0, r4 b _02023F98 _02023E18: cmp r0, #0x42 bne _02023E44 add r1, sp, #2 mov r0, #0x3f mov r2, #0xa bl sub_0204BBB0 add r0, sp, #0x42 add r1, sp, #2 mov r2, #0xa bl StrncpySimpleNoPadSafe b _02023F5C _02023E44: cmp r0, #0x43 bne _02023E70 add r1, sp, #2 mov r0, #0x41 mov r2, #0xa bl sub_0204BBB0 add r0, sp, #0x42 add r1, sp, #2 mov r2, #0xa bl StrncpySimpleNoPadSafe b _02023F5C _02023E70: bl GetActorMatchingStorageId mov r5, r0 mvn r1, #0 cmp r5, r1 beq _02023F2C bl GetActiveRosterIndex mvn r1, #0 cmp r0, r1 beq _02023EB0 bl GetActiveTeamMember mov r1, r0 add r0, sp, #0x42 add r1, r1, #0x5e mov r2, #0xa bl StrncpySimpleNoPadSafe b _02023ECC _02023EB0: mov r0, r5 bl GetTeamMember mov r1, r0 add r0, sp, #0x42 add r1, r1, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe _02023ECC: ldrsh r0, [sp, #0x94] cmp r0, #0 blt _02023EF4 cmp r0, #0xa bge _02023EF4 ldr r1, _02023FAC ; =_02099D54 add r2, sp, #0x42 mov r0, r4 bl SprintfStatic__0202378C b _02023F24 _02023EF4: mov r0, r5 bl sub_020564B0 cmp r0, #0 add r2, sp, #0x42 beq _02023F18 ldr r1, _02023FAC ; =_02099D54 mov r0, r4 bl SprintfStatic__0202378C b _02023F24 _02023F18: ldr r1, _02023FA8 ; =_02099D64 mov r0, r4 bl SprintfStatic__0202378C _02023F24: mov r0, r4 b _02023F98 _02023F2C: ldrsh r0, [sp, #0x94] bl sub_02065B14 movs r1, r0 beq _02023F48 add r0, sp, #0x42 bl GetStringFromFileVeneer b _02023F5C _02023F48: ldrsh r0, [sp] bl GetNameString mov r1, r0 add r0, sp, #0x42 bl strcpy _02023F5C: ldrsh r0, [sp, #0x94] cmp r0, #0 blt _02023F84 cmp r0, #0xa bge _02023F84 ldr r1, _02023FAC ; =_02099D54 add r2, sp, #0x42 mov r0, r4 bl SprintfStatic__0202378C b _02023F94 _02023F84: ldr r1, _02023FB0 ; =_02099D2C add r2, sp, #0x42 mov r0, r4 bl SprintfStatic__0202378C _02023F94: mov r0, r4 _02023F98: add sp, sp, #0x84 ldmia sp!, {r4, r5, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02023FA8: .word _02099D64 _02023FAC: .word _02099D54 _02023FB0: .word _02099D2C arm_func_end sub_02023DC0 arm_func_start sub_02023FB4 sub_02023FB4: ; 0x02023FB4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x8c mov r4, r0 add r0, sp, #0xa4 add r1, sp, #0 bl sub_0206549C ldrsh r0, [sp] cmp r0, #0 moveq r0, #0 beq _02024094 ldrsh r0, [sp, #0xa4] bl GetActorMatchingStorageId mov r5, r0 bl GetTeamMember movs r6, r0 beq _02024014 add r0, sp, #0x4c add r1, r6, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe add r0, sp, #0x4c str r0, [sp, #8] b _02024020 _02024014: ldrsh r0, [sp] bl GetNameString str r0, [sp, #8] _02024020: add r3, sp, #0xc add r0, sp, #4 add r1, sp, #8 add r2, sp, #0x4c str r3, [sp, #4] bl sub_020206FC ldr r0, [sp, #4] mov r1, #0 strb r1, [r0] cmp r6, #0 beq _02024080 mov r0, r5 bl sub_020564B0 cmp r0, #0 add r2, sp, #0xc beq _02024070 ldr r1, _020240A4 ; =_02099D54 mov r0, r4 bl SprintfStatic__0202378C b _02024090 _02024070: ldr r1, _020240A8 ; =_02099D64 mov r0, r4 bl SprintfStatic__0202378C b _02024090 _02024080: ldr r1, _020240AC ; =_02099D2C add r2, sp, #0xc mov r0, r4 bl SprintfStatic__0202378C _02024090: mov r0, r4 _02024094: add sp, sp, #0x8c ldmia sp!, {r3, r4, r5, r6, lr} add sp, sp, #0x10 bx lr .align 2, 0 _020240A4: .word _02099D54 _020240A8: .word _02099D64 _020240AC: .word _02099D2C arm_func_end sub_02023FB4 arm_func_start sub_020240B0 sub_020240B0: ; 0x020240B0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 ldr r5, _0202410C ; =ENTITIES mov r6, #0 ldr r4, _02024110 ; =0x00000182 b _020240FC _020240CC: ldr r1, [r5, #4] mov r0, r7 bl _0202364C cmp r0, #0 beq _020240F4 mov r1, r6, lsl #0x10 mov r0, r8 mov r1, r1, asr #0x10 bl sub_02023D64 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020240F4: add r6, r6, #1 add r5, r5, #0xc _020240FC: cmp r6, r4 blt _020240CC mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0202410C: .word ENTITIES _02024110: .word 0x00000182 arm_func_end sub_020240B0 arm_func_start sub_02024114 sub_02024114: ; 0x02024114 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 ldr r5, _02024170 ; =ENTITIES mov r6, #0 ldr r4, _02024174 ; =0x00000182 b _02024160 _02024130: ldr r1, [r5, #4] mov r0, r7 bl _0202364C cmp r0, #0 beq _02024158 mov r1, r6, lsl #0x10 mov r0, r8 mov r1, r1, asr #0x10 bl sub_02023DC0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02024158: add r6, r6, #1 add r5, r5, #0xc _02024160: cmp r6, r4 blt _02024130 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02024170: .word ENTITIES _02024174: .word 0x00000182 arm_func_end sub_02024114 arm_func_start sub_02024178 sub_02024178: ; 0x02024178 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 ldr r5, _020241D4 ; =ENTITIES mov r6, #0 ldr r4, _020241D8 ; =0x00000182 b _020241C4 _02024194: ldr r1, [r5, #4] mov r0, r7 bl _0202364C cmp r0, #0 beq _020241BC mov r1, r6, lsl #0x10 mov r0, r8 mov r1, r1, asr #0x10 bl sub_02023FB4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020241BC: add r6, r6, #1 add r5, r5, #0xc _020241C4: cmp r6, r4 blt _02024194 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020241D4: .word ENTITIES _020241D8: .word 0x00000182 arm_func_end sub_02024178 arm_func_start sub_020241DC sub_020241DC: ; 0x020241DC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov ip, r1, lsl #0x10 and lr, r1, #0x70000 mov r4, r0 cmp lr, #0x20000 mov r5, ip, lsr #0x10 bgt _02024220 cmp lr, #0x20000 bge _020242E0 cmp lr, #0 bgt _02024214 beq _02024240 b _020242E0 _02024214: cmp lr, #0x10000 beq _0202426C b _020242E0 _02024220: cmp lr, #0x40000 bgt _02024234 bge _0202429C cmp lr, #0x30000 b _020242E0 _02024234: cmp lr, #0x50000 beq _020242AC b _020242E0 _02024240: tst r1, #0x80000 movne r2, #1 moveq r2, #0 mov r1, r5, lsl #0x10 and r3, r2, #0xff mov r0, r4 mov r1, r1, asr #0x10 mov r2, #1 bl GetItemNameFormatted mov r0, r4 b _020242E4 _0202426C: strh r2, [sp, #0xc] mov ip, #0 strb r3, [sp, #0xa] ldr r2, _020242EC ; =_02099CAC add r1, sp, #0xa strb ip, [sp, #0xb] strh r5, [sp, #0xe] mov r3, #1 str ip, [sp] bl sub_0200D310 mov r0, r4 b _020242E4 _0202429C: mov r1, r5 bl sub_0202507C mov r0, r4 b _020242E4 _020242AC: mov r0, r5, lsl #0x10 add r1, sp, #4 mov r0, r0, asr #0x10 bl sub_02065CD8 mov ip, #0 ldr r2, _020242F0 ; =_02099CB8 add r1, sp, #4 mov r0, r4 mov r3, #1 str ip, [sp] bl sub_0200D310 mov r0, r4 b _020242E4 _020242E0: ldr r0, _020242F4 ; =_02099D50 _020242E4: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020242EC: .word _02099CAC _020242F0: .word _02099CB8 _020242F4: .word _02099D50 arm_func_end sub_020241DC arm_func_start sub_020242F8 sub_020242F8: ; 0x020242F8 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 mov r0, r2, lsr #0x10 ands r1, r1, #0x30000 beq _0202431C cmp r1, #0x10000 beq _02024338 b _02024350 _0202431C: bl GetMoveName mov r2, r0 ldr r1, _02024358 ; =_02099D74 mov r0, r4 bl SprintfStatic__0202378C mov r0, r4 ldmia sp!, {r4, pc} _02024338: bl GetDungeonResultString mov r1, r0 mov r0, r4 bl strcpy mov r0, r4 ldmia sp!, {r4, pc} _02024350: ldr r0, _0202435C ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024358: .word _02099D74 _0202435C: .word _02099D50 arm_func_end sub_020242F8 arm_func_start SetStringAccuracy SetStringAccuracy: ; 0x02024360 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _02024410 ; =0x000027A2 mov r4, r0 cmp r1, r2 blo _02024408 ldr r0, _02024414 ; =0x000029C1 cmp r1, r0 bhs _02024408 rsb r0, r2, #0 add r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl GetMoveActualAccuracy mov r6, #1 mov r3, #0 ldr r2, _02024418 ; =MOVE_ACCURACY_STARS_TABLE b _020243B8 _020243A4: ldr r1, [r2, r3, lsl #2] cmp r0, r1 blt _020243C0 add r6, r6, #1 add r3, r3, #1 _020243B8: cmp r3, #8 blt _020243A4 _020243C0: cmp r6, #8 ble _020243D8 ldr r1, _0202441C ; =0x000027A0 mov r0, r4 bl GetStringFromFileVeneer b _02024400 _020243D8: mov r7, #0 strb r7, [r4] ldr r5, _02024420 ; =_02099D84 b _020243F8 _020243E8: mov r0, r4 mov r1, r5 bl strcat add r7, r7, #1 _020243F8: cmp r7, r6 blt _020243E8 _02024400: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02024408: ldr r0, _02024424 ; =_02099D50 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02024410: .word 0x000027A2 _02024414: .word 0x000029C1 _02024418: .word MOVE_ACCURACY_STARS_TABLE _0202441C: .word 0x000027A0 _02024420: .word _02099D84 _02024424: .word _02099D50 arm_func_end SetStringAccuracy arm_func_start SetStringPower SetStringPower: ; 0x02024428 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _020244DC ; =0x000027A2 mov r4, r0 cmp r1, r2 blo _020244D4 ldr r0, _020244E0 ; =0x000029C1 cmp r1, r0 bhs _020244D4 rsb r0, r2, #0 add r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl GetMoveBasePowerFromId mov r3, #0 mov r5, r3 ldr r2, _020244E4 ; =MOVE_POWER_STARS_TABLE b _02024480 _0202446C: ldr r1, [r2, r5, lsl #2] cmp r0, r1 blt _02024488 add r3, r3, #1 add r5, r5, #1 _02024480: cmp r5, #6 blt _0202446C _02024488: cmp r3, #0 bne _020244A0 ldr r1, _020244E8 ; =0x000027A1 mov r0, r4 bl GetStringFromFileVeneer b _020244CC _020244A0: mov r7, #0 strb r7, [r4] add r5, r3, #2 ldr r6, _020244EC ; =_02099D84 b _020244C4 _020244B4: mov r0, r4 mov r1, r6 bl strcat add r7, r7, #1 _020244C4: cmp r7, r5 blt _020244B4 _020244CC: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020244D4: ldr r0, _020244F0 ; =_02099D50 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020244DC: .word 0x000027A2 _020244E0: .word 0x000029C1 _020244E4: .word MOVE_POWER_STARS_TABLE _020244E8: .word 0x000027A1 _020244EC: .word _02099D84 _020244F0: .word _02099D50 arm_func_end SetStringPower arm_func_start sub_020244F4 sub_020244F4: ; 0x020244F4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x400 mov r2, r1, lsl #0x10 mov r5, r0 mov r4, r2, lsr #0x10 ands r0, r1, #0x70000 beq _0202451C cmp r0, #0x10000 beq _02024564 b _02024580 _0202451C: add r0, r1, #0xc1 add r0, r0, #0x3400 mov r1, r0, lsl #0x10 add r0, sp, #0 mov r1, r1, lsr #0x10 bl sub_020258E4 cmp r4, #0x11 add r2, sp, #0 bne _02024550 ldr r1, _0202458C ; =_02099D8C mov r0, r5 bl SprintfStatic__0202378C b _0202455C _02024550: ldr r1, _02024590 ; =_02099D90 mov r0, r5 bl SprintfStatic__0202378C _0202455C: mov r0, r5 b _02024584 _02024564: mov r0, r4 bl sub_02024FC8 mov r1, r0 mov r0, r5 bl strcpy mov r0, r5 b _02024584 _02024580: ldr r0, _02024594 ; =_02099D50 _02024584: add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0202458C: .word _02099D8C _02024590: .word _02099D90 _02024594: .word _02099D50 arm_func_end sub_020244F4 arm_func_start sub_02024598 sub_02024598: ; 0x02024598 stmdb sp!, {r4, lr} movs r2, r1 mov r4, r0 bmi _020245B4 ldr r1, _020245C8 ; =_02099DA0 bl SprintfStatic__0202378C b _020245C0 _020245B4: ldr r1, _020245CC ; =_02099DB0 rsb r2, r2, #0 bl SprintfStatic__0202378C _020245C0: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _020245C8: .word _02099DA0 _020245CC: .word _02099DB0 arm_func_end sub_02024598 arm_func_start sub_020245D0 sub_020245D0: ; 0x020245D0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x80 mov r3, r1, lsl #0x10 and r1, r1, #0xf0000 mov r7, r0 mov r6, r2 cmp r1, #0x20000 mov r4, r3, lsr #0x10 bgt _02024618 cmp r1, #0x20000 bge _020246A8 cmp r1, #0 bgt _0202460C beq _02024634 b _02024918 _0202460C: cmp r1, #0x10000 beq _02024744 b _02024918 _02024618: cmp r1, #0x30000 bgt _02024628 beq _02024668 b _02024918 _02024628: cmp r1, #0x40000 beq _020248E4 b _02024918 _02024634: mov r0, #0 mov r2, r0 and r1, r4, #0xff bl sub_0204F6F8 mov r1, r0 add r0, sp, #0x40 bl GetStringFromFileVeneer ldr r1, _02024924 ; =_02099DC0 add r2, sp, #0x40 mov r0, r7 bl SprintfStatic__0202378C mov r0, r7 b _0202491C _02024668: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl DungeonSwapIdxToId mov r1, r0 mov r0, #0 mov r2, r0 bl sub_0204F6F8 mov r1, r0 add r0, sp, #0x40 bl GetStringFromFileVeneer ldr r1, _02024924 ; =_02099DC0 add r2, sp, #0x40 mov r0, r7 bl SprintfStatic__0202378C mov r0, r7 b _0202491C _020246A8: and r0, r4, #0xff and r1, r6, #0xff bl sub_0204F77C bl GetNbFloorsPlusOne mov r5, r0 mov r0, #0 mov r2, r0 and r1, r4, #0xff bl sub_0204F6F8 mov r1, r0 add r0, sp, #0x40 bl GetStringFromFileVeneer cmp r6, #0 mvnlt r0, #0 mullt r0, r6, r0 movlt r6, r0 cmp r5, #2 bhi _02024704 ldr r1, _02024924 ; =_02099DC0 add r2, sp, #0x40 mov r0, r7 bl SprintfStatic__0202378C b _0202473C _02024704: and r0, r4, #0xff bl DungeonGoesUp cmp r0, #0 add r2, sp, #0x40 beq _0202472C ldr r1, _02024928 ; =_02099DD0 mov r0, r7 mov r3, r6 bl SprintfStatic__0202378C b _0202473C _0202472C: ldr r1, _0202492C ; =_02099DEC mov r0, r7 mov r3, r6 bl SprintfStatic__0202378C _0202473C: mov r0, r7 b _0202491C _02024744: and r0, r4, #0xff and r1, r6, #0xff bl sub_0204F77C bl GetNbFloorsPlusOne mov r5, r0 and r1, r4, #0xff and r2, r6, #0xff mov r0, #1 bl sub_0204F6F8 mov r1, r0 add r0, sp, #0x40 bl GetStringFromFileVeneer mov r1, #0 add r0, sp, #0 add r3, sp, #0x40 _02024780: ldrb r2, [r3, r1] cmp r2, #0 beq _02024888 strb r2, [r0, r1] cmp r2, #0xa bne _02024880 add r1, r1, #1 mov r2, #0x5b strb r2, [r0, r1] add r2, r1, #1 mov r3, #0x43 strb r3, [r0, r2] add r2, r1, #2 mov r3, #0x4c strb r3, [r0, r2] add r2, r1, #3 mov r3, #0x55 strb r3, [r0, r2] add r2, r1, #4 mov r3, #0x4d strb r3, [r0, r2] add r2, r1, #5 mov r3, #0x5f strb r3, [r0, r2] add r2, r1, #6 mov r3, #0x53 strb r3, [r0, r2] add r2, r1, #7 mov r3, #0x45 strb r3, [r0, r2] add r2, r1, #8 mov r3, #0x54 strb r3, [r0, r2] add r2, r1, #9 mov r3, #0x3a strb r3, [r0, r2] add r2, r1, #0xa mov r3, #0x38 strb r3, [r0, r2] add r2, r1, #0xb mov r3, #0x30 strb r3, [r0, r2] add r2, r1, #0xc mov r3, #0x5d strb r3, [r0, r2] add ip, r1, #0xd add r3, sp, #0x40 add r0, sp, #0 _02024840: ldrb r2, [r3, r1] add r1, r1, #1 strb r2, [r0, ip] cmp r2, #0 add ip, ip, #1 bne _02024840 mov r3, #0 add r2, sp, #0 add r0, sp, #0x40 b _02024874 _02024868: ldrb r1, [r2, r3] strb r1, [r0, r3] add r3, r3, #1 _02024874: cmp r3, ip bne _02024868 b _02024888 _02024880: add r1, r1, #1 b _02024780 _02024888: cmp r5, #2 bhi _020248A4 ldr r1, _02024924 ; =_02099DC0 add r2, sp, #0x40 mov r0, r7 bl SprintfStatic__0202378C b _020248DC _020248A4: and r0, r4, #0xff bl DungeonGoesUp cmp r0, #0 add r2, sp, #0x40 beq _020248CC ldr r1, _02024928 ; =_02099DD0 mov r0, r7 mov r3, r6 bl SprintfStatic__0202378C b _020248DC _020248CC: ldr r1, _0202492C ; =_02099DEC mov r0, r7 mov r3, r6 bl SprintfStatic__0202378C _020248DC: mov r0, r7 b _0202491C _020248E4: and r1, r4, #0xff and r2, r6, #0xff mov r0, #0 bl sub_0204F6F8 mov r1, r0 add r0, sp, #0x40 bl GetStringFromFileVeneer ldr r1, _02024924 ; =_02099DC0 add r2, sp, #0x40 mov r0, r7 bl SprintfStatic__0202378C mov r0, r7 b _0202491C _02024918: ldr r0, _02024930 ; =_02099D50 _0202491C: add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02024924: .word _02099DC0 _02024928: .word _02099DD0 _0202492C: .word _02099DEC _02024930: .word _02099D50 arm_func_end sub_020245D0 arm_func_start sub_02024934 sub_02024934: ; 0x02024934 ldr ip, _02024948 ; =sub_0204F6F8 mov r1, r0 mov r0, #0 mov r2, r0 bx ip .align 2, 0 _02024948: .word sub_0204F6F8 arm_func_end sub_02024934 arm_func_start sub_0202494C sub_0202494C: ; 0x0202494C stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x400 mov r2, r1, lsl #0x10 and r5, r1, #0xf0000 mov r6, r0 cmp r5, #0x20000 mov r4, r2, lsr #0x10 bgt _02024990 cmp r5, #0x20000 bge _020249F8 cmp r5, #0 bgt _02024984 beq _020249F8 b _02024A4C _02024984: cmp r5, #0x10000 beq _020249B0 b _02024A4C _02024990: cmp r5, #0x40000 bgt _020249A8 bge _020249B0 cmp r5, #0x30000 beq _020249B0 b _02024A4C _020249A8: cmp r5, #0x50000 bne _02024A4C _020249B0: cmp r5, #0x40000 mov r0, #0 bne _020249D0 mov r2, r0 mov r1, #0x25 bl LoadScriptVariableValueAtIndex mov r4, r0 b _020249F8 _020249D0: cmp r5, #0x50000 bne _020249EC mov r1, #0x25 mov r2, #1 bl LoadScriptVariableValueAtIndex mov r4, r0 b _020249F8 _020249EC: mov r1, #0x20 bl LoadScriptVariableValue mov r4, r0 _020249F8: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl sub_0206A90C mov r1, r0 add r0, sp, #0 bl GetStringFromFileVeneer cmp r5, #0x30000 cmpne r5, #0x20000 ldrne r0, _02024A58 ; =0x00000133 add r2, sp, #0 cmpne r4, r0 bne _02024A38 ldr r1, _02024A5C ; =_02099D8C mov r0, r6 bl SprintfStatic__0202378C b _02024A44 _02024A38: ldr r1, _02024A60 ; =_02099DC0 mov r0, r6 bl SprintfStatic__0202378C _02024A44: mov r0, r6 b _02024A50 _02024A4C: ldr r0, _02024A64 ; =_02099D50 _02024A50: add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02024A58: .word 0x00000133 _02024A5C: .word _02099D8C _02024A60: .word _02099DC0 _02024A64: .word _02099D50 arm_func_end sub_0202494C arm_func_start sub_02024A68 sub_02024A68: ; 0x02024A68 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r1, r2, lsr #0x10 bne _02024A9C add r1, r1, #0x79 add r1, r1, #0xa00 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl GetStringFromFileVeneer mov r0, r4 ldmia sp!, {r4, pc} _02024A9C: ldr r0, _02024AA4 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024AA4: .word _02099D50 arm_func_end sub_02024A68 arm_func_start sub_02024AA8 sub_02024AA8: ; 0x02024AA8 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r0, r2, lsr #0x10 bne _02024AE8 add r0, r0, #0x4d add r0, r0, #0xa00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r1, r0 mov r0, r4 bl strcpy mov r0, r4 ldmia sp!, {r4, pc} _02024AE8: ldr r0, _02024AF0 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024AF0: .word _02099D50 arm_func_end sub_02024AA8 arm_func_start sub_02024AF4 sub_02024AF4: ; 0x02024AF4 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r0, r2, lsr #0x10 bne _02024B38 add r0, r0, #0x77 add r0, r0, #0x100 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r2, r0 ldr r1, _02024B40 ; =_02099E08 mov r0, r4 bl SprintfStatic__0202378C mov r0, r4 ldmia sp!, {r4, pc} _02024B38: ldr r0, _02024B44 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024B40: .word _02099E08 _02024B44: .word _02099D50 arm_func_end sub_02024AF4 arm_func_start sub_02024B48 sub_02024B48: ; 0x02024B48 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r0, r2, lsr #0x10 bne _02024B88 add r0, r0, #0x6f add r0, r0, #0x2700 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r1, r0 mov r0, r4 bl strcpy mov r0, r4 ldmia sp!, {r4, pc} _02024B88: ldr r0, _02024B90 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024B90: .word _02099D50 arm_func_end sub_02024B48 arm_func_start sub_02024B94 sub_02024B94: ; 0x02024B94 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r0, r2, lsr #0x10 bne _02024BCC and r0, r0, #0xff bl GetTypeStringId bl StringFromMessageId mov r1, r0 mov r0, r4 bl strcpy mov r0, r4 ldmia sp!, {r4, pc} _02024BCC: ldr r0, _02024BD4 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024BD4: .word _02099D50 arm_func_end sub_02024B94 arm_func_start sub_02024BD8 sub_02024BD8: ; 0x02024BD8 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r0, r2, lsr #0x10 bne _02024C0C and r0, r0, #0xff bl sub_02058C1C mov r1, r0 mov r0, r4 bl GetStringFromFileVeneer mov r0, r4 ldmia sp!, {r4, pc} _02024C0C: ldr r0, _02024C14 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024C14: .word _02099D50 arm_func_end sub_02024BD8 arm_func_start sub_02024C18 sub_02024C18: ; 0x02024C18 stmdb sp!, {r4, lr} sub sp, sp, #0x400 mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r1, r2, lsr #0x10 bne _02024C58 add r0, sp, #0 and r1, r1, #0xff bl GetAbilityString ldr r1, _02024C64 ; =_02099D8C add r2, sp, #0 mov r0, r4 bl SprintfStatic__0202378C mov r0, r4 b _02024C5C _02024C58: ldr r0, _02024C68 ; =_02099D50 _02024C5C: add sp, sp, #0x400 ldmia sp!, {r4, pc} .align 2, 0 _02024C64: .word _02099D8C _02024C68: .word _02099D50 arm_func_end sub_02024C18 arm_func_start sub_02024C6C sub_02024C6C: ; 0x02024C6C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r4, r1 mov r5, r0 bl GetExecuteSpecialEpisodeType cmp r4, #2 bne _02024C98 mvn r1, #0 cmp r0, r1 moveq r4, #0 movne r4, #1 _02024C98: cmp r4, #0 beq _02024CAC cmp r4, #1 beq _02024CFC b _02024D2C _02024CAC: mvn r1, #0 cmp r0, r1 bne _02024CC8 mov r0, #1 bl GetPerformanceFlagWithChecks cmp r0, #0 beq _02024CE8 _02024CC8: add r0, sp, #0 bl GetTeamName ldr r1, _02024D38 ; =_02099E08 add r2, sp, #0 mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 b _02024D30 _02024CE8: ldr r1, _02024D3C ; =0x00000237 mov r0, r5 bl GetStringFromFileVeneer mov r0, r5 b _02024D30 _02024CFC: cmp r0, #3 ldrne r0, _02024D40 ; =_02099D50 bne _02024D30 ldr r1, _02024D44 ; =0x00000236 add r0, sp, #0 bl GetStringFromFileVeneer ldr r1, _02024D38 ; =_02099E08 add r2, sp, #0 mov r0, r5 bl SprintfStatic__0202378C mov r0, r5 b _02024D30 _02024D2C: ldr r0, _02024D40 ; =_02099D50 _02024D30: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02024D38: .word _02099E08 _02024D3C: .word 0x00000237 _02024D40: .word _02099D50 _02024D44: .word 0x00000236 arm_func_end sub_02024C6C arm_func_start sub_02024D48 sub_02024D48: ; 0x02024D48 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 tst r1, #0xf0000 mov r1, r2, lsr #0x10 bne _02024D70 and r1, r1, #0xff bl sub_02058C30 mov r0, r4 ldmia sp!, {r4, pc} _02024D70: ldr r0, _02024D78 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024D78: .word _02099D50 arm_func_end sub_02024D48 arm_func_start sub_02024D7C sub_02024D7C: ; 0x02024D7C stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 mov r4, r0 mov r2, r2, lsr #0x10 ands r0, r1, #0xf0000 beq _02024DD4 cmp r0, #0x10000 bne _02024DEC mov r0, r2, lsl #0x10 mov r0, r0, asr #0x10 bl GetMonsterGenderVeneer cmp r0, #1 beq _02024DC0 cmp r0, #2 beq _02024DC8 cmp r0, #3 b _02024DD0 _02024DC0: mov r2, #0 b _02024DD4 _02024DC8: mov r2, #1 b _02024DD4 _02024DD0: mov r2, #2 _02024DD4: ldr r1, _02024DF4 ; =_022A5048 mov r0, r4 add r1, r1, r2, lsl #2 bl strcpy mov r0, r4 ldmia sp!, {r4, pc} _02024DEC: ldr r0, _02024DF8 ; =_02099D50 ldmia sp!, {r4, pc} .align 2, 0 _02024DF4: .word _022A5048 _02024DF8: .word _02099D50 arm_func_end sub_02024D7C arm_func_start GetBagNameString GetBagNameString: ; 0x02024DFC stmdb sp!, {r4, lr} mov r4, r0 bl GetCurrentBagCapacity cmp r0, #2 ldrlt r0, _02024E2C ; =0x000008E1 ldrge r0, _02024E30 ; =0x000008E2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, lsr #0x10 bl GetStringFromFileVeneer mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02024E2C: .word 0x000008E1 _02024E30: .word 0x000008E2 arm_func_end GetBagNameString arm_func_start sub_02024E34 sub_02024E34: ; 0x02024E34 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x44 sub sp, sp, #0x400 mov sl, r0 ldr r0, _02024F94 ; =0x000001B1 mov r4, r1 bl StringFromMessageId str r0, [sp] ldr r0, _02024F98 ; =0x000001B2 bl StringFromMessageId ldr r1, _02024F9C ; =0x000029D1 mov fp, r0 cmp r4, r1 blo _02024E94 ldr r0, _02024FA0 ; =0x00002F49 cmp r4, r0 bhs _02024E94 rsb r0, r1, #0 add r0, r4, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl GetItemMoveId16 mov r5, r0 b _02024E98 _02024E94: mov r5, #0 _02024E98: mov r0, sl mov r1, #0x1b0 bl GetStringFromFileVeneer ldr r1, _02024FA4 ; =_02099E18 mov r0, sl bl strcat cmp r5, #0 beq _02024F78 bl GetGameMode cmp r0, #1 ldrls sb, _02024FA8 ; =_02099CA4 mvn r4, #0 ldrhi sb, _02024FAC ; =_02099CC4 b _02024F6C _02024ED0: ldrsh r6, [sb], #2 mov r0, r6 bl GetActorMatchingStorageId mov r7, r0 cmp r6, #0x16 bne _02024EF4 ldr r1, _02024FA4 ; =_02099E18 mov r0, sl bl strcat _02024EF4: cmp r7, r4 beq _02024F6C mov r0, r7 bl GetTeamMember ldrsh r8, [r0, #4] bl sub_0204E530 cmp r0, #0 bne _02024F2C mov r0, r7 bl GetActiveRosterIndex cmp r0, r4 beq _02024F2C bl GetActiveTeamMember ldrsh r8, [r0, #0xc] _02024F2C: add r0, sp, #4 mov r1, r6 bl sub_02023DC0 mov r0, r5 mov r1, r8 bl sub_02053D1C cmp r0, #0 ldrne r3, [sp] ldr r1, _02024FB0 ; =_02099E20 moveq r3, fp add r0, sp, #0x44 add r2, sp, #4 bl SprintfStatic__0202378C mov r0, sl add r1, sp, #0x44 bl strcat _02024F6C: ldrsh r0, [sb] cmp r0, r4 bne _02024ED0 _02024F78: ldr r1, _02024FB4 ; =_02099E40 mov r0, sl bl strcat mov r0, sl add sp, sp, #0x44 add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02024F94: .word 0x000001B1 _02024F98: .word 0x000001B2 _02024F9C: .word 0x000029D1 _02024FA0: .word 0x00002F49 _02024FA4: .word _02099E18 _02024FA8: .word _02099CA4 _02024FAC: .word _02099CC4 _02024FB0: .word _02099E20 _02024FB4: .word _02099E40 arm_func_end sub_02024E34 arm_func_start sub_02024FB8 sub_02024FB8: ; 0x02024FB8 ldr r1, _02024FC4 ; =_022A5468 add r0, r1, r0, lsl #7 bx lr .align 2, 0 _02024FC4: .word _022A5468 arm_func_end sub_02024FB8 arm_func_start sub_02024FC8 sub_02024FC8: ; 0x02024FC8 ldr r1, _02024FD4 ; =_022A5068 add r0, r1, r0, lsl #7 bx lr .align 2, 0 _02024FD4: .word _022A5068 arm_func_end sub_02024FC8 arm_func_start GetDungeonResultString GetDungeonResultString: ; 0x02024FD8 ldr r1, _02024FE4 ; =_022A5268 add r0, r1, r0, lsl #7 bx lr .align 2, 0 _02024FE4: .word _022A5268 arm_func_end GetDungeonResultString arm_func_start sub_02024FE8 sub_02024FE8: ; 0x02024FE8 stmdb sp!, {r3, r4, r5, lr} cmp r1, #0 beq _02025030 mov r3, #0x14 mul r3, r0, r3 ldr lr, _02025070 ; =_022A596A ldrh r0, [r1] ldr ip, _02025074 ; =_022A5969 add r4, lr, r3 strh r0, [lr, r3] ldrh lr, [r1, #2] mov r0, #1 add r5, ip, r3 strh lr, [r4, #2] ldrh r1, [r1, #4] strh r1, [r4, #4] strb r0, [ip, r3] b _02025048 _02025030: mov r1, #0x14 mul r3, r0, r1 ldr r1, _02025074 ; =_022A5969 mov r0, #0 strb r0, [r1, r3] add r5, r1, r3 _02025048: cmp r2, #0 moveq r0, #0 beq _02025068 ldr ip, _02025078 ; =_022A5970 ldmia r2, {r0, r1, r2} add r3, ip, r3 stmia r3, {r0, r1, r2} mov r0, #1 _02025068: strb r0, [r5] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02025070: .word _022A596A _02025074: .word _022A5969 _02025078: .word _022A5970 arm_func_end sub_02024FE8 arm_func_start sub_0202507C sub_0202507C: ; 0x0202507C stmdb sp!, {r3, lr} mov r2, #0x14 mul r3, r1, r2 ldr r1, _020250D8 ; =_022A5969 ldrb r1, [r1, r3] cmp r1, #0 beq _020250BC ldr r1, _020250DC ; =_022A596A ldr r2, _020250E0 ; =_022A5970 mov ip, #0 add r1, r1, r3 add r2, r2, r3 mov r3, #1 str ip, [sp] bl sub_0200D310 ldmia sp!, {r3, pc} _020250BC: ldr r1, _020250DC ; =_022A596A mov r2, #0 add r1, r1, r3 mov r3, #1 str r2, [sp] bl sub_0200D310 ldmia sp!, {r3, pc} .align 2, 0 _020250D8: .word _022A5969 _020250DC: .word _022A596A _020250E0: .word _022A5970 arm_func_end sub_0202507C arm_func_start SetQuestionMarks SetQuestionMarks: ; 0x020250E4 mov r1, #0x3f strb r1, [r0] strb r1, [r0, #1] strb r1, [r0, #2] mov r1, #0 strb r1, [r0, #3] bx lr arm_func_end SetQuestionMarks arm_func_start StrcpySimple StrcpySimple: ldrb r2, [r1], #1 mov r3, r0 strb r2, [r0], #1 ldrb r2, [r3] cmp r2, #0 bne StrcpySimple bx lr arm_func_end StrcpySimple arm_func_start StrncpySimple StrncpySimple: ; 0x0202511C stmdb sp!, {r3, lr} mov ip, #0 b _02025164 _02025128: ldrb r3, [r1], #1 mov lr, r0 strb r3, [r0], #1 ldrb r3, [lr] cmp r3, #0 bne _02025160 add ip, ip, #1 mov r1, #0 b _02025154 _0202514C: strb r1, [r0], #1 add ip, ip, #1 _02025154: cmp ip, r2 blt _0202514C ldmia sp!, {r3, pc} _02025160: add ip, ip, #1 _02025164: cmp ip, r2 blt _02025128 ldmia sp!, {r3, pc} arm_func_end StrncpySimple arm_func_start StrncpySimpleNoPad StrncpySimpleNoPad: ; 0x02025170 stmdb sp!, {r3, lr} mov ip, #0 b _02025198 _0202517C: ldrb r3, [r1], #1 mov lr, r0 strb r3, [r0], #1 ldrb r3, [lr] cmp r3, #0 ldmeqia sp!, {r3, pc} add ip, ip, #1 _02025198: cmp ip, r2 blt _0202517C mov r1, #0 strb r1, [r0] ldmia sp!, {r3, pc} arm_func_end StrncpySimpleNoPad arm_func_start StrncmpSimple StrncmpSimple: ; 0x020251AC stmdb sp!, {r3, lr} mov lr, #0 _020251B4: ldrb ip, [r0, lr] ldrb r3, [r1, lr] add lr, lr, #1 cmp ip, r3 beq _020251D4 mvnlo r0, #0 movhs r0, #1 ldmia sp!, {r3, pc} _020251D4: cmp ip, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} cmp lr, r2 blt _020251B4 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end StrncmpSimple arm_func_start sub_020251F0 sub_020251F0: ; 0x020251F0 bx lr arm_func_end sub_020251F0 arm_func_start StrncpySimpleNoPadSafe StrncpySimpleNoPadSafe: ; 0x020251F4 mov ip, #0x20 b _0202520C _020251FC: ldrb r3, [r1], #1 cmp r3, #0x100 strlob r3, [r0], #1 strhsb ip, [r0], #1 _0202520C: cmp r2, #0 sub r2, r2, #1 ble _02025224 ldrb r3, [r1] cmp r3, #0 bne _020251FC _02025224: mov r1, #0 strb r1, [r0] bx lr arm_func_end StrncpySimpleNoPadSafe arm_func_start SpecialStrcpy SpecialStrcpy: ; 0x02025230 stmdb sp!, {r4, lr} mov ip, #0 mov r3, ip b _020252FC _02025240: cmp r2, #0x7e bne _020252F8 ldrb lr, [r1] ldrb r4, [r1, #1] add r1, r1, #2 cmp lr, #0x30 blo _0202526C cmp lr, #0x39 subls r2, lr, #0x30 andls lr, r2, #0xff bls _020252A0 _0202526C: cmp lr, #0x61 blo _02025284 cmp lr, #0x66 subls r2, lr, #0x6b andls lr, r2, #0xff bls _020252A0 _02025284: cmp lr, #0x41 blo _0202529C cmp lr, #0x46 subls r2, lr, #0x4b andls lr, r2, #0xff bls _020252A0 _0202529C: mov lr, ip _020252A0: cmp r4, #0x30 blo _020252B8 cmp r4, #0x39 subls r2, r4, #0x30 andls r4, r2, #0xff bls _020252EC _020252B8: cmp r4, #0x61 blo _020252D0 cmp r4, #0x66 subls r2, r4, #0x6b andls r4, r2, #0xff bls _020252EC _020252D0: cmp r4, #0x41 blo _020252E8 cmp r4, #0x46 subls r2, r4, #0x4b andls r4, r2, #0xff bls _020252EC _020252E8: mov r4, r3 _020252EC: orr r2, r4, lr, lsl #4 strb r2, [r0], #1 b _020252FC _020252F8: strb r2, [r0], #1 _020252FC: ldrb r2, [r1], #1 cmp r2, #0 bne _02025240 mov r1, #0 strb r1, [r0] ldmia sp!, {r4, pc} arm_func_end SpecialStrcpy arm_func_start sub_02025314 sub_02025314: ; 0x02025314 stmdb sp!, {r3, r4, r5, lr} mov lr, #0 mov ip, lr b _020253F4 _02025324: ldrb r3, [r1], #1 cmp r3, #0 moveq r1, #0 streqb r1, [r0] ldmeqia sp!, {r3, r4, r5, pc} cmp r3, #0x7e bne _020253F0 ldrb r4, [r1] ldrb r5, [r1, #1] add r1, r1, #2 cmp r4, #0x30 blo _02025364 cmp r4, #0x39 subls r3, r4, #0x30 andls r4, r3, #0xff bls _02025398 _02025364: cmp r4, #0x61 blo _0202537C cmp r4, #0x66 subls r3, r4, #0x6b andls r4, r3, #0xff bls _02025398 _0202537C: cmp r4, #0x41 blo _02025394 cmp r4, #0x46 subls r3, r4, #0x4b andls r4, r3, #0xff bls _02025398 _02025394: mov r4, lr _02025398: cmp r5, #0x30 blo _020253B0 cmp r5, #0x39 subls r3, r5, #0x30 andls r5, r3, #0xff bls _020253E4 _020253B0: cmp r5, #0x61 blo _020253C8 cmp r5, #0x66 subls r3, r5, #0x6b andls r5, r3, #0xff bls _020253E4 _020253C8: cmp r5, #0x41 blo _020253E0 cmp r5, #0x46 subls r3, r5, #0x4b andls r5, r3, #0xff bls _020253E4 _020253E0: mov r5, ip _020253E4: orr r3, r5, r4, lsl #4 strb r3, [r0], #1 b _020253F4 _020253F0: strb r3, [r0], #1 _020253F4: cmp r2, #0 sub r2, r2, #1 bgt _02025324 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02025314 arm_func_start sub_02025404 sub_02025404: ; 0x02025404 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 b _02025424 _02025418: ldrb r0, [r5], #1 bl sub_02025480 strh r0, [r6], #2 _02025424: cmp r4, #0 sub r4, r4, #1 ble _0202543C ldrb r0, [r5] cmp r0, #0 bne _02025418 _0202543C: cmp r4, #0 movgt r0, #0 strgth r0, [r6] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02025404 arm_func_start sub_0202544C sub_0202544C: ; 0x0202544C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r5, r0 add r0, sp, #0 mov r3, #1 mov r4, r2 bl sub_0202568C add r1, sp, #0 mov r0, r5 mov r2, r4 bl sub_02025314 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202544C arm_func_start sub_02025480 sub_02025480: ; 0x02025480 stmdb sp!, {r3, lr} cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} mov ip, #0 mov lr, #0xdb ldr r2, _020254F0 ; =_0209A044 b _020254C8 _020254A0: add r1, ip, lr add r1, r1, r1, lsr #31 mov r3, r1, asr #1 mov r1, r3, lsl #2 ldrh r1, [r2, r1] cmp r1, r0 moveq ip, r3 beq _020254D0 addlt ip, r3, #1 movge lr, r3 _020254C8: cmp ip, lr blt _020254A0 _020254D0: ldr r1, _020254F0 ; =_0209A044 mov r2, ip, lsl #2 ldrh r1, [r1, r2] cmp r1, r0 ldreq r0, _020254F4 ; =_0209A046 ldreqh r0, [r0, r2] movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _020254F0: .word _0209A044 _020254F4: .word _0209A046 arm_func_end sub_02025480 arm_func_start sub_020254F8 sub_020254F8: ; 0x020254F8 cmp r0, #0 moveq r0, #0 bxeq lr cmp r0, #0xa moveq r0, #0xa bxeq lr mov ip, #0 ldr r2, _02025548 ; =_0209A044 b _02025538 _0202551C: add r1, r2, ip, lsl #2 ldrh r1, [r1, #2] mov r3, ip, lsl #2 cmp r0, r1 ldreqh r0, [r2, r3] bxeq lr add ip, ip, #1 _02025538: cmp ip, #0xdc blt _0202551C mov r0, #0 bx lr .align 2, 0 _02025548: .word _0209A044 arm_func_end sub_020254F8 arm_func_start sub_0202554C sub_0202554C: ; 0x0202554C stmdb sp!, {r3, lr} cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} cmp r0, #0xa moveq r0, #0xa ldmeqia sp!, {r3, pc} mov lr, #0 ldr ip, _020255CC ; =0x000001BE ldr r2, _020255D0 ; =_0209A3B4 b _020255A4 _02025578: add r1, lr, ip add r1, r1, r1, lsr #31 mov r3, r1, asr #1 mov r1, r3, lsl #2 ldrh r1, [r2, r1] cmp r0, r1 moveq lr, r3 beq _020255AC cmp r1, r0 addlo lr, r3, #1 movhs ip, r3 _020255A4: cmp lr, ip blt _02025578 _020255AC: ldr r1, _020255D0 ; =_0209A3B4 mov r2, lr, lsl #2 ldrh r1, [r1, r2] cmp r0, r1 ldreq r0, _020255D4 ; =_0209A3B6 ldreqh r0, [r0, r2] movne r0, #0x3f ldmia sp!, {r3, pc} .align 2, 0 _020255CC: .word 0x000001BE _020255D0: .word _0209A3B4 _020255D4: .word _0209A3B6 arm_func_end sub_0202554C arm_func_start sub_020255D8 sub_020255D8: ; 0x020255D8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 str r1, [sp] add r4, sp, #0 b _020255FC _020255EC: mov r0, r4 bl sub_0202065C bl sub_02025480 strh r0, [r5], #2 _020255FC: ldr r0, [sp] ldrb r0, [r0] cmp r0, #0 bne _020255EC mov r1, #0 mov r0, r5 strh r1, [r5] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020255D8 arm_func_start sub_0202561C sub_0202561C: ; 0x0202561C stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r4, r0 mov r8, r2 mov r7, r3 str r1, [sp] mov r6, #0 add r5, sp, #0 b _02025654 _02025640: mov r0, r5 bl sub_0202065C bl sub_02025480 strh r0, [r4], #2 add r6, r6, #1 _02025654: ldr r0, [sp] ldrb r0, [r0] cmp r0, #0 beq _0202566C cmp r6, r8 blt _02025640 _0202566C: cmp r7, #0 beq _02025680 cmp r6, r8 movlt r0, #0 strlth r0, [r4] _02025680: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end sub_0202561C arm_func_start sub_0202568C sub_0202568C: ; 0x0202568C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 mov r8, r1 mov r7, r2 mov r6, r3 mov r5, #0 b _020256CC _020256A8: bl sub_020254F8 ands r1, r0, #0xff00 movne r1, r1, asr #8 strneb r1, [r4] strneb r0, [r4, #1] addne r4, r4, #2 streqb r0, [r4], #1 add r8, r8, #2 add r5, r5, #1 _020256CC: ldrh r0, [r8] cmp r0, #0 beq _020256E0 cmp r5, r7 blt _020256A8 _020256E0: cmp r6, #0 beq _020256F4 cmp r5, r7 movlt r0, #0 strltb r0, [r4] _020256F4: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0202568C arm_func_start sub_020256FC sub_020256FC: ; 0x020256FC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 mov r7, #0 mov r5, #0x81 mov r4, #0x48 ldr fp, _02025780 ; =0x000081A1 b _02025764 _02025720: bl sub_0202554C mov r6, r0 bl sub_02025C7C ldrh r0, [r0] cmp r0, fp streqb r5, [sl] streqb r4, [sl, #1] addeq sl, sl, #2 beq _0202575C ands r0, r6, #0xff00 movne r0, r0, asr #8 strneb r0, [sl] strneb r6, [sl, #1] addne sl, sl, #2 streqb r6, [sl], #1 _0202575C: add sb, sb, #2 add r7, r7, #1 _02025764: ldrh r0, [sb] cmp r0, #0 beq _02025778 cmp r7, r8 blt _02025720 _02025778: mov r0, sl ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02025780: .word 0x000081A1 arm_func_end sub_020256FC arm_func_start sub_02025784 sub_02025784: ; 0x02025784 bx lr arm_func_end sub_02025784 arm_func_start GetStringFromFile GetStringFromFile: ; 0x02025788 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r1 mov r5, r0 bl DataTransferInit sub r0, r4, #1 mov r1, r0, lsl #0x10 ldr r0, _020257F8 ; =_022A59C0 mov r1, r1, lsr #0xe mov r2, #0 bl FileSeek ldr r0, _020257F8 ; =_022A59C0 add r1, sp, #0 mov r2, #8 bl FileRead ldr r1, [sp] ldr r0, _020257F8 ; =_022A59C0 mov r2, #0 bl FileSeek ldr r3, [sp, #4] ldr r2, [sp] ldr r0, _020257F8 ; =_022A59C0 mov r1, r5 sub r2, r3, r2 bl FileRead bl DataTransferStop add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020257F8: .word _022A59C0 arm_func_end GetStringFromFile arm_func_start sub_020257FC sub_020257FC: ; 0x020257FC stmdb sp!, {r3, lr} ldr r0, _02025814 ; =_022A59B8 mov r1, #8 bl MemZero bl LoadStringFile ldmia sp!, {r3, pc} .align 2, 0 _02025814: .word _022A59B8 arm_func_end sub_020257FC arm_func_start LoadStringFile LoadStringFile: ; 0x02025818 stmdb sp!, {r4, lr} bl GetLanguage ldr r1, _0202587C ; =_020AFCEC mov r4, r0 ldrsb r0, [r1] cmp r0, r4 ldmeqia sp!, {r4, pc} bl DataTransferInit ldr r1, _0202587C ; =_020AFCEC mvn r0, #0 ldrsb r1, [r1] cmp r1, r0 beq _02025854 ldr r0, _02025880 ; =_022A59C0 bl FileClose _02025854: ldr r1, _0202587C ; =_020AFCEC ldr r0, _02025880 ; =_022A59C0 strb r4, [r1] bl FileInitVeneer ldr r1, _02025884 ; =_020AFCF0 ldr r0, _02025880 ; =_022A59C0 ldr r1, [r1, r4, lsl #2] bl FileOpen bl DataTransferStop ldmia sp!, {r4, pc} .align 2, 0 _0202587C: .word _020AFCEC _02025880: .word _022A59C0 _02025884: .word _020AFCF0 arm_func_end LoadStringFile arm_func_start sub_02025888 sub_02025888: ; 0x02025888 ldr r1, _020258B0 ; =_022A59B8 ldr r0, _020258B4 ; =_022A5A08 ldrh r3, [r1, #4] add r2, r3, #1 strh r2, [r1, #4] ldrh r2, [r1, #4] add r0, r0, r3, lsl #10 and r2, r2, #7 strh r2, [r1, #4] bx lr .align 2, 0 _020258B0: .word _022A59B8 _020258B4: .word _022A5A08 arm_func_end sub_02025888 arm_func_start GetStringFromFileVeneer GetStringFromFileVeneer: ; 0x020258B8 ldr ip, _020258C0 ; =GetStringFromFile bx ip .align 2, 0 _020258C0: .word GetStringFromFile arm_func_end GetStringFromFileVeneer arm_func_start StringFromMessageId StringFromMessageId: ; 0x020258C4 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02025888 mov r1, r4 mov r4, r0 bl GetStringFromFile mov r0, r4 ldmia sp!, {r4, pc} arm_func_end StringFromMessageId arm_func_start sub_020258E4 sub_020258E4: ; 0x020258E4 stmdb sp!, {r4, lr} sub sp, sp, #0x400 mov r4, r0 add r0, sp, #0 bl GetStringFromFile add r1, sp, #0 mov r0, r4 bl strcpy add sp, sp, #0x400 ldmia sp!, {r4, pc} arm_func_end sub_020258E4 arm_func_start CopyStringFromMessageId CopyStringFromMessageId: ; 0x0202590C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x400 mov r5, r0 add r0, sp, #0 mov r4, r2 bl GetStringFromFile add r1, sp, #0 mov r0, r5 mov r2, r4 bl strncpy add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, pc} arm_func_end CopyStringFromMessageId arm_func_start LoadTblTalk LoadTblTalk: ; 0x0202593C stmdb sp!, {r3, lr} bl DataTransferInit ldr r0, _02025980 ; =_022A7A0C bl FileInitVeneer ldr r0, _02025980 ; =_022A7A0C ldr r1, _02025984 ; =_0209AAD8 bl FileOpen ldr r0, _02025980 ; =_022A7A0C mov r1, #0x33c mov r2, #0 bl FileSeek ldr r0, _02025980 ; =_022A7A0C ldr r1, _02025988 ; =_022A7A08 mov r2, #2 bl FileRead bl DataTransferStop ldmia sp!, {r3, pc} .align 2, 0 _02025980: .word _022A7A0C _02025984: .word _0209AAD8 _02025988: .word _022A7A08 arm_func_end LoadTblTalk arm_func_start GetTalkLine GetTalkLine: ; 0x0202598C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x6c ldr r3, _02025AC4 ; =0x000004B8 mov r6, r0 cmp r6, r3 addne r0, r3, #0x1b mov r5, r1 mov r4, r2 cmpne r6, r0 bne _020259BC cmp r4, #2 moveq r4, #0 _020259BC: bl DataTransferInit ldr r1, _02025AC8 ; =_022A7A08 ldr r0, _02025ACC ; =_022A7A0C ldrsh r1, [r1] mov r2, #0 add r1, r1, r6 bl FileSeek ldr r0, _02025ACC ; =_022A7A0C add r1, sp, #0 mov r2, #1 bl FileRead ldrsb r2, [sp] cmp r2, #0 bge _02025A00 bl DataTransferStop ldr r0, _02025AD0 ; =0x00003EFD b _02025ABC _02025A00: mov r0, #6 mla r1, r2, r0, r5 ldr r0, _02025ACC ; =_022A7A0C mov r1, r1, lsl #1 mov r2, #0 bl FileSeek ldr r0, _02025ACC ; =_022A7A0C add r1, sp, #2 mov r2, #4 bl FileRead ldrsh r1, [sp, #2] ldrsh r0, [sp, #4] subs r6, r0, r1 bne _02025A44 bl DataTransferStop ldr r0, _02025AD0 ; =0x00003EFD b _02025ABC _02025A44: ldr r0, _02025ACC ; =_022A7A0C mov r2, #0 bl FileSeek ldr r0, _02025ACC ; =_022A7A0C add r1, sp, #6 mov r2, r6 bl FileRead cmp r4, #1 bne _02025A78 mov r0, #2 bl RandInt mov r4, r0 b _02025A90 _02025A78: cmp r4, #2 moveq r4, #2 beq _02025A90 mov r0, r6, lsr #1 bl RandInt mov r4, r0 _02025A90: bl DataTransferStop ldr r2, _02025AD4 ; =TBL_TALK_GROUP_STRING_ID_START mov r3, r5, lsl #1 add r0, sp, #6 mov r1, r4, lsl #1 ldrh r2, [r2, r3] ldrsh r0, [r0, r1] add r0, r2, r0 mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x10 ldreq r0, _02025AD0 ; =0x00003EFD _02025ABC: add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02025AC4: .word 0x000004B8 _02025AC8: .word _022A7A08 _02025ACC: .word _022A7A0C _02025AD0: .word 0x00003EFD _02025AD4: .word TBL_TALK_GROUP_STRING_ID_START arm_func_end GetTalkLine arm_func_start sub_02025AD8 sub_02025AD8: ; 0x02025AD8 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r1, _02025B6C ; =_0209ABF0 add r0, sp, #0 mov r2, #1 bl LoadFileFromRom ldr r0, [sp] ldr r2, _02025B70 ; =_022A7A54 add r3, r0, #4 str r0, [r2, #0x10] str r3, [r2] ldr r1, _02025B74 ; =_0209AC04 add r0, sp, #0 mov r2, #1 bl LoadFileFromRom ldr r0, [sp] ldr r2, _02025B70 ; =_022A7A54 add r3, r0, #4 str r0, [r2, #0x14] str r3, [r2, #4] ldr r1, _02025B78 ; =_0209AC18 add r0, sp, #0 mov r2, #1 bl LoadFileFromRom ldr r0, [sp] ldr r1, _02025B7C ; =_020AFD04 mov r2, #0 str r0, [r1, #0xc] str r2, [r1, #8] ldr r0, _02025B70 ; =_022A7A54 mov r2, #0xb str r2, [r0, #8] str r2, [r0, #0xc] mov r0, #1 strb r0, [r1] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02025B6C: .word _0209ABF0 _02025B70: .word _022A7A54 _02025B74: .word _0209AC04 _02025B78: .word _0209AC18 _02025B7C: .word _020AFD04 arm_func_end sub_02025AD8 arm_func_start sub_02025B80 sub_02025B80: ; 0x02025B80 ldr r1, _02025B8C ; =_020AFD04 str r0, [r1, #8] bx lr .align 2, 0 _02025B8C: .word _020AFD04 arm_func_end sub_02025B80 arm_func_start sub_02025B90 sub_02025B90: ; 0x02025B90 stmdb sp!, {r4, lr} sub sp, sp, #0x40 ldr r1, _02025C00 ; =_020AFD34 mov r4, r0 ldr r2, [r1, r4, lsl #2] ldr r1, _02025C04 ; =_0209AC2C add r0, sp, #0 bl sprintf add r0, sp, #0 bl sub_02027274 ldr r0, _02025C08 ; =_020AFD04 ldr r1, [r0, #0xc] cmp r1, #0 strne r1, [r0, #4] ldr r1, _02025C0C ; =_020AFD1C add r0, sp, #0 ldr r2, [r1, r4, lsl #2] ldr r1, _02025C04 ; =_0209AC2C bl sprintf ldr r0, _02025C10 ; =_020AFD14 add r1, sp, #0 mov r2, #1 bl LoadFileFromRom ldr r0, _02025C08 ; =_020AFD04 ldr r1, [r0, #0x10] str r1, [r0, #0xc] add sp, sp, #0x40 ldmia sp!, {r4, pc} .align 2, 0 _02025C00: .word _020AFD34 _02025C04: .word _0209AC2C _02025C08: .word _020AFD04 _02025C0C: .word _020AFD1C _02025C10: .word _020AFD14 arm_func_end sub_02025B90 arm_func_start sub_02025C14 sub_02025C14: ; 0x02025C14 stmdb sp!, {r3, lr} ldr r0, _02025C70 ; =_020AFD04 ldr r0, [r0, #0x10] cmp r0, #0 beq _02025C30 ldr r0, _02025C74 ; =_020AFD14 bl UnloadFile _02025C30: ldr r1, _02025C70 ; =_020AFD04 mov r2, #0 str r2, [r1, #0x10] ldr r0, _02025C78 ; =_0209AC38 str r2, [r1, #0x14] bl sub_02027274 ldr r0, _02025C70 ; =_020AFD04 ldr r1, [r0, #4] cmp r1, #0 strne r1, [r0, #0xc] ldr r0, _02025C70 ; =_020AFD04 mov r1, #0 str r1, [r0, #4] bl sub_02027170 bl sub_02027390 ldmia sp!, {r3, pc} .align 2, 0 _02025C70: .word _020AFD04 _02025C74: .word _020AFD14 _02025C78: .word _0209AC38 arm_func_end sub_02025C14 arm_func_start sub_02025C7C sub_02025C7C: ; 0x02025C7C stmdb sp!, {r4, lr} ldr r1, _02025D3C ; =_020AFD04 ldr r2, _02025D40 ; =_022A7A54 ldr r4, [r1, #8] cmp r0, #0xf800 ldr r1, [r2, r4, lsl #2] blo _02025CCC ldr r2, _02025D44 ; =0x0000FFFF cmp r0, r2 bhs _02025CCC and r2, r0, #0xff00 and r3, r0, #0xff mov r0, r2, asr #8 sub r3, r3, #0x20 sub r2, r0, #0xf8 mov r0, #0xe0 mla r3, r2, r0, r3 mov r0, #0x1c mla r1, r3, r0, r1 b _02025D34 _02025CCC: ldr r3, _02025D48 ; =_022A7A64 mov r2, #0 ldr r3, [r3, r4, lsl #2] mov ip, #0x1c ldr r3, [r3] sub r4, r3, #1 b _02025D14 _02025CE8: add r3, r2, r4 add r3, r3, r3, lsr #31 mov lr, r3, asr #1 mul r3, lr, ip ldrh r3, [r1, r3] cmp r0, r3 moveq r2, lr beq _02025D1C cmp r3, r0 addlo r2, lr, #1 movhs r4, lr _02025D14: cmp r2, r4 blt _02025CE8 _02025D1C: mov r3, #0x1c mul r3, r2, r3 ldrh r2, [r1, r3] add r1, r1, r3 cmp r2, r0 ldrne r1, _02025D4C ; =_0209AB60 _02025D34: mov r0, r1 ldmia sp!, {r4, pc} .align 2, 0 _02025D3C: .word _020AFD04 _02025D40: .word _022A7A54 _02025D44: .word 0x0000FFFF _02025D48: .word _022A7A64 _02025D4C: .word _0209AB60 arm_func_end sub_02025C7C arm_func_start sub_02025D50 sub_02025D50: ; 0x02025D50 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr ip, [sp, #0x18] mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 str ip, [sp] bl sub_01FF905C mov ip, #0x13 mov r0, r7 mov r1, r6 mov r3, r4 add r2, r5, #1 str ip, [sp] bl sub_01FF905C ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02025D50 arm_func_start sub_02025D90 sub_02025D90: ; 0x02025D90 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r4, [sp, #0x28] mov sl, r1 mov sb, r2 mov fp, r0 add r6, sl, r3 add r7, sb, r4 ldr r8, [sp, #0x2c] b _02025E78 _02025DB4: mov r0, fp mov r5, sl bl sub_020275F8 mov r4, r0 mov r0, fp bl sub_0202760C cmp sb, #0 blt _02025E74 ldrb r1, [r4, #7] cmp sb, r1, lsl #3 bge _02025E74 ldrb r2, [r4, #6] mov r1, r6 cmp sl, #0 mov r3, r2, lsl #3 bge _02025E00 cmp r6, #0 blt _02025E74 mov r5, #0 _02025E00: cmp r6, r3 blt _02025E14 cmp r5, r3 bge _02025E74 sub r1, r3, #1 _02025E14: mov r3, sb, asr #2 add r3, sb, r3, lsr #29 mov r3, r3, asr #3 mul r4, r3, r2 mov r3, sb, lsr #0x1f rsb r2, r3, sb, lsl #29 add r2, r3, r2, ror #29 add r2, r2, r4, lsl #3 add r2, r0, r2, lsl #3 and r0, r8, #0xff b _02025E6C _02025E40: mov r4, r5, lsr #0x1f mov ip, r5, asr #2 rsb r3, r4, r5, lsl #29 add ip, r5, ip, lsr #29 add r4, r4, r3, ror #29 mov r3, ip, asr #3 add r4, r4, r3, lsl #6 ldrb r3, [r2, r4] add r5, r5, #1 cmp r3, #0 streqb r0, [r2, r4] _02025E6C: cmp r5, r1 ble _02025E40 _02025E74: add sb, sb, #1 _02025E78: cmp sb, r7 blt _02025DB4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02025D90 arm_func_start sub_02025E84 sub_02025E84: ; 0x02025E84 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x54 ldr r4, _02025EE4 ; =_0209AB9C add lr, sp, #0 mov r6, r0 mov r5, r1 mov ip, #5 _02025EA0: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02025EA0 ldr r1, [r4] mov r0, #0x17 str r1, [lr] strb r5, [r6] str r0, [r6, #0x110] mov r3, #0x13 add r1, sp, #0 mov r2, r6 add r0, r6, #4 str r3, [r6, #0x114] bl sub_02020A9C add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02025EE4: .word _0209AB9C arm_func_end sub_02025E84 arm_func_start sub_02025EE8 sub_02025EE8: ; 0x02025EE8 stmdb sp!, {r3, lr} add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldrh r0, [sp] tst r0, #3 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_02025EE8 arm_func_start sub_02025F10 sub_02025F10: ; 0x02025F10 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 mov r5, r0 add r1, sp, #2 mov r0, #0 bl GetHeldButtons add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldrh r0, [sp] tst r0, #3 movne r0, #1 bne _02025FD4 ldrh r0, [sp, #2] tst r0, #2 beq _02025F5C tst r0, #0xf0 moveq r0, #1 beq _02025FD4 _02025F5C: bl sub_0204AE60 cmp r0, #0 beq _02025FD0 ldrsb r0, [r5] mov r4, #0 bl sub_02028324 cmp r0, #0 bne _02025FAC ldrsb r0, [r5] bl sub_020275F8 ldrsb r1, [r0, #9] mvn r0, #5 cmp r1, r0 addne r0, r0, #1 cmpne r1, r0 beq _02025FAC ldrsb r0, [r5] add r4, sp, #0x28 mov r1, r4 bl sub_02028284 _02025FAC: add r0, sp, #4 bl GetReleasedStylus ldr r1, _02025FDC ; =0x00001408 add r0, sp, #4 mov r2, r4 bl sub_02006C8C cmp r0, #0 movne r0, #1 bne _02025FD4 _02025FD0: mov r0, #0 _02025FD4: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02025FDC: .word 0x00001408 arm_func_end sub_02025F10 arm_func_start sub_02025FE0 sub_02025FE0: ; 0x02025FE0 ldr ip, _02025FEC ; =sub_020282C8 ldrsb r0, [r0] bx ip .align 2, 0 _02025FEC: .word sub_020282C8 arm_func_end sub_02025FE0 arm_func_start sub_02025FF0 sub_02025FF0: ; 0x02025FF0 ldr ip, _02025FFC ; =sub_02027B1C ldrsb r0, [r0] bx ip .align 2, 0 _02025FFC: .word sub_02027B1C arm_func_end sub_02025FF0 arm_func_start sub_02026000 sub_02026000: ; 0x02026000 ldr ip, _0202600C ; =sub_01FF929C ldrsb r0, [r0] bx ip .align 2, 0 _0202600C: .word sub_01FF929C arm_func_end sub_02026000 arm_func_start sub_02026010 sub_02026010: ; 0x02026010 ldr ip, _0202601C ; =sub_02027AF0 ldrsb r0, [r0] bx ip .align 2, 0 _0202601C: .word sub_02027AF0 arm_func_end sub_02026010 arm_func_start sub_02026020 sub_02026020: ; 0x02026020 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 bl sub_020265C4 str r0, [r4, #0x110] ldmia sp!, {r4, pc} arm_func_end sub_02026020 arm_func_start sub_02026038 sub_02026038: ; 0x02026038 ldr r1, _02026044 ; =_020AFD04 str r0, [r1, #8] bx lr .align 2, 0 _02026044: .word _020AFD04 arm_func_end sub_02026038 arm_func_start sub_02026048 sub_02026048: ; 0x02026048 stmdb sp!, {r3, lr} ldr ip, [r0, #0x110] str ip, [sp] ldrsb r0, [r0] bl sub_0202676C ldmia sp!, {r3, pc} arm_func_end sub_02026048 arm_func_start sub_02026060 sub_02026060: ; 0x02026060 ldr ip, _0202606C ; =sub_02026B1C ldrsb r0, [r0] bx ip .align 2, 0 _0202606C: .word sub_02026B1C arm_func_end sub_02026060 arm_func_start sub_02026070 sub_02026070: ; 0x02026070 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldrsb r4, [r0] ldr ip, [r0, #0x110] mov r7, r1 mov r6, r2 mov r5, r3 mov r0, r4 str ip, [sp] bl sub_01FF905C mov ip, #0x13 mov r0, r4 mov r1, r7 mov r3, r5 add r2, r6, #1 str ip, [sp] bl sub_01FF905C ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02026070 arm_func_start sub_020260B4 sub_020260B4: ; 0x020260B4 ldr ip, _020260C0 ; =sub_020288DC ldrsb r0, [r0] bx ip .align 2, 0 _020260C0: .word sub_020288DC arm_func_end sub_020260B4 arm_func_start sub_020260C4 sub_020260C4: ; 0x020260C4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r4, r0 ldrsb r0, [r4] mov r6, r1 add r1, sp, #0 mov r5, r2 bl sub_02028284 cmp r6, #0 bge _02026118 ldr r1, [sp, #8] ldr r0, [sp, #0xc] ldr r3, [sp, #4] add r0, r1, r0 add r1, r0, r0, lsr #31 ldrsb r0, [r4] mov r2, r1, asr #1 add r3, r3, #4 mov r1, #4 bl sub_020288FC b _02026134 _02026118: ldr r2, [sp, #8] ldr r1, [sp] ldrsb r0, [r4] add r2, r6, r2 add r3, r5, r1 mov r1, #3 bl sub_020288FC _02026134: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020260C4 arm_func_start sub_0202613C sub_0202613C: ; 0x0202613C ldr ip, _02026148 ; =sub_02020B14 add r0, r0, #4 bx ip .align 2, 0 _02026148: .word sub_02020B14 arm_func_end sub_0202613C arm_func_start sub_0202614C sub_0202614C: ; 0x0202614C stmdb sp!, {r3, lr} sub sp, sp, #8 add r3, sp, #0 str r1, [sp] mov r1, r3 add r0, r0, #4 str r2, [sp, #4] bl sub_02020B60 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end sub_0202614C arm_func_start sub_02026174 sub_02026174: ; 0x02026174 ldr ip, _02026180 ; =sub_02020B74 add r0, r0, #4 bx ip .align 2, 0 _02026180: .word sub_02020B74 arm_func_end sub_02026174 arm_func_start sub_02026184 sub_02026184: ; 0x02026184 ldr ip, _02026190 ; =sub_02020BB8 add r0, r0, #4 bx ip .align 2, 0 _02026190: .word sub_02020BB8 arm_func_end sub_02026184 arm_func_start sub_02026194 sub_02026194: ; 0x02026194 ldr ip, _020261A0 ; =sub_02020BC4 add r0, r0, #4 bx ip .align 2, 0 _020261A0: .word sub_02020BC4 arm_func_end sub_02026194 arm_func_start sub_020261A4 sub_020261A4: ; 0x020261A4 ldr ip, _020261B0 ; =sub_02020CCC add r0, r0, #4 bx ip .align 2, 0 _020261B0: .word sub_02020CCC arm_func_end sub_020261A4 arm_func_start sub_020261B4 sub_020261B4: ; 0x020261B4 ldr ip, _020261C0 ; =sub_02020D18 add r0, r0, #4 bx ip .align 2, 0 _020261C0: .word sub_02020D18 arm_func_end sub_020261B4 arm_func_start sub_020261C4 sub_020261C4: ; 0x020261C4 ldr ip, _020261D0 ; =sub_02020D40 add r0, r0, #4 bx ip .align 2, 0 _020261D0: .word sub_02020D40 arm_func_end sub_020261C4 arm_func_start sub_020261D4 sub_020261D4: ; 0x020261D4 ldr ip, _020261E0 ; =sub_02020D54 add r0, r0, #4 bx ip .align 2, 0 _020261E0: .word sub_02020D54 arm_func_end sub_020261D4 arm_func_start sub_020261E4 sub_020261E4: ; 0x020261E4 ldr ip, _020261F0 ; =sub_02020D5C add r0, r0, #4 bx ip .align 2, 0 _020261F0: .word sub_02020D5C arm_func_end sub_020261E4 arm_func_start sub_020261F4 sub_020261F4: ; 0x020261F4 ldr ip, _02026200 ; =sub_02020D7C add r0, r0, #4 bx ip .align 2, 0 _02026200: .word sub_02020D7C arm_func_end sub_020261F4 arm_func_start sub_02026204 sub_02026204: ; 0x02026204 ldr ip, _02026210 ; =AnalyzeText add r0, r0, #4 bx ip .align 2, 0 _02026210: .word AnalyzeText arm_func_end sub_02026204 arm_func_start sub_02026214 sub_02026214: ; 0x02026214 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x124 mov r4, r0 str r1, [sp] mov r1, r4 add r0, sp, #8 mov r4, r3 str r2, [sp, #4] bl sub_02025E84 add r0, sp, #0xc add r1, sp, #0 bl sub_02020B60 ldr r1, _02026264 ; =0x0000C402 add r0, sp, #0xc mov r2, r4 bl sub_02020BC4 add r0, sp, #0xc bl AnalyzeText add sp, sp, #0x124 ldmia sp!, {r3, r4, pc} .align 2, 0 _02026264: .word 0x0000C402 arm_func_end sub_02026214 arm_func_start sub_02026268 sub_02026268: ; 0x02026268 stmdb sp!, {r4, lr} sub sp, sp, #0x128 sub sp, sp, #0x400 str r2, [sp, #8] mov r2, r3 mov r4, r0 str r1, [sp, #4] mov ip, #0 ldr r3, _020262DC ; =0x0000C402 add r0, sp, #0xc mov r1, #0x400 str ip, [sp] bl PreprocessStringFromMessageId add r0, sp, #0x400 add r0, r0, #0xc mov r1, r4 bl sub_02025E84 add r0, sp, #0x410 add r1, sp, #4 bl sub_02020B60 ldr r1, _020262DC ; =0x0000C402 add r0, sp, #0x410 add r2, sp, #0xc bl sub_02020BC4 add r0, sp, #0x410 bl AnalyzeText add sp, sp, #0x128 add sp, sp, #0x400 ldmia sp!, {r4, pc} .align 2, 0 _020262DC: .word 0x0000C402 arm_func_end sub_02026268 arm_func_start sub_020262E0 sub_020262E0: ; 0x020262E0 stmdb sp!, {r4, lr} sub sp, sp, #0x128 sub sp, sp, #0x400 str r2, [sp, #8] mov r2, r3 mov r4, r0 str r1, [sp, #4] ldr ip, [sp, #0x530] ldr r3, _02026354 ; =0x0000C402 add r0, sp, #0xc mov r1, #0x400 str ip, [sp] bl PreprocessStringFromMessageId add r0, sp, #0x400 add r0, r0, #0xc mov r1, r4 bl sub_02025E84 add r0, sp, #0x410 add r1, sp, #4 bl sub_02020B60 ldr r1, _02026354 ; =0x0000C402 add r0, sp, #0x410 add r2, sp, #0xc bl sub_02020BC4 add r0, sp, #0x410 bl AnalyzeText add sp, sp, #0x128 add sp, sp, #0x400 ldmia sp!, {r4, pc} .align 2, 0 _02026354: .word 0x0000C402 arm_func_end sub_020262E0 arm_func_start sub_02026358 sub_02026358: ; 0x02026358 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x12c mov r4, r0 ldr lr, [sp, #0x138] ldr ip, [sp, #0x13c] str r1, [sp] mov r1, r4 add r0, sp, #0x10 mov r4, r3 str lr, [sp, #8] str ip, [sp, #0xc] str r2, [sp, #4] bl sub_02025E84 add r0, sp, #0x14 add r1, sp, #8 bl sub_02020B4C add r0, sp, #0x14 add r1, sp, #0 bl sub_02020B60 ldr r1, _020263C4 ; =0x0000C402 add r0, sp, #0x14 mov r2, r4 bl sub_02020BC4 add r0, sp, #0x14 bl AnalyzeText add sp, sp, #0x12c ldmia sp!, {r3, r4, pc} .align 2, 0 _020263C4: .word 0x0000C402 arm_func_end sub_02026358 arm_func_start sub_020263C8 sub_020263C8: ; 0x020263C8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x124 mov r4, r0 str r1, [sp] mov r1, r4 add r0, sp, #8 mov r4, r3 str r2, [sp, #4] bl sub_02025E84 add r0, sp, #0xc add r1, sp, #0 bl sub_02020B60 ldr r1, _02026424 ; =0x0000C402 add r0, sp, #0xc mov r2, r4 bl sub_02020BC4 ldrb r1, [sp, #0x130] add r0, sp, #0xc bl sub_02020B74 add r0, sp, #0xc bl AnalyzeText add sp, sp, #0x124 ldmia sp!, {r3, r4, pc} .align 2, 0 _02026424: .word 0x0000C402 arm_func_end sub_020263C8 arm_func_start sub_02026428 sub_02026428: ; 0x02026428 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x12c mov r4, r0 ldr lr, [sp, #0x13c] ldr ip, [sp, #0x140] str r1, [sp] mov r1, r4 add r0, sp, #0x10 mov r4, r3 str lr, [sp, #8] str ip, [sp, #0xc] str r2, [sp, #4] bl sub_02025E84 add r0, sp, #0x14 add r1, sp, #8 bl sub_02020B4C add r0, sp, #0x14 add r1, sp, #0 bl sub_02020B60 ldr r1, _020264A0 ; =0x0000C402 add r0, sp, #0x14 mov r2, r4 bl sub_02020BC4 ldrb r1, [sp, #0x138] add r0, sp, #0x14 bl sub_02020B94 add r0, sp, #0x14 bl AnalyzeText add sp, sp, #0x12c ldmia sp!, {r3, r4, pc} .align 2, 0 _020264A0: .word 0x0000C402 arm_func_end sub_02026428 arm_func_start sub_020264A4 sub_020264A4: ; 0x020264A4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x124 mov r4, r0 str r1, [sp] mov r1, r4 add r0, sp, #8 mov r4, r3 str r2, [sp, #4] bl sub_02025E84 add r0, sp, #0xc add r1, sp, #0 bl sub_02020B60 ldr r1, _020264F4 ; =0x0000C403 add r0, sp, #0xc mov r2, r4 bl sub_02020BC4 add r0, sp, #0xc bl AnalyzeText add sp, sp, #0x124 ldmia sp!, {r3, r4, pc} .align 2, 0 _020264F4: .word 0x0000C403 arm_func_end sub_020264A4 arm_func_start sub_020264F8 sub_020264F8: ; 0x020264F8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r3 mov r7, r0 mov r0, r4 mov r6, r1 mov r5, r2 bl sub_02025C7C ldrb r0, [r0, #2] cmp r0, #0xc rsblo r0, r0, #0xc addlo r0, r0, r0, lsr #31 addlo r6, r6, r0, asr #1 ldrb r0, [sp, #0x18] bl sub_020265C4 str r0, [sp] mov r0, r7 mov r1, r6 mov r2, r5 mov r3, r4 bl sub_0202676C ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020264F8 arm_func_start sub_0202654C sub_0202654C: ; 0x0202654C stmdb sp!, {r3, lr} ldr r1, _02026590 ; =_020AFD04 mov r3, r0 ldr r1, [r1, #8] cmp r1, #2 blt _0202657C mov r1, #0 mov r2, r1 sub r0, r1, #2 str r1, [sp] bl sub_02026C68 ldmia sp!, {r3, pc} _0202657C: bl sub_02025C7C cmp r0, #0 ldrneb r0, [r0, #2] moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02026590: .word _020AFD04 arm_func_end sub_0202654C arm_func_start sub_02026594 sub_02026594: ; 0x02026594 ldr r1, _020265A4 ; =_020AFD04 ldr r1, [r1, #0xc] ldrb r0, [r1, r0, lsl #2] bx lr .align 2, 0 _020265A4: .word _020AFD04 arm_func_end sub_02026594 arm_func_start sub_020265A8 sub_020265A8: ; 0x020265A8 ldr ip, _020265B8 ; =sub_02022118 ldr r1, _020265BC ; =sub_0202654C ldr r2, _020265C0 ; =sub_02026594 bx ip .align 2, 0 _020265B8: .word sub_02022118 _020265BC: .word sub_0202654C _020265C0: .word sub_02026594 arm_func_end sub_020265A8 arm_func_start sub_020265C4 sub_020265C4: ; 0x020265C4 sub r0, r0, #0x41 cmp r0, #0x31 addls pc, pc, r0, lsl #2 b _02026764 _020265D4: ; jump table b _0202671C ; case 0 b _02026704 ; case 1 b _020266B4 ; case 2 b _02026764 ; case 3 b _020266AC ; case 4 b _020266D4 ; case 5 b _02026734 ; case 6 b _0202674C ; case 7 b _0202671C ; case 8 b _02026754 ; case 9 b _020266E4 ; case 10 b _02026744 ; case 11 b _020266EC ; case 12 b _020266DC ; case 13 b _0202675C ; case 14 b _020266F4 ; case 15 b _02026714 ; case 16 b _0202673C ; case 17 b _0202670C ; case 18 b _0202669C ; case 19 b _02026724 ; case 20 b _020266FC ; case 21 b _020266BC ; case 22 b _020266C4 ; case 23 b _020266CC ; case 24 b _0202672C ; case 25 b _02026764 ; case 26 b _02026764 ; case 27 b _02026764 ; case 28 b _02026764 ; case 29 b _02026764 ; case 30 b _02026764 ; case 31 b _02026764 ; case 32 b _02026764 ; case 33 b _02026764 ; case 34 b _02026764 ; case 35 b _02026764 ; case 36 b _02026764 ; case 37 b _02026764 ; case 38 b _02026764 ; case 39 b _02026764 ; case 40 b _020266F4 ; case 41 b _02026764 ; case 42 b _02026764 ; case 43 b _02026764 ; case 44 b _02026764 ; case 45 b _02026764 ; case 46 b _02026764 ; case 47 b _02026764 ; case 48 b _020266A4 ; case 49 _0202669C: mov r0, #0 bx lr _020266A4: mov r0, #0x15 bx lr _020266AC: mov r0, #0x18 bx lr _020266B4: mov r0, #0x19 bx lr _020266BC: mov r0, #0x1a bx lr _020266C4: mov r0, #0x1b bx lr _020266CC: mov r0, #0x1c bx lr _020266D4: mov r0, #0x1d bx lr _020266DC: mov r0, #0x1e bx lr _020266E4: mov r0, #0x1f bx lr _020266EC: mov r0, #0x20 bx lr _020266F4: mov r0, #0x21 bx lr _020266FC: mov r0, #0x22 bx lr _02026704: mov r0, #0x23 bx lr _0202670C: mov r0, #0x24 bx lr _02026714: mov r0, #0x25 bx lr _0202671C: mov r0, #0x26 bx lr _02026724: mov r0, #0x27 bx lr _0202672C: mov r0, #0x28 bx lr _02026734: mov r0, #0x29 bx lr _0202673C: mov r0, #0x2a bx lr _02026744: mov r0, #0x2b bx lr _0202674C: mov r0, #0x2c bx lr _02026754: mov r0, #0x2d bx lr _0202675C: mov r0, #0x2e bx lr _02026764: mov r0, #0x17 bx lr arm_func_end sub_020265C4 arm_func_start sub_0202676C sub_0202676C: ; 0x0202676C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c str r0, [sp, #4] mov sl, r1 mov r6, r2 mov r7, r3 ldr r5, [sp, #0x50] bl sub_020275F8 ldr r1, _02026B14 ; =_020AFD04 str r0, [sp, #0x18] ldr r0, [r1, #8] cmp r0, #2 blt _020267C0 ldr r0, [sp, #4] mov r4, #1 mov r1, sl mov r2, r6 mov r3, r7 str r4, [sp] bl sub_02026C68 b _02026B0C _020267C0: ldr r0, [sp, #4] add r1, sp, #0x24 bl sub_020282C8 mov r0, r7 bl sub_02025C7C ldr r1, _02026B14 ; =_020AFD04 str r0, [sp, #0x14] ldrb r1, [r1] add r4, r0, #4 cmp r1, #0 beq _02026804 ldrb r0, [r0, #3] tst r0, #2 movne r0, #1 moveq r0, #0 and fp, r0, #0xff b _02026808 _02026804: mov fp, #0 _02026808: ldr r0, _02026B14 ; =_020AFD04 ldr r3, [sp, #0x24] ldr r2, [r0, #8] ldr r1, _02026B18 ; =_022A7A5C sub r0, r3, #8 cmp r6, #0 str r0, [sp, #0x1c] ldr r7, [r1, r2, lsl #2] mov r8, #0 bge _0202684C mov r8, #1 b _02026844 _02026838: add r4, r4, #2 add r6, r6, #1 sub r7, r7, #1 _02026844: cmp r6, #0 blt _02026838 _0202684C: cmp fp, #0 beq _02026868 cmp r8, #0 subne r0, r4, #2 strne r0, [sp, #8] streq r4, [sp, #8] b _02026870 _02026868: str r4, [sp, #8] mov r8, #0 _02026870: ldr r1, [sp, #0x28] add r0, r6, r7 cmp r0, r1 and sb, sl, #7 subge r7, r1, r6 rsb r1, sb, #7 ldr r0, [sp, #4] str r1, [sp, #0xc] bl sub_0202760C mov r3, r6, lsr #0x1f ldr r1, [sp, #0x18] rsb r2, r3, r6, lsl #29 add r2, r3, r2, ror #29 mov r3, sl, asr #2 add r3, sl, r3, lsr #29 mov sl, r6, asr #2 add sl, r6, sl, lsr #29 ldrb r1, [r1, #6] mov sl, sl, asr #3 mul r1, sl, r1 add r1, r1, r3, asr #3 mov r1, r1, lsl #4 add r1, r1, r2, lsl #1 add r0, r0, r1, lsl #2 add sb, r0, sb mov r1, #0 b _02026A88 _020268DC: mov ip, sb ldr r2, [sp, #0xc] cmp r8, #0 beq _0202699C ldr sl, [sp, #8] mov r3, #0 ldrh r0, [sl], #2 str sl, [sp, #8] and sl, r5, #0xff ldrh lr, [r4], #2 str r3, [sp, #0x10] str sl, [sp, #0x20] _0202690C: tst lr, #1 ldrne r3, [sp, #0x20] strneb r3, [ip], #1 movne r3, #1 bne _02026950 cmp r3, #0 bne _02026930 tst r0, #1 beq _0202694C _02026930: ldrb sl, [ip] mov r3, #0 cmp sl, #0 moveq sl, #0x13 streqb sl, [ip], #1 addne ip, ip, #1 b _02026950 _0202694C: add ip, ip, #1 _02026950: mov sl, lr, lsl #0xf mov lr, sl, lsr #0x10 ldr sl, [sp, #0x10] subs r2, r2, #1 mov r0, r0, lsl #0xf add sl, sl, #1 mov r0, r0, lsr #0x10 addmi ip, ip, #0x38 movmi r2, #7 str sl, [sp, #0x10] cmp sl, #0xc blt _0202690C cmp r3, #0 beq _02026A68 ldrb r0, [ip] cmp r0, #0 moveq r0, #0x13 streqb r0, [ip] b _02026A68 _0202699C: cmp fp, #0 beq _02026A2C ldrh r8, [r4], #2 mov r3, #0 mov lr, r3 and r0, r5, #0xff _020269B4: tst r8, #1 strneb r0, [ip], #1 movne r3, #1 bne _020269EC cmp r3, #0 beq _020269E8 ldrb sl, [ip] mov r3, #0 cmp sl, #0 moveq sl, #0x13 streqb sl, [ip], #1 addne ip, ip, #1 b _020269EC _020269E8: add ip, ip, #1 _020269EC: subs r2, r2, #1 mov r8, r8, lsl #0xf add lr, lr, #1 mov r8, r8, lsr #0x10 addmi ip, ip, #0x38 movmi r2, #7 cmp lr, #0xc blt _020269B4 cmp r3, #0 beq _02026A24 ldrb r0, [ip] cmp r0, #0 moveq r0, #0x13 streqb r0, [ip] _02026A24: mov r8, #1 b _02026A68 _02026A2C: ldrh r3, [r4], #2 mov r0, #0 and sl, r5, #0xff mov lr, #7 _02026A3C: tst r3, #1 strneb sl, [ip], #1 addeq ip, ip, #1 subs r2, r2, #1 mov r3, r3, lsl #0xf add r0, r0, #1 mov r3, r3, lsr #0x10 addmi ip, ip, #0x38 movmi r2, lr cmp r0, #0xc blt _02026A3C _02026A68: add r6, r6, #1 mov r2, r6, lsr #0x1f rsb r0, r2, r6, lsl #29 adds r0, r2, r0, ror #29 ldreq r0, [sp, #0x1c] add sb, sb, #8 addeq sb, sb, r0, lsl #3 add r1, r1, #1 _02026A88: cmp r1, r7 blt _020268DC cmp r8, #0 beq _02026B04 ldr r0, [sp, #0x28] add r1, r6, r7 cmp r1, r0 bge _02026B04 ldr r0, [sp, #8] mov r4, #0 ldrh r3, [r0] mov r2, #0x13 mov r1, #7 _02026ABC: tst r3, #1 beq _02026AD8 ldrb r0, [sb] cmp r0, #0 streqb r2, [sb], #1 addne sb, sb, #1 b _02026ADC _02026AD8: add sb, sb, #1 _02026ADC: mov r0, r3, lsl #0xf mov r3, r0, lsr #0x10 ldr r0, [sp, #0xc] add r4, r4, #1 subs r0, r0, #1 str r0, [sp, #0xc] strmi r1, [sp, #0xc] addmi sb, sb, #0x38 cmp r4, #0xc blt _02026ABC _02026B04: ldr r0, [sp, #0x14] ldrb r0, [r0, #2] _02026B0C: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02026B14: .word _020AFD04 _02026B18: .word _022A7A5C arm_func_end sub_0202676C arm_func_start sub_02026B1C sub_02026B1C: ; 0x02026B1C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r5, _02026C64 ; =_020AFD04 mov r4, r0 ldr r5, [r5, #0xc] mov r6, r1 add r7, r5, r3, lsl #2 mov r5, r2 bl sub_0202760C ldrsh r3, [r7, #2] mov r8, r0 cmp r3, #0 movlt r0, #0 blt _02026C5C ldr r0, _02026C64 ; =_020AFD04 add r1, sp, #0 ldr r2, [r0, #0xc] mov r0, r4 add r4, r2, r3 bl sub_020282C8 ldrb r0, [r7, #1] cmp r5, #0 add ip, r5, r0 bge _02026B9C cmp ip, #0 ldrltb r0, [r7] blt _02026C5C ldr r1, [sp] rsb r0, r5, #0 mla r4, r1, r0, r4 mov r5, #0 b _02026BB8 _02026B9C: ldr r0, [sp, #4] cmp ip, r0 ble _02026BB8 cmp r5, r0 ldrgtb r0, [r7] bgt _02026C5C mov ip, r0 _02026BB8: ldrb r0, [r7] cmp r6, #0 movlt r6, #0 ldr r1, [sp] add r3, r6, r0 cmp r3, r1 subgt r6, r1, r0 mov r0, r1, asr #2 add r0, r1, r0, lsr #29 mov r0, r0, asr #3 movgt r3, r1 mov r2, r6 mov r1, r0, lsl #6 b _02026C50 _02026BF0: mov r0, r5, asr #2 add r0, r5, r0, lsr #29 mov r0, r0, asr #3 mul sb, r0, r1 mov r6, r5, lsr #0x1f rsb r0, r6, r5, lsl #29 add r0, r6, r0, ror #29 add r0, sb, r0, lsl #3 mov r6, r2 add lr, r8, r0 b _02026C44 _02026C1C: mov sb, r6, lsr #0x1f rsb r0, sb, r6, lsl #29 mov sl, r6, asr #2 add sl, r6, sl, lsr #29 add sb, sb, r0, ror #29 ldrb r0, [r4], #1 mov sl, sl, asr #3 add sb, lr, sb strb r0, [sb, sl, lsl #6] add r6, r6, #1 _02026C44: cmp r6, r3 blt _02026C1C add r5, r5, #1 _02026C50: cmp r5, ip blt _02026BF0 ldrb r0, [r7] _02026C5C: add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02026C64: .word _020AFD04 arm_func_end sub_02026B1C arm_func_start sub_02026C68 sub_02026C68: ; 0x02026C68 stmdb sp!, {r3, lr} cmp r3, #0x41 blo _02026CA4 cmp r3, #0x5a bhi _02026CA4 ldr ip, _02026E38 ; =_020AFD04 sub r3, r3, #0x40 ldr ip, [ip, #8] mov r3, r3, lsl #0x10 mov r3, r3, asr #0x10 cmp ip, #3 addeq r3, r3, #0x50 moveq r3, r3, lsl #0x10 moveq r3, r3, asr #0x10 b _02026E18 _02026CA4: ldr ip, _02026E38 ; =_020AFD04 ldr ip, [ip, #8] cmp ip, #3 bne _02026D40 cmp r3, #0x40 bgt _02026CCC bge _02026D00 cmp r3, #0x26 beq _02026D30 b _02026D38 _02026CCC: cmp r3, #0x6f bgt _02026CF4 subs ip, r3, #0x6b addpl pc, pc, ip, lsl #2 b _02026D38 _02026CE0: ; jump table b _02026D10 ; case 0 b _02026D38 ; case 1 b _02026D18 ; case 2 b _02026D20 ; case 3 b _02026D08 ; case 4 _02026CF4: cmp r3, #0xe9 beq _02026D28 b _02026D38 _02026D00: mov r3, #0x50 b _02026E18 _02026D08: mov r3, #0x6b b _02026E18 _02026D10: mov r3, #0x6c b _02026E18 _02026D18: mov r3, #0x6d b _02026E18 _02026D20: mov r3, #0x6e b _02026E18 _02026D28: mov r3, #0x6f b _02026E18 _02026D30: mov r3, #0x71 b _02026E18 _02026D38: mov r0, #8 ldmia sp!, {r3, pc} _02026D40: cmp r3, #0x61 blo _02026D5C cmp r3, #0x7a subls r3, r3, #0x40 movls r3, r3, lsl #0x10 movls r3, r3, asr #0x10 bls _02026E18 _02026D5C: cmp r3, #0xc1 bgt _02026DAC bge _02026E00 sub ip, r3, #0x22 cmp ip, #0xc addls pc, pc, ip, lsl #2 b _02026E10 _02026D78: ; jump table b _02026E08 ; case 0 b _02026E10 ; case 1 b _02026E10 ; case 2 b _02026E10 ; case 3 b _02026DE8 ; case 4 b _02026DE0 ; case 5 b _02026E10 ; case 6 b _02026E10 ; case 7 b _02026E10 ; case 8 b _02026E10 ; case 9 b _02026DD0 ; case 10 b _02026DD8 ; case 11 b _02026DC8 ; case 12 _02026DAC: cmp r3, #0xe9 bgt _02026DBC beq _02026DF0 b _02026E10 _02026DBC: cmp r3, #0xeb beq _02026DF8 b _02026E10 _02026DC8: mov r3, #0x1b b _02026E18 _02026DD0: mov r3, #0x1c b _02026E18 _02026DD8: mov r3, #0x1d b _02026E18 _02026DE0: mov r3, #0x1e b _02026E18 _02026DE8: mov r3, #0 b _02026E18 _02026DF0: mov r3, #0x3b b _02026E18 _02026DF8: mov r3, #0x3c b _02026E18 _02026E00: mov r3, #0x3d b _02026E18 _02026E08: mov r3, #0x3e b _02026E18 _02026E10: mov r0, #6 ldmia sp!, {r3, pc} _02026E18: ldrb ip, [sp, #8] cmp ip, #0 ldreq r0, _02026E38 ; =_020AFD04 ldreq r0, [r0, #0xc] ldreqb r0, [r0, r3, lsl #2] ldmeqia sp!, {r3, pc} bl sub_02026B1C ldmia sp!, {r3, pc} .align 2, 0 _02026E38: .word _020AFD04 arm_func_end sub_02026C68 arm_func_start sub_02026E3C sub_02026E3C: ; 0x02026E3C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl sub_0202760C mov r4, r0 mov r0, r7 bl sub_02027624 mov r3, r5, lsl #0x14 mov r1, r0 mov r0, r4 mov r2, r6 mov r3, r3, lsr #0x10 bl DecompressAtHalf ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02026E3C arm_func_start sub_02026E78 sub_02026E78: ; 0x02026E78 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02026FEC ; =_020AFD4C mov r4, #1 ldr r0, _02026FF0 ; =_022A88DC mov r1, #0 mov r2, #0x1180 strb r4, [r3, #2] bl memset mov r7, #0 ldr r0, _02026FF4 ; =_022A7A6C mvn r5, #1 ldr r6, _02026FF8 ; =_022A7B1C strb r5, [r0, #5] mov r4, r7 _02026EB0: strb r4, [r6] add r0, r6, #4 strb r5, [r6, #0x2c] bl sub_02029A50 add r7, r7, #1 cmp r7, #0x14 add r6, r6, #0x30 blt _02026EB0 ldr r0, _02026FFC ; =_022A7AC8 mov r1, #0 ldr r2, _02027000 ; =0x04000014 ldr r3, _02027004 ; =0x0600D800 str r1, [sp] bl sub_0200B2C4 mov r1, #0 ldr r0, _02027008 ; =_022A7B00 ldr r2, _0202700C ; =0x04001010 ldr r3, _02027010 ; =0x0620D000 str r1, [sp] bl sub_0200B2C4 mov r1, #0 ldr r0, _02027014 ; =_022A7AE4 ldr r2, _02027018 ; =0x04001014 ldr r3, _0202701C ; =0x0620D800 str r1, [sp] bl sub_0200B2C4 mov r1, #0 ldr r0, _02027020 ; =_022A7AA0 str r1, [sp] ldr r3, _02027024 ; =0x06882000 mov r1, #1 mov r2, #0x200 bl sub_0200A124 mov r0, #0 str r0, [sp] ldr r0, _02027028 ; =_022A7A8C mov r1, #3 mov r2, #0x200 ldr r3, _0202702C ; =0x06898000 bl sub_0200A124 mov r0, #0 str r0, [sp] ldr r0, _02027030 ; =_022A7A78 mov r1, #3 mov r2, #0x300 ldr r3, _02027034 ; =0x0689A000 bl sub_0200A124 mov r2, #0 ldr r1, _02026FF4 ; =_022A7A6C ldr r0, _02027038 ; =_022A7EDC strb r2, [r1, #4] strb r2, [r1] strb r2, [r1, #1] mov r1, #0xa00 bl MemZero mov r2, #0 ldr r1, _02026FF4 ; =_022A7A6C ldr r0, _0202703C ; =_022A7AB4 strh r2, [r1, #6] mov r1, #0x14 bl MemZero mov r0, #0 bl sub_02027180 mov r2, #1 ldr r0, _02026FF4 ; =_022A7A6C sub r1, r2, #3 strh r2, [r0, #8] strh r2, [r0, #0xa] strb r1, [r0, #3] bl LoadCursors bl LoadAlert bl sub_0202A124 mov r2, #0 ldr r1, _02026FF4 ; =_022A7A6C ldr r0, _02026FEC ; =_020AFD4C strh r2, [r1, #6] str r2, [r0, #8] bl sub_0202903C ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02026FEC: .word _020AFD4C _02026FF0: .word _022A88DC _02026FF4: .word _022A7A6C _02026FF8: .word _022A7B1C _02026FFC: .word _022A7AC8 _02027000: .word 0x04000014 _02027004: .word 0x0600D800 _02027008: .word _022A7B00 _0202700C: .word 0x04001010 _02027010: .word 0x0620D000 _02027014: .word _022A7AE4 _02027018: .word 0x04001014 _0202701C: .word 0x0620D800 _02027020: .word _022A7AA0 _02027024: .word 0x06882000 _02027028: .word _022A7A8C _0202702C: .word 0x06898000 _02027030: .word _022A7A78 _02027034: .word 0x0689A000 _02027038: .word _022A7EDC _0202703C: .word _022A7AB4 arm_func_end sub_02026E78 arm_func_start sub_02027040 sub_02027040: ; 0x02027040 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0xc mov r3, #0xe0 mul r5, r0, r3 ldr r6, _02027134 ; =_022A88E4 mov sl, r1 ldrb r0, [r6, r5] ldr r3, _02027138 ; =_0209AC58 mov r8, #0 cmp r0, #0 mov r0, r2, lsl #0x10 ldreq sb, _0202713C ; =_022A7AA0 add r2, sp, #0 ldrne sb, _02027140 ; =_022A7A8C mov r7, r0, lsr #0x10 mov r1, #4 _02027080: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02027080 add r4, sp, #8 _02027094: add r3, sp, #0 add r2, sp, #4 mov r1, #4 _020270A0: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020270A0 ldrsb r0, [sl] add r3, sp, #4 add r2, sp, #8 strb r0, [sp, #4] ldrsb r0, [sl, #1] mov r1, #4 strb r0, [sp, #5] ldrsb r0, [sl, #2] strb r0, [sp, #6] _020270D4: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020270D4 add r0, r7, #1 mov r1, r7 mov r3, r0, lsl #0x10 mov r0, sb mov r2, r4 add sl, sl, #3 mov r7, r3, lsr #0x10 bl sub_0200A29C add r8, r8, #1 cmp r8, #0x10 blt _02027094 ldrb r0, [r6, r5] mov r1, #1 cmp r0, #0 ldreq r0, _02027144 ; =_022A7A6C streqb r1, [r0, #4] ldrne r0, _02027144 ; =_022A7A6C strneb r1, [r0] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02027134: .word _022A88E4 _02027138: .word _0209AC58 _0202713C: .word _022A7AA0 _02027140: .word _022A7A8C _02027144: .word _022A7A6C arm_func_end sub_02027040 arm_func_start sub_02027148 sub_02027148: ; 0x02027148 ldr r0, _02027158 ; =_020AFD4C mov r1, #1 strb r1, [r0, #1] bx lr .align 2, 0 _02027158: .word _020AFD4C arm_func_end sub_02027148 arm_func_start sub_0202715C sub_0202715C: ; 0x0202715C ldr r0, _0202716C ; =_020AFD4C mov r1, #0 strb r1, [r0, #1] bx lr .align 2, 0 _0202716C: .word _020AFD4C arm_func_end sub_0202715C arm_func_start sub_02027170 sub_02027170: ; 0x02027170 ldr r0, _0202717C ; =_022A7A6C ldrb r0, [r0, #2] bx lr .align 2, 0 _0202717C: .word _022A7A6C arm_func_end sub_02027170 arm_func_start sub_02027180 sub_02027180: ; 0x02027180 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 mov r0, #0xc mul r2, r4, r0 ldr r1, _0202721C ; =_020AFD58 add r0, sp, #0 ldr r1, [r1, r2] mov r2, #0x300 bl LoadWteFromRom ldr r3, [sp, #4] ldr r0, _02027220 ; =_022A7A6C ldrh r1, [r3, #0xc] ldr r2, _02027224 ; =_022A7AB6 add r3, r3, #0x10 strh r1, [r0, #0x48] mov r1, #4 _020271C4: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _020271C4 ldr ip, _02027220 ; =_022A7A6C mov r1, #0x1f000 mov r2, #0x1f str r1, [ip, #0x54] add r0, sp, #0 mov r3, #0 strh r2, [ip, #0x58] bl sub_0201E12C add r0, sp, #0 bl sub_0201E13C mov r0, r4 bl sub_02027228 mov r0, r4 bl sub_02027390 ldr r0, _02027220 ; =_022A7A6C strb r4, [r0, #2] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0202721C: .word _020AFD58 _02027220: .word _022A7A6C _02027224: .word _022A7AB6 arm_func_end sub_02027180 arm_func_start sub_02027228 sub_02027228: ; 0x02027228 stmdb sp!, {r3, lr} sub sp, sp, #8 mov r1, #0xc mul r2, r0, r1 ldr r1, _0202726C ; =_020AFD5C add r0, sp, #0 ldr r1, [r1, r2] mov r2, #1 bl LoadFileFromRom ldr r1, [sp] ldr r2, [sp, #4] ldr r0, _02027270 ; =0x0620C000 bl Memcpy32 add r0, sp, #0 bl UnloadFile add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0202726C: .word _020AFD5C _02027270: .word 0x0620C000 arm_func_end sub_02027228 arm_func_start sub_02027274 sub_02027274: ; 0x02027274 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x14 mov r1, r0 add r0, sp, #0xc mov r2, #1 bl LoadFileFromRom ldr r7, [sp, #0xc] ldr r3, _0202736C ; =_0209AC50 add r2, sp, #0 mov r8, #0x80 mov sb, #0 mov r1, #4 _020272A4: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020272A4 ldr r6, _02027370 ; =_022A7AA0 ldr r4, _02027374 ; =_022A7A8C add r5, sp, #8 _020272C0: add r3, sp, #0 add r2, sp, #4 mov r1, #4 _020272CC: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020272CC ldrb r0, [r7] add r3, sp, #4 add r2, sp, #8 strb r0, [sp, #4] ldrb r0, [r7, #1] mov r1, #4 strb r0, [sp, #5] ldrb r0, [r7, #2] strb r0, [sp, #6] _02027300: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02027300 mov r0, r6 mov r1, r8 mov r2, r5 add r7, r7, #4 bl sub_0200A29C mov r0, r4 mov r1, r8 mov r2, r5 bl sub_0200A29C add r0, r8, #1 mov r0, r0, lsl #0x10 add sb, sb, #1 cmp sb, #0x80 mov r8, r0, lsr #0x10 blt _020272C0 add r0, sp, #0xc bl UnloadFile ldr r0, _02027378 ; =_022A7A6C mov r1, #1 strb r1, [r0, #4] strb r1, [r0] add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0202736C: .word _0209AC50 _02027370: .word _022A7AA0 _02027374: .word _022A7A8C _02027378: .word _022A7A6C arm_func_end sub_02027274 arm_func_start sub_0202737C sub_0202737C: ; 0x0202737C ldr ip, _02027388 ; =sub_02027274 ldr r0, _0202738C ; =_0209ADC8 bx ip .align 2, 0 _02027388: .word sub_02027274 _0202738C: .word _0209ADC8 arm_func_end sub_0202737C arm_func_start sub_02027390 sub_02027390: ; 0x02027390 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x1c ldr r1, _0202759C ; =_0209ADDC mov sl, r0 add r0, sp, #0x10 mov r2, #1 bl LoadFileFromRom ldr r8, [sp, #0x10] ldr r3, _020275A0 ; =_0209AC54 add r2, sp, #0 mov sb, #0x10 mov r7, #0 mov r1, #4 _020273C4: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020273C4 ldr r6, _020275A4 ; =_022A7AA0 ldr r4, _020275A8 ; =_022A7A8C add r5, sp, #0x18 _020273E0: add r3, sp, #0 add r2, sp, #0xc mov r1, #4 _020273EC: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020273EC ldrb r0, [r8] add r3, sp, #0xc add r2, sp, #0x18 strb r0, [sp, #0xc] ldrb r0, [r8, #1] mov r1, #4 strb r0, [sp, #0xd] ldrb r0, [r8, #2] strb r0, [sp, #0xe] ldrb r0, [r8, #3] strb r0, [sp, #0xf] _02027428: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02027428 mov r0, r6 mov r1, sb mov r2, r5 add r8, r8, #4 bl sub_0200A29C mov r0, r4 mov r1, sb mov r2, r5 bl sub_0200A29C add r0, sb, #1 mov r0, r0, lsl #0x10 add r7, r7, #1 cmp r7, #0x20 mov sb, r0, lsr #0x10 blt _020273E0 add r0, sp, #0x10 bl UnloadFile ldr r0, _020275AC ; =_0209ADC8 bl sub_02027274 mov r0, #0xc mul r2, sl, r0 ldr r1, _020275B0 ; =_020AFD60 add r0, sp, #0x10 ldr r1, [r1, r2] mov r2, #1 bl LoadFileFromRom mov r5, #0 ldr r6, [sp, #0x10] ldr r3, _020275B4 ; =_0209AC4C add r2, sp, #4 mov r4, r5 mov r1, #4 _020274B8: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020274B8 _020274C8: mov r0, r4, lsl #0x18 ldr sl, _020275B8 ; =_022A7A78 mov r7, r0, lsr #0x10 mov r8, #0 add sb, sp, #0x18 _020274DC: add r3, sp, #4 add r2, sp, #8 mov r1, #4 _020274E8: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020274E8 mov r0, r5, lsl #1 ldrsh r1, [r6, r0] add r3, sp, #8 add r2, sp, #0x18 mov r0, r1, lsl #0x1b and ip, r1, #0x3e0 and r1, r1, #0x7c00 mov r0, r0, lsr #0x18 mov ip, ip, asr #2 mov r1, r1, asr #7 strb r1, [sp, #0xa] strb r0, [sp, #8] strb ip, [sp, #9] mov r1, #4 _02027530: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02027530 add r0, r7, #1 mov r1, r7 mov r3, r0, lsl #0x10 mov r0, sl mov r2, sb mov r7, r3, lsr #0x10 bl sub_0200A29C add r8, r8, #1 cmp r8, #0x10 add r5, r5, #1 blt _020274DC add r4, r4, #1 cmp r4, #3 blt _020274C8 add r0, sp, #0x10 bl UnloadFile ldr r0, _020275BC ; =_022A7A6C mov r1, #1 strb r1, [r0, #4] strb r1, [r0] strb r1, [r0, #1] add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0202759C: .word _0209ADDC _020275A0: .word _0209AC54 _020275A4: .word _022A7AA0 _020275A8: .word _022A7A8C _020275AC: .word _0209ADC8 _020275B0: .word _020AFD60 _020275B4: .word _0209AC4C _020275B8: .word _022A7A78 _020275BC: .word _022A7A6C arm_func_end sub_02027390 arm_func_start sub_020275C0 sub_020275C0: ; 0x020275C0 ldr r3, _020275D4 ; =_022A7AC8 ldr r2, _020275D8 ; =_022A7AA0 str r3, [r0] str r2, [r1] bx lr .align 2, 0 _020275D4: .word _022A7AC8 _020275D8: .word _022A7AA0 arm_func_end sub_020275C0 arm_func_start sub_020275DC sub_020275DC: ; 0x020275DC ldr r3, _020275F0 ; =_022A7B00 ldr r2, _020275F4 ; =_022A7A8C str r3, [r0] str r2, [r1] bx lr .align 2, 0 _020275F0: .word _022A7B00 _020275F4: .word _022A7A8C arm_func_end sub_020275DC arm_func_start sub_020275F8 sub_020275F8: ; 0x020275F8 ldr r2, _02027608 ; =_022A88DC mov r1, #0xe0 mla r0, r1, r0, r2 bx lr .align 2, 0 _02027608: .word _022A88DC arm_func_end sub_020275F8 arm_func_start sub_0202760C sub_0202760C: ; 0x0202760C mov r1, #0xe0 mul r1, r0, r1 ldr r0, _02027620 ; =_022A88F0 ldr r0, [r0, r1] bx lr .align 2, 0 _02027620: .word _022A88F0 arm_func_end sub_0202760C arm_func_start sub_02027624 sub_02027624: ; 0x02027624 ldr r2, _02027644 ; =_022A88DC mov r1, #0xe0 mla r2, r0, r1, r2 ldrb r1, [r2, #6] ldrb r0, [r2, #7] smulbb r0, r1, r0 mov r0, r0, lsl #5 bx lr .align 2, 0 _02027644: .word _022A88DC arm_func_end sub_02027624 arm_func_start sub_02027648 sub_02027648: ; 0x02027648 stmdb sp!, {r4, lr} mov r4, #0 ldr ip, _020276B8 ; =_022A88DC mov lr, r4 mov r3, r4 _0202765C: ldrsb r2, [ip, #0xb6] cmp r2, #0 beq _02027678 ldrb r2, [ip, #8] cmp r2, #0 addeq lr, lr, #1 addne r4, r4, #1 _02027678: add r2, r3, #1 mov r2, r2, lsl #0x18 mov r3, r2, asr #0x18 cmp r3, #0x14 add ip, ip, #0xe0 blt _0202765C cmp lr, #0 ldreq r2, _020276BC ; =_022A7A6C moveq r3, #1 streqh r3, [r2, #8] cmp r4, #0 ldreq r2, _020276BC ; =_022A7A6C moveq r3, #1 streqh r3, [r2, #0xa] bl NewDialogBox ldmia sp!, {r4, pc} .align 2, 0 _020276B8: .word _022A88DC _020276BC: .word _022A7A6C arm_func_end sub_02027648 arm_func_start NewDialogBox NewDialogBox: ; 0x020276C0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 ldr r5, _02027898 ; =_022A88DC ldr r6, _0202789C ; =_022A7B1C mov r4, #0 b _020276FC _020276DC: ldrsb r0, [r5, #0xb6] cmp r0, #0 beq _02027704 add r0, r4, #1 mov r0, r0, lsl #0x18 mov r4, r0, asr #0x18 add r5, r5, #0xe0 add r6, r6, #0x30 _020276FC: cmp r4, #0x14 blt _020276DC _02027704: ldmia r8, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} ldrb r0, [r8, #6] mov r1, #8 mov r0, r0, lsl #3 sub r0, r0, #8 str r0, [r5, #0x20] ldrb r0, [r5, #6] ldrb r2, [r5, #7] mov r0, r0, lsl #6 mul r0, r2, r0 bl MemAlloc str r0, [r5, #0x14] ldrb r0, [r5, #8] ldr lr, _020278A0 ; =_022A7A74 ldrb r3, [r5, #6] mov r8, r0, lsl #1 ldrh r0, [lr, r8] ldrb r2, [r5, #7] mvn r1, #8 mla ip, r3, r2, r0 strh r0, [r5, #0x12] ldrsb r2, [r5, #9] strh ip, [lr, r8] cmp r2, r1 orreq r1, r0, #0x1000 streqh r1, [r5, #0x30] strneh r0, [r5, #0x30] ldrb r1, [r5, #8] cmp r1, #0 moveq r1, #0x6000000 movne r1, #0x6200000 add r0, r1, r0, lsl #6 str r0, [r5, #0x18] str r0, [r5, #0x28] ldrb r3, [r5, #6] ldrb r2, [r5, #7] mov r1, #0 mov r0, r4 smulbb r2, r3, r2 mov r2, r2, lsl #6 str r2, [r5, #0x1c] strb r1, [r5, #0x11] bl sub_02027B1C strb r4, [r5, #0x10] mov r0, #1 strb r0, [r5, #0xb6] strb r0, [r5, #0xb7] mov r0, r4 strb r7, [r5, #0xb4] bl sub_020278C4 mvn r1, #0 add r0, r5, #0x34 str r1, [r5, #0xb8] bl InitRender3dElement64 mov r1, #2 strb r1, [r5, #0x70] mov r0, #9 strh r0, [r5, #0x5e] strb r1, [r5, #0x72] mov r0, #0x20 strb r0, [r5, #0x60] strb r0, [r5, #0x61] strb r0, [r5, #0x62] mov r1, #0x90 add r0, r5, #0x74 strb r1, [r5, #0x63] bl InitRender3dElement64 ldr r0, _020278A4 ; =_022A7A6C mov r1, #0 ldrh r3, [r0, #0x48] mov r2, #0x18 strh r3, [r5, #0x88] strh r1, [r5, #0x8a] strh r1, [r5, #0x8c] strh r2, [r5, #0x8e] strh r2, [r5, #0x90] ldr r2, [r0, #0x54] str r2, [r5, #0x94] ldrsh r0, [r0, #0x58] bl sub_020278A8 str r0, [r5, #0x98] mov r0, #6 strb r0, [r5, #0xb0] mov r0, #0xa strh r0, [r5, #0x9e] mov r1, #0 strh r1, [r5, #0x74] strh r1, [r5, #0x76] strh r1, [r5, #0x78] add r0, r5, #0xbc strh r1, [r5, #0x7a] bl InitDialogBoxTrailer mov r0, #0 strb r0, [r6] add r0, r6, #4 bl sub_02029A50 ldrb r1, [r5, #8] mov r0, r4 strb r1, [r6, #0x2a] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02027898: .word _022A88DC _0202789C: .word _022A7B1C _020278A0: .word _022A7A74 _020278A4: .word _022A7A6C arm_func_end NewDialogBox arm_func_start sub_020278A8 sub_020278A8: ; 0x020278A8 ldr r2, _020278C0 ; =_020AFC70 add r0, r1, r0, lsl #8 ldr r1, [r2] ldr r1, [r1, #0xe0] add r0, r1, r0, lsl #1 bx lr .align 2, 0 _020278C0: .word _020AFC70 arm_func_end sub_020278A8 arm_func_start sub_020278C4 sub_020278C4: ; 0x020278C4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r1, #0xe0 mul r2, r0, r1 ldr ip, _02027964 ; =_022A7A6C ldr r4, _02027968 ; =_022A8990 ldrsb r3, [ip, #3] mvn r1, #1 ldrsb r8, [r4, r2] cmp r3, r1 ldreq r1, _0202796C ; =_022A8991 mov r7, r3 streqb r0, [ip, #3] streqb r3, [r1, r2] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov ip, r1 ldr r5, _02027970 ; =_022A88DC mov lr, #0xe0 b _02027924 _0202790C: mla r6, r7, lr, r5 ldrsb r4, [r6, #0xb4] cmp r4, r8 blt _0202792C mov r1, r7 ldrsb r7, [r6, #0xb5] _02027924: cmp r7, ip bne _0202790C _0202792C: mvn ip, #1 cmp r1, ip ldreq ip, _0202796C ; =_022A8991 ldreq r1, _02027964 ; =_022A7A6C streqb r3, [ip, r2] streqb r0, [r1, #3] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r3, #0xe0 mul r3, r1, r3 ldr ip, _0202796C ; =_022A8991 ldrsb r1, [ip, r3] strb r0, [ip, r3] strb r1, [ip, r2] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02027964: .word _022A7A6C _02027968: .word _022A8990 _0202796C: .word _022A8991 _02027970: .word _022A88DC arm_func_end sub_020278C4 arm_func_start sub_02027974 sub_02027974: ; 0x02027974 stmdb sp!, {r3, r4, r5, lr} ldr r1, _020279FC ; =_022A7A6C mvn r5, #1 ldrsb r4, [r1, #3] mov r1, r5 ldr ip, _02027A00 ; =_022A88DC mov r2, #0xe0 b _020279AC _02027994: mla lr, r4, r2, ip ldrsb r3, [lr, #0x10] cmp r0, r3 beq _020279B4 mov r5, r4 ldrsb r4, [lr, #0xb5] _020279AC: cmp r4, r1 bne _02027994 _020279B4: mvn ip, #1 cmp r5, ip bne _020279DC mov r1, #0xe0 mul r2, r0, r1 ldr r3, _02027A04 ; =_022A8991 ldr r0, _020279FC ; =_022A7A6C ldrsb r1, [r3, r2] strb r1, [r0, #3] b _020279F4 _020279DC: mov r0, #0xe0 mul r2, r4, r0 ldr r3, _02027A04 ; =_022A8991 mul r0, r5, r0 ldrsb r1, [r3, r2] strb r1, [r3, r0] _020279F4: strb ip, [r3, r2] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020279FC: .word _022A7A6C _02027A00: .word _022A88DC _02027A04: .word _022A8991 arm_func_end sub_02027974 arm_func_start sub_02027A08 sub_02027A08: ; 0x02027A08 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl sub_02027974 mov r0, #0xe0 mul r4, r6, r0 ldr r1, _02027A5C ; =_022A8990 mov r0, r6 strb r5, [r1, r4] bl sub_020278C4 ldr r1, _02027A60 ; =_022A88E4 ldr r0, _02027A64 ; =_020AFD4C ldrb r3, [r1, r4] ldr r2, [r0, #8] mov r1, #1 orr r1, r2, r1, lsl r3 str r1, [r0, #8] cmp r3, #1 ldmneia sp!, {r4, r5, r6, pc} bl sub_02027B88 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02027A5C: .word _022A8990 _02027A60: .word _022A88E4 _02027A64: .word _020AFD4C arm_func_end sub_02027A08 arm_func_start SetScreenWindowsColor SetScreenWindowsColor: ; 0x02027A68 ldr r2, _02027A7C ; =_020AFD98 cmp r1, #2 moveq r1, #1 strb r0, [r2, r1] bx lr .align 2, 0 _02027A7C: .word _020AFD98 arm_func_end SetScreenWindowsColor arm_func_start SetBothScreensWindowsColor SetBothScreensWindowsColor: ; 0x02027A80 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 bl SetScreenWindowsColor mov r0, r4 mov r1, #1 bl SetScreenWindowsColor ldmia sp!, {r4, pc} arm_func_end SetBothScreensWindowsColor arm_func_start sub_02027AA0 sub_02027AA0: ; 0x02027AA0 cmp r0, #1 ldreq r0, _02027AE4 ; =_020AFD4C moveq r1, #1 streqb r1, [r0] bxeq lr cmp r0, #2 ldreq r0, _02027AE4 ; =_020AFD4C moveq r1, #1 streqb r1, [r0, #3] bxeq lr ldr r0, _02027AE8 ; =_020AFD9C ldr r1, _02027AEC ; =_020AFD94 ldrh r0, [r0] mov r2, #1 eor r0, r0, #1 strb r2, [r1, r0] bx lr .align 2, 0 _02027AE4: .word _020AFD4C _02027AE8: .word _020AFD9C _02027AEC: .word _020AFD94 arm_func_end sub_02027AA0 arm_func_start sub_02027AF0 sub_02027AF0: ; 0x02027AF0 ldr r2, _02027B18 ; =_022A88DC mov r1, #0xe0 mla r1, r0, r1, r2 ldr r0, [r1, #0x14] str r0, [r1, #0x24] ldr r0, [r1, #0x18] str r0, [r1, #0x28] ldr r0, [r1, #0x1c] str r0, [r1, #0x2c] bx lr .align 2, 0 _02027B18: .word _022A88DC arm_func_end sub_02027AF0 arm_func_start sub_02027B1C sub_02027B1C: ; 0x02027B1C stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0xe0 mul r2, r4, r0 ldr r0, _02027B50 ; =_022A88F0 ldr r1, _02027B54 ; =_022A88F8 ldr r0, [r0, r2] ldr r2, [r1, r2] mov r1, #0 bl memset mov r0, r4 bl sub_02027AF0 ldmia sp!, {r4, pc} .align 2, 0 _02027B50: .word _022A88F0 _02027B54: .word _022A88F8 arm_func_end sub_02027B1C arm_func_start sub_02027B58 sub_02027B58: ; 0x02027B58 mov r1, #0xe0 mul r2, r0, r1 ldr r0, _02027B7C ; =_022A88F0 ldr r1, _02027B80 ; =_022A88F8 ldr r0, [r0, r2] ldr r2, [r1, r2] ldr ip, _02027B84 ; =memset mov r1, #0 bx ip .align 2, 0 _02027B7C: .word _022A88F0 _02027B80: .word _022A88F8 _02027B84: .word memset arm_func_end sub_02027B58 arm_func_start sub_02027B88 sub_02027B88: ; 0x02027B88 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r0, _02027E14 ; =_022A7A6C ldrsb r2, [r0, #3] b _02027E00 _02027B9C: ldr r1, _02027E18 ; =_022A88DC mov r0, #0xe0 mla r4, r2, r0, r1 ldrb r0, [r4, #8] cmp r0, #1 ldreqsb r0, [r4, #0xb6] cmpeq r0, #2 bne _02027DFC ldrsb r1, [r4, #9] ldr r0, _02027E1C ; =_0209AC64 rsb r1, r1, #0 mov r1, r1, lsl #1 ldrsb r0, [r0, r1] cmp r0, #0 bne _02027DF0 ldr r0, _02027E20 ; =_020AFD98 ldrb r1, [r4, #4] ldrb r3, [r0, #1] ldr r2, _02027E24 ; =_0209ACAC sub r6, r1, #1 ldrb r2, [r2, r3] ldrb r0, [r4, #5] add r1, sp, #0 mov r5, r2, lsl #0xc sub r3, r0, #1 orr r0, r5, #2 mov r2, r0, lsl #0x10 ldr r0, _02027E28 ; =_022A7AE4 str r6, [sp] mov r2, r2, lsr #0x10 str r3, [sp, #4] bl sub_0200B3FC ldr r1, [sp] orr r0, r5, #3 add r1, r1, #1 mov r0, r0, lsl #0x10 str r1, [sp] mov r6, r0, lsr #0x10 ldr r8, _02027E28 ; =_022A7AE4 add r7, sp, #0 b _02027C5C _02027C40: mov r0, r8 mov r1, r7 mov r2, r6 bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _02027C5C: ldrb r1, [r4, #4] ldrb r0, [r4, #6] ldr r2, [sp] add r0, r1, r0 cmp r2, r0 blt _02027C40 orr r0, r5, #4 mov r2, r0, lsl #0x10 ldr r0, _02027E28 ; =_022A7AE4 add r1, sp, #0 mov r2, r2, lsr #0x10 bl sub_0200B3FC ldr r0, [sp, #4] orr r1, r5, #5 add r0, r0, #1 str r0, [sp, #4] orr r0, r5, #1 orr r2, r5, #6 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 mov r7, r0, lsr #0x10 mov r8, r1, lsr #0x10 mov r6, r2, lsr #0x10 ldr sl, _02027E28 ; =_022A7AE4 add sb, sp, #0 b _02027D44 _02027CC8: ldrb r2, [r4, #4] mov r0, sl mov r1, sb sub r3, r2, #1 mov r2, r8 str r3, [sp] bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] b _02027D10 _02027CF4: mov r0, sl mov r1, sb mov r2, r7 bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _02027D10: ldrb r1, [r4, #4] ldrb r0, [r4, #6] ldr r2, [sp] add r0, r1, r0 cmp r2, r0 blt _02027CF4 mov r0, sl mov r1, sb mov r2, r6 bl sub_0200B3FC ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] _02027D44: ldrb r1, [r4, #5] ldrb r0, [r4, #7] ldr r2, [sp, #4] add r0, r1, r0 cmp r2, r0 blt _02027CC8 ldrb r1, [r4, #4] orr r0, r5, #7 mov r2, r0, lsl #0x10 sub r3, r1, #1 ldr r0, _02027E28 ; =_022A7AE4 add r1, sp, #0 str r3, [sp] mov r2, r2, lsr #0x10 bl sub_0200B3FC ldr r1, [sp] orr r0, r5, #8 add r1, r1, #1 mov r0, r0, lsl #0x10 str r1, [sp] mov r6, r0, lsr #0x10 ldr r8, _02027E28 ; =_022A7AE4 add r7, sp, #0 b _02027DC0 _02027DA4: mov r0, r8 mov r1, r7 mov r2, r6 bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _02027DC0: ldrb r1, [r4, #4] ldrb r0, [r4, #6] ldr r2, [sp] add r0, r1, r0 cmp r2, r0 blt _02027DA4 orr r0, r5, #9 mov r2, r0, lsl #0x10 ldr r0, _02027E28 ; =_022A7AE4 add r1, sp, #0 mov r2, r2, lsr #0x10 bl sub_0200B3FC _02027DF0: ldr r0, _02027E2C ; =_020AFD4C mov r1, #1 strb r1, [r0, #3] _02027DFC: ldrsb r2, [r4, #0xb5] _02027E00: mvn r0, #1 cmp r2, r0 bne _02027B9C add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02027E14: .word _022A7A6C _02027E18: .word _022A88DC _02027E1C: .word _0209AC64 _02027E20: .word _020AFD98 _02027E24: .word _0209ACAC _02027E28: .word _022A7AE4 _02027E2C: .word _020AFD4C arm_func_end sub_02027B88 arm_func_start sub_02027E30 sub_02027E30: ; 0x02027E30 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r3, _02028070 ; =_022A88DC mov r2, #0xe0 mla r7, r0, r2, r3 ldrsb r0, [r7, #9] ldr r2, _02028074 ; =_0209AC64 cmp r1, #0 rsb r0, r0, #0 add r4, r2, r0, lsl #1 movne r0, #2 moveq r0, #3 strb r0, [r7, #0xb6] ldrb r0, [r7, #8] cmp r0, #1 bne _02027F34 cmp r1, #0 bne _02027F20 ldrsb r1, [r7, #0x10] ldr r2, _02028070 ; =_022A88DC mov r0, #0xe0 mla r0, r1, r0, r2 add r0, r0, #0xbc bl InitDialogBoxTrailer ldrsb r0, [r4] cmp r0, #0 blt _02027F20 ldrb r0, [r7, #5] ldr r6, _02028078 ; =_022A7AE4 add r5, sp, #0 sub r0, r0, #1 str r0, [sp, #4] mov r4, #0 b _02027F08 _02027EB8: ldrb r0, [r7, #4] sub r0, r0, #1 str r0, [sp] b _02027EE4 _02027EC8: mov r0, r6 mov r1, r5 mov r2, r4 bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _02027EE4: ldrb r1, [r7, #4] ldrb r0, [r7, #6] ldr r2, [sp] add r0, r1, r0 cmp r2, r0 ble _02027EC8 ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] _02027F08: ldrb r1, [r7, #5] ldrb r0, [r7, #7] ldr r2, [sp, #4] add r0, r1, r0 cmp r2, r0 ble _02027EB8 _02027F20: bl sub_02027B88 ldr r0, _0202807C ; =_020AFD4C mov r1, #1 strb r1, [r0, #3] b _02028064 _02027F34: cmp r1, #0 beq _0202801C ldrb r1, [r7, #4] mvn r0, #3 mov r1, r1, lsl #3 strh r1, [r7, #0x34] ldrb r1, [r7, #5] mov r1, r1, lsl #3 strh r1, [r7, #0x36] ldrb r1, [r7, #6] mov r1, r1, lsl #3 strh r1, [r7, #0x38] ldrb r1, [r7, #7] mov r1, r1, lsl #3 strh r1, [r7, #0x3a] ldrh r1, [r7, #0x34] strh r1, [r7, #0x74] ldrh r1, [r7, #0x36] strh r1, [r7, #0x76] ldrh r1, [r7, #0x38] strh r1, [r7, #0x78] ldrh r1, [r7, #0x3a] strh r1, [r7, #0x7a] ldrsh r1, [r7, #0x74] sub r1, r1, #8 strh r1, [r7, #0x74] ldrsh r1, [r7, #0x76] sub r1, r1, #8 strh r1, [r7, #0x76] ldrsh r1, [r7, #0x78] add r1, r1, #0x10 strh r1, [r7, #0x78] ldrsh r1, [r7, #0x7a] add r1, r1, #0x10 strh r1, [r7, #0x7a] ldrsb r1, [r7, #9] cmp r1, r0 beq _02027FFC ldrsh r0, [r7, #0x34] sub r0, r0, #1 strh r0, [r7, #0x34] ldrsh r0, [r7, #0x36] sub r0, r0, #2 strh r0, [r7, #0x36] ldrsh r0, [r7, #0x38] add r0, r0, #2 strh r0, [r7, #0x38] ldrsh r0, [r7, #0x3a] add r0, r0, #6 strh r0, [r7, #0x3a] _02027FFC: ldr r0, _0202807C ; =_020AFD4C ldrb r0, [r0, #1] cmp r0, #0 movne r0, #0x90 strneb r0, [r7, #0x63] moveq r0, #0xff streqb r0, [r7, #0x63] b _02028064 _0202801C: ldrsb r1, [r7, #0x10] ldr r2, _02028070 ; =_022A88DC mov r0, #0xe0 mla r0, r1, r0, r2 add r0, r0, #0xbc bl InitDialogBoxTrailer mov r0, #0 strh r0, [r7, #0x3a] strh r0, [r7, #0x38] strh r0, [r7, #0x36] strh r0, [r7, #0x34] strh r0, [r7, #0x74] ldrh r0, [r7, #0x36] strh r0, [r7, #0x76] ldrh r0, [r7, #0x38] strh r0, [r7, #0x78] ldrh r0, [r7, #0x3a] strh r0, [r7, #0x7a] _02028064: mov r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02028070: .word _022A88DC _02028074: .word _0209AC64 _02028078: .word _022A7AE4 _0202807C: .word _020AFD4C arm_func_end sub_02027E30 arm_func_start sub_02028080 sub_02028080: ; 0x02028080 stmdb sp!, {r4, lr} ldr r3, _020280B8 ; =_022A88DC mov r2, #0xe0 mla r4, r0, r2, r3 strb r1, [r4, #9] ldrsb r0, [r4, #0x10] bl sub_02027AF0 ldr r0, _020280BC ; =_020AFD4C ldrb r1, [r4, #8] ldr r3, [r0, #8] mov r2, #1 orr r1, r3, r2, lsl r1 str r1, [r0, #8] ldmia sp!, {r4, pc} .align 2, 0 _020280B8: .word _022A88DC _020280BC: .word _020AFD4C arm_func_end sub_02028080 arm_func_start sub_020280C0 sub_020280C0: ; 0x020280C0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r1, #1 mov r5, r0 bl sub_02027E30 cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #0xe0 mul r3, r5, r1 ldr r2, _02028104 ; =_022A88E4 ldr r1, _02028108 ; =_020AFD4C ldrb r2, [r2, r3] ldr ip, [r1, #8] mov r3, #1 orr r2, ip, r3, lsl r2 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02028104: .word _022A88E4 _02028108: .word _020AFD4C arm_func_end sub_020280C0 arm_func_start sub_0202810C sub_0202810C: ; 0x0202810C ldr ip, _02028118 ; =sub_020280C0 mov r1, #1 bx ip .align 2, 0 _02028118: .word sub_020280C0 arm_func_end sub_0202810C arm_func_start sub_0202811C sub_0202811C: ; 0x0202811C ldr ip, _02028128 ; =sub_02027E30 mov r1, #1 bx ip .align 2, 0 _02028128: .word sub_02027E30 arm_func_end sub_0202811C arm_func_start sub_0202812C sub_0202812C: ; 0x0202812C stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r1, #0xe0 mul r5, r6, r1 ldr r1, _02028188 ; =_022A8992 ldrsb r1, [r1, r5] cmp r1, #3 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r1, #0 bl sub_02027E30 mov r4, r0 mov r0, r6 bl sub_0202836C ldr r0, _0202818C ; =_022A88E4 ldr r1, _02028190 ; =_020AFD4C ldrb r0, [r0, r5] ldr r3, [r1, #8] mov r2, #1 orr r2, r3, r2, lsl r0 mov r0, r4 str r2, [r1, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02028188: .word _022A8992 _0202818C: .word _022A88E4 _02028190: .word _020AFD4C arm_func_end sub_0202812C arm_func_start sub_02028194 sub_02028194: ; 0x02028194 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02028224 ; =_022A88DC mov r1, #0xe0 mla r4, r0, r1, r2 bl sub_0202812C ldrb r5, [r4, #8] ldr lr, _02028224 ; =_022A88DC mov ip, #1 mov r3, #0 _020281B8: cmp lr, r4 ldrnesb r0, [lr, #0xb6] cmpne r0, #0 beq _020281EC ldrb r0, [lr, #8] cmp r5, r0 bne _020281EC ldrh r2, [lr, #0x12] ldrb r1, [lr, #6] ldrb r0, [lr, #7] mla r0, r1, r0, r2 cmp ip, r0 movlt ip, r0 _020281EC: add r3, r3, #1 cmp r3, #0x14 add lr, lr, #0xe0 blt _020281B8 ldr r0, [r4, #0x14] ldr r1, _02028228 ; =_022A7A74 mov r2, r5, lsl #1 strh ip, [r1, r2] bl MemFree ldrsb r0, [r4, #0x10] bl sub_02027974 mov r0, #0 strb r0, [r4, #0xb6] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02028224: .word _022A88DC _02028228: .word _022A7A74 arm_func_end sub_02028194 arm_func_start sub_0202822C sub_0202822C: ; 0x0202822C stmdb sp!, {r4, lr} ldr r2, _02028258 ; =_022A88DC mov r1, #0xe0 mla r4, r0, r1, r2 ldr r0, [r4, #0x14] bl MemFree ldrsb r0, [r4, #0x10] bl sub_02027974 mov r0, #0 strb r0, [r4, #0xb6] ldmia sp!, {r4, pc} .align 2, 0 _02028258: .word _022A88DC arm_func_end sub_0202822C arm_func_start sub_0202825C sub_0202825C: ; 0x0202825C ldr r2, _0202826C ; =_022A7A74 mov r0, r0, lsl #1 strh r1, [r2, r0] bx lr .align 2, 0 _0202826C: .word _022A7A74 arm_func_end sub_0202825C arm_func_start sub_02028270 sub_02028270: ; 0x02028270 ldr r1, _02028280 ; =_022A7A74 mov r0, r0, lsl #1 ldrh r0, [r1, r0] bx lr .align 2, 0 _02028280: .word _022A7A74 arm_func_end sub_02028270 arm_func_start sub_02028284 sub_02028284: ; 0x02028284 ldr r3, _020282C4 ; =_022A88DC mov r2, #0xe0 mla r3, r0, r2, r3 ldrb r0, [r3, #5] mov r2, r0, lsl #3 str r2, [r1] ldrb r0, [r3, #7] add r0, r2, r0, lsl #3 str r0, [r1, #4] ldrb r0, [r3, #4] mov r2, r0, lsl #3 str r2, [r1, #8] ldrb r0, [r3, #6] add r0, r2, r0, lsl #3 str r0, [r1, #0xc] bx lr .align 2, 0 _020282C4: .word _022A88DC arm_func_end sub_02028284 arm_func_start sub_020282C8 sub_020282C8: ; 0x020282C8 ldr r3, _020282F0 ; =_022A88DC mov r2, #0xe0 mla r2, r0, r2, r3 ldrb r0, [r2, #7] mov r0, r0, lsl #3 str r0, [r1, #4] ldrb r0, [r2, #6] mov r0, r0, lsl #3 str r0, [r1] bx lr .align 2, 0 _020282F0: .word _022A88DC arm_func_end sub_020282C8 arm_func_start sub_020282F4 sub_020282F4: ; 0x020282F4 mov r1, #0xe0 mul r1, r0, r1 ldr r0, _02028308 ; =_022A8994 ldr r0, [r0, r1] bx lr .align 2, 0 _02028308: .word _022A8994 arm_func_end sub_020282F4 arm_func_start sub_0202830C sub_0202830C: ; 0x0202830C mov r2, #0xe0 mul r2, r0, r2 ldr r0, _02028320 ; =_022A8994 str r1, [r0, r2] bx lr .align 2, 0 _02028320: .word _022A8994 arm_func_end sub_0202830C arm_func_start sub_02028324 sub_02028324: ; 0x02028324 mov r1, #0xe0 mul r1, r0, r1 ldr r0, _02028338 ; =_022A88E4 ldrb r0, [r0, r1] bx lr .align 2, 0 _02028338: .word _022A88E4 arm_func_end sub_02028324 arm_func_start GetDialogBoxField0xC GetDialogBoxField0xC: ; 0x0202833C ldr r2, _02028350 ; =_022A88DC mov r1, #0xe0 mla r1, r0, r1, r2 ldr r0, [r1, #0xc] bx lr .align 2, 0 _02028350: .word _022A88DC arm_func_end GetDialogBoxField0xC arm_func_start sub_02028354 sub_02028354: ; 0x02028354 mov r1, #0xe0 mul r1, r0, r1 ldr r0, _02028368 ; =_022A8992 ldrsb r0, [r0, r1] bx lr .align 2, 0 _02028368: .word _022A8992 arm_func_end sub_02028354 arm_func_start sub_0202836C sub_0202836C: ; 0x0202836C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r2, _02028438 ; =_022A88DC mov r1, #0xe0 mla r6, r0, r1, r2 ldrb r0, [r6, #8] cmp r0, #0 bne _020283A4 ldrb r0, [r6, #4] ldrb r1, [r6, #5] ldrb r2, [r6, #6] ldrb r3, [r6, #7] bl sub_02029154 b _02028428 _020283A4: ldrb r0, [r6, #8] bl sub_0202843C ldrb r1, [r6, #5] mov r7, r0 add r5, sp, #0 str r1, [sp, #4] mov r4, #0 b _02028410 _020283C4: ldrb r0, [r6, #4] str r0, [sp] b _020283EC _020283D0: mov r0, r7 mov r1, r5 mov r2, r4 bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _020283EC: ldrb r1, [r6, #4] ldrb r0, [r6, #6] ldr r2, [sp] add r0, r1, r0 cmp r2, r0 blt _020283D0 ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] _02028410: ldrb r1, [r6, #5] ldrb r0, [r6, #7] ldr r2, [sp, #4] add r0, r1, r0 cmp r2, r0 blt _020283C4 _02028428: ldrb r0, [r6, #8] bl sub_02027AA0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02028438: .word _022A88DC arm_func_end sub_0202836C arm_func_start sub_0202843C sub_0202843C: ; 0x0202843C cmp r0, #1 ldreq r0, _02028458 ; =_022A7B00 bxeq lr cmp r0, #2 ldreq r0, _0202845C ; =_022A7AE4 ldrne r0, _02028460 ; =_022A7AC8 bx lr .align 2, 0 _02028458: .word _022A7B00 _0202845C: .word _022A7AE4 _02028460: .word _022A7AC8 arm_func_end sub_0202843C arm_func_start sub_02028464 sub_02028464: ; 0x02028464 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x14 ldr r3, _02028768 ; =_022A88DC mov r2, #0xe0 mla r4, r0, r2, r3 ldrsb r0, [r4, #9] ldrb r5, [r4, #8] ldr r7, _0202876C ; =_0209AC64 rsb r2, r0, #0 mov r0, r5 mov r6, r2, lsl #1 mov r8, r1 bl sub_0202843C ldrsb r1, [r7, r6] mov r6, r0 cmp r1, #0 movlt r8, #0 cmp r5, #0 bne _020284D8 ldrh r0, [r4, #0x30] str r0, [sp] ldrb r0, [r4, #0x11] stmib sp, {r0, r8} ldrb r0, [r4, #4] ldrb r1, [r4, #5] ldrb r2, [r4, #6] ldrb r3, [r4, #7] bl sub_020291FC b _02028758 _020284D8: ldrb r0, [r4, #0x11] cmp r0, #0 beq _0202857C ldrh r0, [r4, #0x30] ldrb r1, [r4, #5] add r7, sp, #0xc orr r0, r0, #0x400 mov r0, r0, lsl #0x10 str r1, [sp, #0x10] mov sb, r0, lsr #0x10 b _02028560 _02028504: ldrb r1, [r4, #4] ldrb r0, [r4, #6] add r0, r1, r0 sub r0, r0, #1 str r0, [sp, #0xc] b _02028544 _0202851C: add r0, sb, #1 mov r2, sb mov r3, r0, lsl #0x10 mov r0, r6 mov r1, r7 mov sb, r3, lsr #0x10 bl sub_0200B3FC ldr r0, [sp, #0xc] sub r0, r0, #1 str r0, [sp, #0xc] _02028544: ldrb r0, [r4, #4] ldr r1, [sp, #0xc] cmp r1, r0 bge _0202851C ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] _02028560: ldrb r0, [r4, #5] ldrb r1, [r4, #7] ldr r2, [sp, #0x10] add r1, r0, r1 cmp r2, r1 blt _02028504 b _02028600 _0202857C: ldrh r7, [r4, #0x30] ldrb sl, [r4, #5] add sb, sp, #0xc b _020285EC _0202858C: mov r1, sl, lsr #0x1f ldrb r2, [r4, #4] rsb r0, r1, sl, lsl #27 add r0, r1, r0, ror #27 str r0, [sp, #0x10] str r2, [sp, #0xc] b _020285D0 _020285A8: add r0, r7, #1 mov r2, r7 mov r3, r0, lsl #0x10 mov r0, r6 mov r1, sb mov r7, r3, lsr #0x10 bl sub_0200B3FC ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] _020285D0: ldrb r1, [r4, #4] ldrb r0, [r4, #6] ldr r2, [sp, #0xc] add r0, r1, r0 cmp r2, r0 blt _020285A8 add sl, sl, #1 _020285EC: ldrb r0, [r4, #5] ldrb r1, [r4, #7] add r1, r0, r1 cmp sl, r1 blt _0202858C _02028600: cmp r8, #0 beq _02028758 subs r0, r0, #1 str r0, [sp, #0x10] bmi _02028670 ldrb r0, [r4, #4] add r8, sp, #0xc mov r7, #0 sub r0, r0, #1 str r0, [sp, #0xc] b _02028658 _0202862C: cmp r2, #0 blt _0202864C cmp r2, #0x20 bge _0202864C mov r0, r6 mov r1, r8 mov r2, r7 bl sub_0200B3FC _0202864C: ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] _02028658: ldrb r1, [r4, #4] ldrb r0, [r4, #6] ldr r2, [sp, #0xc] add r0, r1, r0 cmp r2, r0 ble _0202862C _02028670: ldrb r0, [r4, #5] mov r8, #0 add sb, sp, #0xc str r0, [sp, #0x10] mov r7, r8 b _020286DC _02028688: ldrb r0, [r4, #4] subs r0, r0, #1 str r0, [sp, #0xc] bmi _020286A8 mov r0, r6 mov r1, sb mov r2, r8 bl sub_0200B3FC _020286A8: ldrb r1, [r4, #4] ldrb r0, [r4, #6] add r0, r1, r0 str r0, [sp, #0xc] cmp r0, #0x20 bge _020286D0 mov r0, r6 mov r1, sb mov r2, r7 bl sub_0200B3FC _020286D0: ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] _020286DC: ldrb r1, [r4, #5] ldrb r0, [r4, #7] ldr r2, [sp, #0x10] add r0, r1, r0 cmp r2, r0 blt _02028688 cmp r2, #0x18 bge _02028758 ldrb r0, [r4, #4] add r8, sp, #0xc mov r7, #0 sub r0, r0, #1 str r0, [sp, #0xc] b _02028740 _02028714: cmp r2, #0 blt _02028734 cmp r2, #0x20 bge _02028734 mov r0, r6 mov r1, r8 mov r2, r7 bl sub_0200B3FC _02028734: ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] _02028740: ldrb r1, [r4, #4] ldrb r0, [r4, #6] ldr r2, [sp, #0xc] add r0, r1, r0 cmp r2, r0 ble _02028714 _02028758: mov r0, r5 bl sub_02027AA0 add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02028768: .word _022A88DC _0202876C: .word _0209AC64 arm_func_end sub_02028464 arm_func_start sub_02028770 sub_02028770: ; 0x02028770 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, lr} ldr r2, _020287C0 ; =_022A88DC mov r5, r0 mov r1, #0xe0 mla r4, r5, r1, r2 bl sub_0202836C ldr r0, [sp, #0x14] ldr r2, [sp, #0x18] strb r0, [r4, #4] mov r0, r5 mov r1, #1 strb r2, [r4, #5] bl sub_02027E30 mov r0, r5 mov r1, #1 bl sub_02028464 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr .align 2, 0 _020287C0: .word _022A88DC arm_func_end sub_02028770 arm_func_start sub_020287C4 sub_020287C4: ; 0x020287C4 ldr r1, _020287DC ; =_020AFD4C mov r2, #1 ldr r3, [r1, #8] orr r0, r3, r2, lsl r0 str r0, [r1, #8] bx lr .align 2, 0 _020287DC: .word _020AFD4C arm_func_end sub_020287C4 arm_func_start sub_020287E0 sub_020287E0: ; 0x020287E0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _02028840 ; =_022A7A6C mov r6, r0 ldrsb r0, [r1, #3] mov r1, #0 mov sb, #1 ldr r4, _02028844 ; =_022A88DC mov r8, #0xe0 mvn r7, #1 b _0202882C _02028808: mla r5, r0, r8, r4 ldrsb r2, [r5, #0xb6] cmp r2, #2 ldreqb r2, [r5, #8] cmpeq r6, r2 bne _02028828 bl sub_02028464 mov r1, sb _02028828: ldrsb r0, [r5, #0xb5] _0202882C: cmp r0, r7 bne _02028808 mov r0, r6 bl sub_02027AA0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02028840: .word _022A7A6C _02028844: .word _022A88DC arm_func_end sub_020287E0 arm_func_start sub_02028848 sub_02028848: ; 0x02028848 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r0, _020288D0 ; =_022A7A6C ldr r6, _020288D4 ; =_022A88DC ldrsb r0, [r0, #3] mov r5, #0xe0 mvn r4, #1 b _02028888 _02028864: mla r7, r0, r5, r6 ldrsb r0, [r7, #0xb6] cmp r0, #0 ldrne r1, [r7] cmpne r1, #0 beq _02028884 mov r0, r7 blx r1 _02028884: ldrsb r0, [r7, #0xb5] _02028888: cmp r0, r4 bne _02028864 ldr r0, _020288D8 ; =_020AFD4C ldr r0, [r0, #8] tst r0, #1 beq _020288A8 mov r0, #0 bl sub_020287E0 _020288A8: ldr r0, _020288D8 ; =_020AFD4C ldr r0, [r0, #8] tst r0, #2 beq _020288C0 mov r0, #1 bl sub_020287E0 _020288C0: ldr r0, _020288D8 ; =_020AFD4C mov r1, #0 str r1, [r0, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020288D0: .word _022A7A6C _020288D4: .word _022A88DC _020288D8: .word _020AFD4C arm_func_end sub_02028848 arm_func_start sub_020288DC sub_020288DC: ; 0x020288DC ldr r2, _020288F4 ; =_022A88DC mov r1, #0xe0 mla r1, r0, r1, r2 ldr ip, _020288F8 ; =InitDialogBoxTrailer add r0, r1, #0xbc bx ip .align 2, 0 _020288F4: .word _022A88DC _020288F8: .word InitDialogBoxTrailer arm_func_end sub_020288DC arm_func_start sub_020288FC sub_020288FC: ; 0x020288FC stmdb sp!, {r4, lr} sub sp, sp, #8 ldr lr, _02028944 ; =_022A88DC mov ip, #0xe0 mla r4, r0, ip, lr ldr lr, [r4, #0xb8] sub r0, ip, #0xe1 cmp lr, r0 moveq ip, #1 stmia sp, {r2, r3} movne ip, #0 mov r2, r1 add r0, r4, #0xbc and r3, ip, #0xff mov r1, #0 bl sub_02029688 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02028944: .word _022A88DC arm_func_end sub_020288FC arm_func_start sub_02028948 sub_02028948: ; 0x02028948 stmdb sp!, {r3, lr} ldr r3, _0202897C ; =_022A88DC mov r2, #0xe0 mla ip, r0, r2, r3 ldr r3, [ip, #0xb8] sub r0, r2, #0xe1 cmp r3, r0 moveq r2, #1 movne r2, #0 add r0, ip, #0xbc and r2, r2, #0xff bl sub_02029758 ldmia sp!, {r3, pc} .align 2, 0 _0202897C: .word _022A88DC arm_func_end sub_02028948 arm_func_start sub_02028980 sub_02028980: ; 0x02028980 stmdb sp!, {r3, lr} ldr r3, _020289B4 ; =_022A88DC mov r2, #0xe0 mla ip, r0, r2, r3 ldr r3, [ip, #0xb8] sub r0, r2, #0xe1 cmp r3, r0 moveq r2, #1 movne r2, #0 add r0, ip, #0xbc and r2, r2, #0xff bl sub_02029828 ldmia sp!, {r3, pc} .align 2, 0 _020289B4: .word _022A88DC arm_func_end sub_02028980 arm_func_start sub_020289B8 sub_020289B8: ; 0x020289B8 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr lr, _02028A04 ; =_022A88DC mov ip, #0xe0 mla r4, r0, ip, lr ldr lr, [r4, #0xb8] sub r0, ip, #0xe1 cmp lr, r0 moveq lr, #1 str r3, [sp] ldr ip, [sp, #0x10] movne lr, #0 mov r3, r2 add r0, r4, #0xbc and r2, lr, #0xff str ip, [sp, #4] bl sub_020298F8 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02028A04: .word _022A88DC arm_func_end sub_020289B8 arm_func_start sub_02028A08 sub_02028A08: ; 0x02028A08 stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr lr, _02028A60 ; =_022A88DC mov ip, #0xe0 mla r4, r0, ip, lr sub r0, ip, #0xe1 ldr lr, [r4, #0xb8] ldr ip, [sp, #0x18] cmp lr, r0 stmia sp, {r3, ip} moveq lr, #1 ldr r0, [sp, #0x1c] movne lr, #0 str r0, [sp, #8] ldr ip, [sp, #0x20] mov r3, r2 add r0, r4, #0xbc and r2, lr, #0xff str ip, [sp, #0xc] bl sub_02029998 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 _02028A60: .word _022A88DC arm_func_end sub_02028A08 arm_func_start sub_02028A64 sub_02028A64: ; 0x02028A64 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r1, _02028DE8 ; =_020AFD4C movs r4, r0 strb r4, [r1, #4] mov r5, #8 beq _02028D58 ldr r0, _02028DEC ; =_022A7A6C mov r1, #0 ldrsb r3, [r0, #3] strb r3, [r0, #5] strh r1, [r0, #6] b _02028BF4 _02028A94: ldr r1, _02028DF0 ; =_022A88DC mov r0, #0xe0 mla r6, r3, r0, r1 ldrsb r1, [r6, #0xb6] ldr r2, _02028DF4 ; =_022A7B1C mov r0, #0x30 mla r7, r3, r0, r2 cmp r1, #0 beq _02028BDC mov r0, #0 strb r0, [r6, #0xb7] ldrb r0, [r6, #8] mov r1, #1 strb r1, [r7] cmp r0, #0 bne _02028BC4 ldr r0, _02028DF8 ; =_020AFD98 ldrsb r3, [r6, #9] ldrb r2, [r0] ldr r0, _02028DEC ; =_022A7A6C ldr r1, _02028DFC ; =_0209ACA8 ldrsh r0, [r0, #0x58] rsb r3, r3, #0 ldrb r1, [r1, r2] ldr r2, _02028E00 ; =_0209AC64 mov r3, r3, lsl #1 ldrsb r8, [r2, r3] bl sub_020278A8 mov r1, r5, lsl #1 str r0, [r6, #0x98] add r0, r1, #9 strh r0, [r6, #0x9e] add r0, r1, #0xa strh r0, [r6, #0x5e] cmp r8, #0 sub r5, r5, #1 blt _02028BC4 ldrsh r0, [r6, #0x38] cmp r0, #0 beq _02028BC4 ldr r0, _02028E04 ; =_0209AC78 mov r1, r8, lsl #3 add r3, r0, r8, lsl #3 ldrsh r1, [r0, r1] ldr r0, _02028DEC ; =_022A7A6C ldrsh r2, [r3, #2] strh r1, [r6, #0x8a] ldrsh r8, [r0, #6] ldrsh r1, [r3, #4] strh r2, [r6, #0x8c] ldrsh r0, [r3, #6] strh r1, [r6, #0x8e] cmp r8, #0x14 strh r0, [r6, #0x90] bge _02028BC4 ldr r0, _02028E08 ; =_022A7EDC add ip, r6, #0x34 add sl, r0, r8, lsl #7 mov sb, #4 _02028B80: ldmia ip!, {r0, r1, r2, r3} stmia sl!, {r0, r1, r2, r3} subs sb, sb, #1 bne _02028B80 ldr r0, _02028E08 ; =_022A7EDC add sl, r6, #0x74 add r0, r0, r8, lsl #7 add sb, r0, #0x40 mov r8, #4 _02028BA4: ldmia sl!, {r0, r1, r2, r3} stmia sb!, {r0, r1, r2, r3} subs r8, r8, #1 bne _02028BA4 ldr r0, _02028DEC ; =_022A7A6C ldrsh r1, [r0, #6] add r1, r1, #1 strh r1, [r0, #6] _02028BC4: add r0, r7, #4 add r1, r6, #0xbc bl sub_02029A68 add r0, r7, #4 bl sub_02029B0C b _02028BEC _02028BDC: mov r1, #0 add r0, r7, #4 strb r1, [r7] bl sub_02029A50 _02028BEC: ldrsb r3, [r6, #0xb5] strb r3, [r7, #0x2c] _02028BF4: mvn r0, #1 cmp r3, r0 bne _02028A94 ldr r1, _02028DEC ; =_022A7A6C ldrb r0, [r1, #4] cmp r0, #0 beq _02028C20 ldr r0, _02028E0C ; =_022A7AA0 mov r2, #0 strb r2, [r1, #4] bl sub_0200A174 _02028C20: ldr r1, _02028DEC ; =_022A7A6C ldrb r0, [r1] cmp r0, #0 beq _02028C40 ldr r0, _02028E10 ; =_022A7A8C mov r2, #0 strb r2, [r1] bl sub_0200A174 _02028C40: ldr r1, _02028DEC ; =_022A7A6C ldrb r0, [r1, #1] cmp r0, #0 beq _02028C60 ldr r0, _02028E14 ; =_022A7A78 mov r2, #0 strb r2, [r1, #1] bl sub_0200A174 _02028C60: mov r8, #0 ldr r7, _02028DF0 ; =_022A88DC mov r6, r8 mov r5, #0xe0 _02028C70: mla sl, r8, r5, r7 ldrsb r0, [sl, #0xb6] cmp r0, #0 ldrne sb, [sl, #0x2c] cmpne sb, #0 beq _02028CB8 ldr r0, [sl, #0x28] ldr r1, [sl, #0x24] mov r2, sb bl Memcpy32 ldr r0, [sl, #0x24] bic r1, sb, #3 add r0, r0, r1 str r0, [sl, #0x24] ldr r0, [sl, #0x28] add r0, r0, r1 str r0, [sl, #0x28] str r6, [sl, #0x2c] _02028CB8: add r0, r8, #1 mov r0, r0, lsl #0x18 mov r8, r0, asr #0x18 cmp r8, #0x14 blt _02028C70 ldr r0, _02028E18 ; =_020AFD9C ldr r1, _02028E1C ; =_020AFD94 ldrh r0, [r0] ldrb r0, [r1, r0] cmp r0, #0 beq _02028D08 ldr r0, _02028E20 ; =_022A7AC8 bl sub_02029054 ldr r0, _02028E20 ; =_022A7AC8 bl sub_0200B330 ldr r0, _02028E18 ; =_020AFD9C ldr r1, _02028E1C ; =_020AFD94 ldrh r0, [r0] mov r2, #0 strb r2, [r1, r0] _02028D08: bl sub_02028FC8 ldr r0, _02028DE8 ; =_020AFD4C ldrb r0, [r0] cmp r0, #0 beq _02028D30 ldr r0, _02028E24 ; =_022A7B00 bl sub_0200B330 ldr r0, _02028DE8 ; =_020AFD4C mov r1, #0 strb r1, [r0] _02028D30: ldr r0, _02028DE8 ; =_020AFD4C ldrb r0, [r0, #3] cmp r0, #0 beq _02028DD4 ldr r0, _02028E28 ; =_022A7AE4 bl sub_0200B330 ldr r0, _02028DE8 ; =_020AFD4C mov r1, #0 strb r1, [r0, #3] b _02028DD4 _02028D58: ldr r0, _02028DEC ; =_022A7A6C ldr r7, _02028DF4 ; =_022A7B1C ldrsb r0, [r0, #5] mov r6, #0x30 mvn r5, #1 b _02028D90 _02028D70: mul r1, r0, r6 ldrb r0, [r7, r1] add r8, r7, r1 cmp r0, #0 beq _02028D8C add r0, r8, #4 bl sub_02029B0C _02028D8C: ldrsb r0, [r8, #0x2c] _02028D90: cmp r0, r5 bne _02028D70 ldr r0, _02028E18 ; =_020AFD9C ldr r1, _02028E1C ; =_020AFD94 ldrh r0, [r0] ldrb r0, [r1, r0] cmp r0, #0 beq _02028DD4 ldr r0, _02028E20 ; =_022A7AC8 bl sub_02029054 ldr r0, _02028E20 ; =_022A7AC8 bl sub_0200B330 ldr r0, _02028E18 ; =_020AFD9C ldr r1, _02028E1C ; =_020AFD94 ldrh r0, [r0] mov r2, #0 strb r2, [r1, r0] _02028DD4: bl sub_02029EC4 bl sub_02029FE8 mov r0, r4 bl sub_0202A2C8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02028DE8: .word _020AFD4C _02028DEC: .word _022A7A6C _02028DF0: .word _022A88DC _02028DF4: .word _022A7B1C _02028DF8: .word _020AFD98 _02028DFC: .word _0209ACA8 _02028E00: .word _0209AC64 _02028E04: .word _0209AC78 _02028E08: .word _022A7EDC _02028E0C: .word _022A7AA0 _02028E10: .word _022A7A8C _02028E14: .word _022A7A78 _02028E18: .word _020AFD9C _02028E1C: .word _020AFD94 _02028E20: .word _022A7AC8 _02028E24: .word _022A7B00 _02028E28: .word _022A7AE4 arm_func_end sub_02028A64 arm_func_start sub_02028E2C sub_02028E2C: ; 0x02028E2C ldr r0, _02028E3C ; =_022A7A6C mov r1, #0 strh r1, [r0, #6] bx lr .align 2, 0 _02028E3C: .word _022A7A6C arm_func_end sub_02028E2C arm_func_start sub_02028E40 sub_02028E40: ; 0x02028E40 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, #0 ldr r5, _02028E80 ; =_022A7EDC ldr r4, _02028E84 ; =_022A7A6C b _02028E6C _02028E54: add r7, r5, r6, lsl #7 mov r0, r7 bl sub_0201F2A0 add r0, r7, #0x40 bl sub_0201F2A0 add r6, r6, #1 _02028E6C: ldrsh r0, [r4, #6] cmp r6, r0 blt _02028E54 bl sub_0202A388 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02028E80: .word _022A7EDC _02028E84: .word _022A7A6C arm_func_end sub_02028E40 arm_func_start sub_02028E88 sub_02028E88: ; 0x02028E88 stmdb sp!, {r3, lr} mov r0, #8 bl sub_0200302C ldr r0, _02028ED0 ; =_022A7AC8 bl sub_0200B340 ldr r0, _02028ED4 ; =_022A7B00 bl sub_0200B340 ldr r0, _02028ED8 ; =_022A7AE4 bl sub_0200B340 ldr r0, _02028EDC ; =_022A7AA0 bl sub_0200A184 ldr r0, _02028EE0 ; =_022A7A8C bl sub_0200A184 ldr r0, _02028EE4 ; =_022A7A78 bl sub_0200A184 mov r0, #8 bl sub_020030FC ldmia sp!, {r3, pc} .align 2, 0 _02028ED0: .word _022A7AC8 _02028ED4: .word _022A7B00 _02028ED8: .word _022A7AE4 _02028EDC: .word _022A7AA0 _02028EE0: .word _022A7A8C _02028EE4: .word _022A7A78 arm_func_end sub_02028E88 arm_func_start sub_02028EE8 sub_02028EE8: ; 0x02028EE8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sb, r1 mov sl, r0 mov r8, r2 mov r7, r3 bl sub_0202843C mov r5, r0 ldr r6, [sb, #4] add r4, sp, #0 mov fp, #0 b _02028F68 _02028F18: mov r1, r6, lsr #0x1f rsb r0, r1, r6, lsl #27 add r0, r1, r0, ror #27 str r0, [sp, #4] ldr r0, [sb] str r0, [sp] b _02028F50 _02028F34: mov r0, r5 mov r1, r4 mov r2, fp bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _02028F50: ldr r0, [sb] ldr r1, [sp] add r0, r0, r8 cmp r1, r0 blt _02028F34 add r6, r6, #1 _02028F68: ldr r0, [sb, #4] add r0, r0, r7 cmp r6, r0 blt _02028F18 mov r0, sl bl sub_02027AA0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02028EE8 arm_func_start sub_02028F88 sub_02028F88: ; 0x02028F88 stmdb sp!, {r4, lr} mov r4, r1 bl sub_0202843C mov r1, r4 bl sub_0200B3C0 ldmia sp!, {r4, pc} arm_func_end sub_02028F88 arm_func_start sub_02028FA0 sub_02028FA0: ; 0x02028FA0 mov r1, #0xe0 mul r1, r0, r1 ldr r0, _02028FC4 ; =_022A8908 ldr r0, [r0, r1] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02028FC4: .word _022A8908 arm_func_end sub_02028FA0 arm_func_start sub_02028FC8 sub_02028FC8: ; 0x02028FC8 ldr r0, _02028FDC ; =_020AFD9C ldrh r1, [r0] eor r1, r1, #1 strh r1, [r0] bx lr .align 2, 0 _02028FDC: .word _020AFD9C arm_func_end sub_02028FC8 arm_func_start sub_02028FE0 sub_02028FE0: ; 0x02028FE0 ldr r1, _02028FF8 ; =0x00000904 ldr r2, _02028FFC ; =_022A9A5C mov r3, #0 smlabb r0, r0, r1, r2 str r3, [r0, #0x900] bx lr .align 2, 0 _02028FF8: .word 0x00000904 _02028FFC: .word _022A9A5C arm_func_end sub_02028FE0 arm_func_start sub_02029000 sub_02029000: ; 0x02029000 ldr r2, _02029034 ; =_022A9A5C ldr r1, _02029038 ; =0x00000904 smlabb r2, r0, r1, r2 ldr r0, [r2, #0x900] add r1, r0, #1 mov r0, r0, lsl #0x10 str r1, [r2, #0x900] cmp r1, #0x10 mov r1, r0, asr #0x10 movge r0, #0x10 strge r0, [r2, #0x900] add r0, r2, r1, lsl #4 bx lr .align 2, 0 _02029034: .word _022A9A5C _02029038: .word 0x00000904 arm_func_end sub_02029000 arm_func_start sub_0202903C sub_0202903C: ; 0x0202903C ldr r0, _0202904C ; =_020AFD9C ldr ip, _02029050 ; =sub_02028FE0 ldrsh r0, [r0] bx ip .align 2, 0 _0202904C: .word _020AFD9C _02029050: .word sub_02028FE0 arm_func_end sub_0202903C arm_func_start sub_02029054 sub_02029054: ; 0x02029054 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 ldr r2, _02029144 ; =_020AFD9C ldr r1, _02029148 ; =0x00000904 ldrh sl, [r2] ldr r6, _0202914C ; =_022A9A5C ldr r2, _02029150 ; =_022AA35C mul r3, sl, r1 smlabb r4, sl, r1, r6 ldr r1, [r2, r3] add r5, r4, #0x100 mov fp, r0 mov r4, r1, lsl #0x10 add sb, r6, r3 mov r7, #0 b _02029120 _02029094: add r8, sb, r7, lsl #4 ldr r6, [r8, #4] b _02029100 _020290A0: mov r1, r6, lsr #0x1f rsb r0, r1, r6, lsl #27 ldr r2, [r8] add r0, r1, r0, ror #27 str r0, [sp, #4] str r2, [sp] b _020290E4 _020290BC: ldr r0, [sp, #4] mov r1, r2, lsl #1 add r0, r5, r0, lsl #6 ldrh r2, [r1, r0] mov r0, fp add r1, sp, #0 bl sub_0200B3FC ldr r0, [sp] add r0, r0, #1 str r0, [sp] _020290E4: ldr r1, [r8] ldr r0, [r8, #8] ldr r2, [sp] add r0, r1, r0 cmp r2, r0 blt _020290BC add r6, r6, #1 _02029100: ldr r1, [r8, #4] ldr r0, [r8, #0xc] add r0, r1, r0 cmp r6, r0 blt _020290A0 add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _02029120: cmp r7, r4, asr #16 blt _02029094 ldr r0, _02029148 ; =0x00000904 ldr r1, _0202914C ; =_022A9A5C mov r2, #0 smlabb r0, sl, r0, r1 str r2, [r0, #0x900] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02029144: .word _020AFD9C _02029148: .word 0x00000904 _0202914C: .word _022A9A5C _02029150: .word _022AA35C arm_func_end sub_02029054 arm_func_start sub_02029154 sub_02029154: ; 0x02029154 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r4, _020291F0 ; =_020AFD9C mov r7, r0 ldrh r0, [r4] mov r6, r1 mov r5, r2 eor r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r4, r3 bl sub_02029000 ldr r1, _020291F0 ; =_020AFD9C ldr ip, _020291F4 ; =_022A9A5C ldrh r3, [r1] ldr r2, _020291F8 ; =0x00000904 add r1, r7, r5 str r7, [r0] eor r3, r3, #1 smlabb r2, r3, r2, ip str r6, [r0, #4] str r5, [r0, #8] str r4, [r0, #0xc] add r5, r2, #0x100 add ip, r6, r4 mov r3, #0 b _020291E4 _020291BC: mov r0, r6, lsl #5 mov r4, r7 add r0, r5, r0, lsl #1 b _020291D8 _020291CC: mov r2, r4, lsl #1 strh r3, [r2, r0] add r4, r4, #1 _020291D8: cmp r4, r1 blt _020291CC add r6, r6, #1 _020291E4: cmp r6, ip blt _020291BC ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020291F0: .word _020AFD9C _020291F4: .word _022A9A5C _020291F8: .word 0x00000904 arm_func_end sub_02029154 arm_func_start sub_020291FC sub_020291FC: ; 0x020291FC stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _0202946C ; =_020AFD9C mov r5, r0 ldrh r0, [r4] mov r4, r1 mov r8, r2 eor r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r7, r3 ldr r6, [sp, #0x18] bl sub_02029000 ldr r1, _0202946C ; =_020AFD9C ldr ip, _02029470 ; =_022A9A5C ldrh r3, [r1] ldr r1, _02029474 ; =0x00000904 ldrb r2, [sp, #0x1c] str r5, [r0] eor r3, r3, #1 smlabb r1, r3, r1, ip stmib r0, {r4, r8} str r7, [r0, #0xc] cmp r2, #0 add r1, r1, #0x100 beq _020292BC orr r2, r6, #0x400 mov r2, r2, lsl #0x10 add r3, r5, r8 mov r6, r2, lsr #0x10 sub ip, r3, #1 add lr, r4, r7 b _020292B0 _0202927C: mov r2, r4, lsl #5 mov r8, ip add r3, r1, r2, lsl #1 b _020292A4 _0202928C: add r2, r6, #1 mov r7, r8, lsl #1 mov r2, r2, lsl #0x10 strh r6, [r7, r3] mov r6, r2, lsr #0x10 sub r8, r8, #1 _020292A4: cmp r8, r5 bge _0202928C add r4, r4, #1 _020292B0: cmp r4, lr blt _0202927C b _02029310 _020292BC: add r2, r5, r8 add r3, r4, r7 b _02029308 _020292C8: mov r8, r4, lsr #0x1f rsb r7, r8, r4, lsl #27 add r7, r8, r7, ror #27 mov r7, r7, lsl #5 mov ip, r5 add r8, r1, r7, lsl #1 b _020292FC _020292E4: add r7, r6, #1 mov lr, ip, lsl #1 mov r7, r7, lsl #0x10 strh r6, [lr, r8] mov r6, r7, lsr #0x10 add ip, ip, #1 _020292FC: cmp ip, r2 blt _020292E4 add r4, r4, #1 _02029308: cmp r4, r3 blt _020292C8 _02029310: ldrb r2, [sp, #0x20] cmp r2, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, [r0] subs r2, r2, #1 str r2, [r0] movmi r2, #0 strmi r2, [r0] ldr r2, [r0, #4] subs r2, r2, #1 str r2, [r0, #4] movmi r2, #0 strmi r2, [r0, #4] ldr r2, [r0, #8] add r2, r2, #1 str r2, [r0, #8] cmp r2, #0x20 movgt r2, #0x20 strgt r2, [r0, #8] ldr r2, [r0, #0xc] add r2, r2, #1 str r2, [r0, #0xc] cmp r2, #0x20 movgt r2, #0x20 strgt r2, [r0, #0xc] ldr r5, [r0, #0xc] ldmia r0, {r2, r3, r6} mov r0, r3, lsl #0x10 mov r4, r2, lsl #0x10 mov r5, r5, lsl #0x10 mov r3, r6, lsl #0x10 movs r2, r0, asr #0x10 mov r4, r4, asr #0x10 bmi _020293D8 mov r0, r2, lsl #5 mov r8, r4 add ip, r4, r3, asr #16 add r6, r1, r0, lsl #1 mov r7, #0 b _020293D0 _020293B0: cmp r8, #0 blt _020293C4 cmp r8, #0x20 movlt r0, r8, lsl #1 strlth r7, [r0, r6] _020293C4: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _020293D0: cmp r8, ip ble _020293B0 _020293D8: add r3, r4, r3, asr #16 add r0, r2, r5, asr #16 mov r5, r3, lsl #0x10 mov r8, r5, asr #0x10 mov lr, #0 mov ip, r4, lsl #1 mov r6, r8, lsl #1 mov r7, lr b _02029420 _020293FC: cmp r4, #0 addge r5, r1, r2, lsl #6 strgeh lr, [ip, r5] cmp r8, #0x20 addlt r5, r1, r2, lsl #6 add r2, r2, #1 mov r2, r2, lsl #0x10 strlth r7, [r6, r5] mov r2, r2, asr #0x10 _02029420: cmp r2, r0 blt _020293FC cmp r2, #0x18 ldmgeia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r2, lsl #5 add r1, r1, r0, lsl #1 mov r2, #0 b _02029460 _02029440: cmp r4, #0 blt _02029454 cmp r4, #0x20 movlt r0, r4, lsl #1 strlth r2, [r0, r1] _02029454: add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _02029460: cmp r4, r3 ble _02029440 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0202946C: .word _020AFD9C _02029470: .word _022A9A5C _02029474: .word 0x00000904 arm_func_end sub_020291FC arm_func_start sub_02029478 sub_02029478: ; 0x02029478 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mvn r2, #0 cmp r1, r2 ldrnesh r2, [r0, #0x24] cmpne r1, r2 beq _020294FC ldrb r0, [r0, #0x26] cmp r0, #0 bne _020294D0 mov r0, #0xf str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r2, #1 ldr r0, _02029504 ; =_022AAC80 str r2, [sp, #8] mov r2, #0 mov r3, #0x3f8 str r2, [sp, #0xc] bl SetAnimationForAnimationControl b _020294FC _020294D0: mov r0, #0xe str r0, [sp] mov r0, #4 str r0, [sp, #4] mov ip, #1 str ip, [sp, #8] ldr r0, _02029508 ; =_022AACFC mov r2, #0 mov r3, #0x7c str ip, [sp, #0xc] bl SetAnimationForAnimationControl _020294FC: add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 _02029504: .word _022AAC80 _02029508: .word _022AACFC arm_func_end sub_02029478 arm_func_start LoadCursors LoadCursors: ; 0x0202950C stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r0, _02029654 ; =_022AAC68 mov r1, #0 mov r2, #0x15 bl memset ldr r0, _02029658 ; =WAN_TABLE ldr r1, _0202965C ; =_0209ADF0 ldr r0, [r0] mov r2, #0 bl LoadWanTableEntry ldr r2, _02029660 ; =_022AAC64 ldr r1, _02029658 ; =WAN_TABLE strh r0, [r2, #2] ldr r0, [r1] ldr r1, _02029664 ; =_0209AE08 mov r2, #0 bl LoadWanTableEntry ldr r1, _02029660 ; =_022AAC64 mov r3, #1 strh r0, [r1] str r3, [sp] mov r0, #0 str r0, [sp, #4] ldrsh r0, [r1, #2] mov r1, #0x3f8 mov r2, #0xf bl sub_0201D9C8 mov r3, #1 str r3, [sp] str r3, [sp, #4] ldr r0, _02029660 ; =_022AAC64 mov r1, #0x7c ldrsh r0, [r0] mov r2, #0xe bl sub_0201D9C8 ldr r0, _02029668 ; =_022AAC80 bl sub_0201C0B0 ldr r0, _02029668 ; =_022AAC80 ldr r1, _02029660 ; =_022AAC64 ldrsh r1, [r1, #2] bl SetSpriteIdForAnimationControl mov r0, #0xf str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] ldr r0, _02029668 ; =_022AAC80 mov r2, r1 mov r3, #0x3f8 bl SetAnimationForAnimationControl mov r1, #0 ldr r0, _02029668 ; =_022AAC80 strh r1, [r0, #0x38] bl sub_0201C108 ldr r0, _0202966C ; =_022AACFC bl sub_0201C0B0 ldr r0, _0202966C ; =_022AACFC ldr r1, _02029660 ; =_022AAC64 ldrsh r1, [r1] bl SetSpriteIdForAnimationControl mov r0, #0xe str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] str r0, [sp, #0xc] ldr r0, _0202966C ; =_022AACFC mov r1, #0 mov r2, r1 mov r3, #0x7c bl SetAnimationForAnimationControl ldr r0, _0202966C ; =_022AACFC mov r1, #0 strh r1, [r0, #0x38] bl sub_0201C108 add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 _02029654: .word _022AAC68 _02029658: .word WAN_TABLE _0202965C: .word _0209ADF0 _02029660: .word _022AAC64 _02029664: .word _0209AE08 _02029668: .word _022AAC80 _0202966C: .word _022AACFC arm_func_end LoadCursors arm_func_start InitDialogBoxTrailer InitDialogBoxTrailer: ; 0x02029670 mov r1, #0 str r1, [r0] strb r1, [r0, #4] strb r1, [r0, #0x19] strb r1, [r0, #0x18] bx lr arm_func_end InitDialogBoxTrailer arm_func_start sub_02029688 sub_02029688: ; 0x02029688 cmp r2, #1 cmpeq r3, #0 moveq r2, #2 cmp r1, #0 ldreq r1, [r0] cmpeq r1, r2 ldreq r3, [r0, #8] ldreq r1, [sp] cmpeq r3, r1 ldreq r3, [r0, #0xc] ldreq r1, [sp, #4] cmpeq r3, r1 bxeq lr str r2, [r0] mov r1, #1 ldr r2, [sp] strb r1, [r0, #4] ldr r1, [sp, #4] str r2, [r0, #8] str r1, [r0, #0xc] mov r1, #0 str r1, [r0, #0x10] str r1, [r0, #0x14] bx lr arm_func_end sub_02029688 arm_func_start sub_020296E8 sub_020296E8: ; 0x020296E8 cmp r1, #0 ldreq r1, [r0] cmpeq r1, r2 ldreq r3, [r0, #8] ldreq r1, [sp] cmpeq r3, r1 ldreq r3, [r0, #0xc] ldreq r1, [sp, #4] cmpeq r3, r1 ldreq r3, [r0, #0x10] ldreq r1, [sp, #8] cmpeq r3, r1 ldreq r3, [r0, #0x14] ldreq r1, [sp, #0xc] cmpeq r3, r1 bxeq lr str r2, [r0] mov r1, #1 ldr r2, [sp] strb r1, [r0, #4] ldr r1, [sp, #4] str r2, [r0, #8] ldr r2, [sp, #8] str r1, [r0, #0xc] ldr r1, [sp, #0xc] str r2, [r0, #0x10] str r1, [r0, #0x14] bx lr arm_func_end sub_020296E8 arm_func_start sub_02029758 sub_02029758: ; 0x02029758 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r4, r1 ldr r1, [r4, #0xc0] mov r5, r0 mov r6, r2 cmp r1, #0 ble _0202980C ldr r0, [r4, #0x10] tst r0, #0x4000000 bne _020297C8 ldr r1, [r4, #0xbc] mov r0, r4 bl sub_020328D8 ldr r2, [r4, #8] ldr r1, [r4, #0xb0] mov r3, r6 add r1, r2, r1 str r1, [sp] ldr r1, [r4] mov r2, #1 add r0, r1, r0 str r0, [sp, #4] ldrb r1, [r4, #0xd4] mov r0, r5 bl sub_02029688 mov r0, #0 strb r0, [r4, #0xd4] _020297C8: mov r0, r4 bl sub_0203293C strb r0, [r5, #0x18] mov r0, r4 bl sub_02032918 strb r0, [r5, #0x19] tst r0, #0xff ldreqb r0, [r5, #0x18] cmpeq r0, #0 beq _02029820 ldr r0, [r4, #0xc] sub r0, r0, #2 str r0, [r5, #0x1c] ldr r0, [r4] sub r0, r0, #2 str r0, [r5, #0x20] b _02029820 _0202980C: mov r0, #0 str r0, [r5] strb r0, [r5, #4] strb r0, [r5, #0x19] strb r0, [r5, #0x18] _02029820: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02029758 arm_func_start sub_02029828 sub_02029828: ; 0x02029828 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r4, r1 ldr r1, [r4, #0xc0] mov r5, r0 mov r6, r2 cmp r1, #0 ble _020298DC ldr r0, [r4, #0x10] tst r0, #0x4000000 bne _02029898 ldr r1, [r4, #0xbc] mov r0, r4 bl sub_02033350 ldr r2, [r4, #8] ldr r1, [r4, #0xb0] mov r3, r6 add r1, r2, r1 str r1, [sp] ldr r1, [r4] mov r2, #1 add r0, r1, r0 str r0, [sp, #4] ldrb r1, [r4, #0xd4] mov r0, r5 bl sub_02029688 mov r0, #0 strb r0, [r4, #0xd4] _02029898: mov r0, r4 bl sub_020333B4 strb r0, [r5, #0x18] mov r0, r4 bl sub_02033390 strb r0, [r5, #0x19] tst r0, #0xff ldreqb r0, [r5, #0x18] cmpeq r0, #0 beq _020298F0 ldr r0, [r4, #0xc] sub r0, r0, #2 str r0, [r5, #0x1c] ldr r0, [r4] sub r0, r0, #2 str r0, [r5, #0x20] b _020298F0 _020298DC: mov r0, #0 str r0, [r5] strb r0, [r5, #4] strb r0, [r5, #0x19] strb r0, [r5, #0x18] _020298F0: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02029828 arm_func_start sub_020298F8 sub_020298F8: ; 0x020298F8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r1 ldr r1, [r4, #0x10] mov r5, r0 mov lr, r2 tst r1, #0x4000000 bne _02029950 ldr ip, [r4, #8] ldr r1, [sp, #0x18] mov r2, r3 add r1, ip, r1 str r1, [sp] ldr ip, [r4] ldr r1, [sp, #0x1c] mov r3, lr add r1, ip, r1 str r1, [sp, #4] ldrb r1, [r4, #0xd4] bl sub_02029688 mov r0, #0 strb r0, [r4, #0xd4] _02029950: mov r0, r4 bl sub_0203293C strb r0, [r5, #0x18] mov r0, r4 bl sub_02032918 strb r0, [r5, #0x19] tst r0, #0xff ldreqb r0, [r5, #0x18] cmpeq r0, #0 beq _02029990 ldr r0, [r4, #0xc] sub r0, r0, #2 str r0, [r5, #0x1c] ldr r0, [r4] sub r0, r0, #2 str r0, [r5, #0x20] _02029990: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020298F8 arm_func_start sub_02029998 sub_02029998: ; 0x02029998 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r4, r1 ldr r1, [r4, #0x10] mov r5, r0 mov lr, r2 tst r1, #0x4000000 bne _02029A08 ldr r1, [r4, #8] ldr r6, [sp, #0x28] ldr r7, [sp, #0x30] ldr ip, [r4] ldr r2, [sp, #0x2c] add r8, r1, r6 ldr r6, [sp, #0x34] str r8, [sp] add r8, ip, r2 mov r2, r3 str r8, [sp, #4] add r1, r1, r7 str r1, [sp, #8] add r1, ip, r6 str r1, [sp, #0xc] ldrb r1, [r4, #0xd4] mov r3, lr bl sub_020296E8 mov r0, #0 strb r0, [r4, #0xd4] _02029A08: mov r0, r4 bl sub_0203293C strb r0, [r5, #0x18] mov r0, r4 bl sub_02032918 strb r0, [r5, #0x19] tst r0, #0xff ldreqb r0, [r5, #0x18] cmpeq r0, #0 beq _02029A48 ldr r0, [r4, #0xc] sub r0, r0, #2 str r0, [r5, #0x1c] ldr r0, [r4] sub r0, r0, #2 str r0, [r5, #0x20] _02029A48: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02029998 arm_func_start sub_02029A50 sub_02029A50: ; 0x02029A50 mov r2, #0 str r2, [r0] sub r1, r2, #1 strh r1, [r0, #0x24] str r2, [r0, #4] bx lr arm_func_end sub_02029A50 arm_func_start sub_02029A68 sub_02029A68: ; 0x02029A68 ldr r3, [r1] ldr r2, [r0] cmp r2, r3 beq _02029AAC mov r3, #0 strb r3, [r1, #4] ldr r2, [r1] stmia r0, {r2, r3} ldr r3, [r1, #8] ldr r2, [r1, #0xc] str r3, [r0, #8] str r2, [r0, #0xc] ldr r3, [r1, #0x10] ldr r2, [r1, #0x14] str r3, [r0, #0x10] str r2, [r0, #0x14] b _02029AE8 _02029AAC: cmp r3, #0 ldrneb r2, [r1, #4] cmpne r2, #0 beq _02029AE8 mov r2, #0 strb r2, [r1, #4] str r2, [r0, #4] ldr r3, [r1, #8] ldr r2, [r1, #0xc] str r3, [r0, #8] str r2, [r0, #0xc] ldr r3, [r1, #0x10] ldr r2, [r1, #0x14] str r3, [r0, #0x10] str r2, [r0, #0x14] _02029AE8: ldrb r2, [r1, #0x19] strb r2, [r0, #0x19] ldrb r2, [r1, #0x18] strb r2, [r0, #0x18] ldr r2, [r1, #0x1c] ldr r1, [r1, #0x20] str r2, [r0, #0x1c] str r1, [r0, #0x20] bx lr arm_func_end sub_02029A68 arm_func_start sub_02029B0C sub_02029B0C: ; 0x02029B0C stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _02029EB0 cmp r0, #2 ldrne r0, [r4, #4] addne r0, r0, #1 strne r0, [r4, #4] ldr r0, [r4, #4] tst r0, #0x10 bne _02029EB0 ldr r0, [r4] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02029EB0 _02029B50: ; jump table b _02029EB0 ; case 0 b _02029B70 ; case 1 b _02029B70 ; case 2 b _02029BBC ; case 3 b _02029C08 ; case 4 b _02029C64 ; case 5 b _02029D38 ; case 6 b _02029D94 ; case 7 _02029B70: mov r0, r4 mov r1, #0 bl sub_02029478 ldrb r0, [r4, #0x26] ldr r1, [r4, #8] cmp r0, #0 bne _02029BA4 ldr r0, _02029EB8 ; =_022AAC80 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029BA4: ldr r0, _02029EBC ; =_022AACFC strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029BBC: mov r0, r4 mov r1, #0 bl sub_02029478 ldrb r0, [r4, #0x26] ldr r1, [r4, #8] cmp r0, #0 bne _02029BF0 ldr r0, _02029EB8 ; =_022AAC80 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029BF0: ldr r0, _02029EBC ; =_022AACFC strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029C08: mov r0, r4 mov r1, #1 bl sub_02029478 ldrb r0, [r4, #0x26] ldr r1, [r4, #8] cmp r0, #0 bne _02029C44 ldr r0, _02029EB8 ; =_022AAC80 sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #4 strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029C44: ldr r0, _02029EBC ; =_022AACFC sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #4 strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029C64: ldr r1, _02029EC0 ; =0x0000FFFF mov ip, #0 str ip, [sp] mov r0, #0x2000 str r0, [sp, #4] add r0, sp, #0x18 mov r2, r1 mov r3, r1 str ip, [sp, #8] bl sub_0201C028 mov r0, r4 mov r1, #1 bl sub_02029478 ldrb r0, [r4, #0x26] add r1, sp, #0x18 cmp r0, #0 bne _02029CF0 ldr r0, _02029EB8 ; =_022AAC80 ldrh r2, [r0, #2] orr r2, r2, #0x20 strh r2, [r0, #2] bl sub_0201D110 ldr r1, [r4, #8] ldr r0, _02029EB8 ; =_022AAC80 sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #0x10 strh r1, [r0, #0x1e] bl sub_0201CF5C ldr r0, _02029EB8 ; =_022AAC80 ldrh r1, [r0, #2] bic r1, r1, #0x20 strh r1, [r0, #2] b _02029EB0 _02029CF0: ldr r0, _02029EBC ; =_022AACFC ldrh r2, [r0, #2] orr r2, r2, #0x20 strh r2, [r0, #2] bl sub_0201D110 ldr r1, [r4, #8] ldr r0, _02029EBC ; =_022AACFC sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #0x10 strh r1, [r0, #0x1e] bl sub_0201CF5C ldr r0, _02029EBC ; =_022AACFC ldrh r1, [r0, #2] bic r1, r1, #0x20 strh r1, [r0, #2] b _02029EB0 _02029D38: mov r0, r4 mov r1, #1 bl sub_02029478 ldrb r0, [r4, #0x26] ldr r1, [r4, #8] cmp r0, #0 bne _02029D74 ldr r0, _02029EB8 ; =_022AAC80 sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #4 strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029D74: ldr r0, _02029EBC ; =_022AACFC sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #4 strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029EB0 _02029D94: mov r0, r4 mov r1, #1 bl sub_02029478 ldrb r0, [r4, #0x26] ldr r1, [r4, #8] cmp r0, #0 bne _02029DD0 ldr r0, _02029EB8 ; =_022AAC80 sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0x14] sub r1, r1, #4 strh r1, [r0, #0x1e] bl sub_0201CF5C b _02029DEC _02029DD0: ldr r0, _02029EBC ; =_022AACFC sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0x14] sub r1, r1, #4 strh r1, [r0, #0x1e] bl sub_0201CF5C _02029DEC: mov ip, #0 ldr r1, _02029EC0 ; =0x0000FFFF str ip, [sp] mov r0, #0x2000 str r0, [sp, #4] add r0, sp, #0xc mov r2, r1 mov r3, r1 str ip, [sp, #8] bl sub_0201C028 ldrb r0, [r4, #0x26] add r1, sp, #0xc cmp r0, #0 bne _02029E6C ldr r0, _02029EB8 ; =_022AAC80 ldrh r2, [r0, #2] orr r2, r2, #0x20 strh r2, [r0, #2] bl sub_0201D110 ldr r1, [r4, #8] ldr r0, _02029EB8 ; =_022AAC80 sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #0x10 strh r1, [r0, #0x1e] bl sub_0201CF5C ldr r0, _02029EB8 ; =_022AAC80 ldrh r1, [r0, #2] bic r1, r1, #0x20 strh r1, [r0, #2] b _02029EB0 _02029E6C: ldr r0, _02029EBC ; =_022AACFC ldrh r2, [r0, #2] orr r2, r2, #0x20 strh r2, [r0, #2] bl sub_0201D110 ldr r1, [r4, #8] ldr r0, _02029EBC ; =_022AACFC sub r1, r1, #4 strh r1, [r0, #0x1c] ldr r1, [r4, #0xc] sub r1, r1, #0x10 strh r1, [r0, #0x1e] bl sub_0201CF5C ldr r0, _02029EBC ; =_022AACFC ldrh r1, [r0, #2] bic r1, r1, #0x20 strh r1, [r0, #2] _02029EB0: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 _02029EB8: .word _022AAC80 _02029EBC: .word _022AACFC _02029EC0: .word 0x0000FFFF arm_func_end sub_02029B0C arm_func_start sub_02029EC4 sub_02029EC4: ; 0x02029EC4 bx lr arm_func_end sub_02029EC4 arm_func_start Arm9LoadUnkFieldNa0x2029EC8 Arm9LoadUnkFieldNa0x2029EC8: ; 0x02029EC8 ldr r1, _02029ED4 ; =_022AAC68 ldrb r0, [r1, r0] bx lr .align 2, 0 _02029ED4: .word _022AAC68 arm_func_end Arm9LoadUnkFieldNa0x2029EC8 arm_func_start Arm9StoreUnkFieldNa0x2029ED8 Arm9StoreUnkFieldNa0x2029ED8: ; 0x02029ED8 ldr r2, _02029EE4 ; =_022AAC68 strb r1, [r2, r0] bx lr .align 2, 0 _02029EE4: .word _022AAC68 arm_func_end Arm9StoreUnkFieldNa0x2029ED8 arm_func_start LoadAlert LoadAlert: ; 0x02029EE8 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r0, _02029F74 ; =WAN_TABLE ldr r1, _02029F78 ; =_0209AE20 ldr r0, [r0] mov r2, #0 bl LoadWanTableEntry ldr r1, _02029F7C ; =_022AAD78 strh r0, [r1] ldr r0, _02029F80 ; =_022AAD7C bl sub_0201C0B0 ldr r1, _02029F7C ; =_022AAD78 ldr r0, _02029F80 ; =_022AAD7C ldrsh r1, [r1] bl SetSpriteIdForAnimationControl mov r1, #0 mov r0, #0xd stmia sp, {r0, r1} mov r0, #1 str r0, [sp, #8] ldr r0, _02029F80 ; =_022AAD7C mov r2, r1 mov r3, #0x3e4 str r1, [sp, #0xc] bl SetAnimationForAnimationControl ldr r0, _02029F80 ; =_022AAD7C mov r1, #0 strh r1, [r0, #0x38] bl sub_02029FBC ldr r0, _02029F84 ; =_020AFDA0 mov r1, #0 strb r1, [r0] str r1, [r0, #4] add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 _02029F74: .word WAN_TABLE _02029F78: .word _0209AE20 _02029F7C: .word _022AAD78 _02029F80: .word _022AAD7C _02029F84: .word _020AFDA0 arm_func_end LoadAlert arm_func_start sub_02029F88 sub_02029F88: ; 0x02029F88 ldr ip, _02029FB4 ; =_022AAD7C ldr r3, _02029FB8 ; =_020AFDA0 strh r0, [ip, #0x1c] strh r1, [ip, #0x1e] ldrh r1, [ip, #2] mov r0, #0 str r0, [r3, #4] bic r0, r1, #2 strh r0, [ip, #2] strb r2, [r3] bx lr .align 2, 0 _02029FB4: .word _022AAD7C _02029FB8: .word _020AFDA0 arm_func_end sub_02029F88 arm_func_start sub_02029FBC sub_02029FBC: ; 0x02029FBC ldr r1, _02029FE0 ; =_022AAD7C ldr r0, _02029FE4 ; =_020AFDA0 ldrh r3, [r1, #2] mov r2, #0 str r2, [r0, #4] orr r3, r3, #2 strh r3, [r1, #2] strb r2, [r0] bx lr .align 2, 0 _02029FE0: .word _022AAD7C _02029FE4: .word _020AFDA0 arm_func_end sub_02029FBC arm_func_start sub_02029FE8 sub_02029FE8: ; 0x02029FE8 stmdb sp!, {r3, lr} ldr r0, _0202A034 ; =_022AAD7C ldrh r1, [r0, #2] tst r1, #2 ldmneia sp!, {r3, pc} ldr r1, _0202A038 ; =_020AFDA0 ldrb r2, [r1] cmp r2, #0 beq _0202A02C ldr r2, [r1, #4] add r2, r2, #1 str r2, [r1, #4] ldr r1, [r1, #4] tst r1, #0x10 ldmneia sp!, {r3, pc} bl sub_0201CF5C ldmia sp!, {r3, pc} _0202A02C: bl sub_0201CF5C ldmia sp!, {r3, pc} .align 2, 0 _0202A034: .word _022AAD7C _0202A038: .word _020AFDA0 arm_func_end sub_02029FE8 arm_func_start sub_0202A03C sub_0202A03C: ; 0x0202A03C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 mov r4, r1 bl sub_020334A8 mov r0, r5 mov r1, r4 bl sub_02033BC0 ldr r0, [r5, #0xd8] cmp r0, #0 ble _0202A0A8 ldr r1, [r5, #0xec] cmp r1, #0 ldrge lr, [r5, #0xf0] cmpge lr, #0 ldrge r2, [r5, #0xe4] cmpge r2, #0 ldrge r0, [r5, #0xe8] cmpge r0, #0 blt _0202A0A8 sub r3, r0, r2 mov r0, r4 str r3, [sp] mov ip, #0x25 sub r3, lr, r1 str ip, [sp, #4] bl sub_02025D90 _0202A0A8: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202A03C arm_func_start sub_0202A0B0 sub_0202A0B0: ; 0x0202A0B0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 mov r4, r1 bl sub_020335A8 mov r0, r5 mov r1, r4 bl sub_02034360 ldr r0, [r5, #0xd8] cmp r0, #0 ble _0202A11C ldr r1, [r5, #0xec] cmp r1, #0 ldrge lr, [r5, #0xf0] cmpge lr, #0 ldrge r2, [r5, #0xe4] cmpge r2, #0 ldrge r0, [r5, #0xe8] cmpge r0, #0 blt _0202A11C sub r3, r0, r2 mov r0, r4 str r3, [sp] mov ip, #0x25 sub r3, lr, r1 str ip, [sp, #4] bl sub_02025D90 _0202A11C: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202A0B0 arm_func_start sub_0202A124 sub_0202A124: ; 0x0202A124 stmdb sp!, {r3, lr} ldr r0, _0202A144 ; =0x00000488 mov r1, #0 bl MemAlloc ldr r1, _0202A148 ; =_020AFDA8 str r0, [r1] bl sub_0202A14C ldmia sp!, {r3, pc} .align 2, 0 _0202A144: .word 0x00000488 _0202A148: .word _020AFDA8 arm_func_end sub_0202A124 arm_func_start sub_0202A14C sub_0202A14C: ; 0x0202A14C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r5, #0 ldr r8, _0202A1D0 ; =_020AFDA8 mov r4, r5 mov r7, #0x48 _0202A160: mul r6, r5, r7 ldr r0, [r8] add r0, r0, r6 add r0, r0, #4 bl InitRender3dElement64 ldr r0, [r8] mov ip, #4 strb r4, [r0, r6] ldr sb, [r8] add lr, sb, r6 add r6, lr, #0x244 _0202A18C: ldmia lr!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0202A18C add r5, r5, #1 ldmia lr, {r0, r1} stmia r6, {r0, r1} cmp r5, #8 blo _0202A160 add r0, sb, #0x200 mov r2, #0 ldr r1, _0202A1D0 ; =_020AFDA8 strh r2, [r0, #0x40] ldr r0, [r1] add r0, r0, #0x400 strh r2, [r0, #0x84] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0202A1D0: .word _020AFDA8 arm_func_end sub_0202A14C arm_func_start sub_0202A1D4 sub_0202A1D4: ; 0x0202A1D4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r4, _0202A2A0 ; =_020AFDA8 mov sb, r0 ldr r0, [r4] mov r7, r2 add r0, r0, #0x200 mov r8, r1 ldrh r1, [r0, #0x40] mov r6, r3 mov r2, #1 add r1, r1, #1 strh r1, [r0, #0x40] ldr r0, [r4] ldr r5, [sp, #0x20] add r0, r0, #0x200 ldrh r1, [r0, #0x40] cmp r1, #8 movhs r1, #0 strhsh r1, [r0, #0x40] ldr r0, _0202A2A0 ; =_020AFDA8 mov r1, #0x48 ldr r3, [r0] add r0, r3, #0x200 ldrh r0, [r0, #0x40] mul r1, r0, r1 add r4, r3, r1 add r0, r4, #4 strb r2, [r3, r1] bl InitRender3dElement64 mov r0, #2 mov r3, r5 strb r0, [r4, #0x40] add r2, r4, #0x30 mov r1, #4 _0202A25C: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _0202A25C ldrb r2, [r5, #3] mov r1, #8 ldrsh r0, [sp, #0x24] strb r2, [r4, #0x33] strh sb, [r4, #4] strh r8, [r4, #6] strh r7, [r4, #8] strh r6, [r4, #0xa] strh r1, [r4, #0x2e] strh r7, [r4, #8] strh r6, [r4, #0xa] strh r0, [r4, #0x44] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0202A2A0: .word _020AFDA8 arm_func_end sub_0202A1D4 arm_func_start sub_0202A2A4 sub_0202A2A4: ; 0x0202A2A4 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr lr, [sp, #0x10] ldrsh ip, [sp, #0x14] str lr, [sp] str ip, [sp, #4] bl sub_0202A1D4 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end sub_0202A2A4 arm_func_start sub_0202A2C8 sub_0202A2C8: ; 0x0202A2C8 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0202A384 ; =_020AFDA8 cmp r0, #0 ldr ip, [r1] ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, ip, #0x400 mov lr, #0 strh lr, [r0, #0x84] _0202A2E8: ldr r0, _0202A384 ; =_020AFDA8 ldr r4, [r0] add r0, r4, #0x400 ldrh r1, [r0, #0x84] cmp r1, #8 ldrneb r0, [ip] cmpne r0, #0 beq _0202A368 mov r0, #0x48 mla r0, r1, r0, r4 mov r7, ip add r6, r0, #0x244 mov r5, #4 _0202A31C: ldmia r7!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202A31C ldmia r7, {r0, r1} stmia r6, {r0, r1} add r0, r4, #0x400 ldrh r1, [r0, #0x84] add r1, r1, #1 strh r1, [r0, #0x84] ldrb r1, [ip, #0x33] ldrsh r0, [ip, #0x44] sub r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #0 movle r0, #0 strleb r0, [ip] strgtb r0, [ip, #0x33] _0202A368: add r0, lr, #1 mov r0, r0, lsl #0x10 mov lr, r0, asr #0x10 cmp lr, #8 add ip, ip, #0x48 blt _0202A2E8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0202A384: .word _020AFDA8 arm_func_end sub_0202A2C8 arm_func_start sub_0202A388 sub_0202A388: ; 0x0202A388 stmdb sp!, {r4, r5, r6, lr} ldr r6, _0202A3E0 ; =_020AFDA8 mov r5, #0 ldr r1, [r6] add r0, r1, #0x400 ldrh r0, [r0, #0x84] add r4, r1, #0x244 cmp r0, #0 ldmleia sp!, {r4, r5, r6, pc} b _0202A3C8 _0202A3B0: add r0, r4, #4 bl sub_0201F2A0 add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 add r4, r4, #0x48 _0202A3C8: ldr r0, [r6] add r0, r0, #0x400 ldrh r0, [r0, #0x84] cmp r5, r0 blt _0202A3B0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202A3E0: .word _020AFDA8 arm_func_end sub_0202A388 arm_func_start PrintClearMark PrintClearMark: ; 0x0202A3E4 stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #0 bl sub_0202A45C ldmia sp!, {r3, pc} arm_func_end PrintClearMark arm_func_start sub_0202A40C sub_0202A40C: ; 0x0202A40C stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #1 bl sub_0202A45C ldmia sp!, {r3, pc} arm_func_end sub_0202A40C arm_func_start sub_0202A434 sub_0202A434: ; 0x0202A434 stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #2 bl sub_0202A45C ldmia sp!, {r3, pc} arm_func_end sub_0202A434 arm_func_start sub_0202A45C sub_0202A45C: ; 0x0202A45C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x70 mov sl, r0 mov r4, r1 mov sb, r2 mov r8, r3 ldr r7, [sp, #0x90] bl DataTransferInit add r0, sp, #0x28 bl FileInitVeneer ldr r1, _0202A5C0 ; =_020AFDAC add r0, sp, #0x28 ldr r1, [r1, sl, lsl #2] bl FileOpen mov r1, r4, lsl #3 add r0, sp, #0x28 mov r2, #0 bl FileSeek add r0, sp, #0x28 add r1, sp, #8 mov r2, #0x10 bl FileRead ldr r6, [sp, #8] ldr r1, [sp, #0x10] mov r0, r6 sub r4, r1, r6 ldr r1, [sp, #0xc] str r0, [sp] str r1, [sp, #4] mov r0, r4 mov r1, #8 bl MemAlloc movs r5, r0 beq _0202A504 add r0, sp, #0x28 mov r1, r6 mov r2, #0 bl FileSeek add r0, sp, #0x28 mov r1, r5 mov r2, r4 bl FileRead _0202A504: add r0, sp, #0x28 bl FileClose bl DataTransferStop cmp sl, #2 ldreq r0, _0202A5C4 ; =_0209AE44 add r4, sp, #0x18 ldrne r0, _0202A5C8 ; =_0209AE34 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} mvn r0, #0 ldrb r2, [sp, #4] ldrb r1, [sp, #5] cmp r7, r0 ldreqb r0, [sp, #6] strb sb, [sp, #0x1c] strb r8, [sp, #0x1d] strb r2, [sp, #0x1e] strb r1, [sp, #0x1f] addeq r7, r0, #3 beq _0202A564 sub r0, r0, #1 cmp r7, r0 ldreqb r0, [sp, #6] addeq r7, r0, #0x11 _0202A564: add r0, sp, #0x18 mov r1, #0 bl sub_0202F8C4 mov r1, #0 mov r4, r0 bl sub_02027A08 cmp r5, #0 beq _0202A5B4 mov r0, r4 mov r1, r5 mov r2, r7, lsl #4 bl sub_02027040 mov r0, r4 mov r2, r7 add r1, r5, #0x30 bl sub_02026E3C mov r0, r4 bl sub_02027AF0 mov r0, r5 bl MemFree _0202A5B4: mov r0, r4 add sp, sp, #0x70 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0202A5C0: .word _020AFDAC _0202A5C4: .word _0209AE44 _0202A5C8: .word _0209AE34 arm_func_end sub_0202A45C arm_func_start sub_0202A5CC sub_0202A5CC: ; 0x0202A5CC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r3 mov r8, r1 mov r7, r2 mov sb, r0 mov r1, r6 mov r2, #0 b _0202A5F4 _0202A5EC: add r1, r1, #8 add r2, r2, #1 _0202A5F4: ldrh r0, [r1] cmp r0, #0 bne _0202A5EC add r0, r2, #1 add r0, r0, r0, lsl #6 mov r0, r0, lsl #2 mov r1, #8 bl MemAlloc mov r4, r0 mov r5, r4 b _0202A638 _0202A620: mov r0, r5 bl GetStringFromFileVeneer ldr r0, [r6, #4] add r6, r6, #8 str r0, [r5, #0x100] add r5, r5, #0x104 _0202A638: ldrh r1, [r6] cmp r1, #0 bne _0202A620 mov r0, #0 strb r0, [r5] ldr r6, [r6, #4] mov r0, sb mov r1, r8 mov r2, r7 mov r3, r4 str r6, [r5, #0x100] bl sub_0202A75C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0202A5CC arm_func_start sub_0202A66C sub_0202A66C: ; 0x0202A66C cmp r0, #0 moveq r0, #1 bxeq lr ldrb r0, [r0] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_0202A66C arm_func_start sub_0202A690 sub_0202A690: ; 0x0202A690 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r3 mov r8, r1 mov r7, r2 mov sb, r0 mov r1, r6 mov r2, #0 b _0202A6B8 _0202A6B0: add r1, r1, #8 add r2, r2, #1 _0202A6B8: ldr r0, [r1] cmp r0, #0 bne _0202A6B0 add r0, r2, #1 add r0, r0, r0, lsl #6 mov r0, r0, lsl #2 mov r1, #8 bl MemAlloc mov r4, r0 mov r5, r4 b _0202A6FC _0202A6E4: mov r0, r5 bl strcpy ldr r0, [r6, #4] add r6, r6, #8 str r0, [r5, #0x100] add r5, r5, #0x104 _0202A6FC: ldr r1, [r6] cmp r1, #0 bne _0202A6E4 mov r0, #0 strb r0, [r5] ldr r6, [r6, #4] mov r0, sb mov r1, r8 mov r2, r7 mov r3, r4 str r6, [r5, #0x100] bl sub_0202A75C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0202A690 arm_func_start sub_0202A730 sub_0202A730: ; 0x0202A730 stmdb sp!, {r4, lr} bl sub_0202A690 mov r4, r0 mvn r1, #1 cmp r4, r1 beq _0202A754 bl GetDialogBoxField0xC mov r1, #1 strb r1, [r0, #0x1b0] _0202A754: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end sub_0202A730 arm_func_start sub_0202A75C sub_0202A75C: ; 0x0202A75C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c mov r6, r0 mov sl, r1 mov r0, #0x1b4 mov r1, #8 mov sb, r2 mov r8, r3 bl MemAlloc tst sl, #0x20 ldrne r7, [sb] mov fp, #0 moveq r7, #0 cmp r6, #0 str fp, [sp, #8] mov r4, r0 addne ip, sp, #0x1c ldmneia r6, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} ldrne r0, _0202A94C ; =sub_0202ABFC mov r5, r8 strne r0, [sp, #0x1c] bne _0202A7CC ldr r0, _0202A950 ; =_0209AE90 add r6, sp, #0x1c ldmia r0, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} orr sl, sl, #0x300000 _0202A7CC: ldrb r0, [sp, #0x22] str r4, [sp, #0x28] cmp r0, #0 bne _0202A81C mov r6, #0 b _0202A7F8 _0202A7E4: mov r0, r5 bl sub_020265A8 cmp r0, r6 movgt r6, r0 add r5, r5, #0x104 _0202A7F8: mov r0, r5 bl sub_0202A66C cmp r0, #0 beq _0202A7E4 mov r0, sl mov r1, sb add r2, r6, #0x10 bl sub_02031A5C strb r0, [sp, #0x22] _0202A81C: mov r5, r8 and r6, sl, #0x20 b _0202A84C _0202A828: cmp r6, #0 beq _0202A83C ldr r0, [r5, #0x100] cmp r0, r7 ldreq fp, [sp, #8] _0202A83C: ldr r0, [sp, #8] add r5, r5, #0x104 add r0, r0, #1 str r0, [sp, #8] _0202A84C: mov r0, r5 bl sub_0202A66C cmp r0, #0 beq _0202A828 ldrb r0, [sp, #0x23] cmp r0, #0 bne _0202A880 add r2, sp, #8 mov r0, sl mov r1, sb mov r3, r2 bl sub_02031AA4 strb r0, [sp, #0x23] _0202A880: tst sl, #0x200000 ldrneb r1, [sp, #0x20] ldrneb r0, [sp, #0x22] subne r0, r1, r0 strneb r0, [sp, #0x20] tst sl, #0x100000 ldrneb r1, [sp, #0x21] ldrneb r0, [sp, #0x23] subne r0, r1, r0 strneb r0, [sp, #0x21] ldr r0, _0202A94C ; =sub_0202ABFC cmp sb, #0 str r0, [r4] str sl, [r4, #0xfc] beq _0202A8DC add r6, r4, #0x100 mov r5, #9 _0202A8C4: ldmia sb!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202A8C4 ldmia sb, {r0, r1} stmia r6, {r0, r1} _0202A8DC: str fp, [r4, #0x100] str r8, [r4, #0x198] mov r2, #0 str r2, [r4, #0x19c] strb r2, [r4, #0x1a0] strb r2, [r4, #0x1a1] str r2, [r4, #0x1a4] str r2, [r4, #0x1a8] str r2, [r4, #0x1ac] strb r2, [r4, #0x1b0] add r0, sp, #0x1c mov r1, #3 strb r2, [sp, #0x24] bl sub_02027648 add r1, sp, #0xc mov r6, r0 bl sub_02028284 ldr r5, [sp, #8] add r3, sp, #0xc str r5, [sp] mov r1, sl add r0, r4, #4 add r2, r4, #0x100 str r5, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202A94C: .word sub_0202ABFC _0202A950: .word _0209AE90 arm_func_end sub_0202A75C arm_func_start sub_0202A954 sub_0202A954: ; 0x0202A954 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #1 str r1, [r0, #0x19c] mov r1, #0 strb r1, [r0, #0x1a0] strb r1, [r0, #0x1a1] str r1, [r0, #0x1a4] ldr r1, [r0, #0xfc] bic r1, r1, #0x800000 str r1, [r0, #0xfc] add r0, r0, #4 bl sub_02032984 ldmia sp!, {r3, pc} arm_func_end sub_0202A954 arm_func_start sub_0202A98C sub_0202A98C: ; 0x0202A98C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x18 mov r4, r0 mov sb, r1 mov r5, #0 bl sub_020275F8 mov r7, r0 mov r1, sb ldr r8, [r7, #0xc] b _0202A9BC _0202A9B4: add r1, r1, #8 add r5, r5, #1 _0202A9BC: ldr r0, [r1] cmp r0, #0 bne _0202A9B4 ldr r0, [r8, #0x198] cmp r0, #0 beq _0202A9D8 bl MemFree _0202A9D8: add r0, r5, #1 add r0, r0, r0, lsl #6 mov r0, r0, lsl #2 mov r1, #8 bl MemAlloc mov r5, r0 mov r6, r5 b _0202AA10 _0202A9F8: mov r0, r6 bl strcpy ldr r0, [sb, #4] add sb, sb, #8 str r0, [r6, #0x100] add r6, r6, #0x104 _0202AA10: ldr r1, [sb] cmp r1, #0 bne _0202A9F8 mov sl, #0 strb sl, [r6] ldr r0, [sb, #4] mov sb, r5 str r0, [r6, #0x100] b _0202AA3C _0202AA34: add sb, sb, #0x104 add sl, sl, #1 _0202AA3C: mov r0, sb bl sub_0202A66C cmp r0, #0 beq _0202AA34 str r5, [r8, #0x198] ldrb r0, [r7, #8] bl sub_020287C4 mov r0, r4 bl sub_02027AF0 mov r0, #3 str r0, [r8, #0x19c] mov r2, #0 strb r2, [r8, #0x1a0] strb r2, [r8, #0x1a1] add r1, sp, #8 mov r0, r4 str r2, [r8, #0x1a4] bl sub_02028284 str sl, [sp] str sl, [sp, #4] ldr r1, [r8, #0xfc] add r0, r8, #4 add r2, r8, #0x100 add r3, sp, #8 bl sub_02031AF8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_0202A98C arm_func_start sub_0202AAA8 sub_0202AAA8: ; 0x0202AAA8 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #7 str r1, [r0, #0x19c] ldmia sp!, {r3, pc} arm_func_end sub_0202AAA8 arm_func_start sub_0202AABC sub_0202AABC: ; 0x0202AABC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #0x198] bl MemFree mov r0, r4 bl MemFree mov r0, r5 bl sub_02028194 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202AABC arm_func_start sub_0202AAE8 sub_0202AAE8: ; 0x0202AAE8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #0x19c] cmp r0, #4 cmpne r0, #5 cmpne r0, #9 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, #1 strb r0, [r4, #0x1a0] mov r2, #0 strb r0, [r4, #0x1a1] mov r0, r5 sub r1, r2, #5 str r2, [r4, #0x1a4] bl sub_0202830C mov r0, #7 str r0, [r4, #0x19c] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202AAE8 arm_func_start sub_0202AB40 sub_0202AB40: ; 0x0202AB40 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x19c] cmp r0, #8 cmpne r0, #9 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202AB40 arm_func_start sub_0202AB60 sub_0202AB60: ; 0x0202AB60 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r0, [r0, #0x1a0] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202AB60 arm_func_start sub_0202AB80 sub_0202AB80: ; 0x0202AB80 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032558 ldmia sp!, {r3, pc} arm_func_end sub_0202AB80 arm_func_start sub_0202AB94 sub_0202AB94: ; 0x0202AB94 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_02032684 ldmia sp!, {r4, pc} arm_func_end sub_0202AB94 arm_func_start sub_0202ABB0 sub_0202ABB0: ; 0x0202ABB0 stmdb sp!, {r4, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a0] ldr r4, [r0, #0x198] cmp r1, #0 beq _0202ABF4 ldrb r1, [r0, #0x1a1] add r0, r0, #4 cmp r1, #0 beq _0202ABE0 bl sub_0203258C b _0202ABE4 _0202ABE0: bl sub_02032578 _0202ABE4: add r0, r0, r0, lsl #6 add r0, r4, r0, lsl #2 ldr r0, [r0, #0x100] ldmia sp!, {r4, pc} _0202ABF4: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0202ABB0 arm_func_start sub_0202ABFC sub_0202ABFC: ; 0x0202ABFC stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov r6, r0 ldr r4, [r6, #0xc] ldr r0, [r4, #0x19c] cmp r0, #7 addls pc, pc, r0, lsl #2 b _0202AF6C _0202AC1C: ; jump table b _0202AC3C ; case 0 b _0202AC5C ; case 1 b _0202AC78 ; case 2 b _0202ACDC ; case 3 b _0202AD3C ; case 4 b _0202AEE8 ; case 5 b _0202AEF8 ; case 6 b _0202AF40 ; case 7 _0202AC3C: ldrsb r0, [r6, #0x10] bl sub_0202810C cmp r0, #0 beq _0202AF6C ldr r1, [r4, #0x1a8] mov r0, #2 str r1, [r4, #0x1ac] str r0, [r4, #0x19c] _0202AC5C: ldr r0, [r4, #0x19c] cmp r0, #1 ldreq r1, [r4, #0x1a8] moveq r0, #2 streq r1, [r4, #0x1ac] streq r0, [r4, #0x19c] beq _0202AF6C _0202AC78: ldr r0, [r4, #0x1a8] cmp r0, #0 ble _0202ACD4 ldr r0, [r4, #0x1ac] mov r1, #0x4000000 cmp r0, #0 subgt r0, r0, #1 strgt r0, [r4, #0x1ac] ldr r0, [r4, #0x1ac] cmp r0, #0 add r0, r4, #4 ble _0202ACD0 bl sub_02031C74 mov r1, #0 strb r1, [r4, #0x1a0] strb r1, [r4, #0x1a1] str r1, [r4, #0x1a4] sub r1, r1, #1 mov r0, r6 str r1, [r6, #0xb8] bl sub_0202AF78 b _0202AF6C _0202ACD0: bl sub_02031C84 _0202ACD4: mov r0, #3 str r0, [r4, #0x19c] _0202ACDC: mov r0, r6 bl sub_0202AF78 ldr r0, [r4, #0xfc] tst r0, #0x800000 beq _0202AD18 mov r0, #9 str r0, [r4, #0x19c] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] sub r0, r0, #4 str r0, [r6, #0xb8] b _0202AF6C _0202AD18: mov r1, #4 mov r0, #0 str r1, [r4, #0x19c] strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] sub r0, r0, #1 str r0, [r6, #0xb8] b _0202AF6C _0202AD3C: add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r5, r0 cmp r1, #0 bne _0202ADAC ldr r0, [r4, #0xfc] tst r0, #1 beq _0202ADAC mov r3, #0 ldr r2, _0202AF74 ; =0x00000408 add r1, sp, #0xc str r3, [sp] mov ip, #1 add r0, r4, #4 str ip, [sp, #4] bl sub_02032160 movs r1, r0 bmi _0202ADAC add r0, r4, #4 bl sub_02032684 ldr r0, [sp, #8] mov r5, #1 orr r0, r0, #1 str r0, [sp, #8] _0202ADAC: ldr r0, [sp, #8] cmp r0, #0 bne _0202ADCC add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 bl sub_02033758 orr r5, r5, r0 _0202ADCC: add r0, r4, #4 bl sub_02032578 mov r2, r0 ldr r1, [sp, #8] add r0, r4, #4 mov r3, #0 bl sub_020323F8 orrs r0, r5, r0 beq _0202ADF8 mov r0, r6 bl sub_0202AF78 _0202ADF8: ldr r1, [sp, #8] tst r1, #1 beq _0202AE68 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202AE58 ldr r0, [r4, #0xfc] tst r0, #0x80000000 bne _0202AE2C add r0, r4, #4 mov r1, #0 bl sub_02032960 _0202AE2C: mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #5 str r0, [r4, #0x19c] b _0202AED8 _0202AE58: add r0, r4, #4 mov r1, #2 bl sub_02032960 b _0202AED8 _0202AE68: tst r1, #2 add r0, r4, #4 beq _0202AEA4 mov r1, #1 bl sub_02032960 mov r0, #1 strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #6 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #5 str r0, [r4, #0x19c] b _0202AED8 _0202AEA4: bl sub_0203250C cmp r0, #0 beq _0202AED8 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #5 str r0, [r4, #0x19c] _0202AED8: ldrsb r0, [r6, #0x10] add r1, r4, #4 bl sub_02028948 b _0202AF6C _0202AEE8: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202AF6C _0202AEF8: ldrb r0, [r4, #0x1a1] cmp r0, #0 bne _0202AF24 ldr r0, [r4, #0xfc] tst r0, #0x400000 beq _0202AF38 mov r0, r6 bl sub_0202AF78 mov r0, #9 str r0, [r4, #0x19c] b _0202AF6C _0202AF24: ldrb r0, [r4, #0x1b0] cmp r0, #0 movne r0, #9 strne r0, [r4, #0x19c] bne _0202AF6C _0202AF38: mov r0, #7 str r0, [r4, #0x19c] _0202AF40: ldrsb r0, [r6, #0x10] bl sub_0202812C cmp r0, #0 beq _0202AF6C ldrb r0, [r4, #0x1a1] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r6, #0xb8] mov r0, #8 str r0, [r4, #0x19c] _0202AF6C: add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202AF74: .word 0x00000408 arm_func_end sub_0202ABFC arm_func_start sub_0202AF78 sub_0202AF78: ; 0x0202AF78 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldr r5, [sl, #0xc] mov r7, #0 ldr r0, [r5, #0xfc] ldr r6, [r5, #0x198] tst r0, #0x200 ldrne r8, [r5, #0x160] ldrsb r0, [sl, #0x10] moveq r8, #0 bl sub_02027B1C mov fp, #1 mov r4, r7 b _0202B008 _0202AFB0: mov r1, r4 cmp r8, #0 beq _0202AFCC ldrb r0, [r8] add r8, r8, #1 tst r0, #2 movne r1, fp _0202AFCC: cmp r1, #0 movne sb, #0x42 moveq sb, #0x44 mov r1, r7 add r0, r5, #4 bl sub_020328D8 and r1, sb, #0xff str r1, [sp] mov r2, r0 ldrsb r0, [sl, #0x10] mov r1, #0xd mov r3, r6 bl sub_020263C8 add r7, r7, #1 add r6, r6, #0x104 _0202B008: mov r0, r6 bl sub_0202A66C cmp r0, #0 beq _0202AFB0 ldrsb r1, [sl, #0x10] add r0, r5, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0202AF78 arm_func_start sub_0202B030 sub_0202B030: ; 0x0202B030 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202B094 ldr r0, [r4, #0xfc] tst r0, #0x80000000 bne _0202B068 add r0, r4, #4 mov r1, #0 bl sub_02032960 _0202B068: mov r2, #1 mov r1, #0 strb r2, [r4, #0x1a0] strb r1, [r4, #0x1a1] mov r0, r5 sub r1, r1, #4 str r2, [r4, #0x1a4] bl sub_0202830C mov r0, #6 str r0, [r4, #0x19c] ldmia sp!, {r3, r4, r5, pc} _0202B094: add r0, r4, #4 mov r1, #2 bl sub_02032960 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202B030 arm_func_start sub_0202B0A4 sub_0202B0A4: ; 0x0202B0A4 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl GetDialogBoxField0xC mov r4, r0 cmp r5, #0 add r0, r4, #4 mov r1, #0xb000000 beq _0202B0D8 bl sub_02031C74 add r0, r4, #4 mov r1, #0x10 bl sub_02031C84 ldmia sp!, {r3, r4, r5, pc} _0202B0D8: bl sub_02031C84 add r0, r4, #4 mov r1, #0x10 bl sub_02031C74 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202B0A4 arm_func_start CreateNormalMenu CreateNormalMenu: ; 0x0202B0EC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r7, r3 mov sb, r1 mov r8, r2 mov sl, r0 mov r1, r7 mov r2, #0 b _0202B114 _0202B10C: add r1, r1, #8 add r2, r2, #1 _0202B114: ldrh r0, [r1] cmp r0, #0 bne _0202B10C add r0, r2, #1 add r0, r0, r0, lsl #6 mov r0, r0, lsl #2 mov r1, #8 bl MemAlloc mov r5, r0 mov r6, r5 mov r4, #0 mov fp, #0x100 b _0202B16C _0202B148: ldr r3, _0202B1A8 ; =0x0000C402 mov r0, r6 mov r1, fp str r4, [sp] bl PreprocessStringFromMessageId ldr r0, [r7, #4] add r7, r7, #8 str r0, [r6, #0x100] add r6, r6, #0x104 _0202B16C: ldrh r2, [r7] cmp r2, #0 bne _0202B148 mov r0, #0 strb r0, [r6] ldr r0, [r7, #4] ldr r4, [sp, #0x28] str r0, [r6, #0x100] mov r0, sl mov r1, sb mov r2, r8 mov r3, r5 str r4, [sp] bl sub_0202B284 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202B1A8: .word 0x0000C402 arm_func_end CreateNormalMenu arm_func_start sub_0202B1AC sub_0202B1AC: ; 0x0202B1AC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 mov r6, r3 mov sb, r0 mov r8, r1 mov r7, r2 mov r4, r6 mov r5, #0 b _0202B1D8 _0202B1D0: add r4, r4, #0x104 add r5, r5, #1 _0202B1D8: mov r0, r4 bl sub_0202A66C cmp r0, #0 beq _0202B1D0 add r0, r5, #1 add r0, r0, r0, lsl #6 mov r0, r0, lsl #2 mov r1, #8 bl MemAlloc mov r4, r0 mov r5, r4 b _0202B234 _0202B208: mov sl, r6 mov ip, r5 add r6, r6, #0x104 add r5, r5, #0x104 mov lr, #0x10 _0202B21C: ldmia sl!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs lr, lr, #1 bne _0202B21C ldr r0, [sl] str r0, [ip] _0202B234: mov r0, r6 bl sub_0202A66C cmp r0, #0 beq _0202B208 mov ip, #0x10 _0202B248: ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0202B248 ldr r0, [r6] ldr r6, [sp, #0x28] str r0, [r5] mov r0, sb mov r1, r8 mov r2, r7 mov r3, r4 str r6, [sp] bl sub_0202B284 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_0202B1AC arm_func_start sub_0202B284 sub_0202B284: ; 0x0202B284 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c mov r6, r0 mov sl, r1 mov r0, #0x1b4 mov r1, #8 mov sb, r2 mov r8, r3 bl MemAlloc tst sl, #0x20 ldrne r7, [sb] mov fp, #0 moveq r7, #0 cmp r6, #0 str fp, [sp, #8] mov r4, r0 addne ip, sp, #0x1c ldmneia r6, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} ldrne r0, _0202B488 ; =sub_0202B5C8 mov r5, r8 orr sl, sl, #0x8000 strne r0, [sp, #0x1c] bne _0202B2F8 ldr r0, _0202B48C ; =_0209AEA0 add r6, sp, #0x1c ldmia r0, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} orr sl, sl, #0x300000 _0202B2F8: ldrb r0, [sp, #0x22] str r4, [sp, #0x28] cmp r0, #0 bne _0202B348 mov r6, #0 b _0202B324 _0202B310: mov r0, r5 bl sub_020265A8 cmp r0, r6 movgt r6, r0 add r5, r5, #0x104 _0202B324: mov r0, r5 bl sub_0202A66C cmp r0, #0 beq _0202B310 mov r0, sl mov r1, sb add r2, r6, #0x10 bl sub_02031A5C strb r0, [sp, #0x22] _0202B348: mov r5, r8 b _0202B36C _0202B350: ldr r0, [r5, #0x100] add r5, r5, #0x104 cmp r0, r7 ldr r0, [sp, #8] ldreq fp, [sp, #8] add r0, r0, #1 str r0, [sp, #8] _0202B36C: mov r0, r5 bl sub_0202A66C cmp r0, #0 beq _0202B350 ldr r0, [sp, #0x50] add r2, sp, #8 cmp r0, #0 ldrle r0, [sp, #8] add r3, sp, #0x50 strle r0, [sp, #0x50] ldrb r0, [sp, #0x23] cmp r0, #0 mov r0, sl bne _0202B3B4 mov r1, sb bl sub_02031AA4 strb r0, [sp, #0x23] b _0202B3BC _0202B3B4: mov r1, sb bl sub_02031AA4 _0202B3BC: tst sl, #0x200000 ldrneb r1, [sp, #0x20] ldrneb r0, [sp, #0x22] subne r0, r1, r0 strneb r0, [sp, #0x20] tst sl, #0x100000 ldrneb r1, [sp, #0x21] ldrneb r0, [sp, #0x23] subne r0, r1, r0 strneb r0, [sp, #0x21] ldr r0, _0202B488 ; =sub_0202B5C8 cmp sb, #0 str r0, [r4] str sl, [r4, #0xfc] beq _0202B418 add r6, r4, #0x100 mov r5, #9 _0202B400: ldmia sb!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202B400 ldmia sb, {r0, r1} stmia r6, {r0, r1} _0202B418: str fp, [r4, #0x100] str r8, [r4, #0x198] mov r2, #0 str r2, [r4, #0x19c] strb r2, [r4, #0x1a0] strb r2, [r4, #0x1a1] str r2, [r4, #0x1a4] str r2, [r4, #0x1ac] str r2, [r4, #0x1b0] add r0, sp, #0x1c mov r1, #3 strb r2, [sp, #0x24] bl sub_02027648 add r1, sp, #0xc mov r6, r0 bl sub_02028284 ldr r0, [sp, #8] add r3, sp, #0xc str r0, [sp] ldr r5, [sp, #0x50] mov r1, sl add r0, r4, #4 add r2, r4, #0x100 str r5, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202B488: .word sub_0202B5C8 _0202B48C: .word _0209AEA0 arm_func_end sub_0202B284 arm_func_start sub_0202B490 sub_0202B490: ; 0x0202B490 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #1 str r1, [r0, #0x19c] mov r1, #0 strb r1, [r0, #0x1a0] strb r1, [r0, #0x1a1] ldr r1, [r0, #0xfc] bic r1, r1, #0x800000 str r1, [r0, #0xfc] add r0, r0, #4 bl sub_02032984 ldmia sp!, {r3, pc} arm_func_end sub_0202B490 arm_func_start FreeNormalMenu FreeNormalMenu: ; 0x0202B4C4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #0x198] bl MemFree mov r0, r4 bl MemFree mov r0, r5 bl sub_02028194 ldmia sp!, {r3, r4, r5, pc} arm_func_end FreeNormalMenu arm_func_start IsNormalMenuActive IsNormalMenuActive: ; 0x0202B4F0 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x19c] cmp r0, #7 cmpne r0, #8 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end IsNormalMenuActive arm_func_start sub_0202B510 sub_0202B510: ; 0x0202B510 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r0, [r0, #0x1a0] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202B510 arm_func_start sub_0202B530 sub_0202B530: ; 0x0202B530 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032558 ldmia sp!, {r3, pc} arm_func_end sub_0202B530 arm_func_start sub_0202B544 sub_0202B544: ; 0x0202B544 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032560 ldmia sp!, {r3, pc} arm_func_end sub_0202B544 arm_func_start sub_0202B558 sub_0202B558: ; 0x0202B558 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1a4] ldmia sp!, {r3, pc} arm_func_end sub_0202B558 arm_func_start sub_0202B568 sub_0202B568: ; 0x0202B568 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_0203259C ldmia sp!, {r3, pc} arm_func_end sub_0202B568 arm_func_start GetNormalMenuResult GetNormalMenuResult: ; 0x0202B57C stmdb sp!, {r4, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a0] ldr r4, [r0, #0x198] cmp r1, #0 beq _0202B5C0 ldrb r1, [r0, #0x1a1] add r0, r0, #4 cmp r1, #0 beq _0202B5AC bl sub_0203258C b _0202B5B0 _0202B5AC: bl sub_02032578 _0202B5B0: add r0, r0, r0, lsl #6 add r0, r4, r0, lsl #2 ldr r0, [r0, #0x100] ldmia sp!, {r4, pc} _0202B5C0: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end GetNormalMenuResult arm_func_start sub_0202B5C8 sub_0202B5C8: ; 0x0202B5C8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov r6, r0 ldr r4, [r6, #0xc] ldr r0, [r4, #0x19c] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0202B928 _0202B5E8: ; jump table b _0202B604 ; case 0 b _0202B624 ; case 1 b _0202B640 ; case 2 b _0202B6A4 ; case 3 b _0202B704 ; case 4 b _0202B8B8 ; case 5 b _0202B8FC ; case 6 _0202B604: ldrsb r0, [r6, #0x10] bl sub_0202810C cmp r0, #0 beq _0202B928 ldr r1, [r4, #0x1ac] mov r0, #2 str r1, [r4, #0x1b0] str r0, [r4, #0x19c] _0202B624: ldr r0, [r4, #0x19c] cmp r0, #1 ldreq r1, [r4, #0x1ac] moveq r0, #2 streq r1, [r4, #0x1b0] streq r0, [r4, #0x19c] beq _0202B928 _0202B640: ldr r0, [r4, #0x1ac] cmp r0, #0 ble _0202B69C ldr r0, [r4, #0x1b0] mov r1, #0x4000000 cmp r0, #0 subgt r0, r0, #1 strgt r0, [r4, #0x1b0] ldr r0, [r4, #0x1b0] cmp r0, #0 add r0, r4, #4 ble _0202B698 bl sub_02031C74 mov r1, #0 strb r1, [r4, #0x1a0] strb r1, [r4, #0x1a1] str r1, [r4, #0x1a8] sub r1, r1, #1 mov r0, r6 str r1, [r6, #0xb8] bl sub_0202B934 b _0202B928 _0202B698: bl sub_02031C84 _0202B69C: mov r0, #3 str r0, [r4, #0x19c] _0202B6A4: mov r0, r6 bl sub_0202B934 ldr r0, [r4, #0xfc] tst r0, #0x800000 beq _0202B6E0 mov r0, #8 str r0, [r4, #0x19c] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a8] sub r0, r0, #4 str r0, [r6, #0xb8] b _0202B928 _0202B6E0: mov r1, #4 mov r0, #0 str r1, [r4, #0x19c] strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a8] sub r0, r0, #1 str r0, [r6, #0xb8] b _0202B928 _0202B704: add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r5, r0 str r1, [r4, #0x1a4] ldr r0, [sp, #8] cmp r0, #0 bne _0202B77C ldr r0, [r4, #0xfc] tst r0, #1 beq _0202B77C mov r3, #0 ldr r2, _0202B930 ; =0x00000408 add r1, sp, #0xc str r3, [sp] mov ip, #1 add r0, r4, #4 str ip, [sp, #4] bl sub_02032160 movs r1, r0 bmi _0202B77C add r0, r4, #4 bl sub_02032684 ldr r0, [sp, #8] mov r5, #1 orr r0, r0, #1 str r0, [sp, #8] _0202B77C: ldr r0, [sp, #8] cmp r0, #0 bne _0202B79C add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 bl sub_02033758 orr r5, r5, r0 _0202B79C: add r0, r4, #4 bl sub_02032578 mov r2, r0 ldr r1, [sp, #8] add r0, r4, #4 mov r3, #0 bl sub_020323F8 orrs r0, r5, r0 beq _0202B7C8 mov r0, r6 bl sub_0202B934 _0202B7C8: ldr r1, [sp, #8] tst r1, #1 beq _0202B838 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202B828 ldr r0, [r4, #0xfc] tst r0, #0x80000000 bne _0202B7FC add r0, r4, #4 mov r1, #0 bl sub_02032960 _0202B7FC: mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a8] str r0, [r6, #0xb8] mov r0, #5 str r0, [r4, #0x19c] b _0202B8A8 _0202B828: add r0, r4, #4 mov r1, #2 bl sub_02032960 b _0202B8A8 _0202B838: tst r1, #2 add r0, r4, #4 beq _0202B874 mov r1, #1 bl sub_02032960 mov r0, #1 strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #6 str r1, [r4, #0x1a8] str r0, [r6, #0xb8] mov r0, #5 str r0, [r4, #0x19c] b _0202B8A8 _0202B874: bl sub_0203250C cmp r0, #0 beq _0202B8A8 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a8] str r0, [r6, #0xb8] mov r0, #5 str r0, [r4, #0x19c] _0202B8A8: ldrsb r0, [r6, #0x10] add r1, r4, #4 bl sub_02028948 b _0202B928 _0202B8B8: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202B928 ldrb r0, [r4, #0x1a1] cmp r0, #0 bne _0202B8F4 ldr r0, [r4, #0xfc] tst r0, #0x400000 beq _0202B8F4 mov r0, r6 bl sub_0202B934 mov r0, #8 str r0, [r4, #0x19c] b _0202B928 _0202B8F4: mov r0, #6 str r0, [r4, #0x19c] _0202B8FC: ldrsb r0, [r6, #0x10] bl sub_0202812C cmp r0, #0 beq _0202B928 ldrb r0, [r4, #0x1a1] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r6, #0xb8] mov r0, #7 str r0, [r4, #0x19c] _0202B928: add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202B930: .word 0x00000408 arm_func_end sub_0202B5C8 arm_func_start sub_0202B934 sub_0202B934: ; 0x0202B934 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldr r4, [sl, #0xc] add r0, r4, #4 bl sub_02032568 mov r7, r0 add r0, r4, #4 bl sub_02032594 ldr r2, [r4, #0xfc] mov r5, r0 tst r2, #0x200 ldrne r0, [r4, #0x160] ldr r3, [r4, #0x198] addne r8, r0, r7 add r1, r7, r7, lsl #6 ldrsb r0, [sl, #0x10] add r6, r3, r1, lsl #2 moveq r8, #0 bl sub_02027B1C cmp r5, #0 mov r7, #0 ble _0202B9F4 mov fp, r7 b _0202B9EC _0202B994: mov r1, fp cmp r8, #0 beq _0202B9B0 ldrb r0, [r8] add r8, r8, #1 tst r0, #2 movne r1, #1 _0202B9B0: cmp r1, #0 movne sb, #0x42 moveq sb, #0x44 mov r1, r7 add r0, r4, #4 bl sub_020328D8 and r1, sb, #0xff str r1, [sp] mov r2, r0 ldrsb r0, [sl, #0x10] mov r1, #0xd mov r3, r6 bl sub_020263C8 add r7, r7, #1 add r6, r6, #0x104 _0202B9EC: cmp r7, r5 blt _0202B994 _0202B9F4: ldrsb r1, [sl, #0x10] add r0, r4, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0202B934 arm_func_start sub_0202BA0C sub_0202BA0C: ; 0x0202BA0C stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1ac] ldmia sp!, {r4, pc} arm_func_end sub_0202BA0C arm_func_start CreateAdvancedMenu CreateAdvancedMenu: ; 0x0202BA20 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x28 sub sp, sp, #0x400 mov r6, r0 mov sl, r1 mov r0, #0x1b0 mov r1, #8 mov sb, r2 mov r8, r3 bl MemAlloc mov r5, r0 cmp r6, #0 ldreq r0, _0202BBE8 ; =_0209AEB0 add r4, sp, #0x18 ldmeqia r0, {r0, r1, r2, r3} stmeqia r4, {r0, r1, r2, r3} ldmneia r6, {r0, r1, r2, r3} stmneia r4, {r0, r1, r2, r3} ldrne r0, _0202BBEC ; =sub_0202BD64 orr sl, sl, #0x8000 strne r0, [sp, #0x18] ldrb r0, [sp, #0x1e] orreq sl, sl, #0x300000 str r5, [sp, #0x24] cmp r0, #0 bne _0202BADC mov r7, #0 mov r6, r7 add r4, sp, #0x28 b _0202BABC _0202BA98: mov r0, r4 mov r1, r6 blx r8 cmp r0, #0 beq _0202BAB8 bl sub_020265A8 cmp r0, r7 movgt r7, r0 _0202BAB8: add r6, r6, #1 _0202BABC: ldr r0, [sp, #0x448] cmp r6, r0 blt _0202BA98 mov r0, sl mov r1, sb add r2, r7, #0x10 bl sub_02031A5C strb r0, [sp, #0x1e] _0202BADC: ldrb r0, [sp, #0x1f] add r2, sp, #0x400 add r3, sp, #0x400 cmp r0, #0 add r2, r2, #0x48 bne _0202BB0C add r3, r3, #0x4c mov r0, sl mov r1, sb bl sub_02031AA4 strb r0, [sp, #0x1f] b _0202BB1C _0202BB0C: add r3, r3, #0x4c mov r0, sl mov r1, sb bl sub_02031AA4 _0202BB1C: tst sl, #0x200000 ldrneb r1, [sp, #0x1c] ldrneb r0, [sp, #0x1e] subne r0, r1, r0 strneb r0, [sp, #0x1c] tst sl, #0x100000 ldrneb r1, [sp, #0x1d] ldrneb r0, [sp, #0x1f] subne r0, r1, r0 strneb r0, [sp, #0x1d] ldr r0, _0202BBEC ; =sub_0202BD64 cmp sb, #0 str r0, [r5] str sl, [r5, #0xfc] beq _0202BB78 add r6, r5, #0x100 mov r4, #9 _0202BB60: ldmia sb!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r4, r4, #1 bne _0202BB60 ldmia sb, {r0, r1} stmia r6, {r0, r1} _0202BB78: mov r2, #0 str r2, [r5, #0x18c] str r8, [r5, #0x198] str r2, [r5, #0x1a4] str r2, [r5, #0x19c] strb r2, [r5, #0x1a0] strb r2, [r5, #0x1a1] str r2, [r5, #0x1a8] add r0, sp, #0x18 mov r1, #3 str r2, [r5, #0x1ac] bl sub_02027648 add r1, sp, #8 mov r6, r0 bl sub_02028284 ldr r0, [sp, #0x448] add r3, sp, #8 str r0, [sp] ldr r4, [sp, #0x44c] mov r1, sl add r0, r5, #4 add r2, r5, #0x100 str r4, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x28 add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0202BBE8: .word _0209AEB0 _0202BBEC: .word sub_0202BD64 arm_func_end CreateAdvancedMenu arm_func_start sub_0202BBF0 sub_0202BBF0: ; 0x0202BBF0 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #1 str r1, [r0, #0x19c] mov r1, #0 strb r1, [r0, #0x1a0] strb r1, [r0, #0x1a1] str r1, [r0, #0x1a4] ldr r1, [r0, #0xfc] bic r1, r1, #0x800000 str r1, [r0, #0xfc] add r0, r0, #4 bl sub_02032984 ldmia sp!, {r3, pc} arm_func_end sub_0202BBF0 arm_func_start sub_0202BC28 sub_0202BC28: ; 0x0202BC28 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r1, [r0, #0x19c] cmp r1, #3 moveq r1, #2 streq r1, [r0, #0x19c] ldmia sp!, {r3, pc} arm_func_end sub_0202BC28 arm_func_start FreeAdvancedMenu FreeAdvancedMenu: ; 0x0202BC44 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end FreeAdvancedMenu arm_func_start sub_0202BC60 sub_0202BC60: ; 0x0202BC60 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #0x19c] cmp r0, #3 cmpne r0, #4 cmpne r0, #0xa cmpne r0, #8 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, #1 strb r0, [r4, #0x1a0] mov r2, #0 strb r0, [r4, #0x1a1] mov r0, r5 sub r1, r2, #5 str r2, [r4, #0x1a4] bl sub_0202830C mov r0, #6 str r0, [r4, #0x19c] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202BC60 arm_func_start sub_0202BCBC sub_0202BCBC: ; 0x0202BCBC stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x19c] cmp r0, #7 cmpne r0, #8 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202BCBC arm_func_start IsAdvancedMenuActive IsAdvancedMenuActive: ; 0x0202BCDC stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r0, [r0, #0x1a0] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end IsAdvancedMenuActive arm_func_start GetAdvancedMenuCurrentOption GetAdvancedMenuCurrentOption: ; 0x0202BCFC stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} arm_func_end GetAdvancedMenuCurrentOption arm_func_start GetAdvancedMenuResult GetAdvancedMenuResult: ; 0x0202BD10 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a0] cmp r1, #0 beq _0202BD40 ldrb r1, [r0, #0x1a1] cmp r1, #0 mvnne r0, #0 ldmneia sp!, {r3, pc} add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} _0202BD40: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end GetAdvancedMenuResult arm_func_start sub_0202BD48 sub_0202BD48: ; 0x0202BD48 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_02032684 ldmia sp!, {r4, pc} arm_func_end sub_0202BD48 arm_func_start sub_0202BD64 sub_0202BD64: ; 0x0202BD64 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov r6, r0 ldr r4, [r6, #0xc] ldr r0, [r4, #0x19c] cmp r0, #0xa addls pc, pc, r0, lsl #2 b _0202C1D8 _0202BD84: ; jump table b _0202BDB0 ; case 0 b _0202BDC8 ; case 1 b _0202BDF0 ; case 2 b _0202BE50 ; case 3 b _0202C168 ; case 4 b _0202C178 ; case 5 b _0202C1AC ; case 6 b _0202C1D8 ; case 7 b _0202C1D8 ; case 8 b _0202C0F8 ; case 9 b _0202C130 ; case 10 _0202BDB0: ldrsb r0, [r6, #0x10] bl sub_0202810C cmp r0, #0 beq _0202C1D8 mov r0, #2 str r0, [r4, #0x19c] _0202BDC8: ldr r0, [r4, #0x19c] cmp r0, #1 bne _0202BDF0 ldrb r0, [r6, #8] bl sub_020287C4 ldrsb r0, [r6, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r4, #0x19c] b _0202C1D8 _0202BDF0: mov r0, r6 bl sub_0202C260 ldr r0, [r4, #0xfc] tst r0, #0x800000 beq _0202BE2C mov r0, #8 str r0, [r4, #0x19c] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] sub r0, r0, #4 str r0, [r6, #0xb8] b _0202C1D8 _0202BE2C: mov r1, #3 mov r0, #0 str r1, [r4, #0x19c] strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] sub r0, r0, #1 str r0, [r6, #0xb8] b _0202C1D8 _0202BE50: mov r0, #0 str r0, [sp, #8] add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r5, r0 cmp r1, #0 bne _0202BEC8 ldr r0, [r4, #0xfc] tst r0, #1 beq _0202BEC8 mov r3, #0 ldr r2, _0202C1E0 ; =0x00000408 add r1, sp, #0xc str r3, [sp] mov ip, #1 add r0, r4, #4 str ip, [sp, #4] bl sub_02032160 movs r1, r0 bmi _0202BEC8 add r0, r4, #4 bl sub_02032684 ldr r0, [sp, #8] mov r5, #1 orr r0, r0, #1 str r0, [sp, #8] _0202BEC8: ldr r0, [sp, #8] cmp r0, #0 bne _0202BEE8 add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 bl sub_02033758 orr r5, r5, r0 _0202BEE8: add r0, r4, #4 bl sub_02032578 mov r2, r0 ldr r1, [sp, #8] add r0, r4, #4 mov r3, #0 bl sub_020323F8 orrs r0, r5, r0 beq _0202BF14 mov r0, r6 bl sub_0202C260 _0202BF14: ldr r1, [sp, #8] tst r1, #1 beq _0202BF84 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202BF74 ldr r0, [r4, #0xfc] tst r0, #0x80000000 bne _0202BF48 add r0, r4, #4 mov r1, #0 bl sub_02032960 _0202BF48: mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #4 str r0, [r4, #0x19c] b _0202C0E8 _0202BF74: add r0, r4, #4 mov r1, #2 bl sub_02032960 b _0202C0E8 _0202BF84: tst r1, #2 beq _0202BFC0 add r0, r4, #4 mov r1, #1 bl sub_02032960 mov r0, #1 strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #6 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #4 str r0, [r4, #0x19c] b _0202C0E8 _0202BFC0: tst r1, #0x1000 beq _0202C00C ldr r0, [r4, #0xfc] tst r0, #0x2000 beq _0202C00C add r0, r4, #4 mov r1, #0 bl sub_02032960 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #9 str r0, [r4, #0x19c] b _0202C0E8 _0202C00C: tst r1, #0x2000 beq _0202C058 ldr r0, [r4, #0xfc] tst r0, #0x4000 beq _0202C058 add r0, r4, #4 mov r1, #0 bl sub_02032960 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #0xa str r0, [r4, #0x19c] b _0202C0E8 _0202C058: tst r1, #0x200 ldrne r0, [r4, #0x18c] cmpne r0, #0 add r0, r4, #4 beq _0202C080 mov r1, #5 bl sub_02032960 ldr r0, [r4, #0x18c] blx r0 b _0202C0E8 _0202C080: bl sub_0203250C cmp r0, #0 beq _0202C0B8 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r6, #0xb8] mov r0, #4 str r0, [r4, #0x19c] b _0202C0E8 _0202C0B8: ldr r0, [sp, #8] tst r0, #0x40000 bne _0202C0CC tst r0, #0x80000 beq _0202C0E8 _0202C0CC: tst r0, #0x4000 bne _0202C0E8 tst r0, #0x8000 moveq r0, #1 streqb r0, [r4, #0x1a0] ldreq r0, [sp, #8] streq r0, [r4, #0x1a4] _0202C0E8: ldrsb r0, [r6, #0x10] add r1, r4, #4 bl sub_02028948 b _0202C1D8 _0202C0F8: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202C1D8 mov r0, r6 bl sub_0202C260 ldr r3, [r4, #0x174] cmp r3, #0 beq _0202C1D8 mov r0, #0 mov r1, r0 mov r2, r0 blx r3 b _0202C1D8 _0202C130: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202C1D8 mov r0, r6 bl sub_0202C260 ldr r3, [r4, #0x17c] cmp r3, #0 beq _0202C1D8 mov r0, #0 mov r1, r0 mov r2, r0 blx r3 b _0202C1D8 _0202C168: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202C1D8 _0202C178: ldrb r0, [r4, #0x1a1] cmp r0, #0 bne _0202C1A4 ldr r0, [r4, #0xfc] tst r0, #0x400000 beq _0202C1A4 mov r0, r6 bl sub_0202C260 mov r0, #8 str r0, [r4, #0x19c] b _0202C1D8 _0202C1A4: mov r0, #6 str r0, [r4, #0x19c] _0202C1AC: ldrsb r0, [r6, #0x10] bl sub_0202812C cmp r0, #0 beq _0202C1D8 ldrb r0, [r4, #0x1a1] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r6, #0xb8] mov r0, #7 str r0, [r4, #0x19c] _0202C1D8: add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202C1E0: .word 0x00000408 arm_func_end sub_0202BD64 arm_func_start sub_0202C1E4 sub_0202C1E4: ; 0x0202C1E4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202C24C ldr r0, [r4, #0xfc] tst r0, #0x80000000 bne _0202C21C add r0, r4, #4 mov r1, #0 bl sub_02032960 _0202C21C: mov r2, #1 mov r1, #0 strb r2, [r4, #0x1a0] strb r1, [r4, #0x1a1] mov r0, r5 sub r1, r1, #4 str r2, [r4, #0x1a4] bl sub_0202830C mov r0, #5 str r0, [r4, #0x19c] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _0202C24C: add r0, r4, #4 mov r1, #2 bl sub_02032960 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202C1E4 arm_func_start sub_0202C260 sub_0202C260: ; 0x0202C260 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc sub sp, sp, #0x400 mov sl, r0 ldr r4, [sl, #0xc] add r0, r4, #4 bl sub_02032568 mov r5, r0 add r0, r4, #4 bl sub_02032594 ldr r1, [r4, #0xfc] mov r6, r0 tst r1, #0x200 ldrne r0, [r4, #0x160] addne sb, r0, r5 ldrsb r0, [sl, #0x10] moveq sb, #0 bl sub_02027B1C cmp r6, #0 mov r7, #0 ble _0202C36C mov fp, #0x42 b _0202C364 _0202C2BC: ldr r2, [r4, #0x198] add r0, sp, #0xc mov r1, r5 blx r2 mov r8, r0 mov r1, #0 cmp sb, #0 beq _0202C2EC ldrb r0, [sb] add sb, sb, #1 tst r0, #2 movne r1, #1 _0202C2EC: cmp r8, #0 beq _0202C35C cmp r1, #0 mov r1, r7 add r0, r4, #4 beq _0202C334 bl sub_020328D8 str fp, [sp] mov r2, r0 ldr r0, [r4, #0x1a8] mov r3, r8 str r0, [sp, #4] ldr r0, [r4, #0x1ac] mov r1, #0xd str r0, [sp, #8] ldrsb r0, [sl, #0x10] bl sub_02026428 b _0202C35C _0202C334: bl sub_020328D8 mov r2, r0 ldr r0, [r4, #0x1a8] mov r3, r8 str r0, [sp] ldr r0, [r4, #0x1ac] mov r1, #0xd str r0, [sp, #4] ldrsb r0, [sl, #0x10] bl sub_02026358 _0202C35C: add r7, r7, #1 add r5, r5, #1 _0202C364: cmp r7, r6 blt _0202C2BC _0202C36C: ldrsb r1, [sl, #0x10] add r0, r4, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 add sp, sp, #0xc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0202C260 arm_func_start sub_0202C38C sub_0202C38C: ; 0x0202C38C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a0] cmp r1, #0 ldrne r0, [r0, #0x1a4] moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202C38C arm_func_start sub_0202C3A8 sub_0202C3A8: ; 0x0202C3A8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c sub sp, sp, #0x400 mov r4, r0 mov sl, r1 mov r0, #0x1cc mov r1, #8 mov sb, r2 mov r8, r3 bl MemAlloc ldr r1, [sp, #0x450] mov r5, r0 cmp r1, #0 ldrne r0, _0202C5D4 ; =0x10008004 orr sl, sl, #0x8000 orrne sl, sl, r0 cmp r4, #0 addne r6, sp, #0x1c ldmneia r4, {r0, r1, r2, r3} stmneia r6, {r0, r1, r2, r3} ldrne r0, _0202C5D8 ; =sub_0202C808 strne r0, [sp, #0x1c] bne _0202C418 ldr r0, _0202C5DC ; =_0209AEC0 add r4, sp, #0x1c ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} orr sl, sl, #0x300000 _0202C418: ldrb r0, [sp, #0x22] str r5, [sp, #0x28] cmp r0, #0 bne _0202C484 mov r7, #0 mov r6, r7 add r4, sp, #0x2c add fp, sp, #8 b _0202C464 _0202C43C: mov r0, r4 mov r1, r6 mov r2, fp blx r8 cmp r0, #0 beq _0202C460 bl sub_020265A8 cmp r0, r7 movgt r7, r0 _0202C460: add r6, r6, #1 _0202C464: ldr r0, [sp, #0x454] cmp r6, r0 blt _0202C43C mov r0, sl mov r1, sb add r2, r7, #0x10 bl sub_02031A5C strb r0, [sp, #0x22] _0202C484: ldrb r0, [sp, #0x23] add r2, sp, #0x400 add r3, sp, #0x400 cmp r0, #0 add r2, r2, #0x54 bne _0202C4B4 add r3, r3, #0x58 mov r0, sl mov r1, sb bl sub_02031AA4 strb r0, [sp, #0x23] b _0202C4C4 _0202C4B4: add r3, r3, #0x58 mov r0, sl mov r1, sb bl sub_02031AA4 _0202C4C4: tst sl, #0x200000 ldrneb r1, [sp, #0x20] ldrneb r0, [sp, #0x22] subne r0, r1, r0 strneb r0, [sp, #0x20] tst sl, #0x100000 ldrneb r1, [sp, #0x21] ldrneb r0, [sp, #0x23] subne r0, r1, r0 strneb r0, [sp, #0x21] ldr r1, _0202C5D8 ; =sub_0202C808 mov r0, #0 str r1, [r5] str sl, [r5, #0xfc] strb r0, [r5, #0x1c5] cmp sb, #0 beq _0202C528 add r6, r5, #0x100 mov r4, #9 _0202C510: ldmia sb!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r4, r4, #1 bne _0202C510 ldmia sb, {r0, r1} stmia r6, {r0, r1} _0202C528: mov r3, #0 str r3, [r5, #0x18c] ldr r0, [sp, #0x450] str r8, [r5, #0x198] str r0, [r5, #0x19c] str r3, [r5, #0x1a8] str r3, [r5, #0x1ac] strb r3, [r5, #0x1b0] strb r3, [r5, #0x1b1] strb r3, [r5, #0x1b2] str r3, [r5, #0x1b4] str r3, [r5, #0x1b8] mov r0, #0xd str r0, [r5, #0x1bc] strb r3, [r5, #0x1c6] ldrb r2, [sp, #0x22] add r0, sp, #0x1c mov r1, #3 mov r2, r2, lsl #3 sub r2, r2, #1 str r2, [r5, #0x1c0] strb r3, [r5, #0x1c4] strb r3, [r5, #0x1c8] strb r3, [r5, #0x1c9] str r3, [r5, #0x1a4] str r3, [r5, #0x1a0] bl sub_02027648 add r1, sp, #0xc mov r6, r0 bl sub_02028284 ldr r0, [sp, #0x454] add r3, sp, #0xc str r0, [sp] ldr r4, [sp, #0x458] mov r1, sl add r0, r5, #4 add r2, r5, #0x100 str r4, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x2c add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202C5D4: .word 0x10008004 _0202C5D8: .word sub_0202C808 _0202C5DC: .word _0209AEC0 arm_func_end sub_0202C3A8 arm_func_start sub_0202C5E0 sub_0202C5E0: ; 0x0202C5E0 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1bc] ldmia sp!, {r4, pc} arm_func_end sub_0202C5E0 arm_func_start sub_0202C5F4 sub_0202C5F4: ; 0x0202C5F4 stmdb sp!, {r4, lr} mov r4, r1 bl sub_020275F8 ldr r1, [r0, #0xc] str r4, [r1, #0x1c0] ldrb r0, [r0, #6] mov r0, r0, lsl #3 sub r0, r0, #1 cmp r4, r0 strgt r0, [r1, #0x1c0] ldmia sp!, {r4, pc} arm_func_end sub_0202C5F4 arm_func_start sub_0202C620 sub_0202C620: ; 0x0202C620 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #1 str r1, [r0, #0x1ac] mov r1, #0 strb r1, [r0, #0x1b0] strb r1, [r0, #0x1b1] ldr r1, [r0, #0xfc] bic r1, r1, #0x800000 str r1, [r0, #0xfc] add r0, r0, #4 bl sub_02032984 ldmia sp!, {r3, pc} arm_func_end sub_0202C620 arm_func_start sub_0202C654 sub_0202C654: ; 0x0202C654 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 bl GetDialogBoxField0xC mov r4, r0 mov r0, #1 str r0, [r4, #0x1ac] mov r0, #0 strb r0, [r4, #0x1b0] strb r0, [r4, #0x1b1] cmp r5, #0 bne _0202C6A4 mov r0, r8 bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032578 str r0, [r4, #0x100] _0202C6A4: add r1, sp, #8 mov r0, r8 bl sub_02028284 str r7, [sp] str r6, [sp, #4] ldr r1, [r4, #0xfc] add r3, sp, #8 add r0, r4, #4 add r2, r4, #0x100 bl sub_02031AF8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0202C654 arm_func_start sub_0202C6D4 sub_0202C6D4: ; 0x0202C6D4 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_0203271C ldmia sp!, {r4, pc} arm_func_end sub_0202C6D4 arm_func_start sub_0202C6F0 sub_0202C6F0: ; 0x0202C6F0 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 bl GetDialogBoxField0xC str r5, [r0, #0x1b4] str r4, [r0, #0x1b8] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202C6F0 arm_func_start sub_0202C70C sub_0202C70C: ; 0x0202C70C stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_0202C70C arm_func_start sub_0202C728 sub_0202C728: ; 0x0202C728 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1ac] cmp r0, #6 cmpne r0, #7 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202C728 arm_func_start sub_0202C748 sub_0202C748: ; 0x0202C748 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} arm_func_end sub_0202C748 arm_func_start sub_0202C75C sub_0202C75C: ; 0x0202C75C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1b0] cmp r1, #0 beq _0202C78C ldrb r1, [r0, #0x1b1] cmp r1, #0 mvnne r0, #0 ldmneia sp!, {r3, pc} add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} _0202C78C: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202C75C arm_func_start sub_0202C794 sub_0202C794: ; 0x0202C794 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strb r4, [r0, #0x1c8] ldmia sp!, {r4, pc} arm_func_end sub_0202C794 arm_func_start sub_0202C7A8 sub_0202C7A8: ; 0x0202C7A8 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1a0] ldmia sp!, {r4, pc} arm_func_end sub_0202C7A8 arm_func_start sub_0202C7BC sub_0202C7BC: ; 0x0202C7BC stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1a4] ldmia sp!, {r4, pc} arm_func_end sub_0202C7BC arm_func_start sub_0202C7D0 sub_0202C7D0: ; 0x0202C7D0 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1a8] ldmia sp!, {r4, pc} arm_func_end sub_0202C7D0 arm_func_start sub_0202C7E4 sub_0202C7E4: ; 0x0202C7E4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r1, [r0, #0x1ac] cmp r1, #3 moveq r1, #2 streq r1, [r0, #0x1ac] moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202C7E4 arm_func_start sub_0202C808 sub_0202C808: ; 0x0202C808 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 mov r4, r0 ldrsb r0, [r4, #0x10] ldr r5, [r4, #0xc] bl sub_02028354 cmp r0, #3 moveq r1, #1 movne r1, #0 ldr r0, [r5, #0x1ac] and fp, r1, #0xff cmp r0, #0xa addls pc, pc, r0, lsl #2 b _0202CE40 _0202C840: ; jump table b _0202C86C ; case 0 b _0202C884 ; case 1 b _0202C8C0 ; case 2 b _0202C918 ; case 3 b _0202CDC8 ; case 4 b _0202CE0C ; case 5 b _0202CE40 ; case 6 b _0202CE40 ; case 7 b _0202CCA4 ; case 8 b _0202CD14 ; case 9 b _0202CD74 ; case 10 _0202C86C: ldrsb r0, [r4, #0x10] bl sub_0202810C cmp r0, #0 beq _0202CE40 mov r0, #2 str r0, [r5, #0x1ac] _0202C884: ldr r0, [r5, #0x1ac] cmp r0, #1 bne _0202C8C0 ldrb r0, [r5, #0x1c6] cmp r0, #0 beq _0202C8A4 mov r0, r4 bl sub_0202CEA0 _0202C8A4: ldrb r0, [r4, #8] bl sub_020287C4 ldrsb r0, [r4, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r5, #0x1ac] b _0202CE40 _0202C8C0: mov r0, r4 bl sub_0202CEA0 ldr r0, [r5, #0xfc] tst r0, #0x800000 beq _0202C8F8 mov r0, #7 str r0, [r5, #0x1ac] mov r1, #1 mov r0, #0 strb r1, [r5, #0x1b0] strb r0, [r5, #0x1b1] sub r0, r0, #4 str r0, [r4, #0xb8] b _0202CE40 _0202C8F8: mov r1, #3 mov r0, #0 str r1, [r5, #0x1ac] strb r0, [r5, #0x1b0] strb r0, [r5, #0x1b1] sub r0, r0, #1 str r0, [r4, #0xb8] b _0202CE40 _0202C918: add r1, sp, #8 add r2, sp, #0xc add r0, r5, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r6, #0 cmp r1, #0 movne r6, #1 mov r8, r0 cmp r1, #0 bne _0202CA70 ldr r0, [r5, #0xfc] tst r0, #1 beq _0202CA70 mov r3, #0 str r3, [sp] ldr r2, _0202CE9C ; =0x00000408 add r1, sp, #0xc add r0, r5, #4 str r3, [sp, #4] bl sub_02032160 movs r7, r0 bmi _0202CA70 ldrb r0, [r5, #0x1b2] cmp r0, #0 beq _0202C994 add r0, r5, #4 bl sub_02032578 cmp r7, r0 bne _0202CA54 _0202C994: ldr r0, [r5, #0x19c] cmp r0, #0 ldrne r0, [sp, #8] orrne r0, r0, #4 orrne r0, r0, #0x400 strne r0, [sp, #8] bne _0202CA60 ldr r1, [sp, #8] add r0, r5, #4 orr r1, r1, #1 str r1, [sp, #8] ldr r8, [r5, #0xc] ldr sb, [r5, #0x10] bl sub_02032568 mov r1, r0 add r0, r5, #4 sub r1, r7, r1 bl sub_020328D8 ldr r1, [r5, #4] add sl, r1, r0 add r0, r5, #4 bl sub_02032568 sub r0, r7, r0 add r1, r0, #1 add r0, r5, #4 bl sub_020328D8 ldr r2, [r5, #4] mov r1, #6 str r1, [r5, #0xdc] sub r1, r1, #7 str r1, [r5, #0xe0] mov r1, #0 str r1, [r5, #0xe4] ldr r1, [r5, #0xc] add r0, r2, r0 sub r1, r8, r1 str r1, [r5, #0xf0] ldr r1, [r5, #0xc] sub r0, r0, #2 sub r1, sb, r1 str r1, [r5, #0xf4] ldr r1, [r5, #4] sub r1, sl, r1 str r1, [r5, #0xe8] ldr r1, [r5, #4] sub r0, r0, r1 str r0, [r5, #0xec] b _0202CA60 _0202CA54: add r0, r5, #4 mov r1, #3 bl sub_02032960 _0202CA60: mov r1, r7 add r0, r5, #4 bl sub_02032684 mov r8, #1 _0202CA70: ldr r0, [sp, #8] cmp r0, #0 bne _0202CA90 add r1, sp, #8 add r2, sp, #0xc add r0, r5, #4 bl sub_02033758 orr r8, r8, r0 _0202CA90: add r0, r5, #4 bl sub_02032578 mov r2, r0 ldr r1, [sp, #8] add r0, r5, #4 mov r3, #0 bl sub_020323F8 orrs r0, r8, r0 ldreqb r0, [r5, #0x1c4] cmpeq r0, #0 beq _0202CACC mov r1, #0 mov r0, r4 strb r1, [r5, #0x1c4] bl sub_0202CEA0 _0202CACC: ldr r0, [sp, #8] tst r0, #1 beq _0202CB44 cmp r6, #0 add r0, r5, #4 beq _0202CAEC bl sub_020324C4 b _0202CAF0 _0202CAEC: bl IsMenuOptionActive _0202CAF0: cmp r0, #0 beq _0202CB34 ldr r0, [r5, #0xfc] tst r0, #0x80000000 bne _0202CB10 add r0, r5, #4 mov r1, #0 bl sub_02032960 _0202CB10: mov r1, #1 mov r0, #0 strb r1, [r5, #0x1b0] strb r0, [r5, #0x1b1] sub r0, r0, #4 str r0, [r4, #0xb8] mov r0, #4 str r0, [r5, #0x1ac] b _0202CC94 _0202CB34: add r0, r5, #4 mov r1, #2 bl sub_02032960 b _0202CC94 _0202CB44: tst r0, #2 beq _0202CB94 add r0, r5, #4 mov r1, #1 bl sub_02032960 ldr r1, [r5, #0x1a0] cmp r1, #0 beq _0202CB74 ldrsb r0, [r4, #0x10] blx r1 cmp r0, #0 bne _0202CE40 _0202CB74: mov r0, #1 strb r0, [r5, #0x1b0] strb r0, [r5, #0x1b1] sub r0, r0, #6 str r0, [r4, #0xb8] mov r0, #4 str r0, [r5, #0x1ac] b _0202CC94 _0202CB94: tst r0, #0x1000 beq _0202CBE8 ldr r1, [r5, #0xfc] tst r1, #0x2000 beq _0202CBE8 ldr r0, [r5, #0x174] cmp r0, #0 beq _0202CBC0 add r0, r5, #4 mov r1, #5 bl sub_02032960 _0202CBC0: mov r1, #1 mov r0, #0 strb r1, [r5, #0x1b0] strb r0, [r5, #0x1b1] strb r1, [r5, #0x1c7] sub r0, r0, #4 str r0, [r4, #0xb8] mov r0, #8 str r0, [r5, #0x1ac] b _0202CC94 _0202CBE8: tst r0, #0x2000 beq _0202CC30 ldr r1, [r5, #0xfc] tst r1, #0x4000 beq _0202CC30 add r0, r5, #4 mov r1, #0 bl sub_02032960 mov r1, #1 mov r0, #0 strb r1, [r5, #0x1b0] strb r0, [r5, #0x1b1] strb r1, [r5, #0x1c7] sub r0, r0, #4 str r0, [r4, #0xb8] mov r0, #9 str r0, [r5, #0x1ac] b _0202CC94 _0202CC30: tst r0, #0x200 ldrne r1, [r5, #0x18c] cmpne r1, #0 beq _0202CC74 add r0, r5, #4 mov r1, #5 bl sub_02032960 mov r1, #1 mov r0, #0 strb r1, [r5, #0x1b0] strb r0, [r5, #0x1b1] strb r1, [r5, #0x1c7] sub r0, r0, #4 str r0, [r4, #0xb8] mov r0, #0xa str r0, [r5, #0x1ac] b _0202CC94 _0202CC74: ldr r1, [r5, #0x19c] cmp r1, #0 beq _0202CC94 blx r1 cmp r0, #0 beq _0202CC94 mov r0, r4 bl sub_0202CEA0 _0202CC94: ldrsb r0, [r4, #0x10] add r1, r5, #4 bl sub_02028948 b _0202CE40 _0202CCA4: add r0, r5, #4 bl sub_02032070 cmp r0, #0 bne _0202CE40 ldrb r0, [r5, #0x1c7] cmp r0, #0 movne r0, #0 strneb r0, [r5, #0x1c7] movne r0, #1 strneb r0, [r5, #0x1c6] ldr r0, [r5, #0x174] cmp r0, #0 beq _0202CD04 ldrb r0, [r5, #0x1c6] cmp r0, #0 beq _0202CCEC mov r0, r4 bl sub_0202CEA0 _0202CCEC: mov r0, #0 ldr r3, [r5, #0x174] mov r1, r0 mov r2, r0 blx r3 b _0202CE40 _0202CD04: mov r0, #1 strb r0, [r5, #0x1c5] str r0, [r5, #0x1ac] b _0202CE40 _0202CD14: add r0, r5, #4 bl sub_02032070 cmp r0, #0 bne _0202CE40 ldrb r0, [r5, #0x1c7] cmp r0, #0 movne r0, #0 strneb r0, [r5, #0x1c7] movne r0, #1 strneb r0, [r5, #0x1c6] ldr r0, [r5, #0x17c] cmp r0, #0 beq _0202CE40 ldrb r0, [r5, #0x1c6] cmp r0, #0 beq _0202CD5C mov r0, r4 bl sub_0202CEA0 _0202CD5C: mov r0, #0 ldr r3, [r5, #0x17c] mov r1, r0 mov r2, r0 blx r3 b _0202CE40 _0202CD74: add r0, r5, #4 bl sub_02032070 cmp r0, #0 bne _0202CE40 ldrb r0, [r5, #0x1c7] cmp r0, #0 movne r0, #0 strneb r0, [r5, #0x1c7] movne r0, #1 strneb r0, [r5, #0x1c6] ldr r0, [r5, #0x18c] cmp r0, #0 beq _0202CE40 ldrb r0, [r5, #0x1c6] cmp r0, #0 beq _0202CDBC mov r0, r4 bl sub_0202CEA0 _0202CDBC: ldr r0, [r5, #0x18c] blx r0 b _0202CE40 _0202CDC8: add r0, r5, #4 bl sub_02032070 cmp r0, #0 bne _0202CE40 ldrb r0, [r5, #0x1b1] cmp r0, #0 bne _0202CE04 ldr r0, [r5, #0xfc] tst r0, #0x400000 beq _0202CE04 mov r0, r4 bl sub_0202CEA0 mov r0, #7 str r0, [r5, #0x1ac] b _0202CE40 _0202CE04: mov r0, #5 str r0, [r5, #0x1ac] _0202CE0C: ldrsb r0, [r4, #0x10] bl sub_0202812C cmp r0, #0 beq _0202CE40 ldrb r0, [r5, #0x1b1] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r4, #0xb8] mov r0, #6 str r0, [r5, #0x1ac] mov r0, #1 strb r0, [r5, #0x1c6] _0202CE40: mov r0, #0 strb r0, [r5, #0x1c6] cmp fp, #0 beq _0202CE6C ldr r0, [r5, #0x1ac] cmp r0, #1 bne _0202CE6C mov r0, r4 bl sub_0202CEA0 mov r0, #1 strb r0, [r5, #0x1c6] _0202CE6C: ldr r0, [r5, #0x1a8] cmp r0, #0 ldrne r0, [r5, #0x1ac] cmpne r0, #8 cmpne r0, #9 beq _0202CE94 add r0, r5, #4 bl sub_02032578 ldr r1, [r5, #0x1a8] blx r1 _0202CE94: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202CE9C: .word 0x00000408 arm_func_end sub_0202C808 arm_func_start sub_0202CEA0 sub_0202CEA0: ; 0x0202CEA0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x410 mov r5, r0 ldr r6, [r5, #0xc] add r0, r6, #4 bl sub_02032568 mov r7, r0 add r0, r6, #4 bl sub_02032594 ldr r1, [r6, #0xfc] mov r8, r0 tst r1, #0x200 ldrne r0, [r6, #0x160] addne r4, r0, r7 ldrsb r0, [r5, #0x10] moveq r4, #0 bl sub_02027B1C mov sb, #0 mov fp, #0x42 b _0202D020 _0202CEF0: ldr r3, [r6, #0x198] add r0, sp, #0x10 mov r1, r7 add r2, sp, #0xc blx r3 mov sl, r0 cmp r4, #0 mov r1, #0 beq _0202CF24 ldrb r0, [r4] add r4, r4, #1 tst r0, #2 movne r1, #1 _0202CF24: cmp sl, #0 beq _0202CFF4 cmp r1, #0 add r0, r6, #4 mov r1, sb beq _0202CF6C bl sub_020328D8 str fp, [sp] mov r2, r0 ldr r0, [r6, #0x1b4] mov r3, sl str r0, [sp, #4] ldr r0, [r6, #0x1b8] str r0, [sp, #8] ldrsb r0, [r5, #0x10] ldr r1, [r6, #0x1bc] bl sub_02026428 b _0202CF94 _0202CF6C: bl sub_020328D8 mov r2, r0 ldr r0, [r6, #0x1b4] mov r3, sl str r0, [sp] ldr r0, [r6, #0x1b8] str r0, [sp, #4] ldrsb r0, [r5, #0x10] ldr r1, [r6, #0x1bc] bl sub_02026358 _0202CF94: ldr r0, [sp, #0xc] cmp r0, #0 ble _0202D018 ldr r1, [r6, #0x104] mov sl, #0xc cmp r1, #0 ble _0202CFBC ldr r0, [r6, #0xfc] tst r0, #0x400 subne sl, r1, #2 _0202CFBC: add r0, r6, #4 mov r1, sb bl sub_020328D8 str sl, [sp] mov r1, #0x24 str r1, [sp, #4] mov r2, r0 ldr sl, [r6, #0x1bc] ldr r3, [r6, #0x1c0] ldrsb r0, [r5, #0x10] sub r1, sl, #4 sub r3, r3, sl bl sub_02025D90 b _0202D018 _0202CFF4: ldrb r0, [r6, #0x1c8] cmp r0, #0 beq _0202D018 str sb, [r6, #0xc4] ldr r0, [r6, #0xc0] cmp r0, sb subge r0, sb, #1 strge r0, [r6, #0xc0] b _0202D028 _0202D018: add sb, sb, #1 add r7, r7, #1 _0202D020: cmp sb, r8 blt _0202CEF0 _0202D028: ldr r4, [r6, #0x1a4] cmp r4, #0 beq _0202D04C ldrsb r0, [r5, #0x10] mov r3, sb add r1, r6, #4 sub r2, r7, sb blx r4 b _0202D058 _0202D04C: ldrsb r1, [r5, #0x10] add r0, r6, #4 bl sub_0202A03C _0202D058: ldrsb r0, [r5, #0x10] bl sub_02027AF0 add sp, sp, #0x410 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0202CEA0 arm_func_start sub_0202D068 sub_0202D068: ; 0x0202D068 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x18c] ldmia sp!, {r4, pc} arm_func_end sub_0202D068 arm_func_start sub_0202D07C sub_0202D07C: ; 0x0202D07C stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC ldr r1, [r0, #0xfc] ands r2, r1, #0x10000000 cmpne r4, #0 beq _0202D0B0 eor r1, r1, #0x10000000 str r1, [r0, #0xfc] add r0, r0, #4 mov r1, #0x10000000 bl sub_02031C84 ldmia sp!, {r4, pc} _0202D0B0: cmp r2, #0 cmpeq r4, #0 ldmneia sp!, {r4, pc} ldr r2, [r0, #0xfc] mov r1, #0x10000000 orr r2, r2, #0x10000000 str r2, [r0, #0xfc] add r0, r0, #4 bl sub_02031C74 ldmia sp!, {r4, pc} arm_func_end sub_0202D07C arm_func_start sub_0202D0D8 sub_0202D0D8: ; 0x0202D0D8 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strb r4, [r0, #0x1b2] ldmia sp!, {r4, pc} arm_func_end sub_0202D0D8 arm_func_start sub_0202D0EC sub_0202D0EC: ; 0x0202D0EC stmdb sp!, {r3, r4, r5, lr} bl GetDialogBoxField0xC mov r5, r0 add r0, r5, #4 bl sub_02032558 mov r4, r0 add r0, r5, #4 bl sub_02032568 add r0, r4, r0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202D0EC arm_func_start sub_0202D114 sub_0202D114: ; 0x0202D114 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1ac] cmp r0, #3 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202D114 arm_func_start sub_0202D134 sub_0202D134: ; 0x0202D134 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 mov r0, #1 mov r2, #0 strb r0, [r4, #0x1b0] mov r0, r5 sub r1, r2, #4 strb r2, [r4, #0x1b1] bl sub_0202830C mov r0, #4 str r0, [r4, #0x1ac] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202D134 arm_func_start sub_0202D16C sub_0202D16C: ; 0x0202D16C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl GetDialogBoxField0xC mov r4, r0 cmp r5, #0 ldr r0, [r4, #0xfc] beq _0202D1BC tst r0, #0x10000000 ldmeqia sp!, {r3, r4, r5, pc} bic r2, r0, #0x10000000 add r0, r4, #4 mov r1, #0x8000000 str r2, [r4, #0xfc] bl sub_02031C84 add r0, r4, #4 mov r1, #0x10000000 bl sub_02031C84 mov r0, #1 strb r0, [r4, #0x1c4] ldmia sp!, {r3, r4, r5, pc} _0202D1BC: tst r0, #0x10000000 ldmneia sp!, {r3, r4, r5, pc} orr r2, r0, #0x10000000 add r0, r4, #4 mov r1, #0x8000000 str r2, [r4, #0xfc] bl sub_02031C74 add r0, r4, #4 mov r1, #0x10000000 bl sub_02031C74 mov r0, #1 strb r0, [r4, #0x1c4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202D16C arm_func_start sub_0202D1F0 sub_0202D1F0: ; 0x0202D1F0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x12c mov r5, r1 orr r5, r5, #4 mov r1, #0 str r1, [sp, #8] tst r5, #0x8000 mov sl, r3 mov r4, r2 mov r6, r0 ldr r8, [sp, #0x154] orrne r5, r5, #0x20000 mov r2, sl ldr r1, [sp, #8] b _0202D238 _0202D22C: add r1, r1, #1 str r1, [sp, #8] add r2, r2, #0xc _0202D238: ldrh r0, [r2] cmp r0, #0 bne _0202D22C ldr r1, [sp, #8] mov r0, #0x10c add r1, r1, #1 mul r0, r1, r0 mov r1, #8 bl MemAlloc mov fp, r0 mov r7, fp and sb, r5, #0x20 b _0202D300 _0202D26C: mov r0, r7 bl GetStringFromFileVeneer ldr r0, [sl, #8] str r0, [r7, #0x100] ldr r0, [sl, #8] cmp r0, #0 beq _0202D2C4 ldr r1, [r7, #0x100] mov r2, #0 b _0202D298 _0202D294: add r2, r2, #1 _0202D298: ldrh r0, [r1], #2 cmp r0, #0 bne _0202D294 ldr r0, [sl, #4] cmp r0, #0 streq r2, [r7, #0x104] beq _0202D2CC cmp r0, r2 movle r2, r0 str r2, [r7, #0x104] b _0202D2CC _0202D2C4: ldr r0, [sl, #4] str r0, [r7, #0x104] _0202D2CC: cmp sb, #0 beq _0202D2EC ldr r1, [r8] ldr r0, [r7, #0x104] cmp r1, r0 movge r1, #0 str r1, [r7, #0x108] b _0202D2F4 _0202D2EC: mov r0, #0 str r0, [r7, #0x108] _0202D2F4: add sl, sl, #0xc add r7, r7, #0x10c add r8, r8, #4 _0202D300: ldrh r1, [sl] cmp r1, #0 bne _0202D26C mov r2, #0 strb r2, [r7] str r2, [r7, #0x100] str r2, [r7, #0x104] mov r0, #0x1b8 mov r1, #8 str r2, [r7, #0x108] bl MemAlloc cmp r6, #0 mov r7, r0 addne sb, sp, #0x1c ldmneia r6, {r0, r1, r2, r3} stmneia sb, {r0, r1, r2, r3} ldrne r0, _0202D528 ; =sub_0202D618 mov r8, fp strne r0, [sp, #0x1c] bne _0202D364 ldr r0, _0202D52C ; =_0209AED0 add r6, sp, #0x1c ldmia r0, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} orr r5, r5, #0x300000 _0202D364: mov r6, #0 mov sb, r6 str r7, [sp, #0x28] b _0202D3CC _0202D374: mov r0, r8 bl sub_020265A8 cmp r0, r6 ldr sl, [r8, #0x100] movgt r6, r0 cmp sl, #0 beq _0202D3C0 b _0202D3B0 _0202D394: ldrh r1, [sl], #2 add r0, sp, #0x2c bl GetStringFromFileVeneer add r0, sp, #0x2c bl sub_020265A8 cmp r0, sb movgt sb, r0 _0202D3B0: ldrh r0, [sl] cmp r0, #0 bne _0202D394 b _0202D3C8 _0202D3C0: cmp sb, #0x30 movlt sb, #0x30 _0202D3C8: add r8, r8, #0x10c _0202D3CC: mov r0, r8 bl sub_0202A66C cmp r0, #0 beq _0202D374 ldrb r0, [sp, #0x22] cmp r0, #0 bne _0202D400 add r2, r6, sb mov r0, r5 mov r1, r4 add r2, r2, #0x34 bl sub_02031A5C strb r0, [sp, #0x22] _0202D400: str r6, [r7, #0x1a8] add r0, sb, #4 str r0, [r7, #0x1ac] ldr r0, [r7, #0x1a8] add r2, sp, #8 add r1, r0, #0x15 str r1, [r7, #0x1b0] ldr r0, [r7, #0x1ac] add r3, sp, #0x150 add r0, r1, r0 add r0, r0, #0xe str r0, [r7, #0x1b4] ldr r0, [sp, #0x150] cmp r0, #0 ldreq r0, [sp, #8] streq r0, [sp, #0x150] ldrb r0, [sp, #0x23] cmp r0, #0 mov r0, r5 bne _0202D460 mov r1, r4 bl sub_02031AA4 strb r0, [sp, #0x23] b _0202D468 _0202D460: mov r1, r4 bl sub_02031AA4 _0202D468: tst r5, #0x200000 ldrneb r1, [sp, #0x20] ldrneb r0, [sp, #0x22] subne r0, r1, r0 strneb r0, [sp, #0x20] tst r5, #0x100000 ldrneb r1, [sp, #0x21] ldrneb r0, [sp, #0x23] subne r0, r1, r0 strneb r0, [sp, #0x21] ldr r0, _0202D528 ; =sub_0202D618 cmp r4, #0 str r0, [r7] str r5, [r7, #0xfc] beq _0202D4C4 add r8, r7, #0x100 mov r6, #9 _0202D4AC: ldmia r4!, {r0, r1, r2, r3} stmia r8!, {r0, r1, r2, r3} subs r6, r6, #1 bne _0202D4AC ldmia r4, {r0, r1} stmia r8, {r0, r1} _0202D4C4: ldr r0, [sp, #0x154] str fp, [r7, #0x198] str r0, [r7, #0x19c] mov r2, #0 str r2, [r7, #0x1a0] strb r2, [r7, #0x1a4] add r0, sp, #0x1c mov r1, #3 strb r2, [r7, #0x1a5] bl sub_02027648 add r1, sp, #0xc mov r6, r0 bl sub_02028284 ldr r0, [sp, #8] add r3, sp, #0xc str r0, [sp] ldr r4, [sp, #0x150] mov r1, r5 add r0, r7, #4 add r2, r7, #0x100 str r4, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x12c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202D528: .word sub_0202D618 _0202D52C: .word _0209AED0 arm_func_end sub_0202D1F0 arm_func_start sub_0202D530 sub_0202D530: ; 0x0202D530 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #0x198] bl MemFree mov r0, r4 bl MemFree mov r0, r5 bl sub_02028194 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202D530 arm_func_start sub_0202D55C sub_0202D55C: ; 0x0202D55C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1a0] cmp r0, #6 cmpne r0, #7 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202D55C arm_func_start sub_0202D57C sub_0202D57C: ; 0x0202D57C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r0, [r0, #0x1a4] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202D57C arm_func_start sub_0202D59C sub_0202D59C: ; 0x0202D59C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032558 ldmia sp!, {r3, pc} arm_func_end sub_0202D59C arm_func_start sub_0202D5B0 sub_0202D5B0: ; 0x0202D5B0 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl GetDialogBoxField0xC ldr r4, [r0, #0x198] b _0202D5D0 _0202D5C4: ldr r0, [r4, #0x108] add r4, r4, #0x10c str r0, [r5], #4 _0202D5D0: mov r0, r4 bl sub_0202A66C cmp r0, #0 beq _0202D5C4 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202D5B0 arm_func_start sub_0202D5E4 sub_0202D5E4: ; 0x0202D5E4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a4] cmp r1, #0 beq _0202D610 ldrb r0, [r0, #0x1a5] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} _0202D610: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202D5E4 arm_func_start sub_0202D618 sub_0202D618: ; 0x0202D618 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r7, r0 ldr r4, [r7, #0xc] ldr r0, [r4, #0x1a0] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0202DA5C _0202D638: ; jump table b _0202D650 ; case 0 b _0202D668 ; case 1 b _0202D690 ; case 2 b _0202D6E8 ; case 3 b _0202D9EC ; case 4 b _0202DA30 ; case 5 _0202D650: ldrsb r0, [r7, #0x10] bl sub_0202810C cmp r0, #0 beq _0202DA5C mov r0, #2 str r0, [r4, #0x1a0] _0202D668: ldr r0, [r4, #0x1a0] cmp r0, #1 bne _0202D690 ldrb r0, [r7, #8] bl sub_020287C4 ldrsb r0, [r7, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r4, #0x1a0] b _0202DA5C _0202D690: mov r0, r7 bl sub_0202DA64 ldr r0, [r4, #0xfc] tst r0, #0x800000 beq _0202D6C8 mov r0, #7 str r0, [r4, #0x1a0] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #4 str r0, [r7, #0xb8] b _0202DA5C _0202D6C8: mov r1, #3 mov r0, #0 str r1, [r4, #0x1a0] strb r0, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #1 str r0, [r7, #0xb8] b _0202DA5C _0202D6E8: add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r5, r0 cmp r1, #0 bne _0202D760 ldr r3, [r4, #0x1b0] add r1, sp, #0xc add r0, r3, #0xe str r0, [sp] mov r6, #0 add r0, r4, #4 mov r2, #2 str r6, [sp, #4] bl sub_02032160 movs r6, r0 bmi _0202D760 mov r1, r6 add r0, r4, #4 bl sub_02032684 ldr r0, [sp, #8] mov r1, r6 orr r2, r0, #0x40 add r0, r4, #4 str r2, [sp, #8] bl sub_020320A8 mov r5, #1 _0202D760: ldr r0, [sp, #8] cmp r0, #0 bne _0202D7C0 ldr r3, [r4, #0x1b4] add r1, sp, #0xc add r0, r3, #0xe str r0, [sp] mov r6, #0 add r0, r4, #4 mov r2, #2 str r6, [sp, #4] bl sub_02032160 movs r6, r0 bmi _0202D7C0 mov r1, r6 add r0, r4, #4 bl sub_02032684 ldr r1, [sp, #8] add r0, r4, #4 orr r2, r1, #0x80 add r1, r6, #0x3e8 str r2, [sp, #8] bl sub_020320A8 mov r5, #1 _0202D7C0: ldr r0, [sp, #8] cmp r0, #0 bne _0202D7E0 add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 bl sub_02033758 orr r5, r5, r0 _0202D7E0: add r0, r4, #4 bl sub_02032578 ldr r2, [r4, #0xfc] ldr r3, [r4, #0x198] mov r1, #0x10c mla r6, r0, r1, r3 tst r2, #0x200 ldrne r1, [r4, #0x160] ldrneb r0, [r1, r0] moveq r0, #0 and r0, r0, #0xff tst r0, #1 bne _0202D8E8 ldr r0, [sp, #8] tst r0, #0x40 beq _0202D878 ldr r0, [r6, #0x108] cmp r0, #0 add r0, r4, #4 ble _0202D86C mov r1, #3 bl sub_02032960 ldr r0, [sp, #8] tst r0, #8 ldr r0, [r6, #0x108] beq _0202D85C subs r0, r0, #0xa str r0, [r6, #0x108] movmi r0, #0 strmi r0, [r6, #0x108] b _0202D864 _0202D85C: sub r0, r0, #1 str r0, [r6, #0x108] _0202D864: mov r5, #1 b _0202D900 _0202D86C: mov r1, #2 bl sub_02032960 b _0202D900 _0202D878: tst r0, #0x80 beq _0202D900 ldr r0, [r6, #0x104] ldr r1, [r6, #0x108] sub r0, r0, #1 cmp r1, r0 add r0, r4, #4 bge _0202D8DC mov r1, #3 bl sub_02032960 ldr r0, [sp, #8] tst r0, #8 ldr r0, [r6, #0x108] beq _0202D8CC add r1, r0, #0xa str r1, [r6, #0x108] ldr r0, [r6, #0x104] sub r0, r0, #1 cmp r1, r0 strgt r0, [r6, #0x108] b _0202D8D4 _0202D8CC: add r0, r0, #1 str r0, [r6, #0x108] _0202D8D4: mov r5, #1 b _0202D900 _0202D8DC: mov r1, #2 bl sub_02032960 b _0202D900 _0202D8E8: ldr r0, [sp, #8] tst r0, #0xc0 beq _0202D900 add r0, r4, #4 mov r1, #2 bl sub_02032960 _0202D900: cmp r5, #0 beq _0202D910 mov r0, r7 bl sub_0202DA64 _0202D910: add r0, r4, #4 bl sub_02032578 mov r2, r0 ldr r1, [r4, #0x198] mov r0, #0x10c mla r0, r2, r0, r1 ldr r1, [sp, #8] ldr r3, [r0, #0x108] add r0, r4, #4 bl sub_020323F8 ldr r0, [sp, #8] tst r0, #1 beq _0202D9AC add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202D9DC ldr r5, [r4, #0x198] ldr r6, [r4, #0x19c] b _0202D96C _0202D960: ldr r0, [r5, #0x108] add r5, r5, #0x10c str r0, [r6], #4 _0202D96C: mov r0, r5 bl sub_0202A66C cmp r0, #0 beq _0202D960 add r0, r4, #4 mov r1, #0 bl sub_02032960 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #4 str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x1a0] b _0202D9DC _0202D9AC: tst r0, #2 beq _0202D9DC add r0, r4, #4 mov r1, #1 bl sub_02032960 mov r0, #1 strb r0, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #6 str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x1a0] _0202D9DC: ldrsb r0, [r7, #0x10] add r1, r4, #4 bl sub_02028948 b _0202DA5C _0202D9EC: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202DA5C ldrb r0, [r4, #0x1a5] cmp r0, #0 bne _0202DA28 ldr r0, [r4, #0xfc] tst r0, #0x400000 beq _0202DA28 mov r0, r7 bl sub_0202DA64 mov r0, #7 str r0, [r4, #0x1a0] b _0202DA5C _0202DA28: mov r0, #5 str r0, [r4, #0x1a0] _0202DA30: ldrsb r0, [r7, #0x10] bl sub_0202812C cmp r0, #0 beq _0202DA5C ldrb r0, [r4, #0x1a5] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r7, #0xb8] mov r0, #6 str r0, [r4, #0x1a0] _0202DA5C: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0202D618 arm_func_start sub_0202DA64 sub_0202DA64: ; 0x0202DA64 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x160 mov sl, r0 ldr r4, [sl, #0xc] add r0, r4, #4 bl sub_02032568 mov r5, r0 add r0, r4, #4 bl sub_02032594 ldr r2, [r4, #0xfc] str r0, [sp, #0xc] tst r2, #0x200 ldrne r0, [r4, #0x160] ldr r3, [r4, #0x198] addne sb, r0, r5 mov r1, #0x10c add r0, r4, #4 mla r6, r5, r1, r3 moveq sb, #0 bl sub_020320C0 mov fp, r0 ldrsb r0, [sl, #0x10] bl sub_02027B1C ldr r0, [sp, #0xc] mov r7, #0 cmp r0, #0 ble _0202DC1C b _0202DC10 _0202DAD4: add r0, r4, #4 mov r1, r7 bl sub_020328D8 mov r8, r0 mov r0, #1 cmp sb, #0 mov r1, #0 str r0, [sp, #8] beq _0202DB14 ldrb r0, [sb] add sb, sb, #1 tst r0, #2 movne r1, #1 tst r0, #1 movne r0, #0 strne r0, [sp, #8] _0202DB14: cmp r1, #0 movne r0, #0x42 moveq r0, #0x44 and r0, r0, #0xff str r0, [sp, #4] str r0, [sp] ldrsb r0, [sl, #0x10] mov r1, #0xd mov r2, r8 mov r3, r6 bl sub_020263C8 ldr r2, [r6, #0x100] add r0, sp, #0x60 cmp r2, #0 ldr r1, [r6, #0x108] beq _0202DB64 mov r1, r1, lsl #1 ldrh r1, [r2, r1] bl GetStringFromFileVeneer b _0202DB80 _0202DB64: str r1, [sp, #0x34] add r1, sp, #0x10 str r1, [sp] ldr r2, _0202DC38 ; =_0209AEE0 ldr r3, _0202DC3C ; =0x0000C402 mov r1, #0x100 bl PreprocessString _0202DB80: add r0, sp, #0x60 bl sub_020265A8 ldr r1, [sp, #4] mov ip, r0 str r1, [sp] ldr r3, [r4, #0x1ac] ldr r1, [r4, #0x1b0] sub r3, r3, ip add r3, r3, r3, lsr #31 add r1, r1, r3, asr #1 ldrsb r0, [sl, #0x10] mov r2, r8 add r1, r1, #0xe add r3, sp, #0x60 bl sub_020263C8 ldr r0, [sp, #8] cmp r0, #0 beq _0202DC04 cmp r5, fp ldreq r3, _0202DC40 ; =_0209AEEC ldrsb r0, [sl, #0x10] ldrne r3, _0202DC44 ; =_0209AEF4 ldr r1, [r4, #0x1b0] mov r2, r8 bl sub_02026214 add r0, r5, #0x3e8 cmp r0, fp ldreq r3, _0202DC48 ; =_0209AEFC ldrsb r0, [sl, #0x10] ldrne r3, _0202DC4C ; =_0209AF04 ldr r1, [r4, #0x1b4] mov r2, r8 bl sub_02026214 _0202DC04: add r7, r7, #1 add r5, r5, #1 add r6, r6, #0x10c _0202DC10: ldr r0, [sp, #0xc] cmp r7, r0 blt _0202DAD4 _0202DC1C: ldrsb r1, [sl, #0x10] add r0, r4, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 add sp, sp, #0x160 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202DC38: .word _0209AEE0 _0202DC3C: .word 0x0000C402 _0202DC40: .word _0209AEEC _0202DC44: .word _0209AEF4 _0202DC48: .word _0209AEFC _0202DC4C: .word _0209AF04 arm_func_end sub_0202DA64 arm_func_start sub_0202DC50 sub_0202DC50: ; 0x0202DC50 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 mov r7, r3 mov r5, r1 mov sl, r2 mov r8, r0 mov r1, r7 mov r2, #0 b _0202DC7C _0202DC74: add r1, r1, #2 add r2, r2, #1 _0202DC7C: ldrh r0, [r1] cmp r0, #0 bne _0202DC74 add r0, r2, #1 add r0, r0, r0, lsl #8 mov r1, #8 bl MemAlloc mov r4, r0 mov r6, r4 b _0202DCB8 _0202DCA4: mov r0, r6 bl GetStringFromFileVeneer add r0, r6, #1 add r7, r7, #2 add r6, r0, #0x100 _0202DCB8: ldrh r1, [r7] cmp r1, #0 bne _0202DCA4 mov r0, #0 strb r0, [r6] ldr r2, [sp, #0x58] mov r0, #0x3b4 mov r1, #8 str r2, [sp, #0xc] bl MemAlloc mov r1, #0 cmp r8, #0 addne fp, sp, #0x10 mov r7, r0 str r1, [sp, #8] ldmneia r8, {r0, r1, r2, r3} stmneia fp, {r0, r1, r2, r3} ldrne r0, _0202DEE8 ; =sub_0202DF98 mov sb, r4 orr r5, r5, #4 ldr r6, [sp, #0x5c] strne r0, [sp, #0x10] bne _0202DD28 ldr r0, _0202DEEC ; =_0209AF0C add r8, sp, #0x10 ldmia r0, {r0, r1, r2, r3} stmia r8, {r0, r1, r2, r3} orr r5, r5, #0x300000 _0202DD28: str r7, [sp, #0x1c] mov r8, #0 b _0202DD4C _0202DD34: mov r0, sb bl sub_020265A8 cmp r0, r8 movgt r8, r0 add r0, sb, #1 add sb, r0, #0x100 _0202DD4C: mov r0, sb bl sub_0202A66C cmp r0, #0 beq _0202DD34 ldrb r0, [sp, #0x16] cmp r0, #0 bne _0202DD7C mov r0, r5 mov r1, sl add r2, r8, #0x40 bl sub_02031A5C strb r0, [sp, #0x16] _0202DD7C: str r8, [r7, #0x1a8] mov sb, r4 and r8, r5, #0x20 mov fp, #0 b _0202DDB8 _0202DD90: cmp r8, #0 ldrneb r0, [r6] add r6, r6, #1 strneb r0, [sb, #0x100] streqb fp, [sb, #0x100] ldr r1, [sp, #8] add r0, sb, #1 add r1, r1, #1 str r1, [sp, #8] add sb, r0, #0x100 _0202DDB8: mov r0, sb bl sub_0202A66C cmp r0, #0 beq _0202DD90 ldrb r0, [sp, #0x17] add r2, sp, #8 add r3, sp, #0xc cmp r0, #0 mov r0, r5 bne _0202DDF0 mov r1, sl bl sub_02031AA4 strb r0, [sp, #0x17] b _0202DDF8 _0202DDF0: mov r1, sl bl sub_02031AA4 _0202DDF8: tst r5, #0x200000 ldrneb r1, [sp, #0x14] ldrneb r0, [sp, #0x16] subne r0, r1, r0 strneb r0, [sp, #0x14] tst r5, #0x100000 ldrneb r1, [sp, #0x15] ldrneb r0, [sp, #0x17] subne r0, r1, r0 strneb r0, [sp, #0x15] ldr r0, _0202DEE8 ; =sub_0202DF98 cmp sl, #0 str r0, [r7] str r5, [r7, #0xfc] beq _0202DE54 add r8, r7, #0x100 mov r6, #9 _0202DE3C: ldmia sl!, {r0, r1, r2, r3} stmia r8!, {r0, r1, r2, r3} subs r6, r6, #1 bne _0202DE3C ldmia sl, {r0, r1} stmia r8, {r0, r1} _0202DE54: ldr r0, [sp, #0x5c] str r4, [r7, #0x198] str r0, [r7, #0x19c] mov r2, #0 str r2, [r7, #0x1a0] strb r2, [r7, #0x1a4] ldr r1, _0202DEF0 ; =0x00003C65 add r0, r7, #0x1ac strb r2, [r7, #0x1a5] bl GetStringFromFileVeneer ldr r1, _0202DEF4 ; =0x00003C66 add r0, r7, #0x2ac bl GetStringFromFileVeneer add r0, r7, #0x1ac bl sub_020265A8 str r0, [r7, #0x3ac] add r0, r7, #0x2ac bl sub_020265A8 str r0, [r7, #0x3b0] add r0, sp, #0x10 mov r1, #3 bl sub_02027648 add r1, sp, #0x20 mov r6, r0 bl sub_02028284 ldr r2, [sp, #8] mov r1, r5 str r2, [sp] ldr r4, [sp, #0xc] add r0, r7, #4 add r2, r7, #0x100 add r3, sp, #0x20 str r4, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202DEE8: .word sub_0202DF98 _0202DEEC: .word _0209AF0C _0202DEF0: .word 0x00003C65 _0202DEF4: .word 0x00003C66 arm_func_end sub_0202DC50 arm_func_start sub_0202DEF8 sub_0202DEF8: ; 0x0202DEF8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #0x198] bl MemFree mov r0, r4 bl MemFree mov r0, r5 bl sub_02028194 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202DEF8 arm_func_start sub_0202DF24 sub_0202DF24: ; 0x0202DF24 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1a0] cmp r0, #6 cmpne r0, #7 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202DF24 arm_func_start sub_0202DF44 sub_0202DF44: ; 0x0202DF44 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r0, [r0, #0x1a4] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202DF44 arm_func_start sub_0202DF64 sub_0202DF64: ; 0x0202DF64 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a4] cmp r1, #0 beq _0202DF90 ldrb r0, [r0, #0x1a5] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} _0202DF90: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202DF64 arm_func_start sub_0202DF98 sub_0202DF98: ; 0x0202DF98 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r7, r0 ldr r4, [r7, #0xc] ldr r0, [r4, #0x1a0] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0202E294 _0202DFB8: ; jump table b _0202DFD0 ; case 0 b _0202DFE8 ; case 1 b _0202E010 ; case 2 b _0202E068 ; case 3 b _0202E224 ; case 4 b _0202E268 ; case 5 _0202DFD0: ldrsb r0, [r7, #0x10] bl sub_0202810C cmp r0, #0 beq _0202E294 mov r0, #2 str r0, [r4, #0x1a0] _0202DFE8: ldr r0, [r4, #0x1a0] cmp r0, #1 bne _0202E010 ldrb r0, [r7, #8] bl sub_020287C4 ldrsb r0, [r7, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r4, #0x1a0] b _0202E294 _0202E010: mov r0, r7 bl sub_0202E29C ldr r0, [r4, #0xfc] tst r0, #0x800000 beq _0202E048 mov r0, #7 str r0, [r4, #0x1a0] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #4 str r0, [r7, #0xb8] b _0202E294 _0202E048: mov r1, #3 mov r0, #0 str r1, [r4, #0x1a0] strb r0, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #1 str r0, [r7, #0xb8] b _0202E294 _0202E068: add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r5, r0 cmp r1, #0 bne _0202E0CC mov r3, #0 add r1, sp, #0xc str r3, [sp] mov r6, #1 add r0, r4, #4 mov r2, #2 str r6, [sp, #4] bl sub_02032160 movs r1, r0 bmi _0202E0CC add r0, r4, #4 bl sub_02032684 ldr r0, [sp, #8] mov r5, r6 orr r0, r0, #0x2000 str r0, [sp, #8] _0202E0CC: ldr r0, [sp, #8] cmp r0, #0 bne _0202E0EC add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 bl sub_02033758 orr r5, r5, r0 _0202E0EC: add r0, r4, #4 bl sub_02032578 ldr r1, [r4, #0xfc] ldr r3, [r4, #0x198] tst r1, #0x200 ldrne r1, [r4, #0x160] add r2, r0, r0, lsl #8 ldrneb r1, [r1, r0] ldr r0, [sp, #8] add r6, r3, r2 moveq r1, #0 and r1, r1, #0xff tst r0, #0x2200 beq _0202E15C tst r1, #1 add r0, r4, #4 bne _0202E154 mov r1, #3 bl sub_02032960 ldrb r0, [r6, #0x100] mov r5, #1 cmp r0, #0 moveq r0, #1 movne r0, #0 strb r0, [r6, #0x100] b _0202E15C _0202E154: mov r1, #2 bl sub_02032960 _0202E15C: cmp r5, #0 beq _0202E16C mov r0, r7 bl sub_0202E29C _0202E16C: ldr r0, [sp, #8] tst r0, #1 beq _0202E1E4 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0202E214 ldr r5, [r4, #0x198] ldr r6, [r4, #0x19c] b _0202E1A4 _0202E194: ldrb r1, [r5, #0x100] add r0, r5, #1 add r5, r0, #0x100 strb r1, [r6], #1 _0202E1A4: mov r0, r5 bl sub_0202A66C cmp r0, #0 beq _0202E194 add r0, r4, #4 mov r1, #0 bl sub_02032960 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #4 str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x1a0] b _0202E214 _0202E1E4: tst r0, #2 beq _0202E214 add r0, r4, #4 mov r1, #1 bl sub_02032960 mov r0, #1 strb r0, [r4, #0x1a4] strb r0, [r4, #0x1a5] sub r0, r0, #6 str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x1a0] _0202E214: ldrsb r0, [r7, #0x10] add r1, r4, #4 bl sub_02028948 b _0202E294 _0202E224: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _0202E294 ldrb r0, [r4, #0x1a5] cmp r0, #0 bne _0202E260 ldr r0, [r4, #0xfc] tst r0, #0x400000 beq _0202E260 mov r0, r7 bl sub_0202E29C mov r0, #7 str r0, [r4, #0x1a0] b _0202E294 _0202E260: mov r0, #5 str r0, [r4, #0x1a0] _0202E268: ldrsb r0, [r7, #0x10] bl sub_0202812C cmp r0, #0 beq _0202E294 ldrb r0, [r4, #0x1a5] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r7, #0xb8] mov r0, #6 str r0, [r4, #0x1a0] _0202E294: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0202DF98 arm_func_start sub_0202E29C sub_0202E29C: ; 0x0202E29C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 ldr r4, [sl, #0xc] add r0, r4, #4 bl sub_02032568 mov r7, r0 add r0, r4, #4 bl sub_02032594 ldr r1, [r4, #0xfc] mov r5, r0 tst r1, #0x200 ldrne r0, [r4, #0x160] ldr r3, [r4, #0x198] addne r8, r0, r7 add r2, r7, r7, lsl #8 ldrsb r0, [sl, #0x10] add r6, r3, r2 moveq r8, #0 bl sub_02027B1C cmp r5, #0 mov r7, #0 ble _0202E3B0 add r0, r4, #0x1ac str r0, [sp, #8] b _0202E3A8 _0202E304: add r0, r4, #4 mov r1, r7 bl sub_020328D8 str r0, [sp, #4] ldrb r0, [r6, #0x100] mov r1, #0 cmp r0, #0 movne sb, #1 moveq sb, #0 cmp r8, #0 beq _0202E340 ldrb r0, [r8] add r8, r8, #1 tst r0, #2 movne r1, #1 _0202E340: cmp r1, #0 movne r0, #0x42 moveq r0, #0x44 and fp, r0, #0xff str fp, [sp] ldrsb r0, [sl, #0x10] ldr r2, [sp, #4] mov r1, #0xd mov r3, r6 bl sub_020263C8 str fp, [sp] add r3, r4, sb, lsl #2 ldr fp, [r3, #0x3ac] ldr r3, [sp, #8] ldr r1, [r4, #0x1a8] add r3, r3, sb, lsl #8 rsb sb, fp, #0x30 ldrsb r0, [sl, #0x10] ldr r2, [sp, #4] add r1, r1, #0xd add sb, sb, sb, lsr #31 add r1, r1, sb, asr #1 bl sub_020263C8 add r0, r6, #1 add r7, r7, #1 add r6, r0, #0x100 _0202E3A8: cmp r7, r5 blt _0202E304 _0202E3B0: ldrsb r1, [sl, #0x10] add r0, r4, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0202E29C arm_func_start sub_0202E3CC sub_0202E3CC: ; 0x0202E3CC stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r8, r0 mov r7, r1 ldr r0, _0202E508 ; =0x00001D6C mov r1, #8 mov r6, r2 mov r5, r3 bl MemAlloc mov r4, r0 cmp r8, #0 ldreq r0, _0202E50C ; =_0209AF1C add ip, sp, #0 ldmeqia r0, {r0, r1, r2, r3} stmeqia ip, {r0, r1, r2, r3} ldmneia r8, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} ldrne r0, _0202E510 ; =sub_0202E708 ldr r1, _0202E510 ; =sub_0202E708 strne r0, [sp] ldr r0, _0202E514 ; =0x0D0C8012 str r4, [sp, #0xc] orr r0, r7, r0 str r1, [r4] bic r0, r0, #1 str r0, [r4, #0xfc] cmp r6, #0 beq _0202E45C add ip, r4, #0x100 mov r7, #9 _0202E444: ldmia r6!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r7, r7, #1 bne _0202E444 ldmia r6, {r0, r1} stmia ip, {r0, r1} _0202E45C: ldr r7, [sp, #0x28] add r0, r4, #0x100 strh r5, [r0, #0xa0] cmp r7, #0 beq _0202E48C add r6, r4, #0x1a8 mov r5, #5 _0202E478: ldmia r7!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202E478 b _0202E494 _0202E48C: add r0, r4, #0x1a8 bl InitPreprocessorArgs _0202E494: mov r0, #1 ldr r7, [sp, #0x30] ldrh r1, [sp, #0x2c] str r0, [r4, #0x198] mov r0, #0 str r0, [r4, #0x19c] add r0, r4, #0x200 strh r1, [r0, #0xe8] cmp r7, #0 beq _0202E4D8 add r6, r4, #0x2f0 mov r5, #5 _0202E4C4: ldmia r7!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202E4C4 b _0202E4E0 _0202E4D8: add r0, r4, #0x2f0 bl InitPreprocessorArgs _0202E4E0: mov r3, #0 str r3, [r4, #0x430] add r2, r4, #0x1000 str r3, [r2, #0x464] add r0, sp, #0 mov r1, #3 strb r3, [r2, #0x468] bl sub_02027648 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0202E508: .word 0x00001D6C _0202E50C: .word _0209AF1C _0202E510: .word sub_0202E708 _0202E514: .word 0x0D0C8012 arm_func_end sub_0202E3CC arm_func_start sub_0202E518 sub_0202E518: ; 0x0202E518 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r6, r0 mov r5, r2 ldr r2, [sp, #0x44] mov sl, r1 ldr r0, _0202E6A0 ; =0x00001D6C mov r1, #8 mov sb, r3 ldr r8, [sp, #0x38] ldr r7, [sp, #0x3c] ldr fp, [sp, #0x40] str r2, [sp, #0x44] bl MemAlloc cmp r6, #0 mov r4, r0 ldreq r0, _0202E6A4 ; =_0209AF1C addeq r6, sp, #0 ldmeqia r0, {r0, r1, r2, r3} stmeqia r6, {r0, r1, r2, r3} addne ip, sp, #0 ldmneia r6, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} ldrne r0, _0202E6A8 ; =sub_0202E708 ldr r1, _0202E6A8 ; =sub_0202E708 strne r0, [sp] ldr r0, _0202E6AC ; =0x0D0C8012 str r4, [sp, #0xc] orr r0, sl, r0 str r1, [r4] bic r0, r0, #1 str r0, [r4, #0xfc] cmp r5, #0 beq _0202E5C0 add sl, r4, #0x100 mov r6, #9 _0202E5A8: ldmia r5!, {r0, r1, r2, r3} stmia sl!, {r0, r1, r2, r3} subs r6, r6, #1 bne _0202E5A8 ldmia r5, {r0, r1} stmia sl, {r0, r1} _0202E5C0: str sb, [r4, #0x198] mov r6, #0 str r6, [r4, #0x19c] b _0202E670 _0202E5D0: mov r0, #0x50 mul r5, r6, r0 mov r1, r6, lsl #1 add r0, r4, r6, lsl #1 ldrh r1, [r8, r1] add r0, r0, #0x100 adds sl, r7, r5 strh r1, [r0, #0xa0] beq _0202E614 add r0, r4, r5 add lr, r0, #0x1a8 mov ip, #5 _0202E600: ldmia sl!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0202E600 b _0202E620 _0202E614: add r0, r4, #0x1a8 add r0, r0, r5 bl InitPreprocessorArgs _0202E620: mov r0, r6, lsl #1 ldrh r1, [fp, r0] add r0, r4, r6, lsl #1 add r0, r0, #0x200 strh r1, [r0, #0xe8] ldr r0, [sp, #0x44] adds sl, r0, r5 beq _0202E660 add r0, r4, r5 add ip, r0, #0x2f0 mov r5, #5 _0202E64C: ldmia sl!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202E64C b _0202E66C _0202E660: add r0, r4, #0x2f0 add r0, r0, r5 bl InitPreprocessorArgs _0202E66C: add r6, r6, #1 _0202E670: cmp r6, sb blt _0202E5D0 mov r3, #0 str r3, [r4, #0x430] add r2, r4, #0x1000 str r3, [r2, #0x464] add r0, sp, #0 mov r1, #3 strb r3, [r2, #0x468] bl sub_02027648 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202E6A0: .word 0x00001D6C _0202E6A4: .word _0209AF1C _0202E6A8: .word sub_0202E708 _0202E6AC: .word 0x0D0C8012 arm_func_end sub_0202E518 arm_func_start sub_0202E6B0 sub_0202E6B0: ; 0x0202E6B0 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #0x1000 mov r1, #7 str r1, [r0, #0x464] ldmia sp!, {r3, pc} arm_func_end sub_0202E6B0 arm_func_start sub_0202E6C8 sub_0202E6C8: ; 0x0202E6C8 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_0202E6C8 arm_func_start sub_0202E6E4 sub_0202E6E4: ; 0x0202E6E4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #0x1000 ldr r0, [r0, #0x464] cmp r0, #8 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202E6E4 arm_func_start sub_0202E708 sub_0202E708: ; 0x0202E708 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x6c mov r4, r0 ldr r5, [r4, #0xc] add r0, r5, #0x1000 ldr r0, [r0, #0x464] cmp r0, #7 addls pc, pc, r0, lsl #2 b _0202EE74 _0202E72C: ; jump table b _0202E74C ; case 0 b _0202E768 ; case 1 b _0202E768 ; case 2 b _0202E768 ; case 3 b _0202E998 ; case 4 b _0202E9C0 ; case 5 b _0202EE38 ; case 6 b _0202EE54 ; case 7 _0202E74C: ldrsb r0, [r4, #0x10] bl sub_0202810C cmp r0, #0 beq _0202EE74 add r0, r5, #0x1000 mov r1, #1 str r1, [r0, #0x464] _0202E768: add r0, r5, #0x1000 ldr r0, [r0, #0x464] cmp r0, #1 beq _0202E788 add r0, r5, #4 bl sub_02032070 cmp r0, #0 bne _0202EE74 _0202E788: add r0, r5, #0x34 ldr r2, [r5, #0x430] ldr r1, _0202EE7C ; =0x0000040C add r0, r0, #0x400 add r3, r5, #0x16c mla r6, r2, r1, r0 cmp r2, #0 add r7, r3, #0x1800 mov r8, #0 bne _0202E850 ldr sl, [r5, #0x19c] add r0, r5, sl, lsl #1 add r0, r0, #0x100 ldrh r2, [r0, #0xa0] cmp r2, #0 addeq r0, r5, #0x1000 streqb r8, [r0, #0x56c] beq _0202E7F0 add r1, r5, #0x1a8 mov r0, #0x50 mla sb, sl, r0, r1 mov r1, #0x400 add r0, r3, #0x1400 add r3, r1, #4 str sb, [sp] bl PreprocessStringFromMessageId _0202E7F0: ldr r2, [r5, #0x19c] mov r0, #0x50 mla r1, r2, r0, r5 add r0, r5, #0x6c add fp, r1, #0x2f0 add sl, r0, #0x1400 mov sb, #5 _0202E80C: ldmia fp!, {r0, r1, r2, r3} stmia sl!, {r0, r1, r2, r3} subs sb, sb, #1 bne _0202E80C ldr r0, [r5, #0x19c] add r1, r5, #0x1000 add r0, r5, r0, lsl #1 add r0, r0, #0x200 ldrh r0, [r0, #0xe8] strh r0, [r6] ldr r0, [r1, #0x464] cmp r0, #1 moveq r0, #0 streq r0, [r6, #4] subeq r0, r0, #1 streq r0, [r6, #8] b _0202E85C _0202E850: add r0, r3, #0x1400 add r1, r6, #0xc bl strcpy _0202E85C: ldr r0, [r5, #0xfc] ldr r1, _0202EE80 ; =0x000001AF orr r0, r0, #0x800 str r0, [r5, #0xfc] add r0, r5, #0x100 strh r1, [r0, #8] mov r0, #0x10 add r3, r5, #0x16c str r0, [r5, #0x10c] add r0, r3, #0x1400 str r0, [r5, #0x148] ldrh sb, [r6] add r0, r5, #0x1000 add r2, r5, #0x6c str sb, [r0, #0x4a0] add r0, r2, #0x1400 str r0, [sp] ldrh r2, [r6] mov r1, #0x400 add r0, r3, #0x1800 add r3, r1, #4 bl PreprocessStringFromMessageId add r0, r5, #0xc4 add sb, r0, #0x1400 b _0202E8E0 _0202E8C0: add r0, r5, r8, lsl #2 add r2, r0, #0x1000 add r1, sb, r8, lsl #2 mov r0, r7 str r7, [r2, #0x4e4] add r8, r8, #1 bl sub_02021F44 mov r7, r0 _0202E8E0: cmp r7, #0 bne _0202E8C0 add r0, r5, #0x1000 str r8, [r0, #0x4bc] ldr r1, [r0, #0x464] cmp r1, #3 ldreq r1, [r6, #4] movne r1, #0 str r1, [r0, #0x4c0] ldr r1, [r5, #0xfc] add r0, r5, #0x1000 orr r1, r1, #8 str r1, [r5, #0xfc] ldr r0, [r0, #0x4bc] add r1, sp, #0x38 cmp r0, #1 ldrle r0, [r5, #0xfc] eorle r0, r0, #8 strle r0, [r5, #0xfc] ldrsb r0, [r4, #0x10] bl sub_02028284 ldr r0, [r5, #0x430] add r3, sp, #0x38 cmp r0, #0 mov r0, #1 bne _0202E974 ldr r1, [r5, #0x198] add r2, r5, #0x100 str r1, [sp] str r0, [sp, #4] ldr r1, [r5, #0xfc] add r0, r5, #4 bl sub_02031AF8 ldr r1, [r5, #0x19c] add r0, r5, #4 bl sub_02032684 b _0202E98C _0202E974: str r0, [sp] str r0, [sp, #4] ldr r1, [r5, #0xfc] add r0, r5, #4 add r2, r5, #0x100 bl sub_02031AF8 _0202E98C: add r0, r5, #0x1000 mov r1, #4 str r1, [r0, #0x464] _0202E998: mov r0, r4 bl sub_0202EE88 mov r1, #0 add r0, r5, #0x1000 mov r2, #5 str r2, [r0, #0x464] strb r1, [r0, #0x468] sub r0, r1, #1 str r0, [r4, #0xb8] b _0202EE74 _0202E9C0: add r0, r5, #0x34 add r8, r0, #0x400 ldr r7, [r5, #0x430] ldr r6, _0202EE7C ; =0x0000040C add r1, sp, #0x14 add r2, sp, #0x48 add r0, r5, #4 mov r3, #1 mla r6, r7, r6, r8 bl sub_02031C98 mov r7, r0 add r0, r5, #4 bl sub_02032560 mov fp, r0 add r2, r5, #0x1000 mov r0, #0 mov r1, #0x13 ldr r8, [r2, #0x4c0] bl sub_02031914 add r1, r5, #0x1000 ldr r1, [r1, #0x4bc] mov sb, r0 cmp r1, #1 ble _0202EA70 tst sb, #0x10 beq _0202EA48 add r0, r5, #4 mov r1, #4 bl sub_02032960 subs r8, r8, #1 addmi r0, r5, #0x1000 ldrmi r0, [r0, #0x4bc] submi r8, r0, #1 b _0202EA70 _0202EA48: tst sb, #0x20 beq _0202EA70 add r0, r5, #4 mov r1, #4 bl sub_02032960 add r0, r5, #0x1000 ldr r0, [r0, #0x4bc] add r8, r8, #1 cmp r8, r0 movge r8, #0 _0202EA70: ldr r0, [r5, #0x430] cmp r0, #0 bne _0202EA98 ldr r0, [r5, #0x19c] cmp r0, fp strne fp, [r5, #0x19c] addne r0, r5, #0x1000 movne r1, #1 strne r1, [r0, #0x464] bne _0202EB54 _0202EA98: add r0, r5, #0x1000 ldr r1, [r0, #0x4c0] cmp r1, r8 beq _0202EAC0 str r8, [r0, #0x4c0] str r8, [r6, #4] mvn r0, #0 str r0, [r6, #8] mov r7, #1 b _0202EB54 _0202EAC0: ldr r2, [r0, #0x504] cmp r2, #0 ble _0202EB54 ldr r0, [sp, #0x14] tst r0, #0x2000 beq _0202EB10 ldr r0, [r6, #8] cmp r0, #0 sublt r0, r2, #1 strlt r0, [r6, #8] blt _0202EAFC mvneq r0, #0 streq r0, [r6, #8] subne r0, r0, #1 strne r0, [r6, #8] _0202EAFC: add r0, r5, #4 mov r1, #3 bl sub_02032960 mov r7, #1 b _0202EB54 _0202EB10: tst r0, #0x1000 beq _0202EB54 ldr r1, [r6, #8] cmp r1, #0 movlt r0, #0 strlt r0, [r6, #8] blt _0202EB44 sub r0, r2, #1 cmp r1, r0 mvnge r0, #0 strge r0, [r6, #8] addlt r0, r1, #1 strlt r0, [r6, #8] _0202EB44: add r0, r5, #4 mov r1, #3 bl sub_02032960 mov r7, #1 _0202EB54: ldr r0, [sp, #0x14] cmp r0, #0 bne _0202ECC4 ldrsb r0, [r4, #0x10] mvn r2, #0 add r1, sp, #0x28 str r2, [sp, #8] bl sub_02028284 add r0, r5, #0x108 add r0, r0, #0x1400 str r0, [sp, #0xc] add r0, r5, #0x1000 mov sl, #0 str r0, [sp, #0x10] b _0202EC08 _0202EB90: ldr r0, [sp, #0xc] mov r1, #0x18 mla r2, sl, r1, r0 ldr r1, [sp, #0x28] ldr r0, [r2, #8] ldr r3, [sp, #0x30] add r0, r0, r1 str r0, [sp, #0x18] ldr ip, [r2, #0x10] add r0, sp, #0x48 add r1, ip, r1 str r1, [sp, #0x1c] ldr ip, [r2, #4] ldr r1, _0202EE84 ; =0x00000408 add ip, ip, r3 str ip, [sp, #0x20] ldr ip, [r2, #0xc] add r2, sp, #0x18 add r3, ip, r3 str r3, [sp, #0x24] bl sub_02006C8C cmp r0, #0 beq _0202EC04 add r0, r5, #4 mov r1, #0 str sl, [sp, #8] bl sub_020320EC mov r7, #1 b _0202EC18 _0202EC04: add sl, sl, #1 _0202EC08: ldr r0, [sp, #0x10] ldr r0, [r0, #0x504] cmp sl, r0 blt _0202EB90 _0202EC18: ldr r0, [sp, #8] cmp r0, #0 strge sl, [r6, #8] orrge sb, sb, #1 bge _0202EC7C add r1, sp, #0x14 add r2, sp, #0x48 add r0, r5, #4 bl sub_02033758 add r1, r5, #0x1000 ldr r1, [r1, #0x4bc] orr r7, r7, r0 cmp r1, #1 ble _0202EC7C ldr r0, [sp, #0x14] tst r0, #0x40000 beq _0202EC68 subs r8, r8, #1 submi r8, r1, #1 b _0202EC7C _0202EC68: tst r0, #0x80000 beq _0202EC7C add r8, r8, #1 cmp r8, r1 movge r8, #0 _0202EC7C: ldr r0, [r5, #0x430] cmp r0, #0 bne _0202ECA4 ldr r0, [r5, #0x19c] cmp r0, fp strne fp, [r5, #0x19c] addne r0, r5, #0x1000 movne r1, #1 strne r1, [r0, #0x464] bne _0202ECC4 _0202ECA4: add r0, r5, #0x1000 ldr r1, [r0, #0x4c0] cmp r1, r8 strne r8, [r0, #0x4c0] strne r8, [r6, #4] mvnne r0, #0 strne r0, [r6, #8] movne r7, #1 _0202ECC4: cmp r7, #0 beq _0202ECD4 mov r0, r4 bl sub_0202EE88 _0202ECD4: add r0, r5, #0x1000 ldr r0, [r0, #0x464] cmp r0, #5 bne _0202EE28 ldr r1, [r6, #8] mov r0, #0 mov r7, r0 cmp r1, #0 blt _0202EDC8 tst sb, #1 beq _0202EDC8 add r2, r5, #0x108 add r3, r2, #0x1400 mov r2, #0x18 mla r8, r1, r2, r3 ldr sl, [r5, #0x430] mov r7, #1 ldr r2, _0202EE7C ; =0x0000040C b _0202ED3C _0202ED20: mla r3, r0, r2, r5 add r3, r3, #0x400 ldrh sb, [r8, #2] ldrh r3, [r3, #0x34] cmp sb, r3 beq _0202ED44 add r0, r0, #1 _0202ED3C: cmp r0, sl blt _0202ED20 _0202ED44: cmp sl, #3 bge _0202EDBC ldrh r0, [r8, #2] cmp r0, #0 addne r0, r5, r1 addne r0, r0, #0x1000 ldrneb r0, [r0, #0x568] cmpne r0, #0 beq _0202EDBC add r0, r5, #4 mov r1, #0 bl sub_02032960 ldr r0, [r5, #0x430] add r2, r6, #0x18 add r0, r0, #1 str r0, [r5, #0x430] mov r3, #0 ldrh sb, [r8, #2] add r0, r6, #0x400 mov r1, r8 strh sb, [r0, #0xc] str r3, [r6, #0x410] sub r3, r3, #1 add r0, r2, #0x400 str r3, [r6, #0x414] bl sub_0202202C add r0, r5, #0x1000 mov r1, #2 str r1, [r0, #0x464] b _0202EDC8 _0202EDBC: add r0, r5, #4 mov r1, #2 bl sub_02032960 _0202EDC8: cmp r7, #0 bne _0202EE28 ldr r0, [sp, #0x14] tst r0, #2 beq _0202EE28 add r0, r5, #4 mov r1, #1 bl sub_02032960 ldr r0, [r5, #0x430] cmp r0, #0 ble _0202EE0C sub r0, r0, #1 str r0, [r5, #0x430] add r0, r5, #0x1000 mov r1, #3 str r1, [r0, #0x464] b _0202EE28 _0202EE0C: mov r1, #1 add r0, r5, #0x1000 strb r1, [r0, #0x468] sub r1, r1, #6 str r1, [r4, #0xb8] mov r1, #6 str r1, [r0, #0x464] _0202EE28: ldrsb r0, [r4, #0x10] add r1, r5, #4 bl sub_02028948 b _0202EE74 _0202EE38: add r0, r5, #4 bl sub_02032070 cmp r0, #0 bne _0202EE74 add r0, r5, #0x1000 mov r1, #7 str r1, [r0, #0x464] _0202EE54: ldrsb r0, [r4, #0x10] bl sub_0202812C cmp r0, #0 mvnne r0, #4 strne r0, [r4, #0xb8] addne r0, r5, #0x1000 movne r1, #8 strne r1, [r0, #0x464] _0202EE74: add sp, sp, #0x6c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202EE7C: .word 0x0000040C _0202EE80: .word 0x000001AF _0202EE84: .word 0x00000408 arm_func_end sub_0202E708 arm_func_start sub_0202EE88 sub_0202EE88: ; 0x0202EE88 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x124 mov sl, r0 ldr r5, [sl, #0xc] ldrsb r0, [sl, #0x10] add r1, r5, #0x34 ldr r4, [r5, #0x430] ldr r2, _0202F0A4 ; =0x0000040C add r1, r1, #0x400 add r3, r5, #0x1000 mla r6, r4, r2, r1 ldr r4, [r3, #0x4c0] bl sub_02027B1C ldrsb r1, [sl, #0x10] add r0, sp, #8 bl sub_02025E84 add r0, r5, #4 mov r1, #0 bl sub_020328D8 mov r2, r0 add r0, sp, #8 mov r1, #4 bl sub_0202614C add r0, r5, r4, lsl #2 add r0, r0, #0x1000 ldr r2, [r0, #0x4e4] ldr r1, _0202F0A8 ; =0x0000C406 add r0, sp, #8 bl sub_02026194 add r0, sp, #8 bl sub_02026204 add r1, r5, #0x108 add r0, sp, #8 add r1, r1, #0x1400 bl sub_020261F4 add r1, r5, #0x1000 str r0, [r1, #0x504] ldr r0, [r5, #0x430] cmp r0, #3 bge _0202EFA0 mov r8, #0 mov r0, #1 mov lr, r8 ldr sb, _0202F0A4 ; =0x0000040C mov ip, #0x18 b _0202EF90 _0202EF40: mla r2, r8, ip, r5 add r3, r2, #0x1500 mov r4, r0 mov r2, lr ldrh r3, [r3, #0xa] ldr r7, [r5, #0x430] b _0202EF78 _0202EF5C: mla fp, r2, sb, r5 add fp, fp, #0x400 ldrh fp, [fp, #0x34] cmp r3, fp moveq r4, #0 beq _0202EF80 add r2, r2, #1 _0202EF78: cmp r2, r7 blt _0202EF5C _0202EF80: add r2, r5, r8 add r2, r2, #0x1000 strb r4, [r2, #0x568] add r8, r8, #1 _0202EF90: ldr r3, [r1, #0x504] cmp r8, r3 blt _0202EF40 b _0202EFC8 _0202EFA0: mov r4, #0 mov r2, r4 b _0202EFBC _0202EFAC: add r0, r5, r4 add r0, r0, #0x1000 strb r2, [r0, #0x568] add r4, r4, #1 _0202EFBC: ldr r3, [r1, #0x504] cmp r4, r3 blt _0202EFAC _0202EFC8: add r0, r5, #0x108 cmp r3, #0 add r7, r0, #0x1400 mov r8, #0 ble _0202F088 add r4, r5, #0x1000 mov fp, #0x2e b _0202F07C _0202EFE8: add r0, r5, r8 add r0, r0, #0x1000 ldrb r0, [r0, #0x568] ldrsb r1, [sl, #0x10] cmp r0, #0 movne sb, #0x4c add r0, sp, #8 moveq sb, #0x57 bl sub_02025E84 add r0, sp, #8 ldmib r7, {r1, r2} bl sub_0202614C ldr r1, _0202F0AC ; =0x0000C506 ldr r2, [r7, #0x14] add r0, sp, #8 bl sub_02026194 mov r1, sb add r0, sp, #8 bl sub_02026174 add r0, sp, #8 bl sub_02026204 ldr r0, [r6, #8] cmp r0, r8 bne _0202F074 ldr r0, [r7, #0xc] ldr r1, [r7, #4] cmp r1, r0 bge _0202F074 sub r3, r0, r1 ldr r2, [r7, #8] ldr r0, [r7, #0x10] sub r0, r0, r2 stmia sp, {r0, fp} ldrsb r0, [sl, #0x10] bl sub_02025D90 _0202F074: add r8, r8, #1 add r7, r7, #0x18 _0202F07C: ldr r0, [r4, #0x504] cmp r8, r0 blt _0202EFE8 _0202F088: ldrsb r1, [sl, #0x10] add r0, r5, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 add sp, sp, #0x124 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0202F0A4: .word 0x0000040C _0202F0A8: .word 0x0000C406 _0202F0AC: .word 0x0000C506 arm_func_end sub_0202EE88 arm_func_start CreateDBox CreateDBox: ; 0x0202F0B0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r6, r0 ldr r0, _0202F13C ; =0x00000528 mov r1, #8 bl MemAlloc mov r4, r0 cmp r6, #0 ldreq r0, _0202F140 ; =_0209AF2C add r5, sp, #0 ldmeqia r0, {r0, r1, r2, r3} stmeqia r5, {r0, r1, r2, r3} ldmneia r6, {r0, r1, r2, r3} stmneia r5, {r0, r1, r2, r3} ldrne r0, _0202F144 ; =sub_0202F488 ldr r1, _0202F144 ; =sub_0202F488 strne r0, [sp] str r4, [sp, #0xc] str r1, [r4] mov r2, #1 add r0, sp, #0 mov r1, #3 strb r2, [r4, #0xa] bl sub_02027648 mov r5, r0 mov r1, r5 add r0, r4, #0xc bl sub_02025E84 mov r1, #0 str r1, [r4, #4] strb r1, [r4, #8] mov r0, r5 strb r1, [r4, #9] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202F13C: .word 0x00000528 _0202F140: .word _0209AF2C _0202F144: .word sub_0202F488 arm_func_end CreateDBox arm_func_start FreeDBox FreeDBox: ; 0x0202F148 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC mov r0, r4 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end FreeDBox arm_func_start sub_0202F16C sub_0202F16C: ; 0x0202F16C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #0xc bl sub_020261D4 ldmia sp!, {r3, pc} arm_func_end sub_0202F16C arm_func_start IsDBoxActive IsDBoxActive: ; 0x0202F180 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r0, [r0, #8] ldmia sp!, {r3, pc} arm_func_end IsDBoxActive arm_func_start sub_0202F190 sub_0202F190: ; 0x0202F190 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 bl GetDialogBoxField0xC mov r1, r5 mov r2, r4 add r0, r0, #0xc bl sub_02026184 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202F190 arm_func_start ShowMessageInDBox ShowMessageInDBox: ; 0x0202F1B4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r6, r2 mov r5, r3 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #2 beq _0202F1EC add r0, r4, #0xc bl sub_0202613C mov r0, #1 str r0, [r4, #4] b _0202F200 _0202F1EC: ldrb r0, [r4, #9] cmp r0, #0 beq _0202F200 add r0, r4, #0x128 bl sub_02048240 _0202F200: mov r0, #1 strb r0, [r4, #8] ldrb r0, [r4, #0xa] mov r2, r6 mov r3, r7 strb r0, [r4, #9] add r0, r4, #0x128 mov r1, #0x400 str r5, [sp] bl PreprocessStringFromMessageId mov r1, r7 add r0, r4, #0xc add r2, r4, #0x128 bl sub_02026194 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end ShowMessageInDBox arm_func_start sub_0202F23C sub_0202F23C: ; 0x0202F23C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r6, r2 mov r5, r3 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #2 beq _0202F274 add r0, r4, #0xc bl sub_0202613C mov r0, #1 str r0, [r4, #4] b _0202F288 _0202F274: ldrb r0, [r4, #9] cmp r0, #0 beq _0202F288 add r0, r4, #0x128 bl sub_02048240 _0202F288: mov r0, #1 strb r0, [r4, #8] ldrb r0, [r4, #0xa] mov r2, r6 mov r3, r7 strb r0, [r4, #9] add r0, r4, #0x128 mov r1, #0x400 str r5, [sp] bl PreprocessString mov r1, r7 add r0, r4, #0xc add r2, r4, #0x128 bl sub_02026194 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0202F23C arm_func_start sub_0202F2C4 sub_0202F2C4: ; 0x0202F2C4 stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0202F31C _0202F2E0: ; jump table b _0202F31C ; case 0 b _0202F2F4 ; case 1 b _0202F308 ; case 2 ldmia sp!, {r4, pc} ; case 3 ldmia sp!, {r4, pc} ; case 4 _0202F2F4: mov r0, #4 str r0, [r4, #4] mov r0, #1 strb r0, [r4, #8] ldmia sp!, {r4, pc} _0202F308: add r0, r4, #0xc bl sub_020261A4 mov r0, #1 strb r0, [r4, #8] ldmia sp!, {r4, pc} _0202F31C: add r0, r4, #0xc bl sub_0202613C mov r0, #0 str r0, [r4, #4] strb r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end sub_0202F2C4 arm_func_start sub_0202F334 sub_0202F334: ; 0x0202F334 stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0202F38C _0202F350: ; jump table b _0202F38C ; case 0 b _0202F364 ; case 1 b _0202F378 ; case 2 ldmia sp!, {r4, pc} ; case 3 ldmia sp!, {r4, pc} ; case 4 _0202F364: mov r0, #4 str r0, [r4, #4] mov r0, #1 strb r0, [r4, #8] ldmia sp!, {r4, pc} _0202F378: mov r0, #3 str r0, [r4, #4] mov r0, #1 strb r0, [r4, #8] ldmia sp!, {r4, pc} _0202F38C: add r0, r4, #0xc bl sub_0202613C mov r0, #0 str r0, [r4, #4] strb r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end sub_0202F334 arm_func_start ShowDBox ShowDBox: ; 0x0202F3A4 stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0202F3E0 _0202F3C0: ; jump table b _0202F3E0 ; case 0 b _0202F3D4 ; case 1 b _0202F3D4 ; case 2 ldmia sp!, {r4, pc} ; case 3 ldmia sp!, {r4, pc} ; case 4 _0202F3D4: add r0, r4, #0xc bl sub_020261C4 ldmia sp!, {r4, pc} _0202F3E0: add r0, r4, #0xc bl sub_0202613C mov r0, #0 str r0, [r4, #4] strb r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end ShowDBox arm_func_start sub_0202F3F8 sub_0202F3F8: ; 0x0202F3F8 stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0202F434 _0202F414: ; jump table b _0202F434 ; case 0 b _0202F428 ; case 1 b _0202F428 ; case 2 ldmia sp!, {r4, pc} ; case 3 ldmia sp!, {r4, pc} ; case 4 _0202F428: add r0, r4, #0xc bl sub_020261B4 ldmia sp!, {r4, pc} _0202F434: add r0, r4, #0xc bl sub_0202613C mov r0, #0 str r0, [r4, #4] strb r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end sub_0202F3F8 arm_func_start sub_0202F44C sub_0202F44C: ; 0x0202F44C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 bl GetDialogBoxField0xC mov r1, r0 mov r0, r5 mov r2, r4 add r1, r1, #0x128 bl MemcpySimple ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202F44C arm_func_start sub_0202F474 sub_0202F474: ; 0x0202F474 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strb r4, [r0, #0xa] ldmia sp!, {r4, pc} arm_func_end sub_0202F474 arm_func_start sub_0202F488 sub_0202F488: ; 0x0202F488 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #4] cmp r0, #4 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _0202F4A4: ; jump table b _0202F4B8 ; case 0 b _0202F4E4 ; case 1 b _0202F504 ; case 2 b _0202F568 ; case 3 b _0202F57C ; case 4 _0202F4B8: add r0, r4, #0xc bl sub_020261D4 cmp r0, #0 moveq r0, #0 streqb r0, [r4, #8] ldmeqia sp!, {r3, r4, r5, pc} mov r0, #1 str r0, [r4, #4] strb r0, [r4, #8] sub r0, r0, #2 str r0, [r5, #0xb8] _0202F4E4: mov r0, #1 strb r0, [r4, #8] ldrsb r0, [r5, #0x10] bl sub_0202810C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #2 str r0, [r4, #4] _0202F504: add r0, r4, #0xc bl sub_02026204 cmp r0, #0x10 moveq r0, #3 streq r0, [r4, #4] moveq r0, #1 streqb r0, [r4, #8] ldmeqia sp!, {r3, r4, r5, pc} ldrb r5, [r4, #8] add r0, r4, #0xc bl sub_020261E4 strb r0, [r4, #8] cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #8] cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #9] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r4, #0x128 bl sub_02048240 mov r0, #0 strb r0, [r4, #9] ldmia sp!, {r3, r4, r5, pc} _0202F568: mov r0, #4 str r0, [r4, #4] mov r0, #1 strb r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} _0202F57C: ldrsb r0, [r5, #0x10] bl sub_0202812C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r4, #0xc bl sub_0202613C mov r0, #0 str r0, [r4, #4] strb r0, [r4, #8] sub r0, r0, #6 str r0, [r5, #0xb8] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202F488 arm_func_start CreatePortraitBox CreatePortraitBox: ; 0x0202F5AC stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r7, r0 mov r4, r1 mov r0, #0x380 mov r1, #8 mov r6, r2 bl MemAlloc ldr r1, _0202F648 ; =_0209AF3C mov r5, r0 add ip, sp, #0 ldmia r1, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r0, _0202F64C ; =sub_0202F70C cmp r6, #0 str r0, [sp] mvnne r0, #3 mvneq r0, #6 strb r0, [sp, #9] str r5, [sp, #0xc] strb r7, [sp, #8] add r0, sp, #0 strb r6, [r5, #0x2a] mov r1, #3 bl sub_02027648 strb r0, [r5] mov r1, #0 add r0, r5, #8 str r1, [r5, #4] bl InitPortraitBox add r0, r5, #0x18 bl InitPortraitBox str r4, [r5, #0x2c] mov r0, #0 strb r0, [r5, #0x28] strb r0, [r5, #0x29] ldrsb r0, [r5] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0202F648: .word _0209AF3C _0202F64C: .word sub_0202F70C arm_func_end CreatePortraitBox arm_func_start FreePortraitBox FreePortraitBox: ; 0x0202F650 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end FreePortraitBox arm_func_start sub_0202F66C sub_0202F66C: ; 0x0202F66C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #4] sub r0, r0, #1 cmp r0, #1 movls r0, #1 movhi r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202F66C arm_func_start ShowPortraitBox ShowPortraitBox: ; 0x0202F690 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #2 cmpne r0, #3 movne r0, #1 strne r0, [r4, #4] cmp r5, #0 addne ip, r4, #0x18 ldmneia r5, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} bne _0202F6D0 add r0, r4, #0x18 bl InitPortraitBox _0202F6D0: mov r0, #1 strb r0, [r4, #0x28] ldmia sp!, {r3, r4, r5, pc} arm_func_end ShowPortraitBox arm_func_start HidePortraitBox HidePortraitBox: ; 0x0202F6DC stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 mov r0, #0 strb r0, [r4, #0x28] add r0, r4, #0x18 bl InitPortraitBox ldr r0, [r4, #4] cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x29] ldmia sp!, {r4, pc} arm_func_end HidePortraitBox arm_func_start sub_0202F70C sub_0202F70C: ; 0x0202F70C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #4] cmp r0, #4 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _0202F728: ; jump table b _0202F73C ; case 0 b _0202F760 ; case 1 b _0202F778 ; case 2 b _0202F86C ; case 3 b _0202F894 ; case 4 _0202F73C: ldrb r0, [r4, #0x28] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #0 mov r0, #1 strb r1, [r4, #0x28] str r0, [r4, #4] sub r0, r0, #2 str r0, [r5, #0xb8] _0202F760: ldrsb r0, [r5, #0x10] bl sub_0202811C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #2 str r0, [r4, #4] _0202F778: mov r0, #0 strb r0, [r4, #0x28] add r0, r4, #0x18 add ip, r4, #8 ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldrb r0, [r4, #0x29] cmp r0, #0 bne _0202F86C mov r0, ip bl IsValidPortrait cmp r0, #0 beq _0202F854 add r0, r4, #8 add r1, r4, #0x30 bl LoadPortrait cmp r0, #0 beq _0202F824 ldr r2, [r4, #0x2c] ldrsb r0, [r5, #0x10] add r1, r4, #0x30 mov r2, r2, lsl #4 bl sub_02027040 ldrsb r0, [r5, #0x10] ldr r2, [r4, #0x2c] add r1, r4, #0x60 bl sub_02026E3C ldrb r0, [r4, #0x16] strb r0, [r5, #0x11] ldrb r0, [r4, #0x2a] cmp r0, #0 ldrsb r0, [r4] beq _0202F808 mvn r1, #3 bl sub_02028080 b _0202F810 _0202F808: mvn r1, #6 bl sub_02028080 _0202F810: ldrsb r0, [r5, #0x10] add r1, r4, #0xc ldmia r1, {r1, r2} bl sub_02028770 b _0202F85C _0202F824: ldrsb r0, [r5, #0x10] bl sub_0202836C ldrsb r0, [r5, #0x10] bl sub_02027B1C ldrsb r0, [r4] mov r1, #0 bl sub_02028080 add r1, r4, #0xc ldrsb r0, [r5, #0x10] ldmia r1, {r1, r2} bl sub_02028770 b _0202F85C _0202F854: mov r0, #1 strb r0, [r4, #0x29] _0202F85C: mov r0, #3 str r0, [r4, #4] sub r0, r0, #4 str r0, [r5, #0xb8] _0202F86C: ldrb r0, [r4, #0x28] cmp r0, #0 movne r0, #2 strne r0, [r4, #4] ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x29] cmp r0, #0 movne r0, #4 strne r0, [r4, #4] ldmia sp!, {r3, r4, r5, pc} _0202F894: ldrsb r0, [r5, #0x10] bl sub_0202812C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r4, #8 bl InitPortraitBox mov r0, #0 strb r0, [r4, #0x29] str r0, [r4, #4] sub r0, r0, #6 str r0, [r5, #0xb8] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202F70C arm_func_start sub_0202F8C4 sub_0202F8C4: ; 0x0202F8C4 stmdb sp!, {r4, lr} mov r4, r1 bl sub_0202F9DC str r4, [r0, #4] ldrsb r0, [r0] ldmia sp!, {r4, pc} arm_func_end sub_0202F8C4 arm_func_start sub_0202F8DC sub_0202F8DC: ; 0x0202F8DC stmdb sp!, {r3, r4, r5, lr} mov r4, r2 mov r5, r1 bl sub_0202F9DC str r4, [r0, #0x14] str r5, [r0, #8] ldrsb r0, [r0] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202F8DC arm_func_start sub_0202F8FC sub_0202F8FC: ; 0x0202F8FC stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_0202F8FC arm_func_start sub_0202F918 sub_0202F918: ; 0x0202F918 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC mov r0, r4 bl sub_0202836C mov r0, r4 bl sub_02027B1C mov r0, r4 bl sub_0202F954 mov r0, r4 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_0202F918 arm_func_start sub_0202F954 sub_0202F954: ; 0x0202F954 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r1, [r0, #0x10] cmp r1, #6 addls pc, pc, r1, lsl #2 b _0202F9AC _0202F96C: ; jump table b _0202F9AC ; case 0 b _0202F988 ; case 1 b _0202F994 ; case 2 b _0202F9A0 ; case 3 ldmia sp!, {r3, pc} ; case 4 ldmia sp!, {r3, pc} ; case 5 ldmia sp!, {r3, pc} ; case 6 _0202F988: mov r1, #5 str r1, [r0, #0x10] ldmia sp!, {r3, pc} _0202F994: mov r1, #3 str r1, [r0, #0x10] ldmia sp!, {r3, pc} _0202F9A0: mov r1, #4 str r1, [r0, #0x10] ldmia sp!, {r3, pc} _0202F9AC: mov r1, #0 str r1, [r0, #0x10] ldmia sp!, {r3, pc} arm_func_end sub_0202F954 arm_func_start sub_0202F9B8 sub_0202F9B8: ; 0x0202F9B8 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r1, [r0, #0x10] cmp r1, #3 moveq r1, #2 streq r1, [r0, #0x10] moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202F9B8 arm_func_start sub_0202F9DC sub_0202F9DC: ; 0x0202F9DC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 mov r0, #0x18 mov r1, #8 bl MemAlloc mov r4, r0 cmp r5, #0 ldreq r0, _0202FA54 ; =_0209AF4C add ip, sp, #0 ldmeqia r0, {r0, r1, r2, r3} ldmneia r5, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r1, _0202FA58 ; =sub_0202FA5C add r0, sp, #0 str r1, [sp] str r4, [sp, #0xc] mov r1, #3 bl sub_02027648 strb r0, [r4] mov r0, #0 str r0, [r4, #4] str r0, [r4, #8] str r0, [r4, #0x14] str r0, [r4, #0x10] ldr r1, _0202FA58 ; =sub_0202FA5C mov r0, r4 str r1, [r4, #0xc] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0202FA54: .word _0209AF4C _0202FA58: .word sub_0202FA5C arm_func_end sub_0202F9DC arm_func_start sub_0202FA5C sub_0202FA5C: ; 0x0202FA5C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0xc] add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldr r0, [r4, #0x10] cmp r0, #6 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _0202FA84: ; jump table b _0202FAA0 ; case 0 b _0202FAB0 ; case 1 b _0202FAC8 ; case 2 b _0202FB04 ; case 3 b _0202FB50 ; case 4 b _0202FB68 ; case 5 b _0202FB88 ; case 6 _0202FAA0: mvn r0, #0 str r0, [r5, #0xb8] mov r0, #1 str r0, [r4, #0x10] _0202FAB0: ldrsb r0, [r5, #0x10] bl sub_0202810C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #2 str r0, [r4, #0x10] _0202FAC8: ldr r2, [r4, #8] cmp r2, #0 beq _0202FAE4 ldrsb r0, [r5, #0x10] ldr r1, [r4, #0x14] blx r2 b _0202FAF8 _0202FAE4: ldr r1, [r4, #4] cmp r1, #0 beq _0202FAF8 ldrsb r0, [r5, #0x10] blx r1 _0202FAF8: mov r0, #3 str r0, [r4, #0x10] ldmia sp!, {r3, r4, r5, pc} _0202FB04: ldrb r0, [r5, #8] cmp r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldrh r0, [sp] tst r0, #2 ldrnesb r2, [r5, #9] mvnne r1, #1 cmpne r2, r1 subne r0, r1, #3 cmpne r2, r0 subne r0, r1, #6 cmpne r2, r0 subne r0, r1, #7 cmpne r2, r0 movne r0, #4 strne r0, [r4, #0x10] ldr r0, [r4, #0x10] cmp r0, #4 ldmneia sp!, {r3, r4, r5, pc} _0202FB50: ldrsb r0, [r5, #0x10] bl sub_0202836C ldrsb r0, [r5, #0x10] bl sub_02027B1C mov r0, #5 str r0, [r4, #0x10] _0202FB68: ldrsb r0, [r5, #0x10] bl sub_0202812C cmp r0, #0 movne r0, #6 strne r0, [r4, #0x10] subne r0, r0, #0xc strne r0, [r5, #0xb8] ldmia sp!, {r3, r4, r5, pc} _0202FB88: mvn r0, #4 str r0, [r5, #0xb8] mov r0, #7 str r0, [r4, #0x10] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0202FA5C arm_func_start sub_0202FB9C sub_0202FB9C: ; 0x0202FB9C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x10] cmp r0, #7 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0202FB9C arm_func_start sub_0202FBBC sub_0202FBBC: ; 0x0202FBBC stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x64 mov r7, r0 mov r6, r1 mov r0, #0x1b4 mov r1, #8 mov r5, r2 mov r8, r3 bl MemAlloc mov r4, r0 str r8, [r4, #0xa4] add r0, sp, #0x14 str r8, [sp, #0x24] str r0, [sp] ldr r2, _0202FD2C ; =_0209AF6C ldr r3, _0202FD30 ; =0x0000C402 add r0, r4, #0xac mov r1, #0x100 bl PreprocessString add r0, r4, #0xac bl sub_020265A8 mov ip, r0 cmp r7, #0 str ip, [r4, #0xa8] addne lr, sp, #4 ldmneia r7, {r0, r1, r2, r3} stmneia lr, {r0, r1, r2, r3} ldrne r0, _0202FD34 ; =sub_0202FD8C strne r0, [sp, #4] bne _0202FC48 ldr r0, _0202FD38 ; =_0209AF5C add r7, sp, #4 ldmia r0, {r0, r1, r2, r3} stmia r7, {r0, r1, r2, r3} orr r6, r6, #0x300000 _0202FC48: ldrb r0, [sp, #0xa] str r4, [sp, #0x10] cmp r0, #0 addeq r1, ip, #7 moveq r0, r1, asr #2 addeq r0, r1, r0, lsr #29 moveq r0, r0, asr #3 streqb r0, [sp, #0xa] ldrb r0, [sp, #0xb] cmp r0, #0 moveq r0, #2 streqb r0, [sp, #0xb] tst r6, #0x200000 ldrneb r1, [sp, #8] ldrneb r0, [sp, #0xa] subne r0, r1, r0 strneb r0, [sp, #8] tst r6, #0x100000 ldrneb r1, [sp, #9] ldrneb r0, [sp, #0xb] subne r0, r1, r0 strneb r0, [sp, #9] ldrb r1, [sp, #0xa] ldr r0, [r4, #0xa8] rsb r0, r0, r1, lsl #3 add r0, r0, r0, lsr #31 mov r0, r0, asr #1 str r0, [r4, #0x1b0] ldrb r0, [sp, #0xb] mov r0, r0, lsl #3 sub r0, r0, #0xc add r0, r0, r0, lsr #31 mov r0, r0, asr #1 str r0, [r4, #0x1ac] ldr r0, [r4, #0x1b0] cmp r0, #0 movlt r0, #0 strlt r0, [r4, #0x1b0] ldr r0, _0202FD34 ; =sub_0202FD8C cmp r5, #0 stmia r4, {r0, r6} beq _0202FD10 add r7, r4, #8 mov r6, #9 _0202FCF8: ldmia r5!, {r0, r1, r2, r3} stmia r7!, {r0, r1, r2, r3} subs r6, r6, #1 bne _0202FCF8 ldmia r5, {r0, r1} stmia r7, {r0, r1} _0202FD10: mov r2, #0 add r0, sp, #4 mov r1, #3 str r2, [r4, #0xa0] bl sub_02027648 add sp, sp, #0x64 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0202FD2C: .word _0209AF6C _0202FD30: .word 0x0000C402 _0202FD34: .word sub_0202FD8C _0202FD38: .word _0209AF5C arm_func_end sub_0202FBBC arm_func_start sub_0202FD3C sub_0202FD3C: ; 0x0202FD3C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #3 str r1, [r0, #0xa0] ldmia sp!, {r3, pc} arm_func_end sub_0202FD3C arm_func_start sub_0202FD50 sub_0202FD50: ; 0x0202FD50 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_0202FD50 arm_func_start sub_0202FD6C sub_0202FD6C: ; 0x0202FD6C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0xa0] cmp r0, #2 cmpne r0, #4 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202FD6C arm_func_start sub_0202FD8C sub_0202FD8C: ; 0x0202FD8C stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #0xa0] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, r5, r6, pc} _0202FDA8: ; jump table b _0202FDB8 ; case 0 b _0202FDD0 ; case 1 ldmia sp!, {r4, r5, r6, pc} ; case 2 b _0202FE0C ; case 3 _0202FDB8: ldrsb r0, [r5, #0x10] bl sub_0202810C cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #1 str r0, [r4, #0xa0] _0202FDD0: ldrsb r0, [r5, #0x10] ldr r6, [r5, #0xc] bl sub_02027B1C ldrsb r0, [r5, #0x10] ldr r1, [r6, #0x1b0] ldr r2, [r6, #0x1ac] add r3, r6, #0xac bl sub_02026214 ldrsb r0, [r5, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r4, #0xa0] sub r0, r0, #3 str r0, [r5, #0xb8] ldmia sp!, {r4, r5, r6, pc} _0202FE0C: ldrsb r0, [r5, #0x10] bl sub_0202812C cmp r0, #0 mvnne r0, #4 strne r0, [r5, #0xb8] movne r0, #4 strne r0, [r4, #0xa0] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0202FD8C arm_func_start sub_0202FE2C sub_0202FE2C: ; 0x0202FE2C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r7, r0 mov r5, r1 mov r0, #0xa8 mov r1, #8 mov r4, r2 mov r6, r3 bl MemAlloc mov ip, r0 cmp r7, #0 ldreq r0, _0202FECC ; =_0209AF78 strh r6, [ip, #0xa4] add lr, sp, #0 ldmeqia r0, {r0, r1, r2, r3} stmeqia lr, {r0, r1, r2, r3} ldmneia r7, {r0, r1, r2, r3} stmneia lr, {r0, r1, r2, r3} ldrne r0, _0202FED0 ; =sub_0202FF10 str ip, [sp, #0xc] strne r0, [sp] ldr r0, _0202FED0 ; =sub_0202FF10 cmp r4, #0 stmia ip, {r0, r5} beq _0202FEB0 add lr, ip, #8 mov r5, #9 _0202FE98: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0202FE98 ldmia r4, {r0, r1} stmia lr, {r0, r1} _0202FEB0: mov r2, #0 add r0, sp, #0 mov r1, #3 str r2, [ip, #0xa0] bl sub_02027648 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0202FECC: .word _0209AF78 _0202FED0: .word sub_0202FF10 arm_func_end sub_0202FE2C arm_func_start sub_0202FED4 sub_0202FED4: ; 0x0202FED4 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_0202FED4 arm_func_start sub_0202FEF0 sub_0202FEF0: ; 0x0202FEF0 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0xa0] cmp r0, #2 cmpne r0, #4 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0202FEF0 arm_func_start sub_0202FF10 sub_0202FF10: ; 0x0202FF10 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #0xa0] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, r5, r6, pc} _0202FF2C: ; jump table b _0202FF3C ; case 0 b _0202FF54 ; case 1 ldmia sp!, {r4, r5, r6, pc} ; case 2 b _0202FF90 ; case 3 _0202FF3C: ldrsb r0, [r5, #0x10] bl sub_0202810C cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #1 str r0, [r4, #0xa0] _0202FF54: ldrsb r0, [r5, #0x10] ldr r6, [r5, #0xc] bl sub_02027B1C ldrsb r0, [r5, #0x10] ldrh r3, [r6, #0xa4] mov r1, #4 mov r2, #2 bl sub_02026268 ldrsb r0, [r5, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r4, #0xa0] sub r0, r0, #3 str r0, [r5, #0xb8] ldmia sp!, {r4, r5, r6, pc} _0202FF90: ldrsb r0, [r5, #0x10] bl sub_0202812C cmp r0, #0 mvnne r0, #4 strne r0, [r5, #0xb8] movne r0, #4 strne r0, [r4, #0xa0] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0202FF10 arm_func_start sub_0202FFB0 sub_0202FFB0: ; 0x0202FFB0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 mov r0, #0x650 mov r1, #8 bl MemAlloc mov r1, #0x650 mov r4, r0 bl MemZero cmp r5, #0 ldreq r0, _0203003C ; =_0209AF94 add ip, sp, #0 ldmeqia r0, {r0, r1, r2, r3} stmeqia ip, {r0, r1, r2, r3} ldmneia r5, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} ldrne r0, _02030040 ; =sub_02030274 str r4, [sp, #0xc] strne r0, [sp] add r0, sp, #0 mov r1, #3 bl sub_02027648 strb r0, [r4] ldrsb r1, [r4] add r0, r4, #8 bl sub_02025E84 mov r1, #0 str r1, [r4, #4] add r0, r4, #0x600 strh r1, [r0, #0x44] strh r1, [r0, #0x46] strh r1, [r0, #0x48] ldrsb r0, [r4] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203003C: .word _0209AF94 _02030040: .word sub_02030274 arm_func_end sub_0202FFB0 arm_func_start sub_02030044 sub_02030044: ; 0x02030044 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 ldrsb r0, [r4] bl sub_0202836C add r0, r4, #8 bl sub_0202613C mov r0, r5 bl GetDialogBoxField0xC bl MemFree mov r0, r5 bl sub_02028194 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02030044 arm_func_start sub_0203007C sub_0203007C: ; 0x0203007C add r0, r0, #0x600 ldrsh r1, [r0, #0x44] add r1, r1, #1 strh r1, [r0, #0x44] ldrsh r1, [r0, #0x44] cmp r1, #4 movge r1, #0 strgeh r1, [r0, #0x44] bx lr arm_func_end sub_0203007C arm_func_start sub_020300A0 sub_020300A0: ; 0x020300A0 add r0, r0, #0x600 ldrsh r0, [r0, #0x44] add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #4 movge r0, #0 bx lr arm_func_end sub_020300A0 arm_func_start sub_020300C0 sub_020300C0: ; 0x020300C0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 add ip, sp, #0 str r1, [sp] mov r1, ip add r0, r5, #0xc mov r4, r3 str r2, [sp, #4] bl sub_02020B60 ldr r1, _02030108 ; =0x0000C402 mov r2, r4 add r0, r5, #0xc bl sub_02020BC4 add r0, r5, #0xc bl AnalyzeText add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02030108: .word 0x0000C402 arm_func_end sub_020300C0 arm_func_start sub_0203010C sub_0203010C: ; 0x0203010C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r6, r2 mov r5, r3 bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #2 cmpne r0, #3 beq _02030144 add r0, r4, #8 bl sub_0202613C mov r0, #1 str r0, [r4, #4] _02030144: mov r0, r4 bl sub_020300A0 add r1, r4, #0x600 ldrsh r2, [r1, #0x46] cmp r2, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} str r5, [sp] ldrsh r1, [r1, #0x44] add r0, r4, #0x29 add r2, r0, #0x100 mov r0, #0x148 smlabb r0, r1, r0, r2 mov r2, r6 mov r3, r7 mov r1, #0x140 bl PreprocessString add r1, r4, #0x600 add r0, r4, #0x29 ldrsh r1, [r1, #0x44] add r2, r0, #0x100 mov r0, #0x148 smlabb r2, r1, r0, r2 mov r1, r7 add r0, r4, #8 bl sub_02026194 add r1, r4, #0x600 ldrsh r0, [r1, #0x44] mov r2, #0x148 mov r6, #0 smlabb r0, r0, r2, r4 add r0, r0, #0x200 strh r7, [r0, #0x6a] ldrsh r5, [r1, #0x44] ldrb r3, [sp, #0x18] mov r0, r4 smlabb r5, r5, r2, r4 str r6, [r5, #0x124] ldrsh r1, [r1, #0x44] smlabb r1, r1, r2, r4 strb r3, [r1, #0x128] bl sub_0203007C mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0203010C arm_func_start sub_020301F4 sub_020301F4: ; 0x020301F4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #4] cmp r0, #3 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_020301F4 arm_func_start sub_02030214 sub_02030214: ; 0x02030214 stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 ldr r0, [r4, #4] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02030260 _02030230: ; jump table b _02030260 ; case 0 b _02030248 ; case 1 b _02030254 ; case 2 b _02030254 ; case 3 ldmia sp!, {r4, pc} ; case 4 ldmia sp!, {r4, pc} ; case 5 _02030248: mov r0, #5 str r0, [r4, #4] ldmia sp!, {r4, pc} _02030254: mov r0, #4 str r0, [r4, #4] ldmia sp!, {r4, pc} _02030260: add r0, r4, #8 bl sub_0202613C mov r0, #0 str r0, [r4, #4] ldmia sp!, {r4, pc} arm_func_end sub_02030214 arm_func_start sub_02030274 sub_02030274: ; 0x02030274 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #4] cmp r0, #5 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02030290: ; jump table b _020302A8 ; case 0 b _020302C8 ; case 1 b _020302E0 ; case 2 b _02030438 ; case 3 b _0203056C ; case 4 b _02030588 ; case 5 _020302A8: add r0, r4, #8 bl sub_020261D4 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, #1 str r0, [r4, #4] sub r0, r0, #2 str r0, [r5, #0xb8] _020302C8: ldrsb r0, [r5, #0x10] bl sub_0202810C cmp r0, #0 movne r0, #2 strne r0, [r4, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _020302E0: ldrsb r0, [r5, #0x10] bl GetDialogBoxField0xC add r0, r0, #0x600 ldrsh r1, [r0, #0x46] ldrsh r0, [r0, #0x44] cmp r1, r0 movne r0, #1 moveq r0, #0 tst r0, #0xff ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldrsb r4, [r5, #0x10] mov r0, r4 bl GetDialogBoxField0xC mov r6, r0 add r3, r6, #0x600 ldr r1, [r6, #0x20] ldrsh r2, [r3, #0x4a] mov r1, r1, lsl #0x10 ldr r5, [r6, #0x10] mov r8, r1, asr #0x10 mla r1, r2, r8, r5 ldr r2, [r6, #0xc] mov r7, r1, lsl #0x10 mov r2, r2, lsl #0x10 ldrsh r3, [r3, #0x46] mov r1, #0x148 add r5, r6, #0x124 smulbb r3, r3, r1 ldr r1, [r5, r3] add r5, r5, r3 cmp r1, #1 mov r1, r2, asr #0x10 mov r7, r7, asr #0x10 bne _02030388 mov r5, #0x17 mov r0, r4 add r2, r7, r8 mov r1, #0 mov r3, #0xe0 str r5, [sp] bl sub_02025D50 b _020303C4 _02030388: mov r2, r7 add r3, r5, #5 bl sub_020300C0 ldrb r0, [r5, #4] cmp r0, #0 beq _020303C4 cmp r7, r8 blt _020303C4 mov r5, #0x17 mov r0, r4 sub r2, r7, #2 mov r1, #0 mov r3, #0xe0 str r5, [sp] bl sub_02025D50 _020303C4: mov r0, r4 bl sub_02027AF0 add r0, r6, #0x600 ldrsh r1, [r0, #0x46] strh r1, [r0, #0x48] ldrsh r1, [r0, #0x46] add r1, r1, #1 strh r1, [r0, #0x46] ldrsh r1, [r0, #0x46] cmp r1, #4 movge r1, #0 strgeh r1, [r0, #0x46] add r0, r6, #0x600 ldrsh r1, [r0, #0x4a] cmp r1, #3 movge r1, #3 strge r1, [r6, #4] movge r1, #0 strgeh r1, [r0, #0x4c] ldmgeia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r1, [r6, #0xa0] ldr r0, [r6, #0x10] add r2, r1, r8 mov r1, r8 sub r0, r2, r0 bl __divsi3 add r1, r6, #0x600 strh r0, [r1, #0x4a] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02030438: ldrsb r5, [r5, #0x10] mov r0, r5 bl GetDialogBoxField0xC mov r7, r0 add r3, r7, #0x600 ldr r1, [r7, #0x20] ldrsh r2, [r3, #0x4a] mov r1, r1, lsl #0x10 ldr r6, [r7, #0x10] mov r8, r1, asr #0x10 ldr r1, [r7, #0xc] mla r6, r2, r8, r6 ldrsh sb, [r3, #0x4c] mov r2, r1, lsl #0x10 ldrsh ip, [r3, #0x48] mov r1, #0x148 add r3, sb, r6 mov r3, r3, lsl #0x10 smulbb r6, ip, r1 add sb, r7, #0x124 ldr r1, [sb, r6] add r6, sb, r6 cmp r1, #1 mov r1, r2, asr #0x10 mov sb, r3, asr #0x10 bne _020304C0 mov r6, #0x17 mov r0, r5 add r2, sb, r8 mov r1, #0 mov r3, #0xe0 str r6, [sp] bl sub_02025D50 b _020304FC _020304C0: mov r2, sb add r3, r6, #5 bl sub_020300C0 ldrb r0, [r6, #4] cmp r0, #0 beq _020304FC cmp sb, r8 blt _020304FC mov r6, #0x17 mov r0, r5 sub r2, sb, #2 mov r1, #0 mov r3, #0xe0 str r6, [sp] bl sub_02025D50 _020304FC: add r0, r7, #0x600 ldrsh r0, [r0, #0x4c] add r0, r0, r8 cmp r0, #1 mov r0, r5 bne _02030528 bl sub_01FF9128 add r0, r7, #0x600 ldrsh r1, [r0, #0x4c] sub r1, r1, #1 b _02030538 _02030528: bl sub_01FF929C add r0, r7, #0x600 ldrsh r1, [r0, #0x4c] sub r1, r1, #2 _02030538: strh r1, [r0, #0x4c] add r0, r7, #0x600 ldrsh r2, [r0, #0x4c] rsb r1, r8, #0 cmp r2, r1 movle r1, #3 strleh r1, [r0, #0x4a] movle r0, #1 movgt r0, #0 cmp r0, #0 movne r0, #2 strne r0, [r4, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0203056C: ldrsb r0, [r5, #0x10] bl sub_0202836C ldrsb r0, [r5, #0x10] bl sub_02027B1C mov r0, #5 str r0, [r4, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02030588: ldrsb r0, [r5, #0x10] bl sub_0202812C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r1, #0 add r0, r4, #8 str r1, [r4, #4] bl sub_0202613C mvn r0, #5 str r0, [r5, #0xb8] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02030274 arm_func_start sub_020305B4 sub_020305B4: ; 0x020305B4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r3 ldr ip, [sp, #0x14] ldr r3, [sp, #0x10] str ip, [sp] bl sub_0203061C add r1, r0, #0x100 str r4, [r0, #0x1a4] ldrsb r0, [r1, #0xa0] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_020305B4 arm_func_start sub_020305E4 sub_020305E4: ; 0x020305E4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r3 ldr ip, [sp, #0x18] ldr r3, [sp, #0x14] str ip, [sp] bl sub_0203061C ldr r2, [sp, #0x10] str r4, [r0, #0x1a8] add r1, r0, #0x100 str r2, [r0, #0x1ac] ldrsb r0, [r1, #0xa0] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_020305E4 arm_func_start sub_0203061C sub_0203061C: ; 0x0203061C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x28 mov r8, r0 mov r7, r1 mov r0, #0x1c8 mov r1, #8 mov r6, r2 mov r5, r3 bl MemAlloc mov r4, r0 mov r0, #0 str r0, [r4, #0x1a4] str r0, [r4, #0x1a8] str r0, [r4, #0x1ac] str r0, [r4, #0x1b8] mov r0, #1 cmp r8, #0 strb r0, [r4, #0x1c4] addne ip, sp, #0x18 ldmneia r8, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} ldrne r0, _02030774 ; =sub_02030AE8 strne r0, [sp, #0x18] bne _02030690 ldr r0, _02030778 ; =_0209AFA4 add r8, sp, #0x18 ldmia r0, {r0, r1, r2, r3} stmia r8, {r0, r1, r2, r3} orr r7, r7, #0x300000 _02030690: tst r7, #0x200000 ldrneb r1, [sp, #0x1c] ldrneb r0, [sp, #0x1e] str r4, [sp, #0x24] subne r0, r1, r0 strneb r0, [sp, #0x1c] tst r7, #0x100000 ldrneb r1, [sp, #0x1d] ldrneb r0, [sp, #0x1f] subne r0, r1, r0 strneb r0, [sp, #0x1d] ldr r0, _02030774 ; =sub_02030AE8 cmp r6, #0 str r0, [r4] str r7, [r4, #0x104] beq _020306F0 add ip, r4, #0x108 mov r8, #9 _020306D8: ldmia r6!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r8, r8, #1 bne _020306D8 ldmia r6, {r0, r1} stmia ip, {r0, r1} _020306F0: mov r2, #0 str r2, [r4, #0x1bc] strb r2, [r4, #0x1c0] strb r2, [r4, #0x1c1] strb r2, [r4, #0x1c2] str r2, [r4, #0x1b0] str r2, [r4, #0x1b4] add r0, sp, #0x18 mov r1, #3 strb r2, [r4, #0x1c3] bl sub_02027648 add r1, sp, #8 strb r0, [r4, #0x1a0] bl sub_02028284 mov r1, #0x100 strh r1, [r4, #0xfc] tst r7, #0x8000 moveq r5, #0 streq r5, [sp, #0x40] strh r1, [r4, #0xfe] add r0, r4, #0x100 strh r1, [r0] strh r1, [r0, #2] ldr r6, [sp, #0x40] add r3, sp, #8 mov r1, r7 add r0, r4, #4 add r2, r4, #0x108 stmia sp, {r5, r6} bl sub_02031AF8 mov r0, r4 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02030774: .word sub_02030AE8 _02030778: .word _0209AFA4 arm_func_end sub_0203061C arm_func_start sub_0203077C sub_0203077C: ; 0x0203077C stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strb r4, [r0, #0x1c3] ldr r1, [r0, #0x104] tst r4, #0xff orrne r1, r1, #0x400000 biceq r1, r1, #0x400000 str r1, [r0, #0x104] ldmia sp!, {r4, pc} arm_func_end sub_0203077C arm_func_start sub_020307A4 sub_020307A4: ; 0x020307A4 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strb r4, [r0, #0x1c4] ldmia sp!, {r4, pc} arm_func_end sub_020307A4 arm_func_start sub_020307B8 sub_020307B8: ; 0x020307B8 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #1 str r1, [r0, #0x1bc] mov r1, #0 strb r1, [r0, #0x1c0] strb r1, [r0, #0x1c1] ldr r1, [r0, #0x104] bic r1, r1, #0x800000 str r1, [r0, #0x104] add r0, r0, #4 bl sub_02032984 ldmia sp!, {r3, pc} arm_func_end sub_020307B8 arm_func_start sub_020307EC sub_020307EC: ; 0x020307EC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 mov r0, r5 bl GetDialogBoxField0xC ldr r0, [r0, #0x1bc] cmp r0, #7 moveq r0, #1 movne r0, #0 tst r0, #0xff beq _02030828 mov r0, r5 bl sub_020307B8 ldmia sp!, {r3, r4, r5, pc} _02030828: ldr r0, [r4, #0x1bc] cmp r0, #6 moveq r0, #0 streq r0, [r4, #0x1bc] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020307EC arm_func_start sub_0203083C sub_0203083C: ; 0x0203083C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #1 strb r1, [r0, #0x1c2] ldmia sp!, {r3, pc} arm_func_end sub_0203083C arm_func_start sub_02030850 sub_02030850: ; 0x02030850 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl sub_0202836C mov r0, r5 bl sub_020288DC mov r0, r5 bl sub_0202812C mov r0, r5 bl GetDialogBoxField0xC mov r4, r0 mov r0, r5 bl sub_02028194 mov r0, r4 bl MemFree ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02030850 arm_func_start sub_0203088C sub_0203088C: ; 0x0203088C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC mov r1, #5 str r1, [r0, #0x1bc] ldmia sp!, {r3, pc} arm_func_end sub_0203088C arm_func_start sub_020308A0 sub_020308A0: ; 0x020308A0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 mov r0, r5 bl sub_02028194 mov r0, r4 bl MemFree ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020308A0 arm_func_start sub_020308C4 sub_020308C4: ; 0x020308C4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1bc] cmp r0, #6 cmpne r0, #7 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020308C4 arm_func_start sub_020308E4 sub_020308E4: ; 0x020308E4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1c0] cmp r1, #0 ldrneb r0, [r0, #0x1c1] cmpne r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020308E4 arm_func_start sub_02030908 sub_02030908: ; 0x02030908 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1c0] cmp r1, #0 beq _02030938 ldrb r1, [r0, #0x1c1] cmp r1, #0 mvnne r0, #0 ldmneia sp!, {r3, pc} add r0, r0, #4 bl sub_02032558 ldmia sp!, {r3, pc} _02030938: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02030908 arm_func_start sub_02030940 sub_02030940: ; 0x02030940 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1c0] cmp r1, #0 beq _02030970 ldrb r1, [r0, #0x1c1] cmp r1, #0 mvnne r0, #0 ldmneia sp!, {r3, pc} add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} _02030970: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02030940 arm_func_start sub_02030978 sub_02030978: ; 0x02030978 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bl GetDialogBoxField0xC mov r1, r0 strh r5, [r1, #0xfc] strh r4, [r1, #0xfe] mov r0, r7 mov r2, r6 mov r3, r5 add r1, r1, #4 str r4, [sp] bl sub_020289B8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02030978 arm_func_start sub_020309B8 sub_020309B8: ; 0x020309B8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 bl GetDialogBoxField0xC mov r1, r0 strh r6, [r1, #0xfc] ldr r4, [sp, #0x28] strh r5, [r1, #0xfe] add ip, r1, #0x100 ldr lr, [sp, #0x2c] strh r4, [ip] strh lr, [ip, #2] str r5, [sp] mov r0, r8 add r1, r1, #4 mov r2, r7 mov r3, r6 stmib sp, {r4, lr} bl sub_02028A08 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end sub_020309B8 arm_func_start sub_02030A18 sub_02030A18: ; 0x02030A18 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032568 ldmia sp!, {r3, pc} arm_func_end sub_02030A18 arm_func_start sub_02030A2C sub_02030A2C: ; 0x02030A2C stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strh r4, [r0, #0x20] ldmia sp!, {r4, pc} arm_func_end sub_02030A2C arm_func_start sub_02030A40 sub_02030A40: ; 0x02030A40 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x1b0] ldmia sp!, {r3, pc} arm_func_end sub_02030A40 arm_func_start sub_02030A50 sub_02030A50: ; 0x02030A50 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0xc0] ldmia sp!, {r4, pc} arm_func_end sub_02030A50 arm_func_start sub_02030A64 sub_02030A64: ; 0x02030A64 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0xc0] ldmia sp!, {r3, pc} arm_func_end sub_02030A64 arm_func_start sub_02030A74 sub_02030A74: ; 0x02030A74 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_02031C74 ldmia sp!, {r4, pc} arm_func_end sub_02030A74 arm_func_start sub_02030A90 sub_02030A90: ; 0x02030A90 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_02031C84 ldmia sp!, {r4, pc} arm_func_end sub_02030A90 arm_func_start sub_02030AAC sub_02030AAC: ; 0x02030AAC stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC strb r4, [r0, #0xf8] ldmia sp!, {r4, pc} arm_func_end sub_02030AAC arm_func_start sub_02030AC0 sub_02030AC0: ; 0x02030AC0 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1b4] ldmia sp!, {r4, pc} arm_func_end sub_02030AC0 arm_func_start sub_02030AD4 sub_02030AD4: ; 0x02030AD4 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x1b8] ldmia sp!, {r4, pc} arm_func_end sub_02030AD4 arm_func_start sub_02030AE8 sub_02030AE8: ; 0x02030AE8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r7, r0 ldr r4, [r7, #0xc] mov r5, #0 str r5, [r4, #0x1b0] ldr r0, [r4, #0x1bc] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02030E88 _02030B10: ; jump table b _02030B28 ; case 0 b _02030B40 ; case 1 b _02030B48 ; case 2 b _02030BA0 ; case 3 b _02030E0C ; case 4 b _02030E5C ; case 5 _02030B28: ldrsb r0, [r7, #0x10] bl sub_0202810C cmp r0, #0 beq _02030E88 mov r0, #2 str r0, [r4, #0x1bc] _02030B40: mov r0, #2 str r0, [r4, #0x1bc] _02030B48: mov r0, r7 bl sub_02030E94 ldr r0, [r4, #0x104] tst r0, #0x800000 beq _02030B80 mov r0, #7 str r0, [r4, #0x1bc] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1c0] strb r0, [r4, #0x1c1] sub r0, r0, #4 str r0, [r7, #0xb8] b _02030E88 _02030B80: mov r1, #3 mov r0, #0 str r1, [r4, #0x1bc] strb r0, [r4, #0x1c0] strb r0, [r4, #0x1c1] sub r0, r0, #1 str r0, [r7, #0xb8] b _02030E88 _02030BA0: ldr r2, [r4, #0x1b4] ldrb r6, [r4, #0x1c2] cmp r2, #0 beq _02030BF0 add r0, sp, #0x1c add r1, sp, #0x18 blx r2 ldrsb r0, [r7, #0x10] bl sub_02028324 cmp r0, #0 moveq r3, #1 movne r3, r5 ldr ip, [sp, #0x1c] add r2, sp, #0x20 add r0, r4, #4 add r1, r4, #0x1b0 and r3, r3, #0xff str ip, [sp] bl sub_02031E80 b _02030C18 _02030BF0: ldrsb r0, [r7, #0x10] bl sub_02028324 cmp r0, #0 moveq r3, #1 movne r3, r5 add r2, sp, #0x20 add r0, r4, #4 add r1, r4, #0x1b0 and r3, r3, #0xff bl sub_02031C98 _02030C18: orr r6, r6, r0 mov r0, #0 strb r0, [r4, #0x1c2] ldr r2, [r4, #0x1b4] cmp r2, #0 beq _02030CAC add r0, sp, #0x14 add r1, sp, #0x10 blx r2 ldr r0, [r4, #0x1b0] cmp r0, #0 bne _02030CAC ldr r0, [r4, #0x104] tst r0, #1 beq _02030CAC mov r3, #0 str r3, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, [sp, #0x14] ldr r2, _02030E90 ; =0x00000408 str r0, [sp, #8] ldr ip, [sp, #0x10] add r1, sp, #0x20 add r0, r4, #4 str ip, [sp, #0xc] bl sub_020322B0 movs r1, r0 bmi _02030CAC ldr r2, [sp, #0x14] add r0, r4, #4 bl sub_020326F8 ldr r0, [r4, #0x1b0] mov r6, #1 orr r0, r0, #1 mov r5, r6 str r0, [r4, #0x1b0] _02030CAC: ldrb r0, [r4, #0xf8] cmp r0, #0 bne _02030CC4 ldr r0, [r4, #0x1b0] cmp r0, #0 bne _02030CD8 _02030CC4: add r2, sp, #0x20 add r0, r4, #4 add r1, r4, #0x1b0 bl sub_02033758 orr r6, r6, r0 _02030CD8: add r0, r4, #4 bl sub_02032578 mov r2, r0 ldr r1, [r4, #0x1b0] add r0, r4, #4 mov r3, #0 bl sub_020323F8 orrs r0, r6, r0 beq _02030D04 mov r0, r7 bl sub_02030E94 _02030D04: ldr r0, [r4, #0x1b0] tst r0, #1 beq _02030D74 add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _02030DB0 ldr r0, [r4, #0x104] tst r0, #0x80000000 bne _02030D38 add r0, r4, #4 mov r1, #0 bl sub_02032960 _02030D38: mov r1, #1 mov r0, #0 strb r1, [r4, #0x1c0] strb r0, [r4, #0x1c1] sub r0, r0, #4 str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x1bc] ldr r2, [r4, #0x1b8] cmp r2, #0 beq _02030DB0 ldrsb r0, [r7, #0x10] mov r1, r5 blx r2 b _02030DB0 _02030D74: tst r0, #2 beq _02030DB0 ldrb r0, [r4, #0x1c4] cmp r0, #0 beq _02030D94 add r0, r4, #4 mov r1, #1 bl sub_02032960 _02030D94: mov r0, #1 strb r0, [r4, #0x1c0] strb r0, [r4, #0x1c1] sub r0, r0, #6 str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x1bc] _02030DB0: ldrsh r0, [r4, #0xfe] cmp r0, #0x100 str r0, [sp] bne _02030DD8 ldrsb r0, [r7, #0x10] ldrsh r3, [r4, #0xfc] ldr r2, [r7, #0xbc] add r1, r4, #4 bl sub_020289B8 b _02030E00 _02030DD8: add r0, r4, #0x100 ldrsh r2, [r0] add r1, r4, #4 str r2, [sp, #4] ldrsh r0, [r0, #2] str r0, [sp, #8] ldrsb r0, [r7, #0x10] ldrsh r3, [r4, #0xfc] ldr r2, [r7, #0xbc] bl sub_02028A08 _02030E00: ldr r0, [r4, #0x1bc] cmp r0, #4 bne _02030E88 _02030E0C: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _02030E88 ldrb r0, [r4, #0x1c1] cmp r0, #0 beq _02030E34 ldrb r0, [r4, #0x1c3] cmp r0, #0 beq _02030E54 _02030E34: ldr r0, [r4, #0x104] tst r0, #0x400000 beq _02030E54 mov r0, r7 bl sub_02030E94 mov r0, #7 str r0, [r4, #0x1bc] b _02030E88 _02030E54: mov r0, #5 str r0, [r4, #0x1bc] _02030E5C: ldrsb r0, [r7, #0x10] bl sub_0202812C cmp r0, #0 beq _02030E88 ldrb r0, [r4, #0x1c1] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r7, #0xb8] mov r0, #6 str r0, [r4, #0x1bc] _02030E88: add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02030E90: .word 0x00000408 arm_func_end sub_02030AE8 arm_func_start sub_02030E94 sub_02030E94: ; 0x02030E94 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrsb r0, [r5, #0x10] ldr r4, [r5, #0xc] bl sub_02027B1C ldr r2, [r4, #0x1a8] cmp r2, #0 beq _02030EC4 ldrsb r0, [r5, #0x10] ldr r1, [r4, #0x1ac] blx r2 b _02030ED8 _02030EC4: ldr r1, [r4, #0x1a4] cmp r1, #0 beq _02030ED8 ldrsb r0, [r5, #0x10] blx r1 _02030ED8: ldrsb r1, [r5, #0x10] add r0, r4, #4 bl sub_0202A03C ldrsb r0, [r5, #0x10] bl sub_02027AF0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02030E94 arm_func_start sub_02030EF0 sub_02030EF0: ; 0x02030EF0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 mov r0, #1 mov r2, #0 strb r0, [r4, #0x1c0] mov r0, r5 sub r1, r2, #4 strb r2, [r4, #0x1c1] bl sub_0202830C mov r0, #4 str r0, [r4, #0x1bc] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02030EF0 arm_func_start sub_02030F28 sub_02030F28: ; 0x02030F28 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_02032960 ldmia sp!, {r4, pc} arm_func_end sub_02030F28 arm_func_start sub_02030F44 sub_02030F44: ; 0x02030F44 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x28 sub sp, sp, #0x400 mov r6, r0 mov sl, r1 mov r0, #0x1b4 mov r1, #8 mov sb, r2 mov r8, r3 bl MemAlloc mov r5, r0 cmp r6, #0 ldreq r0, _02031114 ; =_0209AFB4 add r4, sp, #0x18 ldmeqia r0, {r0, r1, r2, r3} stmeqia r4, {r0, r1, r2, r3} ldmneia r6, {r0, r1, r2, r3} stmneia r4, {r0, r1, r2, r3} ldrne r0, _02031118 ; =sub_0203123C orr sl, sl, #0x8000 strne r0, [sp, #0x18] ldrb r0, [sp, #0x1e] orreq sl, sl, #0x300000 str r5, [sp, #0x24] cmp r0, #0 bne _02031000 mov r7, #0 mov r6, r7 add r4, sp, #0x28 b _02030FE0 _02030FBC: mov r0, r4 mov r1, r6 blx r8 cmp r0, #0 beq _02030FDC bl sub_020265A8 cmp r0, r7 movgt r7, r0 _02030FDC: add r6, r6, #1 _02030FE0: ldr r0, [sp, #0x448] cmp r6, r0 blt _02030FBC mov r0, sl mov r1, sb add r2, r7, #0x10 bl sub_02031A5C strb r0, [sp, #0x1e] _02031000: ldrb r0, [sp, #0x1f] add r2, sp, #0x400 add r3, sp, #0x400 cmp r0, #0 add r2, r2, #0x48 bne _02031030 add r3, r3, #0x4c mov r0, sl mov r1, sb bl sub_02031AA4 strb r0, [sp, #0x1f] b _02031040 _02031030: add r3, r3, #0x4c mov r0, sl mov r1, sb bl sub_02031AA4 _02031040: tst sl, #0x200000 ldrneb r1, [sp, #0x1c] ldrneb r0, [sp, #0x1e] subne r0, r1, r0 strneb r0, [sp, #0x1c] tst sl, #0x100000 ldrneb r1, [sp, #0x1d] ldrneb r0, [sp, #0x1f] subne r0, r1, r0 strneb r0, [sp, #0x1d] ldr r0, _02031118 ; =sub_0203123C cmp sb, #0 str r0, [r5] str sl, [r5, #0xfc] beq _0203109C add r6, r5, #0x100 mov r4, #9 _02031084: ldmia sb!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r4, r4, #1 bne _02031084 ldmia sb, {r0, r1} stmia r6, {r0, r1} _0203109C: mov r2, #0 str r2, [r5, #0x18c] str r2, [r5, #0x190] str r8, [r5, #0x198] str r2, [r5, #0x19c] strb r2, [r5, #0x1a0] strb r2, [r5, #0x1a1] str r2, [r5, #0x1a4] str r2, [r5, #0x1a8] str r2, [r5, #0x1ac] add r0, sp, #0x18 mov r1, #3 strb r2, [r5, #0x1b0] bl sub_02027648 add r1, sp, #8 mov r6, r0 bl sub_02028284 ldr r0, [sp, #0x448] add r3, sp, #8 str r0, [sp] ldr r4, [sp, #0x44c] mov r1, sl add r0, r5, #4 add r2, r5, #0x100 str r4, [sp, #4] bl sub_02031AF8 mov r0, r6 add sp, sp, #0x28 add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02031114: .word _0209AFB4 _02031118: .word sub_0203123C arm_func_end sub_02030F44 arm_func_start sub_0203111C sub_0203111C: ; 0x0203111C stmdb sp!, {r4, lr} bl GetDialogBoxField0xC mov r4, r0 mov r0, #1 str r0, [r4, #0x19c] mov r0, #0 strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] ldr r0, [r4, #0xfc] bic r0, r0, #0x800000 str r0, [r4, #0xfc] bl sub_0203C984 add r0, r4, #4 bl sub_02032984 ldmia sp!, {r4, pc} arm_func_end sub_0203111C arm_func_start sub_0203115C sub_0203115C: ; 0x0203115C stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r1, [r0, #0x19c] cmp r1, #3 moveq r1, #2 streq r1, [r0, #0x19c] bl sub_0203C984 ldmia sp!, {r3, pc} arm_func_end sub_0203115C arm_func_start sub_0203117C sub_0203117C: ; 0x0203117C stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_0203271C ldmia sp!, {r4, pc} arm_func_end sub_0203117C arm_func_start sub_02031198 sub_02031198: ; 0x02031198 stmdb sp!, {r4, lr} mov r4, r0 bl GetDialogBoxField0xC bl MemFree mov r0, r4 bl sub_02028194 ldmia sp!, {r4, pc} arm_func_end sub_02031198 arm_func_start sub_020311B4 sub_020311B4: ; 0x020311B4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x19c] cmp r0, #6 cmpne r0, #7 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020311B4 arm_func_start sub_020311D4 sub_020311D4: ; 0x020311D4 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} arm_func_end sub_020311D4 arm_func_start sub_020311E8 sub_020311E8: ; 0x020311E8 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldrb r1, [r0, #0x1a0] cmp r1, #0 beq _02031218 ldrb r1, [r0, #0x1a1] cmp r1, #0 mvnne r0, #0 ldmneia sp!, {r3, pc} add r0, r0, #4 bl sub_02032578 ldmia sp!, {r3, pc} _02031218: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020311E8 arm_func_start sub_02031220 sub_02031220: ; 0x02031220 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC mov r1, r4 add r0, r0, #4 bl sub_02032684 ldmia sp!, {r4, pc} arm_func_end sub_02031220 arm_func_start sub_0203123C sub_0203123C: ; 0x0203123C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r7, r0 ldrsb r0, [r7, #0x10] ldr r4, [r7, #0xc] bl sub_02028354 cmp r0, #3 moveq r1, #1 movne r1, #0 ldr r0, [r4, #0x19c] and r5, r1, #0xff cmp r0, #9 addls pc, pc, r0, lsl #2 b _02031714 _02031274: ; jump table b _0203129C ; case 0 b _020312B4 ; case 1 b _020312F0 ; case 2 b _02031350 ; case 3 b _020316A4 ; case 4 b _020316E8 ; case 5 b _02031714 ; case 6 b _02031714 ; case 7 b _020315D4 ; case 8 b _0203163C ; case 9 _0203129C: ldrsb r0, [r7, #0x10] bl sub_0202810C cmp r0, #0 beq _02031714 mov r0, #2 str r0, [r4, #0x19c] _020312B4: ldr r0, [r4, #0x19c] cmp r0, #1 bne _020312F0 ldrb r0, [r4, #0x1b0] cmp r0, #0 beq _020312D4 mov r0, r7 bl sub_0203175C _020312D4: ldrb r0, [r7, #8] bl sub_020287C4 ldrsb r0, [r7, #0x10] bl sub_02027AF0 mov r0, #2 str r0, [r4, #0x19c] b _02031714 _020312F0: mov r0, r7 bl sub_0203175C ldr r0, [r4, #0xfc] tst r0, #0x800000 beq _0203132C mov r0, #7 str r0, [r4, #0x19c] mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] sub r0, r0, #4 str r0, [r7, #0xb8] b _02031714 _0203132C: mov r1, #3 mov r0, #0 str r1, [r4, #0x19c] strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] str r0, [r4, #0x1a4] sub r0, r0, #1 str r0, [r7, #0xb8] b _02031714 _02031350: add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 mov r3, #1 bl sub_02031C98 ldr r1, [sp, #8] mov r6, r0 cmp r1, #0 bne _020313DC ldr r0, [r4, #0xfc] tst r0, #1 beq _020313DC mov r3, #0 ldr r2, _02031758 ; =0x00000408 add r1, sp, #0xc str r3, [sp] mov ip, #1 add r0, r4, #4 str ip, [sp, #4] bl sub_02032160 movs r1, r0 bmi _020313C4 add r0, r4, #4 bl sub_02032684 ldr r0, [sp, #8] mov r6, #1 orr r0, r0, #1 str r0, [sp, #8] b _020313F0 _020313C4: add r1, sp, #8 add r2, sp, #0xc add r0, r4, #4 bl sub_02033758 orr r6, r6, r0 b _020313F0 _020313DC: cmp r1, #4 cmpne r1, #8 cmpne r1, #0xc beq _020313F0 bl sub_0203C984 _020313F0: cmp r6, #0 beq _02031400 mov r0, r7 bl sub_0203175C _02031400: add r0, r4, #4 bl sub_02032578 mov r2, r0 ldr r1, [sp, #8] add r0, r4, #4 mov r3, #0 bl sub_020323F8 ldr r1, [sp, #8] tst r1, #1 beq _0203148C add r0, r4, #4 bl IsMenuOptionActive cmp r0, #0 beq _0203147C ldr r0, [r4, #0xfc] tst r0, #0x80000000 bne _02031450 add r0, r4, #4 mov r1, #0 bl sub_02032960 _02031450: mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x19c] b _020315C4 _0203147C: add r0, r4, #4 mov r1, #2 bl sub_02032960 b _020315C4 _0203148C: tst r1, #2 beq _020314C8 add r0, r4, #4 mov r1, #1 bl sub_02032960 mov r0, #1 strb r0, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #6 str r1, [r4, #0x1a4] str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x19c] b _020315C4 _020314C8: tst r1, #0x1000 beq _02031518 ldr r0, [r4, #0xfc] tst r0, #0x2000 beq _02031518 add r0, r4, #4 mov r1, #0 bl sub_02032960 mov r2, #1 mov r0, #0 strb r2, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] strb r2, [r4, #0x1b1] str r0, [r7, #0xb8] mov r0, #8 str r0, [r4, #0x19c] b _020315C4 _02031518: tst r1, #0x2000 beq _02031568 ldr r0, [r4, #0xfc] tst r0, #0x4000 beq _02031568 add r0, r4, #4 mov r1, #0 bl sub_02032960 mov r2, #1 mov r0, #0 strb r2, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] strb r2, [r4, #0x1b1] str r0, [r7, #0xb8] mov r0, #9 str r0, [r4, #0x19c] b _020315C4 _02031568: tst r1, #0x200 ldrne r0, [r4, #0x18c] cmpne r0, #0 add r0, r4, #4 beq _02031590 mov r1, #5 bl sub_02032960 ldr r0, [r4, #0x18c] blx r0 b _020315C4 _02031590: bl sub_0203250C cmp r0, #0 beq _020315C4 mov r1, #1 mov r0, #0 strb r1, [r4, #0x1a0] strb r0, [r4, #0x1a1] ldr r1, [sp, #8] sub r0, r0, #4 str r1, [r4, #0x1a4] str r0, [r7, #0xb8] mov r0, #4 str r0, [r4, #0x19c] _020315C4: ldrsb r0, [r7, #0x10] add r1, r4, #4 bl sub_02028948 b _02031714 _020315D4: add r0, r4, #4 bl sub_02032070 cmp r0, #0 beq _020315F0 mov r0, r7 bl sub_0203175C b _02031714 _020315F0: ldrb r0, [r4, #0x1b1] cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x1b1] movne r0, #1 strneb r0, [r4, #0x1b0] ldr r3, [r4, #0x174] cmp r3, #0 beq _02031714 mov r0, #0 mov r1, r0 mov r2, r0 blx r3 ldrb r0, [r4, #0x1b0] cmp r0, #0 beq _02031714 mov r0, r7 bl sub_0203175C b _02031714 _0203163C: add r0, r4, #4 bl sub_02032070 cmp r0, #0 beq _02031658 mov r0, r7 bl sub_0203175C b _02031714 _02031658: ldrb r0, [r4, #0x1b1] cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x1b1] movne r0, #1 strneb r0, [r4, #0x1b0] ldr r3, [r4, #0x17c] cmp r3, #0 beq _02031714 mov r0, #0 mov r1, r0 mov r2, r0 blx r3 ldrb r0, [r4, #0x1b0] cmp r0, #0 beq _02031714 mov r0, r7 bl sub_0203175C b _02031714 _020316A4: add r0, r4, #4 bl sub_02032070 cmp r0, #0 bne _02031714 ldrb r0, [r4, #0x1a1] cmp r0, #0 bne _020316E0 ldr r0, [r4, #0xfc] tst r0, #0x400000 beq _020316E0 mov r0, r7 bl sub_0203175C mov r0, #7 str r0, [r4, #0x19c] b _02031714 _020316E0: mov r0, #5 str r0, [r4, #0x19c] _020316E8: ldrsb r0, [r7, #0x10] bl sub_0202812C cmp r0, #0 beq _02031714 ldrb r0, [r4, #0x1a1] cmp r0, #0 mvnne r0, #4 mvneq r0, #3 str r0, [r7, #0xb8] mov r0, #6 str r0, [r4, #0x19c] _02031714: mov r0, #0 strb r0, [r4, #0x1b0] cmp r5, #0 beq _02031740 ldr r0, [r4, #0x19c] cmp r0, #1 bne _02031740 mov r0, r7 bl sub_0203175C mov r0, #1 strb r0, [r4, #0x1b0] _02031740: ldr r0, [r4, #0x190] cmp r0, #0 beq _02031750 blx r0 _02031750: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02031758: .word 0x00000408 arm_func_end sub_0203123C arm_func_start sub_0203175C sub_0203175C: ; 0x0203175C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc sub sp, sp, #0x400 mov sl, r0 ldr r4, [sl, #0xc] add r0, r4, #4 bl sub_02032568 mov r5, r0 add r0, r4, #4 bl sub_02032594 ldr r1, [r4, #0xfc] mov r6, r0 tst r1, #0x200 ldrne r0, [r4, #0x160] addne sb, r0, r5 ldrsb r0, [sl, #0x10] moveq sb, #0 bl sub_02027B1C cmp r6, #0 mov r7, #0 ble _02031868 mov fp, #0x42 b _02031860 _020317B8: ldr r2, [r4, #0x198] add r0, sp, #0xc mov r1, r5 blx r2 mov r8, r0 mov r1, #0 cmp sb, #0 beq _020317E8 ldrb r0, [sb] add sb, sb, #1 tst r0, #2 movne r1, #1 _020317E8: cmp r8, #0 beq _02031858 cmp r1, #0 mov r1, r7 add r0, r4, #4 beq _02031830 bl sub_020328D8 str fp, [sp] mov r2, r0 ldr r0, [r4, #0x1a8] mov r3, r8 str r0, [sp, #4] ldr r0, [r4, #0x1ac] mov r1, #0xd str r0, [sp, #8] ldrsb r0, [sl, #0x10] bl sub_02026428 b _02031858 _02031830: bl sub_020328D8 mov r2, r0 ldr r0, [r4, #0x1a8] mov r3, r8 str r0, [sp] ldr r0, [r4, #0x1ac] mov r1, #0xd str r0, [sp, #4] ldrsb r0, [sl, #0x10] bl sub_02026358 _02031858: add r7, r7, #1 add r5, r5, #1 _02031860: cmp r7, r6 blt _020317B8 _02031868: ldrsb r1, [sl, #0x10] add r0, r4, #4 bl sub_0202A03C ldrsb r0, [sl, #0x10] bl sub_02027AF0 add sp, sp, #0xc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0203175C arm_func_start sub_02031888 sub_02031888: ; 0x02031888 stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x18c] ldmia sp!, {r4, pc} arm_func_end sub_02031888 arm_func_start sub_0203189C sub_0203189C: ; 0x0203189C stmdb sp!, {r4, lr} mov r4, r1 bl GetDialogBoxField0xC str r4, [r0, #0x190] ldmia sp!, {r4, pc} arm_func_end sub_0203189C arm_func_start sub_020318B0 sub_020318B0: ; 0x020318B0 stmdb sp!, {r3, lr} bl GetDialogBoxField0xC ldr r0, [r0, #0x19c] cmp r0, #3 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_020318B0 arm_func_start sub_020318D0 sub_020318D0: ; 0x020318D0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetDialogBoxField0xC mov r4, r0 mov r0, #1 mov r2, #0 strb r0, [r4, #0x1a0] mov r0, r5 sub r1, r2, #4 strb r2, [r4, #0x1a1] bl sub_0202830C mov r0, #4 str r0, [r4, #0x19c] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020318D0 arm_func_start sub_02031908 sub_02031908: ; 0x02031908 ldr ip, _02031910 ; =KeyWaitInit bx ip .align 2, 0 _02031910: .word KeyWaitInit arm_func_end sub_02031908 arm_func_start sub_02031914 sub_02031914: ; 0x02031914 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r5, #0 mov r6, r1 mov r4, r0 add r1, sp, #4 mov r0, r5 bl GetHeldButtons add r1, sp, #2 mov r0, r5 bl GetPressedButtons ldrh r1, [sp, #2] tst r1, #1 orrne r5, r5, #1 tst r1, #2 orrne r5, r5, #2 tst r1, #0x800 orrne r5, r5, #0x1000 tst r1, #0x400 orrne r5, r5, #0x2000 tst r1, #0x200 beq _0203197C ldrh r0, [sp, #4] tst r0, #0x100 orrne r5, r5, #0x800 orr r5, r5, #0x400 _0203197C: tst r1, #8 orrne r5, r5, #0x100 tst r1, #4 orrne r5, r5, #0x200 cmp r5, #0 mov r0, #0 beq _020319A0 bl sub_020063A0 b _020319F8 _020319A0: add r1, sp, #0 bl sub_020063F4 tst r6, #8 beq _020319D4 ldrh r0, [sp, #4] tst r0, #0x100 beq _020319D4 ldrh r0, [sp] tst r0, #0x40 orrne r5, r5, #0x4000 tst r0, #0x80 orrne r5, r5, #0x8000 b _020319E8 _020319D4: ldrh r0, [sp] tst r0, #0x40 orrne r5, r5, #0x10 tst r0, #0x80 orrne r5, r5, #0x20 _020319E8: tst r0, #0x20 orrne r5, r5, #0x40 tst r0, #0x10 orrne r5, r5, #0x80 _020319F8: ldrh r0, [sp, #4] tst r0, #0x200 orrne r5, r5, #4 tst r0, #0x100 orrne r5, r5, #8 cmp r4, #0 beq _02031A30 bl sub_0204AE60 cmp r0, #0 mov r0, r4 beq _02031A2C bl GetReleasedStylus b _02031A30 _02031A2C: bl sub_02006BFC _02031A30: mov r0, r5 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02031914 arm_func_start sub_02031A3C sub_02031A3C: ; 0x02031A3C stmdb sp!, {r3, lr} tst r0, #0x10 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r0, r1 bl sub_02017CCC mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_02031A3C arm_func_start sub_02031A5C sub_02031A5C: ; 0x02031A5C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl sub_02033440 mov r4, r0 mov r0, r7 mov r1, r6 bl sub_020336FC cmp r4, r5 movgt r5, r4 cmp r0, r5 movgt r5, r0 add r1, r5, #7 mov r0, r1, asr #2 add r0, r1, r0, lsr #29 mov r0, r0, asr #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02031A5C arm_func_start sub_02031AA4 sub_02031AA4: ; 0x02031AA4 tst r0, #0x40000 bne _02031ABC ldr ip, [r2] ldr r2, [r3] cmp r2, ip strgt ip, [r3] _02031ABC: tst r0, #0x400 ldrne ip, [r1, #4] ldr r2, [r3] moveq ip, #0xe mul r3, r2, ip tst r0, #0x800 ldrne r1, [r1, #0xc] addne r3, r3, r1 tst r0, #0x1000 addne r3, r3, #0x10 add r1, r3, #7 mov r0, r1, asr #2 add r0, r1, r0, lsr #29 mov r0, r0, asr #3 bx lr arm_func_end sub_02031AA4 arm_func_start sub_02031AF8 sub_02031AF8: ; 0x02031AF8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r1 mov r6, r2 tst sb, #0x400 ldrne r4, [r6, #4] mov r7, r0 mov r5, r3 moveq r4, #0xe mov r8, r6 str sb, [r7, #0x10] add lr, r7, #0x14 mov ip, #9 _02031B28: ldmia r8!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02031B28 ldmia r8, {r0, r1} stmia lr, {r0, r1} ldmia r5, {r0, r1, r2, r3} stmia r7, {r0, r1, r2, r3} mov r0, #0 str r0, [r7, #0xbc] str r0, [r7, #0xc8] tst sb, #0x200 ldrne r0, [r6, #0x60] ldr r1, [sp, #0x20] str r0, [r7, #0xac] str r1, [r7, #0xd0] ldr r0, [r7, #0x10] tst r0, #0x8000 beq _02031B90 ldr r0, [sp, #0x24] cmp r0, #0 movle r0, #1 str r0, [r7, #0xc4] mov r0, #1 str r0, [r7, #0xcc] b _02031B98 _02031B90: str r1, [r7, #0xc0] str r1, [r7, #0xc4] _02031B98: mov r0, r7 bl sub_02032754 ldr r0, [r7, #0xcc] mov r3, #0 cmp r0, #0xa ldrge r0, [r7, #0x10] orrge r0, r0, #0x10000 strge r0, [r7, #0x10] str r3, [r7, #0xb0] ldr r0, [r7, #0x10] tst r0, #0x800 ldrne r3, [r6, #0xc] str r3, [r7, #0xb4] ldmia r5, {r1, r2} ldr r0, [r7, #0x10] sub r1, r2, r1 sub r1, r1, r3 mov r3, #0 tst r0, #0x1000 subne r1, r1, #0x10 strb r3, [r7, #0xd4] cmp r4, #0 ble _02031C2C ldr r0, [r7, #0x10] tst r0, #0x80000 bne _02031C20 ldr r0, [r7, #0xc4] ldr r2, [r7, #0xb4] mul r0, r4, r0 sub r0, r1, r0 add r0, r0, r0, lsr #31 adds r0, r2, r0, asr #1 str r0, [r7, #0xb4] strmi r3, [r7, #0xb4] _02031C20: mov r0, r4, lsl #8 str r0, [r7, #0xb8] b _02031C34 _02031C2C: mov r0, r7 bl sub_02032894 _02031C34: ldr r0, [r7, #0x10] tst r0, #0x20 beq _02031C4C ldr r1, [r6] mov r0, r7 bl sub_02032684 _02031C4C: bl sub_02031908 mov r1, #0 strb r1, [r7, #0xf4] str r1, [r7, #0xd8] sub r0, r1, #1 str r0, [r7, #0xdc] mov r0, r7 str r1, [r7, #0xe0] bl sub_02032984 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02031AF8 arm_func_start sub_02031C74 sub_02031C74: ; 0x02031C74 ldr r2, [r0, #0x10] orr r1, r2, r1 str r1, [r0, #0x10] bx lr arm_func_end sub_02031C74 arm_func_start sub_02031C84 sub_02031C84: ; 0x02031C84 ldr r2, [r0, #0x10] mvn r1, r1 and r1, r2, r1 str r1, [r0, #0x10] bx lr arm_func_end sub_02031C84 arm_func_start sub_02031C98 sub_02031C98: ; 0x02031C98 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x24 mov r8, r0 mov r7, r1 mov r6, r2 cmp r3, #0 ldr r4, [r8, #0xc8] ldr r5, [r8, #0xbc] add r0, sp, #0 beq _02031DD4 ldr r1, [r8, #0x10] bl sub_02031914 ldr r1, [r8, #0x10] mov sb, r0 tst r1, #0x8000 beq _02031D18 tst r1, #0x20000 beq _02031D18 tst r1, #0x2000000 bne _02031D18 tst sb, #8 beq _02031D18 tst sb, #0x10 beq _02031D04 mov r0, r8 bl sub_0203280C b _02031D44 _02031D04: tst sb, #0x20 beq _02031D44 mov r0, r8 bl sub_020327E4 b _02031D44 _02031D18: tst r1, #0x1000000 bne _02031D44 tst sb, #0x10 beq _02031D34 mov r0, r8 bl sub_0203261C b _02031D44 _02031D34: tst sb, #0x20 beq _02031D44 mov r0, r8 bl sub_020325AC _02031D44: ldr r0, [r8, #0x10] tst r0, #0x8000 beq _02031DBC tst r0, #0x20000 bne _02031DBC tst r0, #0x2000000 bne _02031DBC tst r0, #0x10000 beq _02031D98 tst sb, #8 beq _02031D98 tst sb, #0x40 beq _02031D84 mov r0, r8 bl sub_02032864 b _02031DBC _02031D84: tst sb, #0x80 beq _02031DBC mov r0, r8 bl sub_0203282C b _02031DBC _02031D98: tst sb, #0x40 beq _02031DAC mov r0, r8 bl sub_0203280C b _02031DBC _02031DAC: tst sb, #0x80 beq _02031DBC mov r0, r8 bl sub_020327E4 _02031DBC: ldr r0, [r8, #0x10] tst r0, #1 biceq sb, sb, #1 tst r0, #2 biceq sb, sb, #2 b _02031DDC _02031DD4: mov sb, #0 bl sub_02006BFC _02031DDC: cmp r7, #0 strne sb, [r7] cmp r6, #0 beq _02031E0C add ip, sp, #0 mov r7, #2 _02031DF4: ldmia ip!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r7, r7, #1 bne _02031DF4 ldr r0, [ip] str r0, [r6] _02031E0C: ldr r0, [r8, #0xc8] cmp r4, r0 beq _02031E2C mov r0, r8 mov r1, #4 bl sub_02032960 mov r0, #1 b _02031E78 _02031E2C: ldr r0, [r8, #0xbc] cmp r5, r0 beq _02031E44 mov r0, r8 mov r1, #3 bl sub_02032960 _02031E44: ldr r0, [r8, #0xd8] cmp r0, #0 ble _02031E74 subs r0, r0, #1 str r0, [r8, #0xd8] bne _02031E74 mvn r0, #0 str r0, [r8, #0xdc] mov r0, #0 str r0, [r8, #0xe0] mov r0, #1 b _02031E78 _02031E74: mov r0, #0 _02031E78: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02031C98 arm_func_start sub_02031E80 sub_02031E80: ; 0x02031E80 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x24 mov r8, r0 mov r7, r1 mov r6, r2 cmp r3, #0 ldr r4, [r8, #0xc8] ldr r5, [r8, #0xbc] add r0, sp, #0 beq _02031FC4 ldr r1, [r8, #0x10] bl sub_02031914 ldr r1, [r8, #0x10] mov sb, r0 tst r1, #0x8000 beq _02031F00 tst r1, #0x20000 beq _02031F00 tst r1, #0x2000000 bne _02031F00 tst sb, #8 beq _02031F00 tst sb, #0x10 beq _02031EEC mov r0, r8 bl sub_0203280C b _02031F34 _02031EEC: tst sb, #0x20 beq _02031F34 mov r0, r8 bl sub_020327E4 b _02031F34 _02031F00: tst r1, #0x1000000 bne _02031F34 tst sb, #0x10 beq _02031F20 ldr r1, [sp, #0x40] mov r0, r8 bl sub_02032654 b _02031F34 _02031F20: tst sb, #0x20 beq _02031F34 ldr r1, [sp, #0x40] mov r0, r8 bl sub_020325E8 _02031F34: ldr r0, [r8, #0x10] tst r0, #0x8000 beq _02031FAC tst r0, #0x20000 bne _02031FAC tst r0, #0x2000000 bne _02031FAC tst r0, #0x10000 beq _02031F88 tst sb, #8 beq _02031F88 tst sb, #0x40 beq _02031F74 mov r0, r8 bl sub_02032864 b _02031FAC _02031F74: tst sb, #0x80 beq _02031FAC mov r0, r8 bl sub_0203282C b _02031FAC _02031F88: tst sb, #0x40 beq _02031F9C mov r0, r8 bl sub_0203280C b _02031FAC _02031F9C: tst sb, #0x80 beq _02031FAC mov r0, r8 bl sub_020327E4 _02031FAC: ldr r0, [r8, #0x10] tst r0, #1 biceq sb, sb, #1 tst r0, #2 biceq sb, sb, #2 b _02031FCC _02031FC4: mov sb, #0 bl sub_02006BFC _02031FCC: cmp r7, #0 strne sb, [r7] cmp r6, #0 beq _02031FFC add ip, sp, #0 mov r7, #2 _02031FE4: ldmia ip!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r7, r7, #1 bne _02031FE4 ldr r0, [ip] str r0, [r6] _02031FFC: ldr r0, [r8, #0xc8] cmp r4, r0 beq _0203201C mov r0, r8 mov r1, #4 bl sub_02032960 mov r0, #1 b _02032068 _0203201C: ldr r0, [r8, #0xbc] cmp r5, r0 beq _02032034 mov r0, r8 mov r1, #3 bl sub_02032960 _02032034: ldr r0, [r8, #0xd8] cmp r0, #0 ble _02032064 subs r0, r0, #1 str r0, [r8, #0xd8] bne _02032064 mvn r0, #0 str r0, [r8, #0xdc] mov r0, #0 str r0, [r8, #0xe0] mov r0, #1 b _02032068 _02032064: mov r0, #0 _02032068: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02031E80 arm_func_start sub_02032070 sub_02032070: ; 0x02032070 ldr r1, [r0, #0xd8] cmp r1, #0 ble _020320A0 subs r1, r1, #1 str r1, [r0, #0xd8] mvneq r1, #0 streq r1, [r0, #0xdc] moveq r1, #0 streq r1, [r0, #0xe0] beq _020320A0 mov r0, #1 bx lr _020320A0: mov r0, #0 bx lr arm_func_end sub_02032070 arm_func_start sub_020320A8 sub_020320A8: ; 0x020320A8 mov r2, #6 str r2, [r0, #0xd8] str r1, [r0, #0xdc] mov r1, #0 str r1, [r0, #0xe0] bx lr arm_func_end sub_020320A8 arm_func_start sub_020320C0 sub_020320C0: ; 0x020320C0 ldr r0, [r0, #0xdc] bx lr arm_func_end sub_020320C0 arm_func_start sub_020320C8 sub_020320C8: ; 0x020320C8 mov r2, #6 str r2, [r0, #0xd8] sub r2, r2, #7 str r1, [r0, #0xe0] str r2, [r0, #0xe8] str r2, [r0, #0xe4] str r2, [r0, #0xf0] str r2, [r0, #0xec] bx lr arm_func_end sub_020320C8 arm_func_start sub_020320EC sub_020320EC: ; 0x020320EC mov r2, #6 str r2, [r0, #0xd8] sub r3, r2, #7 str r3, [r0, #0xdc] mov r2, #0 str r2, [r0, #0xe0] cmp r1, #0 streq r3, [r0, #0xe8] streq r3, [r0, #0xe4] streq r3, [r0, #0xf0] streq r3, [r0, #0xec] bxeq lr ldr r3, [r1, #8] ldr r2, [r0, #8] sub r2, r3, r2 str r2, [r0, #0xec] ldr r3, [r1, #0xc] ldr r2, [r0, #8] sub r2, r3, r2 str r2, [r0, #0xf0] ldr r3, [r1] ldr r2, [r0] sub r2, r3, r2 str r2, [r0, #0xe4] ldr r2, [r1, #4] ldr r1, [r0] sub r1, r2, r1 str r1, [r0, #0xe8] bx lr arm_func_end sub_020320EC arm_func_start sub_02032160 sub_02032160: ; 0x02032160 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r8, r1 ldrh r1, [r8] mov r7, r2 mov sb, r0 tst r1, r7 beq _020322A4 cmp r3, #0 ldrge r0, [sb, #8] ldr r5, [sb, #0xc0] ldrlt r0, [sb, #0xc] ldr r1, [sp, #0x30] add r0, r0, r3 str r0, [sp, #8] cmp r1, #0 ldrgt r0, [sb, #8] mov r6, #0 ldrle r0, [sb, #0xc] add r4, sp, #0 add r0, r0, r1 str r0, [sp, #0xc] b _0203229C _020321BC: ldr r0, [sb, #0xb8] ldr r2, [sb, #0xb4] mul r1, r6, r0 mov r0, r1, asr #7 add r0, r1, r0, lsr #24 ldr r1, [sb] add r0, r2, r0, asr #8 add r0, r1, r0 str r0, [sp] ldr r0, [sb, #0xb8] add r1, r6, #1 mul r2, r1, r0 mov r0, r2, asr #7 ldr r1, [sb, #0xb4] add r0, r2, r0, lsr #24 ldr r2, [sb] add r0, r1, r0, asr #8 add r0, r2, r0 sub r3, r0, #2 mov r0, r8 mov r1, r7 mov r2, r4 str r3, [sp, #4] bl sub_02006C8C cmp r0, #0 beq _02032298 ldrb r0, [sp, #0x34] cmp r0, #0 beq _02032288 mov r0, #6 str r0, [sb, #0xd8] sub r0, r0, #7 str r0, [sb, #0xdc] mov r0, #0 str r0, [sb, #0xe0] ldr r1, [sp, #8] ldr r0, [sb, #8] sub r0, r1, r0 str r0, [sb, #0xec] ldr r1, [sp, #0xc] ldr r0, [sb, #8] sub r0, r1, r0 str r0, [sb, #0xf0] ldr r1, [sp] ldr r0, [sb] sub r0, r1, r0 str r0, [sb, #0xe4] ldr r1, [sp, #4] ldr r0, [sb] sub r0, r1, r0 str r0, [sb, #0xe8] _02032288: ldr r1, [sb, #0xc8] ldr r0, [sb, #0xc4] mla r0, r1, r0, r6 b _020322A8 _02032298: add r6, r6, #1 _0203229C: cmp r6, r5 blt _020321BC _020322A4: mvn r0, #0 _020322A8: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02032160 arm_func_start sub_020322B0 sub_020322B0: ; 0x020322B0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x10 mov sb, r1 ldrh r1, [sb] mov r8, r2 mov sl, r0 tst r1, r8 ldr r7, [sp, #0x38] beq _020323EC cmp r3, #0 ldrge r0, [sl, #8] ldr r1, [sp, #0x30] ldrlt r0, [sl, #0xc] cmp r1, #0 add r0, r0, r3 str r0, [sp, #8] ldrgt r0, [sl, #8] mov r5, #0 ldrle r0, [sl, #0xc] add r4, sp, #0 add r1, r0, r1 ldr r0, [sp, #0x3c] str r1, [sp, #0xc] mov r6, r0, lsl #8 b _020323E4 _02032314: mul r3, r5, r6 add r0, r5, #1 mul r2, r0, r6 mov r0, r3, asr #7 mov r1, r2, asr #7 ldr ip, [sl, #0xb4] add r0, r3, r0, lsr #24 ldr r3, [sl] add r0, ip, r0, asr #8 add r0, r3, r0 str r0, [sp] ldr r3, [sl, #0xb4] add r0, r2, r1, lsr #24 ldr r1, [sl] add r0, r3, r0, asr #8 add r0, r1, r0 sub r3, r0, #2 mov r0, sb mov r1, r8 mov r2, r4 str r3, [sp, #4] bl sub_02006C8C cmp r0, #0 beq _020323E0 ldrb r0, [sp, #0x34] cmp r0, #0 beq _020323D8 mov r0, #6 str r0, [sl, #0xd8] sub r0, r0, #7 str r0, [sl, #0xdc] mov r0, #0 str r0, [sl, #0xe0] ldr r1, [sp, #8] ldr r0, [sl, #8] sub r0, r1, r0 str r0, [sl, #0xec] ldr r1, [sp, #0xc] ldr r0, [sl, #8] sub r0, r1, r0 str r0, [sl, #0xf0] ldr r1, [sp] ldr r0, [sl] sub r0, r1, r0 str r0, [sl, #0xe4] ldr r1, [sp, #4] ldr r0, [sl] sub r0, r1, r0 str r0, [sl, #0xe8] _020323D8: mov r0, r5 b _020323F0 _020323E0: add r5, r5, #1 _020323E4: cmp r5, r7 blt _02032314 _020323EC: mvn r0, #0 _020323F0: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_020322B0 arm_func_start sub_020323F8 sub_020323F8: ; 0x020323F8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r4, r0 mov r6, r2 mov r5, r3 tst r7, #0x2000 mov r0, #0 beq _02032440 ldr r1, [r4, #0x10] tst r1, #0x40 ldrne r3, [r4, #0x78] cmpne r3, #0 beq _02032440 ldr r0, [r4, #0x7c] mov r1, r6 mov r2, r5 blx r3 mov r0, #1 _02032440: tst r7, #0x1000 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r4, #0x10] tst r1, #0x80 ldrne r3, [r4, #0x80] cmpne r3, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r4, #0x84] mov r1, r6 mov r2, r5 blx r3 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020323F8 arm_func_start IsMenuOptionActive IsMenuOptionActive: ; 0x02032474 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x10] tst r1, #1 beq _020324BC tst r1, #0x8000000 bne _020324BC tst r1, #0x200 beq _020324B4 bl sub_02032578 ldr r1, [r4, #0xac] ldrb r0, [r1, r0] tst r0, #1 bne _020324BC mov r0, #1 ldmia sp!, {r4, pc} _020324B4: mov r0, #1 ldmia sp!, {r4, pc} _020324BC: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end IsMenuOptionActive arm_func_start sub_020324C4 sub_020324C4: ; 0x020324C4 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x10] tst r1, #1 beq _02032504 tst r1, #0x200 beq _020324FC bl sub_02032578 ldr r1, [r4, #0xac] ldrb r0, [r1, r0] tst r0, #1 bne _02032504 mov r0, #1 ldmia sp!, {r4, pc} _020324FC: mov r0, #1 ldmia sp!, {r4, pc} _02032504: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_020324C4 arm_func_start sub_0203250C sub_0203250C: ; 0x0203250C ldr r3, [r0, #0x10] tst r3, #0x2000 beq _02032530 tst r1, #0x1000 beq _02032530 ldr r2, [r0, #0x88] cmp r2, #0 moveq r0, #1 bxeq lr _02032530: tst r3, #0x4000 beq _02032550 tst r1, #0x2000 beq _02032550 ldr r0, [r0, #0x90] cmp r0, #0 moveq r0, #1 bxeq lr _02032550: mov r0, #0 bx lr arm_func_end sub_0203250C arm_func_start sub_02032558 sub_02032558: ; 0x02032558 ldr r0, [r0, #0xbc] bx lr arm_func_end sub_02032558 arm_func_start sub_02032560 sub_02032560: ; 0x02032560 ldr r0, [r0, #0xc8] bx lr arm_func_end sub_02032560 arm_func_start sub_02032568 sub_02032568: ; 0x02032568 ldr r1, [r0, #0xc8] ldr r0, [r0, #0xc4] mul r0, r1, r0 bx lr arm_func_end sub_02032568 arm_func_start sub_02032578 sub_02032578: ; 0x02032578 ldr r2, [r0, #0xbc] ldr r1, [r0, #0xc8] ldr r0, [r0, #0xc4] mla r0, r1, r0, r2 bx lr arm_func_end sub_02032578 arm_func_start sub_0203258C sub_0203258C: ; 0x0203258C ldr r0, [r0, #0xd0] bx lr arm_func_end sub_0203258C arm_func_start sub_02032594 sub_02032594: ; 0x02032594 ldr r0, [r0, #0xc0] bx lr arm_func_end sub_02032594 arm_func_start sub_0203259C sub_0203259C: ; 0x0203259C ldr r0, [r0, #0xc4] bx lr arm_func_end sub_0203259C arm_func_start sub_020325A4 sub_020325A4: ; 0x020325A4 ldr r0, [r0, #0xcc] bx lr arm_func_end sub_020325A4 arm_func_start sub_020325AC sub_020325AC: ; 0x020325AC mov r1, #1 strb r1, [r0, #0xd4] ldr r1, [r0, #0xc0] cmp r1, #0 movle r1, #0 strle r1, [r0, #0xbc] bxle lr ldr r1, [r0, #0xbc] add r2, r1, #1 str r2, [r0, #0xbc] ldr r1, [r0, #0xc0] cmp r2, r1 movge r1, #0 strge r1, [r0, #0xbc] bx lr arm_func_end sub_020325AC arm_func_start sub_020325E8 sub_020325E8: ; 0x020325E8 mov r2, #1 cmp r1, #0 strb r2, [r0, #0xd4] movle r1, #0 strle r1, [r0, #0xbc] bxle lr ldr r2, [r0, #0xbc] add r2, r2, #1 cmp r2, r1 str r2, [r0, #0xbc] subge r1, r1, #1 strge r1, [r0, #0xbc] bx lr arm_func_end sub_020325E8 arm_func_start sub_0203261C sub_0203261C: ; 0x0203261C mov r1, #1 strb r1, [r0, #0xd4] ldr r1, [r0, #0xc0] cmp r1, #0 movle r1, #0 strle r1, [r0, #0xbc] bxle lr ldr r1, [r0, #0xbc] subs r1, r1, #1 str r1, [r0, #0xbc] ldrmi r1, [r0, #0xc0] submi r1, r1, #1 strmi r1, [r0, #0xbc] bx lr arm_func_end sub_0203261C arm_func_start sub_02032654 sub_02032654: ; 0x02032654 mov r2, #1 cmp r1, #0 strb r2, [r0, #0xd4] movle r1, #0 strle r1, [r0, #0xbc] bxle lr ldr r1, [r0, #0xbc] subs r1, r1, #1 str r1, [r0, #0xbc] movmi r1, #0 strmi r1, [r0, #0xbc] bx lr arm_func_end sub_02032654 arm_func_start sub_02032684 sub_02032684: ; 0x02032684 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #1 strb r0, [r5, #0xd4] movs r4, r1 ldr r0, [r5, #0x10] movmi r4, #0 tst r0, #0x8000 beq _020326E0 ldr r0, [r5, #0xd0] ldr r1, [r5, #0xc4] cmp r4, r0 subge r4, r0, #1 mov r0, r4 bl __divsi3 str r0, [r5, #0xc8] ldr r1, [r5, #0xc4] mov r0, r4 bl __divsi3 mov r0, r5 str r1, [r5, #0xbc] bl sub_02032754 ldmia sp!, {r3, r4, r5, pc} _020326E0: ldr r0, [r5, #0xc0] cmp r4, r0 subge r0, r0, #1 strge r0, [r5, #0xbc] strlt r4, [r5, #0xbc] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02032684 arm_func_start sub_020326F8 sub_020326F8: ; 0x020326F8 mov r3, #1 cmp r1, #0 movlt r1, #0 strb r3, [r0, #0xd4] cmp r1, r2 ldrge r1, [r0, #0xc0] subge r1, r1, #1 str r1, [r0, #0xbc] bx lr arm_func_end sub_020326F8 arm_func_start sub_0203271C sub_0203271C: ; 0x0203271C stmdb sp!, {r4, lr} mov r4, r0 str r1, [r4, #0xd0] bl sub_02032754 ldr r0, [r4, #0xcc] cmp r0, #0xa ldr r0, [r4, #0x10] orrge r0, r0, #0x10000 biclt r0, r0, #0x10000 str r0, [r4, #0x10] ldr r1, [r4, #0xbc] mov r0, r4 bl sub_02032684 ldmia sp!, {r4, pc} arm_func_end sub_0203271C arm_func_start sub_02032754 sub_02032754: ; 0x02032754 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x10] tst r0, #0x8000 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0xc4] ldr r0, [r4, #0xd0] add r0, r0, r1 sub r0, r0, #1 bl __divsi3 str r0, [r4, #0xcc] ldr r1, [r4, #0xc8] sub r0, r0, #1 cmp r1, r0 strge r0, [r4, #0xc8] ldr r1, [r4, #0xc8] ldr r0, [r4, #0xc4] ldr r2, [r4, #0xd0] mul r0, r1, r0 sub r1, r2, r0 str r1, [r4, #0xc0] ldr r0, [r4, #0xc4] cmp r1, r0 strgt r0, [r4, #0xc0] ldr r1, [r4, #0xc0] ldr r0, [r4, #0xbc] sub r1, r1, #1 cmp r0, r1 strgt r1, [r4, #0xbc] ldmia sp!, {r4, pc} arm_func_end sub_02032754 arm_func_start sub_020327CC sub_020327CC: ; 0x020327CC str r1, [r0, #0xd0] str r2, [r0, #0xc4] mov r1, #0 str r1, [r0, #0xbc] str r1, [r0, #0xc8] bx lr arm_func_end sub_020327CC arm_func_start sub_020327E4 sub_020327E4: ; 0x020327E4 ldr r1, [r0, #0xcc] ldr r2, [r0, #0xc8] sub r1, r1, #1 cmp r2, r1 movge r1, #0 addlt r1, r2, #1 ldr ip, _02032808 ; =sub_02032754 str r1, [r0, #0xc8] bx ip .align 2, 0 _02032808: .word sub_02032754 arm_func_end sub_020327E4 arm_func_start sub_0203280C sub_0203280C: ; 0x0203280C ldr r1, [r0, #0xc8] ldr ip, _02032828 ; =sub_02032754 cmp r1, #0 ldrle r1, [r0, #0xcc] sub r1, r1, #1 str r1, [r0, #0xc8] bx ip .align 2, 0 _02032828: .word sub_02032754 arm_func_end sub_0203280C arm_func_start sub_0203282C sub_0203282C: ; 0x0203282C ldr r2, [r0, #0xcc] ldr r1, [r0, #0xc8] sub r2, r2, #1 cmp r1, r2 movge r1, #0 strge r1, [r0, #0xc8] bge _02032858 add r1, r1, #0xa cmp r1, r2 movle r2, r1 str r2, [r0, #0xc8] _02032858: ldr ip, _02032860 ; =sub_02032754 bx ip .align 2, 0 _02032860: .word sub_02032754 arm_func_end sub_0203282C arm_func_start sub_02032864 sub_02032864: ; 0x02032864 ldr r1, [r0, #0xc8] cmp r1, #0 ldrle r1, [r0, #0xcc] suble r1, r1, #1 strle r1, [r0, #0xc8] ble _02032888 subs r1, r1, #0xa movmi r1, #0 str r1, [r0, #0xc8] _02032888: ldr ip, _02032890 ; =sub_02032754 bx ip .align 2, 0 _02032890: .word sub_02032754 arm_func_end sub_02032864 arm_func_start sub_02032894 sub_02032894: ; 0x02032894 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ble _020328B4 mov r0, r1, lsl #8 ldr r1, [r4, #0xc4] bl __divsi3 b _020328D0 _020328B4: ldr r0, [r4, #0xb4] ldmia r4, {r1, r2} sub r1, r2, r1 sub r0, r1, r0 ldr r1, [r4, #0xc4] mov r0, r0, lsl #8 bl __divsi3 _020328D0: str r0, [r4, #0xb8] ldmia sp!, {r4, pc} arm_func_end sub_02032894 arm_func_start sub_020328D8 sub_020328D8: ; 0x020328D8 ldr r2, [r0, #0xb8] ldr r3, [r0, #0xb4] mul r2, r1, r2 mov r0, r2, asr #7 add r0, r2, r0, lsr #24 add r0, r3, r0, asr #8 bx lr arm_func_end sub_020328D8 arm_func_start sub_020328F4 sub_020328F4: ; 0x020328F4 ldr r1, [r0, #0x10] tst r1, #0x8000 beq _02032910 ldr r0, [r0, #0xcc] cmp r0, #1 movgt r0, #1 bxgt lr _02032910: mov r0, #0 bx lr arm_func_end sub_020328F4 arm_func_start sub_02032918 sub_02032918: ; 0x02032918 ldr r1, [r0, #0x10] tst r1, #0x8000 beq _02032934 ldr r0, [r0, #0xcc] cmp r0, #1 movgt r0, #1 bxgt lr _02032934: mov r0, #0 bx lr arm_func_end sub_02032918 arm_func_start sub_0203293C sub_0203293C: ; 0x0203293C ldr r1, [r0, #0x10] tst r1, #0x8000 beq _02032958 ldr r0, [r0, #0xcc] cmp r0, #1 movgt r0, #1 bxgt lr _02032958: mov r0, #0 bx lr arm_func_end sub_0203293C arm_func_start sub_02032960 sub_02032960: ; 0x02032960 stmdb sp!, {r3, lr} ldr r0, [r0, #0x10] tst r0, #0x10 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r0, r1 bl sub_02017CCC mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_02032960 arm_func_start sub_02032984 sub_02032984: ; 0x02032984 mvn r1, #0 str r1, [r0, #0xe8] str r1, [r0, #0xf0] str r1, [r0, #0xe4] str r1, [r0, #0xec] bx lr arm_func_end sub_02032984 arm_func_start sub_0203299C sub_0203299C: ; 0x0203299C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl sub_02033440 mov r4, r0 mov r0, r7 mov r1, r6 bl sub_020336FC cmp r4, r5 movgt r5, r4 cmp r0, r5 movgt r5, r0 add r1, r5, #7 mov r0, r1, asr #2 add r0, r1, r0, lsr #29 mov r0, r0, asr #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0203299C arm_func_start sub_020329E4 sub_020329E4: ; 0x020329E4 tst r0, #0x40000 bne _020329FC ldr ip, [r2] ldr r2, [r3] cmp r2, ip strgt ip, [r3] _020329FC: tst r0, #0x400 ldrne ip, [r1, #4] ldr r2, [r3] moveq ip, #0xe mul r3, r2, ip tst r0, #0x800 ldrne r1, [r1, #0xc] addne r3, r3, r1 tst r0, #0x1000 addne r3, r3, #0x10 add r1, r3, #7 mov r0, r1, asr #2 add r0, r1, r0, lsr #29 mov r0, r0, asr #3 bx lr arm_func_end sub_020329E4 arm_func_start sub_02032A38 sub_02032A38: ; 0x02032A38 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r1 mov r6, r2 tst sb, #0x400 ldrne r4, [r6, #4] mov r7, r0 mov r5, r3 moveq r4, #0xe mov r8, r6 str sb, [r7, #0x10] add lr, r7, #0x14 mov ip, #9 _02032A68: ldmia r8!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02032A68 ldmia r8, {r0, r1} stmia lr, {r0, r1} ldmia r5, {r0, r1, r2, r3} stmia r7, {r0, r1, r2, r3} mov r0, #0 str r0, [r7, #0xbc] str r0, [r7, #0xc8] tst sb, #0x200 ldrne r0, [r6, #0x60] ldr r1, [sp, #0x20] str r0, [r7, #0xac] ldrb r0, [sp, #0x28] str r1, [r7, #0xd0] strb r0, [r7, #0xd5] ldr r0, [r7, #0x10] tst r0, #0x8000 beq _02032AD8 ldr r0, [sp, #0x24] cmp r0, #0 movle r0, #1 str r0, [r7, #0xc4] mov r0, #1 str r0, [r7, #0xcc] b _02032AE0 _02032AD8: str r1, [r7, #0xc0] str r1, [r7, #0xc4] _02032AE0: mov r0, r7 bl sub_020331D4 ldr r0, [r7, #0xcc] mov r3, #0 cmp r0, #0xa ldrge r0, [r7, #0x10] orrge r0, r0, #0x10000 strge r0, [r7, #0x10] str r3, [r7, #0xb0] ldr r0, [r7, #0x10] tst r0, #0x800 ldrne r3, [r6, #0xc] str r3, [r7, #0xb4] ldmia r5, {r1, r2} ldr r0, [r7, #0x10] sub r1, r2, r1 sub r1, r1, r3 mov r3, #0 tst r0, #0x1000 subne r1, r1, #0x10 strb r3, [r7, #0xd4] cmp r4, #0 ble _02032B74 ldr r0, [r7, #0x10] tst r0, #0x80000 bne _02032B68 ldr r0, [r7, #0xc4] ldr r2, [r7, #0xb4] mul r0, r4, r0 sub r0, r1, r0 add r0, r0, r0, lsr #31 adds r0, r2, r0, asr #1 str r0, [r7, #0xb4] strmi r3, [r7, #0xb4] _02032B68: mov r0, r4, lsl #8 str r0, [r7, #0xb8] b _02032B7C _02032B74: mov r0, r7 bl sub_0203330C _02032B7C: ldr r0, [r7, #0x10] tst r0, #0x20 beq _02032B94 ldr r1, [r6] mov r0, r7 bl sub_020330EC _02032B94: bl sub_02031908 mov r1, #0 str r1, [r7, #0xd8] sub r0, r1, #1 str r0, [r7, #0xdc] mov r0, r7 str r1, [r7, #0xe0] bl sub_020333FC ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02032A38 arm_func_start sub_02032BB8 sub_02032BB8: ; 0x02032BB8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x24 mov sb, r0 mov r6, r3 mov r8, r1 mov r7, r2 ldr r4, [sb, #0xc8] ldr r5, [sb, #0xbc] bl sub_02033414 mov sl, r0 cmp r6, #0 add r0, sp, #0 beq _02032D04 ldr r1, [sb, #0x10] bl sub_02031914 ldr r1, [sb, #0x10] mov r6, r0 tst r1, #0x8000 beq _02032C44 tst r1, #0x20000 beq _02032C44 tst r1, #0x2000000 bne _02032C44 tst r6, #8 beq _02032C44 tst r6, #0x10 beq _02032C30 mov r0, sb bl sub_020332AC b _02032C74 _02032C30: tst r6, #0x20 beq _02032C74 mov r0, sb bl sub_02033284 b _02032C74 _02032C44: tst r1, #0x1000000 cmpeq sl, #0 bne _02032C74 tst r6, #0x10 beq _02032C64 mov r0, sb bl sub_020330B4 b _02032C74 _02032C64: tst r6, #0x20 beq _02032C74 mov r0, sb bl sub_02033078 _02032C74: ldr r0, [sb, #0x10] tst r0, #0x8000 beq _02032CEC tst r0, #0x20000 bne _02032CEC tst r0, #0x2000000 bne _02032CEC tst r0, #0x10000 beq _02032CC8 tst r6, #8 beq _02032CC8 tst r6, #0x40 beq _02032CB4 mov r0, sb bl sub_020332F0 b _02032CEC _02032CB4: tst r6, #0x80 beq _02032CEC mov r0, sb bl sub_020332CC b _02032CEC _02032CC8: tst r6, #0x40 beq _02032CDC mov r0, sb bl sub_020332AC b _02032CEC _02032CDC: tst r6, #0x80 beq _02032CEC mov r0, sb bl sub_02033284 _02032CEC: ldr r0, [sb, #0x10] tst r0, #1 biceq r6, r6, #1 tst r0, #2 biceq r6, r6, #2 b _02032D0C _02032D04: mov r6, #0 bl sub_02006BFC _02032D0C: cmp r8, #0 strne r6, [r8] cmp r7, #0 beq _02032D3C add r8, sp, #0 mov r6, #2 _02032D24: ldmia r8!, {r0, r1, r2, r3} stmia r7!, {r0, r1, r2, r3} subs r6, r6, #1 bne _02032D24 ldr r0, [r8] str r0, [r7] _02032D3C: ldr r0, [sb, #0xc8] cmp r4, r0 beq _02032D5C mov r0, sb mov r1, #4 bl sub_020333D8 mov r0, #1 b _02032DA8 _02032D5C: ldr r0, [sb, #0xbc] cmp r5, r0 beq _02032D74 mov r0, sb mov r1, #3 bl sub_020333D8 _02032D74: ldr r0, [sb, #0xd8] cmp r0, #0 ble _02032DA4 subs r0, r0, #1 str r0, [sb, #0xd8] bne _02032DA4 mvn r0, #0 str r0, [sb, #0xdc] mov r0, #0 str r0, [sb, #0xe0] mov r0, #1 b _02032DA8 _02032DA4: mov r0, #0 _02032DA8: add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02032BB8 arm_func_start sub_02032DB0 sub_02032DB0: ; 0x02032DB0 ldr r1, [r0, #0xd8] cmp r1, #0 ble _02032DE0 subs r1, r1, #1 str r1, [r0, #0xd8] mvneq r1, #0 streq r1, [r0, #0xdc] moveq r1, #0 streq r1, [r0, #0xe0] beq _02032DE0 mov r0, #1 bx lr _02032DE0: mov r0, #0 bx lr arm_func_end sub_02032DB0 arm_func_start sub_02032DE8 sub_02032DE8: ; 0x02032DE8 mov r2, #6 str r2, [r0, #0xd8] sub r2, r2, #7 str r1, [r0, #0xe0] str r2, [r0, #0xe8] str r2, [r0, #0xe4] str r2, [r0, #0xf0] str r2, [r0, #0xec] bx lr arm_func_end sub_02032DE8 arm_func_start sub_02032E0C sub_02032E0C: ; 0x02032E0C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r8, r1 ldrh r1, [r8] mov r7, r2 mov sb, r0 tst r1, r7 beq _02032F50 cmp r3, #0 ldrge r0, [sb, #8] ldr r5, [sb, #0xc0] ldrlt r0, [sb, #0xc] ldr r1, [sp, #0x30] add r0, r0, r3 str r0, [sp, #8] cmp r1, #0 ldrgt r0, [sb, #8] mov r6, #0 ldrle r0, [sb, #0xc] add r4, sp, #0 add r0, r0, r1 str r0, [sp, #0xc] b _02032F48 _02032E68: ldr r0, [sb, #0xb8] ldr r2, [sb, #0xb4] mul r1, r6, r0 mov r0, r1, asr #7 add r0, r1, r0, lsr #24 ldr r1, [sb] add r0, r2, r0, asr #8 add r0, r1, r0 str r0, [sp] ldr r0, [sb, #0xb8] add r1, r6, #1 mul r2, r1, r0 mov r0, r2, asr #7 ldr r1, [sb, #0xb4] add r0, r2, r0, lsr #24 ldr r2, [sb] add r0, r1, r0, asr #8 add r0, r2, r0 sub r3, r0, #2 mov r0, r8 mov r1, r7 mov r2, r4 str r3, [sp, #4] bl sub_02006C8C cmp r0, #0 beq _02032F44 ldrb r0, [sp, #0x34] cmp r0, #0 beq _02032F34 mov r0, #6 str r0, [sb, #0xd8] sub r0, r0, #7 str r0, [sb, #0xdc] mov r0, #0 str r0, [sb, #0xe0] ldr r1, [sp, #8] ldr r0, [sb, #8] sub r0, r1, r0 str r0, [sb, #0xec] ldr r1, [sp, #0xc] ldr r0, [sb, #8] sub r0, r1, r0 str r0, [sb, #0xf0] ldr r1, [sp] ldr r0, [sb] sub r0, r1, r0 str r0, [sb, #0xe4] ldr r1, [sp, #4] ldr r0, [sb] sub r0, r1, r0 str r0, [sb, #0xe8] _02032F34: ldr r1, [sb, #0xc8] ldr r0, [sb, #0xc4] mla r0, r1, r0, r6 b _02032F54 _02032F44: add r6, r6, #1 _02032F48: cmp r6, r5 blt _02032E68 _02032F50: mvn r0, #0 _02032F54: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02032E0C arm_func_start sub_02032F5C sub_02032F5C: ; 0x02032F5C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r4, r0 mov r6, r2 mov r5, r3 tst r7, #0x2000 mov r0, #0 beq _02032FA4 ldr r1, [r4, #0x10] tst r1, #0x40 ldrne r3, [r4, #0x78] cmpne r3, #0 beq _02032FA4 ldr r0, [r4, #0x7c] mov r1, r6 mov r2, r5 blx r3 mov r0, #1 _02032FA4: tst r7, #0x1000 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r4, #0x10] tst r1, #0x80 ldrne r3, [r4, #0x80] cmpne r3, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r4, #0x84] mov r1, r6 mov r2, r5 blx r3 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02032F5C arm_func_start sub_02032FD8 sub_02032FD8: ; 0x02032FD8 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x10] tst r1, #1 beq _0203304C tst r1, #0x8000000 bne _0203304C tst r1, #0x200 beq _02033044 bl sub_02033414 cmp r0, #0 bne _02033028 mov r0, r4 bl sub_02033064 ldr r1, [r4, #0xac] ldrb r0, [r1, r0] tst r0, #1 bne _0203304C mov r0, #1 ldmia sp!, {r4, pc} _02033028: ldr r0, [r4, #0xac] ldrb r0, [r0, #0x7f] tst r0, #1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} _02033044: mov r0, #1 ldmia sp!, {r4, pc} _0203304C: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_02032FD8 arm_func_start sub_02033054 sub_02033054: ; 0x02033054 ldr r1, [r0, #0xc8] ldr r0, [r0, #0xc4] mul r0, r1, r0 bx lr arm_func_end sub_02033054 arm_func_start sub_02033064 sub_02033064: ; 0x02033064 ldr r2, [r0, #0xbc] ldr r1, [r0, #0xc8] ldr r0, [r0, #0xc4] mla r0, r1, r0, r2 bx lr arm_func_end sub_02033064 arm_func_start sub_02033078 sub_02033078: ; 0x02033078 mov r1, #1 strb r1, [r0, #0xd4] ldr r1, [r0, #0xc0] cmp r1, #0 movle r1, #0 strle r1, [r0, #0xbc] bxle lr ldr r1, [r0, #0xbc] add r2, r1, #1 str r2, [r0, #0xbc] ldr r1, [r0, #0xc0] cmp r2, r1 movge r1, #0 strge r1, [r0, #0xbc] bx lr arm_func_end sub_02033078 arm_func_start sub_020330B4 sub_020330B4: ; 0x020330B4 mov r1, #1 strb r1, [r0, #0xd4] ldr r1, [r0, #0xc0] cmp r1, #0 movle r1, #0 strle r1, [r0, #0xbc] bxle lr ldr r1, [r0, #0xbc] subs r1, r1, #1 str r1, [r0, #0xbc] ldrmi r1, [r0, #0xc0] submi r1, r1, #1 strmi r1, [r0, #0xbc] bx lr arm_func_end sub_020330B4 arm_func_start sub_020330EC sub_020330EC: ; 0x020330EC stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r0, #1 strb r0, [r4, #0xd4] movs r5, r1 ldr r0, [r4, #0x10] movmi r5, #0 tst r0, #0x8000 beq _02033194 ldr r1, [r4, #0xd0] cmp r5, r1 blt _02033168 ldrb r0, [r4, #0xd5] cmp r0, #0 beq _02033140 ldr r1, [r4, #0xcc] mov r0, #0 sub r1, r1, #1 str r1, [r4, #0xc8] str r0, [r4, #0xbc] b _02033188 _02033140: sub r5, r1, #1 ldr r1, [r4, #0xc4] mov r0, r5 bl __divsi3 str r0, [r4, #0xc8] ldr r1, [r4, #0xc4] mov r0, r5 bl __divsi3 str r1, [r4, #0xbc] b _02033188 _02033168: ldr r1, [r4, #0xc4] mov r0, r5 bl __divsi3 str r0, [r4, #0xc8] ldr r1, [r4, #0xc4] mov r0, r5 bl __divsi3 str r1, [r4, #0xbc] _02033188: mov r0, r4 bl sub_020331D4 ldmia sp!, {r3, r4, r5, pc} _02033194: ldr r0, [r4, #0xc0] cmp r5, r0 subge r0, r0, #1 strge r0, [r4, #0xbc] strlt r5, [r4, #0xbc] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020330EC arm_func_start sub_020331AC sub_020331AC: ; 0x020331AC stmdb sp!, {r4, lr} mov r4, r0 str r1, [r4, #0xd0] bl sub_020331D4 mov r0, r4 bl sub_02033064 mov r1, r0 mov r0, r4 bl sub_020330EC ldmia sp!, {r4, pc} arm_func_end sub_020331AC arm_func_start sub_020331D4 sub_020331D4: ; 0x020331D4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x10] tst r0, #0x8000 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0xc4] ldr r0, [r4, #0xd0] add r0, r0, r1 sub r0, r0, #1 bl __divsi3 str r0, [r4, #0xcc] ldrb r0, [r4, #0xd5] cmp r0, #0 ldrne r0, [r4, #0xcc] addne r0, r0, #1 strne r0, [r4, #0xcc] ldr r1, [r4, #0xcc] ldr r0, [r4, #0xc8] sub r1, r1, #1 cmp r0, r1 strge r1, [r4, #0xc8] ldr r1, [r4, #0xc8] ldr r0, [r4, #0xc4] ldr r2, [r4, #0xd0] mul r0, r1, r0 sub r1, r2, r0 str r1, [r4, #0xc0] ldr r0, [r4, #0xc4] cmp r1, r0 strgt r0, [r4, #0xc0] mov r0, r4 bl sub_02033414 cmp r0, #0 movne r0, #0 strne r0, [r4, #0xbc] movne r0, #1 strne r0, [r4, #0xc0] ldmneia sp!, {r4, pc} ldr r1, [r4, #0xc0] ldr r0, [r4, #0xbc] sub r1, r1, #1 cmp r0, r1 strgt r1, [r4, #0xbc] ldmia sp!, {r4, pc} arm_func_end sub_020331D4 arm_func_start sub_02033284 sub_02033284: ; 0x02033284 ldr r1, [r0, #0xcc] ldr r2, [r0, #0xc8] sub r1, r1, #1 cmp r2, r1 movge r1, #0 addlt r1, r2, #1 ldr ip, _020332A8 ; =sub_020331D4 str r1, [r0, #0xc8] bx ip .align 2, 0 _020332A8: .word sub_020331D4 arm_func_end sub_02033284 arm_func_start sub_020332AC sub_020332AC: ; 0x020332AC ldr r1, [r0, #0xc8] ldr ip, _020332C8 ; =sub_020331D4 cmp r1, #0 ldrle r1, [r0, #0xcc] sub r1, r1, #1 str r1, [r0, #0xc8] bx ip .align 2, 0 _020332C8: .word sub_020331D4 arm_func_end sub_020332AC arm_func_start sub_020332CC sub_020332CC: ; 0x020332CC ldr r2, [r0, #0xc8] ldr r1, [r0, #0xcc] add r2, r2, #0xa cmp r2, r1 subge r2, r1, #1 ldr ip, _020332EC ; =sub_020331D4 str r2, [r0, #0xc8] bx ip .align 2, 0 _020332EC: .word sub_020331D4 arm_func_end sub_020332CC arm_func_start sub_020332F0 sub_020332F0: ; 0x020332F0 ldr r1, [r0, #0xc8] ldr ip, _02033308 ; =sub_020331D4 subs r1, r1, #0xa movmi r1, #0 str r1, [r0, #0xc8] bx ip .align 2, 0 _02033308: .word sub_020331D4 arm_func_end sub_020332F0 arm_func_start sub_0203330C sub_0203330C: ; 0x0203330C stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ble _0203332C mov r0, r1, lsl #8 ldr r1, [r4, #0xc4] bl __divsi3 b _02033348 _0203332C: ldr r0, [r4, #0xb4] ldmia r4, {r1, r2} sub r1, r2, r1 sub r0, r1, r0 ldr r1, [r4, #0xc4] mov r0, r0, lsl #8 bl __divsi3 _02033348: str r0, [r4, #0xb8] ldmia sp!, {r4, pc} arm_func_end sub_0203330C arm_func_start sub_02033350 sub_02033350: ; 0x02033350 ldr r2, [r0, #0xb8] ldr r3, [r0, #0xb4] mul r2, r1, r2 mov r0, r2, asr #7 add r0, r2, r0, lsr #24 add r0, r3, r0, asr #8 bx lr arm_func_end sub_02033350 arm_func_start sub_0203336C sub_0203336C: ; 0x0203336C ldr r1, [r0, #0x10] tst r1, #0x8000 beq _02033388 ldr r0, [r0, #0xcc] cmp r0, #1 movgt r0, #1 bxgt lr _02033388: mov r0, #0 bx lr arm_func_end sub_0203336C arm_func_start sub_02033390 sub_02033390: ; 0x02033390 ldr r1, [r0, #0x10] tst r1, #0x8000 beq _020333AC ldr r0, [r0, #0xcc] cmp r0, #1 movgt r0, #1 bxgt lr _020333AC: mov r0, #0 bx lr arm_func_end sub_02033390 arm_func_start sub_020333B4 sub_020333B4: ; 0x020333B4 ldr r1, [r0, #0x10] tst r1, #0x8000 beq _020333D0 ldr r0, [r0, #0xcc] cmp r0, #1 movgt r0, #1 bxgt lr _020333D0: mov r0, #0 bx lr arm_func_end sub_020333B4 arm_func_start sub_020333D8 sub_020333D8: ; 0x020333D8 stmdb sp!, {r3, lr} ldr r0, [r0, #0x10] tst r0, #0x10 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r0, r1 bl sub_02017CCC mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_020333D8 arm_func_start sub_020333FC sub_020333FC: ; 0x020333FC mvn r1, #0 str r1, [r0, #0xe8] str r1, [r0, #0xf0] str r1, [r0, #0xe4] str r1, [r0, #0xec] bx lr arm_func_end sub_020333FC arm_func_start sub_02033414 sub_02033414: ; 0x02033414 ldrb r1, [r0, #0xd5] cmp r1, #0 beq _02033438 ldr r1, [r0, #0xc8] ldr r2, [r0, #0xcc] add r0, r1, #1 cmp r2, r0 moveq r0, #1 bxeq lr _02033438: mov r0, #0 bx lr arm_func_end sub_02033414 arm_func_start sub_02033440 sub_02033440: ; 0x02033440 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x104 mov r5, r0 tst r5, #0x800 mov r4, #0 beq _02033498 ldrh r2, [r1, #8] cmp r2, #0 moveq r0, r4 beq _02033488 ldr r3, _020334A4 ; =0x0000C402 add ip, r1, #0x10 add r0, sp, #4 mov r1, #0x100 str ip, [sp] bl PreprocessStringFromMessageId add r0, sp, #4 bl sub_020265A8 _02033488: tst r5, #0x8000 addne r0, r0, #0x40 cmp r0, #0 movgt r4, r0 _02033498: mov r0, r4 add sp, sp, #0x104 ldmia sp!, {r4, r5, pc} .align 2, 0 _020334A4: .word 0x0000C402 arm_func_end sub_02033440 arm_func_start sub_020334A8 sub_020334A8: ; 0x020334A8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x154 mov r5, r0 ldr r0, [r5, #0x10] mov r4, r1 tst r0, #0x800 beq _02033598 ldrh r2, [r5, #0x1c] cmp r2, #0 beq _020334FC ldr r3, _020335A0 ; =0x0000C402 add ip, r5, #0x24 add r0, sp, #0x54 mov r1, #0x100 str ip, [sp] bl PreprocessStringFromMessageId add r3, sp, #0x54 mov r0, r4 mov r1, #8 mov r2, #0 bl sub_02026214 _020334FC: mov r0, #0x17 str r0, [sp] ldr r2, [r5, #0xc] ldr r1, [r5, #8] mov r0, r4 sub r1, r2, r1 sub r3, r1, #4 mov r1, #2 mov r2, #0xd bl sub_02025D50 mov r0, r5 bl sub_020328F4 cmp r0, #0 beq _02033598 mov r0, r5 bl sub_02032560 add r1, r0, #1 mov r0, r5 str r1, [sp, #0x28] bl sub_020325A4 str r0, [sp, #0x2c] add r1, sp, #4 str r1, [sp] ldr r2, _020335A4 ; =_0209AFC4 ldr r3, _020335A0 ; =0x0000C402 add r0, sp, #0x54 mov r1, #0x100 bl PreprocessString add r0, sp, #0x54 bl sub_020265A8 mov ip, r0 ldr r3, [r5, #0xc] ldr r1, [r5, #8] mov r0, r4 sub r1, r3, r1 mov r2, #0 sub r1, r1, ip add r3, sp, #0x54 bl sub_02026214 _02033598: add sp, sp, #0x154 ldmia sp!, {r4, r5, pc} .align 2, 0 _020335A0: .word 0x0000C402 _020335A4: .word _0209AFC4 arm_func_end sub_020334A8 arm_func_start sub_020335A8 sub_020335A8: ; 0x020335A8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x154 mov r5, r0 ldr r2, [r5, #0x10] mov r4, r1 tst r2, #0x800 beq _020336E8 bl sub_02033414 cmp r0, #0 beq _02033610 ldr r3, _020336F0 ; =0x000008E3 mov r0, r4 mov r1, #8 mov r2, #0 bl sub_02026268 mov r0, #0x17 str r0, [sp] ldr r2, [r5, #0xc] ldr r1, [r5, #8] mov r0, r4 sub r1, r2, r1 sub r3, r1, #4 mov r1, #2 mov r2, #0xd bl sub_02025D50 b _020336E8 _02033610: add r0, r5, #0x24 str r0, [sp] ldrh r2, [r5, #0x1c] ldr r3, _020336F4 ; =0x0000C402 add r0, sp, #0x54 mov r1, #0x100 bl PreprocessStringFromMessageId add r3, sp, #0x54 mov r0, r4 mov r1, #8 mov r2, #0 bl sub_02026214 mov r0, #0x17 str r0, [sp] ldr r2, [r5, #0xc] ldr r1, [r5, #8] mov r0, r4 sub r1, r2, r1 sub r3, r1, #4 mov r1, #2 mov r2, #0xd bl sub_02025D50 mov r0, r5 bl sub_0203336C cmp r0, #0 beq _020336E8 ldr r0, [r5, #0xc8] ldr r2, _020336F8 ; =_0209AFC4 add r0, r0, #1 str r0, [sp, #0x28] ldrb r0, [r5, #0xd5] ldr r3, _020336F4 ; =0x0000C402 add ip, sp, #4 cmp r0, #0 movne r1, #1 ldr r0, [r5, #0xcc] moveq r1, #0 sub r0, r0, r1 str r0, [sp, #0x2c] add r0, sp, #0x54 mov r1, #0x100 str ip, [sp] bl PreprocessString add r0, sp, #0x54 bl sub_020265A8 mov r2, r0 ldr r1, [r5, #0xc] ldr r0, [r5, #8] add r3, sp, #0x54 sub r1, r1, r0 sub r1, r1, r2 mov r0, r4 mov r2, #0 bl sub_02026214 _020336E8: add sp, sp, #0x154 ldmia sp!, {r4, r5, pc} .align 2, 0 _020336F0: .word 0x000008E3 _020336F4: .word 0x0000C402 _020336F8: .word _0209AFC4 arm_func_end sub_020335A8 arm_func_start sub_020336FC sub_020336FC: ; 0x020336FC tst r0, #0x1000 mov r1, #0 beq _02033750 mov r2, #4 tst r0, #0x2000 addne r2, r2, #0x12 tst r0, #0x4000 addne r2, r2, #0x14 tst r0, #0x20000 addne r2, r2, #0x1f bne _02033738 tst r0, #0x8000 addne r2, r2, #0x3e tst r0, #8 addne r2, r2, #0x1f _02033738: tst r0, #4 addne r2, r2, #0x12 tst r0, #2 addne r2, r2, #0x12 cmp r2, #0 movgt r1, r2 _02033750: mov r0, r1 bx lr arm_func_end sub_020336FC arm_func_start sub_02033758 sub_02033758: ; 0x02033758 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov sb, r0 ldrb r0, [sb, #0xf4] mov r8, r1 ldr r1, [sb, #0x10] cmp r0, #0 ldrne r0, _02033BBC ; =0x00001002 mov r7, r2 moveq r0, #2 mov r0, r0, lsl #0x10 mov r4, #0 tst r1, #0x1000 mov r5, r0, lsr #0x10 beq _02033B98 ldrh r0, [r7] tst r0, r5 beq _02033B98 ldmib sb, {r0, r1} sub r0, r0, #0xf str r0, [sp] ldr r0, [sb, #4] add r6, r1, #4 sub r0, r0, #2 str r0, [sp, #4] ldr r0, [sb, #0x10] tst r0, #0x2000 beq _0203380C mov r0, #0x12 str r6, [sp, #8] bl sub_02026594 add r0, r6, r0 sub r3, r0, #1 add r2, sp, #0 mov r0, r7 mov r1, r5 str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r8] movne r4, #1 orrne r0, r0, #0x1000 orrne r0, r0, #0x1000000 strne r0, [r8] add r6, r6, #0x12 _0203380C: ldr r0, [sb, #0x10] tst r0, #0x4000 beq _0203385C mov r0, #0x13 str r6, [sp, #8] bl sub_02026594 add r0, r6, r0 sub r3, r0, #1 add r2, sp, #0 mov r0, r7 mov r1, r5 str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r8] movne r4, #1 orrne r0, r0, #0x2000 orrne r0, r0, #0x2000000 strne r0, [r8] add r6, r6, #0x14 _0203385C: ldr r0, [sb, #0x10] tst r0, #0x8000 beq _020339C8 tst r0, #0x20000 bne _020339C8 mov r0, sb bl sub_020328F4 cmp r0, #0 beq _020339C4 add r0, r6, #0xb str r6, [sp, #8] str r0, [sp, #0xc] ldr r0, [sb, #0x10] tst r0, #0x10000 beq _020338D4 add r2, sp, #0 mov r0, r7 mov r1, r5 bl sub_02006C8C cmp r0, #0 beq _020338D4 mov r0, sb bl sub_02032864 mov r0, sb mov r1, #4 bl sub_02032960 ldr r0, [r8] mov r4, #1 orr r0, r0, #0x400000 str r0, [r8] _020338D4: add r1, r6, #0xe add r0, r6, #0x19 str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [sb, #0x10] tst r0, #0x10000 beq _0203392C add r2, sp, #0 mov r0, r7 mov r1, r5 bl sub_02006C8C cmp r0, #0 beq _0203392C mov r0, sb bl sub_0203282C mov r0, sb mov r1, #4 bl sub_02032960 ldr r0, [r8] mov r4, #1 orr r0, r0, #0x800000 str r0, [r8] _0203392C: add ip, r6, #0x1f add r3, r6, #0x2a add r2, sp, #0 mov r0, r7 mov r1, r5 str ip, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 beq _02033978 mov r0, sb bl sub_0203280C mov r0, sb mov r1, #4 bl sub_02032960 ldr r0, [r8] mov r4, #1 orr r0, r0, #0x100000 str r0, [r8] _02033978: add ip, r6, #0x2d add r3, r6, #0x38 add r2, sp, #0 mov r0, r7 mov r1, r5 str ip, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 beq _020339C4 mov r0, sb bl sub_020327E4 mov r0, sb mov r1, #4 bl sub_02032960 ldr r0, [r8] mov r4, #1 orr r0, r0, #0x200000 str r0, [r8] _020339C4: add r6, r6, #0x3e _020339C8: ldr r0, [sb, #0x10] tst r0, #8 bne _020339EC tst r0, #0x20000 beq _02033AE0 mov r0, sb bl sub_020328F4 cmp r0, #0 beq _02033AE0 _020339EC: add r0, r6, #0xb str r6, [sp, #8] str r0, [sp, #0xc] ldr r0, [sb, #0x10] tst r0, #0x20000000 bne _02033A64 add r2, sp, #0 mov r0, r7 mov r1, r5 bl sub_02006C8C cmp r0, #0 beq _02033A64 ldr r0, [r8] orr r0, r0, #0x40000 str r0, [r8] ldr r0, [sb, #0x10] tst r0, #0x20000 mov r0, sb beq _02033A58 bl sub_020327E4 mov r0, sb mov r1, #4 bl sub_02032960 ldr r0, [r8] orr r0, r0, #0x4000 str r0, [r8] b _02033A60 _02033A58: mov r1, #0 bl sub_02032960 _02033A60: mov r4, #1 _02033A64: add r1, r6, #0xe add r0, r6, #0x19 str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [sb, #0x10] tst r0, #0x40000000 bne _02033AE0 add r2, sp, #0 mov r0, r7 mov r1, r5 bl sub_02006C8C cmp r0, #0 beq _02033AE0 ldr r0, [r8] orr r0, r0, #0x80000 str r0, [r8] ldr r0, [sb, #0x10] tst r0, #0x20000 mov r0, sb beq _02033AD4 bl sub_0203280C mov r0, sb mov r1, #4 bl sub_02032960 ldr r0, [r8] orr r0, r0, #0x8000 str r0, [r8] b _02033ADC _02033AD4: mov r1, #0 bl sub_02032960 _02033ADC: mov r4, #1 _02033AE0: ldr r1, [sb, #0xc] ldr r0, [sb, #0x10] add r6, r1, #4 tst r0, #2 beq _02033B2C sub r6, r6, #0x12 add r3, r6, #0xb add r2, sp, #0 mov r0, r7 mov r1, r5 str r6, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r8] movne r4, #1 orrne r0, r0, #2 orrne r0, r0, #0x20000 strne r0, [r8] _02033B2C: ldr r0, [sb, #0x10] tst r0, #4 beq _02033B98 sub ip, r6, #0x12 sub r3, r6, #7 add r2, sp, #0 mov r0, r7 mov r1, r5 str ip, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 beq _02033B98 ldr r0, [sb, #0x10] tst r0, #0x18000000 ldreq r0, [r8] orreq r0, r0, #1 orreq r0, r0, #0x10000 streq r0, [r8] beq _02033B94 ldr r1, [r8] mov r0, sb orr r2, r1, #0x10000 mov r1, #2 str r2, [r8] bl sub_02032960 _02033B94: mov r4, #1 _02033B98: ldr r1, [r8] cmp r1, #0 beq _02033BB0 mov r0, sb bl sub_020320C8 mov r4, #1 _02033BB0: mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02033BBC: .word 0x00001002 arm_func_end sub_02033758 arm_func_start sub_02033BC0 sub_02033BC0: ; 0x02033BC0 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r8, r0 ldr r0, [r8, #0x10] mov r7, r1 tst r0, #0x1000 ldr r4, [r8, #0xe0] beq _02033ECC ldmia r8, {r1, r2} mov r0, #0x17 str r0, [sp] sub r0, r2, r1 sub r5, r0, #0x10 ldr r2, [r8, #0xc] ldr r1, [r8, #8] mov r0, r7 sub r1, r2, r1 sub r3, r1, #4 mov r2, r5 mov r1, #2 mov r6, #4 bl sub_02025D50 ldr r0, [r8, #0x10] tst r0, #0x2000 beq _02033C44 tst r4, #0x1000000 ldrne r3, _02033ED4 ; =_0209AFDC mov r0, r7 ldreq r3, _02033ED8 ; =_0209AFE4 add r2, r5, #3 mov r1, #4 bl sub_02026214 add r6, r6, #0x12 _02033C44: ldr r0, [r8, #0x10] tst r0, #0x4000 beq _02033C70 tst r4, #0x2000000 ldrne r3, _02033EDC ; =_0209AFEC mov r0, r7 ldreq r3, _02033EE0 ; =_0209AFF4 mov r1, r6 add r2, r5, #3 bl sub_02026214 add r6, r6, #0x14 _02033C70: ldr r0, [r8, #0x10] tst r0, #0x8000 beq _02033D74 tst r0, #0x20000 bne _02033D74 mov r0, r8 bl sub_020328F4 cmp r0, #0 beq _02033D70 ldr r0, [r8, #0x10] tst r0, #0x10000 beq _02033D08 mov r0, r8 bl sub_02032918 cmp r0, #0 bne _02033CB8 tst r4, #0x400000 beq _02033CD4 _02033CB8: tst r4, #0x400000 ldrne r3, _02033EE4 ; =_0209AFFC mov r0, r7 ldreq r3, _02033EE8 ; =_0209B004 mov r1, r6 add r2, r5, #3 bl sub_02026214 _02033CD4: mov r0, r8 bl sub_0203293C cmp r0, #0 bne _02033CEC tst r4, #0x800000 beq _02033D08 _02033CEC: tst r4, #0x800000 ldrne r3, _02033EEC ; =_0209B00C mov r0, r7 ldreq r3, _02033EF0 ; =_0209B014 add r1, r6, #0xe add r2, r5, #3 bl sub_02026214 _02033D08: mov r0, r8 bl sub_02032918 cmp r0, #0 bne _02033D20 tst r4, #0x100000 beq _02033D3C _02033D20: tst r4, #0x100000 ldrne r3, _02033EF4 ; =_0209B01C mov r0, r7 ldreq r3, _02033EF8 ; =_0209B024 add r1, r6, #0x1f add r2, r5, #3 bl sub_02026214 _02033D3C: mov r0, r8 bl sub_0203293C cmp r0, #0 bne _02033D54 tst r4, #0x200000 beq _02033D70 _02033D54: tst r4, #0x200000 ldrne r3, _02033EFC ; =_0209B02C mov r0, r7 ldreq r3, _02033F00 ; =_0209B034 add r1, r6, #0x2d add r2, r5, #3 bl sub_02026214 _02033D70: add r6, r6, #0x3e _02033D74: ldr r1, [r8, #0x10] ldr r0, _02033F04 ; =0x00020008 tst r1, r0 beq _02033E40 tst r4, #0x40000 beq _02033DA4 ldr r3, _02033F08 ; =_0209B03C mov r0, r7 mov r1, r6 add r2, r5, #3 bl sub_02026214 b _02033DE0 _02033DA4: tst r1, #0x20000000 bne _02033DE0 tst r1, #8 bne _02033DCC tst r1, #0x20000 beq _02033DE0 mov r0, r8 bl sub_02032918 cmp r0, #0 beq _02033DE0 _02033DCC: ldr r3, _02033F0C ; =_0209B044 mov r0, r7 mov r1, r6 add r2, r5, #3 bl sub_02026214 _02033DE0: tst r4, #0x80000 beq _02033E00 ldr r3, _02033F10 ; =_0209B04C mov r0, r7 add r1, r6, #0xe add r2, r5, #3 bl sub_02026214 b _02033E40 _02033E00: ldr r0, [r8, #0x10] tst r0, #0x40000000 bne _02033E40 tst r0, #8 bne _02033E2C tst r0, #0x20000 beq _02033E40 mov r0, r8 bl sub_0203293C cmp r0, #0 beq _02033E40 _02033E2C: ldr r3, _02033F14 ; =_0209B054 mov r0, r7 add r1, r6, #0xe add r2, r5, #3 bl sub_02026214 _02033E40: ldr r2, [r8, #0xc] ldr r1, [r8, #8] ldr r0, [r8, #0x10] sub r1, r2, r1 tst r0, #2 add r6, r1, #4 beq _02033E7C tst r4, #0x20000 ldrne r3, _02033F18 ; =_0209B05C sub r6, r6, #0x12 ldreq r3, _02033F1C ; =_0209B064 mov r0, r7 mov r1, r6 add r2, r5, #3 bl sub_02026214 _02033E7C: ldr r0, [r8, #0x10] tst r0, #4 beq _02033ECC tst r0, #0x18000000 beq _02033EB0 tst r4, #0x10000 ldrne r3, _02033F20 ; =_0209B06C mov r0, r7 ldreq r3, _02033F24 ; =_0209B074 sub r1, r6, #0x12 add r2, r5, #3 bl sub_02026214 b _02033ECC _02033EB0: tst r4, #0x10000 ldrne r3, _02033F28 ; =_0209B07C mov r0, r7 ldreq r3, _02033F2C ; =_0209B084 sub r1, r6, #0x12 add r2, r5, #3 bl sub_02026214 _02033ECC: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02033ED4: .word _0209AFDC _02033ED8: .word _0209AFE4 _02033EDC: .word _0209AFEC _02033EE0: .word _0209AFF4 _02033EE4: .word _0209AFFC _02033EE8: .word _0209B004 _02033EEC: .word _0209B00C _02033EF0: .word _0209B014 _02033EF4: .word _0209B01C _02033EF8: .word _0209B024 _02033EFC: .word _0209B02C _02033F00: .word _0209B034 _02033F04: .word 0x00020008 _02033F08: .word _0209B03C _02033F0C: .word _0209B044 _02033F10: .word _0209B04C _02033F14: .word _0209B054 _02033F18: .word _0209B05C _02033F1C: .word _0209B064 _02033F20: .word _0209B06C _02033F24: .word _0209B074 _02033F28: .word _0209B07C _02033F2C: .word _0209B084 arm_func_end sub_02033BC0 arm_func_start sub_02033F30 sub_02033F30: ; 0x02033F30 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r8, r0 ldr r0, [r8, #0x10] mov r7, r1 mov r6, r2 tst r0, #0x1000 mov r4, #0 beq _0203433C ldrh r0, [r6] tst r0, #2 beq _0203433C ldmib r8, {r0, r1} sub r0, r0, #0xf str r0, [sp] ldr r0, [r8, #4] add r5, r1, #4 sub r0, r0, #2 str r0, [sp, #4] ldr r0, [r8, #0x10] tst r0, #0x2000 beq _02033FC8 mov r0, #0x12 str r5, [sp, #8] bl sub_02026594 add r0, r5, r0 sub r3, r0, #1 add r2, sp, #0 mov r0, r6 mov r1, #2 str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r7] movne r4, #1 orrne r0, r0, #0x1000 orrne r0, r0, #0x1000000 strne r0, [r7] _02033FC8: ldr r0, [r8, #0x10] tst r0, #0x4000 beq _0203401C add r1, r5, #0x12 mov r0, #0x13 str r1, [sp, #8] bl sub_02026594 add r1, r5, #0x12 add r0, r1, r0 sub r3, r0, #1 add r2, sp, #0 mov r0, r6 mov r1, #2 str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r7] movne r4, #1 orrne r0, r0, #0x2000 orrne r0, r0, #0x2000000 strne r0, [r7] _0203401C: ldr r0, [r8, #0x10] add r5, r5, #0x26 tst r0, #0x8000 beq _0203418C tst r0, #0x20000 bne _0203418C mov r0, r8 bl sub_0203336C cmp r0, #0 beq _02034188 add r0, r5, #0xb str r5, [sp, #8] str r0, [sp, #0xc] ldr r0, [r8, #0x10] tst r0, #0x10000 beq _02034098 add r2, sp, #0 mov r0, r6 mov r1, #2 bl sub_02006C8C cmp r0, #0 beq _02034098 mov r0, r8 bl sub_020332F0 mov r0, r8 mov r1, #4 bl sub_020333D8 ldr r0, [r7] mov r4, #1 orr r0, r0, #0x400000 str r0, [r7] _02034098: add r1, r5, #0xe add r0, r5, #0x19 str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [r8, #0x10] tst r0, #0x10000 beq _020340F0 add r2, sp, #0 mov r0, r6 mov r1, #2 bl sub_02006C8C cmp r0, #0 beq _020340F0 mov r0, r8 bl sub_020332CC mov r0, r8 mov r1, #4 bl sub_020333D8 ldr r0, [r7] mov r4, #1 orr r0, r0, #0x800000 str r0, [r7] _020340F0: add ip, r5, #0x1f add r3, r5, #0x2a add r2, sp, #0 mov r0, r6 mov r1, #2 str ip, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 beq _0203413C mov r0, r8 bl sub_020332AC mov r0, r8 mov r1, #4 bl sub_020333D8 ldr r0, [r7] mov r4, #1 orr r0, r0, #0x100000 str r0, [r7] _0203413C: add ip, r5, #0x2d add r3, r5, #0x38 add r2, sp, #0 mov r0, r6 mov r1, #2 str ip, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 beq _02034188 mov r0, r8 bl sub_02033284 mov r0, r8 mov r1, #4 bl sub_020333D8 ldr r0, [r7] mov r4, #1 orr r0, r0, #0x200000 str r0, [r7] _02034188: add r5, r5, #0x3e _0203418C: ldr r1, [r8, #0x10] ands r0, r1, #8 beq _020342AC cmp r0, #0 bne _020341B8 tst r1, #0x20000 beq _020342AC mov r0, r8 bl sub_0203336C cmp r0, #0 beq _020342AC _020341B8: add r0, r5, #0xb str r5, [sp, #8] str r0, [sp, #0xc] ldr r0, [r8, #0x10] tst r0, #0x40000000 bne _02034230 add r2, sp, #0 mov r0, r6 mov r1, #2 bl sub_02006C8C cmp r0, #0 beq _02034230 ldr r0, [r7] orr r0, r0, #0x40000 str r0, [r7] ldr r0, [r8, #0x10] tst r0, #0x20000 mov r0, r8 beq _02034224 bl sub_020332AC mov r0, r8 mov r1, #4 bl sub_020333D8 ldr r0, [r7] orr r0, r0, #0x4000 str r0, [r7] b _0203422C _02034224: mov r1, #0 bl sub_020333D8 _0203422C: mov r4, #1 _02034230: add r1, r5, #0xe add r0, r5, #0x19 str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [r8, #0x10] tst r0, #0x20000000 bne _020342AC add r2, sp, #0 mov r0, r6 mov r1, #2 bl sub_02006C8C cmp r0, #0 beq _020342AC ldr r0, [r7] orr r0, r0, #0x80000 str r0, [r7] ldr r0, [r8, #0x10] tst r0, #0x20000 mov r0, r8 beq _020342A0 bl sub_02033284 mov r0, r8 mov r1, #4 bl sub_020333D8 ldr r0, [r7] orr r0, r0, #0x8000 str r0, [r7] b _020342A8 _020342A0: mov r1, #0 bl sub_020333D8 _020342A8: mov r4, #1 _020342AC: ldr r1, [r8, #0xc] ldr r0, [r8, #0x10] add r5, r1, #4 tst r0, #2 beq _020342F8 sub r5, r5, #0x12 add r3, r5, #0xb add r2, sp, #0 mov r0, r6 mov r1, #2 str r5, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r7] movne r4, #1 orrne r0, r0, #2 orrne r0, r0, #0x20000 strne r0, [r7] _020342F8: ldr r0, [r8, #0x10] tst r0, #4 beq _0203433C sub ip, r5, #0x12 sub r3, r5, #7 add r2, sp, #0 mov r0, r6 mov r1, #2 str ip, [sp, #8] str r3, [sp, #0xc] bl sub_02006C8C cmp r0, #0 ldrne r0, [r7] movne r4, #1 orrne r0, r0, #1 orrne r0, r0, #0x10000 strne r0, [r7] _0203433C: ldr r1, [r7] cmp r1, #0 beq _02034354 mov r0, r8 bl sub_02032DE8 mov r4, #1 _02034354: mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02033F30 arm_func_start sub_02034360 sub_02034360: ; 0x02034360 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r8, r0 ldr r0, [r8, #0x10] mov r7, r1 tst r0, #0x1000 ldr r4, [r8, #0xe0] beq _02034660 ldmia r8, {r1, r2} mov r0, #0x17 str r0, [sp] sub r0, r2, r1 sub r5, r0, #0x10 ldr r2, [r8, #0xc] ldr r1, [r8, #8] mov r0, r7 sub r1, r2, r1 sub r3, r1, #4 mov r2, r5 mov r1, #2 mov r6, #4 bl sub_02025D50 ldr r0, [r8, #0x10] tst r0, #0x2000 beq _020343E0 tst r4, #0x1000000 ldrne r3, _02034668 ; =_0209AFDC mov r0, r7 ldreq r3, _0203466C ; =_0209AFE4 add r2, r5, #3 mov r1, #4 bl sub_02026214 _020343E0: ldr r0, [r8, #0x10] tst r0, #0x4000 beq _02034408 tst r4, #0x2000000 ldrne r3, _02034670 ; =_0209AFEC mov r0, r7 ldreq r3, _02034674 ; =_0209AFF4 add r2, r5, #3 mov r1, #0x16 bl sub_02026214 _02034408: ldr r0, [r8, #0x10] add r6, r6, #0x26 tst r0, #0x8000 beq _02034510 tst r0, #0x20000 bne _02034510 mov r0, r8 bl sub_0203336C cmp r0, #0 beq _0203450C ldr r0, [r8, #0x10] tst r0, #0x10000 beq _020344A4 mov r0, r8 bl sub_02033390 cmp r0, #0 bne _02034454 tst r4, #0x400000 beq _02034470 _02034454: tst r4, #0x400000 ldrne r3, _02034678 ; =_0209AFFC mov r0, r7 ldreq r3, _0203467C ; =_0209B004 mov r1, r6 add r2, r5, #3 bl sub_02026214 _02034470: mov r0, r8 bl sub_020333B4 cmp r0, #0 bne _02034488 tst r4, #0x800000 beq _020344A4 _02034488: tst r4, #0x800000 ldrne r3, _02034680 ; =_0209B00C mov r0, r7 ldreq r3, _02034684 ; =_0209B014 add r1, r6, #0xe add r2, r5, #3 bl sub_02026214 _020344A4: mov r0, r8 bl sub_02033390 cmp r0, #0 bne _020344BC tst r4, #0x100000 beq _020344D8 _020344BC: tst r4, #0x100000 ldrne r3, _02034688 ; =_0209B01C mov r0, r7 ldreq r3, _0203468C ; =_0209B024 add r1, r6, #0x1f add r2, r5, #3 bl sub_02026214 _020344D8: mov r0, r8 bl sub_020333B4 cmp r0, #0 bne _020344F0 tst r4, #0x200000 beq _0203450C _020344F0: tst r4, #0x200000 ldrne r3, _02034690 ; =_0209B02C mov r0, r7 ldreq r3, _02034694 ; =_0209B034 add r1, r6, #0x2d add r2, r5, #3 bl sub_02026214 _0203450C: add r6, r6, #0x3e _02034510: ldr r1, [r8, #0x10] ldr r0, _02034698 ; =0x00020008 tst r1, r0 beq _020345DC tst r4, #0x40000 beq _02034540 ldr r3, _0203469C ; =_0209B03C mov r0, r7 mov r1, r6 add r2, r5, #3 bl sub_02026214 b _0203457C _02034540: tst r1, #0x20000000 bne _0203457C tst r1, #8 bne _02034568 tst r1, #0x20000 beq _0203457C mov r0, r8 bl sub_02033390 cmp r0, #0 beq _0203457C _02034568: ldr r3, _020346A0 ; =_0209B044 mov r0, r7 mov r1, r6 add r2, r5, #3 bl sub_02026214 _0203457C: tst r4, #0x80000 beq _0203459C ldr r3, _020346A4 ; =_0209B04C mov r0, r7 add r1, r6, #0xe add r2, r5, #3 bl sub_02026214 b _020345DC _0203459C: ldr r0, [r8, #0x10] tst r0, #0x40000000 bne _020345DC tst r0, #8 bne _020345C8 tst r0, #0x20000 beq _020345DC mov r0, r8 bl sub_020333B4 cmp r0, #0 beq _020345DC _020345C8: ldr r3, _020346A8 ; =_0209B054 mov r0, r7 add r1, r6, #0xe add r2, r5, #3 bl sub_02026214 _020345DC: ldr r2, [r8, #0xc] ldr r1, [r8, #8] ldr r0, [r8, #0x10] sub r1, r2, r1 tst r0, #2 add r6, r1, #4 beq _02034618 tst r4, #0x20000 ldrne r3, _020346AC ; =_0209B05C sub r6, r6, #0x12 ldreq r3, _020346B0 ; =_0209B064 mov r0, r7 mov r1, r6 add r2, r5, #3 bl sub_02026214 _02034618: ldr r0, [r8, #0x10] tst r0, #4 beq _02034660 tst r0, #0x18000000 beq _02034644 ldr r3, _020346B4 ; =_0209B074 mov r0, r7 sub r1, r6, #0x12 add r2, r5, #3 bl sub_02026214 b _02034660 _02034644: tst r4, #0x10000 ldrne r3, _020346B8 ; =_0209B07C mov r0, r7 ldreq r3, _020346BC ; =_0209B084 sub r1, r6, #0x12 add r2, r5, #3 bl sub_02026214 _02034660: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02034668: .word _0209AFDC _0203466C: .word _0209AFE4 _02034670: .word _0209AFEC _02034674: .word _0209AFF4 _02034678: .word _0209AFFC _0203467C: .word _0209B004 _02034680: .word _0209B00C _02034684: .word _0209B014 _02034688: .word _0209B01C _0203468C: .word _0209B024 _02034690: .word _0209B02C _02034694: .word _0209B034 _02034698: .word 0x00020008 _0203469C: .word _0209B03C _020346A0: .word _0209B044 _020346A4: .word _0209B04C _020346A8: .word _0209B054 _020346AC: .word _0209B05C _020346B0: .word _0209B064 _020346B4: .word _0209B074 _020346B8: .word _0209B07C _020346BC: .word _0209B084 arm_func_end sub_02034360 arm_func_start sub_020346C0 sub_020346C0: ; 0x020346C0 stmdb sp!, {r4, lr} mov r0, #0xdc mov r1, #1 bl MemAlloc mov r4, r0 ldr ip, _02034708 ; =_020AFDB8 ldr r0, _0203470C ; =_0209B08C str r4, [ip] add lr, r4, #0xc4 ldmia r0, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} mov r1, #0 str r1, [r4, #0xd4] ldr r0, [ip] strb r1, [r0, #0xd8] bl sub_02034710 bl sub_020469BC ldmia sp!, {r4, pc} .align 2, 0 _02034708: .word _020AFDB8 _0203470C: .word _0209B08C arm_func_end sub_020346C0 arm_func_start sub_02034710 sub_02034710: ; 0x02034710 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 ldr r1, _02034798 ; =_020AFDB8 ldr r0, _0203479C ; =_0209B08C ldr r1, [r1] add r4, r1, #0xc4 mov r1, r4 bl sub_020347A0 cmp r0, #0 bne _0203473C bl sub_020347F0 _0203473C: ldr r0, _0203479C ; =_0209B08C add r7, sp, #0 ldmia r0, {r0, r1, r2, r3} stmia r7, {r0, r1, r2, r3} ldr ip, _02034798 ; =_020AFDB8 ldmia r7, {r0, r1, r2, r3} ldr r5, [ip] mov r6, #0 stmia r5, {r0, r1, r2, r3} strb r6, [r5, #0x10] ldr r5, [ip] ldmia r7, {r0, r1, r2, r3} add lr, r5, #0x14 stmia lr, {r0, r1, r2, r3} str r6, [r5, #0x24] ldr r0, [ip] strb r6, [r0, #0xc0] ldmia r7, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r0, [ip] str r6, [r0, #0xd4] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02034798: .word _020AFDB8 _0203479C: .word _0209B08C arm_func_end sub_02034710 arm_func_start sub_020347A0 sub_020347A0: ; 0x020347A0 cmp r0, #0 ldreq r0, _020347EC ; =_0209B08C cmp r1, #0 ldreq r1, _020347EC ; =_0209B08C ldr r3, [r0] ldr r2, [r1] cmp r3, r2 ldreq r3, [r0, #4] ldreq r2, [r1, #4] cmpeq r3, r2 ldreq r3, [r0, #8] ldreq r2, [r1, #8] cmpeq r3, r2 ldreq r2, [r0, #0xc] ldreq r0, [r1, #0xc] cmpeq r2, r0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _020347EC: .word _0209B08C arm_func_end sub_020347A0 arm_func_start sub_020347F0 sub_020347F0: ; 0x020347F0 stmdb sp!, {r4, lr} ldr r0, _0203483C ; =_020AFDB8 ldr r4, [r0] ldr r0, [r4, #0xcc] cmp r0, #0 beq _0203480C blx r0 _0203480C: ldr r0, _0203483C ; =_020AFDB8 ldr r0, [r0] ldrb r0, [r0, #0xd8] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0xc4] bl UnloadOverlay ldr r0, _0203483C ; =_020AFDB8 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0xd8] ldmia sp!, {r4, pc} .align 2, 0 _0203483C: .word _020AFDB8 arm_func_end sub_020347F0 arm_func_start sub_02034840 sub_02034840: ; 0x02034840 stmdb sp!, {r4, lr} ldr r1, _020348DC ; =_020AFDB8 mov r4, r0 ldr r2, [r1] ldrb r1, [r2, #0x10] cmp r1, #0 beq _02034894 cmp r4, #0 beq _0203487C add r1, r2, #0x14 bl sub_020347A0 cmp r0, #0 beq _02034894 mov r0, #1 ldmia sp!, {r4, pc} _0203487C: ldr r0, _020348E0 ; =_0209B08C add r1, r2, #0x14 bl sub_020347A0 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} _02034894: cmp r4, #0 beq _020348B4 ldr r1, _020348DC ; =_020AFDB8 mov r0, r4 ldr r1, [r1] add r1, r1, #0xc4 bl sub_020347A0 ldmia sp!, {r4, pc} _020348B4: ldr r1, _020348DC ; =_020AFDB8 ldr r0, _020348E0 ; =_0209B08C ldr r1, [r1] add r1, r1, #0x14 bl sub_020347A0 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} .align 2, 0 _020348DC: .word _020AFDB8 _020348E0: .word _0209B08C arm_func_end sub_02034840 arm_func_start sub_020348E4 sub_020348E4: ; 0x020348E4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02034970 ; =_020AFDB8 mov r4, r0 ldr r1, [r1] add r1, r1, #0xc4 bl sub_020347A0 cmp r0, #0 bne _02034968 ldr r0, _02034970 ; =_020AFDB8 ldr r1, [r0] ldrb r0, [r1, #0x10] cmp r0, #0 beq _02034930 mov r0, r4 add r1, r1, #0x14 bl sub_020347A0 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _02034930: ldr r0, _02034970 ; =_020AFDB8 mov r5, #1 ldr r1, [r0] mov lr, #0 strb r5, [r1, #0x10] ldr r1, [r0] strb lr, [r1, #0xc0] ldr ip, [r0] ldmia r4, {r0, r1, r2, r3} add r4, ip, #0x14 stmia r4, {r0, r1, r2, r3} str lr, [ip, #0x24] mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _02034968: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02034970: .word _020AFDB8 arm_func_end sub_020348E4 arm_func_start sub_02034974 sub_02034974: ; 0x02034974 stmdb sp!, {r4, r5, r6, lr} ldr r3, _02034A34 ; =_020AFDB8 mov r5, r1 ldr r1, [r3] mov r6, r0 add r1, r1, #0xc4 mov r4, r2 bl sub_020347A0 cmp r0, #0 bne _02034A2C ldr r0, _02034A34 ; =_020AFDB8 ldr r1, [r0] ldrb r0, [r1, #0x10] cmp r0, #0 beq _020349C8 mov r0, r6 add r1, r1, #0x14 bl sub_020347A0 cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _020349C8: ldr ip, _02034A34 ; =_020AFDB8 mov r2, #1 ldr r0, [ip] mov r1, #0 strb r2, [r0, #0x10] ldr r0, [ip] cmp r4, #0 strb r1, [r0, #0xc0] ldr lr, [ip] ldmia r6, {r0, r1, r2, r3} add r6, lr, #0x14 stmia r6, {r0, r1, r2, r3} str r5, [lr, #0x24] beq _02034A24 ldr r0, [ip] mov r5, #9 add r6, r0, #0x28 _02034A0C: ldmia r4!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _02034A0C ldmia r4, {r0, r1} stmia r6, {r0, r1} _02034A24: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02034A2C: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02034A34: .word _020AFDB8 arm_func_end sub_02034974 arm_func_start sub_02034A38 sub_02034A38: ; 0x02034A38 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02034A7C ; =_020AFDB8 mov r5, r0 ldr r4, [r1] ldr r0, [r4, #0x24] cmp r0, #0 beq _02034A74 add lr, r4, #0x28 mov ip, #9 _02034A5C: ldmia lr!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02034A5C ldmia lr, {r0, r1} stmia r5, {r0, r1} _02034A74: ldr r0, [r4, #0x24] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02034A7C: .word _020AFDB8 arm_func_end sub_02034A38 arm_func_start sub_02034A80 sub_02034A80: ; 0x02034A80 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 ldr r0, _02034C9C ; =_020AFDB8 ldr ip, [r0] ldr r0, [ip, #0xd4] add r4, ip, #0xc4 cmp r0, #1 beq _02034AAC cmp r0, #2 beq _02034B6C b _02034BE4 _02034AAC: ldrb r0, [ip, #0x10] cmp r0, #0 beq _02034AD8 add r6, ip, #0x14 ldmia r6, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r0, _02034CA0 ; =_0209B08C mov r5, #0 ldmia r0, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} strb r5, [ip, #0x10] _02034AD8: ldr ip, _02034C9C ; =_020AFDB8 ldr r6, [ip] ldrb r0, [r6, #0xc0] cmp r0, #0 beq _02034B0C ldr r0, _02034CA0 ; =_0209B08C mov r5, #0 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} strb r5, [r6, #0xc0] ldr r0, [ip] str r5, [r0, #0xd4] b _02034C94 _02034B0C: ldr r0, [r4] bl OverlayIsLoaded cmp r0, #0 bne _02034B34 ldr r0, [r4] bl LoadOverlay ldr r0, _02034C9C ; =_020AFDB8 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0xd8] _02034B34: ldr r0, [r4, #4] cmp r0, #0 beq _02034B5C blx r0 cmp r0, #0 ldreq r0, _02034C9C ; =_020AFDB8 moveq r1, #3 ldreq r0, [r0] streq r1, [r0, #0xd4] beq _02034C94 _02034B5C: ldr r0, _02034C9C ; =_020AFDB8 mov r1, #2 ldr r0, [r0] str r1, [r0, #0xd4] _02034B6C: add r5, sp, #0 ldmia r4, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} ldr r0, [r4, #0xc] blx r0 mov r5, r0 sub r0, r5, #3 cmp r0, #1 bhi _02034BE4 add r1, sp, #0 mov r0, r4 bl sub_020347A0 cmp r0, #0 beq _02034BE4 ldr r0, _02034C9C ; =_020AFDB8 mov r1, #3 ldr r0, [r0] cmp r5, #4 str r1, [r0, #0xd4] bne _02034BE4 bl sub_020347F0 ldr r0, _02034CA0 ; =_0209B08C ldr ip, _02034C9C ; =_020AFDB8 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r0, [ip] mov r1, #0 strb r1, [r0, #0xc0] ldr r0, [ip] str r1, [r0, #0xd4] _02034BE4: ldr r0, _02034C9C ; =_020AFDB8 ldr r1, [r0] ldrb r0, [r1, #0x10] cmp r0, #0 beq _02034C4C ldr r0, _02034CA0 ; =_0209B08C mov r1, r4 bl sub_020347A0 cmp r0, #0 bne _02034C10 bl sub_020347F0 _02034C10: ldr ip, _02034C9C ; =_020AFDB8 mov r5, #0 ldr r6, [ip] ldr lr, _02034CA0 ; =_0209B08C add r0, r6, #0x14 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} strb r5, [r6, #0x10] ldr ip, [ip] ldmia lr, {r0, r1, r2, r3} add r4, ip, #0x14 stmia r4, {r0, r1, r2, r3} mov r0, #1 str r0, [ip, #0xd4] b _02034C94 _02034C4C: ldrb r0, [r1, #0xc0] cmp r0, #0 beq _02034C94 ldr r0, _02034CA0 ; =_0209B08C mov r1, r4 bl sub_020347A0 cmp r0, #0 bne _02034C70 bl sub_020347F0 _02034C70: ldr r0, _02034CA0 ; =_0209B08C ldr ip, _02034C9C ; =_020AFDB8 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r0, [ip] mov r1, #0 strb r1, [r0, #0xc0] ldr r0, [ip] str r1, [r0, #0xd4] _02034C94: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02034C9C: .word _020AFDB8 _02034CA0: .word _0209B08C arm_func_end sub_02034A80 arm_func_start sub_02034CA4 sub_02034CA4: ; 0x02034CA4 stmdb sp!, {r3, lr} ldr r0, _02034D08 ; =_020AFDBC ldr r1, [r0, #8] cmp r1, #0 beq _02034CE4 ldr r1, [r0, #0xc] ldrb r0, [r1, #0x480] cmp r0, #0 bne _02034D00 ldr r0, [r1, #0x10] cmp r0, #0 moveq r0, #3 streq r0, [r1, #0x10] beq _02034D00 mov r0, #0 ldmia sp!, {r3, pc} _02034CE4: ldr r0, [r0, #0xc] cmp r0, #0 beq _02034D00 bl MemFree ldr r0, _02034D08 ; =_020AFDBC mov r1, #0 str r1, [r0, #0xc] _02034D00: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02034D08: .word _020AFDBC arm_func_end sub_02034CA4 arm_func_start sub_02034D0C sub_02034D0C: ; 0x02034D0C stmdb sp!, {r3, lr} ldr r0, _02034D4C ; =_020AFDBC ldr r1, [r0, #8] ldr r0, [r0, #0xc] cmp r1, #0 movne r1, #1 strneb r1, [r0, #0x480] bne _02034D44 cmp r0, #0 beq _02034D44 bl MemFree ldr r0, _02034D4C ; =_020AFDBC mov r1, #0 str r1, [r0, #0xc] _02034D44: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02034D4C: .word _020AFDBC arm_func_end sub_02034D0C arm_func_start sub_02034D50 sub_02034D50: ; 0x02034D50 stmdb sp!, {r3, lr} ldr r0, _02034DA0 ; =_020AFDBC ldr r0, [r0, #0xc] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02034DA4 ; =0x00000484 mov r1, #8 bl MemAlloc ldr r1, _02034DA0 ; =_020AFDBC str r0, [r1, #0xc] bl InitPortraitBox ldr r0, _02034DA0 ; =_020AFDBC mov r2, #0 ldr r1, [r0, #0xc] str r2, [r1, #0x10] ldr r1, [r0, #0xc] str r2, [r1, #0x468] ldr r0, [r0, #0xc] strb r2, [r0, #0x480] ldmia sp!, {r3, pc} .align 2, 0 _02034DA0: .word _020AFDBC _02034DA4: .word 0x00000484 arm_func_end sub_02034D50 arm_func_start sub_02034DA8 sub_02034DA8: ; 0x02034DA8 stmdb sp!, {r3, lr} ldr r0, _02034E20 ; =_020AFDBC ldr r2, [r0, #8] cmp r2, #0 beq _02034DE4 ldr r1, [r0, #0xc] ldrb r0, [r1, #0x480] cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} ldr r0, [r1, #0x10] cmp r0, #0 movne r0, #1 ldreqb r0, [r2, #8] ldmia sp!, {r3, pc} _02034DE4: ldr r0, [r0, #0xc] cmp r0, #0 beq _02034E04 ldr r0, [r0, #0x10] cmp r0, #0 beq _02034E18 mov r0, #1 ldmia sp!, {r3, pc} _02034E04: ldr r0, _02034E24 ; =_0209B09C bl sub_02034840 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02034E18: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02034E20: .word _020AFDBC _02034E24: .word _0209B09C arm_func_end sub_02034DA8 arm_func_start sub_02034E28 sub_02034E28: ; 0x02034E28 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02034D50 cmp r4, #0 ldrne ip, _02034E5C ; =_020AFDBC ldmneia r4, {r0, r1, r2, r3} ldrne ip, [ip, #0xc] stmneia ip, {r0, r1, r2, r3} ldmneia sp!, {r4, pc} ldr r0, _02034E5C ; =_020AFDBC ldr r0, [r0, #0xc] bl InitPortraitBox ldmia sp!, {r4, pc} .align 2, 0 _02034E5C: .word _020AFDBC arm_func_end sub_02034E28 arm_func_start sub_02034E60 sub_02034E60: ; 0x02034E60 ldr r2, _02034E6C ; =_020AFDBC stmia r2, {r0, r1} bx lr .align 2, 0 _02034E6C: .word _020AFDBC arm_func_end sub_02034E60 arm_func_start sub_02034E70 sub_02034E70: ; 0x02034E70 ldr r0, _02034EB0 ; =_020AFDBC ldr r1, [r0, #0xc] cmp r1, #0 beq _02034EA8 ldrb r0, [r1, #0x480] cmp r0, #0 bne _02034EA8 ldr r0, [r1, #0x10] cmp r0, #0 moveq r0, #4 streq r0, [r1, #0x10] beq _02034EA8 mov r0, #0 bx lr _02034EA8: mov r0, #1 bx lr .align 2, 0 _02034EB0: .word _020AFDBC arm_func_end sub_02034E70 arm_func_start sub_02034EB4 sub_02034EB4: ; 0x02034EB4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02034D50 ldr r0, _02034F18 ; =_020AFDBC mov r1, r4 ldr r2, [r0, #0xc] strh r6, [r2, #0x14] ldr r2, [r0, #0xc] strh r5, [r2, #0x16] ldr r0, [r0, #0xc] add r0, r0, #0x18 bl sub_020236FC ldr r1, _02034F18 ; =_020AFDBC ldr r0, _02034F1C ; =_0209B09C ldr r1, [r1, #0xc] mov r2, #1 str r2, [r1, #0x10] bl sub_02034840 cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _02034F1C ; =_0209B09C bl sub_020348E4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02034F18: .word _020AFDBC _02034F1C: .word _0209B09C arm_func_end sub_02034EB4 arm_func_start sub_02034F20 sub_02034F20: ; 0x02034F20 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02034D50 ldr r0, _02034F90 ; =_020AFDBC mov r1, r5 ldr r2, [r0, #0xc] strh r6, [r2, #0x14] ldr r0, [r0, #0xc] add r0, r0, #0x68 bl strcpy ldr r0, _02034F90 ; =_020AFDBC mov r1, r4 ldr r0, [r0, #0xc] add r0, r0, #0x18 bl sub_020236FC ldr r1, _02034F90 ; =_020AFDBC ldr r0, _02034F94 ; =_0209B09C ldr r1, [r1, #0xc] mov r2, #2 str r2, [r1, #0x10] bl sub_02034840 cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _02034F94 ; =_0209B09C bl sub_020348E4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02034F90: .word _020AFDBC _02034F94: .word _0209B09C arm_func_end sub_02034F20 arm_func_start sub_02034F98 sub_02034F98: ; 0x02034F98 stmdb sp!, {r3, lr} ldr r0, _0203501C ; =_020AFDBC ldr r2, [r0, #8] cmp r2, #0 beq _02034FE8 ldr r1, [r0, #0xc] ldrb r0, [r1, #0x480] cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} ldr r0, [r1, #0x468] cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} ldrsb r1, [r2] mvn r0, #1 cmp r1, r0 moveq r0, #0 ldrneb r0, [r2, #9] ldmia sp!, {r3, pc} _02034FE8: ldr r0, _02035020 ; =_0209B09C bl sub_02034840 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} ldr r0, _0203501C ; =_020AFDBC ldr r0, [r0, #0xc] cmp r0, #0 ldrne r0, [r0, #0x468] cmpne r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0203501C: .word _020AFDBC _02035020: .word _0209B09C arm_func_end sub_02034F98 arm_func_start sub_02035024 sub_02035024: ; 0x02035024 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bl sub_02034D50 ldr r1, _02035090 ; =_020AFDBC mov r0, #0 str r0, [r1, #0x10] ldr r0, [r1, #0xc] mov r3, #2 str r7, [r0, #0x46c] ldr r2, [r1, #0xc] ldr r0, _02035094 ; =_0209B09C str r6, [r2, #0x474] ldr r2, [r1, #0xc] str r5, [r2, #0x478] ldr r2, [r1, #0xc] str r3, [r2, #0x468] ldr r1, [r1, #0xc] str r4, [r1, #0x47c] bl sub_02034840 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02035094 ; =_0209B09C bl sub_020348E4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02035090: .word _020AFDBC _02035094: .word _0209B09C arm_func_end sub_02035024 arm_func_start sub_02035098 sub_02035098: ; 0x02035098 stmdb sp!, {r3, lr} ldr r0, _020350D0 ; =_020AFDBC ldr r0, [r0, #8] cmp r0, #0 ldrnesb r0, [r0] mvnne r1, #1 cmpne r0, r1 beq _020350C4 bl GetNormalMenuResult ldr r1, _020350D0 ; =_020AFDBC str r0, [r1, #0x10] _020350C4: ldr r0, _020350D0 ; =_020AFDBC ldr r0, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 _020350D0: .word _020AFDBC arm_func_end sub_02035098 arm_func_start sub_020350D4 sub_020350D4: ; 0x020350D4 stmdb sp!, {r3, lr} mov r0, #0xc mov r1, #8 bl MemAlloc ldr r2, _02035150 ; =_020AFDBC mov ip, #0 str r0, [r2, #8] str ip, [r0, #4] ldr r1, [r2, #8] mov r0, ip strb ip, [r1, #8] ldr r3, [r2, #8] mov r1, #3 strb ip, [r3, #9] ldr r3, [r2, #8] mov r2, #1 strb ip, [r3, #0xa] bl CreatePortraitBox ldr r1, _02035150 ; =_020AFDBC ldr r1, [r1, #8] strb r0, [r1, #2] mov r0, #0 bl CreateDBox ldr r1, _02035150 ; =_020AFDBC mvn r2, #1 ldr r3, [r1, #8] strb r0, [r3, #1] ldr r1, [r1, #8] mov r0, #1 strb r2, [r1] ldmia sp!, {r3, pc} .align 2, 0 _02035150: .word _020AFDBC arm_func_end sub_020350D4 arm_func_start sub_02035154 sub_02035154: ; 0x02035154 stmdb sp!, {r3, lr} ldr r0, _020351D8 ; =_020AFDBC ldr r0, [r0, #8] cmp r0, #0 beq _020351B4 ldrsb r0, [r0] mvn r1, #1 cmp r0, r1 beq _0203517C bl FreeNormalMenu _0203517C: ldr r0, _020351D8 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0, #1] bl FreeDBox ldr r0, _020351D8 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0, #2] bl FreePortraitBox ldr r0, _020351D8 ; =_020AFDBC ldr r0, [r0, #8] bl MemFree ldr r0, _020351D8 ; =_020AFDBC mov r1, #0 str r1, [r0, #8] _020351B4: ldr r0, _020351D8 ; =_020AFDBC ldr r0, [r0, #0xc] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _020351D8 ; =_020AFDBC mov r1, #0 str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _020351D8: .word _020AFDBC arm_func_end sub_02035154 arm_func_start sub_020351DC sub_020351DC: ; 0x020351DC stmdb sp!, {r3, r4, lr} sub sp, sp, #0x9c ldr r0, _02035598 ; =_020AFDBC ldr r2, [r0, #8] ldr r1, [r2, #4] cmp r1, #0 beq _02035204 cmp r1, #1 beq _02035574 b _0203558C _02035204: ldr r3, [r0, #0xc] ldr r0, [r3, #0x10] cmp r0, #0 beq _020352E0 cmp r0, #4 addls pc, pc, r0, lsl #2 b _02035290 _02035220: ; jump table b _02035290 ; case 0 b _02035234 ; case 1 b _0203525C ; case 2 b _02035290 ; case 3 b _02035284 ; case 4 _02035234: ldrsb r0, [r2, #1] ldrh r1, [r3, #0x14] ldrh r2, [r3, #0x16] add r3, r3, #0x18 bl ShowMessageInDBox ldr r0, _02035598 ; =_020AFDBC mov r1, #1 ldr r0, [r0, #8] strb r1, [r0, #0xa] b _02035298 _0203525C: ldrsb r0, [r2, #1] ldrh r1, [r3, #0x14] add r2, r3, #0x68 add r3, r3, #0x18 bl sub_0202F23C ldr r0, _02035598 ; =_020AFDBC mov r1, #1 ldr r0, [r0, #8] strb r1, [r0, #0xa] b _02035298 _02035284: ldrsb r0, [r2, #1] bl sub_0202F3F8 b _02035298 _02035290: ldrsb r0, [r2, #1] bl sub_0202F2C4 _02035298: ldr r2, _02035598 ; =_020AFDBC ldr r1, [r2, #8] ldrb r0, [r1, #0xa] cmp r0, #0 beq _020352C8 ldr r0, [r2, #0xc] ldrh r0, [r0, #0x14] tst r0, #0x20 beq _020352C8 ldrsb r0, [r1, #1] ldmia r2, {r1, r2} bl sub_0202F190 _020352C8: ldr r0, _02035598 ; =_020AFDBC mov r1, #0 ldr r0, [r0, #0xc] mov r4, #1 str r1, [r0, #0x10] b _020352EC _020352E0: ldrsb r0, [r2, #1] bl IsDBoxActive mov r4, r0 _020352EC: ldr r0, _02035598 ; =_020AFDBC ldr r1, [r0, #8] strb r4, [r1, #8] ldr r2, [r0, #0xc] ldr r1, [r2, #0x468] cmp r1, #0 beq _02035408 ldr r1, [r2, #0x478] str r1, [sp, #4] ldr r1, [r2, #0x46c] orr r1, r1, #0x20 str r1, [r2, #0x46c] ldr r1, [r0, #0xc] ldr r0, [r1, #0x46c] tst r0, #0x8000 moveq r4, #8 beq _02035350 orr r0, r0, #0x1800 orr r0, r0, #0x40000 str r0, [r1, #0x46c] mov r1, #0 mov r0, #0x10 strh r1, [sp, #0xc] str r0, [sp, #0x10] mov r4, #5 _02035350: ldr r0, _02035598 ; =_020AFDBC mvn r1, #1 ldr r0, [r0, #8] ldrsb r0, [r0] cmp r0, r1 beq _0203536C bl FreeNormalMenu _0203536C: ldr r0, _02035598 ; =_020AFDBC ldr r2, [r0, #0xc] ldr r0, [r2, #0x468] str r4, [sp] cmp r0, #1 mov r0, #0 ldr r1, [r2, #0x46c] bne _020353A0 ldr r3, [r2, #0x470] add r2, sp, #4 bl CreateNormalMenu ldr r1, _02035598 ; =_020AFDBC b _020353B0 _020353A0: ldr r3, [r2, #0x474] add r2, sp, #4 bl sub_0202B1AC ldr r1, _02035598 ; =_020AFDBC _020353B0: ldr r1, [r1, #8] strb r0, [r1] ldr r0, _02035598 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0, #1] bl ShowDBox ldr r0, _02035598 ; =_020AFDBC ldr r1, [r0, #0xc] ldr r1, [r1, #0x47c] cmp r1, #0 ble _020353E8 ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_0202BA0C _020353E8: ldr r0, _02035598 ; =_020AFDBC mov r2, #0 ldr r1, [r0, #0xc] mov r4, #1 str r2, [r1, #0x468] ldr r0, [r0, #8] strb r4, [r0, #9] b _02035468 _02035408: ldr r0, [r0, #8] mvn r1, #1 ldrsb r0, [r0] cmp r0, r1 beq _02035468 bl GetNormalMenuResult ldr r1, _02035598 ; =_020AFDBC mov r4, #1 str r0, [r1, #0x10] ldr r0, [r1, #8] strb r4, [r0, #9] ldr r0, [r1, #8] ldrsb r0, [r0] bl IsNormalMenuActive cmp r0, #0 bne _02035468 ldr r0, _02035598 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0] bl FreeNormalMenu ldr r0, _02035598 ; =_020AFDBC mvn r1, #1 ldr r0, [r0, #8] strb r1, [r0] _02035468: ldr r0, _02035598 ; =_020AFDBC ldr r1, [r0, #0xc] ldrb r1, [r1, #0x480] cmp r1, #0 beq _020354AC ldr r0, [r0, #8] ldrsb r0, [r0, #1] bl sub_0202F334 ldr r0, _02035598 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0, #2] bl HidePortraitBox ldr r0, _02035598 ; =_020AFDBC mov r1, #1 ldr r0, [r0, #8] str r1, [r0, #4] b _0203558C _020354AC: cmp r4, #0 bne _020354F8 ldr r0, [r0, #8] ldrsb r0, [r0, #1] bl sub_0202F16C cmp r0, #0x10 cmpne r0, #0 bne _0203558C ldr r0, _02035598 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0, #2] bl HidePortraitBox ldr r0, _02035598 ; =_020AFDBC mov r2, #1 ldr r1, [r0, #8] str r2, [r1, #4] ldr r0, [r0, #8] strb r2, [r0, #8] b _0203558C _020354F8: ldr r1, [r0, #8] ldrb r0, [r1, #0xa] cmp r0, #0 beq _0203558C ldrsb r0, [r1, #1] bl sub_0202F16C cmp r0, #0xc beq _0203558C ldr r0, _02035598 ; =_020AFDBC ldr r0, [r0, #0xc] bl IsValidPortrait cmp r0, #0 beq _02035544 ldr r0, _02035598 ; =_020AFDBC ldr r2, [r0, #8] ldr r1, [r0, #0xc] ldrsb r0, [r2, #2] bl ShowPortraitBox b _02035554 _02035544: ldr r0, _02035598 ; =_020AFDBC ldr r0, [r0, #8] ldrsb r0, [r0, #2] bl HidePortraitBox _02035554: ldr r0, _02035598 ; =_020AFDBC mov r3, #1 ldr r2, [r0, #8] mov r1, #0 strb r3, [r2, #8] ldr r0, [r0, #8] strb r1, [r0, #0xa] b _0203558C _02035574: ldrsb r0, [r2, #1] bl sub_020282F4 mvn r1, #5 cmp r0, r1 moveq r0, #4 beq _02035590 _0203558C: mov r0, #1 _02035590: add sp, sp, #0x9c ldmia sp!, {r3, r4, pc} .align 2, 0 _02035598: .word _020AFDBC arm_func_end sub_020351DC arm_func_start sub_0203559C sub_0203559C: ; 0x0203559C stmdb sp!, {r3, lr} mov lr, r0 mov r2, r1 ldr r3, _020355D4 ; =_020AFDD0 mov ip, #0 ldr r0, _020355D8 ; =_0209B0FC mov r1, lr strb ip, [r3] bl sub_02034974 cmp r0, #0 ldrne r0, _020355D4 ; =_020AFDD0 movne r1, #0 strneb r1, [r0, #1] ldmia sp!, {r3, pc} .align 2, 0 _020355D4: .word _020AFDD0 _020355D8: .word _0209B0FC arm_func_end sub_0203559C arm_func_start sub_020355DC sub_020355DC: ; 0x020355DC stmdb sp!, {r3, r4, r5, lr} ldr r3, _02035638 ; =_020AFDD0 mov r5, r0 mov lr, r1 mov ip, #0 mov r4, r2 ldr r0, _0203563C ; =_0209B10C mov r1, r5 mov r2, lr strb ip, [r3] bl sub_02034974 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02035638 ; =_020AFDD0 mov r1, #1 strb r1, [r0] bl sub_02035640 ldr r0, _02035638 ; =_020AFDD0 mov r1, #0 ldr r2, [r0, #4] str r4, [r2, #0xf8] strb r1, [r0, #1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02035638: .word _020AFDD0 _0203563C: .word _0209B10C arm_func_end sub_020355DC arm_func_start sub_02035640 sub_02035640: ; 0x02035640 stmdb sp!, {r3, lr} ldr r0, _02035764 ; =_020AFDD0 ldrb r0, [r0] cmp r0, #0 movne r1, #0x300 moveq r1, #8 mov r0, #0xfc bl MemAlloc ldr r1, _02035764 ; =_020AFDD0 str r0, [r1, #4] add r0, r0, #0xc bl sub_02034A38 ldr r1, _02035764 ; =_020AFDD0 ldr r1, [r1, #4] str r0, [r1, #8] mov r0, #0 bl sub_02048078 ldr r0, _02035764 ; =_020AFDD0 ldr r0, [r0, #4] add r0, r0, #0xa4 bl sub_0204AB78 ldr r1, _02035764 ; =_020AFDD0 mov r0, #0 ldr r3, [r1, #4] ldrb r2, [r3, #0xa4] str r2, [r3, #0xb0] ldr r3, [r1, #4] ldrb r2, [r3, #0xa6] str r2, [r3, #0xb4] ldr r3, [r1, #4] ldrb r2, [r3, #0xa5] str r2, [r3, #0xb8] ldr r3, [r1, #4] ldrb r2, [r3, #0xa7] str r2, [r3, #0xbc] ldr r3, [r1, #4] ldrb r2, [r3, #0xa8] str r2, [r3, #0xc0] ldr r3, [r1, #4] ldrb r2, [r3, #0xa9] str r2, [r3, #0xc4] ldr r3, [r1, #4] ldrb r2, [r3, #0xaa] str r2, [r3, #0xc8] ldr r3, [r1, #4] ldrb r2, [r3, #0xab] str r2, [r3, #0xcc] ldr r3, [r1, #4] ldrb r2, [r3, #0xac] str r2, [r3, #0xd0] _02035708: ldr r2, [r1, #4] add r3, r2, r0, lsl #2 ldr r2, [r3, #0xb0] add r0, r0, #1 str r2, [r3, #0xd4] cmp r0, #9 blt _02035708 ldr r1, _02035764 ; =_020AFDD0 mvn ip, #1 ldr r0, [r1, #4] mov r3, #0 strb ip, [r0] ldr r2, [r1, #4] mov r0, #1 strb ip, [r2, #1] ldr r2, [r1, #4] strb ip, [r2, #2] ldr r2, [r1, #4] str r3, [r2, #4] ldr r2, [r1, #4] str r3, [r2, #0xf8] strb r3, [r1, #1] ldmia sp!, {r3, pc} .align 2, 0 _02035764: .word _020AFDD0 arm_func_end sub_02035640 arm_func_start sub_02035768 sub_02035768: ; 0x02035768 stmdb sp!, {r3, lr} ldr r0, _020357EC ; =_020AFDD0 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] mvn r1, #1 cmp r0, r1 beq _02035790 bl sub_0202D530 _02035790: ldr r0, _020357EC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #1] cmp r0, r1 beq _020357AC bl FreeDBox _020357AC: ldr r0, _020357EC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #2] cmp r0, r1 beq _020357C8 bl sub_0202AABC _020357C8: mov r0, #1 bl sub_02048078 ldr r0, _020357EC ; =_020AFDD0 ldr r0, [r0, #4] bl MemFree ldr r0, _020357EC ; =_020AFDD0 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _020357EC: .word _020AFDD0 arm_func_end sub_02035768 arm_func_start sub_020357F0 sub_020357F0: ; 0x020357F0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r2, _02035CCC ; =_020AFDD0 ldr r3, [r2, #4] ldr r0, [r3, #4] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02035CC0 _02035810: ; jump table b _0203582C ; case 0 b _02035920 ; case 1 b _020359BC ; case 2 b _02035A80 ; case 3 b _02035AE8 ; case 4 b _02035BC0 ; case 5 b _02035C94 ; case 6 _0203582C: ldrsb r0, [r3, #1] mvn r1, #1 cmp r0, r1 beq _0203586C bl IsDBoxActive cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0, #1] bl FreeDBox ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #1] b _02035CC0 _0203586C: ldrsb r0, [r3, #2] cmp r0, r1 beq _020358A8 bl sub_0202AB40 cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0, #2] bl sub_0202AABC ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #2] b _02035CC0 _020358A8: ldrsb r0, [r3] cmp r0, r1 bne _02035910 mov r0, #0 str r0, [r3, #0xc] ldr r0, [r2, #4] mov r1, #0x184 strh r1, [r0, #0x14] ldr r0, [r2, #4] mov r1, #0x10 str r1, [r0, #0x18] ldr r2, [r2, #4] mov r0, #9 str r0, [sp] add r0, r2, #0xb0 str r0, [sp, #4] ldr r1, [r2, #8] ldr r0, _02035CD0 ; =_0209B0EC orr r1, r1, #0x33 ldr r3, _02035CD4 ; =_0209B134 orr r1, r1, #0x1800 add r2, r2, #0xc bl sub_0202D1F0 ldr r1, _02035CCC ; =_020AFDD0 ldr r1, [r1, #4] strb r0, [r1] _02035910: ldr r0, _02035CCC ; =_020AFDD0 mov r1, #1 ldr r0, [r0, #4] str r1, [r0, #4] _02035920: ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D57C cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D5E4 ldr r1, _02035CCC ; =_020AFDD0 tst r0, #0xff strb r0, [r1, #1] beq _02035998 mov r3, #0 ldr ip, [r1, #4] mov r4, r3 mov r0, #1 _02035968: add r1, ip, r4, lsl #2 ldr r2, [r1, #0xd4] ldr r1, [r1, #0xb0] add r4, r4, #1 cmp r2, r1 movne r3, r0 cmp r4, #9 blt _02035968 cmp r3, #0 ldreq r0, _02035CCC ; =_020AFDD0 moveq r1, #0 streqb r1, [r0, #1] _02035998: ldr r0, _02035CCC ; =_020AFDD0 ldrb r1, [r0, #1] ldr r0, [r0, #4] cmp r1, #0 moveq r1, #4 streq r1, [r0, #4] movne r1, #2 strne r1, [r0, #4] b _02035CC0 _020359BC: ldrsb r0, [r3] mvn r1, #1 cmp r0, r1 beq _020359FC bl sub_0202D55C cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D530 ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0] b _02035CC0 _020359FC: ldrsb r0, [r3, #1] cmp r0, r1 bne _02035A34 mov r0, #0 bl CreateDBox ldr r3, _02035CCC ; =_020AFDD0 ldr r1, _02035CD8 ; =0x00000408 ldr r4, [r3, #4] ldr r2, _02035CDC ; =0x000001A5 strb r0, [r4, #1] ldr r0, [r3, #4] mov r3, #0 ldrsb r0, [r0, #1] bl ShowMessageInDBox _02035A34: ldr r1, _02035CCC ; =_020AFDD0 mvn r0, #1 ldr r1, [r1, #4] ldrsb r1, [r1, #2] cmp r1, r0 bne _02035A6C mov r0, #0 ldr r3, _02035CE0 ; =_0209B11C mov r2, r0 mov r1, #0x13 bl sub_0202A5CC ldr r1, _02035CCC ; =_020AFDD0 ldr r1, [r1, #4] strb r0, [r1, #2] _02035A6C: ldr r0, _02035CCC ; =_020AFDD0 mov r1, #3 ldr r0, [r0, #4] str r1, [r0, #4] b _02035CC0 _02035A80: ldrsb r0, [r3, #2] bl sub_0202AB60 cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0, #2] bl sub_0202ABB0 ldr r1, _02035CCC ; =_020AFDD0 mov r4, r0 ldr r0, [r1, #4] ldrsb r0, [r0, #1] bl sub_0202F334 cmp r4, #1 ldreq r0, _02035CCC ; =_020AFDD0 moveq r1, #0 ldreq r0, [r0, #4] streq r1, [r0, #4] beq _02035CC0 mov r0, #1 bl SetNotifyNote ldr r0, _02035CCC ; =_020AFDD0 mov r1, #4 ldr r0, [r0, #4] str r1, [r0, #4] b _02035CC0 _02035AE8: ldrsb r0, [r3] mvn r1, #1 cmp r0, r1 beq _02035B24 bl sub_0202D55C cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D530 ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0] _02035B24: ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #1] cmp r0, r1 beq _02035B68 bl IsDBoxActive cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0, #1] bl FreeDBox ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #1] _02035B68: ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #2] cmp r0, r1 beq _02035BAC bl sub_0202AB40 cmp r0, #0 bne _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 ldr r0, [r0, #4] ldrsb r0, [r0, #2] bl sub_0202AABC ldr r0, _02035CCC ; =_020AFDD0 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #2] _02035BAC: ldr r0, _02035CCC ; =_020AFDD0 mov r1, #5 ldr r0, [r0, #4] str r1, [r0, #4] b _02035CC0 _02035BC0: mov r0, #7 str r0, [r3, #4] ldrb r0, [r2, #1] cmp r0, #0 beq _02035C4C ldr r1, [r2, #4] ldr r0, [r1, #0xb0] strb r0, [r1, #0xa4] ldr r1, [r2, #4] ldr r0, [r1, #0xb4] strb r0, [r1, #0xa6] ldr r1, [r2, #4] ldr r0, [r1, #0xb8] strb r0, [r1, #0xa5] ldr r1, [r2, #4] ldr r0, [r1, #0xbc] strb r0, [r1, #0xa7] ldr r1, [r2, #4] ldr r0, [r1, #0xc0] strb r0, [r1, #0xa8] ldr r1, [r2, #4] ldr r0, [r1, #0xc4] strb r0, [r1, #0xa9] ldr r1, [r2, #4] ldr r0, [r1, #0xc8] strb r0, [r1, #0xaa] ldr r1, [r2, #4] ldr r0, [r1, #0xcc] strb r0, [r1, #0xab] ldr r1, [r2, #4] ldr r0, [r1, #0xd0] strb r0, [r1, #0xac] ldr r0, [r2, #4] add r0, r0, #0xa4 bl sub_0204AB98 _02035C4C: ldr r0, _02035CCC ; =_020AFDD0 ldr r2, [r0, #4] ldr r1, [r2, #8] tst r1, #0x100 beq _02035C70 ldrb r1, [r0, #1] ldr r0, [r2, #0x94] ldr r2, [r2, #0x90] blx r2 _02035C70: ldr r0, _02035CCC ; =_020AFDD0 ldr r1, [r0, #4] ldr r0, [r1, #0xf8] cmp r0, #0 movne r0, #6 strne r0, [r1, #4] bne _02035CC0 mov r0, #4 b _02035CC4 _02035C94: ldr r0, [r3, #0x94] ldr r1, [r3, #0xf8] blx r1 cmp r0, #0 beq _02035CC0 ldr r0, _02035CCC ; =_020AFDD0 mov r2, #7 ldr r1, [r0, #4] mov r0, #4 str r2, [r1, #4] b _02035CC4 _02035CC0: mov r0, #1 _02035CC4: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02035CCC: .word _020AFDD0 _02035CD0: .word _0209B0EC _02035CD4: .word _0209B134 _02035CD8: .word 0x00000408 _02035CDC: .word 0x000001A5 _02035CE0: .word _0209B11C arm_func_end sub_020357F0 arm_func_start sub_02035CE4 sub_02035CE4: ; 0x02035CE4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02035DA8 ; =_0209B1B8 bl sub_02034974 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r2, _02035DAC ; =_020AFDD8 mov r3, #0 mov r0, #0xb8 mov r1, #8 strb r3, [r2] bl MemAlloc ldr r1, _02035DAC ; =_020AFDD8 str r0, [r1, #4] add r0, r0, #0xc bl sub_02034A38 ldr r1, _02035DAC ; =_020AFDD8 ldr r1, [r1, #4] str r0, [r1, #8] mov r0, #0 bl sub_02048078 ldr r0, _02035DAC ; =_020AFDD8 ldr r0, [r0, #4] add r0, r0, #0xa4 bl sub_0204AF98 ldr r0, _02035DAC ; =_020AFDD8 mvn r3, #1 ldr ip, [r0, #4] mov r2, #0 ldrb r1, [ip, #0xa4] str r1, [ip, #0xb0] ldr ip, [r0, #4] ldr r1, [ip, #0xb0] str r1, [ip, #0xb4] ldr ip, [r0, #4] ldr r1, [ip, #0xb0] str r1, [ip, #0xac] ldr r1, [r0, #4] strb r3, [r1] ldr r1, [r0, #4] strb r3, [r1, #1] ldr r1, [r0, #4] strb r3, [r1, #2] ldr r1, [r0, #4] str r2, [r1, #4] ldr r1, [r0, #4] str r4, [r1, #0xa8] strb r2, [r0] ldmia sp!, {r4, pc} .align 2, 0 _02035DA8: .word _0209B1B8 _02035DAC: .word _020AFDD8 arm_func_end sub_02035CE4 arm_func_start sub_02035DB0 sub_02035DB0: ; 0x02035DB0 stmdb sp!, {r3, lr} ldr r0, _02035E34 ; =_020AFDD8 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] mvn r1, #1 cmp r0, r1 beq _02035DD8 bl sub_0202D530 _02035DD8: ldr r0, _02035E34 ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #1] cmp r0, r1 beq _02035DF4 bl FreeDBox _02035DF4: ldr r0, _02035E34 ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #2] cmp r0, r1 beq _02035E10 bl sub_0202AABC _02035E10: mov r0, #1 bl sub_02048078 ldr r0, _02035E34 ; =_020AFDD8 ldr r0, [r0, #4] bl MemFree ldr r0, _02035E34 ; =_020AFDD8 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02035E34: .word _020AFDD8 arm_func_end sub_02035DB0 arm_func_start sub_02035E38 sub_02035E38: ; 0x02035E38 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r2, _0203630C ; =_020AFDD8 ldr r3, [r2, #4] ldr r0, [r3, #4] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02036300 _02035E58: ; jump table b _02035E70 ; case 0 b _02035F64 ; case 1 b _0203604C ; case 2 b _02036110 ; case 3 b _02036178 ; case 4 b _02036250 ; case 5 _02035E70: ldrsb r0, [r3, #1] mvn r1, #1 cmp r0, r1 beq _02035EB0 bl IsDBoxActive cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0, #1] bl FreeDBox ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #1] b _02036300 _02035EB0: ldrsb r0, [r3, #2] cmp r0, r1 beq _02035EEC bl sub_0202AB40 cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0, #2] bl sub_0202AABC ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #2] b _02036300 _02035EEC: ldrsb r0, [r3] cmp r0, r1 bne _02035F54 mov r0, #0 str r0, [r3, #0xc] ldr r0, [r2, #4] mov r1, #0x1a8 strh r1, [r0, #0x14] ldr r0, [r2, #4] mov r1, #0x10 str r1, [r0, #0x18] ldr r2, [r2, #4] mov r0, #9 str r0, [sp] add r0, r2, #0xb0 str r0, [sp, #4] ldr r1, [r2, #8] ldr r0, _02036310 ; =_0209B1C8 orr r1, r1, #0x33 ldr r3, _02036314 ; =_0209B1F0 orr r1, r1, #0x1800 add r2, r2, #0xc bl sub_0202D1F0 ldr r1, _0203630C ; =_020AFDD8 ldr r1, [r1, #4] strb r0, [r1] _02035F54: ldr r0, _0203630C ; =_020AFDD8 mov r1, #1 ldr r0, [r0, #4] str r1, [r0, #4] _02035F64: ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D57C cmp r0, #0 bne _02035FE8 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D5E4 ldr r1, _0203630C ; =_020AFDD8 tst r0, #0xff strb r0, [r1] beq _02035FC4 ldr r0, [r1, #4] mov r2, #0 ldr r1, [r0, #0xb4] ldr r0, [r0, #0xb0] cmp r1, r0 movne r2, #1 cmp r2, #0 ldreq r0, _0203630C ; =_020AFDD8 moveq r1, #0 streqb r1, [r0] _02035FC4: ldr r0, _0203630C ; =_020AFDD8 ldrb r1, [r0] ldr r0, [r0, #4] cmp r1, #0 moveq r1, #4 streq r1, [r0, #4] movne r1, #2 strne r1, [r0, #4] b _02036300 _02035FE8: ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D59C movs r4, r0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r1, [r0, #4] ldrsb r0, [r1], #0xb0 bl sub_0202D5B0 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] add r0, r0, r4, lsl #2 ldr r1, [r0, #0xb0] ldr r0, [r0, #0xac] cmp r1, r0 beq _02036300 and r0, r1, #0xff bl sub_02027180 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] add r1, r0, r4, lsl #2 ldr r0, [r1, #0xb0] str r0, [r1, #0xac] b _02036300 _0203604C: ldrsb r0, [r3] mvn r1, #1 cmp r0, r1 beq _0203608C bl sub_0202D55C cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D530 ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0] b _02036300 _0203608C: ldrsb r0, [r3, #1] cmp r0, r1 bne _020360C4 mov r0, #0 bl CreateDBox ldr r3, _0203630C ; =_020AFDD8 ldr r1, _02036318 ; =0x00000408 ldr r4, [r3, #4] ldr r2, _0203631C ; =0x000001A5 strb r0, [r4, #1] ldr r0, [r3, #4] mov r3, #0 ldrsb r0, [r0, #1] bl ShowMessageInDBox _020360C4: ldr r1, _0203630C ; =_020AFDD8 mvn r0, #1 ldr r1, [r1, #4] ldrsb r1, [r1, #2] cmp r1, r0 bne _020360FC mov r0, #0 ldr r3, _02036320 ; =_0209B1D8 mov r2, r0 mov r1, #0x13 bl sub_0202A5CC ldr r1, _0203630C ; =_020AFDD8 ldr r1, [r1, #4] strb r0, [r1, #2] _020360FC: ldr r0, _0203630C ; =_020AFDD8 mov r1, #3 ldr r0, [r0, #4] str r1, [r0, #4] b _02036300 _02036110: ldrsb r0, [r3, #2] bl sub_0202AB60 cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0, #2] bl sub_0202ABB0 ldr r1, _0203630C ; =_020AFDD8 mov r4, r0 ldr r0, [r1, #4] ldrsb r0, [r0, #1] bl sub_0202F334 cmp r4, #1 ldreq r0, _0203630C ; =_020AFDD8 moveq r1, #0 ldreq r0, [r0, #4] streq r1, [r0, #4] beq _02036300 mov r0, #1 bl SetNotifyNote ldr r0, _0203630C ; =_020AFDD8 mov r1, #4 ldr r0, [r0, #4] str r1, [r0, #4] b _02036300 _02036178: ldrsb r0, [r3] mvn r1, #1 cmp r0, r1 beq _020361B4 bl sub_0202D55C cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202D530 ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0] _020361B4: ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #1] cmp r0, r1 beq _020361F8 bl IsDBoxActive cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0, #1] bl FreeDBox ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #1] _020361F8: ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #2] cmp r0, r1 beq _0203623C bl sub_0202AB40 cmp r0, #0 bne _02036300 ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrsb r0, [r0, #2] bl sub_0202AABC ldr r0, _0203630C ; =_020AFDD8 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0, #2] _0203623C: ldr r0, _0203630C ; =_020AFDD8 mov r1, #5 ldr r0, [r0, #4] str r1, [r0, #4] b _02036300 _02036250: mov r0, #6 str r0, [r3, #4] ldrb r0, [r2] mov r4, #0 ldr r1, [r2, #4] cmp r0, #0 beq _02036298 ldr r0, [r1, #0xb0] strb r0, [r1, #0xa4] ldr r0, [r2, #4] add r0, r0, #0xa4 bl sub_0204AFAC ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldr r0, [r0, #0xa8] cmp r0, #1 moveq r4, #1 b _020362A0 _02036298: ldr r0, [r1, #0xb4] strb r0, [r1, #0xa4] _020362A0: ldr r0, _0203630C ; =_020AFDD8 ldr r0, [r0, #4] ldrb r0, [r0, #0xa4] bl sub_02027180 cmp r4, #0 beq _020362D4 ldr r1, _0203630C ; =_020AFDD8 mov r0, #2 ldr r2, [r1, #4] mov r1, #0x100 add r2, r2, #0xc bl sub_0204964C b _020362F8 _020362D4: ldr r0, _0203630C ; =_020AFDD8 ldr r2, [r0, #4] ldr r1, [r2, #8] tst r1, #0x100 beq _020362F8 ldrb r1, [r0] ldr r0, [r2, #0x94] ldr r2, [r2, #0x90] blx r2 _020362F8: mov r0, #4 b _02036304 _02036300: mov r0, #1 _02036304: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0203630C: .word _020AFDD8 _02036310: .word _0209B1C8 _02036314: .word _0209B1F0 _02036318: .word 0x00000408 _0203631C: .word 0x000001A5 _02036320: .word _0209B1D8 arm_func_end sub_02035E38 arm_func_start sub_02036324 sub_02036324: ; 0x02036324 stmdb sp!, {r3, lr} mov r3, r0 mov r2, r1 ldr r0, _02036350 ; =_0209B218 mov r1, r3 bl sub_02034974 cmp r0, #0 ldrne r0, _02036354 ; =_020AFDE0 movne r1, #0 strneb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02036350: .word _0209B218 _02036354: .word _020AFDE0 arm_func_end sub_02036324 arm_func_start sub_02036358 sub_02036358: ; 0x02036358 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r0, #0xb0 mov r1, #8 bl MemAlloc ldr r1, _0203642C ; =_020AFDE0 str r0, [r1, #4] add r0, r0, #0xc bl sub_02034A38 ldr r4, _0203642C ; =_020AFDE0 mov r5, #0 ldr r1, [r4, #4] str r0, [r1, #8] _0203638C: and r0, r5, #0xff bl GetDebugFlag ldr r1, [r4, #4] add r1, r1, r5 add r5, r5, #1 strb r0, [r1, #0xa4] cmp r5, #0xc blt _0203638C ldr r0, _0203642C ; =_020AFDE0 mov r3, #0 ldr r1, [r0, #4] ldr r2, _02036430 ; =0x00003C64 str r3, [r1, #0xc] ldr r1, [r0, #4] mov r3, #0x10 strh r2, [r1, #0x14] ldr r2, [r0, #4] mov r1, #8 str r3, [r2, #0x18] ldr r2, [r0, #4] ldr r0, _02036434 ; =_0209B208 str r1, [sp] add r1, r2, #0xa4 str r1, [sp, #4] ldr r1, [r2, #8] ldr r3, _02036438 ; =_0209B228 orr r1, r1, #0x33 orr r1, r1, #0x9800 add r2, r2, #0xc bl sub_0202DC50 ldr r1, _0203642C ; =_020AFDE0 mov r3, #0 ldr r2, [r1, #4] strb r0, [r2] ldr r2, [r1, #4] mov r0, #1 str r3, [r2, #4] strb r3, [r1] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203642C: .word _020AFDE0 _02036430: .word 0x00003C64 _02036434: .word _0209B208 _02036438: .word _0209B228 arm_func_end sub_02036358 arm_func_start sub_0203643C sub_0203643C: ; 0x0203643C stmdb sp!, {r3, lr} ldr r0, _02036474 ; =_020AFDE0 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl sub_0202DEF8 ldr r0, _02036474 ; =_020AFDE0 ldr r0, [r0, #4] bl MemFree ldr r0, _02036474 ; =_020AFDE0 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02036474: .word _020AFDE0 arm_func_end sub_0203643C arm_func_start sub_02036478 sub_02036478: ; 0x02036478 stmdb sp!, {r3, r4, r5, lr} ldr r4, _02036568 ; =_020AFDE0 ldr r1, [r4, #4] ldr r0, [r1, #4] cmp r0, #0 beq _020364A4 cmp r0, #1 beq _020364C4 cmp r0, #2 beq _020364FC b _02036560 _020364A4: ldrsb r0, [r1] bl sub_0202DF44 cmp r0, #0 moveq r0, r4 ldreq r0, [r0, #4] moveq r1, #1 streq r1, [r0, #4] b _02036560 _020364C4: ldrsb r0, [r1] bl sub_0202DF24 cmp r0, #0 bne _02036560 mov r0, r4 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202DF64 mov r1, r4 strb r0, [r1] ldr r0, [r1, #4] mov r2, #2 str r2, [r0, #4] b _02036560 _020364FC: mov r0, #3 str r0, [r1, #4] ldrb r0, [r4] cmp r0, #0 beq _02036534 mov r5, #0 _02036514: ldr r1, [r4, #4] and r0, r5, #0xff add r1, r1, r5 ldrb r1, [r1, #0xa4] bl SetDebugFlag add r5, r5, #1 cmp r5, #0xc blt _02036514 _02036534: ldr r0, _02036568 ; =_020AFDE0 ldr r2, [r0, #4] ldr r1, [r2, #8] tst r1, #0x100 beq _02036558 ldrb r1, [r0] ldr r0, [r2, #0x94] ldr r2, [r2, #0x90] blx r2 _02036558: mov r0, #4 ldmia sp!, {r3, r4, r5, pc} _02036560: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02036568: .word _020AFDE0 arm_func_end sub_02036478 arm_func_start sub_0203656C sub_0203656C: ; 0x0203656C stmdb sp!, {r3, lr} mov r3, r0 mov r2, r1 ldr r0, _02036598 ; =_0209B254 mov r1, r3 bl sub_02034974 cmp r0, #0 ldrne r0, _0203659C ; =_020AFDE8 movne r1, #0 strneb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02036598: .word _0209B254 _0203659C: .word _020AFDE8 arm_func_end sub_0203656C arm_func_start sub_020365A0 sub_020365A0: ; 0x020365A0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r0, #0xb4 mov r1, #8 bl MemAlloc ldr r1, _02036674 ; =_020AFDE8 str r0, [r1, #4] add r0, r0, #0xc bl sub_02034A38 ldr r4, _02036674 ; =_020AFDE8 mov r5, #0 ldr r1, [r4, #4] str r0, [r1, #8] _020365D4: and r0, r5, #0xff bl GetDebugLogFlag ldr r1, [r4, #4] add r1, r1, r5 add r5, r5, #1 strb r0, [r1, #0xa4] cmp r5, #0x10 blt _020365D4 ldr r0, _02036674 ; =_020AFDE8 mov r3, #0 ldr r1, [r0, #4] ldr r2, _02036678 ; =0x00003C73 str r3, [r1, #0xc] ldr r1, [r0, #4] mov r3, #0x10 strh r2, [r1, #0x14] ldr r2, [r0, #4] mov r1, #8 str r3, [r2, #0x18] ldr r2, [r0, #4] ldr r0, _0203667C ; =_0209B244 str r1, [sp] add r1, r2, #0xa4 str r1, [sp, #4] ldr r1, [r2, #8] ldr r3, _02036680 ; =_0209B264 orr r1, r1, #0x33 orr r1, r1, #0x9800 add r2, r2, #0xc bl sub_0202DC50 ldr r1, _02036674 ; =_020AFDE8 mov r3, #0 ldr r2, [r1, #4] strb r0, [r2] ldr r2, [r1, #4] mov r0, #1 str r3, [r2, #4] strb r3, [r1] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02036674: .word _020AFDE8 _02036678: .word 0x00003C73 _0203667C: .word _0209B244 _02036680: .word _0209B264 arm_func_end sub_020365A0 arm_func_start sub_02036684 sub_02036684: ; 0x02036684 stmdb sp!, {r3, lr} ldr r0, _020366BC ; =_020AFDE8 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl sub_0202DEF8 ldr r0, _020366BC ; =_020AFDE8 ldr r0, [r0, #4] bl MemFree ldr r0, _020366BC ; =_020AFDE8 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _020366BC: .word _020AFDE8 arm_func_end sub_02036684 arm_func_start sub_020366C0 sub_020366C0: ; 0x020366C0 stmdb sp!, {r3, r4, r5, lr} ldr r4, _020367B0 ; =_020AFDE8 ldr r1, [r4, #4] ldr r0, [r1, #4] cmp r0, #0 beq _020366EC cmp r0, #1 beq _0203670C cmp r0, #2 beq _02036744 b _020367A8 _020366EC: ldrsb r0, [r1] bl sub_0202DF44 cmp r0, #0 moveq r0, r4 ldreq r0, [r0, #4] moveq r1, #1 streq r1, [r0, #4] b _020367A8 _0203670C: ldrsb r0, [r1] bl sub_0202DF24 cmp r0, #0 bne _020367A8 mov r0, r4 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202DF64 mov r1, r4 strb r0, [r1] ldr r0, [r1, #4] mov r2, #2 str r2, [r0, #4] b _020367A8 _02036744: mov r0, #3 str r0, [r1, #4] ldrb r0, [r4] cmp r0, #0 beq _0203677C mov r5, #0 _0203675C: ldr r1, [r4, #4] and r0, r5, #0xff add r1, r1, r5 ldrb r1, [r1, #0xa4] bl SetDebugLogFlag add r5, r5, #1 cmp r5, #0x10 blt _0203675C _0203677C: ldr r0, _020367B0 ; =_020AFDE8 ldr r2, [r0, #4] ldr r1, [r2, #8] tst r1, #0x100 beq _020367A0 ldrb r1, [r0] ldr r0, [r2, #0x94] ldr r2, [r2, #0x90] blx r2 _020367A0: mov r0, #4 ldmia sp!, {r3, r4, r5, pc} _020367A8: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020367B0: .word _020AFDE8 arm_func_end sub_020366C0 arm_func_start sub_020367B4 sub_020367B4: ; 0x020367B4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, _020367EC ; =_0209B298 mov r5, r1 mov r4, r2 bl sub_020348E4 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 mov r3, r4 mov r2, #0 bl ShowKeyboard ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020367EC: .word _0209B298 arm_func_end sub_020367B4 arm_func_start ShowKeyboard ShowKeyboard: ; 0x020367F0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 mov r0, #0x1e8 mov r1, #8 mov r4, r2 mov r7, r3 bl MemAlloc ldr r2, _02036CB0 ; =_020AFDF0 mov r1, #0x1e8 str r0, [r2] bl MemZero cmp r7, #0 ldreq r0, _02036CB0 ; =_020AFDF0 moveq r1, #0 ldreq r0, [r0] streqb r1, [r0, #0x16e] beq _02036850 ldr r0, _02036CB0 ; =_020AFDF0 mov r1, r7 ldr r0, [r0] add r0, r0, #0x6e add r0, r0, #0x100 bl StrcpySimple _02036850: ldr r0, _02036CB0 ; =_020AFDF0 mov r2, #0 ldr r1, [r0] cmp r4, #0 strb r2, [r1, #0x11] ldr r1, [r0] and r3, r6, #0xff strb r2, [r1, #0x12] ldrne r1, [r0] movne r2, #1 strneb r2, [r1, #0x11] ldrne r0, [r0] strneb r2, [r0, #0x12] ldr r0, _02036CB0 ; =_020AFDF0 mov r2, #0 ldr r1, [r0] str r3, [r1, #0xc] ldr r1, [r0] strb r2, [r1, #0x1d] ldr r1, [r0] strb r2, [r1, #0x1e] ldr r1, [r0] mov r2, #0 ldr r0, [r1, #0xc] cmp r0, #0xa moveq r0, #1 streq r0, [r1, #0xc] ldr r1, _02036CB0 ; =_020AFDF0 ldr r0, [r1] ldr r3, [r0, #0xc] add r0, r0, #0x100 add r3, r3, #0x118 strh r3, [r0, #0xa6] ldr r0, [r1] strb r2, [r0, #0x16] ldr r0, [r1] strb r2, [r0, #0x15] ldr r0, [r1] strh r2, [r0, #8] ldr r0, [r1] strb r2, [r0, #0x10] ldr r3, [r1] ldr r0, [r3, #0xc] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02036A40 _02036908: ; jump table b _02036A40 ; case 0 b _020369F0 ; case 1 b _02036A40 ; case 2 b _02036A40 ; case 3 b _02036A20 ; case 4 b _02036930 ; case 5 b _020369A0 ; case 6 b _020369D0 ; case 7 b _02036960 ; case 8 b _02036A08 ; case 9 _02036930: mov r0, #9 strb r0, [r3, #0x18] ldr r0, [r1] mov r2, #1 strb r2, [r0, #0x10] ldr r0, [r1] mov r2, #0x36 strb r2, [r0, #0x1b] ldr r0, [r1] mov r1, #2 strb r1, [r0, #0x16] b _02036A58 _02036960: mov r0, #6 strb r0, [r3, #0x18] ldr r0, [r1] mov r2, #3 strb r2, [r0, #0x16] ldr r0, [r1] mov r2, #1 strb r2, [r0, #0x10] ldr r0, [r1] mov r2, #0x36 strb r2, [r0, #0x1b] ldr r0, [r1] add r1, r2, #0xe9 add r0, r0, #0x100 strh r1, [r0, #0xa6] b _02036A58 _020369A0: mov r0, #9 strb r0, [r3, #0x18] ldr r0, [r1] mov r2, #1 strb r2, [r0, #0x10] ldr r0, [r1] mov r2, #0x22 strb r2, [r0, #0x1b] ldr r0, [r1] mov r1, #2 strb r1, [r0, #0x16] b _02036A58 _020369D0: strb r2, [r3, #0x16] ldr r0, [r1] mov r2, #6 strb r2, [r0, #0x18] ldr r0, [r1] mov r1, #0x36 strb r1, [r0, #0x1b] b _02036A58 _020369F0: mov r0, #6 strb r0, [r3, #0x18] ldr r0, [r1] mov r1, #0xa strb r1, [r0, #0x1b] b _02036A58 _02036A08: mov r0, #4 strb r0, [r3, #0x16] ldr r0, [r1] mov r1, #0x11c add r0, r0, #0x100 strh r1, [r0, #0xa6] _02036A20: ldr r0, _02036CB0 ; =_020AFDF0 mov r3, #6 ldr r2, [r0] mov r1, #1 strb r3, [r2, #0x18] ldr r0, [r0] strb r1, [r0, #0x1b] b _02036A58 _02036A40: mov r1, #6 ldr r0, _02036CB0 ; =_020AFDF0 strb r1, [r3, #0x18] ldr r0, [r0] mov r1, #0xa strb r1, [r0, #0x1b] _02036A58: ldr r0, _02036CB0 ; =_020AFDF0 mov r3, #0 ldr r2, [r0] add r1, r2, #0xfc str r1, [r2, #0xf8] mov r2, r3 _02036A70: ldr r1, [r0] ldr r1, [r1, #0xf8] strb r2, [r1, r3] add r3, r3, #1 cmp r3, #0x36 blt _02036A70 cmp r5, #0 ldreq r0, _02036CB0 ; =_020AFDF0 ldreq r1, [r0] addeq r0, r1, #0x138 streq r0, [r1, #0x134] beq _02036AE4 ldr r0, _02036CB0 ; =_020AFDF0 ldr r1, [r0] str r5, [r1, #0x134] ldr r1, [r0] ldrb r2, [r1, #0x1b] ldr r0, [r1, #0xf8] ldr r1, [r1, #0x134] bl MemcpySimple ldr r0, _02036CB0 ; =_020AFDF0 ldr r2, [r0] add r1, r2, #0x138 str r1, [r2, #0x134] ldr r1, [r0] ldrb r2, [r1, #0x1b] ldr r0, [r1, #0x134] ldr r1, [r1, #0xf8] bl MemcpySimple _02036AE4: ldr r0, _02036CB0 ; =_020AFDF0 mov r4, #0 ldr r2, [r0] ldrb r1, [r2, #0x1b] b _02036B0C _02036AF8: ldr r0, [r2, #0xf8] ldrb r0, [r0, r4] cmp r0, #0 beq _02036B14 add r4, r4, #1 _02036B0C: cmp r4, r1 blt _02036AF8 _02036B14: mov r2, #0 ldr r0, _02036CB0 ; =_020AFDF0 b _02036B2C _02036B20: ldr r1, [r3, #0xf8] strb r2, [r1, r4] add r4, r4, #1 _02036B2C: ldr r3, [r0] ldrb r1, [r3, #0x1b] cmp r4, r1 blt _02036B20 bl sub_02038A54 ldr r1, _02036CB0 ; =_020AFDF0 ldr r2, [r1] strb r0, [r2, #0x1c] ldr r2, [r1] ldrb r1, [r2, #0x1c] ldrb r0, [r2, #0x1b] cmp r1, r0 subeq r0, r1, #1 streqb r0, [r2, #0x1c] ldr r0, _02036CB0 ; =_020AFDF0 mvn r1, #1 ldr r3, [r0] ldrb r2, [r3, #0x16] strb r2, [r3, #0x17] ldr r0, [r0] strb r1, [r0, #2] bl sub_02038ADC ldr r0, _02036CB0 ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] sub r0, r0, #5 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02036C30 _02036BA0: ; jump table b _02036BB0 ; case 0 b _02036BB0 ; case 1 b _02036BB0 ; case 2 b _02036BB0 ; case 3 _02036BB0: ldr r0, _02036CB4 ; =_0209B2FC ldr r1, _02036CB8 ; =sub_02037F58 bl sub_0202F8C4 ldr r1, _02036CB0 ; =_020AFDF0 ldr r2, [r1] strb r0, [r2] ldr r1, [r1] ldrb r0, [r1, #0x12] cmp r0, #1 mvneq r0, #1 streqb r0, [r1, #2] beq _02036C84 ldr r0, [r1, #0xc] cmp r0, #8 beq _02036BF8 sub r0, r0, #5 cmp r0, #1 bhi _02036C14 _02036BF8: ldr r0, _02036CBC ; =_0209B31C ldr r1, _02036CC0 ; =sub_02037CA8 bl sub_0202F8C4 ldr r1, _02036CB0 ; =_020AFDF0 ldr r1, [r1] strb r0, [r1, #2] b _02036C84 _02036C14: ldr r0, _02036CBC ; =_0209B31C ldr r1, _02036CC4 ; =sub_02037C78 bl sub_0202F8C4 ldr r1, _02036CB0 ; =_020AFDF0 ldr r1, [r1] strb r0, [r1, #2] b _02036C84 _02036C30: ldr r0, _02036CC8 ; =_0209B2EC ldr r1, _02036CB8 ; =sub_02037F58 bl sub_0202F8C4 ldr r1, _02036CB0 ; =_020AFDF0 ldr r2, [r1] strb r0, [r2] ldr r1, [r1] ldr r0, [r1, #0xc] cmp r0, #4 cmpne r0, #9 ldrneb r0, [r1, #0x12] cmpne r0, #1 mvneq r0, #1 streqb r0, [r1, #2] beq _02036C84 ldr r0, _02036CBC ; =_0209B31C ldr r1, _02036CC4 ; =sub_02037C78 bl sub_0202F8C4 ldr r1, _02036CB0 ; =_020AFDF0 ldr r1, [r1] strb r0, [r1, #2] _02036C84: ldr r0, _02036CCC ; =_0209B2DC ldr r1, _02036CD0 ; =sub_02037CD8 bl sub_0202F8C4 ldr r1, _02036CB0 ; =_020AFDF0 mov r2, #0 ldr r3, [r1] strb r0, [r3, #1] ldr r1, [r1] mov r0, #1 str r2, [r1, #4] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02036CB0: .word _020AFDF0 _02036CB4: .word _0209B2FC _02036CB8: .word sub_02037F58 _02036CBC: .word _0209B31C _02036CC0: .word sub_02037CA8 _02036CC4: .word sub_02037C78 _02036CC8: .word _0209B2EC _02036CCC: .word _0209B2DC _02036CD0: .word sub_02037CD8 arm_func_end ShowKeyboard arm_func_start GetKeyboardStatus GetKeyboardStatus: ; 0x02036CD4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x5c ldr r0, _02037444 ; =_020AFDF0 ldr r4, [r0] ldr r0, [r4, #0xc] sub r1, r0, #4 cmp r1, #5 addls pc, pc, r1, lsl #2 b _02036DE8 _02036CF8: ; jump table b _02036DB8 ; case 0 b _02036D10 ; case 1 b _02036D40 ; case 2 b _02036D70 ; case 3 b _02036D10 ; case 4 b _02036DB8 ; case 5 _02036D10: ldrb r2, [r4, #0x1c] ldr r1, _02037448 ; =_0209B3B4 ldr r0, _0203744C ; =_0209B3B6 mov r3, r2, lsl #2 ldrsh r2, [r1, r3] ldrsh r1, [r0, r3] ldrsb r0, [r4, #1] add r2, r2, #0xc add r3, r1, #0x24 mov r1, #5 bl sub_020288FC b _02036E30 _02036D40: ldrb r2, [r4, #0x1c] ldr r1, _02037450 ; =_0209B32C ldr r0, _02037454 ; =_0209B32E mov r3, r2, lsl #2 ldrsh r2, [r1, r3] ldrsh r1, [r0, r3] ldrsb r0, [r4, #1] add r2, r2, #0xc add r3, r1, #0x24 mov r1, #5 bl sub_020288FC b _02036E30 _02036D70: ldrb r5, [r4, #0x1c] mov r1, #0x12 mov r0, r5 bl __divsi3 mov r1, #0x12 mul r1, r0, r1 ldr r0, _02037448 ; =_0209B3B4 mov r2, r5, lsl #2 ldrsh r2, [r0, r2] ldr r0, _0203744C ; =_0209B3B6 mov r1, r1, lsl #2 ldrsh r1, [r0, r1] ldrsb r0, [r4, #1] add r2, r2, #0xc add r3, r1, #0x24 mov r1, #5 bl sub_020288FC b _02036E30 _02036DB8: ldr r2, _02037458 ; =_0209B2C4 ldr r1, _0203745C ; =_0209B2D0 ldrsh r3, [r4, #0x20] ldrb r1, [r1, r0] ldrb r2, [r2, r0] add r3, r3, #0x25 ldrsb r0, [r4, #1] add r2, r3, r2 add r3, r1, #0x24 mov r1, #5 bl sub_020288FC b _02036E30 _02036DE8: ldr r1, _02037444 ; =_020AFDF0 ldr r2, _02037458 ; =_0209B2C4 ldr ip, [r1] ldr r1, _0203745C ; =_0209B2D0 ldrb r5, [ip, #0x1c] ldrb r3, [r1, r0] ldrb r4, [r2, r0] add r0, ip, r5, lsl #1 ldrsh r2, [r0, #0x20] ldrsh r1, [r0, #0x8c] ldrsb r0, [ip, #1] add r2, r2, #0x1f add r2, r4, r2 add r1, r1, r1, lsr #31 add r2, r2, r1, asr #1 add r3, r3, #0x24 mov r1, #5 bl sub_020288FC _02036E30: ldr r1, _02037444 ; =_020AFDF0 add r0, sp, #0x38 ldr r3, [r1] mov r1, #1 ldrb r2, [r3, #0x14] add r2, r2, #1 strb r2, [r3, #0x14] bl sub_02031914 ldr r0, [sp, #0x3c] ldr r1, [sp, #0x40] mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r1, lsr #0x10 mov r2, #0 bl sub_02038B80 cmp r0, #0x64 blt _02036EB4 ldr r1, _02037444 ; =_020AFDF0 sub r0, r0, #0x64 ldr r2, [r1] and r1, r0, #0xff ldrb r0, [r2, #0x1c] cmp r0, r1 beq _02036EE0 mov r0, #3 strb r1, [r2, #0x1c] bl sub_02017CCC ldr r0, _02037444 ; =_020AFDF0 mov r1, #8 ldr r0, [r0] strb r1, [r0, #0x14] b _02036EE0 _02036EB4: cmp r0, #0 blt _02036EE0 ldr r1, _02037444 ; =_020AFDF0 and r0, r0, #0xff ldr r3, [r1] ldrb r2, [r3, #0x18] cmp r2, r0 strneb r0, [r3, #0x18] ldrne r0, [r1] movne r1, #8 strneb r1, [r0, #0x14] _02036EE0: ldr r0, _02037444 ; =_020AFDF0 ldr r1, [r0] ldrb r0, [r1, #0x1e] cmp r0, #0 subne r0, r0, #1 strneb r0, [r1, #0x1e] add r1, sp, #8 mov r0, #0 bl sub_020063F4 add r1, sp, #0xa mov r0, #0 bl GetHeldButtons ldrh r0, [sp, #0xa] tst r0, #0x100 beq _02036F5C ldr r0, _02037444 ; =_020AFDF0 mov r2, #0xa ldr r5, [r0] ldr r3, [r0, #8] ldrb r1, [r5, #0x16] ldrb r4, [r5, #0x18] ldrsb r0, [r5] ldr r3, [r3, r1, lsl #2] mov r1, #3 mla r3, r4, r2, r3 ldrb r2, [r3, #4] ldrb r3, [r3, #5] add r2, r2, #2 add r3, r3, #0x61 bl sub_020288FC b _020370A4 _02036F5C: ldrh r0, [sp, #8] cmp r0, #0x20 bgt _02036F78 bge _02036FE4 cmp r0, #0x10 beq _0203700C b _02037034 _02036F78: cmp r0, #0x40 bgt _02036F88 beq _02036F94 b _02037034 _02036F88: cmp r0, #0x80 beq _02036FBC b _02037034 _02036F94: ldr r0, _02037444 ; =_020AFDF0 mov r2, #0xa ldr r1, [r0] ldr r4, [r0, #8] ldrb r0, [r1, #0x18] ldrb r3, [r1, #0x16] smulbb r2, r0, r2 ldr r3, [r4, r3, lsl #2] ldrb r2, [r3, r2] b _02037044 _02036FBC: ldr r0, _02037444 ; =_020AFDF0 mov r2, #0xa ldr r1, [r0] ldr r4, [r0, #8] ldrb r3, [r1, #0x16] ldrb r0, [r1, #0x18] ldr r3, [r4, r3, lsl #2] mla r2, r0, r2, r3 ldrb r2, [r2, #1] b _02037044 _02036FE4: ldr r0, _02037444 ; =_020AFDF0 mov r2, #0xa ldr r1, [r0] ldr r4, [r0, #8] ldrb r3, [r1, #0x16] ldrb r0, [r1, #0x18] ldr r3, [r4, r3, lsl #2] mla r2, r0, r2, r3 ldrb r2, [r2, #2] b _02037044 _0203700C: ldr r0, _02037444 ; =_020AFDF0 mov r2, #0xa ldr r1, [r0] ldr r4, [r0, #8] ldrb r3, [r1, #0x16] ldrb r0, [r1, #0x18] ldr r3, [r4, r3, lsl #2] mla r2, r0, r2, r3 ldrb r2, [r2, #3] b _02037044 _02037034: ldr r0, _02037444 ; =_020AFDF0 ldr r1, [r0] ldrb r0, [r1, #0x18] mov r2, r0 _02037044: cmp r2, r0 beq _02037068 mov r0, #3 strb r2, [r1, #0x18] bl sub_02017CCC ldr r0, _02037444 ; =_020AFDF0 mov r1, #8 ldr r0, [r0] strb r1, [r0, #0x14] _02037068: ldr r0, _02037444 ; =_020AFDF0 mov r2, #0xa ldr r5, [r0] ldr r3, [r0, #8] ldrb r1, [r5, #0x16] ldrb r4, [r5, #0x18] ldrsb r0, [r5] ldr r3, [r3, r1, lsl #2] mov r1, #3 mla r3, r4, r2, r3 ldrb r2, [r3, #4] ldrb r3, [r3, #5] add r2, r2, #2 add r3, r3, #0x61 bl sub_020288FC _020370A4: add r0, sp, #0x14 mov r1, #1 bl sub_02031914 ldrh r0, [sp, #0x14] tst r0, #2 beq _020371C0 ldr r0, _02037444 ; =_020AFDF0 ldr r0, [r0] ldrb r0, [r0, #0x1e] cmp r0, #0 bne _020371C0 ldr r0, [sp, #0x18] ldr r1, [sp, #0x1c] mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r1, lsr #0x10 mov r2, #1 bl sub_02038B80 mov r4, r0 cmp r4, #0x64 bge _02037108 mvn r0, #0 cmp r4, r0 bne _02037110 _02037108: mvn r4, #0 b _020371C4 _02037110: ldr r0, _02037444 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_020275F8 ldr r3, _02037444 ; =_020AFDF0 mov r1, #0xa ldr ip, [r3] mul r5, r4, r1 ldrb r1, [ip, #0x16] ldr ip, [r3, #8] ldr r3, _02037460 ; =_0209B28C ldr ip, [ip, r1, lsl #2] mov r1, #0x40 str r3, [sp] str r1, [sp, #4] add r1, ip, r5 ldrb ip, [r1, #4] ldrb lr, [r0, #4] ldrb r3, [r0, #5] ldrb r1, [r1, #5] add r0, ip, lr, lsl #3 mov r0, r0, lsl #0x10 add r1, r1, r3, lsl #3 mov r1, r1, lsl #0x10 mov r2, #0xc cmp r4, #5 movle r2, #0x24 mov r2, r2, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r1, asr #0x10 mov r2, r2, asr #0x10 mov r3, #0xc bl sub_0202A2A4 ldr r0, _02037444 ; =_020AFDF0 ldr r2, [r0] ldr r1, [r0, #8] ldrb r0, [r2, #0x16] ldr r0, [r1, r0, lsl #2] add r0, r0, r5 ldrh r0, [r0, #8] cmp r0, #0x108 movne r0, #5 strneb r0, [r2, #0x1e] b _020371C4 _020371C0: mvn r4, #0 _020371C4: mvn r0, #0 cmp r4, r0 beq _020371D8 bl sub_020384B0 b _0203743C _020371D8: add r1, sp, #0x10 mov r0, #0 bl GetPressedButtons add r1, sp, #0xe mov r0, #0 bl GetHeldButtons add r1, sp, #0xc mov r0, #0 bl sub_020063F4 ldrh r0, [sp, #0xe] tst r0, #0x100 beq _02037374 ldrh r0, [sp, #0xc] cmp r0, #0x20 bgt _02037224 bge _02037240 cmp r0, #0x10 beq _02037274 b _02037374 _02037224: cmp r0, #0x40 bgt _02037234 beq _020372C0 b _02037374 _02037234: cmp r0, #0x80 beq _02037308 b _02037374 _02037240: ldr r0, _02037444 ; =_020AFDF0 ldr r2, [r0] ldrb r0, [r2, #0x1c] cmp r0, #0 beq _02037268 sub r1, r0, #1 mov r0, #3 strb r1, [r2, #0x1c] bl sub_02017CCC b _02037374 _02037268: mov r0, #2 bl sub_02017CCC b _02037374 _02037274: ldr r0, _02037444 ; =_020AFDF0 ldr r4, [r0] ldrb r0, [r4, #0x1b] ldrb r1, [r4, #0x1c] sub r0, r0, #1 cmp r1, r0 beq _020372B4 bl sub_02038A54 ldrb r1, [r4, #0x1c] cmp r1, r0 bge _020372B4 add r1, r1, #1 mov r0, #3 strb r1, [r4, #0x1c] bl sub_02017CCC b _02037374 _020372B4: mov r0, #2 bl sub_02017CCC b _02037374 _020372C0: ldr r0, _02037444 ; =_020AFDF0 ldr r1, _02037464 ; =_0209B2B8 ldr r2, [r0] ldr r0, [r2, #0xc] ldrsb r1, [r1, r0] cmp r1, #0 beq _02037374 ldrb r0, [r2, #0x1c] cmp r0, r1 blt _020372FC sub r1, r0, r1 mov r0, #3 strb r1, [r2, #0x1c] bl sub_02017CCC b _02037374 _020372FC: mov r0, #2 bl sub_02017CCC b _02037374 _02037308: ldr r0, _02037444 ; =_020AFDF0 ldr r1, _02037464 ; =_0209B2B8 ldr r4, [r0] ldr r0, [r4, #0xc] ldrsb r5, [r1, r0] cmp r5, #0 beq _02037374 ldrb r0, [r4, #0x1b] ldrb r1, [r4, #0x1c] sub r0, r0, #1 cmp r1, r0 beq _0203736C bl sub_02038A54 ldrb r1, [r4, #0x1c] add r1, r1, r5 cmp r1, r0 bge _0203736C ldr r1, _02037444 ; =_020AFDF0 mov r0, #3 ldr r2, [r1] ldrb r1, [r2, #0x1c] add r1, r1, r5 strb r1, [r2, #0x1c] bl sub_02017CCC b _02037374 _0203736C: mov r0, #2 bl sub_02017CCC _02037374: ldrh r0, [sp, #0x10] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02037438 _02037384: ; jump table b _02037438 ; case 0 b _020373A8 ; case 1 b _020373B0 ; case 2 b _02037438 ; case 3 b _020373E0 ; case 4 b _02037438 ; case 5 b _02037438 ; case 6 b _02037438 ; case 7 b _020373C4 ; case 8 _020373A8: bl sub_020384B0 b _0203743C _020373B0: bl sub_02038904 cmp r0, #0 beq _02037438 mov r0, #2 b _0203743C _020373C4: mov r0, #3 bl sub_02017CCC ldr r0, _02037444 ; =_020AFDF0 mov r1, #5 ldr r0, [r0] strb r1, [r0, #0x18] b _02037438 _020373E0: ldr r0, _02037444 ; =_020AFDF0 ldr r2, [r0] ldrb r1, [r2, #0x10] cmp r1, #0 bne _02037438 ldrb r1, [r2, #0x16] cmp r1, #2 bhi _02037438 add r1, r1, #1 strb r1, [r2, #0x16] ldr r2, [r0] mov r0, #4 ldrb r1, [r2, #0x16] and r1, r1, #1 strb r1, [r2, #0x16] bl sub_02017CCC ldr r0, _02037444 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_02037CD8 mov r0, #1 bl sub_020383FC _02037438: mov r0, #0 _0203743C: add sp, sp, #0x5c ldmia sp!, {r4, r5, pc} .align 2, 0 _02037444: .word _020AFDF0 _02037448: .word _0209B3B4 _0203744C: .word _0209B3B6 _02037450: .word _0209B32C _02037454: .word _0209B32E _02037458: .word _0209B2C4 _0203745C: .word _0209B2D0 _02037460: .word _0209B28C _02037464: .word _0209B2B8 arm_func_end GetKeyboardStatus arm_func_start sub_02037468 sub_02037468: ; 0x02037468 stmdb sp!, {r3, lr} ldr r0, _02037558 ; =_020AFDF0 ldr r0, [r0] cmp r0, #0 beq _02037550 ldrsh r1, [r0, #8] cmp r1, #3 beq _0203749C cmp r1, #4 beq _020374D4 cmp r1, #5 beq _0203751C b _02037534 _0203749C: ldrsb r0, [r0] bl sub_0202F954 ldr r0, _02037558 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202F954 ldr r0, _02037558 ; =_020AFDF0 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #2] cmp r0, r1 beq _02037534 bl sub_0202F954 b _02037534 _020374D4: ldrsb r0, [r0] bl sub_0202F8FC ldr r0, _02037558 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202F8FC ldr r0, _02037558 ; =_020AFDF0 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #2] cmp r0, r1 beq _02037534 bl sub_0202F8FC ldr r0, _02037558 ; =_020AFDF0 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #2] b _02037534 _0203751C: bl MemFree ldr r0, _02037558 ; =_020AFDF0 mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} _02037534: ldr r1, _02037558 ; =_020AFDF0 mov r0, #0 ldr r2, [r1] ldrsh r1, [r2, #8] add r1, r1, #1 strh r1, [r2, #8] ldmia sp!, {r3, pc} _02037550: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02037558: .word _020AFDF0 arm_func_end sub_02037468 arm_func_start GetKeyboardStringResult GetKeyboardStringResult: ; 0x0203755C ldr r0, _0203756C ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xf8] bx lr .align 2, 0 _0203756C: .word _020AFDF0 arm_func_end GetKeyboardStringResult arm_func_start sub_02037570 sub_02037570: ; 0x02037570 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x1e8 mov r1, #8 mov r4, r3 bl MemAlloc ldr r2, _020376E0 ; =_020AFDF0 mov r1, #0x1e8 str r0, [r2] bl MemZero ldr r0, _020376E0 ; =_020AFDF0 mov r2, #1 ldr r1, [r0] cmp r5, #0 strb r2, [r1, #0x1a4] bne _020375DC ldr r1, [r0] mov r2, #5 str r2, [r1, #0xc] ldr r1, [r0] mov r2, #0x36 strb r2, [r1, #0x1b] ldr r0, [r0] ldrh r1, [sp, #0x10] add r0, r0, #0x100 strh r1, [r0, #0xa6] b _0203760C _020375DC: cmp r5, #1 bne _0203760C ldr r1, [r0] mov r2, #6 str r2, [r1, #0xc] ldr r1, [r0] mov r2, #0x22 strb r2, [r1, #0x1b] ldr r0, [r0] ldrh r1, [sp, #0x10] add r0, r0, #0x100 strh r1, [r0, #0xa6] _0203760C: ldr r0, _020376E0 ; =_020AFDF0 mov r3, #0 ldr r1, [r0] str r3, [r1, #0x134] ldr r2, [r0] add r1, r2, #0xfc str r1, [r2, #0xf8] mov r2, r3 _0203762C: ldr r1, [r0] ldr r1, [r1, #0xf8] strb r2, [r1, r3] add r3, r3, #1 cmp r3, #0x36 blt _0203762C ldr r0, _020376E0 ; =_020AFDF0 mov r1, r4 ldr r0, [r0] ldrb r2, [r0, #0x1b] ldr r0, [r0, #0xf8] bl MemcpySimple ldr r0, _020376E0 ; =_020AFDF0 mov r4, #0 ldr r2, [r0] ldrb r1, [r2, #0x1b] b _02037684 _02037670: ldr r0, [r2, #0xf8] ldrb r0, [r0, r4] cmp r0, #0 beq _0203768C add r4, r4, #1 _02037684: cmp r4, r1 blt _02037670 _0203768C: mov r2, #0 ldr r0, _020376E0 ; =_020AFDF0 b _020376A4 _02037698: ldr r1, [r3, #0xf8] strb r2, [r1, r4] add r4, r4, #1 _020376A4: ldr r3, [r0] ldrb r1, [r3, #0x1b] cmp r4, r1 blt _02037698 ldr r0, _020376E4 ; =_0209B30C ldr r1, _020376E8 ; =sub_02037F58 bl sub_0202F8C4 ldr r1, _020376E0 ; =_020AFDF0 mov r2, #0 ldr r3, [r1] strb r0, [r3] ldr r1, [r1] mov r0, #1 str r2, [r1, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020376E0: .word _020AFDF0 _020376E4: .word _0209B30C _020376E8: .word sub_02037F58 arm_func_end sub_02037570 arm_func_start sub_020376EC sub_020376EC: ; 0x020376EC stmdb sp!, {r3, lr} ldr r0, _02037774 ; =_020AFDF0 ldr r0, [r0] cmp r0, #0 beq _0203776C ldrsh r1, [r0, #8] cmp r1, #0 beq _02037720 cmp r1, #1 beq _0203772C cmp r1, #0xc beq _02037738 b _02037750 _02037720: ldrsb r0, [r0] bl sub_0202F954 b _02037750 _0203772C: ldrsb r0, [r0] bl sub_0202F8FC b _02037750 _02037738: bl MemFree ldr r0, _02037774 ; =_020AFDF0 mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} _02037750: ldr r1, _02037774 ; =_020AFDF0 mov r0, #0 ldr r2, [r1] ldrsh r1, [r2, #8] add r1, r1, #1 strh r1, [r2, #8] ldmia sp!, {r3, pc} _0203776C: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02037774: .word _020AFDF0 arm_func_end sub_020376EC arm_func_start sub_02037778 sub_02037778: ; 0x02037778 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 ldr r0, _02037C28 ; =_020AFDF0 ldr r3, [r0] ldr r1, [r0, #4] ldr r2, [r3, #4] cmp r2, r1 beq _020377B0 ldr r0, _02037C2C ; =_0209B48C bl DebugPrint0 ldr r0, _02037C28 ; =_020AFDF0 ldr r3, [r0] ldr r1, [r3, #4] str r1, [r0, #4] _020377B0: ldr r0, [r3, #4] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02037C1C _020377C0: ; jump table b _020377E8 ; case 0 b _020377F4 ; case 1 b _02037858 ; case 2 b _0203799C ; case 3 b _02037C1C ; case 4 b _02037A5C ; case 5 b _02037AA0 ; case 6 b _02037C1C ; case 7 b _02037AEC ; case 8 b _02037B24 ; case 9 _020377E8: mov r0, #1 str r0, [r3, #4] b _02037C1C _020377F4: bl GetKeyboardStatus cmp r0, #3 bne _02037C1C ldr r0, _02037C28 ; =_020AFDF0 ldr r1, [r0] ldr r0, [r1, #0xc] cmp r0, #9 addls pc, pc, r0, lsl #2 b _0203784C _02037818: ; jump table b _02037840 ; case 0 b _02037840 ; case 1 b _02037840 ; case 2 b _02037840 ; case 3 b _02037840 ; case 4 b _02037840 ; case 5 b _02037840 ; case 6 b _02037840 ; case 7 b _0203784C ; case 8 b _02037840 ; case 9 _02037840: mov r0, #2 str r0, [r1, #4] b _02037C1C _0203784C: mov r0, #2 str r0, [r1, #4] b _02037C1C _02037858: cmp r3, #0 beq _02037924 ldrsh r0, [r3, #8] cmp r0, #3 beq _02037880 cmp r0, #4 beq _020378B8 cmp r0, #5 beq _02037900 b _02037908 _02037880: ldrsb r0, [r3] bl sub_0202F954 ldr r0, _02037C28 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202F954 ldr r0, _02037C28 ; =_020AFDF0 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #2] cmp r0, r1 beq _02037908 bl sub_0202F954 b _02037908 _020378B8: ldrsb r0, [r3] bl sub_0202F8FC ldr r0, _02037C28 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202F8FC ldr r0, _02037C28 ; =_020AFDF0 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #2] cmp r0, r1 beq _02037908 bl sub_0202F8FC ldr r0, _02037C28 ; =_020AFDF0 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #2] b _02037908 _02037900: mov r2, #1 b _02037928 _02037908: ldr r0, _02037C28 ; =_020AFDF0 mov r2, #0 ldr r1, [r0] ldrsh r0, [r1, #8] add r0, r0, #1 strh r0, [r1, #8] b _02037928 _02037924: mov r2, #1 _02037928: cmp r2, #0 beq _02037C1C ldr r0, _02037C28 ; =_020AFDF0 ldr r2, [r0] ldr r1, [r2, #4] add r1, r1, #1 str r1, [r2, #4] ldr r1, [r0] ldr r0, [r1, #0xc] cmp r0, #9 addls pc, pc, r0, lsl #2 b _0203798C _02037958: ; jump table b _02037980 ; case 0 b _02037980 ; case 1 b _02037980 ; case 2 b _02037980 ; case 3 b _02037980 ; case 4 b _02037980 ; case 5 b _02037980 ; case 6 b _02037980 ; case 7 b _0203798C ; case 8 b _02037980 ; case 9 _02037980: mov r0, #5 str r0, [r1, #4] b _02037C1C _0203798C: ldr r0, [r1, #4] add r0, r0, #1 str r0, [r1, #4] b _02037C1C _0203799C: ldr r0, [r3, #0xc] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02037A54 _020379AC: ; jump table b _020379D4 ; case 0 b _02037A40 ; case 1 b _02037A54 ; case 2 b _02037A54 ; case 3 b _02037A54 ; case 4 b _02037A54 ; case 5 b _02037A54 ; case 6 b _02037A54 ; case 7 b _02037A54 ; case 8 b _02037A54 ; case 9 _020379D4: bl GetMainCharacter1MemberIdx mov r5, r0 bl GetActiveRosterIndex mov r4, r0 mov r0, r5 bl GetTeamMember mov r5, r0 mov r0, r4 bl GetActiveTeamMember ldr r1, _02037C28 ; =_020AFDF0 mov r4, r0 ldr r1, [r1] add r0, r5, #0x3a add r1, r1, #0xfc mov r2, #0xa bl StrncpySimple mov r0, #0x3f add r1, r5, #0x3a mov r2, #0xa bl SaveScriptVariableValueBytes cmp r4, #0 beq _02037A54 add r0, r4, #0x5e add r1, r5, #0x3a mov r2, #0xa bl StrncpySimple b _02037A54 _02037A40: bl ov00_0230D71C ldr r0, _02037C28 ; =_020AFDF0 ldr r0, [r0] add r0, r0, #0xfc bl SetTeamName _02037A54: mov r0, #4 b _02037C20 _02037A5C: add r0, sp, #0 add r1, r3, #0xfc mov r2, #0x40 bl StrncpySimpleNoPadSafe add r0, sp, #0 bl sub_0203909C ldr r0, _02037C28 ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #1 bne _02037A8C bl sub_02039304 _02037A8C: ldr r0, _02037C28 ; =_020AFDF0 mov r1, #6 ldr r0, [r0] str r1, [r0, #4] b _02037C1C _02037AA0: bl sub_0203931C cmp r0, #0 beq _02037AB8 cmp r0, #1 beq _02037ACC b _02037C1C _02037AB8: ldr r0, _02037C28 ; =_020AFDF0 mov r1, #8 ldr r0, [r0] str r1, [r0, #4] b _02037C1C _02037ACC: ldr r0, _02037C28 ; =_020AFDF0 mov r3, #9 ldr r2, [r0] mov r1, #0 str r3, [r2, #4] ldr r0, [r0] strh r1, [r0, #8] b _02037C1C _02037AEC: bl sub_02039218 cmp r0, #0 beq _02037C1C ldr r0, _02037C28 ; =_020AFDF0 ldr r0, [r0] ldrb r0, [r0, #0x11] cmp r0, #0 bne _02037B10 bl ov00_022E6E68 _02037B10: ldr r0, _02037C28 ; =_020AFDF0 mov r1, #3 ldr r0, [r0] str r1, [r0, #4] b _02037C1C _02037B24: bl sub_02039218 cmp r0, #0 beq _02037C1C ldr r2, _02037C28 ; =_020AFDF0 ldr r3, [r2] ldr r0, [r3, #0xc] cmp r0, #5 cmpne r0, #6 bne _02037B64 ldr r0, _02037C30 ; =_0209B2FC ldr r1, _02037C34 ; =sub_02037F58 bl sub_0202F8C4 ldr r1, _02037C28 ; =_020AFDF0 ldr r1, [r1] strb r0, [r1] b _02037BF8 _02037B64: ldrb r1, [r3, #0x17] mov ip, #6 ldr r0, _02037C38 ; =_0209B2EC strb r1, [r3, #0x16] ldr r3, [r2] ldr r1, _02037C34 ; =sub_02037F58 strb ip, [r3, #0x18] ldr r2, [r2] mov r3, #0 strb r3, [r2, #0x15] bl sub_0202F8C4 ldr r1, _02037C28 ; =_020AFDF0 ldr r2, [r1] strb r0, [r2] ldr r1, [r1] ldr r0, [r1, #0xc] cmp r0, #4 cmpne r0, #9 mvneq r0, #1 streqb r0, [r1, #2] beq _02037BD0 ldr r0, _02037C3C ; =_0209B31C ldr r1, _02037C40 ; =sub_02037C78 bl sub_0202F8C4 ldr r1, _02037C28 ; =_020AFDF0 ldr r1, [r1] strb r0, [r1, #2] _02037BD0: bl sub_02038A54 ldr r1, _02037C28 ; =_020AFDF0 ldr r2, [r1] strb r0, [r2, #0x1c] ldr r2, [r1] ldrb r1, [r2, #0x1c] ldrb r0, [r2, #0x1b] cmp r1, r0 subeq r0, r1, #1 streqb r0, [r2, #0x1c] _02037BF8: ldr r0, _02037C44 ; =_0209B2DC ldr r1, _02037C48 ; =sub_02037CD8 bl sub_0202F8C4 ldr r1, _02037C28 ; =_020AFDF0 mov r2, #0 ldr r3, [r1] strb r0, [r3, #1] ldr r0, [r1] str r2, [r0, #4] _02037C1C: mov r0, #1 _02037C20: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02037C28: .word _020AFDF0 _02037C2C: .word _0209B48C _02037C30: .word _0209B2FC _02037C34: .word sub_02037F58 _02037C38: .word _0209B2EC _02037C3C: .word _0209B31C _02037C40: .word sub_02037C78 _02037C44: .word _0209B2DC _02037C48: .word sub_02037CD8 arm_func_end sub_02037778 arm_func_start sub_02037C4C sub_02037C4C: ; 0x02037C4C stmdb sp!, {r3, lr} ldr r0, _02037C74 ; =_020AFDF0 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _02037C74 ; =_020AFDF0 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02037C74: .word _020AFDF0 arm_func_end sub_02037C4C arm_func_start sub_02037C78 sub_02037C78: ; 0x02037C78 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02027B1C mov r1, #0 ldr r3, _02037CA4 ; =0x00000122 mov r0, r4 mov r2, r1 bl sub_02026268 mov r0, r4 bl sub_02027AF0 ldmia sp!, {r4, pc} .align 2, 0 _02037CA4: .word 0x00000122 arm_func_end sub_02037C78 arm_func_start sub_02037CA8 sub_02037CA8: ; 0x02037CA8 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02027B1C mov r1, #0 ldr r3, _02037CD4 ; =0x00000123 mov r0, r4 mov r2, r1 bl sub_02026268 mov r0, r4 bl sub_02027AF0 ldmia sp!, {r4, pc} .align 2, 0 _02037CD4: .word 0x00000123 arm_func_end sub_02037CA8 arm_func_start sub_02037CD8 sub_02037CD8: ; 0x02037CD8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x40 ldr r1, _02037F10 ; =_020AFDF0 mov r7, r0 ldr r0, [r1] mov r4, #0 ldrb r0, [r0, #0x16] cmp r0, #0 moveq r4, #1 beq _02037D14 cmp r0, #1 moveq r4, #1 beq _02037D14 cmp r0, #2 moveq r4, #3 _02037D14: mov r0, r7 bl sub_02027B1C b _02037EF8 _02037D20: ldr r2, _02037F10 ; =_020AFDF0 mov r0, #0xa ldr r1, [r2] mul r6, r4, r0 ldrb r0, [r1, #0x16] ldr r2, [r2, #8] ldr r3, _02037F14 ; =0x00000111 ldr r2, [r2, r0, lsl #2] add r2, r2, r6 ldrh r5, [r2, #8] cmp r5, r3 cmpne r5, #0x110 beq _02037EF4 add r2, r5, #0xfe add r2, r2, #0xfe00 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #7 bhi _02037E0C cmp r0, #0 moveq ip, #0x104 beq _02037D84 cmp r0, #1 subeq ip, r3, #0xc movne ip, #0 _02037D84: cmp r5, #0x100 blo _02037EA8 ldr r0, _02037F18 ; =0x00000109 cmp r5, r0 bhi _02037EA8 mov lr, #0 ldr r3, _02037F1C ; =KEYBOARD_STRING_IDS mov r0, #6 b _02037DF4 _02037DA8: cmp r5, r8 bne _02037DE8 ldr r0, _02037F18 ; =0x00000109 cmp r5, r0 bne _02037DD0 ldrb r1, [r1, #0x15] cmp r1, #0 addne r1, r0, #0x1d addeq r1, r0, #0x1e b _02037DDC _02037DD0: cmp ip, r5 ldreqh r1, [r2, #4] ldrneh r1, [r2, #2] _02037DDC: add r0, sp, #0 bl GetStringFromFileVeneer b _02037EA8 _02037DE8: add r2, lr, #1 mov r2, r2, lsl #0x10 mov lr, r2, asr #0x10 _02037DF4: smulbb r2, lr, r0 ldrh r8, [r3, r2] add r2, r3, r2 cmp r8, #0 bne _02037DA8 b _02037EA8 _02037E0C: ldr r1, [r1, #0xc] cmp r1, #8 beq _02037E38 cmp r0, #2 bne _02037E38 cmp r4, #5 ble _02037E38 and r0, r5, #0xff bl sub_0204DA1C cmp r0, #0xff beq _02037E5C _02037E38: ldr r0, _02037F10 ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #9 bne _02037E84 cmp r5, #0x41 blo _02037E5C cmp r5, #0x5a bls _02037E84 _02037E5C: cmp r5, #0x20 add r0, sp, #0 bne _02037E74 ldr r1, _02037F20 ; =_0209B4A4 bl SprintfStatic__02037F30 b _02037EA8 _02037E74: ldr r1, _02037F24 ; =_0209B4AC mov r2, r5 bl SprintfStatic__02037F30 b _02037EA8 _02037E84: cmp r5, #0x20 add r0, sp, #0 bne _02037E9C ldr r1, _02037F28 ; =_0209B4B8 bl SprintfStatic__02037F30 b _02037EA8 _02037E9C: ldr r1, _02037F2C ; =_0209B4C0 mov r2, r5 bl SprintfStatic__02037F30 _02037EA8: add r0, sp, #0 bl sub_020265A8 cmp r0, #0xc rsble r0, r0, #0xc movgt r1, #0 addle r0, r0, r0, lsr #31 movle r1, r0, asr #1 ldr r0, _02037F10 ; =_020AFDF0 add r3, sp, #0 ldr r2, [r0] ldr r5, [r0, #8] ldrb r2, [r2, #0x16] mov r0, r7 ldr r2, [r5, r2, lsl #2] add r2, r2, r6 ldrb r5, [r2, #4] ldrb r2, [r2, #5] add r1, r1, r5 bl sub_02026214 _02037EF4: add r4, r4, #1 _02037EF8: cmp r4, #0x54 bne _02037D20 mov r0, r7 bl sub_02027AF0 add sp, sp, #0x40 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02037F10: .word _020AFDF0 _02037F14: .word 0x00000111 _02037F18: .word 0x00000109 _02037F1C: .word KEYBOARD_STRING_IDS _02037F20: .word _0209B4A4 _02037F24: .word _0209B4AC _02037F28: .word _0209B4B8 _02037F2C: .word _0209B4C0 arm_func_end sub_02037CD8 arm_func_start SprintfStatic__02037F30 SprintfStatic__02037F30: ; 0x02037F30 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02037F30 arm_func_start sub_02037F58 sub_02037F58: ; 0x02037F58 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x114 ldr r1, _020383DC ; =_0209B288 mov sb, r0 ldrb r2, [r1] ldrb r0, [r1, #1] mov sl, #0 strb r2, [sp, #0x10] strb r0, [sp, #0x11] bl sub_02038ADC mov r0, sb bl sub_02027B1C ldr r0, _020383E0 ; =_020AFDF0 ldr r1, [r0] ldr r0, [r1, #0xc] cmp r0, #7 addeq r0, r1, #0x100 moveq r1, sl streqh r1, [r0, #0xa6] ldr r0, _020383E0 ; =_020AFDF0 ldr r0, [r0] add r0, r0, #0x100 ldrh r1, [r0, #0xa6] cmp r1, #0 beq _02037FF8 add r0, sp, #0x12 bl GetStringFromFileVeneer mov r0, sb bl sub_020275F8 mov r4, r0 add r0, sp, #0x12 bl sub_020265A8 ldrb r1, [r4, #6] mov r2, #0 add r3, sp, #0x12 rsb r0, r0, r1, lsl #3 add r0, r0, r0, lsr #31 mov r1, r0, asr #1 mov r0, sb bl sub_02026214 _02037FF8: ldr r0, _020383E0 ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #5 moveq r8, #0x36 movne r8, #0x22 cmp r0, #7 moveq r8, #0x36 cmp r0, #8 ldr r0, _020383E0 ; =_020AFDF0 moveq r8, #0x36 ldr r0, [r0] ldrb r5, [r0, #0x1b] ldr r4, [r0, #0xf8] bl sub_02038B5C cmp r0, #0 beq _02038054 mov r0, r4 mov r1, r5 bl sub_02038A8C cmp r0, #0x3c movgt r0, #1 bgt _02038058 _02038054: mov r0, #0 _02038058: cmp r0, #0 movne sl, #1 mov r6, #0 ldr r4, _020383E4 ; =_0209B3B4 ldr fp, _020383E0 ; =_020AFDF0 b _02038394 _02038070: ldr r1, [fp] add r0, r1, r6 ldr r7, [r1, #0xc] ldrb r5, [r0, #0xfc] sub r0, r7, #4 cmp r0, #5 addls pc, pc, r0, lsl #2 b _020382E8 _02038090: ; jump table b _0203825C ; case 0 b _020380A8 ; case 1 b _02038148 ; case 2 b _020381FC ; case 3 b _020380A8 ; case 4 b _0203825C ; case 5 _020380A8: mov r0, r6 mov r1, #0x12 bl __divsi3 cmp r1, #5 ble _020380D0 cmp r1, #0xc movlt r0, #0x43 strlt r0, [sp, #8] movlt r7, #1 blt _020380DC _020380D0: mov r0, #0x44 str r0, [sp, #8] mov r7, #0 _020380DC: cmp r5, #0 beq _02038114 mov r0, r5 bl sub_020251F0 ldr r1, [sp, #8] add r2, r4, r6, lsl #2 and r1, r1, #0xff str r1, [sp] mov r1, r6, lsl #2 mov r3, r0 ldrsh r1, [r4, r1] ldrsh r2, [r2, #2] mov r0, sb bl sub_020264F8 _02038114: add r0, sp, #0x10 ldrsb r2, [r0, r7] mov r1, r6, lsl #2 mov r0, sb str r2, [sp] ldrsh r3, [r4, r1] add r1, r4, r6, lsl #2 ldrsh r2, [r1, #2] sub r1, r3, #1 mov r3, #0xc add r2, r2, #0xc bl sub_02025D50 b _02038390 _02038148: mov r0, r6 cmp r5, #0x20 mov r1, #0x11 moveq r5, #0 bl __divsi3 cmp r1, #5 blt _02038178 cmp r1, #0xc movlt r0, #0x43 strlt r0, [sp, #4] movlt r7, #1 blt _02038184 _02038178: mov r0, #0x44 str r0, [sp, #4] mov r7, #0 _02038184: cmp r5, #0 beq _020381C4 mov r0, r5 bl sub_020251F0 ldr r1, [sp, #4] mov r2, r6, lsl #2 and r1, r1, #0xff str r1, [sp] ldr r1, _020383E8 ; =_0209B32C mov r3, r0 ldrsh r1, [r1, r2] ldr r2, _020383E8 ; =_0209B32C mov r0, sb add r2, r2, r6, lsl #2 ldrsh r2, [r2, #2] bl sub_020264F8 _020381C4: add r0, sp, #0x10 ldrsb r1, [r0, r7] mov r2, r6, lsl #2 mov r0, sb str r1, [sp] ldr r1, _020383E8 ; =_0209B32C ldrsh r3, [r1, r2] add r1, r1, r6, lsl #2 ldrsh r2, [r1, #2] sub r1, r3, #1 mov r3, #0xc add r2, r2, #0xc bl sub_02025D50 b _02038390 _020381FC: cmp r5, #0 moveq r5, #0x2a cmp r5, #0x20 moveq r5, #0 cmp r5, #0 beq _02038390 mov r0, r5 bl sub_020251F0 mov r5, r0 mov r0, r6 mov r1, #0x12 bl __divsi3 mov r1, #0x44 str r1, [sp] mov r1, #0x12 mul r1, r0, r1 add r0, r4, r1, lsl #2 mov r1, r6, lsl #2 ldrsh r2, [r0, #2] ldrsh r1, [r4, r1] mov r3, r5 mov r0, sb bl sub_020264F8 b _02038390 _0203825C: cmp r5, #0x20 moveq r5, #0 cmp r5, #0 beq _020382AC ldr r1, _020383EC ; =_0209B2C4 ldr r2, [fp] ldrb r1, [r1, r7] mov r0, r5 ldrsh r5, [r2, #0x20] str r1, [sp, #0xc] bl sub_020251F0 ldr r2, _020383F0 ; =_0209B2D0 ldr r1, [sp, #0xc] mov r3, #0x44 str r3, [sp] mov r3, r0 ldrb r2, [r2, r7] add r1, r1, r5 mov r0, sb bl sub_020264F8 _020382AC: ldr r2, [fp] mov r1, #0x17 ldr r5, [r2, #0xc] ldr r7, _020383F0 ; =_0209B2D0 str r1, [sp] ldrsh r1, [r2, #0x20] ldr r2, _020383EC ; =_0209B2C4 mov r0, sb ldrb r2, [r2, r5] ldrb r5, [r7, r5] mov r3, #0xc add r1, r2, r1 add r2, r5, #0xc bl sub_02025D50 b _02038390 _020382E8: cmp r5, #0x20 moveq r5, #0 cmp sl, #0 mov r0, r5 beq _02038314 bl sub_020251F0 mov r2, r0 ldr r1, _020383F4 ; =_0209B4C4 add r0, sp, #0x12 bl SprintfStatic__02037F30 b _02038328 _02038314: bl sub_020251F0 mov r2, r0 ldr r1, _020383F8 ; =_0209B4C0 add r0, sp, #0x12 bl sprintf _02038328: ldr r1, [fp] ldr r3, _020383EC ; =_0209B2C4 ldr r2, [r1, #0xc] add r1, r1, r6, lsl #1 ldrb r5, [r3, r2] ldr r3, _020383F0 ; =_0209B2D0 ldrsh r1, [r1, #0x20] ldrb r2, [r3, r2] mov r0, sb add r3, sp, #0x12 add r1, r5, r1 bl sub_02026214 ldr r2, [fp] mov r1, #0x17 ldr r5, [r2, #0xc] ldr r7, _020383F0 ; =_0209B2D0 str r1, [sp] ldrsh r1, [r2, #0x20] ldr r2, _020383EC ; =_0209B2C4 mov r0, sb ldrb r2, [r2, r5] ldrb r5, [r7, r5] mov r3, #0x3c add r1, r2, r1 add r2, r5, #0xc bl sub_02025D50 _02038390: add r6, r6, #1 _02038394: cmp r6, r8 blt _02038070 ldr r0, _020383E0 ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #7 bne _020383CC ldrsb r4, [sp, #0x10] mov r0, sb mov r1, #3 mov r2, #0x1d mov r3, #0xea str r4, [sp] bl sub_02025D50 _020383CC: mov r0, sb bl sub_02027AF0 add sp, sp, #0x114 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020383DC: .word _0209B288 _020383E0: .word _020AFDF0 _020383E4: .word _0209B3B4 _020383E8: .word _0209B32C _020383EC: .word _0209B2C4 _020383F0: .word _0209B2D0 _020383F4: .word _0209B4C4 _020383F8: .word _0209B4C0 arm_func_end sub_02037F58 arm_func_start sub_020383FC sub_020383FC: ; 0x020383FC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _020384A8 ; =_020AFDF0 mov r4, #0 ldr r2, [r1] ldrb r1, [r2, #0x10] cmp r1, #0 bne _02038444 cmp r0, #0 beq _02038444 ldrb r0, [r2, #0x16] cmp r0, #0 beq _0203843C cmp r0, #1 moveq r0, #2 streqb r0, [r2, #0x18] b _02038444 _0203843C: mov r0, #1 strb r0, [r2, #0x18] _02038444: ldr r7, _020384A8 ; =_020AFDF0 mov r5, #0xa ldr r6, _020384AC ; =0x00000111 b _02038484 _02038454: ldrb r0, [r0, #6] cmp r0, #1 cmpne r0, #2 cmpne r0, #3 ldrneb r0, [r2, #0x10] cmpne r0, #0 beq _02038480 cmp r1, #0x100 bge _02038480 and r0, r1, #0xff bl sub_0204DA1C _02038480: add r4, r4, #1 _02038484: ldr r2, [r7] ldr r1, [r7, #8] ldrb r0, [r2, #0x16] ldr r0, [r1, r0, lsl #2] mla r0, r4, r5, r0 ldrh r1, [r0, #8] cmp r1, r6 bne _02038454 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020384A8: .word _020AFDF0 _020384AC: .word 0x00000111 arm_func_end sub_020383FC arm_func_start sub_020384B0 sub_020384B0: ; 0x020384B0 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02038900 ; =_020AFDF0 mov r0, #0xa ldr r1, [r2] ldr r3, [r2, #8] ldrb ip, [r1, #0x16] ldrb r2, [r1, #0x18] ldr r3, [r3, ip, lsl #2] mla r0, r2, r0, r3 ldrh r4, [r0, #8] sub r0, r4, #0x104 cmp r0, #5 addls pc, pc, r0, lsl #2 b _020387B4 _020384E8: ; jump table b _02038500 ; case 0 b _02038544 ; case 1 b _020387B4 ; case 2 b _020385C0 ; case 3 b _020385F0 ; case 4 b _02038588 ; case 5 _02038500: cmp ip, #0 bne _02038514 mov r0, #2 bl sub_02017CCC b _020388F8 _02038514: mov r0, #0 bl sub_02017CCC ldr r0, _02038900 ; =_020AFDF0 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x16] ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_02037CD8 mov r0, #1 bl sub_020383FC b _020388F8 _02038544: cmp ip, #1 bne _02038558 mov r0, #2 bl sub_02017CCC b _020388F8 _02038558: mov r0, #0 bl sub_02017CCC ldr r0, _02038900 ; =_020AFDF0 mov r2, #1 ldr r1, [r0] strb r2, [r1, #0x16] ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_02037CD8 mov r0, #1 bl sub_020383FC b _020388F8 _02038588: ldrb r0, [r1, #0x15] cmp r0, #0 moveq r2, #1 movne r2, #0 mov r0, #4 strb r2, [r1, #0x15] bl sub_02017CCC mov r0, #0 bl sub_020383FC ldr r0, _02038900 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_02037CD8 b _020388F8 _020385C0: ldrsb r0, [r1] bl sub_02037F58 bl sub_02038904 cmp r0, #0 beq _020388F8 ldr r0, _02038900 ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #8 bne _020388F8 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _020385F0: ldrb r0, [r1, #0x1e] cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r1, #0xc] cmp r0, #7 bne _02038680 bl sub_02038A54 movs r4, r0 beq _02038680 cmp r4, #0x12 bge _02038680 mov r0, #2 bl sub_02017CCC mov r1, #0x20 ldr r0, _02038900 ; =_020AFDF0 b _0203864C _02038634: ldr r2, [r0] ldr r3, [r2, #0xf8] ldrb r2, [r3, r4] cmp r2, #0 streqb r1, [r3, r4] add r4, r4, #1 _0203864C: cmp r4, #0x12 bne _02038634 ldr r0, _02038900 ; =_020AFDF0 mov r1, #0x12 ldr r0, [r0] strb r1, [r0, #0x1c] bl sub_02038ADC ldr r0, _02038900 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0] bl sub_02037F58 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02038680: ldr r0, _02038900 ; =_020AFDF0 ldr r1, [r0] ldrb r0, [r1, #0x16e] ldrb r5, [r1, #0x10] cmp r0, #0 movne r2, #1 moveq r2, #0 ldr r0, [r1, #0xc] and r4, r2, #0xff cmp r0, #8 moveq r5, #0 bl sub_02038A54 cmp r0, #0 beq _020386E8 cmp r5, #1 bne _020386E8 bl sub_02038A54 ldr r1, _02038900 ; =_020AFDF0 ldr r1, [r1] ldrb r1, [r1, #0x1b] cmp r1, r0 beq _020386E8 mov r0, #2 bl sub_02017CCC mov r0, #3 ldmia sp!, {r3, r4, r5, pc} _020386E8: cmp r4, #0 bne _020386FC bl sub_02038A54 cmp r0, #0 beq _0203871C _020386FC: cmp r5, #0 beq _0203872C bl sub_02038A54 ldr r1, _02038900 ; =_020AFDF0 ldr r1, [r1] ldrb r1, [r1, #0x1b] cmp r1, r0 beq _0203872C _0203871C: mov r0, #2 bl sub_02017CCC mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _0203872C: bl sub_02038B5C cmp r0, #0 beq _02038760 ldr r0, _02038900 ; =_020AFDF0 ldr r0, [r0] ldrb r1, [r0, #0x1b] ldr r0, [r0, #0xf8] bl sub_02038A8C cmp r0, #0x3c ble _02038760 mov r0, #2 bl sub_02017CCC b _020388F8 _02038760: mov r0, #0 bl sub_02017CCC cmp r4, #0 beq _02038794 bl sub_02038A54 cmp r0, #0 bne _02038794 ldr r0, _02038900 ; =_020AFDF0 ldr r0, [r0] add r1, r0, #0x6e ldr r0, [r0, #0xf8] add r1, r1, #0x100 bl StrcpySimple _02038794: ldr r0, _02038900 ; =_020AFDF0 ldr r1, [r0] ldrb r2, [r1, #0x1b] ldr r0, [r1, #0x134] ldr r1, [r1, #0xf8] bl MemcpySimple mov r0, #3 ldmia sp!, {r3, r4, r5, pc} _020387B4: ldrb r0, [r1, #0x10] cmp r0, #0 ldrne r0, [r1, #0xc] cmpne r0, #8 beq _020387E4 and r0, r4, #0xff bl sub_0204DA1C cmp r0, #0xff bne _02038810 mov r0, #2 bl sub_02017CCC b _020388F8 _020387E4: ldr r0, [r1, #0xc] cmp r0, #9 bne _02038810 and r0, r4, #0xff cmp r0, #0x41 blo _02038804 cmp r0, #0x5a bls _02038810 _02038804: mov r0, #2 bl sub_02017CCC b _020388F8 _02038810: ldr r0, _02038900 ; =_020AFDF0 ldr r2, [r0] ldrb r1, [r2, #0x15] cmp r1, #1 bne _020388A4 ldr r1, [r2, #0xc] cmp r1, #7 bne _02038870 ldrb r1, [r2, #0x1c] cmp r1, #0x11 bhi _02038870 beq _020388A4 mov r3, #0x10 b _0203885C _02038848: ldr r2, [r2, #0xf8] ldrb r1, [r2, r3] add r2, r2, r3 sub r3, r3, #1 strb r1, [r2, #1] _0203885C: ldr r2, [r0] ldrb r1, [r2, #0x1c] cmp r3, r1 bge _02038848 b _020388A4 _02038870: ldrb r0, [r2, #0x1b] sub r3, r0, #2 ldr r0, _02038900 ; =_020AFDF0 b _02038894 _02038880: ldr r2, [r2, #0xf8] ldrb r1, [r2, r3] add r2, r2, r3 sub r3, r3, #1 strb r1, [r2, #1] _02038894: ldr r2, [r0] ldrb r1, [r2, #0x1c] cmp r3, r1 bge _02038880 _020388A4: ldr r0, _02038900 ; =_020AFDF0 ldr r2, [r0] ldrb r1, [r2, #0x1c] ldr r2, [r2, #0xf8] strb r4, [r2, r1] ldr r2, [r0] ldrb r0, [r2, #0x1b] ldrb r1, [r2, #0x1c] sub r0, r0, #1 cmp r1, r0 addlt r0, r1, #1 strltb r0, [r2, #0x1c] movge r0, #5 strgeb r0, [r2, #0x18] mov r0, #0 bl sub_02017CCC bl sub_02038ADC ldr r0, _02038900 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0] bl sub_02037F58 _020388F8: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02038900: .word _020AFDF0 arm_func_end sub_020384B0 arm_func_start sub_02038904 sub_02038904: ; 0x02038904 stmdb sp!, {r3, lr} ldr r0, _02038A50 ; =_020AFDF0 ldr r3, [r0] ldrb r2, [r3, #0x1c] ldr r1, [r3, #0xf8] ldrb r1, [r1, r2] cmp r1, #0 bne _02038978 cmp r2, #0 bne _0203893C mov r0, #2 bl sub_02017CCC mov r0, #1 ldmia sp!, {r3, pc} _0203893C: sub r1, r2, #1 strb r1, [r3, #0x1c] ldr r0, [r0] mov r3, #0 ldrb r1, [r0, #0x1c] ldr r2, [r0, #0xf8] mov r0, #1 strb r3, [r2, r1] bl sub_02017CCC ldr r0, _02038A50 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0] bl sub_02037F58 bl sub_02038ADC b _02038A48 _02038978: bl sub_02038A54 ldr r1, _02038A50 ; =_020AFDF0 sub r0, r0, #1 ldr r2, [r1] mov ip, #0 ldr r1, [r2, #0xc] cmp r1, #7 bne _020389EC ldrb lr, [r2, #0x1c] cmp lr, #0x11 bhi _020389EC cmp r0, #0x11 movge r0, #0x11 movge ip, #0x20 ldr r1, _02038A50 ; =_020AFDF0 b _020389D0 _020389B8: ldr r2, [r1] ldr r3, [r2, #0xf8] add r2, r3, lr ldrb r2, [r2, #1] strb r2, [r3, lr] add lr, lr, #1 _020389D0: cmp lr, r0 blt _020389B8 ldr r1, _02038A50 ; =_020AFDF0 ldr r1, [r1] ldr r1, [r1, #0xf8] strb ip, [r1, r0] b _02038A2C _020389EC: ldrb ip, [r2, #0x1c] ldr r1, _02038A50 ; =_020AFDF0 b _02038A10 _020389F8: ldr r2, [r1] ldr r3, [r2, #0xf8] add r2, r3, ip ldrb r2, [r2, #1] strb r2, [r3, ip] add ip, ip, #1 _02038A10: cmp ip, r0 blt _020389F8 ldr r1, _02038A50 ; =_020AFDF0 mov r2, #0 ldr r1, [r1] ldr r1, [r1, #0xf8] strb r2, [r1, r0] _02038A2C: mov r0, #1 bl sub_02017CCC ldr r0, _02038A50 ; =_020AFDF0 ldr r0, [r0] ldrsb r0, [r0] bl sub_02037F58 bl sub_02038ADC _02038A48: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02038A50: .word _020AFDF0 arm_func_end sub_02038904 arm_func_start sub_02038A54 sub_02038A54: ; 0x02038A54 ldr r1, _02038A88 ; =_020AFDF0 mov r0, #0 ldr r2, [r1] ldrb r3, [r2, #0x1b] b _02038A7C _02038A68: ldr r1, [r2, #0xf8] ldrb r1, [r1, r0] cmp r1, #0 bxeq lr add r0, r0, #1 _02038A7C: cmp r0, r3 blt _02038A68 bx lr .align 2, 0 _02038A88: .word _020AFDF0 arm_func_end sub_02038A54 arm_func_start sub_02038A8C sub_02038A8C: ; 0x02038A8C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 mov r7, r0 mov r6, r1 mov r5, r4 b _02038ACC _02038AA4: ldrb r0, [r7, r5] cmp r0, #0 beq _02038AD4 bl sub_020251F0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02025C7C ldrb r0, [r0, #2] add r5, r5, #1 add r4, r4, r0 _02038ACC: cmp r5, r6 blt _02038AA4 _02038AD4: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02038A8C arm_func_start sub_02038ADC sub_02038ADC: ; 0x02038ADC stmdb sp!, {r4, r5, r6, lr} mov r4, #0 mov r5, r4 ldr r6, _02038B58 ; =_020AFDF0 b _02038B44 _02038AF0: add r0, r1, r5, lsl #1 strh r4, [r0, #0x20] ldr r1, [r6] ldr r0, [r1, #0xf8] ldrb r0, [r0, r5] cmp r0, #0 addeq r0, r1, r5, lsl #1 moveq r1, #8 streqh r1, [r0, #0x8c] ldmeqia sp!, {r4, r5, r6, pc} bl sub_020251F0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02025C7C ldr r1, [r6] ldrb r2, [r0, #2] add r1, r1, r5, lsl #1 add r5, r5, #1 strh r2, [r1, #0x8c] ldrb r0, [r0, #2] add r4, r4, r0 _02038B44: ldr r1, [r6] ldrb r0, [r1, #0x1b] cmp r5, r0 blt _02038AF0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02038B58: .word _020AFDF0 arm_func_end sub_02038ADC arm_func_start sub_02038B5C sub_02038B5C: ; 0x02038B5C ldr r0, _02038B7C ; =_020AFDF0 ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #3 movls r0, #1 movhi r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02038B7C: .word _020AFDF0 arm_func_end sub_02038B5C arm_func_start sub_02038B80 sub_02038B80: ; 0x02038B80 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 ldr r2, _02039068 ; =_020AFDF0 mov sb, r0 ldr r7, [r2] mov r8, r1 ldrb r3, [r7, #0x10] ldr ip, [r7, #0xc] mov r2, #1 cmp ip, #7 moveq r3, r2 cmp r3, #0 ldr r4, _0203906C ; =_0209B2E0 movne r2, #2 ldr r1, _02039070 ; =_0209B2E1 ldr r0, _02039074 ; =_0209B2E2 ldrb r4, [r4, r2, lsl #4] ldr lr, _02039078 ; =0x0000FFFF ldr r5, _0203907C ; =_0209B2E3 cmp sb, lr ldrb r1, [r1, r2, lsl #4] ldrb r0, [r0, r2, lsl #4] ldrb r2, [r5, r2, lsl #4] mov r4, r4, lsl #3 mov r5, r1, lsl #3 add r0, r4, r0, lsl #3 cmpne r8, lr add r1, r5, r2, lsl #3 mvneq r0, #0 beq _02039060 add r2, r1, #8 cmp r8, r2 bge _02038FA0 cmp r3, #0 beq _02038CEC add r1, r5, #8 cmp r8, r1 sublt r0, lr, #0x10000 blt _02039060 cmp r8, r2 subgt r0, lr, #0x10000 bgt _02039060 sub r1, r4, #4 cmp sb, r1 sublt r0, lr, #0x10000 blt _02039060 add r0, r0, #4 cmp sb, r0 subgt r0, lr, #0x10000 bgt _02039060 cmp ip, #5 beq _02038C5C sub r0, ip, #7 cmp r0, #1 bhi _02038CA0 _02038C5C: add r0, r4, #3 sub sb, sb, r0 cmp sb, #0 movle sb, #1 cmp sb, #0xea movge sb, #0xe9 mov r0, sb mov r1, #0xd bl __divsi3 add r1, r5, #0x1e mov r6, r0 cmp r8, r1 addgt r6, r6, #0x12 add r0, r5, #0x2d cmp r8, r0 addgt r6, r6, #0x12 b _02038D88 _02038CA0: add r0, r4, #6 sub sb, sb, r0 cmp sb, #0 movle sb, #1 cmp sb, #0xe5 movge sb, #0xe4 cmp sb, #0xaa subgt sb, sb, #8 bgt _02038CCC cmp sb, #0x4b subgt sb, sb, #4 _02038CCC: mov r0, sb mov r1, #0xd bl __divsi3 add r1, r5, #0x24 mov r6, r0 cmp r8, r1 addgt r6, r6, #0x11 b _02038D88 _02038CEC: bl sub_02038A54 ldr r1, _02039068 ; =_020AFDF0 ldr r3, _02039080 ; =_0209B2C4 ldr r1, [r1] ldr r7, [r1, #0xc] ldrb r2, [r1, #0x1b] ldrb r3, [r3, r7] cmp r0, r2 subeq r0, r0, #1 add r2, r5, #0x16 cmp r8, r2 add r2, r2, #0x20 add r3, r4, r3 mvnlt r0, #0 blt _02039060 cmp r8, r2 mvngt r0, #0 bgt _02039060 sub r2, r3, #4 cmp sb, r2 mvnlt r0, #0 blt _02039060 add r2, r3, #0x68 cmp sb, r2 mvngt r0, #0 bgt _02039060 sub r5, sb, r3 mov r4, #0 b _02038D80 _02038D60: add r2, r1, r4, lsl #1 ldrsh r3, [r2, #0x20] ldrsh r2, [r2, #0x8c] mov r6, r4 add r2, r3, r2 cmp r5, r2 blt _02038D88 add r4, r4, #1 _02038D80: cmp r4, r0 ble _02038D60 _02038D88: bl sub_02038A54 cmp r6, r0 bgt _02038F98 ldr r0, _02039068 ; =_020AFDF0 ldr r1, [r0] strb r6, [r1, #0x1d] ldr r0, [r0] ldrsb r0, [r0] bl sub_020275F8 mov r4, r0 bl sub_02038ADC ldr r0, _02039068 ; =_020AFDF0 ldr r3, [r0] ldr r1, [r3, #0xc] sub r0, r1, #4 cmp r0, #5 addls pc, pc, r0, lsl #2 b _02038F30 _02038DD0: ; jump table b _02038ED8 ; case 0 b _02038DE8 ; case 1 b _02038E60 ; case 2 b _02038DE8 ; case 3 b _02038DE8 ; case 4 b _02038ED8 ; case 5 _02038DE8: ldr r0, _02039084 ; =_0209B28C ldr r5, _02039088 ; =_0209B2D0 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr sb, _02039080 ; =_0209B2C4 ldrb r2, [r4, #5] ldrb r0, [r4, #4] ldr r3, _0203908C ; =_0209B3B6 mov r8, r6, lsl #2 ldr r7, _02039090 ; =_0209B3B4 ldrb r4, [r5, r1] ldrsh r3, [r3, r8] ldrb r1, [sb, r1] ldrsh r5, [r7, r8] add r3, r4, r3 sub r2, r2, #1 add r2, r3, r2, lsl #3 sub r2, r2, #0xe mov r2, r2, lsl #0x10 add r1, r1, r5 sub r0, r0, #1 add r0, r1, r0, lsl #3 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r2, asr #0x10 mov r2, #0xc mov r3, #0xb bl sub_0202A2A4 b _02038F90 _02038E60: ldr r0, _02039084 ; =_0209B28C ldr r5, _02039088 ; =_0209B2D0 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr sb, _02039080 ; =_0209B2C4 ldrb r2, [r4, #5] ldrb r0, [r4, #4] ldr r3, _02039094 ; =_0209B32E mov r8, r6, lsl #2 ldr r7, _02039098 ; =_0209B32C ldrb r4, [r5, r1] ldrsh r3, [r3, r8] ldrb r1, [sb, r1] ldrsh r5, [r7, r8] add r3, r4, r3 sub r2, r2, #1 add r2, r3, r2, lsl #3 sub r2, r2, #0xe mov r2, r2, lsl #0x10 add r1, r1, r5 sub r0, r0, #1 add r0, r1, r0, lsl #3 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r2, asr #0x10 mov r2, #0xc mov r3, #0xb bl sub_0202A2A4 b _02038F90 _02038ED8: ldr r0, _02039084 ; =_0209B28C ldr r2, _02039080 ; =_0209B2C4 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr r0, _02039088 ; =_0209B2D0 ldrb r5, [r2, r1] ldrsh r3, [r3, #0x20] ldrb r2, [r4, #4] ldrb r1, [r0, r1] ldrb r0, [r4, #5] add r3, r5, r3 add r2, r3, r2, lsl #3 add r1, r1, r0, lsl #3 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r1, asr #0x10 mov r2, #0xc mov r3, #0xb bl sub_0202A2A4 b _02038F90 _02038F30: ldr r0, _02039068 ; =_020AFDF0 ldr r2, _02039080 ; =_0209B2C4 ldr r5, [r0] ldr r3, _02039084 ; =_0209B28C mov r0, #0x40 str r3, [sp] str r0, [sp, #4] add r5, r5, r6, lsl #1 ldr r0, _02039088 ; =_0209B2D0 ldrb r7, [r2, r1] ldrsh r3, [r5, #0x20] ldrb r2, [r4, #4] ldrb r1, [r0, r1] ldrb r0, [r4, #5] add r3, r7, r3 add r2, r3, r2, lsl #3 add r1, r1, r0, lsl #3 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 ldrsh r2, [r5, #0x8c] mov r0, r0, asr #0x10 mov r1, r1, asr #0x10 mov r3, #0xb bl sub_0202A2A4 _02038F90: add r0, r6, #0x64 b _02039060 _02038F98: mvn r0, #0 b _02039060 _02038FA0: cmp r8, #0x60 blt _02038FB0 cmp r8, #0xb8 ble _02038FB8 _02038FB0: mvn r0, #0 b _02039060 _02038FB8: cmp r8, #8 sublt r0, lr, #0x10000 blt _02039060 cmp r8, #0xf8 subgt r0, lr, #0x10000 bgt _02039060 cmp sb, #8 sublt r0, lr, #0x10000 blt _02039060 cmp sb, #0xf8 subgt r0, lr, #0x10000 bgt _02039060 cmp sb, #0x23 movle sb, #0x24 cmp sb, #0xf5 movge sb, #0xf4 cmp r8, #0x63 movle r8, #0x64 cmp r8, #0xb1 movge r8, #0xb0 sub r0, r8, #0x63 mov r1, #0xd bl __divsi3 mov r4, r0 sub r0, sb, #0x23 mov r1, #0xf bl __divsi3 mov r1, #6 ldr r2, _02039068 ; =_020AFDF0 mla r0, r1, r0, r4 ldrb r3, [r7, #0x16] ldr r2, [r2, #8] mov r1, #0xa ldr r2, [r2, r3, lsl #2] mla r2, r0, r1, r2 ldrh r2, [r2, #8] cmp r2, #0x110 subeq r0, r1, #0xb beq _02039060 ldrb r2, [r7, #0x1e] cmp r2, #0 subne r0, r1, #0xb _02039060: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02039068: .word _020AFDF0 _0203906C: .word _0209B2E0 _02039070: .word _0209B2E1 _02039074: .word _0209B2E2 _02039078: .word 0x0000FFFF _0203907C: .word _0209B2E3 _02039080: .word _0209B2C4 _02039084: .word _0209B28C _02039088: .word _0209B2D0 _0203908C: .word _0209B3B6 _02039090: .word _0209B3B4 _02039094: .word _0209B32E _02039098: .word _0209B32C arm_func_end sub_02038B80 arm_func_start sub_0203909C sub_0203909C: ; 0x0203909C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x9c mov r6, r0 mov r4, #0 mov r0, #0x4c mov r1, #8 mov r5, r4 bl MemAlloc ldr r1, _02039208 ; =_020AFE40 mov r3, r4 str r0, [r1] str r3, [r0, #8] ldr r0, [r1] sub r2, r3, #2 strb r3, [r0, #0xc] ldr r0, [r1] strb r2, [r0] ldr r0, [r1] strb r2, [r0, #1] ldr r0, [r1] strb r2, [r0, #2] ldr r0, [r1] str r3, [r0, #0x10] b _02039118 _020390FC: ldrb r0, [r6, r3] cmp r0, #0 beq _02039120 cmp r0, #0x20 addeq r4, r4, #1 add r5, r5, #1 add r3, r3, #1 _02039118: cmp r3, #0x36 blt _020390FC _02039120: cmp r5, r4 ldreq r0, _02039208 ; =_020AFE40 moveq r1, #1 ldreq r0, [r0] mov r3, #0 streqb r1, [r0, #0xc] ldr r0, _02039208 ; =_020AFE40 _0203913C: ldr r1, [r0] ldrb r2, [r6, r3] add r1, r1, r3 add r3, r3, #1 strb r2, [r1, #0x14] cmp r3, #0x36 blt _0203913C ldr r0, _02039208 ; =_020AFE40 ldr r0, [r0] ldrb r0, [r0, #0xc] cmp r0, #0 bne _020391C0 ldr r0, _0203920C ; =_0209B4D4 mov r2, #1 ldr r1, _02039210 ; =sub_0203939C str r2, [sp, #4] bl sub_0202F8C4 ldr r1, _02039208 ; =_020AFE40 ldr r3, _02039214 ; =_0209B4E4 ldr r1, [r1] add r2, sp, #4 strb r0, [r1] mov r0, #0 mov r1, #0x31 str r0, [sp] bl CreateNormalMenu ldr r1, _02039208 ; =_020AFE40 mov r2, #0 ldr r3, [r1] strb r0, [r3, #1] ldr r0, [r1] str r2, [r0, #4] b _020391FC _020391C0: mov r0, #0 bl CreateDBox ldr r3, _02039208 ; =_020AFE40 mov r1, #0x218 ldr r4, [r3] sub r2, r1, #0xf3 strb r0, [r4, #2] ldr r0, [r3] mov r3, #0 ldrsb r0, [r0, #2] bl ShowMessageInDBox ldr r0, _02039208 ; =_020AFE40 mov r1, #1 ldr r0, [r0] str r1, [r0, #4] _020391FC: mov r0, #1 add sp, sp, #0x9c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02039208: .word _020AFE40 _0203920C: .word _0209B4D4 _02039210: .word sub_0203939C _02039214: .word _0209B4E4 arm_func_end sub_0203909C arm_func_start sub_02039218 sub_02039218: ; 0x02039218 stmdb sp!, {r3, lr} ldr r0, _02039300 ; =_020AFE40 ldr r0, [r0] cmp r0, #0 beq _020392F8 ldr r1, [r0, #8] cmp r1, #0 beq _0203924C cmp r1, #1 beq _02039290 cmp r1, #0xb beq _020392C4 b _020392DC _0203924C: ldrsb r0, [r0] mvn r1, #1 cmp r0, r1 beq _02039270 bl sub_0202F954 ldr r0, _02039300 ; =_020AFE40 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202836C _02039270: ldr r0, _02039300 ; =_020AFE40 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #1] cmp r0, r1 beq _020392DC bl FreeNormalMenu b _020392DC _02039290: ldrsb r0, [r0] mvn r1, #1 cmp r0, r1 beq _020392A4 bl sub_0202F8FC _020392A4: ldr r0, _02039300 ; =_020AFE40 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #2] cmp r0, r1 beq _020392DC bl FreeDBox b _020392DC _020392C4: bl MemFree ldr r0, _02039300 ; =_020AFE40 mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} _020392DC: ldr r1, _02039300 ; =_020AFE40 mov r0, #0 ldr r2, [r1] ldr r1, [r2, #8] add r1, r1, #1 str r1, [r2, #8] ldmia sp!, {r3, pc} _020392F8: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02039300: .word _020AFE40 arm_func_end sub_02039218 arm_func_start sub_02039304 sub_02039304: ; 0x02039304 ldr r0, _02039318 ; =_020AFE40 mov r1, #1 ldr r0, [r0] str r1, [r0, #0x10] bx lr .align 2, 0 _02039318: .word _020AFE40 arm_func_end sub_02039304 arm_func_start sub_0203931C sub_0203931C: ; 0x0203931C stmdb sp!, {r3, lr} ldr r0, _02039398 ; =_020AFE40 ldr r1, [r0] ldr r0, [r1, #4] cmp r0, #1 bne _0203934C ldrsb r0, [r1, #2] bl IsDBoxActive cmp r0, #0 bne _02039390 mov r0, #1 ldmia sp!, {r3, pc} _0203934C: ldrb r0, [r1, #0xc] cmp r0, #0 bne _0203937C ldrsb r0, [r1, #1] bl IsNormalMenuActive cmp r0, #0 bne _02039390 ldr r0, _02039398 ; =_020AFE40 ldr r0, [r0] ldrsb r0, [r0, #1] bl GetNormalMenuResult ldmia sp!, {r3, pc} _0203937C: ldrsb r0, [r1, #2] bl IsDBoxActive cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _02039390: mvn r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02039398: .word _020AFE40 arm_func_end sub_0203931C arm_func_start sub_0203939C sub_0203939C: ; 0x0203939C stmdb sp!, {r3, r4, lr} sub sp, sp, #0x254 mov r4, r0 bl sub_02027B1C ldr r0, _02039428 ; =_020AFE40 ldr r2, [r0] ldr r0, [r2, #0x10] cmp r0, #0 add r0, sp, #0x54 bne _020393D4 ldr r1, _0203942C ; =_0209B4FC add r2, r2, #0x14 bl SprintfStatic__02039438 b _020393E0 _020393D4: ldr r1, _02039430 ; =_0209B50C add r2, r2, #0x14 bl SprintfStatic__02039438 _020393E0: add r0, sp, #0x54 str r0, [sp, #0x3c] add ip, sp, #4 ldr r3, _02039434 ; =0x0000C402 add r0, sp, #0x154 mov r1, #0x400 mov r2, #0x124 str ip, [sp] bl PreprocessStringFromMessageId add r3, sp, #0x154 mov r0, r4 mov r1, #4 mov r2, #3 bl sub_02026214 mov r0, r4 bl sub_02027AF0 add sp, sp, #0x254 ldmia sp!, {r3, r4, pc} .align 2, 0 _02039428: .word _020AFE40 _0203942C: .word _0209B4FC _02039430: .word _0209B50C _02039434: .word 0x0000C402 arm_func_end sub_0203939C arm_func_start SprintfStatic__02039438 SprintfStatic__02039438: ; 0x02039438 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02039438 arm_func_start sub_02039460 sub_02039460: ; 0x02039460 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r1, _02039514 ; =_020AFE58 mov r4, r0 str r4, [r1] ldr r0, [r4, #0x10] add ip, sp, #8 cmp r0, #0x10 blt _020394C8 and r1, r0, #0xf ldr r0, _02039518 ; =_0209C5C0 str r1, [r4, #0x10] ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r0, [r4, #0x18] mov r2, #0 strb r0, [sp, #0xc] ldr r0, [r4, #0x1c] ldr r1, _0203951C ; =0x00001007 strb r0, [sp, #0xd] str r2, [sp] ldr r3, _02039520 ; =sub_02039C14 mov r0, ip str r2, [sp, #4] bl sub_020305B4 b _02039500 _020394C8: ldr r0, _02039524 ; =_0209C5D0 ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r0, [r4, #0x18] mov r2, #0 strb r0, [sp, #0xc] ldr r0, [r4, #0x1c] ldr r1, _0203951C ; =0x00001007 strb r0, [sp, #0xd] str r2, [sp] ldr r3, _02039520 ; =sub_02039C14 mov r0, ip str r2, [sp, #4] bl sub_020305B4 _02039500: strb r0, [r4, #0x14] mov r0, r4 bl sub_020395CC add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 _02039514: .word _020AFE58 _02039518: .word _0209C5C0 _0203951C: .word 0x00001007 _02039520: .word sub_02039C14 _02039524: .word _0209C5D0 arm_func_end sub_02039460 arm_func_start sub_02039528 sub_02039528: ; 0x02039528 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] ldr r1, _020395C8 ; =_020AFE58 str r5, [r1] bl sub_020396E4 cmp r0, #3 addls pc, pc, r0, lsl #2 b _020395AC _0203954C: ; jump table b _020395AC ; case 0 b _020395AC ; case 1 b _02039584 ; case 2 b _0203955C ; case 3 _0203955C: mov r0, #0 bl sub_02017CCC ldrsb r0, [r5, #0x14] bl sub_0202836C ldrsb r0, [r5, #0x14] bl sub_0203088C ldrsb r0, [r5, #0x14] bl sub_020308A0 ldr r0, [r5] ldmia sp!, {r3, r4, r5, pc} _02039584: ldrsb r0, [r5, #0x14] bl sub_0202836C ldrsb r0, [r5, #0x14] bl sub_0203088C ldrsb r0, [r5, #0x14] bl sub_020308A0 mov r0, #1 bl sub_02017CCC mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} _020395AC: ldr r0, [r5] cmp r4, r0 beq _020395C0 ldrsb r0, [r5, #0x14] bl sub_0203083C _020395C0: mvn r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020395C8: .word _020AFE58 arm_func_end sub_02039528 arm_func_start sub_020395CC sub_020395CC: ; 0x020395CC stmdb sp!, {r4, lr} sub sp, sp, #0x28 ldr r1, _0203967C ; =_020AFE58 mov r4, r0 str r4, [r1] ldr r1, [r4, #0xc] ldr r2, [r4, #0x10] add r0, sp, #0 bl sub_02039680 ldr r0, [r4, #0x10] add r1, sp, #0 strb r0, [r4, #0x29] b _0203960C _02039600: ldrb r0, [r4, #0x29] sub r0, r0, #1 strb r0, [r4, #0x29] _0203960C: ldrb r2, [r4, #0x29] add r0, r1, r2, lsl #2 ldr r0, [r0, #-4] cmp r0, #0 bne _02039628 cmp r2, #1 bhi _02039600 _02039628: ldr r1, [r4, #4] add r0, sp, #0 str r1, [r4] ldr r2, [r4, #0x10] bl sub_02039680 ldrb r0, [r4, #0x29] add r1, sp, #0 sub r0, r0, #1 strb r0, [r4, #0x28] b _0203965C _02039650: ldrb r0, [r4, #0x28] sub r0, r0, #1 strb r0, [r4, #0x28] _0203965C: ldrb r2, [r4, #0x28] ldr r0, [r1, r2, lsl #2] cmp r0, #0 bne _02039674 cmp r2, #0 bne _02039650 _02039674: add sp, sp, #0x28 ldmia sp!, {r4, pc} .align 2, 0 _0203967C: .word _020AFE58 arm_func_end sub_020395CC arm_func_start sub_02039680 sub_02039680: ; 0x02039680 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sb, r1 cmp sb, #0 movgt r6, #1 mov r5, #0xa mov sl, r0 mov r8, r2 rsble sb, sb, #0 mvnle r6, #0 mov r7, #0 mov r4, r5 b _020396D4 _020396B0: mov r0, sb mov r1, r5 bl __divsi3 str r1, [sl, r7, lsl #2] mov r0, sb mov r1, r4 bl __divsi3 mov sb, r0 add r7, r7, #1 _020396D4: cmp r7, r8 blt _020396B0 mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02039680 arm_func_start sub_020396E4 sub_020396E4: ; 0x020396E4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x34 mov r4, r0 add r1, sp, #0xc mov r0, #0 bl GetPressedButtons ldrsb r0, [r4, #0x14] bl sub_020308C4 cmp r0, #0 bne _02039730 ldrsb r0, [r4, #0x14] bl sub_02030940 mvn r1, #0 cmp r0, r1 bne _02039728 mov r0, #2 b _02039940 _02039728: mov r0, #3 b _02039940 _02039730: add r1, sp, #0xa mov r0, #0 ldrb r5, [r4, #0x28] bl sub_020063F4 ldrh r0, [sp, #0xa] cmp r0, #0x10 beq _02039774 cmp r0, #0x20 bne _02039788 ldrb r0, [r4, #0x29] ldrb r1, [r4, #0x28] sub r0, r0, #1 cmp r1, r0 movge r0, #0 addlt r0, r1, #1 and r5, r0, #0xff b _02039788 _02039774: ldrb r0, [r4, #0x28] cmp r0, #0 ldreqb r0, [r4, #0x29] sub r0, r0, #1 and r5, r0, #0xff _02039788: ldrb r0, [r4, #0x28] cmp r5, r0 beq _020397A0 mov r0, #3 strb r5, [r4, #0x28] bl sub_02017CCC _020397A0: ldrb r1, [r4, #0x28] mov r0, #0xc ldr r3, [r4, #0x24] add r1, r1, #1 mul r2, r1, r0 ldr r1, [r4, #0x20] add r0, r3, #0xf sub r1, r1, r2 add r2, r1, #3 str r2, [sp] str r0, [sp, #4] ldrsb r0, [r4, #0x14] sub r3, r3, #1 mov r1, #7 bl sub_020309B8 add r1, sp, #8 mov r0, #0 bl sub_020063F4 mov r0, r4 bl sub_0203994C cmp r0, #0 ldreqh r0, [sp, #8] cmp r0, #0x40 beq _0203980C cmp r0, #0x80 beq _0203985C b _020398AC _0203980C: ldr r3, [r4] ldr r0, [r4, #0xc] cmp r3, r0 bne _0203982C mov r0, #2 bl sub_02017CCC mov r0, #0 b _020398B0 _0203982C: ldrb r2, [r4, #0x28] ldr r1, _02039948 ; =_0209C5E0 mov r0, #3 ldr r1, [r1, r2, lsl #2] add r5, r3, r1 bl sub_02017CCC ldr r0, [r4, #0xc] cmp r5, r0 strgt r0, [r4] strle r5, [r4] mov r0, #1 b _020398B0 _0203985C: ldr r3, [r4] ldr r0, [r4, #8] cmp r3, r0 bne _0203987C mov r0, #2 bl sub_02017CCC mov r0, #0 b _020398B0 _0203987C: ldrb r2, [r4, #0x28] ldr r1, _02039948 ; =_0209C5E0 mov r0, #3 ldr r1, [r1, r2, lsl #2] sub r5, r3, r1 bl sub_02017CCC ldr r0, [r4, #8] cmp r5, r0 strlt r0, [r4] strge r5, [r4] mov r0, #1 b _020398B0 _020398AC: mov r0, #0 _020398B0: cmp r0, #0 movne r0, #1 bne _02039940 mov r0, r4 bl sub_0203994C cmp r0, #0 ldreqh r0, [sp, #0xc] cmp r0, #1 beq _020398E4 cmp r0, #2 bne _020398EC mov r0, #2 b _02039940 _020398E4: mov r0, #3 b _02039940 _020398EC: add r0, sp, #0x10 mov r1, #1 bl sub_02031914 ldr r1, [sp, #0x14] ldr r0, [sp, #0x18] mov r1, r1, lsl #0x10 mov r2, r0, lsl #0x10 mov r0, r4 mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl sub_020399FC cmp r0, #0 blt _0203993C ldrb r1, [r4, #0x28] and r2, r0, #0xff cmp r2, r1 beq _0203993C mov r0, #3 strb r2, [r4, #0x28] bl sub_02017CCC _0203993C: mov r0, #0 _02039940: add sp, sp, #0x34 ldmia sp!, {r4, r5, pc} .align 2, 0 _02039948: .word _0209C5E0 arm_func_end sub_020396E4 arm_func_start sub_0203994C sub_0203994C: ; 0x0203994C stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 add r0, sp, #0 mov r1, #1 bl sub_02031914 ldrh r0, [sp] tst r0, #2 moveq r0, #0 beq _020399F0 ldr r2, [sp, #4] ldr r0, _020399F8 ; =0x0000FFFF cmp r2, r0 ldreq r1, [sp, #8] cmpeq r1, r0 moveq r0, #0 beq _020399F0 ldr r0, [sp, #8] mov r1, r2, lsl #0x10 mov r2, r0, lsl #0x10 mov r0, r4 mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl sub_020399FC ldrb r1, [r4, #0x28] cmp r1, r0 movne r0, #0 bne _020399F0 ldrsb r0, [r4, #0x14] bl sub_020275F8 ldrb r1, [r0, #5] ldr r2, [r4, #0x24] ldr r0, [sp, #8] add r1, r2, r1, lsl #3 cmp r0, r1 add r1, r1, #0xc movlt r0, #0x40 blt _020399F0 cmp r0, r1 movgt r0, #0x80 movle r0, #0 _020399F0: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 _020399F8: .word 0x0000FFFF arm_func_end sub_0203994C arm_func_start sub_020399FC sub_020399FC: ; 0x020399FC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r0 ldrsb r0, [r6, #0x14] mov r5, r1 mov r4, r2 bl sub_020275F8 ldrb r1, [r0, #5] ldr r3, [r6, #0x24] ldr ip, _02039B08 ; =0x0000FFFF add r3, r3, r1, lsl #3 cmp r5, ip ldrb r7, [r6, #0x29] ldr r8, [r6, #0x20] ldrb r2, [r0, #4] mov r6, #0xc ldrb sb, [r0, #6] sub lr, r3, #0xa ldrb r0, [r0, #7] smulbb r7, r7, r6 add r8, r8, r2, lsl #3 mov r3, r2, lsl #3 mov r1, r1, lsl #3 add r2, r3, sb, lsl #3 add sb, r1, r0, lsl #3 sub r7, r8, r7 add r0, lr, #0x20 cmpne r4, ip mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} sub r3, r3, #6 cmp r5, r3 sublt r0, r6, #0xe ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} sub r1, r1, #6 cmp r4, r1 sublt r0, r6, #0xe ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r1, r2, #6 cmp r5, r1 subgt r0, r6, #0xe ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r1, sb, #6 cmp r4, r1 subgt r0, r6, #0xe ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r4, lr sublt r0, ip, #0x10000 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r4, r0 subgt r0, ip, #0x10000 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} sub r0, r7, #4 cmp r5, r0 sublt r0, ip, #0x10000 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r0, r8, #4 cmp r5, r0 subgt r0, ip, #0x10000 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r5, r7 addle r5, r7, #1 cmp r5, r8 subge r5, r8, #1 sub r0, r8, r5 mov r1, #0xc bl __divsi3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02039B08: .word 0x0000FFFF arm_func_end sub_020399FC arm_func_start sub_02039B0C sub_02039B0C: ; 0x02039B0C stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x2c mov r8, r0 ldr r1, [r8] ldr r2, [r8, #0x10] add r0, sp, #4 bl sub_02039680 ldr r0, [r8, #0x10] add r2, sp, #4 sub r3, r0, #1 mov r0, #0xff b _02039B50 _02039B3C: ldr r1, [r2, r3, lsl #2] cmp r1, #0 bne _02039B58 str r0, [r2, r3, lsl #2] sub r3, r3, #1 _02039B50: cmp r3, #0 bgt _02039B3C _02039B58: mov r7, #0 add r6, sp, #4 mov r5, #0x2a mov r4, #0x44 mov sb, #0xc b _02039BB0 _02039B70: ldr r0, [r6, r7, lsl #2] cmp r0, #0xff moveq r0, r5 addne r0, r0, #0x30 andne r0, r0, #0xff bl sub_020251F0 add r1, r7, #1 mul r2, r1, sb str r4, [sp] ldr r1, [r8, #0x20] mov r3, r0 sub r1, r1, r2 ldrsb r0, [r8, #0x14] ldr r2, [r8, #0x24] bl sub_020264F8 add r7, r7, #1 _02039BB0: ldr r0, [r8, #0x10] cmp r7, r0 blt _02039B70 mov r5, #0 mov r4, #0x17 mov r7, #0xb mov r6, #0xc b _02039C00 _02039BD0: add r0, r5, #1 mul r1, r0, r6 str r4, [sp] ldr r0, [r8, #0x20] ldr r2, [r8, #0x24] sub r1, r0, r1 ldrsb r0, [r8, #0x14] mov r3, r7 sub r1, r1, #1 add r2, r2, #0xc bl sub_02025D50 add r5, r5, #1 _02039C00: ldr r0, [r8, #0x10] cmp r5, r0 blt _02039BD0 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02039B0C arm_func_start sub_02039C14 sub_02039C14: ; 0x02039C14 ldr r0, _02039C24 ; =_020AFE58 ldr ip, _02039C28 ; =sub_02039B0C ldr r0, [r0] bx ip .align 2, 0 _02039C24: .word _020AFE58 _02039C28: .word sub_02039B0C arm_func_end sub_02039C14 arm_func_start sub_02039C2C sub_02039C2C: ; 0x02039C2C ldr ip, _02039C38 ; =sub_02039C64 mov r2, #0 bx ip .align 2, 0 _02039C38: .word sub_02039C64 arm_func_end sub_02039C2C arm_func_start sub_02039C3C sub_02039C3C: ; 0x02039C3C stmdb sp!, {r4, lr} mov r2, #2 bl sub_02039C64 ldr r1, _02039C60 ; =sub_0203BA80 mov r2, #0 mov r4, r0 bl sub_0203189C mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02039C60: .word sub_0203BA80 arm_func_end sub_02039C3C arm_func_start sub_02039C64 sub_02039C64: ; 0x02039C64 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x4c mov r5, r0 mov r4, r2 bl sub_0203AD68 cmp r0, #0 mvnne r0, #1 bne _0203A4CC ldr r0, _0203A4D4 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 bne _02039CA8 mov r0, #0x8a0 mov r1, #8 bl MemAlloc ldr r1, _0203A4D4 ; =_020AFE5C str r0, [r1, #0x10] _02039CA8: ldr r1, _0203A4D4 ; =_020AFE5C ldr r0, _0203A4D8 ; =_0209C764 ldrsh r6, [r1, #2] mov r2, r5 mov r3, r4 str r6, [sp] ldr r1, [r1, #4] bl DebugPrint0 ldr r0, _0203A4D4 ; =_020AFE5C ldr r1, [r0, #4] cmp r1, r5 beq _02039CF0 mov r1, #1 str r1, [r0, #0xc] mov r1, #0 str r1, [r0, #8] str r5, [r0, #4] strh r1, [r0, #2] _02039CF0: ldr r2, _0203A4D4 ; =_020AFE5C mov r0, #0 ldrsh r1, [r2, #2] sub r3, r0, #2 strh r1, [r2] ldr r1, [r2, #0x10] str r4, [r1] ldr r1, [r2, #0x10] strb r0, [r1, #8] ldr r1, [r2, #0x10] strb r0, [r1, #9] ldr r1, [r2, #0x10] strb r0, [r1, #0xa] ldr r1, [r2, #0x10] strb r0, [r1, #0xb] ldr r1, [r2, #0x10] strb r0, [r1, #0xc] ldr r1, [r2, #0x10] strb r0, [r1, #0xd] ldr r1, [r2, #0x10] strb r0, [r1, #0xe] ldr r1, [r2, #0x10] strb r0, [r1, #0x10] ldr r1, [r2, #0x10] strb r3, [r1, #0x468] ldr r1, [r2, #0x10] strb r3, [r1, #0x469] ldr r1, [r2, #0x10] strb r3, [r1, #0x505] ldr r1, [r2, #0x10] strb r3, [r1, #0x506] ldr r1, [r2, #0x10] strb r3, [r1, #0x507] ldr r1, [r2, #0x10] strb r3, [r1, #0x50c] ldr r1, [r2, #0x10] strb r3, [r1, #0x5bc] ldr r1, [r2, #0x10] add r1, r1, #0x600 strh r0, [r1, #0x70] ldr r1, [r2, #0x10] strb r0, [r1, #0x46a] ldr r1, [r2, #0x10] strb r0, [r1, #0xf] ldr r1, [r2, #4] cmp r1, #0xc addls pc, pc, r1, lsl #2 b _02039E94 _02039DB0: ; jump table b _02039E94 ; case 0 b _02039DE4 ; case 1 b _02039DF4 ; case 2 b _02039E54 ; case 3 b _02039E44 ; case 4 b _02039E94 ; case 5 b _02039E78 ; case 6 b _02039E10 ; case 7 b _02039E04 ; case 8 b _02039E78 ; case 9 b _02039E78 ; case 10 b _02039E78 ; case 11 b _02039E78 ; case 12 _02039DE4: ldr r0, [r2, #0x10] mov r1, #1 strb r1, [r0, #0xe] b _02039E94 _02039DF4: ldr r0, [r2, #0x10] mov r1, #1 strb r1, [r0, #8] b _02039E94 _02039E04: ldr r0, [r2, #0x10] mov r1, #1 strb r1, [r0, #0x10] _02039E10: ldr r0, _0203A4D4 ; =_020AFE5C mov r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0xd] bl sub_0204E210 cmp r0, #2 bne _02039E44 bl sub_0204E3C8 cmp r0, #0 ldrne r0, _0203A4D4 ; =_020AFE5C movne r1, #1 ldrne r0, [r0, #0x10] strneb r1, [r0, #0xf] _02039E44: ldr r0, _0203A4D4 ; =_020AFE5C mov r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0xc] _02039E54: ldr r0, _0203A4D4 ; =_020AFE5C mov r2, #1 ldr r1, [r0, #0x10] strb r2, [r1, #0xb] ldr r1, [r0, #0x10] strb r2, [r1, #9] ldr r0, [r0, #0x10] strb r2, [r0, #0xa] b _02039E94 _02039E78: ldr r1, [r2, #0x10] mov r3, #1 strb r3, [r1, #8] ldr r1, [r2, #0x10] strb r0, [r1, #9] ldr r1, [r2, #0x10] strb r0, [r1, #0xa] _02039E94: ldr r2, _0203A4D4 ; =_020AFE5C mvn r4, #0 ldr r0, [r2, #0x10] mov r5, #0 str r5, [r0, #4] add r1, r4, #0x22c _02039EAC: ldr r3, [r2, #0x10] add r0, r5, #1 add r3, r3, r5, lsl #1 mov r0, r0, lsl #0x10 strh r4, [r3, #0x12] cmp r1, r0, asr #16 mov r5, r0, asr #0x10 bgt _02039EAC ldr r0, _0203A4D4 ; =_020AFE5C ldr r0, [r0, #4] sub r0, r0, #5 cmp r0, #7 addls pc, pc, r0, lsl #2 b _0203A144 _02039EE4: ; jump table b _02039F04 ; case 0 b _0203A034 ; case 1 b _0203A144 ; case 2 b _0203A144 ; case 3 b _0203A034 ; case 4 b _0203A034 ; case 5 b _0203A034 ; case 6 b _0203A034 ; case 7 _02039F04: bl sub_02059B08 cmp r0, #0 beq _02039FA8 bl GetHero mov r5, r0 bl GetPartner mov r4, r0 cmp r5, #0 beq _02039F64 add r1, sp, #0x10 mov r0, r5 bl GetEvolutionPossibilities ldrsh r0, [sp, #0x18] cmp r0, #0 beq _02039F64 bl GetHeroMemberIdx ldr r1, _0203A4D4 ; =_020AFE5C ldr r5, [r1, #0x10] ldr r3, [r5, #4] add r2, r3, #1 str r2, [r5, #4] ldr r1, [r1, #0x10] add r1, r1, r3, lsl #1 strh r0, [r1, #0x12] _02039F64: cmp r4, #0 beq _02039FA8 add r1, sp, #0x10 mov r0, r4 bl GetEvolutionPossibilities ldrsh r0, [sp, #0x18] cmp r0, #0 beq _02039FA8 bl GetPartnerMemberIdx ldr r1, _0203A4D4 ; =_020AFE5C ldr r4, [r1, #0x10] ldr r3, [r4, #4] add r2, r3, #1 str r2, [r4, #4] ldr r1, [r1, #0x10] add r1, r1, r3, lsl #1 strh r0, [r1, #0x12] _02039FA8: ldr r6, _0203A4D4 ; =_020AFE5C ldr r4, _0203A4DC ; =0x0000022B ldr r7, _0203A4E0 ; =TEAM_MEMBER_TABLE_PTR mov sb, #5 mov sl, #0 mov r8, #1 add fp, sp, #0x10 mov r5, #0x44 _02039FC8: smulbb r2, sb, r5 ldr r3, [r7] ldrb r0, [r3, r2] tst r0, #1 movne r0, r8 moveq r0, sl tst r0, #0xff beq _0203A01C mov r1, fp add r0, r3, r2 bl GetEvolutionPossibilities ldrsh r0, [sp, #0x18] cmp r0, #0 beq _0203A01C ldr r2, [r6, #0x10] ldr r1, [r2, #4] add r0, r1, #1 str r0, [r2, #4] ldr r0, [r6, #0x10] add r0, r0, r1, lsl #1 strh sb, [r0, #0x12] _0203A01C: add r0, sb, #1 mov r0, r0, lsl #0x10 cmp r4, r0, asr #16 mov sb, r0, asr #0x10 bgt _02039FC8 b _0203A278 _0203A034: bl GetMainCharacter1MemberIdx mvn r1, #0 cmp r0, r1 beq _0203A064 ldr r1, _0203A4D4 ; =_020AFE5C ldr r4, [r1, #0x10] ldr r3, [r4, #4] add r2, r3, #1 str r2, [r4, #4] ldr r1, [r1, #0x10] add r1, r1, r3, lsl #1 strh r0, [r1, #0x12] _0203A064: bl GetMainCharacter2MemberIdx mvn r1, #0 cmp r0, r1 beq _0203A094 ldr r1, _0203A4D4 ; =_020AFE5C ldr r4, [r1, #0x10] ldr r3, [r4, #4] add r2, r3, #1 str r2, [r4, #4] ldr r1, [r1, #0x10] add r1, r1, r3, lsl #1 strh r0, [r1, #0x12] _0203A094: bl GetMainCharacter3MemberIdx mvn r1, #0 cmp r0, r1 beq _0203A0C4 ldr r1, _0203A4D4 ; =_020AFE5C ldr r4, [r1, #0x10] ldr r3, [r4, #4] add r2, r3, #1 str r2, [r4, #4] ldr r1, [r1, #0x10] add r1, r1, r3, lsl #1 strh r0, [r1, #0x12] _0203A0C4: ldr r6, _0203A4D4 ; =_020AFE5C ldr r4, _0203A4DC ; =0x0000022B ldr r7, _0203A4E0 ; =TEAM_MEMBER_TABLE_PTR mov sb, #5 mov sl, #0 mov r8, #1 mov r5, #0x44 _0203A0E0: smulbb r0, sb, r5 ldr r1, [r7] ldrb r0, [r1, r0] tst r0, #1 movne r0, r8 moveq r0, sl tst r0, #0xff beq _0203A12C mov r0, sb bl sub_02056410 cmp r0, #0 beq _0203A12C ldr r2, [r6, #0x10] ldr r1, [r2, #4] add r0, r1, #1 str r0, [r2, #4] ldr r0, [r6, #0x10] add r0, r0, r1, lsl #1 strh sb, [r0, #0x12] _0203A12C: add r0, sb, #1 mov r0, r0, lsl #0x10 cmp r4, r0, asr #16 mov sb, r0, asr #0x10 bgt _0203A0E0 b _0203A278 _0203A144: ldr r0, _0203A4D4 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #9] cmp r0, #0 bne _0203A198 bl GetMainCharacter1MemberIdx mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0203A198 bl sub_0203AB3C cmp r0, #0 beq _0203A198 ldr r0, _0203A4D4 ; =_020AFE5C ldr r3, [r0, #0x10] ldr r2, [r3, #4] add r1, r2, #1 str r1, [r3, #4] ldr r0, [r0, #0x10] add r0, r0, r2, lsl #1 strh r4, [r0, #0x12] _0203A198: ldr r0, _0203A4D4 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #0xa] cmp r0, #0 bne _0203A22C bl GetMainCharacter2MemberIdx mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0203A1EC bl sub_0203AB3C cmp r0, #0 beq _0203A1EC ldr r0, _0203A4D4 ; =_020AFE5C ldr r3, [r0, #0x10] ldr r2, [r3, #4] add r1, r2, #1 str r1, [r3, #4] ldr r0, [r0, #0x10] add r0, r0, r2, lsl #1 strh r4, [r0, #0x12] _0203A1EC: bl GetMainCharacter3MemberIdx mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0203A22C bl sub_0203AB3C cmp r0, #0 beq _0203A22C ldr r0, _0203A4D4 ; =_020AFE5C ldr r3, [r0, #0x10] ldr r2, [r3, #4] add r1, r2, #1 str r1, [r3, #4] ldr r0, [r0, #0x10] add r0, r0, r2, lsl #1 strh r4, [r0, #0x12] _0203A22C: ldr r6, _0203A4D4 ; =_020AFE5C ldr r5, _0203A4DC ; =0x0000022B mov r4, #5 _0203A238: mov r0, r4 bl sub_0203AB3C cmp r0, #0 beq _0203A264 ldr r2, [r6, #0x10] ldr r1, [r2, #4] add r0, r1, #1 str r0, [r2, #4] ldr r0, [r6, #0x10] add r0, r0, r1, lsl #1 strh r4, [r0, #0x12] _0203A264: add r0, r4, #1 mov r0, r0, lsl #0x10 cmp r5, r0, asr #16 mov r4, r0, asr #0x10 bgt _0203A238 _0203A278: ldr r1, _0203A4E4 ; =_0209C604 add r0, sp, #8 ldr r2, [r1, #4] ldr r1, [r1] str r2, [sp, #0xc] str r1, [sp, #8] bl sub_020584F8 bl sub_0203AF28 ldr r0, _0203A4D4 ; =_020AFE5C ldrsh r0, [r0, #2] bl sub_0203AAF8 ldr r1, _0203A4D4 ; =_020AFE5C ldr r2, [r1, #0x10] str r0, [r2, #0x46c] ldr r0, [r1, #4] cmp r0, #0xc addls pc, pc, r0, lsl #2 b _0203A330 _0203A2C0: ; jump table b _0203A330 ; case 0 b _0203A330 ; case 1 b _0203A31C ; case 2 b _0203A330 ; case 3 b _0203A330 ; case 4 b _0203A330 ; case 5 b _0203A31C ; case 6 b _0203A330 ; case 7 b _0203A330 ; case 8 b _0203A2F4 ; case 9 b _0203A308 ; case 10 b _0203A31C ; case 11 b _0203A31C ; case 12 _0203A2F4: ldr r0, [r1, #0x10] ldr r1, _0203A4E8 ; =0x000002B7 add r0, r0, #0x400 strh r1, [r0, #0x74] b _0203A344 _0203A308: ldr r0, [r1, #0x10] mov r1, #0x2b8 add r0, r0, #0x400 strh r1, [r0, #0x74] b _0203A344 _0203A31C: ldr r0, [r1, #0x10] ldr r1, _0203A4EC ; =0x00000302 add r0, r0, #0x400 strh r1, [r0, #0x74] b _0203A344 _0203A330: ldr r0, _0203A4D4 ; =_020AFE5C ldr r1, _0203A4F0 ; =0x00000303 ldr r0, [r0, #0x10] add r0, r0, #0x400 strh r1, [r0, #0x74] _0203A344: ldr r2, _0203A4D4 ; =_020AFE5C mov r3, #0x10 ldr r0, [r2, #0x10] mov r1, #0xd str r3, [r0, #0x478] ldr r0, [r2, #0x10] str r1, [r0, #0x470] ldr r0, [r2, #4] sub r0, r0, #6 cmp r0, #6 addls pc, pc, r0, lsl #2 b _0203A420 _0203A374: ; jump table b _0203A3E0 ; case 0 b _0203A420 ; case 1 b _0203A420 ; case 2 b _0203A390 ; case 3 b _0203A3E0 ; case 4 b _0203A3E0 ; case 5 b _0203A3E0 ; case 6 _0203A390: ldr r3, [r2, #0x10] ldr r0, _0203A4F4 ; =_0209C668 add r1, r3, #0x72 add r1, r1, #0x600 str r1, [r3, #0x4cc] ldr r3, [r2, #0x10] ldr r1, _0203A4F8 ; =0x00401E33 add r2, r3, #0x500 ldrsh r4, [r2, #0xd4] add r2, r3, #0x6c ldr r3, _0203A4FC ; =sub_0203A75C str r4, [sp] mov r4, #6 add r2, r2, #0x400 str r4, [sp, #4] bl sub_02030F44 ldr r1, _0203A4D4 ; =_020AFE5C ldr r1, [r1, #0x10] strb r0, [r1, #0x468] b _0203A4BC _0203A3E0: ldr r2, [r2, #0x10] ldr r0, _0203A4F4 ; =_0209C668 add r1, r2, #0x500 ldrsh r4, [r1, #0xd4] add r2, r2, #0x6c ldr r1, _0203A500 ; =0x00401C33 ldr r3, _0203A4FC ; =sub_0203A75C str r4, [sp] mov r4, #6 add r2, r2, #0x400 str r4, [sp, #4] bl sub_02030F44 ldr r1, _0203A4D4 ; =_020AFE5C ldr r1, [r1, #0x10] strb r0, [r1, #0x468] b _0203A4BC _0203A420: ldr r1, _0203A4D4 ; =_020AFE5C ldr r3, _0203A504 ; =sub_0203B91C ldr r0, [r1, #0x10] ldr r2, _0203A508 ; =_0203BA24 str r3, [r0, #0x4e0] ldr r0, [r1, #0x10] mov r3, #0 str r2, [r0, #0x4e8] ldr r2, [r1, #0x10] ldr r0, _0203A4F4 ; =_0209C668 str r3, [r2, #0x508] ldr r3, [r1, #0x10] ldr r1, _0203A50C ; =0x00447C33 add r2, r3, #0x500 ldrsh r4, [r2, #0xd4] add r2, r3, #0x6c ldr r3, _0203A4FC ; =sub_0203A75C str r4, [sp] mov r4, #8 add r2, r2, #0x400 str r4, [sp, #4] bl sub_02030F44 ldr r2, _0203A4D4 ; =_020AFE5C ldr r1, _0203A510 ; =_0203B884 ldr r3, [r2, #0x10] strb r0, [r3, #0x468] ldr r0, [r2, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_02031888 ldr r0, _0203A514 ; =_0209C638 ldr r1, _0203A518 ; =sub_0203C784 bl sub_0202F8C4 ldr r1, _0203A4D4 ; =_020AFE5C mov r2, #1 ldr r3, [r1, #0x10] strb r0, [r3, #0x469] ldr r0, [r1, #0x10] strb r2, [r0, #0x46a] _0203A4BC: ldr r0, _0203A4D4 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] _0203A4CC: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0203A4D4: .word _020AFE5C _0203A4D8: .word _0209C764 _0203A4DC: .word 0x0000022B _0203A4E0: .word TEAM_MEMBER_TABLE_PTR _0203A4E4: .word _0209C604 _0203A4E8: .word 0x000002B7 _0203A4EC: .word 0x00000302 _0203A4F0: .word 0x00000303 _0203A4F4: .word _0209C668 _0203A4F8: .word 0x00401E33 _0203A4FC: .word sub_0203A75C _0203A500: .word 0x00401C33 _0203A504: .word sub_0203B91C _0203A508: .word sub_0203BA24 _0203A50C: .word 0x00447C33 _0203A510: .word sub_0203B884 _0203A514: .word _0209C638 _0203A518: .word sub_0203C784 arm_func_end sub_02039C64 arm_func_start sub_0203A51C sub_0203A51C: ; 0x0203A51C stmdb sp!, {r3, lr} ldr r0, _0203A5A4 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0203AA20 ldr r1, _0203A5A4 ; =_020AFE5C strh r0, [r1] bl sub_0203AAB0 ldr r1, _0203A5A4 ; =_020AFE5C strh r0, [r1, #2] ldr r0, [r1, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_02031198 ldr r0, _0203A5A4 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x69] cmp r0, r1 beq _0203A588 bl sub_0202F8FC ldr r0, _0203A5A4 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x469] _0203A588: ldr r0, _0203A5A4 ; =_020AFE5C ldr r0, [r0, #0x10] bl MemFree ldr r0, _0203A5A4 ; =_020AFE5C mov r1, #0 str r1, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 _0203A5A4: .word _020AFE5C arm_func_end sub_0203A51C arm_func_start sub_0203A5A8 sub_0203A5A8: ; 0x0203A5A8 stmdb sp!, {r3, lr} ldr r0, _0203A5EC ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl sub_0203AA20 ldr r1, _0203A5EC ; =_020AFE5C strh r0, [r1] bl sub_0203AAB0 ldr r1, _0203A5EC ; =_020AFE5C strh r0, [r1, #2] ldr r0, [r1, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_020311B4 ldmia sp!, {r3, pc} .align 2, 0 _0203A5EC: .word _020AFE5C arm_func_end sub_0203A5A8 arm_func_start sub_0203A5F0 sub_0203A5F0: ; 0x0203A5F0 stmdb sp!, {r3, lr} ldr r0, _0203A614 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_020318D0 ldmia sp!, {r3, pc} .align 2, 0 _0203A614: .word _020AFE5C arm_func_end sub_0203A5F0 arm_func_start sub_0203A618 sub_0203A618: ; 0x0203A618 stmdb sp!, {r3, lr} ldr r0, _0203A634 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0203A658 ldmia sp!, {r3, pc} .align 2, 0 _0203A634: .word _020AFE5C arm_func_end sub_0203A618 arm_func_start sub_0203A638 sub_0203A638: ; 0x0203A638 stmdb sp!, {r3, lr} ldr r0, _0203A654 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0203A6BC ldmia sp!, {r3, pc} .align 2, 0 _0203A654: .word _020AFE5C arm_func_end sub_0203A638 arm_func_start sub_0203A658 sub_0203A658: ; 0x0203A658 stmdb sp!, {r3, lr} bl sub_0203AA20 ldr r1, _0203A6B8 ; =_020AFE5C strh r0, [r1] bl sub_0203AAB0 ldr r1, _0203A6B8 ; =_020AFE5C strh r0, [r1, #2] ldr r0, [r1, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_0202812C ldr r0, _0203A6B8 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x69] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202F8FC ldr r0, _0203A6B8 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x469] ldmia sp!, {r3, pc} .align 2, 0 _0203A6B8: .word _020AFE5C arm_func_end sub_0203A658 arm_func_start sub_0203A6BC sub_0203A6BC: ; 0x0203A6BC stmdb sp!, {r3, lr} ldr r0, _0203A750 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_02028354 cmp r0, #3 bne _0203A6F0 ldr r0, _0203A750 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_0202810C _0203A6F0: ldr r0, _0203A750 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_0203111C ldr r0, _0203A750 ; =_020AFE5C ldr r1, [r0, #0x10] ldrb r0, [r1, #0x46a] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r1, #0x400 ldrsb r0, [r0, #0x69] mvn r1, #1 cmp r0, r1 bne _0203A748 ldr r0, _0203A754 ; =_0209C638 ldr r1, _0203A758 ; =sub_0203C784 bl sub_0202F8C4 ldr r1, _0203A750 ; =_020AFE5C ldr r1, [r1, #0x10] strb r0, [r1, #0x469] ldmia sp!, {r3, pc} _0203A748: bl sub_0202F9B8 ldmia sp!, {r3, pc} .align 2, 0 _0203A750: .word _020AFE5C _0203A754: .word _0209C638 _0203A758: .word sub_0203C784 arm_func_end sub_0203A6BC arm_func_start sub_0203A75C sub_0203A75C: ; 0x0203A75C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x28 ldr r3, _0203A960 ; =_020AFE5C ldr r2, _0203A964 ; =TEAM_MEMBER_TABLE_PTR ldr r5, [r3, #0x10] mov r8, r1 add r1, r5, r8, lsl #1 ldrsh r6, [r1, #0x12] ldr r4, [r2] add r1, r5, r8 mov r2, #0 strb r2, [r1, #0x672] mov r7, #0x44 ldr r1, [r3, #4] smlabb r4, r6, r7, r4 mov sb, r0 cmp r1, #9 bne _0203A85C ldr r0, [r3, #0x10] add r0, r0, #0x600 ldrsh r0, [r0, #0x70] bl GetItemMoveId16 mov r5, #0 mov r3, r5 mov ip, #1 mov r2, #6 b _0203A7FC _0203A7C8: smlabb lr, r5, r2, r4 ldrb r1, [lr, #0x22] tst r1, #1 movne r1, ip moveq r1, r3 tst r1, #0xff beq _0203A7F0 ldrh r1, [lr, #0x24] cmp r0, r1 beq _0203A804 _0203A7F0: add r1, r5, #1 mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 _0203A7FC: cmp r5, #4 blt _0203A7C8 _0203A804: ldrsh r1, [r4, #4] bl sub_02053D1C cmp r0, #0 beq _0203A844 cmp r5, #4 blt _0203A844 mov r0, r6 bl sub_02056410 cmp r0, #0 beq _0203A8E4 mov r0, r6 bl sub_020564B0 cmp r0, #0 movne r7, #0x59 moveq r7, #0x46 b _0203A8E4 _0203A844: ldr r0, _0203A960 ; =_020AFE5C mov r1, #3 ldr r0, [r0, #0x10] add r0, r0, r8 strb r1, [r0, #0x672] b _0203A8E4 _0203A85C: mov r0, r6 bl sub_02056410 cmp r0, #0 beq _0203A884 mov r0, r6 bl sub_020564B0 cmp r0, #0 movne r7, #0x59 moveq r7, #0x46 b _0203A8E4 _0203A884: ldr r0, _0203A960 ; =_020AFE5C ldr r0, [r0, #4] cmp r0, #0xc addls pc, pc, r0, lsl #2 b _0203A8D0 _0203A898: ; jump table b _0203A8D0 ; case 0 b _0203A8D0 ; case 1 b _0203A8D0 ; case 2 b _0203A8CC ; case 3 b _0203A8CC ; case 4 b _0203A8CC ; case 5 b _0203A8CC ; case 6 b _0203A8CC ; case 7 b _0203A8CC ; case 8 b _0203A8CC ; case 9 b _0203A8CC ; case 10 b _0203A8CC ; case 11 b _0203A8CC ; case 12 _0203A8CC: b _0203A8E4 _0203A8D0: mov r0, r6 bl sub_02056F60 cmp r0, #0 movne r7, #0x44 moveq r7, #0x57 _0203A8E4: add r0, sp, #0x14 add r1, r4, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe ldrsh r0, [r4, #4] bl GetDexNumber mov r1, r0 add r0, sp, #4 mov r2, #3 bl sub_0202372C ldr r0, _0203A960 ; =_020AFE5C add r2, sp, #4 ldr r0, [r0, #0x10] add r0, r0, r8 ldrb r0, [r0, #0x672] cmp r0, #0 bne _0203A944 ldr r1, _0203A968 ; =_0209C798 add r4, sp, #0x14 mov r0, sb mov r3, r7 str r4, [sp] bl SprintfStatic__0203A970 b _0203A954 _0203A944: ldr r1, _0203A96C ; =_0209C7B8 add r3, sp, #0x14 mov r0, sb bl SprintfStatic__0203A970 _0203A954: mov r0, sb add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0203A960: .word _020AFE5C _0203A964: .word TEAM_MEMBER_TABLE_PTR _0203A968: .word _0209C798 _0203A96C: .word _0209C7B8 arm_func_end sub_0203A75C arm_func_start SprintfStatic__0203A970 SprintfStatic__0203A970: ; 0x0203A970 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__0203A970 arm_func_start sub_0203A998 sub_0203A998: ; 0x0203A998 ldr r0, _0203A9B4 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0203A9B4: .word _020AFE5C arm_func_end sub_0203A998 arm_func_start sub_0203A9B8 sub_0203A9B8: ; 0x0203A9B8 stmdb sp!, {r3, lr} ldr r0, _0203A9E8 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 addne r0, r0, #0x400 ldrnesb r0, [r0, #0x68] mvnne r1, #1 cmpne r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} bl sub_020311B4 ldmia sp!, {r3, pc} .align 2, 0 _0203A9E8: .word _020AFE5C arm_func_end sub_0203A9B8 arm_func_start sub_0203A9EC sub_0203A9EC: ; 0x0203A9EC stmdb sp!, {r3, lr} ldr r0, _0203AA1C ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 addne r0, r0, #0x400 ldrnesb r0, [r0, #0x68] mvnne r1, #1 cmpne r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} bl sub_020318B0 ldmia sp!, {r3, pc} .align 2, 0 _0203AA1C: .word _020AFE5C arm_func_end sub_0203A9EC arm_func_start sub_0203AA20 sub_0203AA20: ; 0x0203AA20 stmdb sp!, {r3, lr} ldr r0, _0203AAAC ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 addne r0, r0, #0x400 ldrnesb r0, [r0, #0x68] mvnne r1, #1 cmpne r0, r1 beq _0203AAA0 bl sub_020311B4 cmp r0, #0 beq _0203AA68 ldr r0, _0203AAAC ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_020311D4 b _0203AA7C _0203AA68: ldr r0, _0203AAAC ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_020311E8 _0203AA7C: mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r1, #0 mvnlt r0, #0 ldrge r0, _0203AAAC ; =_020AFE5C ldrge r0, [r0, #0x10] addge r0, r0, r1, lsl #1 ldrgesh r0, [r0, #0x12] ldmia sp!, {r3, pc} _0203AAA0: ldr r0, _0203AAAC ; =_020AFE5C ldrsh r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0203AAAC: .word _020AFE5C arm_func_end sub_0203AA20 arm_func_start sub_0203AAB0 sub_0203AAB0: ; 0x0203AAB0 stmdb sp!, {r3, lr} ldr r0, _0203AAF4 ; =_020AFE5C ldr r0, [r0, #0x10] cmp r0, #0 addne r0, r0, #0x400 ldrnesb r0, [r0, #0x68] mvnne r1, #1 cmpne r0, r1 ldreq r0, _0203AAF4 ; =_020AFE5C ldreqsh r0, [r0, #2] ldmeqia sp!, {r3, pc} bl sub_020311D4 ldr r1, _0203AAF4 ; =_020AFE5C ldr r1, [r1, #0x10] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0x12] ldmia sp!, {r3, pc} .align 2, 0 _0203AAF4: .word _020AFE5C arm_func_end sub_0203AAB0 arm_func_start sub_0203AAF8 sub_0203AAF8: ; 0x0203AAF8 ldr r1, _0203AB38 ; =_020AFE5C mov r2, #0 ldr r3, [r1, #0x10] add r1, r3, #0x500 ldrsh ip, [r1, #0xd4] b _0203AB28 _0203AB10: add r1, r3, r2, lsl #1 ldrsh r1, [r1, #0x12] cmp r0, r1 moveq r0, r2 bxeq lr add r2, r2, #1 _0203AB28: cmp r2, ip blt _0203AB10 mvn r0, #0 bx lr .align 2, 0 _0203AB38: .word _020AFE5C arm_func_end sub_0203AAF8 arm_func_start sub_0203AB3C sub_0203AB3C: ; 0x0203AB3C stmdb sp!, {r3, r4, r5, lr} ldr r1, _0203AD60 ; =TEAM_MEMBER_TABLE_PTR mov r5, r0 mov r0, #0x44 smulbb r2, r5, r0 ldr r1, [r1] ldrb r0, [r1, r2] add r4, r1, r2 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0203AD64 ; =_020AFE5C ldr r1, [r0, #0x10] ldrb r0, [r1, #0xc] cmp r0, #0 beq _0203AB98 ldrsh r0, [r4, #4] cmp r0, #0x214 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _0203AB98: ldrb r0, [r1, #0x10] cmp r0, #0 beq _0203ABCC ldrsh r0, [r4, #4] bl sub_02054F18 cmp r0, #0 bne _0203ABC4 add r0, r4, #0x22 bl IsMovesetValidInTimeDarkness cmp r0, #0 bne _0203ABCC _0203ABC4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0203ABCC: ldr r0, _0203AD64 ; =_020AFE5C ldr r1, [r0, #0x10] ldrb r0, [r1, #0xd] cmp r0, #0 beq _0203AD10 ldrsh r0, [r4, #4] bl IsShaymin cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0203AD64 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #0xb] cmp r0, #0 beq _0203AC20 mov r0, r5 mov r1, #0 bl sub_02056460 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _0203AC20: ldr r0, _0203AD64 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #0xb] cmp r0, #0 beq _0203AC4C mov r0, r5 mov r1, #1 bl sub_02056460 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _0203AC4C: ldr r0, _0203AD64 ; =_020AFE5C ldr r1, [r0, #0x10] ldrb r0, [r1, #0xf] cmp r0, #0 ldrneb r0, [r1, #0xb] cmpne r0, #0 beq _0203AC80 mov r0, r5 mov r1, #2 bl sub_02056460 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _0203AC80: ldr r0, _0203AD64 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #8] cmp r0, #0 beq _0203ACAC mov r0, r5 mov r1, #0 bl sub_02056460 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _0203ACAC: ldr r0, _0203AD64 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #8] cmp r0, #0 beq _0203ACD8 mov r0, r5 mov r1, #1 bl sub_02056460 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _0203ACD8: ldr r0, _0203AD64 ; =_020AFE5C ldr r1, [r0, #0x10] ldrb r0, [r1, #0xf] cmp r0, #0 ldrneb r0, [r1, #8] cmpne r0, #0 beq _0203AD58 mov r0, r5 mov r1, #2 bl sub_02056460 cmp r0, #0 bne _0203AD58 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0203AD10: ldrb r0, [r1, #0xb] cmp r0, #0 beq _0203AD30 mov r0, r5 bl sub_02056410 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _0203AD30: ldr r0, _0203AD64 ; =_020AFE5C ldr r0, [r0, #0x10] ldrb r0, [r0, #8] cmp r0, #0 beq _0203AD58 mov r0, r5 bl sub_02056410 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _0203AD58: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203AD60: .word TEAM_MEMBER_TABLE_PTR _0203AD64: .word _020AFE5C arm_func_end sub_0203AB3C arm_func_start sub_0203AD68 sub_0203AD68: ; 0x0203AD68 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 sub sb, sl, #7 mov r6, #0 ldr r5, _0203AF04 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0x44 ldr fp, _0203AF08 ; =0x0000022B b _0203AEF4 _0203AD88: ldr r1, [r5] mov r0, r6, lsl #0x10 mla r7, r6, r4, r1 mov r0, r0, asr #0x10 bl IsValidTeamMember cmp r0, #0 beq _0203AEF0 cmp sl, #2 bne _0203ADC4 mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02056410 cmp r0, #0 beq _0203AEF0 b _0203AEE8 _0203ADC4: cmp sl, #3 bne _0203ADE4 mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02056410 cmp r0, #0 bne _0203AEF0 b _0203AEE8 _0203ADE4: cmp sl, #4 bne _0203AE2C cmp r6, #5 blt _0203AEF0 mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02056410 cmp r0, #0 bne _0203AEF0 mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl IsMainCharacter cmp r0, #0 bne _0203AEF0 ldrsh r0, [r7, #4] cmp r0, #0x214 bne _0203AEE8 b _0203AEF0 _0203AE2C: cmp sb, #1 bhi _0203AEE8 mov r8, #0 bl sub_0204E210 cmp r0, #2 bne _0203AE50 bl sub_0204E3C8 cmp r0, #0 movne r8, #1 _0203AE50: mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 mov r1, #0 bl sub_02056460 cmp r0, #0 bne _0203AEF0 mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 mov r1, #1 bl sub_02056460 cmp r0, #0 bne _0203AEF0 cmp r8, #0 beq _0203AEA0 mov r0, r6, lsl #0x10 mov r1, #2 mov r0, r0, asr #0x10 bl sub_02056460 cmp r0, #0 bne _0203AEF0 _0203AEA0: mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl IsMainCharacter cmp r0, #0 bne _0203AEF0 ldrsh r0, [r7, #4] cmp r0, #0x214 beq _0203AEF0 cmp sl, #8 bne _0203AED8 ldrsh r0, [r7, #4] bl sub_02054F18 cmp r0, #0 bne _0203AEF0 _0203AED8: ldrsh r0, [r7, #4] bl IsShaymin cmp r0, #0 bne _0203AEF0 _0203AEE8: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0203AEF0: add r6, r6, #1 _0203AEF4: cmp r6, fp blt _0203AD88 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0203AF04: .word TEAM_MEMBER_TABLE_PTR _0203AF08: .word 0x0000022B arm_func_end sub_0203AD68 arm_func_start sub_0203AF0C sub_0203AF0C: ; 0x0203AF0C ldr r0, _0203AF24 ; =_020AFE5C mvn r1, #0 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] bx lr .align 2, 0 _0203AF24: .word _020AFE5C arm_func_end sub_0203AF0C arm_func_start sub_0203AF28 sub_0203AF28: ; 0x0203AF28 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r1, _0203B738 ; =_020AFE5C ldr r0, [r1, #0x10] ldr r2, [r0, #4] add r0, r0, #0x500 strh r2, [r0, #0xd4] ldr r0, [r1, #8] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0203B29C _0203AF50: ; jump table b _0203B29C ; case 0 b _0203AF64 ; case 1 b _0203B050 ; case 2 b _0203B114 ; case 3 b _0203B1CC ; case 4 _0203AF64: ldr r0, _0203B73C ; =_022AADF8 ldrb r8, [r0] mov r0, r8 bl sub_0203BAEC cmp r0, #0 mvneq r6, #0 beq _0203B03C ldr r0, _0203B73C ; =_022AADF8 mov r6, #0 ldr r5, _0203B738 ; =_020AFE5C mov r1, #1 mov sb, r6 str r1, [r5, #8] strb r8, [r0] mov fp, r6 mov sl, #0x44 ldr r4, _0203B740 ; =TEAM_MEMBER_TABLE_PTR b _0203B02C _0203AFAC: add r0, r1, sb, lsl #1 ldrsh r2, [r0, #0x12] ldr r0, [r4] mov r1, fp smulbb r7, r2, sl add r0, r0, r7 ldrsh r0, [r0, #4] bl GetType cmp r8, r0 beq _0203AFF0 ldr r0, [r4] mov r1, #1 add r0, r0, r7 ldrsh r0, [r0, #4] bl GetType cmp r8, r0 bne _0203B020 _0203AFF0: ldr r0, [r5, #0x10] add r2, r6, #1 add r1, r0, r6, lsl #1 add r3, r0, sb, lsl #1 ldrsh r0, [r1, #0x12] ldrsh r3, [r3, #0x12] mov r2, r2, lsl #0x10 mov r6, r2, asr #0x10 strh r3, [r1, #0x12] ldr r1, [r5, #0x10] add r1, r1, sb, lsl #1 strh r0, [r1, #0x12] _0203B020: add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, asr #0x10 _0203B02C: ldr r1, [r5, #0x10] ldr r0, [r1, #4] cmp sb, r0 blt _0203AFAC _0203B03C: ldr r0, _0203B738 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 strh r6, [r0, #0xd4] b _0203B29C _0203B050: ldr r0, _0203B73C ; =_022AADF8 ldrsh r6, [r0] mov r0, r6 bl sub_0203BB80 cmp r0, #0 mvneq r5, #0 beq _0203B100 ldr r0, _0203B73C ; =_022AADF8 mov r5, #0 ldr sb, _0203B738 ; =_020AFE5C mov r1, #2 mov r4, r5 str r1, [sb, #8] strh r6, [r0] ldr r8, _0203B740 ; =TEAM_MEMBER_TABLE_PTR mov r7, #0x44 b _0203B0F0 _0203B094: add r0, r1, r4, lsl #1 ldrsh r0, [r0, #0x12] ldr r1, [r8] smlabb r0, r0, r7, r1 ldrsh r0, [r0, #4] bl GetDexNumber cmp r6, r0 bne _0203B0E4 ldr r0, [sb, #0x10] add r1, r5, #1 add r3, r0, r5, lsl #1 add r2, r0, r4, lsl #1 ldrsh r0, [r3, #0x12] ldrsh r2, [r2, #0x12] mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 strh r2, [r3, #0x12] ldr r1, [sb, #0x10] add r1, r1, r4, lsl #1 strh r0, [r1, #0x12] _0203B0E4: add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _0203B0F0: ldr r1, [sb, #0x10] ldr r0, [r1, #4] cmp r4, r0 blt _0203B094 _0203B100: ldr r0, _0203B738 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 strh r5, [r0, #0xd4] b _0203B29C _0203B114: ldr r0, _0203B73C ; =_022AADF8 ldrb r4, [r0] mov r0, r4 bl sub_0203BBEC cmp r0, #0 mvneq r2, #0 beq _0203B1B8 ldr r0, _0203B73C ; =_022AADF8 mov r2, #0 ldr r6, _0203B738 ; =_020AFE5C mov r3, #3 str r3, [r6, #8] mov r1, r2 strb r4, [r0] ldr r5, _0203B740 ; =TEAM_MEMBER_TABLE_PTR mov r3, #0x44 b _0203B1A8 _0203B158: add r0, r7, r1, lsl #1 ldrsh r0, [r0, #0x12] ldr r7, [r5] smlabb r7, r0, r3, r7 ldrb r7, [r7, #0x3a] cmp r4, r7 bne _0203B19C ldr r8, [r6, #0x10] add r7, r2, #1 add sb, r8, r2, lsl #1 ldrsh r8, [sb, #0x12] mov r2, r7, lsl #0x10 mov r2, r2, asr #0x10 strh r0, [sb, #0x12] ldr r0, [r6, #0x10] add r0, r0, r1, lsl #1 strh r8, [r0, #0x12] _0203B19C: add r0, r1, #1 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 _0203B1A8: ldr r7, [r6, #0x10] ldr r0, [r7, #4] cmp r1, r0 blt _0203B158 _0203B1B8: ldr r0, _0203B738 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 strh r2, [r0, #0xd4] b _0203B29C _0203B1CC: ldr r0, _0203B73C ; =_022AADF8 ldrh sb, [r0] mov r0, sb bl sub_0203BC50 cmp r0, #0 mvneq r8, #0 beq _0203B28C ldr r0, _0203B73C ; =_022AADF8 mov r8, #0 ldr r6, _0203B738 ; =_020AFE5C mov r1, #4 mov r7, r8 str r1, [r6, #8] strh sb, [r0] add sl, sp, #0 ldr r5, _0203B740 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0x44 b _0203B27C _0203B214: add r0, r1, r7, lsl #1 ldrsh r0, [r0, #0x12] ldr r1, [r5] smlabb r0, r0, r4, r1 ldrsh r0, [r0, #4] bl GetNameString str r0, [sp] mov r0, sl bl sub_0202065C cmp sb, r0 bne _0203B270 ldr r0, [r6, #0x10] add r2, r8, #1 add r1, r0, r8, lsl #1 add r3, r0, r7, lsl #1 ldrsh r0, [r1, #0x12] ldrsh r3, [r3, #0x12] mov r2, r2, lsl #0x10 mov r8, r2, asr #0x10 strh r3, [r1, #0x12] ldr r1, [r6, #0x10] add r1, r1, r7, lsl #1 strh r0, [r1, #0x12] _0203B270: add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _0203B27C: ldr r1, [r6, #0x10] ldr r0, [r1, #4] cmp r7, r0 blt _0203B214 _0203B28C: ldr r0, _0203B738 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 strh r8, [r0, #0xd4] _0203B29C: ldr r0, _0203B738 ; =_020AFE5C mov r8, #0 ldr r2, [r0, #0x10] add r0, r2, #0x500 ldrsh r1, [r0, #0xd4] cmp r1, #0 ldrle r1, [r2, #4] strleh r1, [r0, #0xd4] mov r1, r8 _0203B2C0: ldr r0, _0203B740 ; =TEAM_MEMBER_TABLE_PTR mov r3, r1, lsl #1 ldr r0, [r0] mvn r2, #0 add r0, r0, #0x9000 ldr r0, [r0, #0x870] ldrsh r0, [r0, r3] cmp r0, r2 beq _0203B35C ldr r2, _0203B738 ; =_020AFE5C mov r5, #0 ldr r4, [r2, #0x10] add r2, r4, #0x500 ldrsh r3, [r2, #0xd4] b _0203B354 _0203B2FC: add r2, r4, r5, lsl #1 ldrsh r2, [r2, #0x12] cmp r0, r2 bne _0203B350 sub r5, r5, #1 ldr r2, _0203B738 ; =_020AFE5C b _0203B32C _0203B318: ldr r3, [r2, #0x10] add r4, r3, r5, lsl #1 ldrsh r3, [r4, #0x12] sub r5, r5, #1 strh r3, [r4, #0x14] _0203B32C: cmp r5, r8 bge _0203B318 ldr r2, _0203B738 ; =_020AFE5C mov r3, r8, lsl #1 ldr r2, [r2, #0x10] add r8, r8, #1 add r2, r2, r3 strh r0, [r2, #0x12] b _0203B35C _0203B350: add r5, r5, #1 _0203B354: cmp r5, r3 blt _0203B2FC _0203B35C: add r1, r1, #1 cmp r1, #4 blt _0203B2C0 bl sub_020568A4 bl sub_0203B7AC cmp r0, r8 addge r8, r8, #1 bl GetMainCharacter3MemberIdx bl sub_0203B7AC cmp r0, r8 addge r8, r8, #1 bl GetMainCharacter2MemberIdx bl sub_0203B7AC cmp r0, r8 addge r8, r8, #1 bl GetMainCharacter1MemberIdx bl sub_0203B7AC cmp r0, r8 ldr r0, _0203B738 ; =_020AFE5C addge r8, r8, #1 ldr r1, [r0, #0xc] cmp r1, #4 addls pc, pc, r1, lsl #2 b _0203B714 _0203B3BC: ; jump table b _0203B714 ; case 0 b _0203B578 ; case 1 b _0203B648 ; case 2 b _0203B3D0 ; case 3 b _0203B4A8 ; case 4 _0203B3D0: ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsh sb, [r0, #0xd4] cmp r8, sb bge _0203B714 mov r0, r8, lsl #0x10 mov sl, r0, asr #0x10 b _0203B49C _0203B3F0: ldr r0, _0203B738 ; =_020AFE5C ldr r1, _0203B740 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0, #0x10] ldr r3, [r1] add r0, r0, sl, lsl #1 ldrsh r2, [r0, #0x12] mov r0, #0x44 mov r1, #0 smlabb r0, r2, r0, r3 ldrsh r0, [r0, #4] bl GetKeyM2NSwitch mov r1, r8, lsl #0x10 mov r6, r0 mov r7, r1, asr #0x10 ldr r5, _0203B740 ; =TEAM_MEMBER_TABLE_PTR ldr r4, _0203B738 ; =_020AFE5C mov fp, #0x44 b _0203B46C _0203B438: ldr r0, [r4, #0x10] ldr r2, [r5] add r0, r0, r7, lsl #1 ldrsh r0, [r0, #0x12] mov r1, #0 smlabb r0, r0, fp, r2 ldrsh r0, [r0, #4] bl GetKeyM2NSwitch cmp r6, r0 blt _0203B474 add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _0203B46C: cmp r7, sl blt _0203B438 _0203B474: ldr r0, _0203B738 ; =_020AFE5C mov r1, r7 ldr r0, [r0, #0x10] mov r2, sl add r0, r0, sl, lsl #1 ldrsh r0, [r0, #0x12] bl sub_0203B83C add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, asr #0x10 _0203B49C: cmp sl, sb blt _0203B3F0 b _0203B714 _0203B4A8: ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsh r7, [r0, #0xd4] cmp r8, r7 bge _0203B714 mov r0, r8, lsl #0x10 mov sb, r0, asr #0x10 b _0203B56C _0203B4C8: ldr r4, _0203B738 ; =_020AFE5C mov r0, r8, lsl #0x10 ldr r1, [r4, #0x10] mov r5, r0, asr #0x10 add r0, r1, sb, lsl #1 ldrsh r6, [r0, #0x12] b _0203B50C _0203B4E4: ldr r1, [r4, #0x10] mov r0, r6 add r1, r1, r5, lsl #1 ldrsh r1, [r1, #0x12] bl sub_02052FF8 cmp r0, #0 bne _0203B514 add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 _0203B50C: cmp r5, sb blt _0203B4E4 _0203B514: ldr r2, _0203B738 ; =_020AFE5C mov r6, sb ldr r0, [r2, #0x10] add r0, r0, sb, lsl #1 ldrsh r0, [r0, #0x12] b _0203B548 _0203B52C: ldr r3, [r2, #0x10] sub r1, r6, #1 add r4, r3, r6, lsl #1 ldrsh r3, [r4, #0x10] mov r1, r1, lsl #0x10 mov r6, r1, asr #0x10 strh r3, [r4, #0x12] _0203B548: cmp r6, r5 bgt _0203B52C ldr r1, _0203B738 ; =_020AFE5C add r2, sb, #1 ldr r3, [r1, #0x10] mov r1, r2, lsl #0x10 add r2, r3, r5, lsl #1 strh r0, [r2, #0x12] mov sb, r1, asr #0x10 _0203B56C: cmp sb, r7 blt _0203B4C8 b _0203B714 _0203B578: ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsh sb, [r0, #0xd4] cmp r8, sb bge _0203B714 mov r0, r8, lsl #0x10 mov sl, r0, asr #0x10 b _0203B63C _0203B598: ldr r0, _0203B738 ; =_020AFE5C ldr r1, _0203B740 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0, #0x10] ldr r2, [r1] add r0, r0, sl, lsl #1 ldrsh r1, [r0, #0x12] mov r0, #0x44 smlabb r0, r1, r0, r2 ldrsh r0, [r0, #4] bl FemaleToMaleForm mov r1, r8, lsl #0x10 mov r7, r0 mov r6, r1, asr #0x10 ldr r5, _0203B740 ; =TEAM_MEMBER_TABLE_PTR ldr r4, _0203B738 ; =_020AFE5C mov fp, #0x44 b _0203B60C _0203B5DC: ldr r0, [r4, #0x10] ldr r1, [r5] add r0, r0, r6, lsl #1 ldrsh r0, [r0, #0x12] smlabb r0, r0, fp, r1 ldrsh r0, [r0, #4] bl FemaleToMaleForm cmp r7, r0 blt _0203B614 add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 _0203B60C: cmp r6, sl blt _0203B5DC _0203B614: ldr r0, _0203B738 ; =_020AFE5C mov r1, r6 ldr r0, [r0, #0x10] mov r2, sl add r0, r0, sl, lsl #1 ldrsh r0, [r0, #0x12] bl sub_0203B83C add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, asr #0x10 _0203B63C: cmp sl, sb blt _0203B598 b _0203B714 _0203B648: ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsh sb, [r0, #0xd4] cmp r8, sb bge _0203B714 mov r0, r8, lsl #0x10 mov sl, r0, asr #0x10 b _0203B70C _0203B668: ldr r0, _0203B738 ; =_020AFE5C ldr r1, _0203B740 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0, #0x10] ldr r2, [r1] add r0, r0, sl, lsl #1 ldrsh r1, [r0, #0x12] mov r0, #0x44 smlabb r0, r1, r0, r2 ldrb r0, [r0, #1] bl FemaleToMaleForm mov r1, r8, lsl #0x10 mov r6, r0 mov r7, r1, asr #0x10 ldr r5, _0203B740 ; =TEAM_MEMBER_TABLE_PTR ldr r4, _0203B738 ; =_020AFE5C mov fp, #0x44 b _0203B6DC _0203B6AC: ldr r0, [r4, #0x10] ldr r1, [r5] add r0, r0, r7, lsl #1 ldrsh r0, [r0, #0x12] smlabb r0, r0, fp, r1 ldrb r0, [r0, #1] bl FemaleToMaleForm cmp r6, r0 bgt _0203B6E4 add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _0203B6DC: cmp r7, sl blt _0203B6AC _0203B6E4: ldr r0, _0203B738 ; =_020AFE5C mov r1, r7 ldr r0, [r0, #0x10] mov r2, sl add r0, r0, sl, lsl #1 ldrsh r0, [r0, #0x12] bl sub_0203B83C add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, asr #0x10 _0203B70C: cmp sl, sb blt _0203B668 _0203B714: ldr r0, _0203B738 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x69] cmp r0, r1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl sub_0202F9B8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0203B738: .word _020AFE5C _0203B73C: .word _022AADF8 _0203B740: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_0203AF28 arm_func_start sub_0203B744 sub_0203B744: ; 0x0203B744 stmdb sp!, {r3, lr} bl sub_0203AA20 ldr r1, _0203B7A8 ; =_020AFE5C strh r0, [r1] bl sub_0203AAB0 ldr r1, _0203B7A8 ; =_020AFE5C strh r0, [r1, #2] bl sub_0203AF28 ldr r0, _0203B7A8 ; =_020AFE5C ldr r1, [r0, #0x10] add r0, r1, #0x400 add r1, r1, #0x500 ldrsb r0, [r0, #0x68] ldrsh r1, [r1, #0xd4] bl sub_0203117C ldr r0, _0203B7A8 ; =_020AFE5C ldrsh r0, [r0, #2] bl sub_0203AAF8 ldr r2, _0203B7A8 ; =_020AFE5C mov r1, r0 ldr r0, [r2, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_02031220 ldmia sp!, {r3, pc} .align 2, 0 _0203B7A8: .word _020AFE5C arm_func_end sub_0203B744 arm_func_start sub_0203B7AC sub_0203B7AC: ; 0x0203B7AC stmdb sp!, {r3, lr} mvn r1, #0 cmp r0, r1 beq _0203B830 ldr r1, _0203B838 ; =_020AFE5C mov ip, #0 ldr r2, [r1, #0x10] add r1, r2, #0x500 ldrsh r3, [r1, #0xd4] b _0203B828 _0203B7D4: add r1, r2, ip, lsl #1 ldrsh r1, [r1, #0x12] cmp r0, r1 bne _0203B824 mov lr, ip sub ip, ip, #1 ldr r1, _0203B838 ; =_020AFE5C b _0203B808 _0203B7F4: ldr r2, [r1, #0x10] add r3, r2, ip, lsl #1 ldrsh r2, [r3, #0x12] sub ip, ip, #1 strh r2, [r3, #0x14] _0203B808: cmp ip, #0 bge _0203B7F4 ldr r1, _0203B838 ; =_020AFE5C ldr r1, [r1, #0x10] strh r0, [r1, #0x12] mov r0, lr ldmia sp!, {r3, pc} _0203B824: add ip, ip, #1 _0203B828: cmp ip, r3 blt _0203B7D4 _0203B830: mvn r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0203B838: .word _020AFE5C arm_func_end sub_0203B7AC arm_func_start sub_0203B83C sub_0203B83C: ; 0x0203B83C stmdb sp!, {r4, lr} ldr r3, _0203B880 ; =_020AFE5C b _0203B864 _0203B848: ldr r4, [r3, #0x10] sub ip, r2, #1 add r4, r4, r2, lsl #1 ldrsh lr, [r4, #0x10] mov r2, ip, lsl #0x10 mov r2, r2, asr #0x10 strh lr, [r4, #0x12] _0203B864: cmp r2, r1 bgt _0203B848 ldr r2, _0203B880 ; =_020AFE5C ldr r2, [r2, #0x10] add r1, r2, r1, lsl #1 strh r0, [r1, #0x12] ldmia sp!, {r4, pc} .align 2, 0 _0203B880: .word _020AFE5C arm_func_end sub_0203B83C arm_func_start sub_0203B884 sub_0203B884: ; 0x0203B884 stmdb sp!, {r3, lr} ldr r0, _0203B918 ; =_020AFE5C ldr r1, [r0, #0xc] cmp r1, #4 addls pc, pc, r1, lsl #2 b _0203B8DC _0203B89C: ; jump table b _0203B8D4 ; case 0 b _0203B8B0 ; case 1 b _0203B8BC ; case 2 b _0203B8C8 ; case 3 b _0203B8D4 ; case 4 _0203B8B0: mov r1, #2 str r1, [r0, #0xc] b _0203B8DC _0203B8BC: mov r1, #3 str r1, [r0, #0xc] b _0203B8DC _0203B8C8: mov r1, #4 str r1, [r0, #0xc] b _0203B8DC _0203B8D4: mov r1, #1 str r1, [r0, #0xc] _0203B8DC: bl sub_0203B744 ldr r0, _0203B918 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] bl sub_0203115C ldr r0, _0203B918 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x69] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202F9B8 ldmia sp!, {r3, pc} .align 2, 0 _0203B918: .word _020AFE5C arm_func_end sub_0203B884 arm_func_start sub_0203B91C sub_0203B91C: ; 0x0203B91C stmdb sp!, {r3, lr} ldr r0, _0203BA18 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #6] cmp r0, r1 bne _0203B968 ldr r0, _0203BA1C ; =_0209C658 mov ip, #5 ldr r3, _0203BA20 ; =_0209C688 mov r1, #0x13 mov r2, #0 str ip, [sp] bl CreateNormalMenu ldr r1, _0203BA18 ; =_020AFE5C ldr r1, [r1, #0x10] strb r0, [r1, #0x506] ldmia sp!, {r3, pc} _0203B968: bl IsNormalMenuActive cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0203BA18 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #6] bl GetNormalMenuResult cmp r0, #5 addls pc, pc, r0, lsl #2 b _0203B9E8 _0203B994: ; jump table b _0203B9AC ; case 0 b _0203B9BC ; case 1 b _0203B9E8 ; case 2 b _0203B9CC ; case 3 b _0203B9DC ; case 4 b _0203B9E8 ; case 5 _0203B9AC: ldr r0, _0203BA18 ; =_020AFE5C mov r1, #1 str r1, [r0, #0xc] b _0203B9E8 _0203B9BC: ldr r0, _0203BA18 ; =_020AFE5C mov r1, #2 str r1, [r0, #0xc] b _0203B9E8 _0203B9CC: ldr r0, _0203BA18 ; =_020AFE5C mov r1, #3 str r1, [r0, #0xc] b _0203B9E8 _0203B9DC: ldr r0, _0203BA18 ; =_020AFE5C mov r1, #4 str r1, [r0, #0xc] _0203B9E8: ldr r0, _0203BA18 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #6] bl FreeNormalMenu ldr r0, _0203BA18 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x506] bl sub_0203B744 bl sub_0203A6BC ldmia sp!, {r3, pc} .align 2, 0 _0203BA18: .word _020AFE5C _0203BA1C: .word _0209C658 _0203BA20: .word _0209C688 arm_func_end sub_0203B91C arm_func_start sub_0203BA24 sub_0203BA24: ; 0x0203BA24 stmdb sp!, {r4, lr} sub sp, sp, #0x58 ldr r4, _0203BA78 ; =_0209C70C add lr, sp, #0 mov ip, #5 _0203BA38: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0203BA38 ldr r2, _0203BA7C ; =_020AFE5C ldmia r4, {r0, r1} stmia lr, {r0, r1} ldr r0, [r2, #0x10] ldr r1, [r0, #0x508] cmp r1, #0x16 bge _0203BA70 add r0, sp, #0 ldr r0, [r0, r1, lsl #2] blx r0 _0203BA70: add sp, sp, #0x58 ldmia sp!, {r4, pc} .align 2, 0 _0203BA78: .word _0209C70C _0203BA7C: .word _020AFE5C arm_func_end sub_0203BA24 arm_func_start sub_0203BA80 sub_0203BA80: ; 0x0203BA80 stmdb sp!, {r3, lr} ldr r0, _0203BABC ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x400 ldrsb r0, [r0, #0x68] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_020311D4 ldr r1, _0203BABC ; =_020AFE5C ldr r1, [r1, #0x10] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0x12] bl sub_0203C9A0 ldmia sp!, {r3, pc} .align 2, 0 _0203BABC: .word _020AFE5C arm_func_end sub_0203BA80 arm_func_start sub_0203BAC0 sub_0203BAC0: ; 0x0203BAC0 cmp r1, #0 blt _0203BAD0 cmp r1, #0x11 blt _0203BAD8 _0203BAD0: mov r1, #0 b _0203BADC _0203BAD8: add r1, r1, #1 _0203BADC: ldr ip, _0203BAE8 ; =sub_02024B94 and r1, r1, #0xff bx ip .align 2, 0 _0203BAE8: .word sub_02024B94 arm_func_end sub_0203BAC0 arm_func_start sub_0203BAEC sub_0203BAEC: ; 0x0203BAEC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r8, #0 mov sl, r0 mov r7, r8 mov fp, #1 mov r4, #0x44 ldr r6, _0203BB78 ; =TEAM_MEMBER_TABLE_PTR ldr r5, _0203BB7C ; =_020AFE5C b _0203BB60 _0203BB10: add r0, r1, r8, lsl #1 ldrsh r2, [r0, #0x12] ldr r0, [r6] mov r1, r7 smulbb sb, r2, r4 add r0, r0, sb ldrsh r0, [r0, #4] bl GetType cmp sl, r0 beq _0203BB54 ldr r0, [r6] mov r1, fp add r0, r0, sb ldrsh r0, [r0, #4] bl GetType cmp sl, r0 bne _0203BB5C _0203BB54: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0203BB5C: add r8, r8, #1 _0203BB60: ldr r1, [r5, #0x10] ldr r0, [r1, #4] cmp r8, r0 blt _0203BB10 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0203BB78: .word TEAM_MEMBER_TABLE_PTR _0203BB7C: .word _020AFE5C arm_func_end sub_0203BAEC arm_func_start sub_0203BB80 sub_0203BB80: ; 0x0203BB80 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r0 mov r4, #0 ldr r8, _0203BBE4 ; =TEAM_MEMBER_TABLE_PTR mov r6, #0x44 ldr r7, _0203BBE8 ; =_020AFE5C b _0203BBCC _0203BB9C: add r0, r1, r4, lsl #1 ldrsh r0, [r0, #0x12] ldr r1, [r8] smlabb r0, r0, r6, r1 ldrsh r0, [r0, #4] bl GetDexNumber cmp r5, r0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _0203BBCC: ldr r1, [r7, #0x10] ldr r0, [r1, #4] cmp r4, r0 blt _0203BB9C mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0203BBE4: .word TEAM_MEMBER_TABLE_PTR _0203BBE8: .word _020AFE5C arm_func_end sub_0203BB80 arm_func_start sub_0203BBEC sub_0203BBEC: ; 0x0203BBEC stmdb sp!, {r4, lr} ldr r1, _0203BC48 ; =_020AFE5C ldr r2, _0203BC4C ; =TEAM_MEMBER_TABLE_PTR ldr lr, [r1, #0x10] ldr ip, [r2] ldr r4, [lr, #4] mov r3, #0 mov r2, #0x44 b _0203BC38 _0203BC10: add r1, lr, r3, lsl #1 ldrsh r1, [r1, #0x12] smlabb r1, r1, r2, ip ldrb r1, [r1, #0x3a] cmp r0, r1 moveq r0, #1 ldmeqia sp!, {r4, pc} add r1, r3, #1 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 _0203BC38: cmp r3, r4 blt _0203BC10 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0203BC48: .word _020AFE5C _0203BC4C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_0203BBEC arm_func_start sub_0203BC50 sub_0203BC50: ; 0x0203BC50 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r0 mov r5, #0 add r4, sp, #0 ldr sb, _0203BCC4 ; =TEAM_MEMBER_TABLE_PTR mov r7, #0x44 ldr r8, _0203BCC8 ; =_020AFE5C b _0203BCAC _0203BC70: add r0, r1, r5, lsl #1 ldrsh r0, [r0, #0x12] ldr r1, [sb] smlabb r0, r0, r7, r1 ldrsh r0, [r0, #4] bl GetNameString str r0, [sp] mov r0, r4 bl sub_0202065C cmp r6, r0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 _0203BCAC: ldr r1, [r8, #0x10] ldr r0, [r1, #4] cmp r5, r0 blt _0203BC70 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0203BCC4: .word TEAM_MEMBER_TABLE_PTR _0203BCC8: .word _020AFE5C arm_func_end sub_0203BC50 arm_func_start sub_0203BCCC sub_0203BCCC: ; 0x0203BCCC ldr r0, _0203BCE4 ; =_020AFE5C ldr ip, _0203BCE8 ; =sub_02039B0C ldr r0, [r0, #0x10] add r0, r0, #0x1a8 add r0, r0, #0x400 bx ip .align 2, 0 _0203BCE4: .word _020AFE5C _0203BCE8: .word sub_02039B0C arm_func_end sub_0203BCCC arm_func_start sub_0203BCEC sub_0203BCEC: ; 0x0203BCEC stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _0203BE0C ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #7] cmp r0, r1 bne _0203BD3C ldr r0, _0203BE10 ; =_0209C678 mov ip, #6 ldr r3, _0203BE14 ; =_0209C6B8 mov r1, #0x13 mov r2, #0 str ip, [sp] bl CreateNormalMenu ldr r1, _0203BE0C ; =_020AFE5C ldr r1, [r1, #0x10] strb r0, [r1, #0x507] b _0203BE04 _0203BD3C: bl IsNormalMenuActive cmp r0, #0 bne _0203BE04 ldr r0, _0203BE0C ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #7] bl GetNormalMenuResult ldr r1, _0203BE0C ; =_020AFE5C mov r0, r0, lsl #0x10 ldr r1, [r1, #0x10] mov r4, r0, asr #0x10 add r0, r1, #0x500 ldrsb r0, [r0, #7] bl FreeNormalMenu ldr r0, _0203BE0C ; =_020AFE5C mvn r2, #1 ldr r1, [r0, #0x10] cmp r4, #6 strb r2, [r1, #0x507] addls pc, pc, r4, lsl #2 b _0203BE00 _0203BD94: ; jump table b _0203BDB0 ; case 0 b _0203BE00 ; case 1 b _0203BDC0 ; case 2 b _0203BDD0 ; case 3 b _0203BDE0 ; case 4 b _0203BE00 ; case 5 b _0203BDF0 ; case 6 _0203BDB0: ldr r0, [r0, #0x10] mov r1, #7 str r1, [r0, #0x508] b _0203BE04 _0203BDC0: ldr r0, [r0, #0x10] mov r1, #1 str r1, [r0, #0x508] b _0203BE04 _0203BDD0: ldr r0, [r0, #0x10] mov r1, #0xa str r1, [r0, #0x508] b _0203BE04 _0203BDE0: ldr r0, [r0, #0x10] mov r1, #0xf str r1, [r0, #0x508] b _0203BE04 _0203BDF0: ldr r0, [r0, #0x10] mov r1, #0x14 str r1, [r0, #0x508] b _0203BE04 _0203BE00: bl sub_0203A6BC _0203BE04: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0203BE0C: .word _020AFE5C _0203BE10: .word _0209C678 _0203BE14: .word _0209C6B8 arm_func_end sub_0203BCEC arm_func_start sub_0203BE18 sub_0203BE18: ; 0x0203BE18 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r3, _0203BECC ; =_020AFE5C mvn r2, #1 ldr r0, [r3, #0x10] add r1, r0, #0x500 ldrsb r0, [r1, #7] cmp r0, r2 bne _0203BE94 mov r0, #0x308 strh r0, [r1, #0x18] ldr r0, [r3, #0x10] mov r1, #0x10 str r1, [r0, #0x51c] mov r0, #0x11 str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r2, [r3, #0x10] ldr r0, _0203BED0 ; =_0209C618 ldr r1, _0203BED4 ; =0x00001833 ldr r3, _0203BED8 ; =sub_0203BAC0 add r2, r2, #0x510 bl CreateAdvancedMenu ldr r1, _0203BECC ; =_020AFE5C mov r2, #2 ldr r3, [r1, #0x10] strb r0, [r3, #0x50c] ldr r0, [r1, #0x10] str r2, [r0, #0x508] b _0203BEC4 _0203BE94: bl IsNormalMenuActive cmp r0, #0 bne _0203BEC4 ldr r0, _0203BECC ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #7] bl FreeNormalMenu ldr r0, _0203BECC ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x507] _0203BEC4: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0203BECC: .word _020AFE5C _0203BED0: .word _0209C618 _0203BED4: .word 0x00001833 _0203BED8: .word sub_0203BAC0 arm_func_end sub_0203BE18 arm_func_start sub_0203BEDC sub_0203BEDC: ; 0x0203BEDC stmdb sp!, {r3, lr} ldr r0, _0203BF0C ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xc] bl sub_0202BCBC cmp r0, #0 ldreq r0, _0203BF0C ; =_020AFE5C moveq r1, #3 ldreq r0, [r0, #0x10] streq r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203BF0C: .word _020AFE5C arm_func_end sub_0203BEDC arm_func_start sub_0203BF10 sub_0203BF10: ; 0x0203BF10 stmdb sp!, {r4, lr} ldr r0, _0203C028 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xc] cmp r0, r1 bne _0203BF48 bl sub_0203A6BC ldr r0, _0203C028 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r4, pc} _0203BF48: bl sub_0202BCBC cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _0203C028 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xc] bl GetAdvancedMenuResult and r0, r0, #0xff add r0, r0, #1 and r4, r0, #0xff cmp r4, #1 blo _0203BFEC cmp r4, #0x12 bhs _0203BFEC mov r0, r4 bl sub_0203BAEC cmp r0, #0 bne _0203BFBC ldr r0, _0203C028 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 bl sub_0203A658 ldr r0, _0203C028 ; =_020AFE5C mov r1, #4 ldr r0, [r0, #0x10] str r1, [r0, #0x508] b _0203C000 _0203BFBC: ldr r0, _0203C02C ; =_022AADF8 ldr r1, _0203C028 ; =_020AFE5C mov r2, #1 str r2, [r1, #8] strb r4, [r0] bl sub_0203B744 bl sub_0203A6BC ldr r0, _0203C028 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] b _0203C000 _0203BFEC: bl sub_0203A6BC ldr r0, _0203C028 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] _0203C000: ldr r0, _0203C028 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xc] bl FreeAdvancedMenu ldr r0, _0203C028 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x50c] ldmia sp!, {r4, pc} .align 2, 0 _0203C028: .word _020AFE5C _0203C02C: .word _022AADF8 arm_func_end sub_0203BF10 arm_func_start sub_0203C030 sub_0203C030: ; 0x0203C030 stmdb sp!, {r3, lr} ldr r0, _0203C078 ; =_0209C648 bl CreateDBox ldr r3, _0203C07C ; =_020AFE5C ldr r1, _0203C080 ; =0x00000418 ldr ip, [r3, #0x10] ldr r2, _0203C084 ; =0x0000030B strb r0, [ip, #0x505] ldr r0, [r3, #0x10] mov r3, #0 add r0, r0, #0x500 ldrsb r0, [r0, #5] bl ShowMessageInDBox ldr r0, _0203C07C ; =_020AFE5C mov r1, #5 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C078: .word _0209C648 _0203C07C: .word _020AFE5C _0203C080: .word 0x00000418 _0203C084: .word 0x0000030B arm_func_end sub_0203C030 arm_func_start sub_0203C088 sub_0203C088: ; 0x0203C088 stmdb sp!, {r3, lr} ldr r0, _0203C0D0 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #5] bl IsDBoxActive cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0203C0D0 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #5] bl sub_0202F2C4 ldr r0, _0203C0D0 ; =_020AFE5C mov r1, #6 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C0D0: .word _020AFE5C arm_func_end sub_0203C088 arm_func_start sub_0203C0D4 sub_0203C0D4: ; 0x0203C0D4 stmdb sp!, {r3, lr} ldr r0, _0203C120 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #5] cmp r0, r1 ldmeqia sp!, {r3, pc} bl FreeDBox ldr r0, _0203C120 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x505] bl sub_0203A6BC ldr r0, _0203C120 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C120: .word _020AFE5C arm_func_end sub_0203C0D4 arm_func_start sub_0203C124 sub_0203C124: ; 0x0203C124 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r1, _0203C1E8 ; =_020AFE5C mov lr, #1 ldr r0, [r1, #0x10] mov r2, #3 str lr, [r0, #0x5ac] ldr r0, [r1, #0x10] mov r3, #0x1ec str r2, [r0, #0x5b8] ldr r0, [r1, #0x10] mov ip, #0x50 str lr, [r0, #0x5b0] ldr r0, [r1, #0x10] mov r2, #0x16 str r3, [r0, #0x5b4] ldr r0, [r1, #0x10] mov r3, #0x304 str ip, [r0, #0x5c8] ldr r0, [r1, #0x10] mov ip, #0x10 str r2, [r0, #0x5cc] ldr r0, [r1, #0x10] mov r2, #0 add r0, r0, #0x500 strh r3, [r0, #0xe0] ldr r3, [r1, #0x10] ldr r0, _0203C1EC ; =_0209C628 str ip, [r3, #0x5e4] str r2, [sp] str r2, [sp, #4] ldr r2, [r1, #0x10] ldr r1, _0203C1F0 ; =0x00401807 add r2, r2, #0x1d8 ldr r3, _0203C1F4 ; =sub_0203BCCC add r2, r2, #0x400 bl sub_020305B4 ldr r1, _0203C1E8 ; =_020AFE5C mov r2, #8 ldr r3, [r1, #0x10] strb r0, [r3, #0x5bc] ldr r0, [r1, #0x10] str r2, [r0, #0x508] ldr r0, [r1, #0x10] add r0, r0, #0x1a8 add r0, r0, #0x400 bl sub_020395CC add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0203C1E8: .word _020AFE5C _0203C1EC: .word _0209C628 _0203C1F0: .word 0x00401807 _0203C1F4: .word sub_0203BCCC arm_func_end sub_0203C124 arm_func_start sub_0203C1F8 sub_0203C1F8: ; 0x0203C1F8 stmdb sp!, {r3, lr} ldr r0, _0203C324 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x1a8 add r0, r0, #0x400 bl sub_020396E4 cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, pc} _0203C21C: ; jump table ldmia sp!, {r3, pc} ; case 0 b _0203C22C ; case 1 b _0203C2F4 ; case 2 b _0203C244 ; case 3 _0203C22C: ldr r0, _0203C324 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xbc] bl sub_0203083C ldmia sp!, {r3, pc} _0203C244: mov r0, #0 bl sub_02017CCC ldr r0, _0203C324 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xbc] bl sub_0203088C ldr r0, _0203C324 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xbc] bl sub_020308A0 ldr r0, _0203C324 ; =_020AFE5C ldr r0, [r0, #0x10] ldr r0, [r0, #0x5a8] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_0203BB80 cmp r0, #0 bne _0203C2BC ldr r0, _0203C324 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 bl sub_0203A658 ldr r0, _0203C324 ; =_020AFE5C mov r1, #4 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} _0203C2BC: ldr r0, _0203C324 ; =_020AFE5C mov r1, #2 str r1, [r0, #8] ldr r1, [r0, #0x10] ldr r0, _0203C328 ; =_022AADF8 ldr r1, [r1, #0x5a8] strh r1, [r0] bl sub_0203B744 bl sub_0203A6BC ldr r0, _0203C324 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} _0203C2F4: mov r0, #1 bl sub_02017CCC ldr r0, _0203C324 ; =_020AFE5C ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xbc] bl sub_0203088C ldr r0, _0203C324 ; =_020AFE5C mov r1, #9 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C324: .word _020AFE5C _0203C328: .word _022AADF8 arm_func_end sub_0203C1F8 arm_func_start sub_0203C32C sub_0203C32C: ; 0x0203C32C stmdb sp!, {r3, lr} ldr r0, _0203C378 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] add r0, r0, #0x500 ldrsb r0, [r0, #0xbc] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_020308A0 ldr r0, _0203C378 ; =_020AFE5C mvn r1, #1 ldr r0, [r0, #0x10] strb r1, [r0, #0x5bc] bl sub_0203A6BC ldr r0, _0203C378 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C378: .word _020AFE5C arm_func_end sub_0203C32C arm_func_start sub_0203C37C sub_0203C37C: ; 0x0203C37C stmdb sp!, {r3, lr} bl sub_0203A658 ldr r1, _0203C3A8 ; =_020AFE5C mov r3, #0xa ldr r0, [r1, #0x10] mov r2, #0xb add r0, r0, #0x800 strh r3, [r0, #0x9e] ldr r0, [r1, #0x10] str r2, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C3A8: .word _020AFE5C arm_func_end sub_0203C37C arm_func_start sub_0203C3AC sub_0203C3AC: ; 0x0203C3AC stmdb sp!, {r3, lr} ldr r1, _0203C404 ; =_020AFE5C ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r2, [r0, #0x9e] sub r2, r2, #1 strh r2, [r0, #0x9e] ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r0, [r0, #0x9e] cmp r0, #0 ldmneia sp!, {r3, pc} mov r1, #0 mov r2, r1 mov r3, r1 mov r0, #9 bl ShowKeyboard ldr r0, _0203C404 ; =_020AFE5C mov r1, #0xc ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C404: .word _020AFE5C arm_func_end sub_0203C3AC arm_func_start sub_0203C408 sub_0203C408: ; 0x0203C408 stmdb sp!, {r4, lr} bl GetKeyboardStatus cmp r0, #3 bne _0203C484 bl GetKeyboardStringResult ldrb r0, [r0] bl sub_020251F0 mov r4, r0 bl sub_0203BC50 cmp r0, #0 bne _0203C458 ldr r0, _0203C4B0 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 ldr r0, _0203C4B0 ; =_020AFE5C mov r1, #0x15 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r4, pc} _0203C458: ldr r0, _0203C4B4 ; =_022AADF8 ldr r1, _0203C4B0 ; =_020AFE5C mov r2, #4 str r2, [r1, #8] strh r4, [r0] bl sub_0203B744 ldr r0, _0203C4B0 ; =_020AFE5C mov r1, #0xd ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r4, pc} _0203C484: cmp r0, #2 ldmneia sp!, {r4, pc} ldr r0, _0203C4B0 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 ldr r0, _0203C4B0 ; =_020AFE5C mov r1, #0xd ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r4, pc} .align 2, 0 _0203C4B0: .word _020AFE5C _0203C4B4: .word _022AADF8 arm_func_end sub_0203C408 arm_func_start sub_0203C4B8 sub_0203C4B8: ; 0x0203C4B8 stmdb sp!, {r3, lr} bl sub_02037468 cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r1, _0203C4EC ; =_020AFE5C mov r3, #0xa ldr r0, [r1, #0x10] mov r2, #0xe add r0, r0, #0x800 strh r3, [r0, #0x9e] ldr r0, [r1, #0x10] str r2, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C4EC: .word _020AFE5C arm_func_end sub_0203C4B8 arm_func_start sub_0203C4F0 sub_0203C4F0: ; 0x0203C4F0 stmdb sp!, {r3, lr} ldr r1, _0203C538 ; =_020AFE5C ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r2, [r0, #0x9e] sub r2, r2, #1 strh r2, [r0, #0x9e] ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r0, [r0, #0x9e] cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_0203A6BC ldr r0, _0203C538 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C538: .word _020AFE5C arm_func_end sub_0203C4F0 arm_func_start sub_0203C53C sub_0203C53C: ; 0x0203C53C stmdb sp!, {r3, lr} bl sub_0203A658 ldr r1, _0203C568 ; =_020AFE5C mov r3, #0xa ldr r0, [r1, #0x10] mov r2, #0x10 add r0, r0, #0x800 strh r3, [r0, #0x9e] ldr r0, [r1, #0x10] str r2, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C568: .word _020AFE5C arm_func_end sub_0203C53C arm_func_start sub_0203C56C sub_0203C56C: ; 0x0203C56C stmdb sp!, {r3, lr} ldr r1, _0203C5C4 ; =_020AFE5C ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r2, [r0, #0x9e] sub r2, r2, #1 strh r2, [r0, #0x9e] ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r0, [r0, #0x9e] cmp r0, #0 ldmneia sp!, {r3, pc} mov r1, #0 mov r2, r1 mov r3, r1 mov r0, #4 bl ShowKeyboard ldr r0, _0203C5C4 ; =_020AFE5C mov r1, #0x11 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C5C4: .word _020AFE5C arm_func_end sub_0203C56C arm_func_start sub_0203C5C8 sub_0203C5C8: ; 0x0203C5C8 stmdb sp!, {r3, lr} sub sp, sp, #0x40 bl GetKeyboardStatus cmp r0, #3 bne _0203C650 bl GetKeyboardStringResult mov r1, r0 add r0, sp, #0 bl StrcpySimple ldrb r0, [sp] bl sub_0203BBEC cmp r0, #0 bne _0203C620 ldr r0, _0203C680 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 ldr r0, _0203C680 ; =_020AFE5C mov r1, #0x15 ldr r0, [r0, #0x10] str r1, [r0, #0x508] b _0203C678 _0203C620: ldrb r2, [sp] ldr r0, _0203C684 ; =_022AADF8 ldr r1, _0203C680 ; =_020AFE5C mov r3, #3 str r3, [r1, #8] strb r2, [r0] bl sub_0203B744 ldr r0, _0203C680 ; =_020AFE5C mov r1, #0x12 ldr r0, [r0, #0x10] str r1, [r0, #0x508] b _0203C678 _0203C650: cmp r0, #2 bne _0203C678 ldr r0, _0203C680 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 ldr r0, _0203C680 ; =_020AFE5C mov r1, #0x12 ldr r0, [r0, #0x10] str r1, [r0, #0x508] _0203C678: add sp, sp, #0x40 ldmia sp!, {r3, pc} .align 2, 0 _0203C680: .word _020AFE5C _0203C684: .word _022AADF8 arm_func_end sub_0203C5C8 arm_func_start sub_0203C688 sub_0203C688: ; 0x0203C688 stmdb sp!, {r3, lr} bl sub_02037468 cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r1, _0203C6BC ; =_020AFE5C mov r3, #0xa ldr r0, [r1, #0x10] mov r2, #0x13 add r0, r0, #0x800 strh r3, [r0, #0x9e] ldr r0, [r1, #0x10] str r2, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C6BC: .word _020AFE5C arm_func_end sub_0203C688 arm_func_start sub_0203C6C0 sub_0203C6C0: ; 0x0203C6C0 stmdb sp!, {r3, lr} ldr r1, _0203C708 ; =_020AFE5C ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r2, [r0, #0x9e] sub r2, r2, #1 strh r2, [r0, #0x9e] ldr r0, [r1, #0x10] add r0, r0, #0x800 ldrsh r0, [r0, #0x9e] cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_0203A6BC ldr r0, _0203C708 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C708: .word _020AFE5C arm_func_end sub_0203C6C0 arm_func_start sub_0203C70C sub_0203C70C: ; 0x0203C70C stmdb sp!, {r3, lr} ldr r0, _0203C738 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bl sub_0203B744 bl sub_0203A6BC ldr r0, _0203C738 ; =_020AFE5C mov r1, #0 ldr r0, [r0, #0x10] str r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C738: .word _020AFE5C arm_func_end sub_0203C70C arm_func_start sub_0203C73C sub_0203C73C: ; 0x0203C73C stmdb sp!, {r3, lr} bl sub_02037468 cmp r0, #0 ldrne r0, _0203C75C ; =_020AFE5C movne r1, #4 ldrne r0, [r0, #0x10] strne r1, [r0, #0x508] ldmia sp!, {r3, pc} .align 2, 0 _0203C75C: .word _020AFE5C arm_func_end sub_0203C73C arm_func_start sub_0203C760 sub_0203C760: ; 0x0203C760 ldr r0, _0203C770 ; =_020AFE5C mov r1, #0 str r1, [r0, #8] bx lr .align 2, 0 _0203C770: .word _020AFE5C arm_func_end sub_0203C760 arm_func_start sub_0203C774 sub_0203C774: ; 0x0203C774 cmp r0, #0 movne r0, #7 moveq r0, #8 bx lr arm_func_end sub_0203C774 arm_func_start sub_0203C784 sub_0203C784: ; 0x0203C784 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x54 mov r4, r0 bl sub_02027B1C ldr r0, _0203C7DC ; =_020AFE5C ldr r1, _0203C7E0 ; =_0209C60C ldr r0, [r0, #0xc] mov r0, r0, lsl #1 ldrh r0, [r1, r0] bl StringFromMessageId str r0, [sp, #0x3c] add ip, sp, #4 mov r0, r4 mov r1, #0xa mov r2, #2 mov r3, #0x30c str ip, [sp] bl sub_020262E0 mov r0, r4 bl sub_02027AF0 add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 _0203C7DC: .word _020AFE5C _0203C7E0: .word _0209C60C arm_func_end sub_0203C784 arm_func_start sub_0203C7E4 sub_0203C7E4: ; 0x0203C7E4 stmdb sp!, {r4, lr} ldr r1, _0203C870 ; =_020AFE70 mov r4, r0 ldr r0, [r1] cmp r0, #0 bne _0203C810 mov r0, #0x10 mov r1, #8 bl MemAlloc ldr r1, _0203C870 ; =_020AFE70 str r0, [r1] _0203C810: ldr r1, _0203C870 ; =_020AFE70 mvn r3, #0 ldr r2, [r1] mov r0, r4 strh r3, [r2, #6] ldr r1, [r1] strh r3, [r1, #4] bl sub_0203C9A0 ldr r0, _0203C870 ; =_020AFE70 mvn r2, #1 ldr r1, [r0] strb r2, [r1] ldr r1, [r0] strb r2, [r1, #1] ldr r0, [r0] strb r2, [r0, #2] bl sub_0203C984 ldr r0, _0203C870 ; =_020AFE70 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0xa] ldr r0, [r0] str r2, [r0, #0xc] ldmia sp!, {r4, pc} .align 2, 0 _0203C870: .word _020AFE70 arm_func_end sub_0203C7E4 arm_func_start sub_0203C874 sub_0203C874: ; 0x0203C874 ldr r0, _0203C8DC ; =_020AFE70 mov r2, #1 ldr r1, [r0] strb r2, [r1, #0xa] ldr r1, [r0] ldr r0, [r1, #0xc] cmp r0, #4 addls pc, pc, r0, lsl #2 bx lr _0203C898: ; jump table b _0203C8AC ; case 0 b _0203C8B8 ; case 1 b _0203C8C4 ; case 2 bx lr ; case 3 b _0203C8D0 ; case 4 _0203C8AC: mov r0, #7 str r0, [r1, #0xc] bx lr _0203C8B8: mov r0, #7 str r0, [r1, #0xc] bx lr _0203C8C4: mov r0, #7 str r0, [r1, #0xc] bx lr _0203C8D0: mov r0, #5 str r0, [r1, #0xc] bx lr .align 2, 0 _0203C8DC: .word _020AFE70 arm_func_end sub_0203C874 arm_func_start sub_0203C8E0 sub_0203C8E0: ; 0x0203C8E0 ldr r0, _0203C90C ; =_020AFE70 ldr r0, [r0] cmp r0, #0 moveq r0, #0 bxeq lr ldr r0, [r0, #0xc] cmp r0, #0xa movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0203C90C: .word _020AFE70 arm_func_end sub_0203C8E0 arm_func_start sub_0203C910 sub_0203C910: ; 0x0203C910 ldr r0, _0203C93C ; =_020AFE70 ldr r0, [r0] cmp r0, #0 moveq r0, #0 bxeq lr ldr r0, [r0, #0xc] cmp r0, #4 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0203C93C: .word _020AFE70 arm_func_end sub_0203C910 arm_func_start sub_0203C940 sub_0203C940: ; 0x0203C940 stmdb sp!, {r3, lr} ldr r0, _0203C980 ; =_020AFE70 ldr r0, [r0] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} ldr r1, [r0, #0xc] cmp r1, #0xa movne r0, #0 ldmneia sp!, {r3, pc} bl MemFree ldr r0, _0203C980 ; =_020AFE70 mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0203C980: .word _020AFE70 arm_func_end sub_0203C940 arm_func_start sub_0203C984 sub_0203C984: ; 0x0203C984 ldr r0, _0203C99C ; =_020AFE70 ldr r1, [r0] cmp r1, #0 movne r0, #0 strneh r0, [r1, #8] bx lr .align 2, 0 _0203C99C: .word _020AFE70 arm_func_end sub_0203C984 arm_func_start sub_0203C9A0 sub_0203C9A0: ; 0x0203C9A0 ldr r1, _0203C9C0 ; =_020AFE70 ldr r2, [r1] ldrsh r1, [r2, #4] cmp r0, r1 moveq r0, #0 strneh r0, [r2, #4] movne r0, #1 bx lr .align 2, 0 _0203C9C0: .word _020AFE70 arm_func_end sub_0203C9A0 arm_func_start sub_0203C9C4 sub_0203C9C4: ; 0x0203C9C4 ldr r0, _0203C9E0 ; =_020AFE70 mvn r2, #0 ldr r1, [r0] strh r2, [r1, #6] ldr r0, [r0] strh r2, [r0, #4] bx lr .align 2, 0 _0203C9E0: .word _020AFE70 arm_func_end sub_0203C9C4 arm_func_start sub_0203C9E4 sub_0203C9E4: ; 0x0203C9E4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x2c ldr r0, _0203CA38 ; =_020AFE70 ldr r5, [r0] cmp r5, #0 beq _0203CA30 ldr r4, _0203CA3C ; =_0209C7F4 add lr, sp, #0 mov ip, #2 _0203CA08: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0203CA08 ldmia r4, {r0, r1, r2} stmia lr, {r0, r1, r2} ldr r1, [r5, #0xc] add r0, sp, #0 ldr r0, [r0, r1, lsl #2] blx r0 _0203CA30: add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 _0203CA38: .word _020AFE70 _0203CA3C: .word _0209C7F4 arm_func_end sub_0203C9E4 arm_func_start sub_0203CA40 sub_0203CA40: ; 0x0203CA40 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldmneia sp!, {r3, pc} bl ov00_0230D92C ldr r0, _0203CA68 ; =_020AFE70 mov r1, #1 ldr r0, [r0] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CA68: .word _020AFE70 arm_func_end sub_0203CA40 arm_func_start sub_0203CA6C sub_0203CA6C: ; 0x0203CA6C stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203CA8C ; =_020AFE70 moveq r1, #2 ldreq r0, [r0] streq r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CA8C: .word _020AFE70 arm_func_end sub_0203CA6C arm_func_start sub_0203CA90 sub_0203CA90: ; 0x0203CA90 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0203CAC8 ; =_020AFE70 ldr r0, [r0] ldrsh r0, [r0, #4] bl sub_0203CCD8 bl ov00_02310C18 ldr r0, _0203CAC8 ; =_020AFE70 mov r1, #3 ldr r0, [r0] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CAC8: .word _020AFE70 arm_func_end sub_0203CA90 arm_func_start sub_0203CACC sub_0203CACC: ; 0x0203CACC stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203CAEC ; =_020AFE70 moveq r1, #4 ldreq r0, [r0] streq r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CAEC: .word _020AFE70 arm_func_end sub_0203CACC arm_func_start sub_0203CAF0 sub_0203CAF0: ; 0x0203CAF0 stmdb sp!, {r3, lr} ldr r0, _0203CB54 ; =_020AFE70 ldr r2, [r0] ldrb r1, [r2, #0xa] cmp r1, #0 movne r0, #5 strne r0, [r2, #0xc] ldmneia sp!, {r3, pc} ldrh r1, [r2, #8] add r1, r1, #1 strh r1, [r2, #8] ldr r3, [r0] ldrh r1, [r3, #8] cmp r1, #0x1e ldmloia sp!, {r3, pc} ldrsh r2, [r3, #4] ldrsh r1, [r3, #6] cmp r2, r1 ldmeqia sp!, {r3, pc} mov r1, #0 strh r1, [r3, #8] ldr r0, [r0] ldrsh r0, [r0, #4] bl sub_0203CCD8 ldmia sp!, {r3, pc} .align 2, 0 _0203CB54: .word _020AFE70 arm_func_end sub_0203CAF0 arm_func_start sub_0203CB58 sub_0203CB58: ; 0x0203CB58 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldmneia sp!, {r3, pc} bl ov00_0230D92C ldr r0, _0203CB80 ; =_020AFE70 mov r1, #6 ldr r0, [r0] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CB80: .word _020AFE70 arm_func_end sub_0203CB58 arm_func_start sub_0203CB84 sub_0203CB84: ; 0x0203CB84 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0203CC5C ; =_020AFE70 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0] cmp r0, r1 beq _0203CBD0 bl HidePortraitBox ldr r0, _0203CC5C ; =_020AFE70 ldr r0, [r0] ldrsb r0, [r0] bl FreePortraitBox ldr r0, _0203CC5C ; =_020AFE70 mvn r1, #1 ldr r0, [r0] strb r1, [r0] _0203CBD0: ldr r0, _0203CC5C ; =_020AFE70 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #2] cmp r0, r1 beq _0203CC0C bl sub_0202F954 ldr r0, _0203CC5C ; =_020AFE70 ldr r0, [r0] ldrsb r0, [r0, #2] bl sub_0202F8FC ldr r0, _0203CC5C ; =_020AFE70 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #2] _0203CC0C: ldr r0, _0203CC5C ; =_020AFE70 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #1] cmp r0, r1 beq _0203CC48 bl sub_0202F954 ldr r0, _0203CC5C ; =_020AFE70 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202F8FC ldr r0, _0203CC5C ; =_020AFE70 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #1] _0203CC48: ldr r0, _0203CC5C ; =_020AFE70 mov r1, #0xa ldr r0, [r0] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CC5C: .word _020AFE70 arm_func_end sub_0203CB84 arm_func_start sub_0203CC60 sub_0203CC60: ; 0x0203CC60 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203CC80 ; =_020AFE70 moveq r1, #0xa ldreq r0, [r0] streq r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CC80: .word _020AFE70 arm_func_end sub_0203CC60 arm_func_start sub_0203CC84 sub_0203CC84: ; 0x0203CC84 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldmneia sp!, {r3, pc} bl ov00_0230D000 ldr r0, _0203CCAC ; =_020AFE70 mov r1, #9 ldr r0, [r0] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CCAC: .word _020AFE70 arm_func_end sub_0203CC84 arm_func_start sub_0203CCB0 sub_0203CCB0: ; 0x0203CCB0 stmdb sp!, {r3, lr} bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203CCD0 ; =_020AFE70 moveq r1, #0xa ldreq r0, [r0] streq r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _0203CCD0: .word _020AFE70 arm_func_end sub_0203CCB0 arm_func_start sub_0203CCD4 sub_0203CCD4: ; 0x0203CCD4 bx lr arm_func_end sub_0203CCD4 arm_func_start sub_0203CCD8 sub_0203CCD8: ; 0x0203CCD8 stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr r1, _0203CE00 ; =TEAM_MEMBER_TABLE_PTR ldr r2, _0203CE04 ; =_020AFE70 ldr r4, [r1] ldr r3, [r2] mov r1, #0x44 strh r0, [r3, #6] ldr r3, [r2] sub r2, r1, #0x46 ldrsb r3, [r3] smlabb r4, r0, r1, r4 cmp r3, r2 bne _0203CD2C mov r0, #1 mov r1, #3 mov r2, #0 bl CreatePortraitBox ldr r1, _0203CE04 ; =_020AFE70 ldr r1, [r1] strb r0, [r1] _0203CD2C: ldr r1, _0203CE04 ; =_020AFE70 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #1] cmp r1, r0 bne _0203CD5C ldr r0, _0203CE08 ; =_0209C7E4 ldr r1, _0203CE0C ; =sub_0203CE1C bl sub_0202F8C4 ldr r1, _0203CE04 ; =_020AFE70 ldr r1, [r1] strb r0, [r1, #1] _0203CD5C: ldr r1, _0203CE04 ; =_020AFE70 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #2] cmp r1, r0 bne _0203CD8C ldr r0, _0203CE10 ; =_0209C7D4 ldr r1, _0203CE14 ; =sub_0203CFCC bl sub_0202F8C4 ldr r1, _0203CE04 ; =_020AFE70 ldr r1, [r1] strb r0, [r1, #2] _0203CD8C: add r0, sp, #0 bl InitPortraitBox ldrsh r1, [r4, #4] add r0, sp, #0 bl InitPortraitBoxWithMonsterId add r0, sp, #0 mov r1, #2 bl SetPortraitLayout ldr r1, _0203CE18 ; =_0209C7CC add r0, sp, #0 bl SetPortraitOffset add r0, sp, #0 mov r1, #0 bl SetPortraitEmotion ldr r0, _0203CE04 ; =_020AFE70 add r1, sp, #0 ldr r0, [r0] ldrsb r0, [r0] bl ShowPortraitBox ldr r0, _0203CE04 ; =_020AFE70 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202F9B8 ldr r0, _0203CE04 ; =_020AFE70 ldr r0, [r0] ldrsb r0, [r0, #2] bl sub_0202F9B8 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 _0203CE00: .word TEAM_MEMBER_TABLE_PTR _0203CE04: .word _020AFE70 _0203CE08: .word _0209C7E4 _0203CE0C: .word sub_0203CE1C _0203CE10: .word _0209C7D4 _0203CE14: .word sub_0203CFCC _0203CE18: .word _0209C7CC arm_func_end sub_0203CCD8 arm_func_start sub_0203CE1C sub_0203CE1C: ; 0x0203CE1C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1d4 mov r5, r0 mvn r1, #1 cmp r5, r1 beq _0203CF84 ldr r1, _0203CF8C ; =_020AFE70 ldr r2, _0203CF90 ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r1] ldr r3, [r2] ldrsh r2, [r1, #6] mov r1, #0x44 smlabb r4, r2, r1, r3 bl sub_02027B58 ldrsh r0, [r4, #4] bl GetDexNumber str r0, [sp, #0xa8] add r1, sp, #0x84 str r1, [sp] ldr r2, _0203CF94 ; =_0209C820 ldr r3, _0203CF98 ; =0x0000C402 add r0, sp, #0xd4 mov r1, #0x100 bl PreprocessString mov r0, r5 mov r1, #0x20 mov r2, #0 add r3, sp, #0xd4 bl sub_02026214 ldr r0, _0203CF8C ; =_020AFE70 ldr r0, [r0] ldrsh r0, [r0, #6] bl sub_02056410 cmp r0, #0 beq _0203CEC8 ldr r0, _0203CF8C ; =_020AFE70 ldr r0, [r0] ldrsh r0, [r0, #6] bl sub_020564B0 cmp r0, #0 movne r0, #0x59 moveq r0, #0x46 b _0203CEE4 _0203CEC8: ldr r0, _0203CF8C ; =_020AFE70 ldr r0, [r0] ldrsh r0, [r0, #6] bl sub_02056F60 cmp r0, #0 movne r0, #0x44 moveq r0, #0x57 _0203CEE4: mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 add r0, sp, #0xd4 add r1, r4, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe ldr r1, _0203CF9C ; =_0209C82C add r0, sp, #0x44 add r3, sp, #0xd4 mov r2, r6 bl SprintfStatic__0203CFA4 ldrsh r1, [r4, #4] add r0, sp, #0xd4 bl GetSpeciesString ldr r1, _0203CF9C ; =_0209C82C add r0, sp, #4 mov r2, #0x4b add r3, sp, #0xd4 bl SprintfStatic__0203CFA4 ldr r1, _0203CFA0 ; =_0209C83C add r0, sp, #0xd4 add r2, sp, #0x44 add r3, sp, #4 bl SprintfStatic__0203CFA4 mov r0, r5 mov r1, #0x4c mov r2, #0 add r3, sp, #0xd4 bl sub_02026214 ldrsh r1, [r4, #4] add r0, sp, #0xd4 orr r1, r1, #0x10000 bl sub_02024D7C mov r0, r5 mov r1, #0xd0 mov r2, #0 add r3, sp, #0xd4 bl sub_02026214 mov r0, r5 bl sub_02027AF0 _0203CF84: add sp, sp, #0x1d4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0203CF8C: .word _020AFE70 _0203CF90: .word TEAM_MEMBER_TABLE_PTR _0203CF94: .word _0209C820 _0203CF98: .word 0x0000C402 _0203CF9C: .word _0209C82C _0203CFA0: .word _0209C83C arm_func_end sub_0203CE1C arm_func_start SprintfStatic__0203CFA4 SprintfStatic__0203CFA4: ; 0x0203CFA4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__0203CFA4 arm_func_start sub_0203CFCC sub_0203CFCC: ; 0x0203CFCC stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xcc sub sp, sp, #0x400 mov r5, #4 mov r6, r0 sub r0, r5, #6 cmp r6, r0 beq _0203D3F4 ldr r1, _0203D400 ; =_020AFE70 add r0, sp, #4 ldr r1, [r1] ldrsh r1, [r1, #6] bl sub_0205B028 ldr r0, _0203D400 ; =_020AFE70 ldr r1, _0203D404 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] ldr r3, [r1] ldrsh r2, [r0, #6] mov r1, #0x44 mov r0, r6 smlabb r4, r2, r1, r3 bl sub_02027B58 ldrsh r0, [sp, #4] mov r1, #0 bl GetType mov r8, r0 ldrsh r0, [sp, #4] mov r1, #1 bl GetType mov r1, r5 mov r7, r0 ldr r3, _0203D408 ; =0x00000976 mov r0, r6 mov r2, r1 bl sub_02026268 mov r0, r8 bl GetTypeStringId mov r3, r0 mov r0, r6 mov r1, #0x38 mov r2, r5 bl sub_02026268 cmp r7, #0 beq _0203D098 mov r0, r7 bl GetTypeStringId mov r3, r0 mov r0, r6 mov r1, #0x68 mov r2, r5 bl sub_02026268 _0203D098: add r0, r5, #0xc mov r1, r0, lsl #0x10 ldr r2, [sp, #0x30] ldr r0, _0203D40C ; =0x00000977 str r2, [sp, #0xa0] mov r5, r1, asr #0x10 bl StringFromMessageId mov r2, r0 add ip, sp, #0x7c add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString add r3, sp, #0xcc mov r0, r6 mov r1, #4 mov r2, r5 bl sub_02026214 add r0, r5, #0xc mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 ldr r0, [sp, #0x2c] ldr r1, [sp, #0x28] str r0, [sp, #0xa4] ldr r0, _0203D410 ; =0x00000978 str r1, [sp, #0xa0] bl StringFromMessageId add r1, sp, #0x7c mov r2, r0 str r1, [sp] add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 bl PreprocessString mov r0, r6 mov r1, #4 mov r2, r5 add r3, sp, #0xcc bl sub_02026214 add r0, r5, #0xc mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 ldr r0, _0203D414 ; =0x00000979 bl StringFromMessageId add r1, sp, #0x7c mov r2, r0 str r1, [sp] add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 bl PreprocessString mov r0, r6 mov r1, #4 mov r2, r5 add r3, sp, #0xcc bl sub_02026214 ldrb r2, [sp, #0x38] ldrb r1, [sp, #0x3d] ldr r0, _0203D418 ; =0x0000097B str r2, [sp, #0xa0] cmp r1, #0 addne r1, r2, r1 addne r0, r0, #1 strne r1, [sp, #0xa0] bl StringFromMessageId mov r2, r0 add ip, sp, #0x7c add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString add r3, sp, #0xcc mov r0, r6 mov r2, r5 mov r1, #4 bl sub_02026214 ldrb r2, [sp, #0x3a] ldrb r1, [sp, #0x3f] ldr r0, _0203D41C ; =0x0000097F str r2, [sp, #0xa0] cmp r1, #0 addne r0, r2, r1 strne r0, [sp, #0xa0] movne r0, #0x980 bl StringFromMessageId mov r2, r0 add ip, sp, #0x7c add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString add r3, sp, #0xcc mov r0, r6 mov r2, r5 mov r1, #4 bl sub_02026214 add r0, r5, #0xc mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 ldr r0, _0203D420 ; =0x0000097A bl StringFromMessageId add r1, sp, #0x7c mov r2, r0 str r1, [sp] add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 bl PreprocessString mov r0, r6 mov r1, #4 mov r2, r5 add r3, sp, #0xcc bl sub_02026214 ldrb r2, [sp, #0x39] ldrb r1, [sp, #0x3e] ldr r0, _0203D424 ; =0x0000097D str r2, [sp, #0xa0] cmp r1, #0 addne r1, r2, r1 addne r0, r0, #1 strne r1, [sp, #0xa0] bl StringFromMessageId mov r2, r0 add ip, sp, #0x7c add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString add r3, sp, #0xcc mov r0, r6 mov r2, r5 mov r1, #4 bl sub_02026214 ldrb r2, [sp, #0x3b] ldrb r1, [sp, #0x40] ldr r0, _0203D428 ; =0x00000981 str r2, [sp, #0xa0] cmp r1, #0 addne r1, r2, r1 addne r0, r0, #1 strne r1, [sp, #0xa0] bl StringFromMessageId mov r2, r0 add ip, sp, #0x7c add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 str ip, [sp] bl PreprocessString add r3, sp, #0xcc mov r0, r6 mov r2, r5 mov r1, #4 bl sub_02026214 ldrsh r0, [sp, #0x42] mov r1, #0xa str r0, [sp, #0xa0] bl __divsi3 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 movmi r0, #0 bmi _0203D338 cmp r0, #0x63 movge r0, #0x63 _0203D338: bl sub_0205B0A0 str r0, [sp, #0xb4] ldr r0, _0203D42C ; =0x00000983 bl StringFromMessageId add r1, sp, #0x7c mov r2, r0 str r1, [sp] add r0, sp, #0xcc mov r1, #0x400 mov r3, #0 bl PreprocessString add r0, r5, #0xc mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 mov r0, r6 mov r1, #4 mov r2, r5 add r3, sp, #0xcc bl sub_02026214 ldrsh r0, [r4, #4] ldrsh r1, [sp, #0x42] bl GetNextIqSkill cmp r0, #0 add r4, sp, #0x7c mov r1, #0x400 bne _0203D3B8 ldr r2, _0203D430 ; =0x00000986 add r0, sp, #0xcc mov r3, #0 str r4, [sp] bl PreprocessStringFromMessageId b _0203D3D0 _0203D3B8: ldr r2, _0203D434 ; =0x00000985 str r0, [sp, #0x8c] add r0, sp, #0xcc mov r3, #0 str r4, [sp] bl PreprocessStringFromMessageId _0203D3D0: add r0, r5, #0xc mov r1, r0, lsl #0x10 mov r2, r1, asr #0x10 add r3, sp, #0xcc mov r0, r6 mov r1, #4 bl sub_02026214 mov r0, r6 bl sub_02027AF0 _0203D3F4: add sp, sp, #0xcc add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0203D400: .word _020AFE70 _0203D404: .word TEAM_MEMBER_TABLE_PTR _0203D408: .word 0x00000976 _0203D40C: .word 0x00000977 _0203D410: .word 0x00000978 _0203D414: .word 0x00000979 _0203D418: .word 0x0000097B _0203D41C: .word 0x0000097F _0203D420: .word 0x0000097A _0203D424: .word 0x0000097D _0203D428: .word 0x00000981 _0203D42C: .word 0x00000983 _0203D430: .word 0x00000986 _0203D434: .word 0x00000985 arm_func_end sub_0203CFCC arm_func_start sub_0203D438 sub_0203D438: ; 0x0203D438 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 mov r0, #0x3c0 mov r1, #8 mov r4, r2 bl MemAlloc ldr r2, _0203D534 ; =_020AFE74 mov r1, #0x3c0 str r0, [r2] bl MemZero ldr r0, _0203D534 ; =_020AFE74 mov ip, #2 ldr r7, [r0] add lr, r7, #0x14 _0203D474: ldmia r6!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0203D474 ldmia r6, {r0, r1, r2} stmia lr, {r0, r1, r2} mov r1, #0 ldr r0, _0203D534 ; =_020AFE74 str r1, [r7, #0x10] ldr r1, [r0] str r5, [r1, #8] ldr r1, [r0] str r4, [r1, #0xe4] ldr r0, [r0] add r0, r0, #0x8c bl InitPreprocessorArgs ldr r0, _0203D534 ; =_020AFE74 mov r2, #0x70000 ldr r1, [r0] str r2, [r1, #0xd8] ldr r2, [r0] ldrsh r1, [r2, #0x14] str r1, [r2, #0x8c] ldr r0, [r0] add r0, r0, #0x190 bl InitPortraitBox ldr r0, _0203D534 ; =_020AFE74 ldr r0, [r0] ldrsh r1, [r0, #0x14] cmp r1, #0 beq _0203D4F8 add r0, r0, #0x190 bl InitPortraitBoxWithMonsterId _0203D4F8: ldr r1, _0203D534 ; =_020AFE74 mvn r4, #1 ldr r0, [r1] mov r3, #0 strb r4, [r0, #4] ldr r2, [r1] mov r0, #1 strb r4, [r2, #5] ldr r2, [r1] strb r4, [r2, #6] ldr r2, [r1] str r3, [r2] ldr r1, [r1] strb r4, [r1, #0x1a0] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0203D534: .word _020AFE74 arm_func_end sub_0203D438 arm_func_start sub_0203D538 sub_0203D538: ; 0x0203D538 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x11c ldr r1, _0203E4B0 ; =_020AFE74 ldr r4, [r1] ldr r0, [r4] cmp r0, #0x4c addls pc, pc, r0, lsl #2 b _0203EF9C _0203D558: ; jump table b _0203D68C ; case 0 b _0203D7D4 ; case 1 b _0203D89C ; case 2 b _0203D8CC ; case 3 b _0203D8EC ; case 4 b _0203D954 ; case 5 b _0203D984 ; case 6 b _0203D9A4 ; case 7 b _0203DA64 ; case 8 b _0203DAA0 ; case 9 b _0203DAEC ; case 10 b _0203DB20 ; case 11 b _0203DBB0 ; case 12 b _0203DC68 ; case 13 b _0203DC98 ; case 14 b _0203DCB8 ; case 15 b _0203DD68 ; case 16 b _0203DDAC ; case 17 b _0203DE38 ; case 18 b _0203DE50 ; case 19 b _0203DE6C ; case 20 b _0203DEA0 ; case 21 b _0203DEBC ; case 22 b _0203DF1C ; case 23 b _0203DF40 ; case 24 b _0203DF5C ; case 25 b _0203DF74 ; case 26 b _0203DF90 ; case 27 b _0203DFB0 ; case 28 b _0203DFD8 ; case 29 b _0203E10C ; case 30 b _0203E150 ; case 31 b _0203E038 ; case 32 b _0203E0BC ; case 33 b _0203E0EC ; case 34 b _0203E198 ; case 35 b _0203E1DC ; case 36 b _0203E20C ; case 37 b _0203E22C ; case 38 b _0203E274 ; case 39 b _0203E2A4 ; case 40 b _0203E2C4 ; case 41 b _0203E460 ; case 42 b _0203E490 ; case 43 b _0203E518 ; case 44 b _0203E8E8 ; case 45 b _0203E934 ; case 46 b _0203E964 ; case 47 b _0203E984 ; case 48 b _0203E9A8 ; case 49 b _0203E9D8 ; case 50 b _0203E9F8 ; case 51 b _0203E5B4 ; case 52 b _0203E61C ; case 53 b _0203E6B8 ; case 54 b _0203E6D8 ; case 55 b _0203E7EC ; case 56 b _0203E80C ; case 57 b _0203EA24 ; case 58 b _0203EAB8 ; case 59 b _0203EAE8 ; case 60 b _0203EB08 ; case 61 b _0203EB64 ; case 62 b _0203EB94 ; case 63 b _0203EBB4 ; case 64 b _0203EC28 ; case 65 b _0203EC5C ; case 66 b _0203ECA8 ; case 67 b _0203ECC4 ; case 68 b _0203ED34 ; case 69 b _0203ED50 ; case 70 b _0203EE14 ; case 71 b _0203EE30 ; case 72 b _0203EE68 ; case 73 b _0203EEBC ; case 74 b _0203EF78 ; case 75 b _0203EF94 ; case 76 _0203D68C: ldrb r0, [r4, #0x36] cmp r0, #0 beq _0203D6E4 bl sub_0201077C cmp r0, #0 bne _0203D6B4 mov r0, #0x1e bl GetPerformanceFlagWithChecks cmp r0, #0 bne _0203D73C _0203D6B4: ldr r1, _0203E4B0 ; =_020AFE74 mvn r0, #0 ldr r4, [r1] mov r2, #0 ldr r3, [r4, #0x1c] mul r0, r3, r0 str r0, [r4, #0x1c] ldr r0, [r1] strb r2, [r0, #0x36] ldr r0, [r1] strh r2, [r0, #0x38] b _0203D73C _0203D6E4: ldrsh r0, [r4, #0x38] cmp r0, #0 beq _0203D73C mov r0, #0x1d bl GetPerformanceFlagWithChecks cmp r0, #0 beq _0203D718 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldrsh r0, [r0, #0x38] bl sub_02062B64 cmp r0, #0 beq _0203D73C _0203D718: ldr r1, _0203E4B0 ; =_020AFE74 mov r3, #0 ldr r2, [r1] sub r0, r3, #1 strh r3, [r2, #0x38] ldr r2, [r1] ldr r1, [r2, #0x1c] mul r0, r1, r0 str r0, [r2, #0x1c] _0203D73C: ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0xe4] tst r0, #0x10 bne _0203D7C0 mov r0, #0x1f bl GetPerformanceFlagWithChecks cmp r0, #0 bne _0203D7C0 mov r5, #0 mov r4, r5 ldr sb, _0203E4B0 ; =_020AFE74 mvn r7, #0 mov r8, #6 b _0203D7B0 _0203D778: mul r6, r5, r8 add r0, r1, r6 ldrsh r0, [r0, #0x28] bl GetItemCategory cmp r0, #0xf bne _0203D7AC ldr r0, [sb] add r0, r0, r6 strh r4, [r0, #0x28] ldr r2, [sb] ldr r0, [r2, #0x1c] mul r1, r0, r7 str r1, [r2, #0x1c] _0203D7AC: add r5, r5, #1 _0203D7B0: ldr r1, [sb] ldr r0, [r1, #0x20] cmp r5, r0 blt _0203D778 _0203D7C0: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #1 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203D7D4: ldr r0, [r4, #0x1c] cmp r0, #0 movle r0, #7 strle r0, [r4] ble _0203EF9C str r0, [r4, #0xb0] ldr r4, [r1] mov r0, #0xa ldr r2, [r4, #0x1c] mul r3, r2, r0 str r3, [r4, #0xb4] ldr r2, [r1] ldr r1, [r2, #8] cmp r1, #0 beq _0203D890 cmp r1, #2 bne _0203D824 ldr r4, _0203E4B4 ; =0x00000289 bl sub_0203F00C b _0203D864 _0203D824: cmp r1, #3 bne _0203D838 add r4, r0, #0x280 bl sub_0203F00C b _0203D864 _0203D838: cmp r1, #4 movne r4, #0x288 bne _0203D864 mov r0, #0 mov r1, #0x69 bl LoadScriptVariableValue add r0, r0, #0x8b add r0, r0, #0x200 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 bl sub_0203F00C _0203D864: ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] mov r1, r4 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #2 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203D890: mov r0, #4 str r0, [r2] b _0203EF9C _0203D89C: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #3 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203D8CC: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #4 strle r1, [r0] b _0203EF9C _0203D8EC: mov r0, #4 bl sub_02017C50 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0x1c] bl AddMoneyCarried ldr r0, _0203E4B0 ; =_020AFE74 ldr r2, [r0] ldr r0, [r2, #8] cmp r0, #2 ldreq r1, _0203E4BC ; =0x0000026F beq _0203D934 cmp r0, #3 moveq r1, #0x270 beq _0203D934 cmp r0, #4 ldreq r1, _0203E4C0 ; =0x00000271 ldrne r1, _0203E4C4 ; =0x0000026E _0203D934: ldr r0, _0203E4B8 ; =0x0000101C add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #5 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203D954: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #6 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203D984: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #7 strle r1, [r0] b _0203EF9C _0203D9A4: ldrsh r0, [r4, #0x38] cmp r0, #0 beq _0203D9BC ldrb r0, [r4, #0x36] cmp r0, #0 beq _0203D9C8 _0203D9BC: mov r0, #0x29 str r0, [r4] b _0203EF9C _0203D9C8: ldrsh r0, [r4, #0x14] str r0, [r4, #0x8c] ldr r2, [r1] ldrsh r0, [r2, #0x38] str r0, [r2, #0x90] ldr r1, [r1] ldr r0, [r1, #8] cmp r0, #0 beq _0203DA58 cmp r0, #2 bne _0203DA00 ldr r4, _0203E4C8 ; =0x0000029A bl sub_0203F00C b _0203DA2C _0203DA00: cmp r0, #4 ldrne r4, _0203E4CC ; =0x00000299 bne _0203DA2C mov r0, #0 mov r1, #0x69 bl LoadScriptVariableValue add r0, r0, #0x9b add r0, r0, #0x200 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 bl sub_0203F00C _0203DA2C: ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4D0 ; =0x00003008 ldr r2, [r1] mov r1, r4 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #8 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DA58: mov r0, #0xb str r0, [r1] b _0203EF9C _0203DA64: bl sub_02046C78 cmp r0, #0 beq _0203EF9C mov r0, #0 ldr r3, _0203E4D4 ; =_0209C884 mov r2, r0 mov r1, #0x11 bl sub_0202A5CC ldr r1, _0203E4B0 ; =_020AFE74 mov r2, #9 ldr r3, [r1] strb r0, [r3, #4] ldr r0, [r1] str r2, [r0] b _0203EF9C _0203DAA0: ldrsb r0, [r4, #4] bl sub_0202AB40 cmp r0, #0 bne _0203EF9C ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldrsb r0, [r0, #4] bl sub_0202ABB0 ldr r1, _0203E4B0 ; =_020AFE74 ldr r1, [r1] str r0, [r1, #0x18c] bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r2, #0xa ldr r1, [r0] str r2, [r1, #0x188] ldr r0, [r0] str r2, [r0] b _0203EF9C _0203DAEC: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 bgt _0203EF9C ldr r1, [r1] ldr r0, [r1, #0x18c] cmp r0, #0 moveq r0, #0xb streq r0, [r1] movne r0, #0x23 strne r0, [r1] b _0203EF9C _0203DB20: ldr r3, _0203E4D8 ; =_0209C846 add r2, sp, #0x22 mov r1, #4 _0203DB2C: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _0203DB2C ldrsh r1, [r4, #0x38] add r0, sp, #0x22 mov r2, #1 mov r3, #0 bl sub_02053A0C ldr r0, _0203E4B0 ; =_020AFE74 add r1, sp, #0x22 ldr r0, [r0] ldr r3, _0203E4DC ; =_0209C844 str r1, [sp] ldrsh r1, [r0, #0x38] add r0, r0, #0x40 mov r2, #0 bl sub_02052E2C ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] add r0, r0, #0x40 bl sub_02055D4C ldr r1, _0203E4B0 ; =_020AFE74 ldr r2, [r1] str r0, [r2, #0x3b8] ldr r1, [r1] ldr r0, [r1, #0x3b8] cmp r0, #0 movne r0, #0xc strne r0, [r1] moveq r0, #0x1e streq r0, [r1] b _0203EF9C _0203DBB0: ldr r0, [r4, #0x18] cmp r0, #1 ble _0203DBD0 mov r1, r0, lsl #0x10 ldr r0, [r4, #0x3b8] mov r1, r1, asr #0x10 mov r2, #1 bl sub_020544C8 _0203DBD0: ldr r0, _0203E4B0 ; =_020AFE74 ldr r2, [r0] ldrsh r1, [r2, #0x38] str r1, [r2, #0x8c] ldr r4, [r0] ldr r0, [r4, #8] cmp r0, #2 bne _0203DC18 ldr r0, _0203E4B8 ; =0x0000101C ldr r1, _0203E4E0 ; =0x0000027A add r2, r4, #0x8c bl sub_02046BE8 bl sub_0203F00C ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0xd ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DC18: cmp r0, #4 movne r0, #0xf strne r0, [r4] bne _0203EF9C mov r0, #0 mov r1, #0x69 bl LoadScriptVariableValue add r0, r0, #0x7b add r0, r0, #0x200 mov r1, r0, lsl #0x10 ldr r0, _0203E4B8 ; =0x0000101C mov r1, r1, lsr #0x10 add r2, r4, #0x8c bl sub_02046BE8 bl sub_0203F00C ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0xd ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DC68: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0xe str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DC98: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0xf strle r1, [r0] b _0203EF9C _0203DCB8: ldrsh r1, [r4, #0x38] add r0, r4, #0xb5 add r0, r0, #0x200 mov r2, #0x4e bl GetNameWithGender ldr r3, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4E4 ; =0x0000100C ldr r4, [r3] ldr r1, _0203E4E8 ; =0x000002A6 add r2, r4, #0xb5 add r2, r2, #0x200 str r2, [r4, #0xc4] ldr r2, [r3] add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r2, #0xa ldr r0, [r0] ldr r1, [r0, #0x3b8] add r0, r0, #0xa1 add r0, r0, #0x100 add r1, r1, #0x3a bl StrncpySimple ldr r0, _0203E4B0 ; =_020AFE74 mov r2, #0xa ldr r0, [r0] ldr r1, [r0, #0x3b8] add r0, r0, #0xab add r0, r0, #0x100 add r1, r1, #0x3a bl MemcpySimple ldr r0, _0203E4B0 ; =_020AFE74 mov r2, #0xa ldr r1, [r0] add r0, r1, #0xb5 add r0, r0, #0x100 add r1, r1, #0xab add r1, r1, #0x100 bl StrncpySimpleNoPadSafe ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x10 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DD68: bl sub_02046C78 cmp r0, #0 beq _0203EF9C ldr r0, _0203E4EC ; =_0209C85C mov r4, #2 ldr r1, _0203E4F0 ; =0x00300011 ldr r3, _0203E4F4 ; =_0209C86C mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0203E4B0 ; =_020AFE74 mov r2, #0x11 ldr r3, [r1] strb r0, [r3, #0x1a0] ldr r0, [r1] str r2, [r0] b _0203EF9C _0203DDAC: add r0, r4, #0x100 ldrsb r0, [r0, #0xa0] bl IsNormalMenuActive cmp r0, #0 bne _0203EF9C ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] add r0, r0, #0x100 ldrsb r0, [r0, #0xa0] bl GetNormalMenuResult ldr r1, _0203E4B0 ; =_020AFE74 mov r4, r0 ldr r0, [r1] add r0, r0, #0x100 ldrsb r0, [r0, #0xa0] bl FreeNormalMenu ldr r0, _0203E4B0 ; =_020AFE74 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x1a0] bl sub_02046D20 cmp r4, #0 beq _0203DE10 cmp r4, #1 b _0203DE24 _0203DE10: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x12 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DE24: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x20 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DE38: bl ov00_0230D92C ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x13 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DE50: bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x14 ldreq r0, [r0] streq r1, [r0] b _0203EF9C _0203DE6C: add r0, r4, #0xab add r2, r4, #0xa1 add r1, r0, #0x100 add r3, r2, #0x100 mov r0, #2 mov r2, #0 bl ShowKeyboard bl ov11_02310BDC ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x15 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DEA0: bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x16 ldreq r0, [r0] streq r1, [r0] b _0203EF9C _0203DEBC: bl GetKeyboardStatus cmp r0, #3 bne _0203EF9C bl GetKeyboardStringResult ldr r2, _0203E4B0 ; =_020AFE74 mov r1, r0 ldr r0, [r2] mov r2, #0xa add r0, r0, #0xab add r0, r0, #0x100 bl MemcpySimple ldr r0, _0203E4B0 ; =_020AFE74 mov r2, #0xa ldr r1, [r0] add r0, r1, #0xb5 add r1, r1, #0xab add r0, r0, #0x100 add r1, r1, #0x100 bl StrncpySimpleNoPadSafe ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x17 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DF1C: bl sub_02037468 cmp r0, #0 beq _0203EF9C bl ov00_0230D92C ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x18 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DF40: bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x19 ldreq r0, [r0] streq r1, [r0] b _0203EF9C _0203DF5C: bl ov00_0230D92C ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x1a ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DF74: bl ov00_0230D220 cmp r0, #0 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x1b ldreq r0, [r0] streq r1, [r0] b _0203EF9C _0203DF90: add r0, r4, #0xb5 add r0, r0, #0x100 bl sub_0203909C ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x1c ldr r0, [r0] str r1, [r0] b _0203EF9C _0203DFB0: bl sub_0203931C ldr r1, _0203E4B0 ; =_020AFE74 ldr r2, [r1] str r0, [r2, #0x3bc] ldr r1, [r1] ldr r0, [r1, #0x3bc] cmp r0, #0 movge r0, #0x1d strge r0, [r1] b _0203EF9C _0203DFD8: bl sub_02039218 cmp r0, #0 beq _0203EF9C ldr r0, _0203E4B0 ; =_020AFE74 ldr r1, [r0] ldr r0, [r1, #0x3bc] cmp r0, #0 beq _0203E000 cmp r0, #1 b _0203E02C _0203E000: ldr r0, [r1, #0x3b8] add r1, r1, #0xab add r0, r0, #0x3a add r1, r1, #0x100 mov r2, #0xa bl MemcpySimple ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x20 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E02C: mov r0, #0x12 str r0, [r1] b _0203EF9C _0203E038: ldrsh r0, [r4, #0x38] mov r2, #0xa orr r0, r0, #0x80000 str r0, [r4, #0x8c] ldr r1, [r1] add r0, r1, #0xb5 add r1, r1, #0xab add r0, r0, #0x100 add r1, r1, #0x100 bl StrncpySimpleNoPadSafe ldr r1, _0203E4B0 ; =_020AFE74 ldr r2, [r1] add r0, r2, #0xb5 add r0, r0, #0x100 str r0, [r2, #0xc4] ldr r0, [r1] ldr r0, [r0, #8] cmp r0, #2 ldreq r4, _0203E4F8 ; =0x00000283 mov r0, #5 ldrne r4, _0203E4FC ; =0x00000281 bl sub_02017C50 ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] mov r1, r4 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x21 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E0BC: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x22 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E0EC: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x29 strle r1, [r0] b _0203EF9C _0203E10C: bl sub_02046D20 ldr r0, _0203E4B0 ; =_020AFE74 ldr r1, [r0] ldr r0, [r1, #8] sub r0, r0, #2 cmp r0, #1 add r0, r1, #0x40 bhi _0203E138 mov r1, #1 bl ov11_023061E4 b _0203E13C _0203E138: bl ov11_023061CC _0203E13C: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x1f ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E150: bl ov11_02306C9C cmp r0, #3 cmpne r0, #4 bne _0203EF9C bl ov11_02306C64 cmp r0, #0 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x23 ldreq r0, [r0] streq r1, [r0] beq _0203EF9C ldr r1, _0203E4B0 ; =_020AFE74 mov r2, #0xc ldr r3, [r1] str r0, [r3, #0x3b8] ldr r0, [r1] str r2, [r0] b _0203EF9C _0203E198: ldrsh r1, [r4, #0x38] add r0, r4, #0xe8 bl GetNameRaw ldr r2, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r4, [r2] mov r1, #0x284 add r3, r4, #0xe8 str r3, [r4, #0xc4] ldr r2, [r2] add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x24 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E1DC: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x25 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E20C: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x26 strle r1, [r0] b _0203EF9C _0203E22C: mov r0, #4 bl sub_02017C50 mov r0, #0x3e8 bl AddMoneyCarried ldr r1, _0203E4B0 ; =_020AFE74 mov r3, #0x3e8 ldr r2, [r1] ldr r0, _0203E4B8 ; =0x0000101C str r3, [r2, #0xb0] ldr r2, [r1] ldr r1, _0203E500 ; =0x00000285 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x27 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E274: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x28 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E2A4: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x29 strle r1, [r0] b _0203EF9C _0203E2C4: ldr r1, [r4, #0x10] ldr r0, [r4, #0x20] cmp r1, r0 movge r0, #0x3a strge r0, [r4] bge _0203EF9C mov r0, #6 mla r0, r1, r0, r4 ldrsh r0, [r0, #0x28] mov r1, #0 strh r0, [sp, #0x20] strb r1, [sp, #0x1c] bl IsStorableItem cmp r0, #0 beq _0203E44C ldrsh r0, [sp, #0x20] bl IsThrownItem cmp r0, #0 bne _0203E328 ldrsh r1, [sp, #0x20] cmp r1, #0x16c blt _0203E348 ldr r0, _0203E504 ; =0x0000018F cmp r1, r0 bgt _0203E348 _0203E328: ldr r1, _0203E4B0 ; =_020AFE74 mov r0, #6 ldr r2, [r1] ldr r1, [r2, #0x10] mla r0, r1, r0, r2 ldrh r0, [r0, #0x26] strh r0, [sp, #0x1e] b _0203E350 _0203E348: mov r0, #0 strh r0, [sp, #0x1e] _0203E350: ldr r3, _0203E4B0 ; =_020AFE74 mov r0, #1 ldr r6, [r3] strb r0, [sp, #0x1c] ldr r1, [r6, #0x10] mov r0, #6 mla r5, r1, r0, r6 ldrh r0, [sp, #0x1c] mov r4, #0 ldr r2, _0203E508 ; =_0209C850 strh r0, [r5, #0x24] ldrh r0, [sp, #0x1e] add r1, sp, #0x1c strh r0, [r5, #0x26] ldrh r0, [sp, #0x20] strh r0, [r5, #0x28] ldrsh r0, [sp, #0x20] str r0, [r6, #0x9c] ldr r0, [r3] str r4, [r0, #0xb0] ldr r0, [r3] add r0, r0, #0xe8 bl sub_0200D670 ldr r0, _0203E4B0 ; =_020AFE74 ldr r2, [r0] add r1, r2, #0xe8 str r1, [r2, #0xc4] ldr r2, [r0] ldrsh r1, [r2, #0x14] str r1, [r2, #0x8c] ldr r1, [r0] ldr r0, [r1, #8] cmp r0, #0 beq _0203E440 cmp r0, #2 bne _0203E3EC ldr r4, _0203E50C ; =0x00000296 bl sub_0203F00C b _0203E414 _0203E3EC: cmp r0, #3 bne _0203E400 ldr r4, _0203E510 ; =0x00000297 bl sub_0203F00C b _0203E414 _0203E400: cmp r0, #4 ldrne r4, _0203E514 ; =0x00000295 bne _0203E414 mov r4, #0x298 bl sub_0203F00C _0203E414: ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] mov r1, r4 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x2a ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E440: mov r0, #0x2c str r0, [r1] b _0203EF9C _0203E44C: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x33 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E460: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x2b str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E490: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x2c strle r1, [r0] b _0203EF9C .align 2, 0 _0203E4B0: .word _020AFE74 _0203E4B4: .word 0x00000289 _0203E4B8: .word 0x0000101C _0203E4BC: .word 0x0000026F _0203E4C0: .word 0x00000271 _0203E4C4: .word 0x0000026E _0203E4C8: .word 0x0000029A _0203E4CC: .word 0x00000299 _0203E4D0: .word 0x00003008 _0203E4D4: .word _0209C884 _0203E4D8: .word _0209C846 _0203E4DC: .word _0209C844 _0203E4E0: .word 0x0000027A _0203E4E4: .word 0x0000100C _0203E4E8: .word 0x000002A6 _0203E4EC: .word _0209C85C _0203E4F0: .word 0x00300011 _0203E4F4: .word _0209C86C _0203E4F8: .word 0x00000283 _0203E4FC: .word 0x00000281 _0203E500: .word 0x00000285 _0203E504: .word 0x0000018F _0203E508: .word _0209C850 _0203E50C: .word 0x00000296 _0203E510: .word 0x00000297 _0203E514: .word 0x00000295 _0203E518: ldr r1, [r4, #0x10] add r2, r4, #0x24 mov r0, #6 mla r0, r1, r0, r2 bl sub_020103AC cmp r0, #0 beq _0203E5A0 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0xe4] tst r0, #2 bne _0203E550 mov r0, #4 bl sub_02017C50 _0203E550: ldr r0, _0203E4B0 ; =_020AFE74 ldr r2, [r0] ldr r0, [r2, #0xe4] tst r0, #4 bne _0203E588 ldr r1, _0203EFA8 ; =0x00000273 add r2, r2, #0x8c mov r0, #0x1c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x2e ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E588: tst r0, #8 movne r0, #0x30 strne r0, [r2] moveq r0, #0x33 streq r0, [r2] b _0203EF9C _0203E5A0: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x34 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E5B4: ldr r2, [r4, #0x10] mov r0, #6 mla r1, r2, r0, r4 ldrsh r2, [r1, #0x28] mov r1, #0 strh r2, [sp, #0x1a] ldr r2, [r4, #0x10] mla r0, r2, r0, r4 ldrh r0, [r0, #0x26] strh r0, [sp, #0x18] strb r1, [sp, #0x16] bl sub_02046D20 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0xe4] tst r0, #1 moveq r1, #1 movne r1, #0 add r0, sp, #0x16 and r1, r1, #0xff bl sub_020453F8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x35 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E61C: bl sub_02046028 cmp r0, #2 beq _0203E658 cmp r0, #3 beq _0203E688 cmp r0, #4 bne _0203EF9C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x2d str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E658: ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] add r0, r0, #0xde bl sub_02045FD0 ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x36 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E688: ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] add r0, r0, #0xde bl sub_02045FD0 ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x38 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E6B8: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x37 strle r1, [r0] b _0203EF9C _0203E6D8: ldr r1, [r4, #0x10] add r2, r4, #0x24 mov r0, #6 mla r0, r1, r0, r2 bl sub_020103AC cmp r0, #0 beq _0203E7D8 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0xe4] tst r0, #2 bne _0203E710 mov r0, #4 bl sub_02017C50 _0203E710: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #6 ldr r5, [r0] mov r6, #0 ldr r4, [r5, #0x10] ldr r2, _0203E508 ; =_0209C850 mla r3, r4, r1, r5 ldrsh r3, [r3, #0x28] str r3, [r5, #0x9c] ldr r3, [r0] str r6, [r3, #0xb0] ldr r4, [r0] ldrsh r3, [r4, #0xdc] str r3, [r4, #0xa4] ldr r3, [r0] str r6, [r3, #0xb8] ldr r5, [r0] ldrsh r3, [r5, #0xe2] add r4, r5, #0x24 add r0, r5, #0xe8 strh r3, [sp, #0x14] ldrh r3, [r5, #0xe0] strb r6, [sp, #0x10] strh r3, [sp, #0x12] ldr r3, [r5, #0x10] mla r1, r3, r1, r4 bl sub_0200D670 ldr r0, _0203E4B0 ; =_020AFE74 ldr r2, _0203E508 ; =_0209C850 ldr r0, [r0] add r1, sp, #0x10 add r0, r0, #0x138 bl sub_0200D670 ldr r2, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r4, [r2] ldr r1, _0203EFAC ; =0x00000275 add r3, r4, #0x138 str r3, [r4, #0xcc] ldr r4, [r2] add r3, r4, #0xe8 str r3, [r4, #0xc4] ldr r2, [r2] add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x2e ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E7D8: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x34 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E7EC: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x39 strle r1, [r0] b _0203EF9C _0203E80C: ldr r1, [r4, #0x10] add r2, r4, #0x24 mov r0, #6 mla r0, r1, r0, r2 bl sub_020103AC cmp r0, #0 beq _0203E8D4 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0xe4] tst r0, #2 bne _0203E844 mov r0, #4 bl sub_02017C50 _0203E844: ldr r1, _0203E4B0 ; =_020AFE74 mov r0, #6 ldr r6, [r1] mov r5, #0 ldr r4, [r6, #0x10] ldr r2, _0203E508 ; =_0209C850 mla r3, r4, r0, r6 ldrsh r3, [r3, #0x28] str r3, [r6, #0x9c] ldr r3, [r1] str r5, [r3, #0xb0] ldr r4, [r1] ldrsh r3, [r4, #0xdc] str r3, [r4, #0xa4] ldr r3, [r1] str r5, [r3, #0xb8] ldr r4, [r1] ldr r3, [r4, #0x10] add r1, r4, #0x24 mla r1, r3, r0, r1 add r0, r4, #0xe8 bl sub_0200D670 ldr r2, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r4, [r2] ldr r1, _0203EFB0 ; =0x00000277 add r3, r4, #0xe8 str r3, [r4, #0xc4] ldr r2, [r2] add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x2e ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E8D4: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x34 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E8E8: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 bgt _0203EF9C ldr r2, [r1] ldr r0, _0203E4B8 ; =0x0000101C ldr r1, _0203EFB4 ; =0x00000286 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] add r0, r0, #0xde bl sub_02045FD0 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x2e ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E934: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x2f str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E964: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x33 strle r1, [r0] b _0203EF9C _0203E984: ldr r0, _0203E4B8 ; =0x0000101C add r2, r4, #0x8c mov r1, #0x2cc bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x31 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E9A8: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x32 str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203E9D8: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x33 strle r1, [r0] b _0203EF9C _0203E9F8: ldr r0, [r4, #0x10] add r0, r0, #1 str r0, [r4, #0x10] ldr r1, [r1] ldr r0, [r1, #0x10] cmp r0, #3 movlt r0, #0x29 strlt r0, [r1] movge r0, #0x3a strge r0, [r1] b _0203EF9C _0203EA24: ldrb r0, [r4, #0x36] cmp r0, #0 moveq r0, #0x40 streq r0, [r4] beq _0203EF9C ldr r0, [r4, #8] cmp r0, #0 beq _0203EAAC cmp r0, #2 bne _0203EA58 ldr r4, _0203EFB8 ; =0x00000292 bl sub_0203F00C b _0203EA80 _0203EA58: cmp r0, #3 bne _0203EA6C ldr r4, _0203EFBC ; =0x00000293 bl sub_0203F00C b _0203EA80 _0203EA6C: cmp r0, #4 ldrne r4, _0203EFC0 ; =0x00000291 bne _0203EA80 mov r4, #0x294 bl sub_0203F00C _0203EA80: ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] mov r1, r4 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x3b ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EAAC: mov r0, #0x3d str r0, [r4] b _0203EF9C _0203EAB8: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x3c str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EAE8: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x3d strle r1, [r0] b _0203EF9C _0203EB08: mov r0, #5 bl sub_02017C50 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldrsh r0, [r0, #0x38] bl sub_02010794 mov r0, #4 bl RandIntSafe add r0, r0, #6 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_020107F4 ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] ldr r1, _0203EFC4 ; =0x00000272 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x3e ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EB64: bl sub_02046C78 cmp r0, #0 beq _0203EF9C bl sub_0203F05C ldr r0, _0203E4B0 ; =_020AFE74 mov r3, #0xa ldr r2, [r0] mov r1, #0x3f str r3, [r2, #0x188] ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EB94: ldr r2, [r4, #0x188] sub r0, r2, #1 str r0, [r4, #0x188] cmp r2, #0 ldrle r0, [r1] movle r1, #0x40 strle r1, [r0] b _0203EF9C _0203EBB4: ldr r0, [r4, #0x3c] cmp r0, #0 moveq r0, #0x4c streq r0, [r4] beq _0203EF9C add r0, sp, #0xcc bl InitPreprocessorArgs bl GetRank ldr r1, _0203E4B0 ; =_020AFE74 ldr r2, [r1] strb r0, [r2, #0xc] ldr r0, [r1] ldr r0, [r0, #0x3c] bl sub_02050C10 mov r0, #4 bl sub_02017C50 ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] ldr r1, _0203EFC8 ; =0x000002A1 ldr r3, [r2, #0x3c] add r2, sp, #0xcc str r3, [sp, #0xf0] bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x41 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EC28: bl sub_02046C78 cmp r0, #0 beq _0203EF9C ldr r0, _0203E4B0 ; =_020AFE74 ldr r4, [r0] bl GetRank ldrb r1, [r4, #0xc] cmp r1, r0 movne r0, #0x42 strne r0, [r4] moveq r0, #0x4c streq r0, [r4] b _0203EF9C _0203EC5C: mov r0, #2 bl sub_02017C50 add r0, sp, #0x7c bl InitPreprocessorArgs ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldrb r0, [r0, #0xc] str r0, [sp, #0x94] bl GetRank str r0, [sp, #0x98] ldr r0, _0203E4B8 ; =0x0000101C ldr r1, _0203EFCC ; =0x000002A2 add r2, sp, #0x7c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x43 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203ECA8: bl sub_02046C78 cmp r0, #0 ldrne r0, _0203E4B0 ; =_020AFE74 movne r1, #0x44 ldrne r0, [r0] strne r1, [r0] b _0203EF9C _0203ECC4: add r0, sp, #0x2c bl InitPreprocessorArgs ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldrb r0, [r0, #0xc] bl GetRankUpEntry ldr r0, [r0, #8] str r0, [sp, #0x50] bl GetRank bl GetRankUpEntry ldr r1, [r0, #8] ldr r0, [sp, #0x50] str r1, [sp, #0x54] cmp r0, r1 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x46 ldreq r0, [r0] streq r1, [r0] beq _0203EF9C ldr r0, _0203E4B8 ; =0x0000101C ldr r1, _0203EFD0 ; =0x000002A3 add r2, sp, #0x2c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x45 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203ED34: bl sub_02046C78 cmp r0, #0 ldrne r0, _0203E4B0 ; =_020AFE74 movne r1, #0x46 ldrne r0, [r0] strne r1, [r0] b _0203EF9C _0203ED50: bl GetRank bl GetRankUpEntry ldrsh r0, [r0, #0xc] strh r0, [r4, #0x88] cmp r0, #0 bne _0203ED80 bl sub_02046D20 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x4c ldr r0, [r0] str r1, [r0] b _0203EF9C _0203ED80: bl IsStorableItem cmp r0, #0 beq _0203EDFC ldrsh r0, [r4, #0x88] bl IsThrownItem cmp r0, #0 movne r0, #1 moveq r0, #0 strh r0, [r4, #0x86] mov r0, #1 strb r0, [r4, #0x84] ldr r0, _0203E4B0 ; =_020AFE74 ldrsh r3, [r4, #0x88] ldr r1, [r0] mov r2, #0 str r3, [r1, #0x9c] ldr r1, [r0] mov r0, #4 str r2, [r1, #0xb0] bl sub_02017C50 ldr r1, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r2, [r1] mov r1, #0x2a4 add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x47 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EDFC: bl sub_02046D20 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x4c ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EE14: bl sub_02046C78 cmp r0, #0 ldrne r0, _0203E4B0 ; =_020AFE74 movne r1, #0x48 ldrne r0, [r0] strne r1, [r0] b _0203EF9C _0203EE30: add r0, r4, #0x84 bl sub_020103AC cmp r0, #0 ldreq r0, _0203E4B0 ; =_020AFE74 moveq r1, #0x49 ldreq r0, [r0] streq r1, [r0] beq _0203EF9C bl sub_02046D20 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x4c ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EE68: ldrsh r1, [r4, #0x88] mov r0, #0 strh r1, [sp, #0xe] ldrh r1, [r4, #0x86] strh r1, [sp, #0xc] strb r0, [sp, #0xa] bl sub_02046D20 ldr r0, _0203E4B0 ; =_020AFE74 ldr r0, [r0] ldr r0, [r0, #0xe4] tst r0, #1 moveq r1, #1 movne r1, #0 add r0, sp, #0xa and r1, r1, #0xff bl sub_020453F8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x4a ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EEBC: bl sub_02046028 mov r4, r0 cmp r4, #1 beq _0203EF9C add r0, sp, #4 bl sub_02045FD0 ldrsh r0, [sp, #8] cmp r0, #0 bne _0203EF00 ldr r0, _0203E4B0 ; =_020AFE74 ldr r1, [r0] ldrh r0, [r1, #0x84] strh r0, [sp, #4] ldrh r0, [r1, #0x86] strh r0, [sp, #6] ldrh r0, [r1, #0x88] strh r0, [sp, #8] _0203EF00: cmp r4, #2 cmpne r4, #3 beq _0203EF64 cmp r4, #4 bne _0203EF9C ldr r0, _0203E4B0 ; =_020AFE74 ldr r2, _0203E508 ; =_0209C850 ldr r0, [r0] add r1, sp, #4 add r0, r0, #0xe8 bl sub_0200D670 ldr r2, _0203E4B0 ; =_020AFE74 ldr r0, _0203E4B8 ; =0x0000101C ldr r4, [r2] ldr r1, _0203EFB4 ; =0x00000286 add r3, r4, #0xe8 str r3, [r4, #0xc4] ldr r2, [r2] add r2, r2, #0x8c bl sub_02046BE8 ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x4b ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EF64: ldr r0, _0203E4B0 ; =_020AFE74 mov r1, #0x48 ldr r0, [r0] str r1, [r0] b _0203EF9C _0203EF78: bl sub_02046C78 cmp r0, #0 ldrne r0, _0203E4B0 ; =_020AFE74 movne r1, #0x4c ldrne r0, [r0] strne r1, [r0] b _0203EF9C _0203EF94: mov r0, #1 b _0203EFA0 _0203EF9C: mov r0, #0 _0203EFA0: add sp, sp, #0x11c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0203EFA8: .word 0x00000273 _0203EFAC: .word 0x00000275 _0203EFB0: .word 0x00000277 _0203EFB4: .word 0x00000286 _0203EFB8: .word 0x00000292 _0203EFBC: .word 0x00000293 _0203EFC0: .word 0x00000291 _0203EFC4: .word 0x00000272 _0203EFC8: .word 0x000002A1 _0203EFCC: .word 0x000002A2 _0203EFD0: .word 0x000002A3 arm_func_end sub_0203D538 arm_func_start sub_0203EFD4 sub_0203EFD4: ; 0x0203EFD4 stmdb sp!, {r3, lr} ldr r0, _0203F008 ; =_020AFE74 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0203F05C ldr r0, _0203F008 ; =_020AFE74 ldr r0, [r0] bl MemFree ldr r0, _0203F008 ; =_020AFE74 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0203F008: .word _020AFE74 arm_func_end sub_0203EFD4 arm_func_start sub_0203F00C sub_0203F00C: ; 0x0203F00C stmdb sp!, {r3, lr} ldr r1, _0203F058 ; =_020AFE74 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #6] cmp r1, r0 ldmneia sp!, {r3, pc} mov r0, #0 mov r1, #3 mov r2, #1 bl CreatePortraitBox ldr r1, _0203F058 ; =_020AFE74 ldr r2, [r1] strb r0, [r2, #6] ldr r1, [r1] ldrsb r0, [r1, #6] add r1, r1, #0x190 bl ShowPortraitBox ldmia sp!, {r3, pc} .align 2, 0 _0203F058: .word _020AFE74 arm_func_end sub_0203F00C arm_func_start sub_0203F05C sub_0203F05C: ; 0x0203F05C stmdb sp!, {r3, lr} ldr r0, _0203F0EC ; =_020AFE74 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #4] cmp r0, r1 beq _0203F08C bl sub_0202AABC ldr r0, _0203F0EC ; =_020AFE74 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #4] _0203F08C: ldr r0, _0203F0EC ; =_020AFE74 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #5] cmp r0, r1 beq _0203F0B8 bl FreeDBox ldr r0, _0203F0EC ; =_020AFE74 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #5] _0203F0B8: ldr r0, _0203F0EC ; =_020AFE74 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #6] cmp r0, r1 beq _0203F0E4 bl FreePortraitBox ldr r0, _0203F0EC ; =_020AFE74 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #6] _0203F0E4: bl sub_02046D20 ldmia sp!, {r3, pc} .align 2, 0 _0203F0EC: .word _020AFE74 arm_func_end sub_0203F05C arm_func_start sub_0203F0F0 sub_0203F0F0: ; 0x0203F0F0 stmdb sp!, {r4, lr} ldr r1, _0203F148 ; =_020AFE78 ldr r2, _0203F14C ; =_0209C89C ldr r3, [r1] mov r4, r0 ldrsh r1, [r3, #0xc] add r0, r3, #0xdc add r1, r3, r1, lsl #2 ldr r1, [r1, #0x14] mov r1, r1, lsl #1 ldrh r1, [r2, r1] bl GetStringFromFileVeneer ldr r0, _0203F148 ; =_020AFE78 mov r3, r4 ldr r4, [r0] ldrsh r0, [r4, #0xc] add r1, r4, #0x64 add r2, r4, #0x30 add r0, r4, r0, lsl #2 ldr r0, [r0, #0x14] bl sub_0205A4B4 ldmia sp!, {r4, pc} .align 2, 0 _0203F148: .word _020AFE78 _0203F14C: .word _0209C89C arm_func_end sub_0203F0F0 arm_func_start sub_0203F150 sub_0203F150: ; 0x0203F150 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0xa0 mov r6, r0 mov r5, r1 mov r0, #0xfc mov r1, #8 bl MemAlloc ldr r2, _0203F340 ; =_020AFE78 mvn r1, #1 str r0, [r2] mov ip, #0 strb r1, [r0] mov r0, ip _0203F184: add r1, ip, #1 ldr r3, [r2] mov r1, r1, lsl #0x10 add r3, r3, ip, lsl #2 mov ip, r1, asr #0x10 str r0, [r3, #0x14] cmp ip, #6 blt _0203F184 ldr r3, _0203F344 ; =_0209C8C8 ldr r2, _0203F340 ; =_020AFE78 mov r1, #0x18 ldr ip, [r2] mla r1, r5, r1, r3 strh r0, [ip, #0xe] b _0203F1E0 _0203F1C0: ldr r0, [r2] ldr r3, [r1, lr, lsl #2] add r0, r0, lr, lsl #2 str r3, [r0, #0x14] ldr r3, [r2] ldrsh r0, [r3, #0xe] add r0, r0, #1 strh r0, [r3, #0xe] _0203F1E0: ldr ip, [r2] ldrsh lr, [ip, #0xe] cmp lr, #6 bge _0203F1FC ldr r0, [r1, lr, lsl #2] cmp r0, #0 bne _0203F1C0 _0203F1FC: mov r3, #0 strh r3, [ip, #0xc] ldr r0, _0203F340 ; =_020AFE78 sub r2, r3, #1 ldr r1, [r0] mov ip, #1 strh r2, [r1, #0x10] ldr r1, [r0] strh r3, [r1, #0x12] ldr r2, [r0] mov r1, r6 strb ip, [r2, #0x2c] ldr r3, [r0] mov r2, #0x78 str r5, [r3, #4] ldr r3, [r0] str ip, [r3, #8] ldr r0, [r0] add r0, r0, #0x64 bl memcpy ldr r0, _0203F340 ; =_020AFE78 ldr r1, _0203F348 ; =0x00000975 ldr r3, [r0] mov r0, #0x10 str r0, [sp, #0x14] strh r1, [sp, #0x10] ldrsh r2, [r3, #0xc] add r0, r3, #0xdc mov r1, #0xc str r1, [sp, #0xc] str r0, [sp, #0x50] str r2, [sp, #8] ldrsh r2, [r3, #0xc] ldr r1, _0203F34C ; =_0209C89C add r2, r3, r2, lsl #2 ldr r2, [r2, #0x14] mov r2, r2, lsl #1 ldrh r1, [r1, r2] bl GetStringFromFileVeneer ldr r0, _0203F340 ; =_020AFE78 ldr r2, [r0] ldr r0, [r2, #4] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0203F324 _0203F2B0: ; jump table b _0203F2C0 ; case 0 b _0203F2C0 ; case 1 b _0203F2FC ; case 2 b _0203F2FC ; case 3 _0203F2C0: cmp r0, #1 ldrsh r4, [r2, #0xe] ldreq r1, _0203F350 ; =0x60481C3B ldr r0, _0203F354 ; =_0209C8A8 str r4, [sp] mov r4, #1 ldrne r1, _0203F358 ; =0x60489C3B ldr r3, _0203F35C ; =sub_0203F0F0 add r2, sp, #8 str r4, [sp, #4] bl sub_020305B4 ldr r1, _0203F360 ; =sub_0203F928 mov r4, r0 bl sub_02030AD4 b _0203F324 _0203F2FC: ldrsh r4, [r2, #0xe] ldr r0, _0203F354 ; =_0209C8A8 ldr r1, _0203F364 ; =0x60089C3B str r4, [sp] mov r4, #1 ldr r3, _0203F35C ; =sub_0203F0F0 add r2, sp, #8 str r4, [sp, #4] bl sub_020305B4 mov r4, r0 _0203F324: ldr r0, _0203F340 ; =_020AFE78 ldr r1, [r0] strb r4, [r1] ldr r0, [r0] ldrsb r0, [r0] add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0203F340: .word _020AFE78 _0203F344: .word _0209C8C8 _0203F348: .word 0x00000975 _0203F34C: .word _0209C89C _0203F350: .word 0x60481C3B _0203F354: .word _0209C8A8 _0203F358: .word 0x60489C3B _0203F35C: .word sub_0203F0F0 _0203F360: .word sub_0203F928 _0203F364: .word 0x60089C3B arm_func_end sub_0203F150 arm_func_start sub_0203F368 sub_0203F368: ; 0x0203F368 stmdb sp!, {r3, r4, r5, lr} ldr r2, _0203F394 ; =_020AFE78 mov r5, r0 ldr r0, [r2] mov r4, r1 add r0, r0, #0x64 bl sub_0205B0B8 str r0, [r5] mov r0, #0xc str r0, [r4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203F394: .word _020AFE78 arm_func_end sub_0203F368 arm_func_start sub_0203F398 sub_0203F398: ; 0x0203F398 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 ldr r0, _0203F8D4 ; =_020AFE78 ldr r4, [r0] cmp r4, #0 moveq r0, #1 beq _0203F8CC ldr r0, [r4, #8] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0203F8C8 _0203F3C4: ; jump table b _0203F3D8 ; case 0 b _0203F404 ; case 1 b _0203F8C8 ; case 2 b _0203F83C ; case 3 b _0203F898 ; case 4 _0203F3D8: ldrsb r0, [r4] bl sub_020307EC ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202810C ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #1 ldr r0, [r0] str r1, [r0, #8] b _0203F8C8 _0203F404: ldrsb r0, [r4] mov r1, #0 bl sub_02030AC0 ldr r0, _0203F8D4 ; =_020AFE78 ldr r2, [r0] ldrb r0, [r2, #0x2c] cmp r0, #0 beq _0203F464 ldrsh r0, [r2, #0xc] add r0, r2, r0, lsl #2 ldr r0, [r0, #0x14] cmp r0, #1 ldreqsh r1, [r2, #0x12] ldrsb r0, [r2] movne r1, #0 bl sub_02030A50 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_0203083C ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x2c] _0203F464: add r1, sp, #0xc mov r0, #0 bl sub_02006498 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_02030A18 ldr r1, _0203F8D4 ; =_020AFE78 ldr r2, [r1] strh r0, [r2, #0xc] ldr r3, [r1] ldrsh r2, [r3, #0xc] ldrsh r0, [r3, #0x10] cmp r0, r2 strneh r2, [r3, #0x10] ldrne r0, [r1] movne r1, #1 strneb r1, [r0, #0x2c] bne _0203F8C8 add r0, r3, r2, lsl #2 ldr r0, [r0, #0x14] cmp r0, #1 ldrsb r0, [r3] bne _0203F7EC ldr r1, _0203F8D8 ; =sub_0203F368 bl sub_02030AC0 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_02030A40 ldr r1, _0203F8D4 ; =_020AFE78 mov r4, r0 ldr r0, [r1] ldrsb r0, [r0] bl sub_02028354 cmp r0, #3 beq _0203F508 bl sub_0203F8EC cmp r0, #0 movne r1, #1 bne _0203F50C _0203F508: mov r1, #0 _0203F50C: ldr r0, _0203F8D4 ; =_020AFE78 and r5, r1, #0xff ldr r0, [r0] ldrsb r0, [r0] bl sub_020308C4 cmp r0, #0 bne _0203F588 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_02030908 cmp r0, #0 blt _0203F558 bl sub_0203F8EC cmp r0, #0 beq _0203F558 bl sub_02001808 cmp r0, #0xa000 bge _0203F560 _0203F558: mov r0, #1 b _0203F8CC _0203F560: ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202812C ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #3 ldr r0, [r0] mov r5, #0 str r1, [r0, #8] b _0203F748 _0203F588: ldrh r0, [sp, #0xc] tst r0, #8 cmpne r5, #0 beq _0203F5FC bl sub_0203F8EC cmp r0, #0 beq _0203F748 ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #0 ldr r0, [r0] ldrsb r0, [r0] bl sub_02030F28 bl sub_02001808 cmp r0, #0xa000 blt _0203F748 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_02030EF0 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202812C ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #3 ldr r0, [r0] mov r5, #0 str r1, [r0, #8] b _0203F748 _0203F5FC: tst r0, #0x40 bne _0203F60C tst r4, #0x40000 beq _0203F698 _0203F60C: cmp r5, #0 beq _0203F698 ldr r0, _0203F8D4 ; =_020AFE78 ldr r2, [r0] ldrsh r1, [r2, #0x12] cmp r1, #0 bne _0203F660 ldrsh r1, [r2, #0xba] cmp r1, #0 beq _0203F748 sub r1, r1, #1 strh r1, [r2, #0xba] ldr r0, [r0] mov r1, #1 strb r1, [r0, #0x2c] ldrh r0, [sp, #0xc] tst r0, #0x40 beq _0203F748 mov r0, #3 bl sub_02017CCC b _0203F748 _0203F660: ldrsb r0, [r2] bl sub_02030A64 cmp r0, #0 bne _0203F680 tst r4, #0x40000 bne _0203F680 mov r0, #3 bl sub_02017CCC _0203F680: ldr r0, _0203F8D4 ; =_020AFE78 ldr r1, [r0] ldrsh r0, [r1, #0x12] sub r0, r0, #1 strh r0, [r1, #0x12] b _0203F748 _0203F698: tst r0, #0x80 bne _0203F6A8 tst r4, #0x80000 beq _0203F748 _0203F6A8: cmp r5, #0 beq _0203F748 ldr r0, _0203F8D4 ; =_020AFE78 ldr r3, [r0] ldrsh r1, [r3, #0x12] cmp r1, #8 bne _0203F708 ldrsh r2, [r3, #0xba] add r1, r2, #9 add r1, r3, r1 ldrb r1, [r1, #0xbc] cmp r1, #0 beq _0203F748 add r1, r2, #1 strh r1, [r3, #0xba] ldr r0, [r0] mov r1, #1 strb r1, [r0, #0x2c] ldrh r0, [sp, #0xc] tst r0, #0x80 beq _0203F748 mov r0, #3 bl sub_02017CCC b _0203F748 _0203F708: ldrsb r0, [r3] bl sub_02030A64 cmp r0, #8 bne _0203F728 tst r4, #0x80000 bne _0203F728 mov r0, #3 bl sub_02017CCC _0203F728: ldr r0, _0203F8D4 ; =_020AFE78 ldr r2, [r0] ldrsh r0, [r2, #0x12] add r1, r0, #1 add r0, r2, r1 ldrb r0, [r0, #0xbc] cmp r0, #0 strneh r1, [r2, #0x12] _0203F748: ldr r0, _0203F8D4 ; =_020AFE78 ldr r1, [r0] ldrsh r0, [r1, #0xba] add r0, r0, #9 add r0, r1, r0 ldrb r0, [r0, #0xbc] cmp r0, #0 ldrsb r0, [r1] mov r1, #0x40000000 beq _0203F778 bl sub_02030A90 b _0203F77C _0203F778: bl sub_02030A74 _0203F77C: ldr r0, _0203F8D4 ; =_020AFE78 ldr r1, [r0] ldrsh r0, [r1, #0xba] cmp r0, #0 ldrsb r0, [r1] mov r1, #0x20000000 bne _0203F7A0 bl sub_02030A74 b _0203F7A4 _0203F7A0: bl sub_02030A90 _0203F7A4: cmp r5, #0 beq _0203F7D8 ldr r0, _0203F8D4 ; =_020AFE78 mov r3, #0xc ldr r0, [r0] mov r1, #1 ldrsh r4, [r0, #0x12] ldrsb r0, [r0] mov r2, #3 smulbb r3, r4, r3 add r3, r3, #0x11 bl sub_02030978 b _0203F8C8 _0203F7D8: ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_020288DC b _0203F8C8 _0203F7EC: mov r1, #0x20000000 bl sub_02030A74 ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #0x40000000 ldr r0, [r0] ldrsb r0, [r0] bl sub_02030A74 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_020308C4 cmp r0, #0 beq _0203F834 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0] bl sub_020288DC b _0203F8C8 _0203F834: mov r0, #1 b _0203F8CC _0203F83C: ldrsh r2, [r4, #0xba] ldrsh r0, [r4, #0x12] ldr r3, _0203F8DC ; =_0209E912 ldr r1, _0203F8E0 ; =STATUSES_FULL_DESCRIPTION_STRING_IDS add r0, r2, r0 add r0, r4, r0 ldrb r4, [r0, #0xbc] mov r2, #0 ldr r0, _0203F8E4 ; =_0209C8B8 mov r5, r4, lsl #2 ldrh r4, [r3, r5] ldrh r3, [r1, r5] ldr r1, _0203F8E8 ; =0x00001013 stmia sp, {r2, r4} str r2, [sp, #8] bl sub_0202E3CC ldr r1, _0203F8D4 ; =_020AFE78 mov r2, #4 ldr r3, [r1] strb r0, [r3, #1] ldr r0, [r1] str r2, [r0, #8] b _0203F8C8 _0203F898: ldrsb r0, [r4, #1] bl sub_0202E6E4 cmp r0, #0 bne _0203F8C8 ldr r0, _0203F8D4 ; =_020AFE78 ldr r0, [r0] ldrsb r0, [r0, #1] bl sub_0202E6C8 ldr r0, _0203F8D4 ; =_020AFE78 mov r1, #0 ldr r0, [r0] str r1, [r0, #8] _0203F8C8: mov r0, #0 _0203F8CC: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203F8D4: .word _020AFE78 _0203F8D8: .word sub_0203F368 _0203F8DC: .word _0209E912 _0203F8E0: .word STATUSES_FULL_DESCRIPTION_STRING_IDS _0203F8E4: .word _0209C8B8 _0203F8E8: .word 0x00001013 arm_func_end sub_0203F398 arm_func_start sub_0203F8EC sub_0203F8EC: ; 0x0203F8EC ldr r0, _0203F924 ; =_020AFE78 mov r1, #0 ldr r2, [r0] b _0203F914 _0203F8FC: add r0, r2, r1 ldrb r0, [r0, #0xbc] cmp r0, #0 movne r0, #1 bxne lr add r1, r1, #1 _0203F914: cmp r1, #0x1e blt _0203F8FC mov r0, #0 bx lr .align 2, 0 _0203F924: .word _020AFE78 arm_func_end sub_0203F8EC arm_func_start sub_0203F928 sub_0203F928: ; 0x0203F928 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ldmeqia sp!, {r4, pc} bl sub_02030908 ldr r2, _0203F970 ; =_020AFE78 mov r3, #0xc ldr ip, [r2] mov r1, #1 strh r0, [ip, #0x12] ldr r2, [r2] mov r0, r4 ldrsh ip, [r2, #0x12] mov r2, #3 smulbb r3, ip, r3 add r3, r3, #0x11 bl sub_02030978 ldmia sp!, {r4, pc} .align 2, 0 _0203F970: .word _020AFE78 arm_func_end sub_0203F928 arm_func_start sub_0203F974 sub_0203F974: ; 0x0203F974 ldr r0, _0203F988 ; =_020AFE78 ldr ip, _0203F98C ; =sub_0203088C ldr r0, [r0] ldrsb r0, [r0] bx ip .align 2, 0 _0203F988: .word _020AFE78 _0203F98C: .word sub_0203088C arm_func_end sub_0203F974 arm_func_start sub_0203F990 sub_0203F990: ; 0x0203F990 stmdb sp!, {r3, lr} ldr r0, _0203F9C8 ; =_020AFE78 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl sub_020308A0 ldr r0, _0203F9C8 ; =_020AFE78 ldr r0, [r0] bl MemFree ldr r0, _0203F9C8 ; =_020AFE78 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0203F9C8: .word _020AFE78 arm_func_end sub_0203F990 arm_func_start sub_0203F9CC sub_0203F9CC: ; 0x0203F9CC stmdb sp!, {r3, r4, r5, lr} ldr r1, _0203FA50 ; =_022AADFC mov r2, #0 mov r5, r0 str r2, [r1] ldr r4, [r5, #0xb4] ldr r0, _0203FA54 ; =_022AAE00 mov r1, r4 bl GetMonsterName ldr r0, _0203FA58 ; =_022AAE2A add r1, r4, #0x124 mov r2, #0x22 bl memcpy ldrb r2, [r4, #7] ldr r1, _0203FA50 ; =_022AADFC mov r0, #0 strb r2, [r1, #0x2c] str r5, [r1] strb r0, [r1, #0x58] ldrsh r2, [r4, #4] ldr r0, _0203FA5C ; =0x000001A2 ldr r3, _0203FA60 ; =_022AAE58 cmp r2, r0 moveq r0, #1 streqb r0, [r1, #0x58] ldrsh r1, [r4, #2] ldr r0, _0203FA50 ; =_022AADFC strh r1, [r0, #0x5a] add r0, r4, #0x9c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203FA50: .word _022AADFC _0203FA54: .word _022AAE00 _0203FA58: .word _022AAE2A _0203FA5C: .word 0x000001A2 _0203FA60: .word _022AAE58 arm_func_end sub_0203F9CC arm_func_start sub_0203FA64 sub_0203FA64: ; 0x0203FA64 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 ldr r1, _0203FBBC ; =TEAM_MEMBER_TABLE_PTR mov sl, r0 mov r0, #0x44 smulbb r2, sl, r0 ldr r1, [r1] mov r4, #0x46 ldrb r0, [r1, r2] add r8, r1, r2 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff moveq r0, #0 beq _0203FBB4 ldr r1, _0203FBC0 ; =_022AADFC mov r2, #0 mov r0, sl str r2, [r1] bl sub_02056410 cmp r0, #0 mov r0, sl beq _0203FAD4 bl sub_020564B0 cmp r0, #0 movne r4, #0x59 b _0203FAE4 _0203FAD4: bl sub_02056F60 cmp r0, #0 movne r4, #0x44 moveq r4, #0x57 _0203FAE4: add r0, sp, #0 add r1, r8, #0x3a mov r2, #0xa bl StrncpySimpleNoPadSafe ldr r0, _0203FBC4 ; =_022AAE00 ldr r1, _0203FBC8 ; =_0209C96C add r3, sp, #0 and r2, r4, #0xff bl SprintfStatic__0204174C ldrsh r1, [r8, #4] ldr r0, _0203FBC0 ; =_022AADFC ldr r3, _0203FBCC ; =_022AAE58 strh r1, [r0, #0x5a] add r4, r8, #0x14 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrsh r0, [r8, #4] mov r1, r4 bl GetPpIncrease mov r6, #0 ldr r5, _0203FBD0 ; =_022AAE2A ldr r4, _0203FBC0 ; =_022AADFC mov r7, r0 mov fp, r6 _0203FB44: mov r0, #6 mla sb, r6, r0, r8 ldrh r1, [sb, #0x24] add r0, r5, r6, lsl #3 bl InitMove ldrb r1, [sb, #0x22] add r2, r4, r6, lsl #3 add r0, r5, r6, lsl #3 strb r1, [r2, #0x2e] strh r7, [r2, #0x30] strb fp, [r2, #0x34] ldrb r1, [sb, #0x26] strb r1, [r2, #0x35] bl GetMaxPp add r1, r6, #1 add r2, r4, r6, lsl #3 mov r1, r1, lsl #0x10 mov r6, r1, lsr #0x10 strb r0, [r2, #0x34] cmp r6, #4 blo _0203FB44 mov r0, sl bl sub_020564B0 ldr r1, _0203FBC0 ; =_022AADFC strb r0, [r1, #0x2c] ldrsh r0, [r8, #4] bl sub_02041724 mov r0, #1 _0203FBB4: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0203FBBC: .word TEAM_MEMBER_TABLE_PTR _0203FBC0: .word _022AADFC _0203FBC4: .word _022AAE00 _0203FBC8: .word _0209C96C _0203FBCC: .word _022AAE58 _0203FBD0: .word _022AAE2A arm_func_end sub_0203FA64 arm_func_start sub_0203FBD4 sub_0203FBD4: ; 0x0203FBD4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x14 ldr r1, _0203FCFC ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x68 ldr r1, [r1] ldr r3, _0203FD00 ; =_022AADFC add r1, r1, #0x9000 ldr r1, [r1, #0x84c] mov r4, #0 smlabb r8, r0, r2, r1 str r4, [r3] ldrsh r0, [r8, #8] sub r1, r4, #1 cmp r0, r1 streqb r4, [r3, #0x2c] beq _0203FC20 bl sub_020564B0 ldr r1, _0203FD00 ; =_022AADFC strb r0, [r1, #0x2c] _0203FC20: ldr r0, _0203FD00 ; =_022AADFC add r1, r8, #0x5e ldrb r0, [r0, #0x2c] mov r2, #0xa cmp r0, #0 movne r4, #0x59 add r0, sp, #0 moveq r4, #0x46 bl StrncpySimpleNoPadSafe ldr r0, _0203FD04 ; =_022AAE00 ldr r1, _0203FD08 ; =_0209C96C add r3, sp, #0 and r2, r4, #0xff bl SprintfStatic__0204174C ldrsh r0, [r8, #0xc] add r1, r8, #0x4c bl GetPpIncrease ldr r5, _0203FD0C ; =_022AAE2A ldr r4, _0203FD00 ; =_022AADFC mov r7, r0 mov r6, #0 _0203FC74: add r0, r8, r6, lsl #3 ldrh r1, [r0, #0x20] add r0, r5, r6, lsl #3 bl InitMove add r3, r8, r6, lsl #3 ldrb r1, [r3, #0x1c] add r2, r4, r6, lsl #3 add r0, r5, r6, lsl #3 strb r1, [r2, #0x2e] strh r7, [r2, #0x30] ldrb r1, [r3, #0x22] strb r1, [r2, #0x34] ldrb r1, [r3, #0x23] strb r1, [r2, #0x35] bl GetMaxPp add r1, r6, #1 add r2, r4, r6, lsl #3 mov r1, r1, lsl #0x10 mov r6, r1, lsr #0x10 strb r0, [r2, #0x34] cmp r6, #4 blo _0203FC74 ldrsh r0, [r8, #0xc] bl sub_02041724 ldrsh r1, [r8, #0xc] ldr r0, _0203FD00 ; =_022AADFC ldr r3, _0203FD10 ; =_022AAE58 strh r1, [r0, #0x5a] add r0, r8, #0x4c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0203FCFC: .word TEAM_MEMBER_TABLE_PTR _0203FD00: .word _022AADFC _0203FD04: .word _022AAE00 _0203FD08: .word _0209C96C _0203FD0C: .word _022AAE2A _0203FD10: .word _022AAE58 arm_func_end sub_0203FBD4 arm_func_start sub_0203FD14 sub_0203FD14: ; 0x0203FD14 ldr ip, _0203FD24 ; =InitMove mov r1, r0 ldr r0, _0203FD28 ; =_022AAE4C bx ip .align 2, 0 _0203FD24: .word InitMove _0203FD28: .word _022AAE4C arm_func_end sub_0203FD14 arm_func_start sub_0203FD2C sub_0203FD2C: ; 0x0203FD2C ldr r0, _0203FD34 ; =_022AAE4C bx lr .align 2, 0 _0203FD34: .word _022AAE4C arm_func_end sub_0203FD2C arm_func_start sub_0203FD38 sub_0203FD38: ; 0x0203FD38 ldr r0, _0203FD40 ; =_022AAE2A bx lr .align 2, 0 _0203FD40: .word _022AAE2A arm_func_end sub_0203FD38 arm_func_start sub_0203FD44 sub_0203FD44: ; 0x0203FD44 stmdb sp!, {r4, lr} ldr r4, [r0, #0xb4] ldr r1, _0203FD74 ; =_022AAE2A add r0, r4, #0x124 mov r2, #0x22 bl memcpy ldr r1, _0203FD78 ; =_022AADFC ldr r0, _0203FD7C ; =_020AFE7C ldrb r1, [r1, #0x2c] strb r1, [r4, #7] ldrsh r0, [r0, #2] ldmia sp!, {r4, pc} .align 2, 0 _0203FD74: .word _022AAE2A _0203FD78: .word _022AADFC _0203FD7C: .word _020AFE7C arm_func_end sub_0203FD44 arm_func_start sub_0203FD80 sub_0203FD80: ; 0x0203FD80 stmdb sp!, {r3, r4, r5, lr} ldr r2, _0203FDE0 ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x44 ldr r2, [r2] ldr ip, _0203FDE4 ; =_022AADFC mla r5, r0, r1, r2 mov r4, #0 mov r0, #6 _0203FDA0: mla lr, r4, r0, r5 add r3, ip, r4, lsl #3 ldrb r2, [r3, #0x2e] add r1, r4, #1 mov r1, r1, lsl #0x10 strb r2, [lr, #0x22] ldrh r2, [r3, #0x32] mov r4, r1, lsr #0x10 cmp r4, #4 strh r2, [lr, #0x24] ldrb r1, [r3, #0x35] strb r1, [lr, #0x26] blo _0203FDA0 ldr r0, _0203FDE8 ; =_020AFE7C ldrsh r0, [r0, #2] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0203FDE0: .word TEAM_MEMBER_TABLE_PTR _0203FDE4: .word _022AADFC _0203FDE8: .word _020AFE7C arm_func_end sub_0203FD80 arm_func_start sub_0203FDEC sub_0203FDEC: ; 0x0203FDEC stmdb sp!, {r4, lr} mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl GetActiveTeamMember ldr lr, _0203FE54 ; =_022AADFC mov r4, #0 _0203FE04: add ip, lr, r4, lsl #3 ldrb r2, [ip, #0x2e] add r3, r0, r4, lsl #3 add r1, r4, #1 strb r2, [r3, #0x1c] ldrh r2, [ip, #0x30] mov r1, r1, lsl #0x10 mov r4, r1, lsr #0x10 strh r2, [r3, #0x1e] ldrh r1, [ip, #0x32] cmp r4, #4 strh r1, [r3, #0x20] ldrb r1, [ip, #0x34] strb r1, [r3, #0x22] ldrb r1, [ip, #0x35] strb r1, [r3, #0x23] blo _0203FE04 ldr r0, _0203FE58 ; =_020AFE7C ldrsh r0, [r0, #2] ldmia sp!, {r4, pc} .align 2, 0 _0203FE54: .word _022AADFC _0203FE58: .word _020AFE7C arm_func_end sub_0203FDEC arm_func_start sub_0203FE5C sub_0203FE5C: ; 0x0203FE5C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r7, r0 mov r6, r1 mov r0, #0x3fc mov r1, #8 mov r5, r2 mov r4, r3 bl MemAlloc ldr r1, _02040154 ; =_020AFE7C mvn r2, #1 str r0, [r1, #8] strb r2, [r0] ldr r0, [r1, #0xc] ldr r2, _02040154 ; =_020AFE7C cmp r0, r7 strne r7, [r1, #0xc] movne r0, #0 strneh r0, [r1, #2] ldr r0, _02040154 ; =_020AFE7C ldr r3, _02040158 ; =0x00000A3E ldrsh r1, [r0, #4] mov r7, #0x17 cmp r1, r6 strneh r6, [r0, #4] movne r1, #0 strneh r1, [r0, #2] ldr r0, [r2, #8] mov r1, #0x10 str r1, [r0, #0x10] ldr r0, [r2, #8] str r1, [r0, #8] ldr r0, [r2, #8] mov r1, #0 strh r3, [r0, #0xc] ldr r0, [r2, #8] ldr r3, _0204015C ; =_022AAE00 str r7, [r0, #0x98] ldr r0, [r2, #8] str r1, [r0, #0x64] ldr r0, [r2, #8] str r3, [r0, #0x4c] ldr r0, [r2, #8] strb r1, [r0, #0x3f8] ldr r0, [r2, #8] str r4, [r0, #0x3f4] ldr r0, [r2, #0xc] cmp r0, #7 addls pc, pc, r0, lsl #2 b _0203FF44 _0203FF24: ; jump table b _02040084 ; case 0 b _0203FF44 ; case 1 b _0203FFAC ; case 2 b _0204003C ; case 3 b _0203FF44 ; case 4 b _0203FF44 ; case 5 b _0203FFF4 ; case 6 b _0203FF7C ; case 7 _0203FF44: mov r1, #0 str r1, [sp] ldr r0, _02040154 ; =_020AFE7C str r1, [sp, #4] ldr r2, [r0, #8] ldr r0, _02040160 ; =_0209C93C ldr r1, _02040164 ; =0x00401803 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] b _020400FC _0203FF7C: str r1, [sp] str r1, [sp, #4] ldr r2, [r2, #8] ldr r0, _0204016C ; =_0209C94C ldr r1, _02040170 ; =0x00400800 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] b _020400FC _0203FFAC: ldr r0, [r2, #8] mov r3, #1 strb r3, [r0, #0x3f8] ldr r4, [r2, #8] ldr r0, _02040174 ; =_0209C92C add r3, r4, #0x3e0 str r3, [r4, #0x64] str r1, [sp] str r1, [sp, #4] ldr r2, [r2, #8] ldr r1, _02040164 ; =0x00401803 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] b _020400FC _0203FFF4: ldr r0, [r2, #8] mov r3, #1 strb r3, [r0, #0x3f8] ldr r4, [r2, #8] ldr r0, _02040174 ; =_0209C92C add r3, r4, #0x3e0 str r3, [r4, #0x64] str r1, [sp] str r1, [sp, #4] ldr r2, [r2, #8] ldr r1, _02040178 ; =0x00401A03 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] b _020400FC _0204003C: ldr r0, [r2, #8] mov r3, #1 strb r3, [r0, #0x3f8] ldr r4, [r2, #8] ldr r0, _0204017C ; =_0209C95C add r3, r4, #0x3e0 str r3, [r4, #0x64] str r1, [sp] str r1, [sp, #4] ldr r2, [r2, #8] ldr r1, _02040180 ; =0x00400A00 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] b _020400FC _02040084: cmp r6, #1 ble _020400C8 ldr r1, [r2, #8] mov r0, #1 str r5, [r1, #4] str r6, [sp] str r0, [sp, #4] ldr r2, [r2, #8] ldr r0, _02040160 ; =_0209C93C ldr r1, _02040184 ; =0x00409823 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] b _020400FC _020400C8: ldr r3, [r2, #8] ldr r0, _02040160 ; =_0209C93C str r1, [r3, #4] str r1, [sp] str r1, [sp, #4] ldr r2, [r2, #8] ldr r1, _02040188 ; =0x00401823 ldr r3, _02040168 ; =sub_020401A8 add r2, r2, #4 bl sub_020305B4 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] strb r0, [r1] _020400FC: ldr r0, _02040154 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030A18 ldr r1, _02040154 ; =_020AFE7C ldr r1, [r1, #8] add r1, r1, #0x300 strh r0, [r1, #0xe8] mov r0, #1 bl sub_0204027C bl PrintMoveOptionMenu ldr r1, _02040154 ; =_020AFE7C mov r2, #0 ldr r0, [r1, #8] strb r2, [r0, #0x3e5] ldr r0, [r1, #8] add r0, r0, #0x300 strh r2, [r0, #0xe6] ldr r0, [r1, #8] ldrsb r0, [r0] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02040154: .word _020AFE7C _02040158: .word 0x00000A3E _0204015C: .word _022AAE00 _02040160: .word _0209C93C _02040164: .word 0x00401803 _02040168: .word sub_020401A8 _0204016C: .word _0209C94C _02040170: .word 0x00400800 _02040174: .word _0209C92C _02040178: .word 0x00401A03 _0204017C: .word _0209C95C _02040180: .word 0x00400A00 _02040184: .word 0x00409823 _02040188: .word 0x00401823 arm_func_end sub_0203FE5C arm_func_start sub_0204018C sub_0204018C: ; 0x0204018C ldr ip, _02040198 ; =sub_0203FE5C mov r3, #0 bx ip .align 2, 0 _02040198: .word sub_0203FE5C arm_func_end sub_0204018C arm_func_start sub_0204019C sub_0204019C: ; 0x0204019C ldr ip, _020401A4 ; =sub_0203FE5C bx ip .align 2, 0 _020401A4: .word sub_0203FE5C arm_func_end sub_0204019C arm_func_start sub_020401A8 sub_020401A8: ; 0x020401A8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 bl sub_02027B1C ldr r4, _02040274 ; =_020AFE7C mov sb, #0 ldr r0, [r4, #8] ldr r7, _02040278 ; =_022AADFC ldr r0, [r0, #0x10] mov fp, #8 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 mov r6, #0xd mov r5, #0x17 b _02040250 _020401E0: add r0, r7, sb, lsl #3 ldrb r0, [r0, #0x2e] tst r0, #2 add r0, r2, sb, lsl #3 movne r1, r6 ldr r3, [r0, #0xa8] moveq r1, fp mov r0, sl add r2, r8, #2 bl sub_02026214 cmp sb, #0 ble _02040238 add r0, r7, sb, lsl #3 ldrb r0, [r0, #0x2e] tst r0, #2 bne _02040238 mov r0, sl mov r1, #0x10 mov r2, r8 mov r3, #0x7e str r5, [sp] bl sub_02025D50 _02040238: add r0, r8, #0x10 add r1, sb, #1 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 mov r8, r0, asr #0x10 mov sb, r1, asr #0x10 _02040250: ldr r2, [r4, #8] ldrsh r0, [r2, #0xa4] cmp sb, r0 blt _020401E0 mov r0, #1 bl sub_0204027C mov r0, sl bl sub_02027AF0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02040274: .word _020AFE7C _02040278: .word _022AADFC arm_func_end sub_020401A8 arm_func_start sub_0204027C sub_0204027C: ; 0x0204027C cmp r0, #0 ldrne r0, _020402BC ; =_020AFE7C movne r3, #2 ldrne r2, [r0, #8] ldreq r0, _020402BC ; =_020AFE7C moveq r3, #1 ldreq r2, [r0, #8] movne r1, #1 str r3, [r2, #0x3ec] ldr r0, [r0, #8] moveq r1, #2 str r1, [r0, #0x3f0] ldr r0, _020402BC ; =_020AFE7C ldr r0, [r0, #0xc] cmp r0, #7 bx lr .align 2, 0 _020402BC: .word _020AFE7C arm_func_end sub_0204027C arm_func_start PrintMoveOptionMenu PrintMoveOptionMenu: ; 0x020402C0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x5c ldr r0, _020407AC ; =_020AFE7C ldr r2, _020407B0 ; =_022AAE00 ldr r1, [r0, #8] str r2, [r1, #0x4c] ldr r1, [r0, #0xc] cmp r1, #2 cmpne r1, #3 cmpne r1, #6 beq _020402FC ldrsh r1, [r0, #2] cmp r1, #4 movge r1, #0 strgeh r1, [r0, #2] _020402FC: ldr r0, _020407AC ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_020410A4 ldr r1, _020407AC ; =_020AFE7C mov r0, #0 ldr r1, [r1, #8] strh r0, [r1, #0xa4] _02040318: ldr r1, _020407AC ; =_020AFE7C ldr r2, _020407B4 ; =_022AAE2A ldr r1, [r1, #8] mov r3, #0 add r1, r1, r0 strb r3, [r1, #0x3e0] ldrb r1, [r2, r0, lsl #3] add r4, r2, r0, lsl #3 tst r1, #1 movne r3, #1 tst r3, #0xff beq _020403B4 ldr r1, _020407AC ; =_020AFE7C ldr r3, [r1, #8] ldrsh r2, [r3, #0xa4] add r2, r2, #1 strh r2, [r3, #0xa4] ldr r5, [r1, #8] ldrb r1, [r5, #0x3f8] cmp r1, #0 ldrne r2, [r5, #0x3f4] cmpne r2, #0 beq _020403C8 ldrh r1, [r4, #4] b _02040388 _0204037C: cmp r3, r1 beq _02040394 add r2, r2, #2 _02040388: ldrh r3, [r2] cmp r3, #0 bne _0204037C _02040394: cmp r3, #0 movne r1, #1 moveq r1, #0 tst r1, #0xff addne r1, r5, r0 movne r2, #3 strneb r2, [r1, #0x3e0] b _020403C8 _020403B4: ldr r1, _020407AC ; =_020AFE7C ldrsh r2, [r1, #2] cmp r0, r2 moveq r2, #0 streqh r2, [r1, #2] _020403C8: add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #4 blt _02040318 ldr r1, _020407AC ; =_020AFE7C mov r0, #0 ldr r2, [r1, #8] strb r0, [r2, #0x3e4] ldr r2, [r1, #8] ldrb r1, [r2, #0x3f8] cmp r1, #0 ldrne r1, [r2, #0x3f4] cmpne r1, #0 beq _020404B4 _02040404: ldr r1, _020407AC ; =_020AFE7C ldr r3, _020407B4 ; =_022AAE2A ldr r2, [r1, #8] add r2, r2, r0 ldrb r2, [r2, #0x3e0] tst r2, #1 beq _020404A0 ldrb r2, [r3, r0, lsl #3] tst r2, #2 beq _02040464 sub r6, r0, #1 mov r5, #3 ldr r3, _020407B8 ; =_022AADFC b _0204045C _0204043C: ldr r4, [r1, #8] add r2, r3, r6, lsl #3 add r4, r4, r6 strb r5, [r4, #0x3e0] ldrb r2, [r2, #0x2e] tst r2, #2 beq _02040464 sub r6, r6, #1 _0204045C: cmp r6, #0 bge _0204043C _02040464: add r5, r0, #1 ldr r4, _020407B8 ; =_022AADFC mov r3, #3 ldr r1, _020407AC ; =_020AFE7C b _02040498 _02040478: add r2, r4, r5, lsl #3 ldrb r2, [r2, #0x2e] tst r2, #2 beq _020404A0 ldr r2, [r1, #8] add r2, r2, r5 strb r3, [r2, #0x3e0] add r5, r5, #1 _02040498: cmp r5, #4 blt _02040478 _020404A0: add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #4 blt _02040404 _020404B4: ldr r0, _020407AC ; =_020AFE7C mov r8, #0 ldr r0, [r0, #0xc] ldr fp, _020407B4 ; =_022AAE2A cmp r0, #2 cmpne r0, #3 cmpne r0, #6 ldreq r0, _020407AC ; =_020AFE7C ldr r5, _020407B8 ; =_022AADFC ldreq r1, [r0, #8] ldr r4, _020407AC ; =_020AFE7C ldreqsh r0, [r1, #0xa4] mov sb, r8 mov r7, r8 addeq r0, r0, #1 streqh r0, [r1, #0xa4] mov r6, #0x6a _020404F8: ldrb r0, [fp, sb, lsl #3] str r7, [sp] str r6, [sp, #4] tst r0, #1 movne r0, #1 moveq r0, r7 strb r7, [sp, #8] strb r7, [sp, #9] add sl, fp, sb, lsl #3 tst r0, #0xff beq _02040634 ldrb r0, [r5, #0x2c] cmp r0, #0 movne r0, #2 strne r0, [sp] moveq r0, #4 streq r0, [sp] ldr r0, [r4, #0xc] cmp r0, #1 cmpne r0, #5 bne _02040574 ldrh r0, [sl, #4] bl Is2TurnsMove cmp r0, #0 movne r0, #1 strneb r0, [sp, #9] bne _02040574 ldrh r0, [sl, #4] cmp r0, #0x8a moveq r0, #1 streqb r0, [sp, #8] _02040574: ldr r0, [r4, #0xc] cmp r0, #0 cmpne r0, #1 bne _020405A4 ldr r0, [r5] mov r1, sl mov r2, #1 bl CanMonsterUseMove cmp r0, #0 moveq r0, #1 streqb r0, [sp, #8] b _020405B4 _020405A4: ldrb r0, [sl, #6] cmp r0, #0 moveq r0, #1 streqb r0, [sp, #8] _020405B4: ldr r1, [r4, #8] ldrb r0, [r1, #0x3f8] cmp r0, #0 beq _020405D8 add r0, r1, sb ldrb r0, [r0, #0x3e0] tst r0, #2 movne r0, #1 strneb r0, [sp, #8] _020405D8: mov r2, sl add r0, sp, #0xc mov r1, #0 add r3, sp, #0 bl FormatMoveStringMore mov r0, #0 bl GetDungeonResultString mov r1, r0 ldr r0, [r4, #8] add r0, r0, #0xe0 add r0, r0, r8, lsl #7 bl strcpy ldr r3, [r4, #8] add r0, r8, #1 add r1, r3, #0xe0 add r2, r1, r8, lsl #7 add r1, r3, r8, lsl #3 str r2, [r1, #0xa8] ldr r1, [r4, #8] mov r0, r0, lsl #0x10 add r1, r1, r8, lsl #3 str r8, [r1, #0xac] mov r8, r0, asr #0x10 _02040634: add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, asr #0x10 cmp sb, #4 blt _020404F8 cmp r8, #4 bne _02040710 ldr r0, _020407AC ; =_020AFE7C ldr r0, [r0, #0xc] cmp r0, #2 cmpne r0, #3 cmpne r0, #6 bne _02040710 ldr r0, _020407B8 ; =_022AADFC mov r2, #0 ldrb r0, [r0, #0x2c] str r2, [sp] strb r2, [sp, #8] strb r2, [sp, #9] ldr r2, _020407BC ; =_022AAE4C cmp r0, #0 ldrb r0, [r2] mov r1, #0x6a str r1, [sp, #4] movne r1, #2 bicne r0, r0, #8 strne r1, [sp] moveq r1, #4 biceq r0, r0, #4 streq r1, [sp] strb r0, [r2] add r0, sp, #0xc add r3, sp, #0 mov r1, #0 bl FormatMoveStringMore mov r0, #0 bl GetDungeonResultString ldr r2, _020407AC ; =_020AFE7C mov r1, r0 ldr r0, [r2, #8] add r0, r0, #0xe0 add r0, r0, r8, lsl #7 bl strcpy ldr r1, _020407AC ; =_020AFE7C add r0, r8, #1 ldr r4, [r1, #8] mov r0, r0, lsl #0x10 add r2, r4, #0xe0 add r3, r2, r8, lsl #7 add r2, r4, r8, lsl #3 str r3, [r2, #0xa8] ldr r1, [r1, #8] add r1, r1, r8, lsl #3 str r8, [r1, #0xac] mov r8, r0, asr #0x10 _02040710: ldr r0, _020407AC ; =_020AFE7C mov r4, #0 ldr r1, [r0, #8] sub r3, r4, #1 add r1, r1, r8, lsl #3 str r4, [r1, #0xa8] ldr r2, [r0, #8] sub r1, r4, #2 add r2, r2, r8, lsl #3 str r3, [r2, #0xac] ldr r0, [r0, #8] ldrsb r0, [r0] cmp r0, r1 beq _0204075C bl sub_020307EC ldr r0, _020407AC ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_0203083C _0204075C: ldr r0, _020407AC ; =_020AFE7C ldr r1, [r0, #0xc] cmp r1, #7 ldrne r3, [r0, #8] ldrne r2, [r3, #0x3ec] ldrne r1, [r3, #0x3f0] cmpne r2, r1 beq _020407A4 str r1, [r3, #0x3ec] ldr r3, [r0, #8] ldrsh r1, [r0, #2] ldr r2, [r3, #0x10] ldrsb r0, [r3] add r2, r2, r1, lsl #4 ldr r1, [r3, #0x3ec] add r3, r2, #4 mov r2, #0 bl sub_02030978 _020407A4: add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020407AC: .word _020AFE7C _020407B0: .word _022AAE00 _020407B4: .word _022AAE2A _020407B8: .word _022AADFC _020407BC: .word _022AAE4C arm_func_end PrintMoveOptionMenu arm_func_start sub_020407C0 sub_020407C0: ; 0x020407C0 stmdb sp!, {r3, lr} ldr r0, _020407E8 ; =_020AFE7C ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _020407E8 ; =_020AFE7C mov r1, #0 str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _020407E8: .word _020AFE7C arm_func_end sub_020407C0 arm_func_start sub_020407EC sub_020407EC: ; 0x020407EC stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x34 add r1, sp, #0xc mov r0, #0 bl GetHeldButtons add r1, sp, #0xa mov r0, #0 bl GetPressedButtons add r1, sp, #8 mov r0, #0 bl sub_020063F4 ldrh r0, [sp, #0xc] ldr r5, _02040F90 ; =_022AAE2A tst r0, #0x200 movne r1, #1 moveq r1, #0 and r6, r1, #0xff ldr r1, _02040F94 ; =_020AFE7C tst r0, #0x100 movne r0, #1 moveq r0, #0 ldr r3, [r1, #8] and r7, r0, #0xff add r0, r3, #0x300 ldrsh r2, [r0, #0xe6] cmp r2, #0 ble _0204087C sub r2, r2, #1 strh r2, [r0, #0xe6] ldr r0, [r1, #8] add r0, r0, #0x300 ldrsh r0, [r0, #0xe6] cmp r0, #0 moveq r0, #2 movne r0, #0 b _02040F88 _0204087C: ldrsb r0, [r3] bl sub_020308C4 cmp r0, #0 bne _020408B8 ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030940 mvn r1, #0 cmp r0, r1 bne _020408B8 mov r0, #1 bl sub_02017CCC mov r0, #1 b _02040F88 _020408B8: ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #0xc] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02040958 _020408CC: ; jump table b _02040958 ; case 0 b _0204094C ; case 1 b _0204090C ; case 2 b _020408F4 ; case 3 b _02040958 ; case 4 b _02040958 ; case 5 b _0204090C ; case 6 b _0204093C ; case 7 b _02040924 ; case 8 b _0204090C ; case 9 _020408F4: ldrh r0, [sp, #0xa] mov r6, #0 mov r7, r6 bic r0, r0, #6 strh r0, [sp, #0xa] b _02040958 _0204090C: ldrh r0, [sp, #0xa] mov r6, #0 mov r7, r6 bic r0, r0, #4 strh r0, [sp, #0xa] b _02040958 _02040924: ldrh r0, [sp, #0xa] mov r6, #0 mov r7, r6 bic r0, r0, #4 strh r0, [sp, #0xa] b _02040958 _0204093C: mov r6, #0 mov r7, r6 strh r6, [sp, #0xa] b _02040958 _0204094C: ldrh r0, [sp, #8] bic r0, r0, #0x30 strh r0, [sp, #8] _02040958: ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #8] ldrb r0, [r0, #0x3e5] cmp r0, #0 beq _02040980 bl PrintMoveOptionMenu ldr r0, _02040F94 ; =_020AFE7C mov r1, #0 ldr r0, [r0, #8] strb r1, [r0, #0x3e5] _02040980: ldrh r0, [sp, #8] tst r0, #0x80 beq _02040A44 bl sub_02041178 cmp r7, #0 beq _020409E4 ldr r1, _02040F94 ; =_020AFE7C ldr r0, _02040F90 ; =_022AAE2A ldrsh r1, [r1, #2] bl sub_02013E54 ldr r1, _02040F94 ; =_020AFE7C mov r0, r0, lsl #0x10 ldrsh r1, [r1, #2] mov r4, r0, asr #0x10 cmp r1, r0, asr #16 beq _020409D8 mov r0, #3 bl sub_02017CCC ldr r1, _02040F94 ; =_020AFE7C mov r0, #3 strh r4, [r1, #2] b _02040F88 _020409D8: mov r0, #2 bl sub_02017CCC b _02040A44 _020409E4: mov r0, #3 bl sub_02017CCC ldr r0, _02040F94 ; =_020AFE7C ldr r1, [r0, #8] ldrsh r2, [r0, #2] ldrsh r1, [r1, #0xa4] add r0, r2, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 b _02040A24 _02040A0C: ldrb r0, [r5, r3, lsl #3] tst r0, #2 beq _02040A2C add r0, r3, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 _02040A24: cmp r2, r1 blt _02040A0C _02040A2C: cmp r3, r1 ldr r1, _02040F94 ; =_020AFE7C movge r3, #0 mov r0, #9 strh r3, [r1, #2] b _02040F88 _02040A44: ldrh r0, [sp, #8] tst r0, #0x40 beq _02040B10 bl sub_02041178 cmp r7, #0 beq _02040AA8 ldr r1, _02040F94 ; =_020AFE7C ldr r0, _02040F90 ; =_022AAE2A ldrsh r1, [r1, #2] bl sub_02013F58 ldr r1, _02040F94 ; =_020AFE7C mov r0, r0, lsl #0x10 ldrsh r1, [r1, #2] mov r4, r0, asr #0x10 cmp r1, r0, asr #16 beq _02040A9C mov r0, #3 bl sub_02017CCC ldr r1, _02040F94 ; =_020AFE7C mov r0, #4 strh r4, [r1, #2] b _02040F88 _02040A9C: mov r0, #2 bl sub_02017CCC b _02040B10 _02040AA8: mov r0, #3 bl sub_02017CCC ldr r0, _02040F94 ; =_020AFE7C ldrsh r1, [r0, #2] cmp r1, #0 subgt r0, r1, #1 ldrle r0, [r0, #8] ldrlesh r0, [r0, #0xa4] suble r0, r0, #1 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 b _02040AF0 _02040AD8: ldrb r0, [r5, r2, lsl #3] tst r0, #2 beq _02040AF8 sub r0, r2, #1 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 _02040AF0: cmp r1, #0 bge _02040AD8 _02040AF8: ldr r1, _02040F94 ; =_020AFE7C cmp r2, #0 movlt r2, #0 mov r0, #9 strh r2, [r1, #2] b _02040F88 _02040B10: mov r4, #0 bl sub_0204AE60 cmp r0, #0 add r0, sp, #0x10 beq _02040B2C bl GetReleasedStylus b _02040B30 _02040B2C: bl sub_02006BFC _02040B30: ldrh r0, [sp, #0x10] tst r0, #0x40 beq _02040C38 tst r0, #2 ldrne r0, _02040F94 ; =_020AFE7C ldrne r0, [r0, #0xc] cmpne r0, #7 beq _02040C38 cmp r0, #2 cmpne r0, #3 cmpne r0, #6 bne _02040B68 mov r1, #0x70 b _02040B6C _02040B68: mov r1, #0x60 _02040B6C: ldr r0, [sp, #0x14] cmp r0, #0x10 blt _02040C38 cmp r0, #0xa0 bge _02040C38 ldr r0, [sp, #0x18] cmp r0, #0x20 blt _02040C38 cmp r0, r1 bge _02040C38 sub r1, r0, #0x20 mov r0, r1, asr #3 add r0, r1, r0, lsr #28 mov r0, r0, lsl #0xc ldr r2, _02040F94 ; =_020AFE7C mov r1, r0, asr #0x10 ldr r5, [r2, #8] add r7, r1, #1 mov r3, #0 mvn r2, #0 b _02040BDC _02040BC0: add r0, r5, r3, lsl #3 ldr r0, [r0, #0xac] cmp r0, r2 beq _02040BE4 add r0, r3, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 _02040BDC: cmp r3, r7 blt _02040BC0 _02040BE4: cmp r3, r1 ble _02040C38 ldr r0, _02040F90 ; =_022AAE2A ldrb r0, [r0, r1, lsl #3] tst r0, #2 bne _02040C38 mov r0, r1, lsl #4 ldr r3, _02040F94 ; =_020AFE7C add r0, r0, #0x20 mov r2, r0, lsl #0x10 mov r0, #0x10 ldr r4, _02040F98 ; =_0209C928 strh r1, [r3, #2] mov r3, r0 str r4, [sp] mov r4, #0x40 mov r1, r2, asr #0x10 mov r2, #0x90 str r4, [sp, #4] mov r4, #1 bl sub_0202A2A4 _02040C38: ldr r0, _02040F94 ; =_020AFE7C ldr r5, [r0, #8] ldrsb r0, [r5] bl sub_02030A18 add r1, r5, #0x300 ldrsh r1, [r1, #0xe8] cmp r1, r0 beq _02040C90 mov r0, #4 bl sub_02017CCC ldr r0, _02040F94 ; =_020AFE7C mov r1, #0 strh r1, [r0, #2] ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030A18 ldr r1, _02040F94 ; =_020AFE7C ldr r1, [r1, #8] add r1, r1, #0x300 strh r0, [r1, #0xe8] mov r0, #5 b _02040F88 _02040C90: ldrh r0, [sp, #0xa] tst r0, #2 beq _02040CAC mov r0, #1 bl sub_02017CCC mov r0, #1 b _02040F88 _02040CAC: tst r0, #4 beq _02040D0C ldr r0, _02040F9C ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 ldr r0, _02040F94 ; =_020AFE7C ldr r1, [r0, #0xc] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02040CF4 _02040CD4: ; jump table b _02040CE4 ; case 0 b _02040CE4 ; case 1 b _02040CE4 ; case 2 b _02040CE4 ; case 3 _02040CE4: ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030EF0 b _02040D04 _02040CF4: bl sub_02041178 ldr r0, _02040F94 ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_02041000 _02040D04: mov r0, #6 b _02040F88 _02040D0C: tst r0, #8 beq _02040D28 ldr r0, _02040FA0 ; =0x00003F04 mov r1, #0x100 bl sub_02017C74 mov r0, #7 b _02040F88 _02040D28: ldrsb r0, [r5] bl sub_020308E4 cmp r0, #0 bne _02040F84 ldrh r0, [sp, #0xa] tst r0, #0x400 bne _02040D50 tst r0, #1 cmpeq r4, #0 beq _02040F84 _02040D50: ldr r0, _02040F94 ; =_020AFE7C mov r2, #0 ldr r3, [r0, #8] ldrb r1, [r3, #0x3f8] cmp r1, #0 beq _02040D7C ldrsh r0, [r0, #2] add r0, r3, r0 ldrb r0, [r0, #0x3e0] tst r0, #1 movne r2, #1 _02040D7C: cmp r2, #0 bne _02040F70 cmp r4, #0 addne r0, r3, #0x300 movne r1, #6 strneh r1, [r0, #0xe6] cmp r6, #0 beq _02040EC8 ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #0xc] cmp r0, #1 cmpne r0, #5 bne _02040EC8 cmp r4, #0 ldrne r0, _02040F94 ; =_020AFE7C movne r1, #0 ldrne r0, [r0, #8] addne r0, r0, #0x300 strneh r1, [r0, #0xe6] ldr r0, _02040F94 ; =_020AFE7C ldr r1, [r0, #0xc] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02040E34 _02040DDC: ; jump table b _02040DEC ; case 0 b _02040DEC ; case 1 b _02040DEC ; case 2 b _02040DEC ; case 3 _02040DEC: ldrsh r0, [r0, #2] bl sub_02041194 cmp r0, #0 bne _02040E10 ldr r0, _02040F94 ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_02041364 cmp r0, #0 beq _02040E34 _02040E10: ldr r0, _02040F9C ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030EF0 mov r0, #8 b _02040F88 _02040E34: ldr r0, _02040F94 ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_02041194 cmp r0, #0 beq _02040E88 ldr r0, _02040F94 ; =_020AFE7C ldr r1, [r0, #0xc] cmp r1, #5 ldreqb r0, [r0] cmpeq r0, #0 bne _02040E6C ldr r0, _02040FA4 ; =0x00001308 bl sub_02017C80 b _02040E78 _02040E6C: ldr r0, _02040F9C ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 _02040E78: ldr r0, _02040F94 ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_020412B0 b _02040EC0 _02040E88: ldr r0, _02040F94 ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_02041364 cmp r0, #0 beq _02040EB8 ldr r0, _02040F9C ; =0x00003F07 mov r1, #0x100 bl sub_02017C74 ldr r0, _02040F94 ; =_020AFE7C ldrsh r0, [r0, #2] bl sub_02041394 b _02040EC0 _02040EB8: mov r0, #2 bl sub_02017CCC _02040EC0: bl sub_02041178 b _02040F84 _02040EC8: cmp r4, #0 beq _02040EEC mov r0, #0 bl sub_02017CCC ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030EF0 b _02040F18 _02040EEC: ldrh r0, [sp, #0xa] tst r0, #0x400 mov r0, #0 beq _02040F14 bl sub_02017CCC ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02030EF0 b _02040F18 _02040F14: bl sub_02017CCC _02040F18: ldr r0, _02040F94 ; =_020AFE7C mov r1, #2 ldr r3, [r0, #8] mov r2, #0 str r1, [r3, #0x3ec] ldr r3, [r0, #8] str r1, [r3, #0x3f0] ldr r6, [r0, #8] ldrsh r3, [r0, #2] ldr r5, [r6, #0x10] ldrsb r0, [r6] add r3, r5, r3, lsl #4 add r3, r3, #4 bl sub_02030978 ldr r0, _02040F94 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_02027AF0 cmp r4, #0 bne _02040F84 mov r0, #2 b _02040F88 _02040F70: mov r0, #2 bl sub_02017CCC cmp r4, #0 beq _02040F84 bl sub_02041178 _02040F84: mov r0, #0 _02040F88: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02040F90: .word _022AAE2A _02040F94: .word _020AFE7C _02040F98: .word _0209C928 _02040F9C: .word 0x00003F07 _02040FA0: .word 0x00003F04 _02040FA4: .word 0x00001308 arm_func_end sub_020407EC arm_func_start sub_02040FA8 sub_02040FA8: ; 0x02040FA8 ldr r0, _02040FF4 ; =_022AADFC ldrb r0, [r0, #0x2c] cmp r0, #0 beq _02040FD0 ldr r0, _02040FF8 ; =_020AFE7C ldr r1, _02040FFC ; =_022AAE2A ldrsh r0, [r0, #2] ldrb r0, [r1, r0, lsl #3] tst r0, #8 b _02040FE4 _02040FD0: ldr r0, _02040FF8 ; =_020AFE7C ldr r1, _02040FFC ; =_022AAE2A ldrsh r0, [r0, #2] ldrb r0, [r1, r0, lsl #3] tst r0, #4 _02040FE4: movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02040FF4: .word _022AADFC _02040FF8: .word _020AFE7C _02040FFC: .word _022AAE2A arm_func_end sub_02040FA8 arm_func_start sub_02041000 sub_02041000: ; 0x02041000 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02041178 ldr r2, _0204108C ; =_022AADFC ldrb r0, [r2, #0x2c] cmp r0, #0 beq _02041078 ldr r1, _02041090 ; =_022AAE2A ldrb r0, [r1, r4, lsl #3] tst r0, #8 eorne r0, r0, #8 strneb r0, [r1, r4, lsl #3] ldmneia sp!, {r4, pc} mov r3, #0 _02041038: add r0, r2, r3, lsl #3 ldrb r0, [r0, #0x2e] tst r0, #8 bne _02041050 cmp r3, r4 bne _02041060 _02041050: add r1, r2, r3, lsl #3 ldrb r0, [r1, #0x2e] eor r0, r0, #8 strb r0, [r1, #0x2e] _02041060: add r0, r3, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 cmp r3, #4 blt _02041038 ldmia sp!, {r4, pc} _02041078: ldr r1, _02041090 ; =_022AAE2A ldrb r0, [r1, r4, lsl #3] eor r0, r0, #4 strb r0, [r1, r4, lsl #3] ldmia sp!, {r4, pc} .align 2, 0 _0204108C: .word _022AADFC _02041090: .word _022AAE2A arm_func_end sub_02041000 arm_func_start sub_02041094 sub_02041094: ; 0x02041094 ldr r0, _020410A0 ; =_020AFE7C ldrsh r0, [r0, #2] bx lr .align 2, 0 _020410A0: .word _020AFE7C arm_func_end sub_02041094 arm_func_start sub_020410A4 sub_020410A4: ; 0x020410A4 ldr r1, _0204114C ; =_020AFE7C cmp r0, #0 strh r0, [r1, #2] movlt r0, #0 strlth r0, [r1, #2] ldr r0, _0204114C ; =_020AFE7C ldrsh r2, [r0, #2] cmp r2, #4 blt _02041100 ldr r1, [r0, #0xc] cmp r1, #2 cmpne r1, #3 arm_func_end sub_020410A4 arm_func_start sub_020410D4 sub_020410D4: ; 0x020410D4 cmpne r1, #6 arm_func_end sub_020410D4 arm_func_start sub_020410D8 sub_020410D8: ; 0x020410D8 bne _020410F8 arm_func_end sub_020410D8 arm_func_start sub_020410DC sub_020410DC: ; 0x020410DC cmp r2, #4 ldreq r0, _0204114C ; =_020AFE7C moveq r1, #4 ldrne r0, _0204114C ; =_020AFE7C movne r1, #0 strh r1, [r0, #2] bx lr _020410F8: mov r1, #3 strh r1, [r0, #2] _02041100: ldr r2, _02041150 ; =_022AADFC ldr r0, _0204114C ; =_020AFE7C _02041108: ldrsh r1, [r0, #2] cmp r1, #0 ldrlt r0, _0204114C ; =_020AFE7C movlt r1, #0 strlth r1, [r0, #2] bxlt lr add r1, r2, r1, lsl #3 ldrb r1, [r1, #0x2e] tst r1, #1 beq _02041138 tst r1, #2 bxeq lr _02041138: ldrsh r1, [r0, #2] sub r1, r1, #1 strh r1, [r0, #2] b _02041108 _02041148: bx lr .align 2, 0 _0204114C: .word _020AFE7C _02041150: .word _022AADFC arm_func_end sub_020410DC arm_func_start sub_02041154 sub_02041154: ; 0x02041154 cmp r0, #4 ldreq r0, _02041170 ; =_022AADFC ldrne r1, _02041174 ; =_022AAE2E ldreqh r0, [r0, #0x54] movne r0, r0, lsl #3 ldrneh r0, [r1, r0] bx lr .align 2, 0 _02041170: .word _022AADFC _02041174: .word _022AAE2E arm_func_end sub_02041154 arm_func_start sub_02041178 sub_02041178: ; 0x02041178 ldr r0, _02041190 ; =_020AFE7C ldr r1, [r0, #8] cmp r1, #0 movne r0, #1 strneb r0, [r1, #0x3e5] bx lr .align 2, 0 _02041190: .word _020AFE7C arm_func_end sub_02041178 arm_func_start sub_02041194 sub_02041194: ; 0x02041194 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _020412AC ; =_022AAE2A mov r6, r0 add r0, r4, r6, lsl #3 ldrh r0, [r0, #4] bl IsNot2TurnsMoveOrSketch cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r5, r6, #1 mov r7, #0 mov r8, #1 b _0204129C _020411C8: ldrb r0, [r4, r5, lsl #3] tst r0, #1 movne r0, r8 moveq r0, r7 tst r0, #0xff beq _020412A4 add r0, r4, r5, lsl #3 ldrh r0, [r0, #4] bl IsNot2TurnsMoveOrSketch cmp r0, #0 beq _020412A4 ldrb r0, [r4, r5, lsl #3] tst r0, #2 bne _02041298 add r0, r5, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 b _02041228 _02041210: ldrb r1, [r4, r0, lsl #3] tst r1, #2 beq _02041230 add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 _02041228: cmp r0, #4 blt _02041210 _02041230: mov r1, r6, lsl #0x10 mov r5, r1, asr #0x10 b _02041288 _0204123C: add r1, r5, #1 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 add r1, r4, r5, lsl #3 ldrh r2, [r1, #4] b _02041274 _02041254: add r1, r4, r3, lsl #3 ldrh r1, [r1, #4] cmp r2, r1 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r1, r3, #1 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 _02041274: cmp r3, r0 blt _02041254 add r1, r5, #1 mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 _02041288: cmp r5, r0 blt _0204123C mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02041298: add r5, r5, #1 _0204129C: cmp r5, #4 blt _020411C8 _020412A4: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020412AC: .word _022AAE2A arm_func_end sub_02041194 arm_func_start sub_020412B0 sub_020412B0: ; 0x020412B0 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02041194 cmp r0, #0 ldmeqia sp!, {r4, pc} add r1, r4, #1 ldr r0, _02041358 ; =_022AAE2A mov r3, #0 mov ip, #1 b _0204133C _020412D8: ldrb r2, [r0, r1, lsl #3] tst r2, #1 movne r2, ip moveq r2, r3 tst r2, #0xff beq _02041344 ldrb r2, [r0, r1, lsl #3] tst r2, #2 bne _02041338 ldr r2, _0204135C ; =_022AADFC ldr lr, _02041358 ; =_022AAE2A ldrb r2, [r2, #0x2c] cmp r2, #0 ldrne r3, _02041358 ; =_022AAE2A ldrneb r2, [r3, r1, lsl #3] bicne r2, r2, #8 strneb r2, [r3, r1, lsl #3] ldrb ip, [lr, r1, lsl #3] ldr r2, _02041360 ; =_020AFE7C mov r3, #1 strb r3, [r2] bic r2, ip, #4 strb r2, [lr, r1, lsl #3] b _02041344 _02041338: add r1, r1, #1 _0204133C: cmp r1, #4 blt _020412D8 _02041344: ldrb r2, [r0, r1, lsl #3] orr r2, r2, #2 strb r2, [r0, r1, lsl #3] bl sub_02041178 ldmia sp!, {r4, pc} .align 2, 0 _02041358: .word _022AAE2A _0204135C: .word _022AADFC _02041360: .word _020AFE7C arm_func_end sub_020412B0 arm_func_start sub_02041364 sub_02041364: ; 0x02041364 cmp r0, #3 ldr r1, _02041390 ; =_022AAE2A moveq r0, #0 bxeq lr add r0, r0, #1 ldrb r0, [r1, r0, lsl #3] tst r0, #2 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02041390: .word _022AAE2A arm_func_end sub_02041364 arm_func_start sub_02041394 sub_02041394: ; 0x02041394 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02041364 cmp r0, #0 ldmeqia sp!, {r4, pc} add ip, r4, #1 ldr r3, _020413FC ; =_022AAE2A mov r1, #0 mov r2, #1 b _020413EC _020413BC: ldrb r0, [r3, ip, lsl #3] tst r0, #1 movne r0, r2 moveq r0, r1 tst r0, #0xff beq _020413F4 ldrb r0, [r3, ip, lsl #3] tst r0, #2 beq _020413F4 eor r0, r0, #2 strb r0, [r3, ip, lsl #3] add ip, ip, #1 _020413EC: cmp ip, #4 blt _020413BC _020413F4: bl sub_02041178 ldmia sp!, {r4, pc} .align 2, 0 _020413FC: .word _022AAE2A arm_func_end sub_02041394 arm_func_start sub_02041400 sub_02041400: ; 0x02041400 ldr r0, _02041410 ; =_020AFE7C mov r1, #0 strb r1, [r0] bx lr .align 2, 0 _02041410: .word _020AFE7C arm_func_end sub_02041400 arm_func_start sub_02041414 sub_02041414: ; 0x02041414 ldr r0, _02041420 ; =_020AFE7C ldrb r0, [r0] bx lr .align 2, 0 _02041420: .word _020AFE7C arm_func_end sub_02041414 arm_func_start sub_02041424 sub_02041424: ; 0x02041424 cmp r0, #0 movgt r0, #1 bxgt lr mov ip, #1 ldr r3, _02041480 ; =_022AAE2A mov r1, #0 mov r2, ip b _02041470 _02041444: ldrb r0, [r3, ip, lsl #3] tst r0, #1 movne r0, r2 moveq r0, r1 tst r0, #0xff beq _02041478 ldrb r0, [r3, ip, lsl #3] tst r0, #2 moveq r0, #1 bxeq lr add ip, ip, #1 _02041470: cmp ip, #4 blt _02041444 _02041478: mov r0, #0 bx lr .align 2, 0 _02041480: .word _022AAE2A arm_func_end sub_02041424 arm_func_start sub_02041484 sub_02041484: ; 0x02041484 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 ldr r1, _02041594 ; =_020AFE7C ldr r0, _02041598 ; =_022AAE2A ldrsh r2, [r1, #2] mov r1, #0 mov r3, r1 strb r1, [r0, r2, lsl #3] add r5, r2, #1 mov r4, #1 b _020414DC _020414B0: ldrb r2, [r0, r5, lsl #3] tst r2, #1 movne r2, r4 moveq r2, r3 tst r2, #0xff beq _020414E4 ldrb r2, [r0, r5, lsl #3] tst r2, #2 beq _020414E4 strb r1, [r0, r5, lsl #3] add r5, r5, #1 _020414DC: cmp r5, #4 blt _020414B0 _020414E4: mov r6, #0 mov r7, r6 mov r4, r6 mov r5, #1 add lr, sp, #0 _020414F8: ldrb r1, [r0, r7, lsl #3] tst r1, #1 movne r1, r5 moveq r1, r4 tst r1, #0xff beq _02041530 add ip, r0, r7, lsl #3 add r3, lr, r6, lsl #3 mov r2, #4 _0204151C: ldrh r1, [ip], #2 subs r2, r2, #1 strh r1, [r3], #2 bne _0204151C add r6, r6, #1 _02041530: add r7, r7, #1 cmp r7, #4 blt _020414F8 mov r2, #0 add r1, sp, #0 b _02041550 _02041548: strb r2, [r1, r6, lsl #3] add r6, r6, #1 _02041550: cmp r6, #4 blt _02041548 mov r4, #0 add lr, sp, #0 _02041560: add ip, lr, r4, lsl #3 add r3, r0, r4, lsl #3 mov r2, #4 _0204156C: ldrh r1, [ip], #2 subs r2, r2, #1 strh r1, [r3], #2 bne _0204156C add r4, r4, #1 cmp r4, #4 blt _02041560 bl sub_02041178 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02041594: .word _020AFE7C _02041598: .word _022AAE2A arm_func_end sub_02041484 arm_func_start sub_0204159C sub_0204159C: ; 0x0204159C ldr r0, _020415B8 ; =_022AADFC ldrb r0, [r0, #0x58] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020415B8: .word _022AADFC arm_func_end sub_0204159C arm_func_start sub_020415BC sub_020415BC: ; 0x020415BC mov r3, #0 ldr ip, _02041610 ; =_022AAE2A mov r1, r3 mov r2, #1 b _020415F4 _020415D0: ldrb r0, [ip, r3, lsl #3] tst r0, #1 movne r0, r2 moveq r0, r1 tst r0, #0xff beq _020415FC add r0, r3, #1 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 _020415F4: cmp r3, #4 blt _020415D0 _020415FC: cmp r3, #4 movge r0, #1 movlt r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02041610: .word _022AAE2A arm_func_end sub_020415BC arm_func_start sub_02041614 sub_02041614: ; 0x02041614 stmdb sp!, {r3, r4, r5, lr} mov r5, #0 ldr r4, _020416B0 ; =_022AAE2A mov r2, r5 mov r3, #1 b _02041694 _0204162C: ldrb r1, [r4, r5, lsl #3] tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff bne _02041688 mov r1, #5 strb r1, [r4, r5, lsl #3] add r2, r4, r5, lsl #3 strh r0, [r2, #4] mov r1, #0 ldr r0, _020416B4 ; =_022AADFC strb r1, [r2, #7] ldrsh r0, [r0, #0x5a] ldr r1, _020416B8 ; =_022AAE58 bl GetPpIncrease add r1, r4, r5, lsl #3 strh r0, [r1, #2] mov r0, r1 bl GetMaxPp add r1, r4, r5, lsl #3 strb r0, [r1, #6] b _0204169C _02041688: add r1, r5, #1 mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 _02041694: cmp r5, #4 blt _0204162C _0204169C: cmp r5, #4 mvnge r5, #0 mov r0, r5, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020416B0: .word _022AAE2A _020416B4: .word _022AADFC _020416B8: .word _022AAE58 arm_func_end sub_02041614 arm_func_start sub_020416BC sub_020416BC: ; 0x020416BC stmdb sp!, {r3, lr} mov r1, r0 ldr r0, _020416D8 ; =_022AAE2A bl sub_02013F58 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _020416D8: .word _022AAE2A arm_func_end sub_020416BC arm_func_start sub_020416DC sub_020416DC: ; 0x020416DC stmdb sp!, {r3, lr} mov r1, r0 ldr r0, _020416F8 ; =_022AAE2A bl sub_02013E54 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _020416F8: .word _022AAE2A arm_func_end sub_020416DC arm_func_start sub_020416FC sub_020416FC: ; 0x020416FC stmdb sp!, {r3, lr} ldr r0, _02041720 ; =_020AFE7C ldr r0, [r0, #8] ldrsb r0, [r0] bl sub_020307EC mov r0, #1 bl sub_0204027C bl sub_02041178 ldmia sp!, {r3, pc} .align 2, 0 _02041720: .word _020AFE7C arm_func_end sub_020416FC arm_func_start sub_02041724 sub_02041724: ; 0x02041724 stmdb sp!, {r3, lr} bl IsDeoxys cmp r0, #0 ldrne r0, _02041748 ; =_022AADFC movne r1, #1 ldreq r0, _02041748 ; =_022AADFC moveq r1, #0 strb r1, [r0, #0x58] ldmia sp!, {r3, pc} .align 2, 0 _02041748: .word _022AADFC arm_func_end sub_02041724 arm_func_start SprintfStatic__0204174C SprintfStatic__0204174C: ; 0x0204174C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__0204174C arm_func_start sub_02041774 sub_02041774: ; 0x02041774 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x2bc mov r1, #8 bl MemAlloc ldr r1, _020417A4 ; =_020AFE8C mvn r2, #1 str r0, [r1] str r4, [r0, #4] ldr r0, [r1] strb r2, [r0] ldmia sp!, {r4, pc} .align 2, 0 _020417A4: .word _020AFE8C arm_func_end sub_02041774 arm_func_start sub_020417A8 sub_020417A8: ; 0x020417A8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r1 mov r4, r2 mov r7, r0 cmp r4, r6 mvnge r0, #1 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldrb r0, [r7, r4, lsl #3] tst r0, #1 mvneq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r3 bl sub_02041774 ldr r0, _0204185C ; =_020AFE8C add r1, r7, r4, lsl #3 ldr r0, [r0] mov r2, #8 add r0, r0, #8 bl memcpy add r5, r4, #1 mov r4, #1 mov sb, #8 ldr r8, _0204185C ; =_020AFE8C b _02041840 _02041808: ldrb r0, [r7, r5, lsl #3] mov r1, r5, lsl #3 tst r0, #1 beq _0204183C tst r0, #2 beq _02041848 ldr r0, [r8] mov r2, sb add r0, r0, #8 add r0, r0, r4, lsl #3 add r1, r7, r1 bl memcpy add r4, r4, #1 _0204183C: add r5, r5, #1 _02041840: cmp r5, r6 blt _02041808 _02041848: ldr r0, _0204185C ; =_020AFE8C ldr r0, [r0] strh r4, [r0, #0x28] bl sub_020418A4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204185C: .word _020AFE8C arm_func_end sub_020417A8 arm_func_start sub_02041860 sub_02041860: ; 0x02041860 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 bl sub_02041774 ldr r0, _020418A0 ; =_020AFE8C mov r1, r4 ldr r0, [r0] mov r2, #8 add r0, r0, #8 bl memcpy ldr r0, _020418A0 ; =_020AFE8C mov r1, #1 ldr r0, [r0] strh r1, [r0, #0x28] bl sub_020418A4 ldmia sp!, {r4, pc} .align 2, 0 _020418A0: .word _020AFE8C arm_func_end sub_02041860 arm_func_start sub_020418A4 sub_020418A4: ; 0x020418A4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r7, #0 ldr r6, _020419F0 ; =0x000008D4 ldr r5, _020419F4 ; =_020AFE8C mov r4, #0x50 b _02041950 _020418C0: ldr r1, [r5] mul r8, r7, r4 add r0, r1, r7, lsl #3 ldrh r0, [r0, #0xc] add r1, r1, r7, lsl #1 add r1, r1, #0x200 strh r6, [r1, #0xac] ldr r2, [r5] add r1, r0, #0xa2 add r2, r2, r8 str r0, [r2, #0x3c] ldr r2, [r5] add r3, r1, #0x2700 add r1, r2, r7, lsl #1 add r1, r1, #0x200 strh r3, [r1, #0xb4] ldr r1, [r5] add r1, r1, r8 str r0, [r1, #0x17c] ldr r0, [r5] add r0, r0, #8 add r0, r0, r7, lsl #3 bl GetMoveRangeId ldr r1, [r5] add r1, r1, r8 str r0, [r1, #0x180] ldr r0, [r5] add r0, r0, #8 add r0, r0, r7, lsl #3 bl GetMoveType ldr r2, [r5] add r1, r7, #1 add r2, r2, r8 mov r1, r1, lsl #0x10 str r0, [r2, #0x184] mov r7, r1, asr #0x10 _02041950: ldr r2, [r5] ldrsh r3, [r2, #0x28] cmp r7, r3 blt _020418C0 cmp r3, #1 ble _020419A0 add r0, r2, #0x2ac str r0, [sp] add r0, r2, #0x2c str r0, [sp, #4] add r4, r2, #0x2b4 str r4, [sp, #8] add r4, r2, #0x16c ldr r0, _020419F8 ; =_0209C97C ldr r1, _020419FC ; =0x00001013 mov r2, #0 str r4, [sp, #0xc] bl sub_0202E518 ldr r1, _020419F4 ; =_020AFE8C b _020419D4 _020419A0: add r0, r2, #0x2c str r0, [sp] add r1, r2, #0x200 ldrh r3, [r1, #0xb4] add r2, r2, #0x16c ldr r0, _020419F8 ; =_0209C97C str r3, [sp, #4] str r2, [sp, #8] ldrh r3, [r1, #0xac] ldr r1, _020419FC ; =0x00001013 mov r2, #0 bl sub_0202E3CC ldr r1, _020419F4 ; =_020AFE8C _020419D4: ldr r1, [r1] strb r0, [r1] ldr r0, _020419F4 ; =_020AFE8C ldr r0, [r0] ldrsb r0, [r0] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020419F0: .word 0x000008D4 _020419F4: .word _020AFE8C _020419F8: .word _0209C97C _020419FC: .word 0x00001013 arm_func_end sub_020418A4 arm_func_start sub_02041A00 sub_02041A00: ; 0x02041A00 ldr r0, _02041A10 ; =_020AFE8C ldr ip, _02041A14 ; =MemFree ldr r0, [r0] bx ip .align 2, 0 _02041A10: .word _020AFE8C _02041A14: .word MemFree arm_func_end sub_02041A00 arm_func_start sub_02041A18 sub_02041A18: ; 0x02041A18 stmdb sp!, {r3, lr} ldr r0, _02041A3C ; =_020AFE8C ldr r0, [r0] ldrsb r0, [r0] bl sub_0202E6E4 cmp r0, #0 movne r0, #0 moveq r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02041A3C: .word _020AFE8C arm_func_end sub_02041A18 arm_func_start PrintIqSkillsMenu PrintIqSkillsMenu: ; 0x02041A40 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0xa0 mov r7, r0 mov r6, r1 add r0, sp, #8 mov r1, #0x98 mov r5, r2 mov r4, r3 bl MemZero mov r1, #0xd rsb r0, r1, #0xa80 str r1, [sp, #0xc] mov r1, #0 str r1, [sp, #8] mov r1, #0x10 strh r0, [sp, #0x10] str r1, [sp, #0x14] mov r0, #0x840 mov r1, #8 bl MemAlloc ldr r2, _02041B6C ; =_020AFE90 mov r1, #0x840 str r0, [r2, #4] bl MemZero ldr r3, _02041B6C ; =_020AFE90 mov r1, r7 ldr r0, [r3, #4] mov r2, r5 str r6, [r0, #0x790] ldr r0, [r3, #4] add r0, r0, #0x700 strh r7, [r0, #0x94] ldr r0, [r3, #4] str r5, [r0, #0x798] ldr r0, [r3, #4] add r0, r0, #0x64 bl GetLearnableIqSkills ldr r3, _02041B6C ; =_020AFE90 ldr r1, _02041B70 ; =0x80401C33 ldr r2, [r3, #4] mov r5, #8 add r2, r2, #0x700 strh r0, [r2, #0x8c] ldr r2, [r3, #4] ldr r0, _02041B74 ; =_0209C98C add r2, r2, #0x700 ldrsh r6, [r2, #0x8c] ldr r3, _02041B78 ; =sub_0204213C add r2, sp, #8 str r6, [sp] str r5, [sp, #4] bl CreateAdvancedMenu ldr r1, _02041B6C ; =_020AFE90 mov r2, #0 ldr r3, [r1, #4] strb r0, [r3] ldr r0, [r1, #4] str r2, [r0, #0x6f0] ldr r0, [r1, #4] str r2, [r0, #0x6ec] ldr r0, [r1, #4] strb r4, [r0, #0x83c] ldr r0, [r1, #4] add r0, r0, #0x700 strh r2, [r0, #0x8e] ldr r0, [r1, #4] add r0, r0, #0x14 bl InitPreprocessorArgs ldr r0, _02041B6C ; =_020AFE90 ldr r1, [r0, #4] add r0, r1, #0x34 add r0, r0, #0x800 str r0, [r1, #0x7fc] add sp, sp, #0xa0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02041B6C: .word _020AFE90 _02041B70: .word 0x80401C33 _02041B74: .word _0209C98C _02041B78: .word sub_0204213C arm_func_end PrintIqSkillsMenu arm_func_start sub_02041B7C sub_02041B7C: ; 0x02041B7C stmdb sp!, {r4, lr} sub sp, sp, #0xf8 ldr r1, _020420BC ; =_020AFE90 ldr r3, [r1, #4] ldr r0, [r3, #0x6f0] cmp r0, #8 addls pc, pc, r0, lsl #2 b _020420B0 _02041B9C: ; jump table b _02041BC0 ; case 0 b _02041DB0 ; case 1 b _02041E40 ; case 2 b _02041EBC ; case 3 b _02041F30 ; case 4 b _02041EE4 ; case 5 b _02041FA4 ; case 6 b _02041FE8 ; case 7 b _020420A0 ; case 8 _02041BC0: ldrsb r0, [r3] bl sub_0202BCBC cmp r0, #0 bne _02041CF8 ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0] bl GetAdvancedMenuResult ldr r2, _020420BC ; =_020AFE90 mvn r1, #0 ldr r3, [r2, #4] str r0, [r3, #0x838] ldr r2, [r2, #4] ldr r0, [r2, #0x838] cmp r0, r1 moveq r0, #8 streq r0, [r2, #0x6f0] beq _020420B0 mov r0, #0 bl sub_02017CCC ldr r0, _020420BC ; =_020AFE90 ldr r2, _020420C0 ; =_0209C9B0 ldrsb r3, [r0] ldr r1, [r0, #4] ldr r2, [r2, r3, lsl #3] str r2, [r1, #0x79c] ldr r3, [r0, #4] ldr r2, [r3, #0x838] ldrb r1, [r3, #0x83c] add r2, r3, r2 ldrb r2, [r2, #0x64] cmp r1, #0 bne _02041C60 cmp r2, #0x18 cmpne r2, #0x1b beq _02041C60 add r1, r2, #0xc8 and r1, r1, #0xff cmp r1, #1 bhi _02041C7C _02041C60: mov r1, #3 ldr r0, _020420BC ; =_020AFE90 strb r1, [r3, #0x834] ldr r0, [r0, #4] mov r1, #0 strb r1, [r0, #0x835] b _02041C8C _02041C7C: mov r1, #0 strb r1, [r3, #0x834] ldr r0, [r0, #4] strb r1, [r0, #0x835] _02041C8C: ldr r0, _020420BC ; =_020AFE90 mov r1, #0x98 ldr r0, [r0, #4] add r0, r0, #0x39c add r0, r0, #0x400 bl MemZero ldr r2, _020420BC ; =_020AFE90 ldr r3, _020420C4 ; =_0209C9AC ldr r4, [r2, #4] mov r1, #0 add r0, r4, #0x34 add r0, r0, #0x800 str r0, [r4, #0x7fc] str r3, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr r2, [r2, #4] ldr r0, _020420C8 ; =_0209C99C add r3, r2, #0x39c ldr r2, _020420CC ; =0x80000233 add r3, r3, #0x400 bl sub_02046A20 ldr r0, _020420BC ; =_020AFE90 mov r1, #1 ldr r0, [r0, #4] str r1, [r0, #0x6f0] b _020420B0 _02041CF8: add r1, sp, #0xc mov r0, #0 bl GetPressedButtons ldrh r0, [sp, #0xc] tst r0, #8 beq _02041D54 ldr r0, _020420D0 ; =0x00003F04 bl sub_02017C80 ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202C1E4 ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0] bl GetAdvancedMenuResult ldr r1, _020420BC ; =_020AFE90 mov r2, #3 ldr r3, [r1, #4] str r0, [r3, #0x838] ldr r0, [r1, #4] str r2, [r0, #0x6f0] b _020420B0 _02041D54: tst r0, #4 beq _020420B0 ldr r0, _020420BC ; =_020AFE90 ldr r1, [r0, #4] ldrb r0, [r1, #0x83c] cmp r0, #0 beq _02041D7C ldr r0, _020420D4 ; =0x00003F03 bl sub_02017C80 b _020420B0 _02041D7C: ldrsb r0, [r1] bl sub_0202C1E4 ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0] bl GetAdvancedMenuResult ldr r1, _020420BC ; =_020AFE90 mov r2, #2 ldr r3, [r1, #4] str r0, [r3, #0x838] ldr r0, [r1, #4] str r2, [r0, #0x6f0] b _020420B0 _02041DB0: bl sub_02046B04 mov r4, r0 bl sub_02046BA0 ldr r1, _020420BC ; =_020AFE90 add r2, r4, #2 strb r0, [r1] cmp r2, #4 addls pc, pc, r2, lsl #2 b _020420B0 _02041DD4: ; jump table b _02041DF0 ; case 0 b _020420B0 ; case 1 b _02041E14 ; case 2 b _02041E24 ; case 3 b _02041DE8 ; case 4 _02041DE8: mov r0, #0 bl sub_02017CCC _02041DF0: ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202BBF0 ldr r0, _020420BC ; =_020AFE90 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x6f0] b _020420B0 _02041E14: ldr r0, [r1, #4] mov r1, #2 str r1, [r0, #0x6f0] b _020420B0 _02041E24: mov r0, #0 bl sub_02017CCC ldr r0, _020420BC ; =_020AFE90 mov r1, #3 ldr r0, [r0, #4] str r1, [r0, #0x6f0] b _020420B0 _02041E40: ldr r1, [r3, #0x838] add r2, r3, #0x64 ldrb r0, [r2, r1] cmp r0, #0x18 bne _02041E60 mov r0, #2 bl sub_02017CCC b _02041E98 _02041E60: cmp r0, #0x1b beq _02041E78 add r0, r0, #0xc8 and r0, r0, #0xff cmp r0, #1 bhi _02041E84 _02041E78: mov r0, #2 bl sub_02017CCC b _02041E98 _02041E84: ldrb r1, [r2, r1] ldr r0, [r3, #0x790] bl DisableIqSkill ldr r0, _020420D8 ; =0x00003F07 bl sub_02017C80 _02041E98: ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202BBF0 ldr r0, _020420BC ; =_020AFE90 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x6f0] b _020420B0 _02041EBC: ldrsb r0, [r3] bl sub_0202812C ldr r1, _020420BC ; =_020AFE90 mov r2, #5 ldr r0, [r1, #4] add r0, r0, #0x700 strh r2, [r0, #0x8e] ldr r0, [r1, #4] str r2, [r0, #0x6f0] b _020420B0 _02041EE4: add r0, r3, #0x700 ldrsh r2, [r0, #0x8e] sub r2, r2, #1 strh r2, [r0, #0x8e] ldr r2, [r1, #4] add r0, r2, #0x700 ldrsh r0, [r0, #0x8e] cmp r0, #0 bge _020420B0 mov r0, #4 str r0, [r2, #0x6f0] ldr r0, [r1, #4] ldrsb r0, [r0] bl FreeAdvancedMenu ldr r0, _020420BC ; =_020AFE90 mvn r1, #1 ldr r0, [r0, #4] strb r1, [r0] b _020420B0 _02041F30: add r0, sp, #0xa8 bl InitPreprocessorArgs ldr r0, _020420BC ; =_020AFE90 add ip, sp, #0xa8 ldr r3, [r0, #4] ldr r0, _020420DC ; =_020AFE98 ldr r2, [r3, #0x838] ldr r1, _020420E0 ; =0x00001013 add r2, r3, r2 ldrb lr, [r2, #0x64] ldr r3, _020420E4 ; =0x00000A77 mov r2, #0 str lr, [sp, #0xb8] str ip, [sp] ldr ip, [sp, #0xb8] add ip, ip, #0x2a add ip, ip, #0x2700 mov ip, ip, lsl #0x10 mov ip, ip, lsr #0x10 str ip, [sp, #4] str r2, [sp, #8] bl sub_0202E3CC ldr r1, _020420BC ; =_020AFE90 mov r2, #6 ldr r3, [r1, #4] strb r0, [r3, #1] ldr r0, [r1, #4] str r2, [r0, #0x6f0] b _020420B0 _02041FA4: ldrsb r0, [r3, #1] bl sub_0202E6E4 cmp r0, #0 bne _020420B0 ldr r0, _020420BC ; =_020AFE90 ldr r0, [r0, #4] ldrsb r0, [r0, #1] bl sub_0202E6C8 ldr r0, _020420BC ; =_020AFE90 mov r3, #7 ldr r2, [r0, #4] mov r1, #8 str r3, [r2, #0x6f0] ldr r0, [r0, #4] add r0, r0, #0x700 strh r1, [r0, #0x8e] b _020420B0 _02041FE8: add r0, r3, #0x700 ldrsh r2, [r0, #0x8e] sub r2, r2, #1 strh r2, [r0, #0x8e] ldr r0, [r1, #4] add r0, r0, #0x700 ldrsh r2, [r0, #0x8e] cmp r2, #0 bge _020420B0 mov r3, #0 strh r3, [r0, #0x8e] ldr r2, [r1, #4] mov r0, #0xd str r3, [r2, #0x6f0] ldr r3, [r1, #4] str r0, [sp, #0x14] ldr r2, [r3, #0x838] rsb r1, r0, #0xa80 mov r0, #0x10 str r0, [sp, #0x1c] str r2, [sp, #0x10] strh r1, [sp, #0x18] add r0, r3, #0x700 ldrsh r1, [r0, #0x94] ldr r2, [r3, #0x798] add r0, r3, #0x64 bl GetLearnableIqSkills ldr ip, _020420BC ; =_020AFE90 ldr r1, _020420E8 ; =0x80401C33 ldr r3, [ip, #4] add r2, sp, #0x10 add r3, r3, #0x700 strh r0, [r3, #0x8c] ldr r3, [ip, #4] ldr r0, _020420EC ; =_0209C98C add r3, r3, #0x700 ldrsh lr, [r3, #0x8c] ldr r3, _020420F0 ; =sub_0204213C mov ip, #8 str lr, [sp] str ip, [sp, #4] bl CreateAdvancedMenu ldr r1, _020420BC ; =_020AFE90 ldr r1, [r1, #4] strb r0, [r1] b _020420B0 _020420A0: mov r0, #9 str r0, [r3, #0x6f0] mov r0, #1 b _020420B4 _020420B0: mov r0, #0 _020420B4: add sp, sp, #0xf8 ldmia sp!, {r4, pc} .align 2, 0 _020420BC: .word _020AFE90 _020420C0: .word _0209C9B0 _020420C4: .word _0209C9AC _020420C8: .word _0209C99C _020420CC: .word 0x80000233 _020420D0: .word 0x00003F04 _020420D4: .word 0x00003F03 _020420D8: .word 0x00003F07 _020420DC: .word _020AFE98 _020420E0: .word 0x00001013 _020420E4: .word 0x00000A77 _020420E8: .word 0x80401C33 _020420EC: .word _0209C98C _020420F0: .word sub_0204213C arm_func_end sub_02041B7C arm_func_start sub_020420F4 sub_020420F4: ; 0x020420F4 stmdb sp!, {r3, lr} ldr r0, _02042138 ; =_020AFE90 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] mvn r1, #1 cmp r0, r1 beq _0204211C bl FreeAdvancedMenu _0204211C: ldr r0, _02042138 ; =_020AFE90 ldr r0, [r0, #4] bl MemFree ldr r0, _02042138 ; =_020AFE90 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02042138: .word _020AFE90 arm_func_end sub_020420F4 arm_func_start sub_0204213C sub_0204213C: ; 0x0204213C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x84 ldr r2, _02042248 ; =_020AFE90 mov r4, r0 ldr r2, [r2, #4] mov r6, #0 add r0, r2, r1 ldrb r5, [r0, #0x64] ldr r0, [r2, #0x790] cmp r5, #0x18 bne _02042174 mov r0, #3 bl GetPerformanceFlagWithChecks b _0204217C _02042174: mov r1, r5 bl IqSkillFlagTest _0204217C: cmp r0, #0 movne r6, #1 cmp r6, #0 beq _020421DC cmp r5, #0x38 bgt _020421B4 bge _020421BC cmp r5, #0x1b bgt _020421CC cmp r5, #0x18 blt _020421CC cmpne r5, #0x1b beq _020421BC b _020421CC _020421B4: cmp r5, #0x39 bne _020421CC _020421BC: ldr r1, _0204224C ; =_0209C9CC add r0, sp, #0x44 bl strcpy b _020421E8 _020421CC: ldr r1, _02042250 ; =_0209C9D4 add r0, sp, #0x44 bl strcpy b _020421E8 _020421DC: ldr r1, _02042254 ; =_0209C9DC add r0, sp, #0x44 bl strcpy _020421E8: ldr r1, _02042248 ; =_020AFE90 mov r0, r5 ldr r1, [r1, #4] str r5, [r1, #0x24] bl sub_02058C1C mov r1, r0 add r0, sp, #4 mov r2, #0x40 bl CopyStringFromMessageId add r0, sp, #0x44 add r1, sp, #4 bl strcat ldr r1, _02042248 ; =_020AFE90 mov r0, r4 ldr r2, [r1, #4] mov r1, #0x40 add r2, r2, #0x14 str r2, [sp] add r2, sp, #0x44 mov r3, #0 bl PreprocessString mov r0, r4 add sp, sp, #0x84 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02042248: .word _020AFE90 _0204224C: .word _0209C9CC _02042250: .word _0209C9D4 _02042254: .word _0209C9DC arm_func_end sub_0204213C arm_func_start sub_02042258 sub_02042258: ; 0x02042258 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 mov r0, #0xa0 mov r1, #8 mov r5, r2 mov r4, r3 bl MemAlloc ldr r1, _020423B4 ; =_020AFEA8 str r0, [r1, #4] str r6, [r0] bl RemoveEmptyItemsInBag mov r0, #0x14 bl Arm9LoadUnkFieldNa0x2029EC8 ldr r1, _020423B4 ; =_020AFEA8 cmp r4, #0 ldr r3, [r1, #4] ldrne r4, _020423B8 ; =sub_020423D8 str r0, [r3, #8] ldr r2, _020423BC ; =0x0000032F ldr r0, [r1, #4] mov ip, #0x10 strh r2, [r0, #0x10] ldr r0, [r1, #4] mov r3, #0xd str ip, [r0, #0x14] ldr r0, [r1, #4] ldr r2, _020423C0 ; =sub_0204261C str r3, [r0, #0xc] ldr r0, [r1, #4] moveq r4, #0 str r2, [r0, #0x7c] bl GetNbItemsInBag str r4, [sp] str r0, [sp, #4] ldr r0, _020423B4 ; =_020AFEA8 str r5, [sp, #8] ldr r2, [r0, #4] ldr r0, _020423C4 ; =_0209C9E4 ldr r1, _020423C8 ; =0x00443C33 ldr r3, _020423CC ; =sub_02042760 add r2, r2, #8 bl sub_0202C3A8 ldr r2, _020423B4 ; =_020AFEA8 ldr r1, _020423D0 ; =sub_0204262C ldr r3, [r2, #4] strb r0, [r3, #4] ldr r0, [r2, #4] ldrsb r0, [r0, #4] bl sub_0202D068 ldr r0, _020423B4 ; =_020AFEA8 ldr r1, _020423D4 ; =sub_0204263C ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202C7D0 ldr r0, _020423B4 ; =_020AFEA8 mov r1, #0xd ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202C5E0 ldr r0, _020423B4 ; =_020AFEA8 ldr r1, [r0, #4] ldr r0, [r1] cmp r0, #3 beq _02042368 cmp r0, #4 beq _0204237C b _020423A0 _02042368: mov r0, #0 bl sub_0204440C mov r0, #2 bl sub_0204426C b _020423A0 _0204237C: ldrsb r0, [r1, #4] mov r1, #0x76 bl sub_0202C5F4 mov r0, #0 bl sub_0204440C mov r0, #0 bl sub_0204426C mov r0, #0 bl sub_02044568 _020423A0: ldr r0, _020423B4 ; =_020AFEA8 ldr r0, [r0, #4] ldrsb r0, [r0, #4] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020423B4: .word _020AFEA8 _020423B8: .word sub_020423D8 _020423BC: .word 0x0000032F _020423C0: .word sub_0204261C _020423C4: .word _0209C9E4 _020423C8: .word 0x00443C33 _020423CC: .word sub_02042760 _020423D0: .word sub_0204262C _020423D4: .word sub_0204263C arm_func_end sub_02042258 arm_func_start sub_020423D8 sub_020423D8: ; 0x020423D8 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _02042618 ; =_020AFEA8 mov r5, #0 ldr r2, [r1, #4] ldr r1, [r2] cmp r1, #3 bne _02042498 tst r0, #0x800 beq _02042498 bl sub_02042B20 cmp r0, #0 ble _0204241C bl sub_02042AF8 mov r0, #6 bl sub_02017CCC mov r5, #1 b _020425D8 _0204241C: bl sub_0200FD48 mov r4, r0 bl sub_0200FD78 sub r7, r4, r0 mov r8, r5 mov r6, #1 ldr r4, _02042618 ; =_020AFEA8 b _02042470 _0204243C: cmp r7, #0 ble _02042478 mov r0, r8, lsl #0x10 mov r0, r0, asr #0x10 bl GetItemAtIdx ldrsh r0, [r0, #4] bl IsStorableItem cmp r0, #0 ldrne r0, [r4, #8] movne r5, r6 strne r6, [r0, r8, lsl #2] subne r7, r7, #1 add r8, r8, #1 _02042470: cmp r8, #0x32 blt _0204243C _02042478: cmp r5, #0 beq _0204248C mov r0, #6 bl sub_02017CCC b _020425D8 _0204248C: mov r0, #2 bl sub_02017CCC b _020425D8 _02042498: tst r0, #0x400 beq _020425D8 ldrsb r0, [r2, #4] bl sub_0202D0EC ldr r1, _02042618 ; =_020AFEA8 mov r4, r0 ldr r0, [r1, #4] ldr r0, [r0] cmp r0, #3 beq _020424CC cmp r0, #4 beq _02042570 b _020425D8 _020424CC: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetItemAtIdx ldrsh r0, [r0, #4] bl IsStorableItem cmp r0, #0 beq _02042560 ldr r0, _02042618 ; =_020AFEA8 ldr r2, [r0, #8] ldr r0, [r2, r4, lsl #2] tst r0, #1 beq _02042514 mov r1, #0 mov r0, #6 str r1, [r2, r4, lsl #2] bl sub_02017CCC mov r5, #1 b _020425D8 _02042514: bl sub_0200FD78 mov r6, r0 bl sub_02042B20 mov r5, r0 bl sub_0200FD48 add r1, r6, r5 cmp r1, r0 bge _02042550 mov r0, #6 bl sub_02017CCC ldr r0, _02042618 ; =_020AFEA8 mov r5, #1 ldr r0, [r0, #8] str r5, [r0, r4, lsl #2] b _020425D8 _02042550: mov r0, #2 bl sub_02017CCC mov r5, #0 b _020425D8 _02042560: mov r0, #2 bl sub_02017CCC mov r5, #0 b _020425D8 _02042570: mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetItemAtIdx ldrsh r0, [r0, #4] bl IsShoppableItem cmp r0, #0 beq _020425CC ldr r0, _02042618 ; =_020AFEA8 mov r5, #1 ldr r2, [r0, #8] ldr r0, [r2, r4, lsl #2] tst r0, #1 mov r0, #6 beq _020425B8 mov r1, #0 str r1, [r2, r4, lsl #2] bl sub_02017CCC b _020425D8 _020425B8: bl sub_02017CCC ldr r0, _02042618 ; =_020AFEA8 ldr r0, [r0, #8] str r5, [r0, r4, lsl #2] b _020425D8 _020425CC: mov r0, #2 bl sub_02017CCC mov r5, #0 _020425D8: bl sub_02042B20 cmp r0, #0 beq _020425FC ldr r0, _02042618 ; =_020AFEA8 mov r1, #1 ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202D16C b _02042610 _020425FC: ldr r0, _02042618 ; =_020AFEA8 mov r1, #0 ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202D16C _02042610: mov r0, r5 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02042618: .word _020AFEA8 arm_func_end sub_020423D8 arm_func_start sub_0204261C sub_0204261C: ; 0x0204261C stmdb sp!, {r3, lr} bl sub_02042BE0 bl sub_02044308 ldmia sp!, {r3, pc} arm_func_end sub_0204261C arm_func_start sub_0204262C sub_0204262C: ; 0x0204262C stmdb sp!, {r3, lr} bl sub_02042BE0 bl sub_02044308 ldmia sp!, {r3, pc} arm_func_end sub_0204262C arm_func_start sub_0204263C sub_0204263C: ; 0x0204263C ldr r2, _0204265C ; =BAG_ITEMS_PTR_MIRROR mov r1, #6 ldr r2, [r2] ldr ip, _02042660 ; =sub_020444B0 ldr r2, [r2, #0x384] mla r1, r0, r1, r2 ldrsh r0, [r1, #4] bx ip .align 2, 0 _0204265C: .word BAG_ITEMS_PTR_MIRROR _02042660: .word sub_020444B0 arm_func_end sub_0204263C arm_func_start sub_02042664 sub_02042664: ; 0x02042664 stmdb sp!, {r3, lr} ldr r0, _020426B0 ; =_020AFEA8 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_02044474 bl sub_020442CC bl sub_020445C8 ldr r0, _020426B0 ; =_020AFEA8 ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202C70C ldr r0, _020426B0 ; =_020AFEA8 ldr r0, [r0, #4] bl MemFree ldr r0, _020426B0 ; =_020AFEA8 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _020426B0: .word _020AFEA8 arm_func_end sub_02042664 arm_func_start sub_020426B4 sub_020426B4: ; 0x020426B4 stmdb sp!, {r3, lr} ldr r0, _0204272C ; =_020AFEA8 ldr r0, [r0, #4] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0, #4] bl sub_0202C728 cmp r0, #0 bne _02042708 ldr r0, _0204272C ; =_020AFEA8 ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202C75C mvn r1, #0 cmp r0, r1 ldrne r1, _0204272C ; =_020AFEA8 moveq r0, #2 strneh r0, [r1] movne r0, #3 ldmia sp!, {r3, pc} _02042708: ldr r0, _0204272C ; =_020AFEA8 ldr r0, [r0, #4] ldrsb r0, [r0, #4] bl sub_0202C748 and r1, r0, #0xff mov r0, #0x14 bl Arm9StoreUnkFieldNa0x2029ED8 mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0204272C: .word _020AFEA8 arm_func_end sub_020426B4 arm_func_start sub_02042730 sub_02042730: ; 0x02042730 ldr r0, _02042740 ; =_020AFEA8 mov r1, #0 strh r1, [r0] bx lr .align 2, 0 _02042740: .word _020AFEA8 arm_func_end sub_02042730 arm_func_start sub_02042744 sub_02042744: ; 0x02042744 ldr r0, _02042758 ; =_020AFEA8 ldr ip, _0204275C ; =sub_0202C620 ldr r0, [r0, #4] ldrsb r0, [r0, #4] bx ip .align 2, 0 _02042758: .word _020AFEA8 _0204275C: .word sub_0202C620 arm_func_end sub_02042744 arm_func_start sub_02042760 sub_02042760: ; 0x02042760 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x64 mov r5, r1 mov r1, #6 ldr r3, _02042A64 ; =BAG_ITEMS_PTR_MIRROR mul r4, r5, r1 ldr r1, [r3] ldr r3, _02042A68 ; =_020AFEA8 ldr r6, [r1, #0x384] ldr r7, [r3, #4] ldrh r1, [r6, r4] add lr, r6, r4 mov r4, r2 strh r1, [sp] ldrh ip, [lr, #2] mov r6, r0 add r1, sp, #0 strh ip, [sp, #2] ldrh r2, [lr, #4] strh r2, [sp, #4] ldr r2, [r7] cmp r2, #5 addls pc, pc, r2, lsl #2 b _02042A3C _020427C0: ; jump table b _020427D8 ; case 0 b _020427E4 ; case 1 b _020427E4 ; case 2 b _02042808 ; case 3 b _020428D4 ; case 4 b _020429E8 ; case 5 _020427D8: mov r2, #0 bl sub_0200D670 b _02042A3C _020427E4: mov r7, #0 mov r3, #1 add r2, sp, #8 str r7, [sp, #8] strb r7, [sp, #0xc] strb r3, [sp, #0x10] strb r3, [sp] bl sub_0200D670 b _02042A3C _02042808: mov r1, #0 mov r0, #1 str r1, [sp, #8] strb r1, [sp, #0xc] strb r0, [sp, #0x10] strb r0, [sp] ldr r0, [r3, #8] ldr r0, [r0, r5, lsl #2] tst r0, #1 bne _0204284C mov r0, r5, lsl #0x10 mov r0, r0, asr #0x10 bl GetItemAtIdx ldrsh r0, [r0, #4] bl IsStorableItem cmp r0, #0 beq _02042890 _0204284C: add r0, sp, #0x14 add r1, sp, #0 add r2, sp, #8 bl sub_0200D670 ldrb r2, [sp, #1] cmp r2, #0 beq _0204287C ldr r1, _02042A6C ; =_0209C9F4 add r3, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _0204287C: ldr r1, _02042A70 ; =_0209C9FC add r2, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _02042890: add r0, sp, #0x14 add r1, sp, #0 add r2, sp, #8 bl sub_0200D65C ldrb r2, [sp, #1] cmp r2, #0 beq _020428C0 ldr r1, _02042A74 ; =_0209CA08 add r3, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _020428C0: ldr r1, _02042A78 ; =_0209CA18 add r2, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _020428D4: ldrsh r0, [sp, #4] bl IsShoppableItem cmp r0, #0 beq _020429A4 mov r7, #3 mov r3, #0 mov r2, #0x6a mov r1, #1 add r0, sp, #0 str r7, [sp, #8] strb r3, [sp, #0xc] strh r2, [sp, #0xe] strb r1, [sp, #0x10] strb r7, [sp] bl GetActualSellPrice mov r7, r0 bl GetGold ldr r1, _02042A7C ; =0x0001869F add r0, r7, r0 cmp r0, r1 add r0, sp, #0x14 add r1, sp, #0 add r2, sp, #8 bgt _0204296C bl sub_0200D670 ldrb r2, [sp, #1] cmp r2, #0 beq _02042958 ldr r1, _02042A6C ; =_0209C9F4 add r3, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _02042958: ldr r1, _02042A70 ; =_0209C9FC add r2, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _0204296C: bl sub_0200D65C ldrb r2, [sp, #1] cmp r2, #0 beq _02042990 ldr r1, _02042A74 ; =_0209CA08 add r3, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _02042990: ldr r1, _02042A78 ; =_0209CA18 add r2, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _020429A4: add r0, sp, #0x14 add r1, sp, #0 mov r2, #0 bl sub_0200D65C ldrb r2, [sp, #1] cmp r2, #0 beq _020429D4 ldr r1, _02042A74 ; =_0209CA08 add r3, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _020429D4: ldr r1, _02042A78 ; =_0209CA18 add r2, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 b _02042A3C _020429E8: ldrsh r0, [sp, #4] mov r2, #0 mov r1, #1 str r2, [sp, #8] strb r2, [sp, #0xc] strb r1, [sp, #0x10] strb r1, [sp] bl IsGummi cmp r0, #0 add r1, sp, #0 add r2, sp, #8 beq _02042A24 mov r0, r6 bl sub_0200D670 b _02042A3C _02042A24: add r0, sp, #0x14 bl sub_0200D65C ldr r1, _02042A80 ; =_0209CA2C add r2, sp, #0x14 mov r0, r6 bl SprintfStatic__02042A84 _02042A3C: ldr r0, _02042A68 ; =_020AFEA8 ldr r0, [r0, #8] ldr r0, [r0, r5, lsl #2] tst r0, #1 movne r0, #1 moveq r0, #0 str r0, [r4] mov r0, r6 add sp, sp, #0x64 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02042A64: .word BAG_ITEMS_PTR_MIRROR _02042A68: .word _020AFEA8 _02042A6C: .word _0209C9F4 _02042A70: .word _0209C9FC _02042A74: .word _0209CA08 _02042A78: .word _0209CA18 _02042A7C: .word 0x0001869F _02042A80: .word _0209CA2C arm_func_end sub_02042760 arm_func_start SprintfStatic__02042A84 SprintfStatic__02042A84: ; 0x02042A84 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02042A84 arm_func_start sub_02042AAC sub_02042AAC: ; 0x02042AAC stmdb sp!, {r3, lr} ldr r0, _02042AD8 ; =_020AFEA8 ldr r0, [r0, #4] cmp r0, #0 ldrnesb r0, [r0, #4] mvnne r1, #1 cmpne r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} bl sub_0202D114 ldmia sp!, {r3, pc} .align 2, 0 _02042AD8: .word _020AFEA8 arm_func_end sub_02042AAC arm_func_start sub_02042ADC sub_02042ADC: ; 0x02042ADC ldr r0, _02042AF0 ; =_020AFEA8 ldr ip, _02042AF4 ; =sub_0202D0EC ldr r0, [r0, #4] ldrsb r0, [r0, #4] bx ip .align 2, 0 _02042AF0: .word _020AFEA8 _02042AF4: .word sub_0202D0EC arm_func_end sub_02042ADC arm_func_start sub_02042AF8 sub_02042AF8: ; 0x02042AF8 mov r3, #0 ldr r0, _02042B1C ; =_020AFEA8 mov r2, r3 _02042B04: ldr r1, [r0, #8] str r2, [r1, r3, lsl #2] add r3, r3, #1 cmp r3, #0x32 blt _02042B04 bx lr .align 2, 0 _02042B1C: .word _020AFEA8 arm_func_end sub_02042AF8 arm_func_start sub_02042B20 sub_02042B20: ; 0x02042B20 ldr r1, _02042B4C ; =_020AFEA8 mov r0, #0 ldr r3, [r1, #8] mov r2, r0 _02042B30: ldr r1, [r3, r2, lsl #2] add r2, r2, #1 tst r1, #1 addne r0, r0, #1 cmp r2, #0x32 blt _02042B30 bx lr .align 2, 0 _02042B4C: .word _020AFEA8 arm_func_end sub_02042B20 arm_func_start sub_02042B50 sub_02042B50: ; 0x02042B50 ldr r1, _02042B80 ; =_020AFEA8 mov r0, #0 ldr r2, [r1, #8] b _02042B70 _02042B60: ldr r1, [r2, r0, lsl #2] tst r1, #1 bxne lr add r0, r0, #1 _02042B70: cmp r0, #0x32 blt _02042B60 mvn r0, #0 bx lr .align 2, 0 _02042B80: .word _020AFEA8 arm_func_end sub_02042B50 arm_func_start sub_02042B84 sub_02042B84: ; 0x02042B84 ldr r1, _02042B94 ; =_020AFEA8 ldr r1, [r1, #8] ldr r0, [r1, r0, lsl #2] bx lr .align 2, 0 _02042B94: .word _020AFEA8 arm_func_end sub_02042B84 arm_func_start sub_02042B98 sub_02042B98: ; 0x02042B98 stmdb sp!, {r3, lr} mov r0, #0xc8 mov r1, #8 bl MemAlloc ldr r1, _02042BB8 ; =_020AFEA8 str r0, [r1, #8] bl sub_02042AF8 ldmia sp!, {r3, pc} .align 2, 0 _02042BB8: .word _020AFEA8 arm_func_end sub_02042B98 arm_func_start sub_02042BBC sub_02042BBC: ; 0x02042BBC stmdb sp!, {r3, lr} ldr r0, _02042BDC ; =_020AFEA8 ldr r0, [r0, #8] bl MemFree ldr r0, _02042BDC ; =_020AFEA8 mov r1, #0 str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _02042BDC: .word _020AFEA8 arm_func_end sub_02042BBC arm_func_start sub_02042BE0 sub_02042BE0: ; 0x02042BE0 stmdb sp!, {r3, r4, r5, r6, r7, lr} bl GetNbItemsInBag mov r1, #6 mov r4, r0 mov r0, #0 ldr ip, _02042CE8 ; =_020AFEA8 ldr r3, _02042CEC ; =BAG_ITEMS_PTR_MIRROR mov r2, r1 b _02042C44 _02042C04: ldr r5, [ip, #8] ldr r5, [r5, r0, lsl #2] tst r5, #1 muleq r6, r0, r1 ldreq r5, [r3] ldreq r7, [r5, #0x384] ldreqb r5, [r7, r6] biceq r5, r5, #0x80 beq _02042C3C mul r6, r0, r2 ldr r5, [r3] ldr r7, [r5, #0x384] ldrb r5, [r7, r6] orr r5, r5, #0x80 _02042C3C: strb r5, [r7, r6] add r0, r0, #1 _02042C44: cmp r0, r4 blt _02042C04 bl sub_0200FC24 mov r2, #0 mov r7, r2 mov r0, #1 mov r3, #6 ldr lr, _02042CEC ; =BAG_ITEMS_PTR_MIRROR ldr ip, _02042CE8 ; =_020AFEA8 b _02042CA4 _02042C6C: mul r1, r2, r3 ldr r5, [lr] ldr r5, [r5, #0x384] ldrb r5, [r5, r1] tst r5, #0x80 ldr r5, [ip, #8] strne r0, [r5, r2, lsl #2] streq r7, [r5, r2, lsl #2] ldr r5, [lr] add r2, r2, #1 ldr r6, [r5, #0x384] ldrb r5, [r6, r1] bic r5, r5, #0x80 strb r5, [r6, r1] _02042CA4: cmp r2, r4 blt _02042C6C ldr r1, _02042CE8 ; =_020AFEA8 mvn r0, #1 ldr r1, [r1, #4] ldrsb r1, [r1, #4] cmp r1, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl GetNbItemsInBag ldr r2, _02042CE8 ; =_020AFEA8 mov r1, r0 ldr r0, [r2, #4] mov r2, #8 ldrsb r0, [r0, #4] mov r3, #0 bl sub_0202C654 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02042CE8: .word _020AFEA8 _02042CEC: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02042BE0 arm_func_start sub_02042CF0 sub_02042CF0: ; 0x02042CF0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 mov r0, #0x18c0 mov r1, #8 mov r4, r2 bl MemAlloc ldr r2, _02042F88 ; =_020AFEB4 mvn r3, #1 str r0, [r2, #4] str r5, [r0] ldr r0, [r2, #4] mov r1, #0 strb r3, [r0, #0x7d5] ldr r0, [r2, #4] strb r3, [r0, #0x7d6] ldr r0, [r2, #4] strb r3, [r0, #0x7d7] ldr r0, [r2, #4] strb r3, [r0, #0x7d8] ldr r0, [r2, #4] strb r3, [r0, #0x7d9] ldr r0, [r2, #4] str r1, [r0, #0x90c] ldr r0, [r2, #4] add r0, r0, #0x900 strh r1, [r0, #0x10] ldr r0, [r2, #0x10] bl sub_02043BFC ldr r2, _02042F88 ; =_020AFEB4 ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] ldr r0, [r2, #4] add r0, r0, #0x900 ldrsh r0, [r0, #0x10] cmp r0, #0 ble _02042DB4 ldr r0, [r2, #0x10] cmp r0, #5 bne _02042DB4 ldrsh r0, [r2] cmp r0, #0 beq _02042DB4 bl sub_020440F8 ldr r1, _02042F88 ; =_020AFEB4 ldr r1, [r1, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] _02042DB4: ldr r0, _02042F88 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x900 ldrsh r0, [r0, #0x10] cmp r0, #0 bgt _02042DF0 mov r0, #9 mov r1, #0 bl sub_02043BFC ldr r2, _02042F88 ; =_020AFEB4 mov r3, #9 ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] str r3, [r2, #0x10] _02042DF0: ldr r1, _02042F88 ; =_020AFEB4 sub r2, r5, #2 ldr r0, [r1, #4] ldr r5, _02042F8C ; =0x000002F3 add r0, r0, #0x1000 str r4, [r0, #0x8bc] ldrsh ip, [r1, #2] ldr r0, [r1, #4] mov r3, #0x10 str ip, [r0, #0x7dc] ldr r0, [r1, #4] mov ip, #0xd add r0, r0, #0x700 strh r5, [r0, #0xe4] ldr r0, [r1, #4] ldr r5, _02042F90 ; =_0204357C str r3, [r0, #0x7e8] ldr r0, [r1, #4] ldr r3, _02042F94 ; =_020441BC str ip, [r0, #0x7e0] ldr r0, [r1, #4] cmp r2, #5 str r5, [r0, #0x858] ldr r0, [r1, #4] mov r5, #0 str r3, [r0, #0x850] bhi _02042E6C mov r0, #1 mov r1, r0, lsl r2 tst r1, #0x2b movne r5, r0 _02042E6C: ldr r1, _02042F88 ; =_020AFEB4 cmp r5, #0 movne r2, #0 ldr r3, [r1, #4] ldreq r2, _02042F98 ; =sub_02042FB8 ldr r0, _02042F9C ; =_0209CA58 str r2, [sp] add r2, r3, #0x900 ldrsh r5, [r2, #0x10] add r2, r3, #0x3dc ldr r1, _02042FA0 ; =0x00447C33 str r5, [sp, #4] ldr r3, _02042FA4 ; =_020432B4 add r2, r2, #0x400 str r4, [sp, #8] bl sub_0202C3A8 ldr r2, _02042F88 ; =_020AFEB4 ldr r1, _02042FA8 ; =sub_020430F4 ldr r3, [r2, #4] strb r0, [r3, #0x7d4] ldr r0, [r2, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202D068 ldr r0, _02042F88 ; =_020AFEB4 ldr r1, _02042FAC ; =sub_02043148 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C7D0 ldr r0, _02042F88 ; =_020AFEB4 ldr r0, [r0, #4] ldr r0, [r0] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02042F70 _02042EFC: ; jump table b _02042F70 ; case 0 b _02042F28 ; case 1 b _02042F28 ; case 2 b _02042F1C ; case 3 b _02042F28 ; case 4 b _02042F60 ; case 5 b _02042F3C ; case 6 b _02042F60 ; case 7 _02042F1C: mov r0, #0 bl sub_0204440C b _02042F70 _02042F28: mov r0, #0 bl sub_0204440C mov r0, #2 bl sub_0204426C b _02042F70 _02042F3C: ldr r0, _02042FB0 ; =_0209CA48 ldr r1, _02042FB4 ; =sub_02044210 bl sub_0202F8C4 ldr r1, _02042F88 ; =_020AFEB4 ldr r1, [r1, #4] strb r0, [r1, #0x7d5] mov r0, #1 bl sub_0204426C b _02042F70 _02042F60: mov r0, #0 bl sub_0204440C mov r0, #1 bl sub_0204426C _02042F70: ldr r0, _02042F88 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 _02042F88: .word _020AFEB4 _02042F8C: .word 0x000002F3 _02042F90: .word sub_0204357C _02042F94: .word sub_020441BC _02042F98: .word sub_02042FB8 _02042F9C: .word _0209CA58 _02042FA0: .word 0x00447C33 _02042FA4: .word sub_020432B4 _02042FA8: .word sub_020430F4 _02042FAC: .word sub_02043148 _02042FB0: .word _0209CA48 _02042FB4: .word sub_02044210 arm_func_end sub_02042CF0 arm_func_start sub_02042FB8 sub_02042FB8: ; 0x02042FB8 stmdb sp!, {r3, r4, r5, r6, r7, lr} tst r0, #0x400 mov r4, #0 beq _020430A8 ldr r0, _020430F0 ; =_020AFEB4 ldr r0, [r0, #4] ldr r0, [r0] cmp r0, #1 cmpne r0, #4 cmpne r0, #6 bne _020430A8 bl sub_02043468 ldr r1, _020430F0 ; =_020AFEB4 mov r5, r0 ldr r0, [r1, #8] ldrb r0, [r0, r5] tst r0, #1 movne r4, #1 bne _0204303C ldr r0, [r1, #4] ldr r0, [r0] cmp r0, #1 bne _02043038 bl GetNbItemsInBag mov r7, r0 bl sub_020434FC mov r6, r0 bl GetCurrentBagCapacity add r1, r7, r6 cmp r1, r0 movlt r4, #1 b _0204303C _02043038: mov r4, #1 _0204303C: cmp r4, #0 beq _020430A0 mov r0, #6 bl sub_02017CCC ldr r0, _020430F0 ; =_020AFEB4 mvn r1, #1 ldr r3, [r0, #8] ldrb r2, [r3, r5] eor r2, r2, #1 strb r2, [r3, r5] ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] cmp r0, r1 beq _0204307C bl sub_0202F9B8 _0204307C: ldr r0, _020430F0 ; =_020AFEB4 ldr r1, [r0, #4] ldr r0, [r1] cmp r0, #6 bne _020430A8 add r0, r1, #0x700 ldrsb r0, [r0, #0xd5] bl sub_0202F9B8 b _020430A8 _020430A0: mov r0, #2 bl sub_02017CCC _020430A8: bl sub_020434FC cmp r0, #0 ble _020430D0 ldr r0, _020430F0 ; =_020AFEB4 mov r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202D16C b _020430E8 _020430D0: ldr r0, _020430F0 ; =_020AFEB4 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202D16C _020430E8: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020430F0: .word _020AFEB4 arm_func_end sub_02042FB8 arm_func_start sub_020430F4 sub_020430F4: ; 0x020430F4 stmdb sp!, {r3, lr} ldr r0, _02043144 ; =_020AFEB4 mov r1, #1 ldr r0, [r0, #0x10] bl sub_02043BFC ldr r2, _02043144 ; =_020AFEB4 mov r3, #0 ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] ldr r2, [r2, #4] add r0, r2, #0x700 add r1, r2, #0x900 add r2, r2, #0x1000 ldrsb r0, [r0, #0xd4] ldrsh r1, [r1, #0x10] ldr r2, [r2, #0x8bc] bl sub_0202C654 bl sub_02044308 ldmia sp!, {r3, pc} .align 2, 0 _02043144: .word _020AFEB4 arm_func_end sub_020430F4 arm_func_start sub_02043148 sub_02043148: ; 0x02043148 stmdb sp!, {r3, lr} ldr r1, _02043168 ; =_020AFEB4 ldr r1, [r1, #4] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #4] bl sub_02010044 bl sub_020444B0 ldmia sp!, {r3, pc} .align 2, 0 _02043168: .word _020AFEB4 arm_func_end sub_02043148 arm_func_start sub_0204316C sub_0204316C: ; 0x0204316C cmp r0, #0 movne r0, #5 moveq r0, #7 bx lr arm_func_end sub_0204316C arm_func_start sub_0204317C sub_0204317C: ; 0x0204317C stmdb sp!, {r3, lr} ldr r0, _02043214 ; =_020AFEB4 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_02044474 bl sub_020442CC bl sub_020445C8 ldr r0, _02043214 ; =_020AFEB4 ldr r1, [r0, #4] ldr r0, [r1] cmp r0, #6 bne _020431BC add r0, r1, #0x700 ldrsb r0, [r0, #0xd5] bl sub_0202F8FC _020431BC: ldr r0, _02043214 ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] cmp r0, r1 beq _020431DC bl sub_0202F8FC _020431DC: ldr r1, _02043214 ; =_020AFEB4 ldr r0, [r1, #4] ldr r2, [r0] add r0, r0, #0x700 str r2, [r1, #0xc] ldrsb r0, [r0, #0xd4] bl sub_0202C70C ldr r0, _02043214 ; =_020AFEB4 ldr r0, [r0, #4] bl MemFree ldr r0, _02043214 ; =_020AFEB4 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02043214: .word _020AFEB4 arm_func_end sub_0204317C arm_func_start sub_02043218 sub_02043218: ; 0x02043218 ldr r0, _02043228 ; =_020AFEB4 mov r1, #0 strh r1, [r0, #2] bx lr .align 2, 0 _02043228: .word _020AFEB4 arm_func_end sub_02043218 arm_func_start sub_0204322C sub_0204322C: ; 0x0204322C ldr r1, _02043238 ; =_020AFEB4 strh r0, [r1, #2] bx lr .align 2, 0 _02043238: .word _020AFEB4 arm_func_end sub_0204322C arm_func_start sub_0204323C sub_0204323C: ; 0x0204323C stmdb sp!, {r3, lr} bl sub_02043254 ldr r1, _02043250 ; =_020AFEB4 strh r0, [r1, #2] ldmia sp!, {r3, pc} .align 2, 0 _02043250: .word _020AFEB4 arm_func_end sub_0204323C arm_func_start sub_02043254 sub_02043254: ; 0x02043254 ldr r1, _02043298 ; =_020AFEB4 mov r3, #0 ldr ip, [r1, #4] mvn r1, #0 b _02043278 _02043268: cmp r0, r2 moveq r0, r3 bxeq lr add r3, r3, #1 _02043278: cmp r3, #0x3e8 bge _02043290 add r2, ip, r3, lsl #1 ldrsh r2, [r2, #4] cmp r2, r1 bne _02043268 _02043290: mov r0, #0 bx lr .align 2, 0 _02043298: .word _020AFEB4 arm_func_end sub_02043254 arm_func_start sub_0204329C sub_0204329C: ; 0x0204329C ldr r1, _020432B0 ; =_020AFEB4 ldr r1, [r1, #4] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #4] bx lr .align 2, 0 _020432B0: .word _020AFEB4 arm_func_end sub_0204329C arm_func_start sub_020432B4 sub_020432B4: ; 0x020432B4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r3, _02043318 ; =_020AFEB4 mov r5, r0 ldr r0, [r3, #4] mov r4, r2 add r0, r0, r1, lsl #1 ldrsh r6, [r0, #4] add r1, sp, #0 mov r0, r6 bl sub_0200FFF4 ldr r2, _0204331C ; =_0209CA3C add r1, sp, #0 mov r0, r5 bl sub_0200D670 ldr r0, _02043318 ; =_020AFEB4 ldr r0, [r0, #8] ldrb r0, [r0, r6] tst r0, #1 movne r0, #1 moveq r0, #0 str r0, [r4] mov r0, r5 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02043318: .word _020AFEB4 _0204331C: .word _0209CA3C arm_func_end sub_020432B4 arm_func_start sub_02043320 sub_02043320: ; 0x02043320 stmdb sp!, {r3, lr} cmp r0, #7 bne _02043344 bl sub_0200FE00 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} _02043344: sub r0, r0, #5 cmp r0, #1 bhi _02043368 bl sub_0200FDB0 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} _02043368: bl sub_0200FD78 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_02043320 arm_func_start sub_02043380 sub_02043380: ; 0x02043380 stmdb sp!, {r3, lr} cmp r0, #8 moveq r0, #0 ldmeqia sp!, {r3, pc} bl ScriptSpecialProcess0x39 ldmia sp!, {r3, pc} arm_func_end sub_02043380 arm_func_start sub_02043398 sub_02043398: ; 0x02043398 stmdb sp!, {r3, lr} ldr r0, _020433BC ; =_020AFEB4 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202D134 ldmia sp!, {r3, pc} .align 2, 0 _020433BC: .word _020AFEB4 arm_func_end sub_02043398 arm_func_start sub_020433C0 sub_020433C0: ; 0x020433C0 ldr r0, _020433D8 ; =_020AFEB4 ldr ip, _020433DC ; =sub_0202C620 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bx ip .align 2, 0 _020433D8: .word _020AFEB4 _020433DC: .word sub_0202C620 arm_func_end sub_020433C0 arm_func_start sub_020433E0 sub_020433E0: ; 0x020433E0 ldr r0, _020433FC ; =_020AFEB4 ldr r0, [r0, #4] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020433FC: .word _020AFEB4 arm_func_end sub_020433E0 arm_func_start sub_02043400 sub_02043400: ; 0x02043400 stmdb sp!, {r3, lr} ldr r0, _02043430 ; =_020AFEB4 ldr r0, [r0, #4] cmp r0, #0 addne r0, r0, #0x700 ldrnesb r0, [r0, #0xd4] mvnne r1, #1 cmpne r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} bl sub_0202C728 ldmia sp!, {r3, pc} .align 2, 0 _02043430: .word _020AFEB4 arm_func_end sub_02043400 arm_func_start sub_02043434 sub_02043434: ; 0x02043434 stmdb sp!, {r3, lr} ldr r0, _02043464 ; =_020AFEB4 ldr r0, [r0, #4] cmp r0, #0 addne r0, r0, #0x700 ldrnesb r0, [r0, #0xd4] mvnne r1, #1 cmpne r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} bl sub_0202D114 ldmia sp!, {r3, pc} .align 2, 0 _02043464: .word _020AFEB4 arm_func_end sub_02043434 arm_func_start sub_02043468 sub_02043468: ; 0x02043468 stmdb sp!, {r3, lr} ldr r0, _020434D0 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C728 cmp r0, #0 beq _020434A0 ldr r0, _020434D0 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C748 b _020434B4 _020434A0: ldr r0, _020434D0 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C75C _020434B4: cmp r0, #0 ldrge r1, _020434D0 ; =_020AFEB4 mvnlt r0, #0 ldrge r1, [r1, #4] addge r0, r1, r0, lsl #1 ldrgesh r0, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _020434D0: .word _020AFEB4 arm_func_end sub_02043468 arm_func_start sub_020434D4 sub_020434D4: ; 0x020434D4 mov r3, #0 ldr r0, _020434F8 ; =_020AFEB4 mov r2, r3 _020434E0: ldr r1, [r0, #8] strb r2, [r1, r3] add r3, r3, #1 cmp r3, #0x3e8 blt _020434E0 bx lr .align 2, 0 _020434F8: .word _020AFEB4 arm_func_end sub_020434D4 arm_func_start sub_020434FC sub_020434FC: ; 0x020434FC ldr r1, _02043528 ; =_020AFEB4 mov r0, #0 ldr r3, [r1, #8] mov r2, r0 _0204350C: ldrb r1, [r3, r2] add r2, r2, #1 tst r1, #1 addne r0, r0, #1 cmp r2, #0x3e8 blt _0204350C bx lr .align 2, 0 _02043528: .word _020AFEB4 arm_func_end sub_020434FC arm_func_start sub_0204352C sub_0204352C: ; 0x0204352C ldr r0, _02043564 ; =_020AFEB4 mov r1, #0 ldr r2, [r0, #8] b _02043554 _0204353C: ldrb r0, [r2, r1] tst r0, #1 movne r0, r1, lsl #0x10 movne r0, r0, asr #0x10 bxne lr add r1, r1, #1 _02043554: cmp r1, #0x3e8 blt _0204353C mvn r0, #0 bx lr .align 2, 0 _02043564: .word _020AFEB4 arm_func_end sub_0204352C arm_func_start sub_02043568 sub_02043568: ; 0x02043568 ldr r1, _02043578 ; =_020AFEB4 ldr r1, [r1, #8] ldrb r0, [r1, r0] bx lr .align 2, 0 _02043578: .word _020AFEB4 arm_func_end sub_02043568 arm_func_start sub_0204357C sub_0204357C: ; 0x0204357C stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r4, _020435C4 ; =_0209CA98 add lr, sp, #0 ldmia r4!, {r0, r1, r2, r3} mov ip, lr stmia lr!, {r0, r1, r2, r3} ldmia r4, {r0, r1, r2} ldr r3, _020435C8 ; =_020AFEB4 stmia lr, {r0, r1, r2} ldr r0, [r3, #4] ldr r0, [r0, #0x90c] cmp r0, #7 bge _020435BC ldr r0, [ip, r0, lsl #2] blx r0 _020435BC: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 _020435C4: .word _0209CA98 _020435C8: .word _020AFEB4 arm_func_end sub_0204357C arm_func_start sub_020435CC sub_020435CC: ; 0x020435CC stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _02043760 ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd8] cmp r0, r1 bne _0204361C ldr r0, _02043764 ; =_0209CA68 mov r4, #0xa ldr r3, _02043768 ; =_0209CAB4 mov r1, #0x13 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _02043760 ; =_020AFEB4 ldr r1, [r1, #4] strb r0, [r1, #0x7d8] b _02043758 _0204361C: bl IsNormalMenuActive cmp r0, #0 bne _02043758 ldr r0, _02043760 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd8] bl GetNormalMenuResult ldr r1, _02043760 ; =_020AFEB4 mov r4, r0 ldr r0, [r1, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd8] bl FreeNormalMenu ldr r0, _02043760 ; =_020AFEB4 mvn r2, #1 ldr r1, [r0, #4] cmp r4, #8 strb r2, [r1, #0x7d8] ldreq r0, [r0, #4] mov r1, #0 streq r1, [r0, #0x90c] beq _02043744 mov r0, r4 bl sub_02043BFC mvn r1, #0 cmp r0, r1 bne _020436F4 ldr r0, _02043760 ; =_020AFEB4 sub r1, r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd5] cmp r0, r1 beq _020436AC bl sub_0202812C _020436AC: ldr r0, _02043760 ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] cmp r0, r1 beq _020436CC bl sub_0202812C _020436CC: ldr r0, _02043760 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202812C ldr r0, _02043760 ; =_020AFEB4 mov r1, #1 ldr r0, [r0, #4] str r1, [r0, #0x90c] b _02043758 _020436F4: ldr r2, _02043760 ; =_020AFEB4 ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] ldr r1, [r2, #4] add r0, r1, #0x700 add r1, r1, #0x900 ldrsb r0, [r0, #0xd4] ldrsh r1, [r1, #0x10] bl sub_0202C6D4 cmp r4, #5 ldreq r0, _02043760 ; =_020AFEB4 moveq r1, #4 ldreq r0, [r0, #4] streq r1, [r0, #0x90c] beq _02043758 ldr r0, _02043760 ; =_020AFEB4 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x90c] _02043744: ldr r0, _02043760 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C620 _02043758: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _02043760: .word _020AFEB4 _02043764: .word _0209CA68 _02043768: .word _0209CAB4 arm_func_end sub_020435CC arm_func_start sub_0204376C sub_0204376C: ; 0x0204376C stmdb sp!, {r3, lr} ldr r0, _020437B4 ; =_0209CA88 bl CreateDBox ldr r3, _020437B8 ; =_020AFEB4 ldr r1, _020437BC ; =0x00000418 ldr ip, [r3, #4] ldr r2, _020437C0 ; =0x000002FF strb r0, [ip, #0x7d7] ldr r0, [r3, #4] mov r3, #0 add r0, r0, #0x700 ldrsb r0, [r0, #0xd7] bl ShowMessageInDBox ldr r0, _020437B8 ; =_020AFEB4 mov r1, #2 ldr r0, [r0, #4] str r1, [r0, #0x90c] ldmia sp!, {r3, pc} .align 2, 0 _020437B4: .word _0209CA88 _020437B8: .word _020AFEB4 _020437BC: .word 0x00000418 _020437C0: .word 0x000002FF arm_func_end sub_0204376C arm_func_start sub_020437C4 sub_020437C4: ; 0x020437C4 stmdb sp!, {r3, lr} ldr r0, _02043840 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd7] bl IsDBoxActive cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #9 mov r1, #0 bl sub_02043BFC ldr r2, _02043840 ; =_020AFEB4 ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] ldr r1, [r2, #4] add r0, r1, #0x700 add r1, r1, #0x900 ldrsb r0, [r0, #0xd4] ldrsh r1, [r1, #0x10] bl sub_0202C6D4 ldr r0, _02043840 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd7] bl sub_0202F2C4 ldr r0, _02043840 ; =_020AFEB4 mov r1, #3 ldr r0, [r0, #4] str r1, [r0, #0x90c] ldmia sp!, {r3, pc} .align 2, 0 _02043840: .word _020AFEB4 arm_func_end sub_020437C4 arm_func_start sub_02043844 sub_02043844: ; 0x02043844 stmdb sp!, {r3, lr} ldr r0, _02043940 ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd7] cmp r0, r1 ldmeqia sp!, {r3, pc} bl FreeDBox ldr r0, _02043940 ; =_020AFEB4 mvn r2, #1 ldr r1, [r0, #4] strb r2, [r1, #0x7d7] ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd5] cmp r0, r2 beq _020438AC bl sub_02028354 cmp r0, #3 bne _020438AC ldr r0, _02043940 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd5] bl sub_0202810C _020438AC: ldr r0, _02043940 ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] cmp r0, r1 beq _020438E8 bl sub_02028354 cmp r0, #3 bne _020438E8 ldr r0, _02043940 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] bl sub_0202810C _020438E8: ldr r0, _02043940 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_02028354 cmp r0, #3 bne _02043918 ldr r0, _02043940 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202810C _02043918: ldr r0, _02043940 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C620 ldr r0, _02043940 ; =_020AFEB4 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x90c] ldmia sp!, {r3, pc} .align 2, 0 _02043940: .word _020AFEB4 arm_func_end sub_02043844 arm_func_start sub_02043944 sub_02043944: ; 0x02043944 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _020439E8 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0xb4 add r0, r0, #0x1800 bl sub_020547C8 ldr r0, _020439E8 ; =_020AFEB4 mov r1, #0 ldr r0, [r0, #4] add r0, r0, #0xb4 add r0, r0, #0x1800 bl sub_02054804 ldr r1, _020439E8 ; =_020AFEB4 ldr r2, _020439EC ; =0x000002FE ldr r0, [r1, #4] mov r3, #0x10 add r0, r0, #0x800 strh r2, [r0, #0x7c] ldr r2, [r1, #4] ldr r0, _020439F0 ; =_0209CA78 str r3, [r2, #0x880] ldr r3, [r1, #4] ldr r1, _020439F4 ; =0x00481813 add r2, r3, #0x1800 ldrsh ip, [r2, #0xb4] add r2, r3, #0x74 ldr r3, _020439F8 ; =sub_02043BAC str ip, [sp] mov ip, #9 add r2, r2, #0x800 str ip, [sp, #4] bl CreateAdvancedMenu ldr r1, _020439E8 ; =_020AFEB4 mov r2, #5 ldr r3, [r1, #4] strb r0, [r3, #0x7d9] ldr r0, [r1, #4] str r2, [r0, #0x90c] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _020439E8: .word _020AFEB4 _020439EC: .word 0x000002FE _020439F0: .word _0209CA78 _020439F4: .word 0x00481813 _020439F8: .word sub_02043BAC arm_func_end sub_02043944 arm_func_start sub_020439FC sub_020439FC: ; 0x020439FC stmdb sp!, {r3, r4, r5, lr} ldr r0, _02043B78 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd9] bl sub_0202BCBC cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02043B78 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd9] bl GetAdvancedMenuCurrentOption ldr r1, _02043B78 ; =_020AFEB4 mov r4, r0, lsl #0x10 ldr r0, [r1, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd9] bl GetAdvancedMenuResult ldr r1, _02043B78 ; =_020AFEB4 mov r5, r0, lsl #0x10 ldr r0, [r1, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd9] bl FreeAdvancedMenu ldr r0, _02043B78 ; =_020AFEB4 mvn r3, #1 ldr r1, [r0, #4] mov r2, r4, asr #0xf strb r3, [r1, #0x7d9] ldr r1, [r0, #4] add r0, r1, #0x1000 add r1, r1, #0xb4 ldr r3, [r0, #0x8b8] add r0, r1, #0x1800 ldrsh r4, [r3, r2] bl sub_020547D8 mvn r0, #0 cmp r0, r5, asr #16 bne _02043AB8 ldr r0, _02043B78 ; =_020AFEB4 mov r1, #0 strh r1, [r0] ldr r0, [r0, #4] mov r1, #6 str r1, [r0, #0x90c] ldmia sp!, {r3, r4, r5, pc} _02043AB8: mov r0, r4 bl sub_020440F8 cmp r0, #0 bgt _02043B38 ldr r0, _02043B78 ; =_020AFEB4 mov r1, #0 strh r1, [r0] ldr r0, [r0, #4] sub r1, r1, #2 add r0, r0, #0x700 ldrsb r0, [r0, #0xd5] cmp r0, r1 beq _02043AF0 bl sub_0202812C _02043AF0: ldr r0, _02043B78 ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] cmp r0, r1 beq _02043B10 bl sub_0202812C _02043B10: ldr r0, _02043B78 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202812C ldr r0, _02043B78 ; =_020AFEB4 mov r1, #1 ldr r0, [r0, #4] str r1, [r0, #0x90c] ldmia sp!, {r3, r4, r5, pc} _02043B38: ldr r2, _02043B78 ; =_020AFEB4 strh r4, [r2] ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] ldr r1, [r2, #4] add r0, r1, #0x700 add r1, r1, #0x900 ldrsb r0, [r0, #0xd4] ldrsh r1, [r1, #0x10] bl sub_0202C6D4 ldr r0, _02043B78 ; =_020AFEB4 mov r1, #6 ldr r0, [r0, #4] str r1, [r0, #0x90c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02043B78: .word _020AFEB4 arm_func_end sub_020439FC arm_func_start sub_02043B7C sub_02043B7C: ; 0x02043B7C stmdb sp!, {r3, lr} ldr r0, _02043BA8 ; =_020AFEB4 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd4] bl sub_0202C620 ldr r0, _02043BA8 ; =_020AFEB4 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x90c] ldmia sp!, {r3, pc} .align 2, 0 _02043BA8: .word _020AFEB4 arm_func_end sub_02043B7C arm_func_start sub_02043BAC sub_02043BAC: ; 0x02043BAC stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 blt _02043BD4 ldr r2, _02043BF8 ; =_020AFEB4 ldr r3, [r2, #4] add r2, r3, #0x1800 ldrsh r2, [r2, #0xb4] cmp r1, r2 blt _02043BDC _02043BD4: mov r0, #0 ldmia sp!, {r4, pc} _02043BDC: add r2, r3, #0x1000 ldr r2, [r2, #0x8b8] mov r1, r1, lsl #1 ldrsh r1, [r2, r1] bl GetNameRaw mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02043BF8: .word _020AFEB4 arm_func_end sub_02043BAC arm_func_start sub_02043BFC sub_02043BFC: ; 0x02043BFC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r2, _0204408C ; =_020AFEB4 mov sb, r0 ldr r0, [r2, #4] mov r4, r1 ldr r6, [r0] bl sub_0200FD48 sub r1, r6, #5 mov r5, r0 cmp r1, #2 mov r7, #0 movls r0, #1 movhi r0, r7 cmp r4, #0 and r4, r0, #0xff beq _02043D0C mov r0, #0x3e8 mov r1, #8 bl MemAlloc mov r8, r0 mov sl, #0 ldr r0, _0204408C ; =_020AFEB4 mov r1, sl mov r2, #1 _02043C5C: ldr r3, [r0, #8] ldrb r3, [r3, sl] cmp r3, #1 moveq r3, r2 movne r3, r1 strb r3, [r8, sl] add sl, sl, #1 cmp sl, #0x3e8 blt _02043C5C bl sub_0200FD48 mov r1, r0 mov r0, r8 bl sub_02010424 mov sl, #0 ldr r0, _0204408C ; =_020AFEB4 mov r2, sl mov r3, #1 _02043CA0: ldrb r1, [r8, sl] cmp r1, #0 movne fp, r3 ldr r1, [r0, #8] moveq fp, r2 strb fp, [r1, sl] add sl, sl, #1 cmp sl, #0x3e8 blt _02043CA0 mov r0, r8 bl MemFree ldr r0, _0204408C ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd5] cmp r0, r1 beq _02043CEC bl sub_0202F9B8 _02043CEC: ldr r0, _0204408C ; =_020AFEB4 mvn r1, #1 ldr r0, [r0, #4] add r0, r0, #0x700 ldrsb r0, [r0, #0xd6] cmp r0, r1 beq _02043D0C bl sub_0202F9B8 _02043D0C: mov r8, #0 b _02043DE4 _02043D14: ldr r0, _02044090 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r0, r0, r8, lsl #1 add r0, r0, #0x300 ldrsh r1, [r0, #0x8a] cmp r1, #0 beq _02043DEC cmp r4, #0 beq _02043D48 ldrsh r0, [r0, #0x8a] bl IsItemValidVeneer cmp r0, #0 beq _02043DD8 _02043D48: cmp r6, #7 bne _02043DBC ldr r0, _02044090 ; =BAG_ITEMS_PTR_MIRROR ldr r0, [r0] add r1, r0, r8, lsl #1 add r0, r1, #0x300 ldrsh sl, [r0, #0x8a] add r0, r1, #0xb00 ldrh fp, [r0, #0x5a] mov r0, sl bl IsItemInTimeDarkness cmp r0, #0 beq _02043DB0 mov r0, sl bl IsTreasureBox cmp r0, #0 beq _02043DA8 mov r0, fp, lsl #0x10 mov r0, r0, asr #0x10 bl IsItemInTimeDarkness cmp r0, #0 beq _02043DB0 mov r0, #1 b _02043DB4 _02043DA8: mov r0, #1 b _02043DB4 _02043DB0: mov r0, #0 _02043DB4: cmp r0, #0 beq _02043DD8 _02043DBC: ldr r0, _0204408C ; =_020AFEB4 add r2, r7, #1 ldr r0, [r0, #4] add r1, r0, r7, lsl #1 mov r0, r2, lsl #0x10 strh r8, [r1, #4] mov r7, r0, asr #0x10 _02043DD8: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _02043DE4: cmp r8, r5 blt _02043D14 _02043DEC: mov r4, r7 mvn r3, #0 ldr r1, _0204408C ; =_020AFEB4 b _02043E14 _02043DFC: ldr r2, [r1, #4] add r0, r4, #1 add r2, r2, r4, lsl #1 mov r0, r0, lsl #0x10 strh r3, [r2, #4] mov r4, r0, asr #0x10 _02043E14: cmp r4, r5 blt _02043DFC mov r0, r7, lsl #0x10 ldr r4, _0204408C ; =_020AFEB4 mov r5, r0, asr #0x10 cmp r5, #0 str sb, [r4, #0x10] movle r0, #9 strle r0, [r4, #0x10] suble r0, r0, #0xa ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp sb, #9 moveq r0, r5 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r8, #0 mov r7, r8 mov fp, #1 ldr sl, _02044090 ; =BAG_ITEMS_PTR_MIRROR b _02044070 _02043E60: ldr r1, [r4, #4] ldr r0, [sl] add r1, r1, r7, lsl #1 ldrsh r6, [r1, #4] add r0, r0, r6, lsl #1 add r0, r0, #0x300 ldrsh r0, [r0, #0x8a] bl GetItemCategoryVeneer ldr r1, [sl] add r1, r1, r6, lsl #1 add r1, r1, #0x300 ldrsh r1, [r1, #0x8a] cmp r1, #0x5c bgt _02043EA0 beq _02043F20 b _02043F24 _02043EA0: sub r1, r1, #0x190 cmp r1, #0x1b addls pc, pc, r1, lsl #2 b _02043F24 _02043EB0: ; jump table b _02043F20 ; case 0 b _02043F20 ; case 1 b _02043F20 ; case 2 b _02043F20 ; case 3 b _02043F20 ; case 4 b _02043F20 ; case 5 b _02043F20 ; case 6 b _02043F20 ; case 7 b _02043F20 ; case 8 b _02043F20 ; case 9 b _02043F20 ; case 10 b _02043F20 ; case 11 b _02043F20 ; case 12 b _02043F20 ; case 13 b _02043F20 ; case 14 b _02043F20 ; case 15 b _02043F20 ; case 16 b _02043F20 ; case 17 b _02043F20 ; case 18 b _02043F20 ; case 19 b _02043F20 ; case 20 b _02043F20 ; case 21 b _02043F20 ; case 22 b _02043F20 ; case 23 b _02043F20 ; case 24 b _02043F20 ; case 25 b _02043F20 ; case 26 b _02043F20 ; case 27 _02043F20: mov r0, #7 _02043F24: cmp sb, #9 addls pc, pc, sb, lsl #2 b _0204402C _02043F30: ; jump table b _02043F58 ; case 0 b _02043F70 ; case 1 b _02043F88 ; case 2 b _02043F9C ; case 3 b _02043FB4 ; case 4 b _02043FC8 ; case 5 b _02043FDC ; case 6 b _02043FF8 ; case 7 b _0204402C ; case 8 b _0204402C ; case 9 _02043F58: cmp r0, #0 cmpne r0, #1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _02044030 _02043F70: cmp r0, #2 cmpne r0, #3 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _02044030 _02043F88: cmp r0, #4 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _02044030 _02043F9C: cmp r0, #5 cmpne r0, #0xb moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _02044030 _02043FB4: cmp r0, #9 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _02044030 _02043FC8: cmp r0, #0xf moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _02044030 _02043FDC: add r0, r0, #0xf4 and r0, r0, #0xff cmp r0, #2 movls r0, #1 movhi r0, #0 and r0, r0, #0xff b _02044030 _02043FF8: add r0, r0, #0xfa and r0, r0, #0xff cmp r0, #4 mov r1, #0 bhi _02044018 mov r0, fp, lsl r0 tst r0, #0x17 movne r1, fp _02044018: cmp r1, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff b _02044030 _0204402C: mov r0, #1 _02044030: cmp r0, #0 beq _02044064 ldr r0, [r4, #4] add r1, r8, #1 mov r1, r1, lsl #0x10 add r2, r0, r8, lsl #1 ldrsh r2, [r2, #4] add r0, r0, r7, lsl #1 strh r2, [r0, #4] ldr r0, [r4, #4] add r0, r0, r8, lsl #1 strh r6, [r0, #4] mov r8, r1, asr #0x10 _02044064: add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _02044070: cmp r7, r5 blt _02043E60 cmp r8, #0 mvnle r8, #0 mov r0, r8, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0204408C: .word _020AFEB4 _02044090: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_02043BFC arm_func_start sub_02044094 sub_02044094: ; 0x02044094 stmdb sp!, {r3, lr} mov r0, #0x3e8 mov r1, #8 bl MemAlloc ldr r1, _020440B4 ; =_020AFEB4 str r0, [r1, #8] bl sub_020434D4 ldmia sp!, {r3, pc} .align 2, 0 _020440B4: .word _020AFEB4 arm_func_end sub_02044094 arm_func_start sub_020440B8 sub_020440B8: ; 0x020440B8 stmdb sp!, {r3, lr} ldr r0, _020440D8 ; =_020AFEB4 ldr r0, [r0, #8] bl MemFree ldr r0, _020440D8 ; =_020AFEB4 mov r1, #0 str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _020440D8: .word _020AFEB4 arm_func_end sub_020440B8 arm_func_start sub_020440DC sub_020440DC: ; 0x020440DC ldr r0, _020440F4 ; =_020AFEB4 mov r1, #9 str r1, [r0, #0x10] mov r1, #0 strh r1, [r0] bx lr .align 2, 0 _020440F4: .word _020AFEB4 arm_func_end sub_020440DC arm_func_start sub_020440F8 sub_020440F8: ; 0x020440F8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, #0 mov sl, r0 mov r1, sb bl GetType mov r6, r0 mov r0, sl mov r1, #1 bl GetType mov r7, r0 mov r8, sb ldr r4, _020441B4 ; =_020AFEB4 ldr fp, _020441B8 ; =BAG_ITEMS_PTR_MIRROR b _02044198 _02044130: add r0, r1, r8, lsl #1 ldrsh r5, [r0, #4] ldr r0, [fp] mov r1, sl add r0, r0, r5, lsl #1 add r0, r0, #0x300 ldrsh r0, [r0, #0x8a] mov r2, r6 mov r3, r7 bl IsExclusiveItemIdForMonster cmp r0, #0 beq _0204418C ldr r3, [r4, #4] add r0, sb, #1 add r1, r3, sb, lsl #1 ldrsh r2, [r1, #4] add r1, r3, r8, lsl #1 mov r0, r0, lsl #0x10 strh r2, [r1, #4] ldr r1, [r4, #4] add r1, r1, sb, lsl #1 strh r5, [r1, #4] mov sb, r0, asr #0x10 _0204418C: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _02044198: ldr r1, [r4, #4] add r0, r1, #0x900 ldrsh r0, [r0, #0x10] cmp r8, r0 blt _02044130 mov r0, sb ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020441B4: .word _020AFEB4 _020441B8: .word BAG_ITEMS_PTR_MIRROR arm_func_end sub_020440F8 arm_func_start sub_020441BC sub_020441BC: ; 0x020441BC stmdb sp!, {r3, lr} ldr r0, _0204420C ; =_020AFEB4 mov r1, #1 ldr r0, [r0, #0x10] bl sub_02043BFC ldr r2, _0204420C ; =_020AFEB4 mov r3, #0 ldr r1, [r2, #4] add r1, r1, #0x900 strh r0, [r1, #0x10] ldr r2, [r2, #4] add r0, r2, #0x700 add r1, r2, #0x900 add r2, r2, #0x1000 ldrsb r0, [r0, #0xd4] ldrsh r1, [r1, #0x10] ldr r2, [r2, #0x8bc] bl sub_0202C654 bl sub_02044308 ldmia sp!, {r3, pc} .align 2, 0 _0204420C: .word _020AFEB4 arm_func_end sub_020441BC arm_func_start sub_02044210 sub_02044210: ; 0x02044210 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x54 mov r4, r0 bl sub_02027B1C mov r0, r4 mov r1, #0xa mov r2, #2 mov r3, #0x300 bl sub_02026268 bl sub_020434FC str r0, [sp, #0x28] add r1, sp, #4 str r1, [sp] ldr r3, _02044268 ; =0x00000301 mov r0, r4 mov r1, #0x66 mov r2, #2 bl sub_020262E0 mov r0, r4 bl sub_02027AF0 add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 _02044268: .word 0x00000301 arm_func_end sub_02044210 arm_func_start sub_0204426C sub_0204426C: ; 0x0204426C stmdb sp!, {r4, lr} mov r4, r0 mov r0, #8 mov r1, r0 bl MemAlloc ldr r1, _020442C0 ; =_020AFEC8 mov r3, #1 str r0, [r1] str r4, [r0] ldr r0, [r1] ldr r2, _020442C4 ; =_0209CB0C strb r3, [r0, #4] ldr r0, [r1] ldr r1, _020442C8 ; =sub_02044338 ldr r0, [r0] add r0, r2, r0, lsl #4 bl sub_0202F8C4 ldr r1, _020442C0 ; =_020AFEC8 ldr r1, [r1] strb r0, [r1, #5] ldmia sp!, {r4, pc} .align 2, 0 _020442C0: .word _020AFEC8 _020442C4: .word _0209CB0C _020442C8: .word sub_02044338 arm_func_end sub_0204426C arm_func_start sub_020442CC sub_020442CC: ; 0x020442CC stmdb sp!, {r3, lr} ldr r0, _02044304 ; =_020AFEC8 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0, #5] bl sub_0202F918 ldr r0, _02044304 ; =_020AFEC8 ldr r0, [r0] bl MemFree ldr r0, _02044304 ; =_020AFEC8 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02044304: .word _020AFEC8 arm_func_end sub_020442CC arm_func_start sub_02044308 sub_02044308: ; 0x02044308 stmdb sp!, {r3, lr} ldr r0, _02044334 ; =_020AFEC8 ldr r2, [r0] cmp r2, #0 ldmeqia sp!, {r3, pc} mov r1, #1 strb r1, [r2, #4] ldr r0, [r0] ldrsb r0, [r0, #5] bl sub_0202F9B8 ldmia sp!, {r3, pc} .align 2, 0 _02044334: .word _020AFEC8 arm_func_end sub_02044308 arm_func_start sub_02044338 sub_02044338: ; 0x02044338 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x54 ldr r1, _02044404 ; =_020AFEC8 mov r5, r0 ldr r2, [r1] ldrb r1, [r2, #4] cmp r1, #0 beq _020443FC mov r1, #0 strb r1, [r2, #4] mov r4, #2 bl sub_02027B1C ldr r0, _02044404 ; =_020AFEC8 ldr r0, [r0] ldr r0, [r0] cmp r0, #0 cmpne r0, #2 bne _020443B0 bl GetNbItemsInBag str r0, [sp, #0x28] bl GetCurrentBagCapacity mov r2, #2 str r0, [sp, #0x2c] add r1, sp, #4 str r1, [sp] mov r0, r5 add r3, r2, #0x330 mov r1, #0 bl sub_020262E0 add r4, r4, #0x10 _020443B0: ldr r0, _02044404 ; =_020AFEC8 ldr r0, [r0] ldr r0, [r0] sub r0, r0, #1 cmp r0, #1 bhi _020443F4 bl sub_0200FD78 str r0, [sp, #0x28] bl sub_0200FD48 str r0, [sp, #0x2c] add ip, sp, #4 ldr r3, _02044408 ; =0x00000333 mov r0, r5 mov r2, r4 mov r1, #0 str ip, [sp] bl sub_020262E0 _020443F4: mov r0, r5 bl sub_02027AF0 _020443FC: add sp, sp, #0x54 ldmia sp!, {r4, r5, pc} .align 2, 0 _02044404: .word _020AFEC8 _02044408: .word 0x00000333 arm_func_end sub_02044338 arm_func_start sub_0204440C sub_0204440C: ; 0x0204440C stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0xc mov r1, #8 bl MemAlloc ldr r2, _02044468 ; =_020AFECC mov ip, #0 str r0, [r2] str r4, [r0] ldr r1, [r2] ldr r0, _0204446C ; =_0209CB3C strh ip, [r1, #6] ldr r3, [r2] ldr r1, _02044470 ; =sub_020444F0 strh ip, [r3, #8] ldr r2, [r2] mov r3, #1 strb r3, [r2, #4] bl sub_0202F8C4 ldr r1, _02044468 ; =_020AFECC ldr r1, [r1] strb r0, [r1, #0xa] ldmia sp!, {r4, pc} .align 2, 0 _02044468: .word _020AFECC _0204446C: .word _0209CB3C _02044470: .word sub_020444F0 arm_func_end sub_0204440C arm_func_start sub_02044474 sub_02044474: ; 0x02044474 stmdb sp!, {r3, lr} ldr r0, _020444AC ; =_020AFECC ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0, #0xa] bl sub_0202F918 ldr r0, _020444AC ; =_020AFECC ldr r0, [r0] bl MemFree ldr r0, _020444AC ; =_020AFECC mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _020444AC: .word _020AFECC arm_func_end sub_02044474 arm_func_start sub_020444B0 sub_020444B0: ; 0x020444B0 stmdb sp!, {r3, lr} ldr r1, _020444EC ; =_020AFECC ldr r3, [r1] cmp r3, #0 ldrnesh r2, [r3, #6] cmpne r2, r0 ldmeqia sp!, {r3, pc} strh r0, [r3, #6] ldr r0, [r1] mov r2, #1 strb r2, [r0, #4] ldr r0, [r1] ldrsb r0, [r0, #0xa] bl sub_0202F9B8 ldmia sp!, {r3, pc} .align 2, 0 _020444EC: .word _020AFECC arm_func_end sub_020444B0 arm_func_start sub_020444F0 sub_020444F0: ; 0x020444F0 stmdb sp!, {r4, lr} ldr r1, _02044564 ; =_020AFECC mov r4, r0 ldr r2, [r1] ldrb r1, [r2, #4] cmp r1, #0 ldmeqia sp!, {r4, pc} mov r1, #0 strb r1, [r2, #4] bl sub_02027B1C ldr r0, _02044564 ; =_020AFECC ldr r2, [r0] ldrsh r1, [r2, #6] strh r1, [r2, #8] ldr r0, [r0] ldrsh r0, [r0, #8] cmp r0, #0 beq _02044558 add r0, r0, #0x49 add r0, r0, #0x2f00 mov r3, r0, lsl #0x10 mov r1, #2 mov r0, r4 mov r2, r1 mov r3, r3, lsr #0x10 bl sub_02026268 _02044558: mov r0, r4 bl sub_02027AF0 ldmia sp!, {r4, pc} .align 2, 0 _02044564: .word _020AFECC arm_func_end sub_020444F0 arm_func_start sub_02044568 sub_02044568: ; 0x02044568 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #8 mov r1, r0 bl MemAlloc ldr r1, _020445BC ; =_020AFED0 mov r3, #1 str r0, [r1] str r4, [r0] ldr r0, [r1] ldr r2, _020445C0 ; =_0209CB4C strb r3, [r0, #4] ldr r0, [r1] ldr r1, _020445C4 ; =sub_02044604 ldr r0, [r0] add r0, r2, r0, lsl #4 bl sub_0202F8C4 ldr r1, _020445BC ; =_020AFED0 ldr r1, [r1] strb r0, [r1, #5] ldmia sp!, {r4, pc} .align 2, 0 _020445BC: .word _020AFED0 _020445C0: .word _0209CB4C _020445C4: .word sub_02044604 arm_func_end sub_02044568 arm_func_start sub_020445C8 sub_020445C8: ; 0x020445C8 stmdb sp!, {r3, lr} ldr r0, _02044600 ; =_020AFED0 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0, #5] bl sub_0202F918 ldr r0, _02044600 ; =_020AFED0 ldr r0, [r0] bl MemFree ldr r0, _02044600 ; =_020AFED0 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02044600: .word _020AFED0 arm_func_end sub_020445C8 arm_func_start sub_02044604 sub_02044604: ; 0x02044604 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x54 ldr r1, _02044680 ; =_020AFED0 mov r4, r0 ldr r2, [r1] ldrb r1, [r2, #4] cmp r1, #0 beq _02044678 mov r1, #0 strb r1, [r2, #4] bl sub_02027B1C mov r0, r4 mov r1, #4 mov r2, #0 mov r3, #0x334 bl sub_02026268 bl GetGold mov r1, #0x18 str r1, [sp, #0x2c] str r0, [sp, #0x28] add r1, sp, #4 str r1, [sp] ldr r3, _02044684 ; =0x00000335 mov r0, r4 mov r1, #0x10 mov r2, #0xc bl sub_020262E0 mov r0, r4 bl sub_02027AF0 _02044678: add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 _02044680: .word _020AFED0 _02044684: .word 0x00000335 arm_func_end sub_02044604 arm_func_start sub_02044688 sub_02044688: ; 0x02044688 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xa4 mov r6, r0 mov r5, r1 ldr r0, _020447E8 ; =0x00000944 mov r1, #8 mov r8, r2 mov r7, r3 bl MemAlloc ldr r1, _020447E8 ; =0x00000944 mov r4, r0 bl MemZero mov r1, r8 mov r2, r7 mov r3, #0 strb r3, [r4, #0x72e] strb r3, [r4, #0x82e] str r3, [r4, #0x940] sub r0, r3, #1 str r0, [r4, #0x930] str r3, [r4, #0x940] ldr r3, [sp, #0xc4] add r0, r4, #4 str r3, [sp] ldrb r3, [sp, #0xc0] bl sub_02044BF8 ldr r0, _020447EC ; =_0209CB78 ldr r1, _020447F0 ; =sub_02044964 mov r2, r4 bl sub_0202F8DC strb r0, [r4, #0x72c] cmp r5, #3 mov r0, #0x10 str r0, [sp, #0x18] ldr r1, _020447F4 ; =0x00000A36 add r0, r4, #0x2e add r0, r0, #0x700 str r0, [sp, #0x54] strh r1, [sp, #0x14] bne _02044760 add r1, r1, #3 add r0, r4, #0x900 strh r1, [r0, #0x2e] str r4, [sp] mov r1, #0 str r1, [sp, #4] str r1, [sp, #8] ldr r0, _020447F8 ; =_0209CB88 ldr r3, _020447FC ; =sub_02044990 add r2, sp, #0xc mov r1, #0x800 bl sub_020305E4 strb r0, [r4, #0x72d] b _020447A8 _02044760: cmp r5, #2 addne r1, r1, #3 addne r0, r4, #0x900 strneh r1, [r0, #0x2e] bne _020447A8 add r1, r1, #2 add r0, r4, #0x900 strh r1, [r0, #0x2e] str r4, [sp] mov r1, #0 str r1, [sp, #4] str r1, [sp, #8] ldr r0, _020447F8 ; =_0209CB88 ldr r3, _020447FC ; =sub_02044990 add r2, sp, #0xc mov r1, #0x800 bl sub_020305E4 strb r0, [r4, #0x72d] _020447A8: mov r0, r6 str r6, [r4, #0x934] bl GetItemAtIdx ldrh r2, [r0] add r1, r4, #0x900 strh r2, [r1, #0x38] ldrh r2, [r0, #2] strh r2, [r1, #0x3a] ldrh r2, [r0, #4] mov r0, r4 strh r2, [r1, #0x3c] str r5, [r4] bl sub_02044AEC mov r0, r4 add sp, sp, #0xa4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _020447E8: .word 0x00000944 _020447EC: .word _0209CB78 _020447F0: .word sub_02044964 _020447F4: .word 0x00000A36 _020447F8: .word _0209CB88 _020447FC: .word sub_02044990 arm_func_end sub_02044688 arm_func_start sub_02044800 sub_02044800: ; 0x02044800 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x940] cmp r0, #3 addls pc, pc, r0, lsl #2 b _020448E4 _02044818: ; jump table b _02044828 ; case 0 b _02044830 ; case 1 b _020448B8 ; case 2 b _020448DC ; case 3 _02044828: mov r0, #1 str r0, [r5, #0x940] _02044830: add r0, r5, #4 bl sub_020451D8 mov r4, r0 mov r0, r5 bl sub_02044AEC cmp r4, #0 beq _020448E4 mov r0, #2 str r0, [r5, #0x940] cmp r4, #2 bne _020448E4 add r0, r5, #4 bl sub_020452A0 cmp r0, #3 addls pc, pc, r0, lsl #2 b _020448A0 _02044870: ; jump table b _02044880 ; case 0 b _02044888 ; case 1 b _02044890 ; case 2 b _02044898 ; case 3 _02044880: mov r1, #1 b _020448A4 _02044888: mov r1, #2 b _020448A4 _02044890: mov r1, #3 b _020448A4 _02044898: mov r1, #4 b _020448A4 _020448A0: mov r1, #0 _020448A4: ldr r0, [r5, #0x934] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02058460 b _020448E4 _020448B8: add r0, r5, #4 bl sub_020452B8 cmp r0, #0 beq _020448E4 mov r0, r5 bl sub_02044918 mov r0, #3 str r0, [r5, #0x940] b _020448E4 _020448DC: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _020448E4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02044800 arm_func_start sub_020448EC sub_020448EC: ; 0x020448EC stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} bl sub_02044918 ldr r0, [r4] bl MemFree mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_020448EC arm_func_start sub_02044918 sub_02044918: ; 0x02044918 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x700 ldrsb r0, [r0, #0x2d] mvn r1, #1 cmp r0, r1 beq _02044940 bl sub_020308A0 mvn r0, #1 strb r0, [r4, #0x72d] _02044940: add r0, r4, #0x700 ldrsb r0, [r0, #0x2c] mvn r1, #1 cmp r0, r1 ldmeqia sp!, {r4, pc} bl sub_0202F8FC mvn r0, #1 strb r0, [r4, #0x72c] ldmia sp!, {r4, pc} arm_func_end sub_02044918 arm_func_start sub_02044964 sub_02044964: ; 0x02044964 stmdb sp!, {r4, lr} add r1, r1, #0x900 mov r4, r0 ldrh r0, [r1, #0x2e] bl StringFromMessageId mov r1, #2 mov r3, r0 mov r0, r4 mov r2, r1 bl sub_02026214 ldmia sp!, {r4, pc} arm_func_end sub_02044964 arm_func_start sub_02044990 sub_02044990: ; 0x02044990 ldr ip, _020449A8 ; =sub_02026214 add r1, r1, #0x2e add r3, r1, #0x800 mov r1, #2 mov r2, #0x10 bx ip .align 2, 0 _020449A8: .word sub_02026214 arm_func_end sub_02044990 arm_func_start sub_020449AC sub_020449AC: ; 0x020449AC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 add r0, r6, #4 mov r5, r1 mov r4, #0 bl sub_02045298 cmp r0, #0 bne _020449E8 mov r0, r5 bl sub_02045330 add r2, r6, #0x2e mov r1, r0 add r0, r2, #0x700 bl sub_020584FC b _02044A30 _020449E8: ldr r1, _02044ADC ; =ov29_02353538 add r0, r6, #0x2e ldr r1, [r1] add r0, r0, #0x700 add r1, r1, r5, lsl #2 add r1, r1, #0x12000 ldr r1, [r1, #0xb28] mov r2, r4 ldr r7, [r1, #0xb4] bl ov00_022E2A78 ldrb r0, [r7, #0xbc] cmp r0, #7 beq _02044A2C mov r0, r7 bl IsExperienceLocked cmp r0, #0 beq _02044A30 _02044A2C: mov r4, #1 _02044A30: cmp r4, #0 beq _02044A4C add r0, r6, #0x2e ldr r1, _02044AE0 ; =0x00000A3D add r0, r0, #0x800 bl GetStringFromFileVeneer b _02044ACC _02044A4C: add r0, r6, #4 bl sub_02045298 cmp r0, #0 bne _02044A70 mov r0, r5 bl sub_02045330 bl GetActiveTeamMember add r1, r0, #0x3e b _02044A8C _02044A70: ldr r0, _02044ADC ; =ov29_02353538 ldr r0, [r0] add r0, r0, r5, lsl #2 add r0, r0, #0x12000 ldr r0, [r0, #0xb28] ldr r0, [r0, #0xb4] add r1, r0, #0x62 _02044A8C: ldrb r0, [r1] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff add r0, r6, #0x2e bne _02044AB8 ldr r1, _02044AE4 ; =0x00000A37 add r0, r0, #0x800 bl GetStringFromFileVeneer b _02044ACC _02044AB8: ldr r2, _02044AE8 ; =_0209CB6C mov r3, #1 add r0, r0, #0x800 str r3, [sp] bl sub_0200D310 _02044ACC: add r0, r6, #0x700 ldrsb r0, [r0, #0x2d] bl sub_0203083C ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02044ADC: .word ov29_02353538 _02044AE0: .word 0x00000A3D _02044AE4: .word 0x00000A37 _02044AE8: .word _0209CB6C arm_func_end sub_020449AC arm_func_start sub_02044AEC sub_02044AEC: ; 0x02044AEC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 add r0, r7, #4 bl sub_020452A0 mov r4, r0 mvn r0, #0 cmp r4, r0 ldrne r0, [r7, #0x930] ldr r5, [r7] cmpne r0, r4 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, r7, #4 bl sub_02045298 cmp r0, #0 bne _02044B5C cmp r5, #1 addne r0, r7, #0x700 ldrnesb r1, [r0, #0x2d] mvnne r0, #1 cmpne r1, r0 beq _02044BEC sub r0, r5, #2 cmp r0, #1 bhi _02044BEC mov r0, r7 mov r1, r4 bl sub_020449AC b _02044BEC _02044B5C: ldr r0, _02044BF4 ; =ov29_02353538 ldr r0, [r0] add r0, r0, r4, lsl #2 add r0, r0, #0x12000 ldr r6, [r0, #0xb28] cmp r6, #0 moveq r0, #0 beq _02044B90 ldr r0, [r6] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff _02044B90: cmp r0, #0 cmpne r5, #1 beq _02044BC8 sub r0, r5, #2 cmp r0, #1 bhi _02044BC8 add r0, r7, #0x700 ldrsb r1, [r0, #0x2d] mvn r0, #1 cmp r1, r0 beq _02044BC8 mov r0, r7 mov r1, r4 bl sub_020449AC _02044BC8: mov r0, r6 mov r1, #0 mov r2, #1 bl TryPointCameraToMonster mov r2, #1 mov r3, r2 add r0, r6, #4 mov r1, #0 bl DrawTileGrid _02044BEC: str r4, [r7, #0x930] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02044BF4: .word ov29_02353538 arm_func_end sub_02044AEC arm_func_start sub_02044BF8 sub_02044BF8: ; 0x02044BF8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xbc mov fp, r1 str r2, [sp, #4] ldr r1, _0204519C ; =0x00000728 mov sl, r0 str r3, [sp, #8] bl MemZero ldr sb, [sp, #0xe0] add r0, sl, #0x20c mov r4, #0 str r4, [sl] cmp sb, #0 add r7, r0, #0x400 bne _02044CD8 mov r8, r4 mov fp, r4 mov r6, #1 mov r5, r4 _02044C44: mov r0, r8 bl GetActiveTeamMember ldrb r0, [r0] tst r0, #1 movne r1, r6 moveq r1, fp tst r1, #0xff beq _02044C88 tst r0, #2 movne r0, #1 moveq r0, #0 tst r0, #0xff addne r1, r7, r4, lsl #2 addne r0, r7, r4 strne r8, [r1, #8] strneb r5, [r0, #0x18] addne r4, r4, #1 _02044C88: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 cmp r8, #4 blt _02044C44 mov r0, r4, lsl #0x10 mov r5, r0, asr #0x10 mvn r3, #0 mov r2, #0 b _02044CCC _02044CB0: add r1, r7, r5, lsl #2 add r0, r5, #1 str r3, [r1, #8] add r1, r7, r5 mov r0, r0, lsl #0x10 strb r2, [r1, #0x18] mov r5, r0, asr #0x10 _02044CCC: cmp r5, #4 blt _02044CB0 b _02044D78 _02044CD8: mov r5, r4 _02044CDC: ldr r0, _020451A0 ; =ov29_02353538 ldr r0, [r0] add r0, r0, r5, lsl #2 add r0, r0, #0x12000 ldr r6, [r0, #0xb28] mov r0, r6 bl sub_0204533C cmp r0, #0 beq _02044D40 cmp fp, #0 beq _02044D18 mov r0, r6 ldr r8, [r6, #0xb4] bl ov29_02347100 strb r0, [r8, #0x161] _02044D18: add r0, r7, r4, lsl #2 str r5, [r0, #8] ldr r0, [r6, #0xb4] ldrb r0, [r0, #0x161] cmp r0, #0 movne r1, #0 add r0, r7, r4 moveq r1, #3 strb r1, [r0, #0x18] add r4, r4, #1 _02044D40: add r5, r5, #1 cmp r5, #4 blt _02044CDC mov r5, r4 mvn r3, #0 mov r1, #0 b _02044D70 _02044D5C: add r2, r7, r5, lsl #2 add r0, r7, r5 str r3, [r2, #8] strb r1, [r0, #0x18] add r5, r5, #1 _02044D70: cmp r5, #4 blt _02044D5C _02044D78: ldr r0, [sp, #0xe0] str r4, [r7, #0x1c] str r0, [r7] cmp sb, #0 moveq r0, #0 beq _02044D98 mov r0, #0xb bl Arm9LoadUnkFieldNa0x2029EC8 _02044D98: str r0, [sl, #0x6e8] str r4, [sl, #0x6ec] str r4, [sl, #0x6f0] mov sb, #0 str sb, [sl, #0x6f4] str sb, [sl, #0x6f8] add r0, sl, #0x18c str sb, [sl, #0x6dc] add r2, sl, #0x20c add r0, r0, #0x400 mov r1, #0x40 str sb, [sl, #0x6e0] add r5, r2, #0x400 bl MemZero add r0, sl, #0x1cc add r0, r0, #0x400 mov r1, #0x40 bl MemZero add r0, sl, #0x18c add r0, r0, #0x400 str r0, [sp, #0x14] add r0, sl, #0x3c add r1, sl, #0x1cc add r2, sl, #0x13c str r0, [sp, #0x10] add r0, r2, #0x400 str r0, [sp, #0x18] ldr r0, _020451A4 ; =0x000003E7 mov r6, sb sub r0, r0, #0x3e8 str r0, [sp, #0x20] ldr r0, _020451A4 ; =0x000003E7 add r4, r1, #0x400 sub r0, r0, #0x3e8 str r0, [sp, #0x1c] b _020450F8 _02044E28: mov r0, r5 mov r1, r6 bl sub_02045360 mov fp, r0 ldr r0, [sp, #0x1c] cmp fp, r0 beq _020450F4 ldr r0, [sp, #0x10] mov r1, r6 add r0, r0, sb, lsl #8 str r0, [sp, #0xc] mov r0, r5 bl sub_02045360 mov r1, r0 ldr r0, [sp, #0x20] cmp r1, r0 beq _02044EC4 ldr r0, [r5] cmp r0, #0 bne _02044E8C mov r0, r1, lsl #0x10 mov r1, r0, asr #0x10 ldr r0, [sp, #0x14] bl sub_020584FC b _02044EC4 _02044E8C: ldr r3, _020451A0 ; =ov29_02353538 add r0, r5, r6 ldr r3, [r3] ldrb r0, [r0, #0x18] add r1, r3, r1, lsl #2 add r1, r1, #0x12000 cmp r0, #0 movne r0, #0x57 ldr r1, [r1, #0xb28] moveq r0, #0x44 and r2, r0, #0xff ldr r0, [sp, #0x14] ldr r1, [r1, #0xb4] bl ov29_023002F0 _02044EC4: ldr r0, [sp, #0x14] str r0, [sl, #0x574] ldr r0, [r5] cmp r0, #0 bne _02044EE8 ldr r1, _020451A8 ; =_0209CBA8 mov r0, r4 bl strcpy b _020450A8 _02044EE8: ldr r0, _020451A0 ; =ov29_02353538 ldr r0, [r0] add r0, r0, fp, lsl #2 add r0, r0, #0x12000 ldr r0, [r0, #0xb28] bl sub_0204533C cmp r0, #0 beq _020450F4 ldr r0, _020451A0 ; =ov29_02353538 ldr r2, [r0] ldr r0, _020451AC ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r0] add r0, r2, fp, lsl #2 add r0, r0, #0x12000 ldr r2, [r0, #0xb28] add r0, r1, #0x9000 ldr r8, [r2, #0xb4] ldr r2, [r0, #0x84c] ldrsh r1, [r8, #0xc] mov r0, #0x68 smlabb r0, r1, r0, r2 ldrsh r0, [r0, #8] bl CheckTeamMemberIdx cmp r0, #0 ldrsh r1, [r8, #0x12] ldrsh r0, [r8, #0x16] beq _02045000 add r1, r1, r0 ldr r0, _020451A4 ; =0x000003E7 cmp r1, r0 movgt r3, r0 movle r3, r1 mov r2, r3, asr #1 ldrsh r0, [r8, #0x10] add r2, r3, r2, lsr #30 cmp r0, r2, asr #2 bgt _02044F8C ldr r1, _020451B0 ; =_0209CBB0 mov r0, r4 bl strcpy b _020450A8 _02044F8C: ldr r2, _020451A4 ; =0x000003E7 cmp r1, r2 movgt r3, r2 movle r3, r1 mov r2, r3, asr #1 add r2, r3, r2, lsr #30 mov r2, r2, asr #2 cmp r0, r2, lsl #1 bgt _02044FC0 ldr r1, _020451B4 ; =_0209CBB8 mov r0, r4 bl strcpy b _020450A8 _02044FC0: ldr r2, _020451A4 ; =0x000003E7 cmp r1, r2 movgt r1, r2 mov r2, r1, asr #1 add r1, r1, r2, lsr #30 mov r1, r1, asr #2 add r1, r1, r1, lsl #1 cmp r0, r1 mov r0, r4 bgt _02044FF4 ldr r1, _020451B8 ; =_0209CBC0 bl strcpy b _020450A8 _02044FF4: ldr r1, _020451BC ; =_0209CBC8 bl strcpy b _020450A8 _02045000: add r1, r1, r0 ldr r0, _020451A4 ; =0x000003E7 cmp r1, r0 movgt r3, r0 movle r3, r1 mov r2, r3, asr #1 ldrsh r0, [r8, #0x10] add r2, r3, r2, lsr #30 cmp r0, r2, asr #2 bgt _02045038 ldr r1, _020451C0 ; =_0209CBD0 mov r0, r4 bl strcpy b _020450A8 _02045038: ldr r2, _020451A4 ; =0x000003E7 cmp r1, r2 movgt r3, r2 movle r3, r1 mov r2, r3, asr #1 add r2, r3, r2, lsr #30 mov r2, r2, asr #2 cmp r0, r2, lsl #1 bgt _0204506C ldr r1, _020451C4 ; =_0209CBD8 mov r0, r4 bl strcpy b _020450A8 _0204506C: ldr r2, _020451A4 ; =0x000003E7 cmp r1, r2 movgt r1, r2 mov r2, r1, asr #1 add r1, r1, r2, lsr #30 mov r1, r1, asr #2 add r1, r1, r1, lsl #1 cmp r0, r1 mov r0, r4 bgt _020450A0 ldr r1, _020451C8 ; =_0209CBE0 bl strcpy b _020450A8 _020450A0: ldr r1, _020451A8 ; =_0209CBA8 bl strcpy _020450A8: str r4, [sl, #0x578] ldr r0, [r5] cmp r0, #0 bne _020450C4 mov r0, fp, lsl #0x10 mov r0, r0, asr #0x10 bl GetActiveTeamMember _020450C4: ldr r0, [sp, #0x18] ldr r2, _020451CC ; =_0209CBE8 str r0, [sp] ldr r0, [sp, #0xc] mov r1, #0x100 mov r3, #0 bl PreprocessString add r1, sl, sb, lsl #3 ldr r0, [sp, #0xc] add sb, sb, #1 str r0, [r1, #0xc] str sb, [r1, #0x10] _020450F4: add r6, r6, #1 _020450F8: ldr r0, [r5, #0x1c] cmp r6, r0 blt _02044E28 mov r0, #0 add r1, sl, sb, lsl #3 str r0, [r1, #0xc] sub r0, r0, #1 str r0, [r1, #0x10] ldr r0, [sp, #4] add r2, sp, #0x24 cmp r0, #0 ldrne r1, _020451D0 ; =0x00000A3A movne r0, #0x10 strne r0, [sp, #0x30] strneh r1, [sp, #0x2c] ldr r1, [sl, #0x6e8] add r0, r7, #0x18 add r1, r1, #1 str r1, [sp, #0x24] str r0, [sp, #0x84] ldr r0, [sp, #4] add r3, sl, #0xc cmp r0, #0 movne r1, #0x800 ldr r0, [sp, #8] moveq r1, #0 cmp r0, #0 movne r0, #0x400000 moveq r0, #0 orr r0, r0, #0x33 orr r1, r0, r1 ldr r0, _020451D4 ; =_0209CB98 orr r1, r1, #0x1200 bl sub_0202A690 ldr r1, [sp, #0xe0] strb r0, [sl, #8] cmp r1, #1 bne _02045194 bl ov29_022EA62C _02045194: add sp, sp, #0xbc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0204519C: .word 0x00000728 _020451A0: .word ov29_02353538 _020451A4: .word 0x000003E7 _020451A8: .word _0209CBA8 _020451AC: .word TEAM_MEMBER_TABLE_PTR _020451B0: .word _0209CBB0 _020451B4: .word _0209CBB8 _020451B8: .word _0209CBC0 _020451BC: .word _0209CBC8 _020451C0: .word _0209CBD0 _020451C4: .word _0209CBD8 _020451C8: .word _0209CBE0 _020451CC: .word _0209CBE8 _020451D0: .word 0x00000A3A _020451D4: .word _0209CB98 arm_func_end sub_02044BF8 arm_func_start sub_020451D8 sub_020451D8: ; 0x020451D8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r1, [r4] add r0, r4, #0x20c cmp r1, #0 add r5, r0, #0x400 beq _02045208 cmp r1, #1 beq _02045220 cmp r1, #2 beq _02045288 b _02045290 _02045208: ldrsb r0, [r4, #8] bl sub_0202AB40 cmp r0, #0 beq _02045290 mov r0, #1 str r0, [r4] _02045220: ldrsb r0, [r4, #8] bl sub_0202AB40 cmp r0, #0 bne _02045278 mov r0, #2 str r0, [r4] ldrsb r0, [r4, #8] bl sub_0202ABB0 subs r0, r0, #1 bmi _0204526C str r0, [r4, #0x6e8] add r0, r5, r0 ldrb r0, [r0, #0x18] cmp r0, #0 moveq r0, #2 streq r0, [r4, #0x724] movne r0, #1 strne r0, [r4, #0x724] b _02045290 _0204526C: mov r0, #1 str r0, [r4, #0x724] b _02045290 _02045278: ldrsb r0, [r4, #8] bl sub_0202AB80 str r0, [r4, #0x6e8] b _02045290 _02045288: ldr r0, [r4, #0x724] ldmia sp!, {r3, r4, r5, pc} _02045290: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020451D8 arm_func_start sub_02045298 sub_02045298: ; 0x02045298 ldr r0, [r0, #0x60c] bx lr arm_func_end sub_02045298 arm_func_start sub_020452A0 sub_020452A0: ; 0x020452A0 ldr ip, _020452B4 ; =sub_02045360 add r2, r0, #0x20c ldr r1, [r0, #0x6e8] add r0, r2, #0x400 bx ip .align 2, 0 _020452B4: .word sub_02045360 arm_func_end sub_020452A0 arm_func_start sub_020452B8 sub_020452B8: ; 0x020452B8 stmdb sp!, {r4, lr} movs r4, r0 ldrnesb r0, [r4, #8] mvnne r1, #1 cmpne r0, r1 moveq r0, #1 ldmeqia sp!, {r4, pc} bl sub_0202AAE8 cmp r0, #0 ldrsb r0, [r4, #8] beq _02045310 bl sub_020282F4 add r0, r0, #5 cmp r0, #1 movhi r0, #0 bhi _02045320 ldrsb r0, [r4, #8] bl sub_0202AABC mvn r0, #1 strb r0, [r4, #8] mov r0, #1 b _02045320 _02045310: bl sub_0202AABC mvn r0, #1 strb r0, [r4, #8] mov r0, #1 _02045320: cmp r0, #0 movne r0, #2 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_020452B8 arm_func_start sub_02045330 sub_02045330: ; 0x02045330 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bx lr arm_func_end sub_02045330 arm_func_start sub_0204533C sub_0204533C: ; 0x0204533C cmp r0, #0 moveq r0, #0 bxeq lr ldr r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_0204533C arm_func_start sub_02045360 sub_02045360: ; 0x02045360 stmdb sp!, {r4, lr} add r1, r0, r1, lsl #2 ldr r4, [r1, #8] mvn r1, #0 cmp r4, r1 moveq r0, r1 ldmeqia sp!, {r4, pc} ldr r0, [r0] cmp r0, #0 bne _020453C8 mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetActiveTeamMember ldrb r0, [r0] tst r0, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff beq _020453C0 tst r0, #2 movne r0, #1 moveq r0, #0 tst r0, #0xff bne _020453EC _020453C0: mvn r0, #0 ldmia sp!, {r4, pc} _020453C8: ldr r0, _020453F4 ; =ov29_02353538 ldr r0, [r0] add r0, r0, r4, lsl #2 add r0, r0, #0x12000 ldr r0, [r0, #0xb28] bl sub_0204533C cmp r0, #0 mvneq r0, #0 ldmeqia sp!, {r4, pc} _020453EC: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _020453F4: .word ov29_02353538 arm_func_end sub_02045360 arm_func_start sub_020453F8 sub_020453F8: ; 0x020453F8 stmdb sp!, {r3, r4, r5, lr} ldr r2, _020454DC ; =_020AFED4 mov r5, r0 ldr r0, [r2] mov r4, r1 cmp r0, #0 bne _02045428 mov r0, #0x410 mov r1, #8 bl MemAlloc ldr r1, _020454DC ; =_020AFED4 str r0, [r1] _02045428: bl sub_02044094 bl sub_020440DC ldr r1, _020454DC ; =_020AFED4 mov r2, #0 ldr r0, [r1] strb r4, [r0, #0x386] ldr r0, [r1] add r0, r0, #0x300 strh r2, [r0, #0x88] ldr r0, [r1] str r2, [r0, #0x38c] ldr r0, [r1] add r0, r0, #0x1c bl InitPreprocessorArgs ldr r1, _020454DC ; =_020AFED4 mov r0, #0 ldr r2, [r1] sub r3, r0, #2 str r0, [r2, #0x68] ldr r2, [r1] cmp r4, #0 str r0, [r2, #0x1c] ldr r2, [r1] str r0, [r2, #0x18] ldr r2, [r1] strb r3, [r2, #0x14] ldr r2, [r1] strb r3, [r2, #0x16] ldr r2, [r1] strb r3, [r2, #0x15] ldr r2, [r1] strb r3, [r2, #0x17] ldr r3, [r1] ldrh r2, [r5] add r1, r3, #0x300 strh r2, [r1, #0x80] ldrh r2, [r5, #2] strh r2, [r1, #0x82] ldrh r2, [r5, #4] strh r2, [r1, #0x84] str r0, [r3, #0x6c] moveq r0, #0x13 bl sub_020454E0 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020454DC: .word _020AFED4 arm_func_end sub_020453F8 arm_func_start sub_020454E0 sub_020454E0: ; 0x020454E0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x194 ldr r1, _02045A1C ; =_020AFED4 ldr r2, [r1] str r0, [r2, #4] ldr r4, [r1] ldr r0, [r4, #4] cmp r0, #0x13 addls pc, pc, r0, lsl #2 b _02045A14 _02045508: ; jump table b _02045558 ; case 0 b _02045584 ; case 1 b _020455CC ; case 2 b _02045A14 ; case 3 b _02045A14 ; case 4 b _02045A14 ; case 5 b _020458C0 ; case 6 b _02045914 ; case 7 b _02045844 ; case 8 b _02045948 ; case 9 b _02045984 ; case 10 b _020459C0 ; case 11 b _02045A14 ; case 12 b _02045A14 ; case 13 b _02045958 ; case 14 b _02045798 ; case 15 b _02045688 ; case 16 b _02045764 ; case 17 b _02045A14 ; case 18 b _020459E0 ; case 19 _02045558: mov r0, #2 str r0, [r4, #8] bl sub_02046624 ldr r0, _02045A1C ; =_020AFED4 ldr r2, _02045A20 ; =0x000002CD ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045A14 _02045584: mov r0, #2 str r0, [r4, #8] bl sub_02046624 ldr r0, _02045A1C ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _02045A1C ; =_020AFED4 mov r3, #2 ldr r1, [r0] ldr r2, _02045A24 ; =0x000002D5 str r3, [r1, #8] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045A14 _020455CC: ldr r1, _02045A28 ; =0x000002CE add r0, r4, #0x70 bl GetStringFromFileVeneer mov r1, #2 add r0, sp, #0x14 str r1, [r4, #0x170] bl InitPreprocessorArgs ldr r0, _02045A1C ; =_020AFED4 ldr r2, _02045A2C ; =_0209CC0C ldr r1, [r0] add r0, r1, #0x390 add r1, r1, #0x380 bl sub_0200D670 ldr r0, _02045A1C ; =_020AFED4 ldr r2, _02045A30 ; =0x000002CF ldr r5, [r0] add ip, sp, #0x14 add r3, r5, #0x300 ldrsh lr, [r3, #0x84] add r0, r4, #0x174 mov r1, #0x100 orr lr, lr, #0x10000 str lr, [sp, #0x24] ldrh lr, [r3, #0x82] mov r3, #0 str lr, [sp, #0x38] ldrb lr, [r5, #0x380] str lr, [sp, #0x3c] str ip, [sp] bl PreprocessStringFromMessageId mov r1, #3 str r1, [r4, #0x274] mov r2, #0 strb r2, [r4, #0x278] mov r0, #1 str r0, [r4, #0x378] str r1, [sp] ldr r3, _02045A1C ; =_020AFED4 ldr r0, _02045A34 ; =_0209CC38 ldr r3, [r3] ldr r1, _02045A38 ; =0x00300011 add r3, r3, #0x70 bl sub_0202B1AC ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045A14 _02045688: mov r0, #0x11 str r0, [r4, #8] ldr r0, [r1] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _02045A1C ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r1, [r2] add r0, r1, #0x300 ldrsh r0, [r0, #0x88] strh r0, [sp, #0x10] ldr r0, [r1] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r3, _02045A1C ; =_020AFED4 ldr r2, _02045A2C ; =_0209CC0C ldr r4, [r3] add r1, sp, #0xc str r0, [r4, #0x38c] ldr r0, [r3] mov r3, #0 ldr r4, [r0, #0x38c] add r0, r0, #0x390 strh r4, [sp, #0xe] strb r3, [sp, #0xc] bl sub_0200D670 ldr r0, _02045A1C ; =_020AFED4 ldr r2, [r0] add r1, r2, #0x390 str r1, [r2, #0x54] ldr r1, [r0] add r0, r1, #0x300 ldrsh r0, [r0, #0x88] str r0, [r1, #0x2c] bl sub_02046624 ldr r0, _02045A1C ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _02045A1C ; =_020AFED4 mov r4, #0x11 ldr r3, [r0] mov r1, #8 str r4, [r3, #8] ldr r3, [r0] add r2, r4, #0x2c0 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045A14 _02045764: mov r4, #3 str r4, [sp, #0x64] mov r4, #2 ldr r0, _02045A34 ; =_0209CC38 ldr r1, _02045A3C ; =0x00300033 ldr r3, _02045A40 ; =_0209CC48 add r2, sp, #0x64 str r4, [sp] bl CreateNormalMenu ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045A14 _02045798: ldr r0, [r4] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _02045A1C ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r0, [r2] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r4, _02045A1C ; =_020AFED4 ldr r1, _02045A44 ; =0x00001013 ldr r2, [r4] ldr r3, _02045A48 ; =0x000008E4 str r0, [r2, #0x38c] ldr lr, [r4] ldr r0, _02045A4C ; =_0209CC28 add r2, lr, #0x300 ldrsh ip, [r2, #0x88] mov r2, #0 str ip, [lr, #0x2c] ldr lr, [r4] ldr ip, [lr, #0x38c] add ip, ip, #0xbc str ip, [lr, #0x34] ldr r4, [r4] add ip, r4, #0x1c add r4, r4, #0x300 str ip, [sp] ldrsh r4, [r4, #0x88] add r4, r4, #0xd1 add r4, r4, #0x2900 mov r4, r4, lsl #0x10 mov r4, r4, lsr #0x10 stmib sp, {r4, ip} bl sub_0202E3CC ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x17] b _02045A14 _02045844: ldr r0, [r4] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _02045A1C ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r0, [r2] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r1, _02045A1C ; =_020AFED4 mov r2, #3 ldr r3, [r1] str r0, [r3, #0x38c] ldr r3, [r1] add r0, r3, #0x300 ldrsh r0, [r0, #0x88] str r0, [r3, #0x2c] ldr r0, [r1] str r2, [r0, #4] bl sub_02045A5C ldr r0, _02045A1C ; =_020AFED4 ldr r0, [r0] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010154 b _02045A14 _020458C0: add r0, r4, #0x390 str r0, [r4, #0x5c] ldr r0, [r1] mov r1, #7 str r1, [r0, #8] bl sub_02046624 ldr r0, _02045A1C ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _02045A1C ; =_020AFED4 mov r3, #7 ldr r1, [r0] ldr r2, _02045A50 ; =0x000002D6 str r3, [r1, #8] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045A14 _02045914: mov r4, #3 str r4, [sp, #0xfc] mov r4, #2 ldr r0, _02045A34 ; =_0209CC38 ldr r1, _02045A3C ; =0x00300033 ldr r3, _02045A40 ; =_0209CC48 add r2, sp, #0xfc str r4, [sp] bl CreateNormalMenu ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045A14 _02045948: mov r0, #4 str r0, [r4, #4] bl sub_02045A5C b _02045A14 _02045958: ldr r0, _02045A54 ; =_0209CC18 mov r4, #3 ldr r3, _02045A58 ; =_0209CC60 mov r1, #0x13 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045A14 _02045984: ldrsb r0, [r4, #0x14] bl FreeDBox ldr r0, _02045A1C ; =_020AFED4 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x14] bl sub_02043218 mov r0, #2 mov r1, #0 mov r2, #8 bl sub_02042CF0 ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x15] b _02045A14 _020459C0: mov r0, #2 mov r1, #0 mov r2, #8 bl sub_02042CF0 ldr r1, _02045A1C ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x15] b _02045A14 _020459E0: mov r0, #0xa str r0, [r4, #8] ldr r0, [r1] mov r1, #0x12 str r1, [r0, #4] bl sub_02046624 ldr r0, _02045A1C ; =_020AFED4 mov r1, #0x18 ldr r3, [r0] mov r2, #0x2d0 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox _02045A14: add sp, sp, #0x194 ldmia sp!, {r4, r5, pc} .align 2, 0 _02045A1C: .word _020AFED4 _02045A20: .word 0x000002CD _02045A24: .word 0x000002D5 _02045A28: .word 0x000002CE _02045A2C: .word _0209CC0C _02045A30: .word 0x000002CF _02045A34: .word _0209CC38 _02045A38: .word 0x00300011 _02045A3C: .word 0x00300033 _02045A40: .word _0209CC48 _02045A44: .word 0x00001013 _02045A48: .word 0x000008E4 _02045A4C: .word _0209CC28 _02045A50: .word 0x000002D6 _02045A54: .word _0209CC18 _02045A58: .word _0209CC60 arm_func_end sub_020454E0 arm_func_start sub_02045A5C sub_02045A5C: ; 0x02045A5C stmdb sp!, {r4, r5, lr} sub sp, sp, #0x194 ldr r0, _02045F90 ; =_020AFED4 ldr r4, [r0] ldr r1, [r4, #4] cmp r1, #0x13 addls pc, pc, r1, lsl #2 b _02045F88 _02045A7C: ; jump table b _02045ACC ; case 0 b _02045AF8 ; case 1 b _02045B40 ; case 2 b _02045F88 ; case 3 b _02045F88 ; case 4 b _02045F88 ; case 5 b _02045E34 ; case 6 b _02045E88 ; case 7 b _02045DB8 ; case 8 b _02045EBC ; case 9 b _02045EF8 ; case 10 b _02045F34 ; case 11 b _02045F88 ; case 12 b _02045F88 ; case 13 b _02045ECC ; case 14 b _02045D0C ; case 15 b _02045BFC ; case 16 b _02045CD8 ; case 17 b _02045F88 ; case 18 b _02045F54 ; case 19 _02045ACC: mov r0, #2 str r0, [r4, #8] bl sub_02046624 ldr r0, _02045F90 ; =_020AFED4 ldr r2, _02045F94 ; =0x000002CD ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045F88 _02045AF8: mov r0, #2 str r0, [r4, #8] bl sub_02046624 ldr r0, _02045F90 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _02045F90 ; =_020AFED4 mov r3, #2 ldr r1, [r0] ldr r2, _02045F98 ; =0x000002D5 str r3, [r1, #8] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045F88 _02045B40: ldr r1, _02045F9C ; =0x000002CE add r0, r4, #0x70 bl GetStringFromFileVeneer mov r1, #2 add r0, sp, #0x144 str r1, [r4, #0x170] bl InitPreprocessorArgs ldr r0, _02045F90 ; =_020AFED4 ldr r2, _02045FA0 ; =_0209CC0C ldr r1, [r0] add r0, r1, #0x390 add r1, r1, #0x380 bl sub_0200D670 ldr r0, _02045F90 ; =_020AFED4 ldr r2, _02045FA4 ; =0x000002CF ldr r5, [r0] add ip, sp, #0x144 add r3, r5, #0x300 ldrsh lr, [r3, #0x84] add r0, r4, #0x174 mov r1, #0x100 orr lr, lr, #0x10000 str lr, [sp, #0x154] ldrh lr, [r3, #0x82] mov r3, #0 str lr, [sp, #0x168] ldrb lr, [r5, #0x380] str lr, [sp, #0x16c] str ip, [sp] bl PreprocessStringFromMessageId mov r1, #3 str r1, [r4, #0x274] mov r2, #0 strb r2, [r4, #0x278] mov r0, #1 str r0, [r4, #0x378] str r1, [sp] ldr r3, _02045F90 ; =_020AFED4 ldr r0, _02045FA8 ; =_0209CC38 ldr r3, [r3] ldr r1, _02045FAC ; =0x00300011 add r3, r3, #0x70 bl sub_0202B1AC ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045F88 _02045BFC: mov r1, #0x11 str r1, [r4, #8] ldr r0, [r0] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _02045F90 ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r1, [r2] add r0, r1, #0x300 ldrsh r0, [r0, #0x88] strh r0, [sp, #0x10] ldr r0, [r1] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r3, _02045F90 ; =_020AFED4 ldr r2, _02045FA0 ; =_0209CC0C ldr r4, [r3] add r1, sp, #0xc str r0, [r4, #0x38c] ldr r0, [r3] mov r3, #0 ldr r4, [r0, #0x38c] add r0, r0, #0x390 strh r4, [sp, #0xe] strb r3, [sp, #0xc] bl sub_0200D670 ldr r0, _02045F90 ; =_020AFED4 ldr r2, [r0] add r1, r2, #0x390 str r1, [r2, #0x54] ldr r1, [r0] add r0, r1, #0x300 ldrsh r0, [r0, #0x88] str r0, [r1, #0x2c] bl sub_02046624 ldr r0, _02045F90 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _02045F90 ; =_020AFED4 mov r4, #0x11 ldr r3, [r0] mov r1, #8 str r4, [r3, #8] ldr r3, [r0] add r2, r4, #0x2c0 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045F88 _02045CD8: mov r4, #3 str r4, [sp, #0xac] mov r4, #2 ldr r0, _02045FA8 ; =_0209CC38 ldr r1, _02045FB0 ; =0x00300033 ldr r3, _02045FB4 ; =_0209CC48 add r2, sp, #0xac str r4, [sp] bl CreateNormalMenu ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045F88 _02045D0C: ldr r0, [r4] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _02045F90 ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r0, [r2] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r4, _02045F90 ; =_020AFED4 ldr r1, _02045FB8 ; =0x00001013 ldr r2, [r4] ldr r3, _02045FBC ; =0x000008E4 str r0, [r2, #0x38c] ldr lr, [r4] ldr r0, _02045FC0 ; =_0209CC28 add r2, lr, #0x300 ldrsh ip, [r2, #0x88] mov r2, #0 str ip, [lr, #0x2c] ldr lr, [r4] ldr ip, [lr, #0x38c] add ip, ip, #0xbc str ip, [lr, #0x34] ldr r4, [r4] add ip, r4, #0x1c add r4, r4, #0x300 str ip, [sp] ldrsh r4, [r4, #0x88] add r4, r4, #0xd1 add r4, r4, #0x2900 mov r4, r4, lsl #0x10 mov r4, r4, lsr #0x10 stmib sp, {r4, ip} bl sub_0202E3CC ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x17] b _02045F88 _02045DB8: ldr r0, [r4] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _02045F90 ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r0, [r2] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r1, _02045F90 ; =_020AFED4 mov r2, #3 ldr r3, [r1] str r0, [r3, #0x38c] ldr r3, [r1] add r0, r3, #0x300 ldrsh r0, [r0, #0x88] str r0, [r3, #0x2c] ldr r0, [r1] str r2, [r0, #4] bl sub_02045A5C ldr r0, _02045F90 ; =_020AFED4 ldr r0, [r0] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010154 b _02045F88 _02045E34: add r1, r4, #0x390 str r1, [r4, #0x5c] ldr r0, [r0] mov r1, #7 str r1, [r0, #8] bl sub_02046624 ldr r0, _02045F90 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _02045F90 ; =_020AFED4 mov r3, #7 ldr r1, [r0] ldr r2, _02045FC4 ; =0x000002D6 str r3, [r1, #8] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox b _02045F88 _02045E88: mov r4, #3 str r4, [sp, #0x14] mov r4, #2 ldr r0, _02045FA8 ; =_0209CC38 ldr r1, _02045FB0 ; =0x00300033 ldr r3, _02045FB4 ; =_0209CC48 add r2, sp, #0x14 str r4, [sp] bl CreateNormalMenu ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045F88 _02045EBC: mov r0, #4 str r0, [r4, #4] bl sub_02045A5C b _02045F88 _02045ECC: ldr r0, _02045FC8 ; =_0209CC18 mov r4, #3 ldr r3, _02045FCC ; =_0209CC60 mov r1, #0x13 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x16] b _02045F88 _02045EF8: ldrsb r0, [r4, #0x14] bl FreeDBox ldr r0, _02045F90 ; =_020AFED4 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x14] bl sub_02043218 mov r0, #2 mov r1, #0 mov r2, #8 bl sub_02042CF0 ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x15] b _02045F88 _02045F34: mov r0, #2 mov r1, #0 mov r2, #8 bl sub_02042CF0 ldr r1, _02045F90 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x15] b _02045F88 _02045F54: mov r1, #0xa str r1, [r4, #8] ldr r0, [r0] mov r1, #0x12 str r1, [r0, #4] bl sub_02046624 ldr r0, _02045F90 ; =_020AFED4 mov r1, #0x18 ldr r3, [r0] mov r2, #0x2d0 ldrsb r0, [r3, #0x14] add r3, r3, #0x1c bl ShowMessageInDBox _02045F88: add sp, sp, #0x194 ldmia sp!, {r4, r5, pc} .align 2, 0 _02045F90: .word _020AFED4 _02045F94: .word 0x000002CD _02045F98: .word 0x000002D5 _02045F9C: .word 0x000002CE _02045FA0: .word _0209CC0C _02045FA4: .word 0x000002CF _02045FA8: .word _0209CC38 _02045FAC: .word 0x00300011 _02045FB0: .word 0x00300033 _02045FB4: .word _0209CC48 _02045FB8: .word 0x00001013 _02045FBC: .word 0x000008E4 _02045FC0: .word _0209CC28 _02045FC4: .word 0x000002D6 _02045FC8: .word _0209CC18 _02045FCC: .word _0209CC60 arm_func_end sub_02045A5C arm_func_start sub_02045FD0 sub_02045FD0: ; 0x02045FD0 stmdb sp!, {r3, lr} ldr r2, _02046024 ; =_020AFED4 ldr r1, [r2] cmp r1, #0 moveq r1, #0 streqh r1, [r0, #4] ldmeqia sp!, {r3, pc} add r1, r1, #0x300 ldrsh r1, [r1, #0x88] strh r1, [r0, #4] ldr r1, [r2] ldr r1, [r1, #0x38c] strh r1, [r0, #2] bl sub_020440B8 ldr r0, _02046024 ; =_020AFED4 ldr r0, [r0] bl MemFree ldr r0, _02046024 ; =_020AFED4 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02046024: .word _020AFED4 arm_func_end sub_02045FD0 arm_func_start sub_02046028 sub_02046028: ; 0x02046028 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _020465D8 ; =_020AFED4 ldr r2, [r0] ldr r1, [r2, #0x18] cmp r1, #3 addls pc, pc, r1, lsl #2 b _020465CC _02046048: ; jump table b _02046058 ; case 0 b _02046064 ; case 1 b _02046590 ; case 2 b _020465C4 ; case 3 _02046058: mov r0, #1 str r0, [r2, #0x18] b _020465CC _02046064: ldr r1, [r2, #4] cmp r1, #0x12 addls pc, pc, r1, lsl #2 b _0204650C _02046074: ; jump table b _0204650C ; case 0 b _0204650C ; case 1 b _020460C0 ; case 2 b _020464B4 ; case 3 b _020464BC ; case 4 b _020464C4 ; case 5 b _0204650C ; case 6 b _02046168 ; case 7 b _0204650C ; case 8 b _0204650C ; case 9 b _020461BC ; case 10 b _020461BC ; case 11 b _02046334 ; case 12 b _02046364 ; case 13 b _020463B4 ; case 14 b _02046478 ; case 15 b _0204650C ; case 16 b _02046114 ; case 17 b _020464CC ; case 18 _020460C0: ldrsb r0, [r2, #0x16] bl GetNormalMenuResult cmp r0, #1 ldrne r1, _020465D8 ; =_020AFED4 ldrne r1, [r1] strne r0, [r1, #0x10] cmp r0, #1 beq _02046104 cmp r0, #2 beq _020460F4 cmp r0, #3 beq _02046104 b _0204653C _020460F4: bl sub_020465DC mov r0, #0x13 bl sub_020454E0 b _0204653C _02046104: bl sub_020465DC mov r0, #6 bl sub_020454E0 b _0204653C _02046114: ldrsb r0, [r2, #0x16] bl GetNormalMenuResult cmp r0, #1 ldrne r1, _020465D8 ; =_020AFED4 ldrne r1, [r1] strne r0, [r1, #0x10] cmp r0, #1 beq _02046158 cmp r0, #2 beq _02046148 cmp r0, #3 beq _02046158 b _0204653C _02046148: bl sub_020465DC mov r0, #8 bl sub_020454E0 b _0204653C _02046158: bl sub_020465DC mov r0, #0x13 bl sub_020454E0 b _0204653C _02046168: ldrsb r0, [r2, #0x16] bl GetNormalMenuResult cmp r0, #1 ldrne r1, _020465D8 ; =_020AFED4 ldrne r1, [r1] strne r0, [r1, #0x10] cmp r0, #1 beq _020461AC cmp r0, #2 beq _0204619C cmp r0, #3 beq _020461AC b _0204653C _0204619C: bl sub_020465DC mov r0, #9 bl sub_020454E0 b _0204653C _020461AC: bl sub_020465DC mov r0, #0 bl sub_020454E0 b _0204653C _020461BC: bl sub_02043468 mov r4, r0 bl sub_02043400 cmp r0, #0 bne _02046234 mvn r0, #0 cmp r4, r0 bne _02046214 bl sub_0204317C ldr r0, _020465D8 ; =_020AFED4 mvn r2, #1 ldr r1, [r0] mov r3, #2 strb r2, [r1, #0x15] ldr r1, [r0] mov r2, #1 str r3, [r1, #0xc] ldr r1, [r0] mov r0, #0xc str r2, [r1, #8] bl sub_020454E0 b _0204653C _02046214: ldr r1, _020465D8 ; =_020AFED4 mov r0, r4 ldr r1, [r1] str r4, [r1] bl sub_0204323C mov r0, #0xe bl sub_020454E0 b _0204653C _02046234: bl sub_02043434 cmp r0, #0 beq _0204653C add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldrh r0, [sp] tst r0, #8 beq _020462F4 mov r0, #0 bl sub_02017CCC ldr r1, _020465D8 ; =_020AFED4 mov r0, r4 ldr r1, [r1] str r4, [r1] bl sub_0204323C ldr r0, _020465D8 ; =_020AFED4 ldr r0, [r0] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010044 ldr r2, _020465D8 ; =_020AFED4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x88] ldr r0, [r2] ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02010060 ldr r1, _020465D8 ; =_020AFED4 ldr r1, [r1] str r0, [r1, #0x38c] bl sub_020465DC bl sub_0204317C ldr r0, _020465D8 ; =_020AFED4 mvn r2, #1 ldr r1, [r0] mov r3, #2 strb r2, [r1, #0x15] ldr r1, [r0] mov r2, #0xf str r3, [r1, #0xc] ldr r1, [r0] mov r0, #0xc str r2, [r1, #8] bl sub_020454E0 _020462F4: bl sub_0200FD78 mov r4, r0 bl sub_0200FD48 cmp r4, r0 bge _0204653C bl sub_02043398 ldr r0, _020465D8 ; =_020AFED4 mov r3, #0xa ldr r1, [r0] mov r2, #5 str r3, [r1, #0xc] ldr r1, [r0] mov r0, #0xd str r2, [r1, #8] bl sub_020454E0 b _0204653C _02046334: mvn r1, #1 strb r1, [r2, #0x15] ldr r3, [r0] ldr r2, [r3, #0xc] sub r1, r2, #1 str r1, [r3, #0xc] cmp r2, #0 bne _0204653C ldr r0, [r0] ldr r0, [r0, #8] bl sub_020454E0 b _0204653C _02046364: ldr r1, [r2, #0xc] sub r1, r1, #1 str r1, [r2, #0xc] ldr r0, [r0] ldr r0, [r0, #0xc] cmp r0, #1 bgt _02046394 bl sub_0204317C ldr r0, _020465D8 ; =_020AFED4 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x15] _02046394: ldr r0, _020465D8 ; =_020AFED4 ldr r1, [r0] ldr r0, [r1, #0xc] cmp r0, #0 bgt _0204653C ldr r0, [r1, #8] bl sub_020454E0 b _0204653C _020463B4: ldrsb r0, [r2, #0x16] bl GetNormalMenuResult cmp r0, #6 addls pc, pc, r0, lsl #2 b _0204653C _020463C8: ; jump table b _0204653C ; case 0 b _0204645C ; case 1 b _0204653C ; case 2 b _0204653C ; case 3 b _020463E4 ; case 4 b _02046420 ; case 5 b _0204645C ; case 6 _020463E4: bl sub_020465DC bl sub_0204317C ldr r0, _020465D8 ; =_020AFED4 mvn r2, #1 ldr r1, [r0] mov r3, #2 strb r2, [r1, #0x15] ldr r1, [r0] mov r2, #0x10 str r3, [r1, #0xc] ldr r1, [r0] mov r0, #0xc str r2, [r1, #8] bl sub_020454E0 b _0204653C _02046420: bl sub_020465DC bl sub_0204317C ldr r0, _020465D8 ; =_020AFED4 mvn r2, #1 ldr r1, [r0] mov r3, #2 strb r2, [r1, #0x15] ldr r1, [r0] mov r2, #0xf str r3, [r1, #0xc] ldr r1, [r0] mov r0, #0xc str r2, [r1, #8] bl sub_020454E0 b _0204653C _0204645C: bl sub_020465DC bl sub_020433C0 ldr r0, _020465D8 ; =_020AFED4 mov r1, #0xa ldr r0, [r0] str r1, [r0, #4] b _0204653C _02046478: ldrsb r0, [r2, #0x17] bl sub_0202E6E4 cmp r0, #0 bne _0204653C ldr r0, _020465D8 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x17] bl sub_0202E6C8 ldr r0, _020465D8 ; =_020AFED4 mvn r2, #1 ldr r1, [r0] mov r0, #0xb strb r2, [r1, #0x17] bl sub_020454E0 b _0204653C _020464B4: mov r2, #2 b _02046540 _020464BC: mov r2, #4 b _02046540 _020464C4: mov r2, #3 b _02046540 _020464CC: ldrsb r0, [r2, #0x14] bl IsDBoxActive cmp r0, #0 bne _0204653C ldr r0, _020465D8 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _020465D8 ; =_020AFED4 mov r2, #0x14 ldr r1, [r0] str r2, [r1, #4] ldr r0, [r0] ldrsb r0, [r0, #0x14] bl sub_0202F2C4 b _0204653C _0204650C: ldrsb r0, [r2, #0x14] bl IsDBoxActive cmp r0, #0 bne _0204653C ldr r0, _020465D8 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl ShowDBox ldr r0, _020465D8 ; =_020AFED4 ldr r0, [r0] ldr r0, [r0, #8] bl sub_020454E0 _0204653C: mov r2, #1 _02046540: ldr r0, _020465D8 ; =_020AFED4 ldr r1, [r0] str r2, [r1, #0x6c] ldr r2, [r0] ldr r1, [r2, #0x6c] cmp r1, #1 beq _020465CC mov r1, #2 str r1, [r2, #0x18] ldr r0, [r0] sub r1, r1, #4 ldrsb r0, [r0, #0x14] cmp r0, r1 beq _020465CC bl sub_0202836C ldr r0, _020465D8 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x14] bl sub_0202F2C4 b _020465CC _02046590: mov r1, #3 str r1, [r2, #0x18] ldr r0, [r0] sub r1, r1, #5 ldrsb r0, [r0, #0x14] cmp r0, r1 beq _020465CC bl FreeDBox ldr r0, _020465D8 ; =_020AFED4 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x14] b _020465CC _020465C4: ldr r0, [r2, #0x6c] b _020465D0 _020465CC: mov r0, #1 _020465D0: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _020465D8: .word _020AFED4 arm_func_end sub_02046028 arm_func_start sub_020465DC sub_020465DC: ; 0x020465DC stmdb sp!, {r3, lr} ldr r0, _02046620 ; =_020AFED4 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0x16] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202836C ldr r0, _02046620 ; =_020AFED4 ldr r0, [r0] ldrsb r0, [r0, #0x16] bl FreeNormalMenu ldr r0, _02046620 ; =_020AFED4 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x16] ldmia sp!, {r3, pc} .align 2, 0 _02046620: .word _020AFED4 arm_func_end sub_020465DC arm_func_start sub_02046624 sub_02046624: ; 0x02046624 stmdb sp!, {r3, lr} ldr r1, _02046658 ; =_020AFED4 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #0x14] cmp r1, r0 ldmneia sp!, {r3, pc} mov r0, #0 bl CreateDBox ldr r1, _02046658 ; =_020AFED4 ldr r1, [r1] strb r0, [r1, #0x14] ldmia sp!, {r3, pc} .align 2, 0 _02046658: .word _020AFED4 arm_func_end sub_02046624 arm_func_start sub_0204665C sub_0204665C: ; 0x0204665C stmdb sp!, {r3, lr} ldr r0, _02046694 ; =_020AFED8 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl sub_020308A0 ldr r0, _02046694 ; =_020AFED8 ldr r0, [r0] bl MemFree ldr r0, _02046694 ; =_020AFED8 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02046694: .word _020AFED8 arm_func_end sub_0204665C arm_func_start sub_02046698 sub_02046698: ; 0x02046698 stmdb sp!, {r4, lr} sub sp, sp, #0xa0 mov r4, r0 mov r0, #0xec mov r1, #0 bl MemAlloc ldr r2, _0204672C ; =_020AFED8 mov r1, #0xec str r0, [r2] bl MemZero ldr r0, _0204672C ; =_020AFED8 mov ip, #0xe ldr r0, [r0] add lr, r0, #4 _020466D0: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _020466D0 ldmia r4, {r0, r1} stmia lr, {r0, r1} ldr r1, _02046730 ; =0x00000A43 mov r0, #0x10 strh r1, [sp, #0x10] str r0, [sp, #0x14] mov ip, #0 str ip, [sp] ldr r0, _02046734 ; =_0209CC80 ldr r1, _02046738 ; =0x00001815 ldr r3, _0204673C ; =sub_02046798 add r2, sp, #8 str ip, [sp, #4] bl sub_020305B4 ldr r1, _0204672C ; =_020AFED8 ldr r1, [r1] strb r0, [r1] add sp, sp, #0xa0 ldmia sp!, {r4, pc} .align 2, 0 _0204672C: .word _020AFED8 _02046730: .word 0x00000A43 _02046734: .word _0209CC80 _02046738: .word 0x00001815 _0204673C: .word sub_02046798 arm_func_end sub_02046698 arm_func_start sub_02046740 sub_02046740: ; 0x02046740 stmdb sp!, {r3, lr} ldr r1, _02046774 ; =_020AFED8 ldr r0, _02046778 ; =0x00000279 ldr r1, [r1] ldrsh r1, [r1, #0x5e] cmp r1, r0 blt _02046768 mov r0, #0x14 bl sub_02017B58 ldmia sp!, {r3, pc} _02046768: mov r0, #0x13 bl sub_02017B58 ldmia sp!, {r3, pc} .align 2, 0 _02046774: .word _020AFED8 _02046778: .word 0x00000279 arm_func_end sub_02046740 arm_func_start sub_0204677C sub_0204677C: ; 0x0204677C ldr r0, _02046790 ; =_020AFED8 ldr ip, _02046794 ; =sub_020308C4 ldr r0, [r0] ldrsb r0, [r0] bx ip .align 2, 0 _02046790: .word _020AFED8 _02046794: .word sub_020308C4 arm_func_end sub_0204677C arm_func_start sub_02046798 sub_02046798: ; 0x02046798 ldr r1, _020467AC ; =_020AFED8 ldr ip, _020467B0 ; =sub_0200C5DC ldr r1, [r1] add r1, r1, #4 bx ip .align 2, 0 _020467AC: .word _020AFED8 _020467B0: .word sub_0200C5DC arm_func_end sub_02046798 arm_func_start sub_020467B4 sub_020467B4: ; 0x020467B4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 bl sub_0204AE60 cmp r0, #0 moveq r0, #0 beq _020467E8 add r0, sp, #0 bl GetReleasedStylus add r0, sp, #0 mov r2, r4 mov r1, #2 bl sub_02006C8C _020467E8: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} arm_func_end sub_020467B4 arm_func_start sub_020467F0 sub_020467F0: ; 0x020467F0 ldr ip, _020467FC ; =sub_020467B4 ldr r0, _02046800 ; =_0209CC90 bx ip .align 2, 0 _020467FC: .word sub_020467B4 _02046800: .word _0209CC90 arm_func_end sub_020467F0 arm_func_start sub_02046804 sub_02046804: ; 0x02046804 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02046824 ; =_0209CCA0 bl sub_02034974 cmp r0, #0 ldrne r0, _02046828 ; =_022AAE64 strneh r4, [r0] ldmia sp!, {r4, pc} .align 2, 0 _02046824: .word _0209CCA0 _02046828: .word _022AAE64 arm_func_end sub_02046804 arm_func_start sub_0204682C sub_0204682C: ; 0x0204682C stmdb sp!, {r3, lr} mov r0, #0xa8 mov r1, #8 bl MemAlloc ldr r1, _02046890 ; =_020AFEDC str r0, [r1] add r0, r0, #0x10 bl sub_02034A38 ldr r2, _02046890 ; =_020AFEDC ldr r1, _02046894 ; =_022AAE64 ldr r3, [r2] str r0, [r3, #0xc] ldrh r3, [r1] ldr r1, [r2] mov r0, #0 strh r3, [r1, #8] bl CreateDBox ldr r1, _02046890 ; =_020AFEDC mov r2, #0 ldr r3, [r1] strb r0, [r3] ldr r1, [r1] mov r0, #1 str r2, [r1, #4] ldmia sp!, {r3, pc} .align 2, 0 _02046890: .word _020AFEDC _02046894: .word _022AAE64 arm_func_end sub_0204682C arm_func_start sub_02046898 sub_02046898: ; 0x02046898 stmdb sp!, {r3, lr} ldr r0, _020468D0 ; =_020AFEDC ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl FreeDBox ldr r0, _020468D0 ; =_020AFEDC ldr r0, [r0] bl MemFree ldr r0, _020468D0 ; =_020AFEDC mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _020468D0: .word _020AFEDC arm_func_end sub_02046898 arm_func_start sub_020468D4 sub_020468D4: ; 0x020468D4 stmdb sp!, {r3, lr} ldr r0, _020469B4 ; =_020AFEDC ldr r2, [r0] ldr r1, [r2, #4] cmp r1, #3 addls pc, pc, r1, lsl #2 b _020469AC _020468F0: ; jump table b _02046900 ; case 0 b _02046928 ; case 1 b _0204695C ; case 2 b _0204697C ; case 3 _02046900: ldrsb r0, [r2] ldrh r2, [r2, #8] ldr r1, _020469B8 ; =0x00000618 mov r3, #0 bl ShowMessageInDBox ldr r0, _020469B4 ; =_020AFEDC mov r1, #1 ldr r0, [r0] str r1, [r0, #4] b _020469AC _02046928: ldrsb r0, [r2] bl IsDBoxActive cmp r0, #0 bne _020469AC ldr r0, _020469B4 ; =_020AFEDC ldr r0, [r0] ldrsb r0, [r0] bl sub_0202F334 ldr r0, _020469B4 ; =_020AFEDC mov r1, #2 ldr r0, [r0] str r1, [r0, #4] b _020469AC _0204695C: ldrsb r0, [r2] bl IsDBoxActive cmp r0, #0 ldreq r0, _020469B4 ; =_020AFEDC moveq r1, #3 ldreq r0, [r0] streq r1, [r0, #4] b _020469AC _0204697C: mov r1, #4 str r1, [r2, #4] ldr r1, [r0] ldr r0, [r1, #0xc] tst r0, #0x100 beq _020469A4 ldr r0, [r1, #0x98] ldr r2, [r1, #0x94] mov r1, #0 blx r2 _020469A4: mov r0, #4 ldmia sp!, {r3, pc} _020469AC: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _020469B4: .word _020AFEDC _020469B8: .word 0x00000618 arm_func_end sub_020468D4 arm_func_start sub_020469BC sub_020469BC: ; 0x020469BC stmdb sp!, {r3, lr} mov r0, #0x2c mov r1, #8 bl MemAlloc ldr r2, _020469E4 ; =_020AFEE0 mov r1, #0x2c str r0, [r2] bl MemZero bl sub_020471AC ldmia sp!, {r3, pc} .align 2, 0 _020469E4: .word _020AFEE0 arm_func_end sub_020469BC arm_func_start sub_020469E8 sub_020469E8: ; 0x020469E8 stmdb sp!, {r3, lr} ldr r0, _02046A1C ; =_020AFEE0 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_020471E8 ldr r0, _02046A1C ; =_020AFEE0 ldr r0, [r0] bl MemFree ldr r0, _02046A1C ; =_020AFEE0 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02046A1C: .word _020AFEE0 arm_func_end sub_020469E8 arm_func_start sub_02046A20 sub_02046A20: ; 0x02046A20 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 ldr r4, _02046A98 ; =_020AFEE0 mov r6, r1 ldr r4, [r4] mov r7, r0 mov r0, r4 mov r1, #0x2c mov r5, r2 mov r8, r3 bl MemZero ldr r0, [sp, #0x28] str r8, [sp] ldrh r1, [sp, #0x2c] str r0, [sp, #4] ldr r0, [sp, #0x30] str r1, [sp, #8] mov r1, r7 mov r2, r6 mov r3, r5 str r0, [sp, #0xc] add r0, r4, #0x10 bl sub_02046D50 mov r0, #1 str r0, [r4, #0x14] str r5, [r4, #0x24] mov r0, #0 str r0, [r4, #0x28] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02046A98: .word _020AFEE0 arm_func_end sub_02046A20 arm_func_start sub_02046A9C sub_02046A9C: ; 0x02046A9C stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xa4 mov r7, r0 mov r6, r1 add r0, sp, #0xc mov r1, #0x98 mov r5, r2 mov r4, r3 bl MemZero ldrsb r0, [sp, #0xb8] add r3, sp, #0xc mov r1, r6 cmp r0, #0 addge r0, r5, r0, lsl #3 ldrge r0, [r0, #4] mov ip, #0 movlt r0, #0 str r0, [sp, #0xc] str r5, [sp] str r4, [sp, #4] mov r0, r7 mov r2, #0x33 str ip, [sp, #8] bl sub_02046A20 add sp, sp, #0xa4 ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end sub_02046A9C arm_func_start sub_02046B04 sub_02046B04: ; 0x02046B04 stmdb sp!, {r3, r4, r5, lr} ldr r0, _02046B9C ; =_020AFEE0 ldr r5, [r0] ldr r0, [r5, #0x14] cmp r0, #0 beq _02046B94 cmp r0, #1 beq _02046B30 cmp r0, #9 beq _02046B64 b _02046B94 _02046B30: ldr r0, [r5, #0x10] bl sub_02046F40 ldr r0, [r5, #0x10] bl sub_02047030 mov r4, r0 ldr r0, [r5, #0x10] bl sub_02047038 mvn r1, #0 str r0, [r5, #0x28] cmp r4, r1 movne r0, #9 strne r0, [r5, #0x14] b _02046B94 _02046B64: ldr r0, [r5, #0x10] bl sub_02047030 str r0, [r5, #0x20] ldr r0, [r5, #0x24] tst r0, #0x400000 bne _02046B8C add r0, r5, #0x10 bl sub_02047040 mov r0, #0 str r0, [r5, #0x14] _02046B8C: ldr r0, [r5, #0x20] ldmia sp!, {r3, r4, r5, pc} _02046B94: mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02046B9C: .word _020AFEE0 arm_func_end sub_02046B04 arm_func_start sub_02046BA0 sub_02046BA0: ; 0x02046BA0 ldr r0, _02046BB0 ; =_020AFEE0 ldr r0, [r0] ldr r0, [r0, #0x28] bx lr .align 2, 0 _02046BB0: .word _020AFEE0 arm_func_end sub_02046BA0 arm_func_start sub_02046BB4 sub_02046BB4: ; 0x02046BB4 stmdb sp!, {r4, lr} ldr r0, _02046BE4 ; =_020AFEE0 ldr r4, [r0] add r0, r4, #0x10 bl sub_02047040 mov r1, #0 ldr r0, _02046BE4 ; =_020AFEE0 str r1, [r4, #0x14] ldr r0, [r0] sub r1, r1, #2 str r1, [r0, #0x20] ldmia sp!, {r4, pc} .align 2, 0 _02046BE4: .word _020AFEE0 arm_func_end sub_02046BB4 arm_func_start sub_02046BE8 sub_02046BE8: ; 0x02046BE8 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02046C2C ; =_020AFEE0 mov r6, r1 ldr r4, [r3] mov r7, r0 mov r5, r2 mov r0, r4 mov r1, #0x2c bl MemZero mov r0, r7 mov r1, r6 mov r2, r5 bl sub_020472A4 mov r0, #1 str r0, [r4, #0x14] strh r7, [r4, #0x18] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02046C2C: .word _020AFEE0 arm_func_end sub_02046BE8 arm_func_start sub_02046C30 sub_02046C30: ; 0x02046C30 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02046C74 ; =_020AFEE0 mov r6, r1 ldr r4, [r3] mov r7, r0 mov r5, r2 mov r0, r4 mov r1, #0x2c bl MemZero mov r0, r7 mov r1, r6 mov r2, r5 bl sub_02047358 mov r0, #1 str r0, [r4, #0x14] strh r7, [r4, #0x18] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02046C74: .word _020AFEE0 arm_func_end sub_02046C30 arm_func_start sub_02046C78 sub_02046C78: ; 0x02046C78 stmdb sp!, {r4, lr} ldr r0, _02046D1C ; =_020AFEE0 ldr r4, [r0] ldr r0, [r4, #0x14] cmp r0, #9 bgt _02046CB4 bge _02046CF0 cmp r0, #1 bgt _02046D14 cmp r0, #0 blt _02046D14 beq _02046D14 cmp r0, #1 beq _02046CC0 b _02046D14 _02046CB4: cmp r0, #0xa beq _02046D00 b _02046D14 _02046CC0: bl sub_020473FC cmp r0, #2 bne _02046D14 ldrh r0, [r4, #0x18] tst r0, #0x400 movne r0, #0xa strne r0, [r4, #0x14] movne r0, #0x3c strne r0, [r4, #0x1c] moveq r0, #9 streq r0, [r4, #0x14] b _02046D14 _02046CF0: mov r0, #0 str r0, [r4, #0x14] mov r0, #1 ldmia sp!, {r4, pc} _02046D00: ldr r0, [r4, #0x1c] subs r0, r0, #1 str r0, [r4, #0x1c] movmi r0, #9 strmi r0, [r4, #0x14] _02046D14: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02046D1C: .word _020AFEE0 arm_func_end sub_02046C78 arm_func_start sub_02046D20 sub_02046D20: ; 0x02046D20 ldr ip, _02046D28 ; =sub_020473A4 bx ip .align 2, 0 _02046D28: .word sub_020473A4 arm_func_end sub_02046D20 arm_func_start sub_02046D2C sub_02046D2C: ; 0x02046D2C ldr r1, _02046D40 ; =_020AFEE0 ldr r2, [r1] str r0, [r1] mov r0, r2 bx lr .align 2, 0 _02046D40: .word _020AFEE0 arm_func_end sub_02046D2C arm_func_start sub_02046D44 sub_02046D44: ; 0x02046D44 ldr ip, _02046D4C ; =sub_020474B8 bx ip .align 2, 0 _02046D4C: .word sub_020474B8 arm_func_end sub_02046D44 arm_func_start sub_02046D50 sub_02046D50: ; 0x02046D50 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x410 mov r4, r0 mov r5, r1 mov r0, #0xcc mov r1, #8 mov sb, r2 mov r8, r3 ldr r7, [sp, #0x434] bl MemAlloc mov r1, #0xcc mov r6, r0 str r0, [r4] bl MemZero cmp r5, #0 bne _02046E48 mov r5, #0 sub r0, r5, #1 str r5, [sp] strb r0, [sp, #9] cmp r7, #0 beq _02046E54 mov r4, r5 add sl, sp, #0x10 b _02046DE0 _02046DB4: mov r0, r4, lsl #3 ldrh r1, [r7, r0] cmp r1, #0 beq _02046DE8 mov r0, sl bl GetStringFromFileVeneer mov r0, sl bl sub_020265A8 cmp r0, r5 movgt r5, r0 add r4, r4, #1 _02046DE0: cmp r4, #0x64 blt _02046DB4 _02046DE8: mov r0, #0xe mul r1, r4, r0 add r3, r5, #7 mov r0, r3, asr #2 add r2, r1, #7 add r0, r3, r0, lsr #29 mov r0, r0, asr #3 add r3, r0, #2 mov r1, r2, asr #2 add r0, r2, r1, lsr #29 mov r5, r0, asr #3 rsb r4, r3, #0x1e rsb r2, r5, #0xf mov r1, #0 strb r4, [sp, #4] add r0, sp, #0 strb r5, [sp, #7] add r4, r6, #4 strb r2, [sp, #5] strb r3, [sp, #6] str r1, [sp, #0xc] ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} b _02046E54 _02046E48: add r4, r6, #4 ldmia r5, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} _02046E54: add r0, sp, #0x420 ldrh r1, [r0, #0x18] ldr ip, [sp, #0x430] ldr r0, [sp, #0x43c] strh r1, [r6, #0x20] strh sb, [r6, #0x22] str r0, [r6, #0x24] str r7, [r6, #0x1c] mvn r0, #0 str r0, [r6, #0x14] str r8, [r6, #0x28] mov r0, #0 str r0, [r6, #0x18] cmp ip, #0 streqb r0, [r6, #0xc4] beq _02046EBC add r5, r6, #0x2c mov r4, #9 _02046E9C: ldmia ip!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs r4, r4, #1 bne _02046E9C ldmia ip, {r0, r1} stmia r5, {r0, r1} mov r0, #1 strb r0, [r6, #0xc4] _02046EBC: mvn r0, #1 strb r0, [r6] ldrh r0, [r6, #0x20] cmp r0, #0 moveq r0, #0 beq _02046EF8 bl sub_020473FC cmp r0, #1 bne _02046EE4 bl sub_02047220 _02046EE4: ldrh r0, [r6, #0x22] ldrh r1, [r6, #0x20] ldr r2, [r6, #0x24] bl sub_02047244 mov r0, #1 _02046EF8: cmp r0, #0 bne _02046F2C ldrb r0, [r6, #0xc4] ldr r1, [r6, #0x28] ldr r3, [r6, #0x1c] cmp r0, #0 addne r2, r6, #0x2c moveq r2, #0 add r0, r6, #4 bl sub_0202A5CC strb r0, [r6] mov r0, #1 b _02046F30 _02046F2C: mov r0, #6 _02046F30: str r0, [r6, #0xc8] mov r0, #1 add sp, sp, #0x410 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02046D50 arm_func_start sub_02046F40 sub_02046F40: ; 0x02046F40 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #0xc8] cmp r0, #9 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _02046F58: ; jump table ldmia sp!, {r3, r4, r5, pc} ; case 0 b _02046FBC ; case 1 ldmia sp!, {r3, r4, r5, pc} ; case 2 ldmia sp!, {r3, r4, r5, pc} ; case 3 ldmia sp!, {r3, r4, r5, pc} ; case 4 ldmia sp!, {r3, r4, r5, pc} ; case 5 b _02046F80 ; case 6 ldmia sp!, {r3, r4, r5, pc} ; case 7 ldmia sp!, {r3, r4, r5, pc} ; case 8 b _02047024 ; case 9 _02046F80: bl sub_020473FC cmp r0, #2 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0xc4] ldr r1, [r4, #0x28] ldr r3, [r4, #0x1c] cmp r0, #0 addne r2, r4, #0x2c moveq r2, #0 add r0, r4, #4 bl sub_0202A5CC strb r0, [r4] mov r0, #1 str r0, [r4, #0xc8] ldmia sp!, {r3, r4, r5, pc} _02046FBC: ldrsb r0, [r4] bl sub_020282F4 mov r5, r0 ldrsb r0, [r4] bl sub_0202AB80 str r0, [r4, #0x18] ldrsb r0, [r4] bl sub_0202AB40 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mvn r1, #3 cmp r5, r1 bne _02047008 ldrsb r0, [r4] bl sub_0202ABB0 str r0, [r4, #0x14] mov r0, #9 str r0, [r4, #0xc8] ldmia sp!, {r3, r4, r5, pc} _02047008: sub r0, r1, #1 cmp r5, r0 addeq r0, r1, #2 streq r0, [r4, #0x14] moveq r0, #9 streq r0, [r4, #0xc8] ldmia sp!, {r3, r4, r5, pc} _02047024: mov r0, #0xa str r0, [r4, #0xc8] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02046F40 arm_func_start sub_02047030 sub_02047030: ; 0x02047030 ldr r0, [r0, #0x14] bx lr arm_func_end sub_02047030 arm_func_start sub_02047038 sub_02047038: ; 0x02047038 ldr r0, [r0, #0x18] bx lr arm_func_end sub_02047038 arm_func_start sub_02047040 sub_02047040: ; 0x02047040 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrsb r0, [r4] mvn r1, #1 cmp r0, r1 beq _02047068 bl sub_0202AABC _02047068: mov r0, r4 bl MemFree mov r0, #0 str r0, [r5] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02047040 arm_func_start sub_0204707C sub_0204707C: ; 0x0204707C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0xc mov r1, #8 mov r5, r2 bl MemAlloc mov r1, #0xc mov r4, r0 str r0, [r7] bl MemZero mov r0, r6 mov r1, r5 bl sub_0202F8C4 strb r0, [r4] mov r0, #3 str r0, [r4, #8] sub r0, r0, #4 str r0, [r4, #4] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204707C arm_func_start sub_020470D0 sub_020470D0: ; 0x020470D0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #0 beq _020470FC cmp r0, #3 beq _02047108 cmp r0, #4 moveq r0, #8 streq r0, [r4, #8] ldmia sp!, {r4, pc} _020470FC: mov r0, #3 str r0, [r4, #8] ldmia sp!, {r4, pc} _02047108: ldrsb r0, [r4] bl sub_020282F4 mvn r2, #3 cmp r0, r2 addeq r0, r2, #1 streq r0, [r4, #4] moveq r0, #4 streq r0, [r4, #8] ldmeqia sp!, {r4, pc} sub r1, r2, #1 cmp r0, r1 addeq r0, r2, #2 streq r0, [r4, #4] moveq r0, #4 streq r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end sub_020470D0 arm_func_start sub_02047148 sub_02047148: ; 0x02047148 ldr r0, [r0, #4] bx lr arm_func_end sub_02047148 arm_func_start sub_02047150 sub_02047150: ; 0x02047150 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrsb r0, [r4] bl sub_0202812C ldrsb r0, [r4] bl sub_0202F918 mov r0, r4 bl MemFree mov r0, #0 str r0, [r5] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02047150 arm_func_start sub_02047188 sub_02047188: ; 0x02047188 stmdb sp!, {r4, lr} ldr r4, [r0] cmp r4, #0 ldmeqia sp!, {r4, pc} ldrsb r0, [r4] bl sub_02027B1C ldrsb r0, [r4] bl sub_0202F9B8 ldmia sp!, {r4, pc} arm_func_end sub_02047188 arm_func_start sub_020471AC sub_020471AC: ; 0x020471AC stmdb sp!, {r3, lr} mov r0, #0x70 mov r1, #8 bl MemAlloc ldr r2, _020471E4 ; =_020AFEE4 mov r1, #0x70 str r0, [r2] bl MemZero ldr r0, _020471E4 ; =_020AFEE4 mvn r2, #1 ldr r1, [r0] mov r0, #1 strb r2, [r1] ldmia sp!, {r3, pc} .align 2, 0 _020471E4: .word _020AFEE4 arm_func_end sub_020471AC arm_func_start sub_020471E8 sub_020471E8: ; 0x020471E8 stmdb sp!, {r3, lr} ldr r0, _0204721C ; =_020AFEE4 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_020473A4 ldr r0, _0204721C ; =_020AFEE4 ldr r0, [r0] bl MemFree ldr r0, _0204721C ; =_020AFEE4 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0204721C: .word _020AFEE4 arm_func_end sub_020471E8 arm_func_start sub_02047220 sub_02047220: ; 0x02047220 stmdb sp!, {r3, lr} mov r0, #0 bl CreateDBox ldr r1, _02047240 ; =_020AFEE4 ldr r1, [r1] strb r0, [r1] mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02047240: .word _020AFEE4 arm_func_end sub_02047220 arm_func_start sub_02047244 sub_02047244: ; 0x02047244 stmdb sp!, {r4, lr} ldr r3, _020472A0 ; =_020AFEE4 mov r4, r2 ldr r2, [r3] strh r1, [r2, #0x14] ldr r1, [r3] strh r0, [r1, #0x68] ldr r0, [r3] ldrsb r0, [r0] bl sub_020288DC ldr r0, _020472A0 ; =_020AFEE4 ldr r0, [r0] ldrsb r0, [r0] bl ShowDBox ldr r0, _020472A0 ; =_020AFEE4 mov r3, r4 ldr r2, [r0] ldrsb r0, [r2] ldrh r1, [r2, #0x68] ldrh r2, [r2, #0x14] bl ShowMessageInDBox mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _020472A0: .word _020AFEE4 arm_func_end sub_02047244 arm_func_start sub_020472A4 sub_020472A4: ; 0x020472A4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_020473FC cmp r0, #1 bne _020472D4 mov r0, #0 bl CreateDBox ldr r1, _020472EC ; =_020AFEE4 ldr r1, [r1] strb r0, [r1] _020472D4: mov r0, r6 mov r1, r5 mov r2, r4 bl sub_02047244 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020472EC: .word _020AFEE4 arm_func_end sub_020472A4 arm_func_start sub_020472F0 sub_020472F0: ; 0x020472F0 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02047354 ; =_020AFEE4 mov ip, #0 ldr r4, [r3] mov r5, r1 strh ip, [r4, #0x14] ldr r1, [r3] mov r4, r2 strh r0, [r1, #0x68] ldr r0, [r3] ldrsb r0, [r0] bl sub_020288DC ldr r0, _02047354 ; =_020AFEE4 ldr r0, [r0] ldrsb r0, [r0] bl ShowDBox ldr r0, _02047354 ; =_020AFEE4 mov r2, r5 ldr r1, [r0] mov r3, r4 ldrsb r0, [r1] ldrh r1, [r1, #0x68] bl sub_0202F23C mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02047354: .word _020AFEE4 arm_func_end sub_020472F0 arm_func_start sub_02047358 sub_02047358: ; 0x02047358 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_020473FC cmp r0, #1 bne _02047388 mov r0, #0 bl CreateDBox ldr r1, _020473A0 ; =_020AFEE4 ldr r1, [r1] strb r0, [r1] _02047388: mov r0, r6 mov r1, r5 mov r2, r4 bl sub_020472F0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020473A0: .word _020AFEE4 arm_func_end sub_02047358 arm_func_start sub_020473A4 sub_020473A4: ; 0x020473A4 stmdb sp!, {r3, lr} ldr r0, _020473F8 ; =_020AFEE4 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202836C ldr r0, _020473F8 ; =_020AFEE4 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202F2C4 ldr r0, _020473F8 ; =_020AFEE4 ldr r0, [r0] ldrsb r0, [r0] bl FreeDBox ldr r0, _020473F8 ; =_020AFEE4 mvn r1, #1 ldr r0, [r0] strb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _020473F8: .word _020AFEE4 arm_func_end sub_020473A4 arm_func_start sub_020473FC sub_020473FC: ; 0x020473FC stmdb sp!, {r4, lr} ldr r0, _0204749C ; =_020AFEE4 mov r4, #0 ldr r0, [r0] sub r1, r4, #2 ldrsb r0, [r0] cmp r0, r1 moveq r0, #1 ldmeqia sp!, {r4, pc} bl IsDBoxActive cmp r0, #0 movne r0, #4 bne _02047440 ldr r0, _0204749C ; =_020AFEE4 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202F16C _02047440: cmp r0, #0xa addls pc, pc, r0, lsl #2 b _02047494 _0204744C: ; jump table b _02047494 ; case 0 b _02047490 ; case 1 b _02047494 ; case 2 b _02047494 ; case 3 b _02047488 ; case 4 b _02047494 ; case 5 b _02047494 ; case 6 b _02047494 ; case 7 b _02047478 ; case 8 b _02047478 ; case 9 b _02047480 ; case 10 _02047478: mov r4, #4 b _02047494 _02047480: mov r4, #5 b _02047494 _02047488: mov r4, #3 b _02047494 _02047490: mov r4, #2 _02047494: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0204749C: .word _020AFEE4 arm_func_end sub_020473FC arm_func_start sub_020474A0 sub_020474A0: ; 0x020474A0 ldr r1, _020474B4 ; =_020AFEE4 ldr r2, [r1] str r0, [r1] mov r0, r2 bx lr .align 2, 0 _020474B4: .word _020AFEE4 arm_func_end sub_020474A0 arm_func_start sub_020474B8 sub_020474B8: ; 0x020474B8 ldr r2, _020474D8 ; =_020AFEE4 mov r3, r0 ldr r0, [r2] ldr ip, _020474DC ; =sub_0202F44C mov r2, r1 ldrsb r0, [r0] mov r1, r3 bx ip .align 2, 0 _020474D8: .word _020AFEE4 _020474DC: .word sub_0202F44C arm_func_end sub_020474B8 arm_func_start sub_020474E0 sub_020474E0: ; 0x020474E0 stmdb sp!, {r3, lr} ldr r0, _02047574 ; =_022AAE68 ldr r2, [r0] cmp r2, #0 beq _0204756C ldr r1, [r2, #0x10] cmp r1, #2 bgt _02047520 cmp r1, #0 blt _0204756C beq _02047528 cmp r1, #1 beq _02047534 cmp r1, #2 beq _02047554 b _0204756C _02047520: cmp r1, #0xff b _0204756C _02047528: add r0, r1, #1 str r0, [r2, #0x10] b _0204756C _02047534: mov r0, #0 bl sub_02047C40 cmp r0, #0 ldrne r0, _02047574 ; =_022AAE68 movne r1, #2 ldrne r0, [r0] strne r1, [r0, #0x10] b _0204756C _02047554: mov r1, #1 str r1, [r0, #4] mov r0, #0xff str r0, [r2, #0x10] mov r0, #4 ldmia sp!, {r3, pc} _0204756C: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02047574: .word _022AAE68 arm_func_end sub_020474E0 arm_func_start sub_02047578 sub_02047578: ; 0x02047578 stmdb sp!, {r3, lr} ldr r0, _020475B0 ; =_022AAE68 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0 bl sub_02047EF4 ldr r0, _020475B0 ; =_022AAE68 ldr r0, [r0] bl MemFree ldr r0, _020475B0 ; =_022AAE68 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _020475B0: .word _022AAE68 arm_func_end sub_02047578 arm_func_start sub_020475B4 sub_020475B4: ; 0x020475B4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r3, _02047658 ; =_022AAE68 mov ip, #0 ldr r0, _0204765C ; =_0209CCB0 mov r5, r1 mov r4, r2 str ip, [r3, #4] bl sub_020348E4 cmp r0, #0 beq _02047650 mov r0, #0x14 mov r1, #8 bl MemAlloc ldr r2, _02047658 ; =_022AAE68 mov r1, #0x14 str r0, [r2] bl MemZero ldr r2, _02047658 ; =_022AAE68 mov r1, #0 str r1, [r2, #4] ldr r3, [r2] mov r0, r5 str r6, [r3, #4] ldr r3, [r2] strh r1, [r3, #0xa] ldr r2, [r2] strh r5, [r2, #0xc] bl sub_02047760 ldr r0, _02047658 ; =_022AAE68 mov r2, #0 ldr r5, [r0] mov r1, r4 str r2, [sp] ldrsh r3, [r5, #0xc] ldr r0, [r5, #4] add r2, r5, #0xa bl sub_02047F38 _02047650: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02047658: .word _022AAE68 _0204765C: .word _0209CCB0 arm_func_end sub_020475B4 arm_func_start sub_02047660 sub_02047660: ; 0x02047660 ldr r0, _0204766C ; =_022AAE68 ldr r0, [r0, #4] bx lr .align 2, 0 _0204766C: .word _022AAE68 arm_func_end sub_02047660 arm_func_start sub_02047670 sub_02047670: ; 0x02047670 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r0, #0x60 mov r1, #8 bl MemAlloc ldr r2, _020476E8 ; =_020AFEE8 mov r1, #0x60 str r0, [r2] bl MemZero ldr r0, _020476E8 ; =_020AFEE8 ldr r0, [r0] bl InitPreprocessorArgs ldr r1, _020476E8 ; =_020AFEE8 mov r0, r4 ldr r2, [r1] mov r3, #0 mov r1, #1 str r3, [r2, #0x4c] bl sub_02047760 ldr r1, _020476E8 ; =_020AFEE8 mov r3, #0 ldr r2, [r1] mov r0, #1 strh r3, [r2, #0x58] ldr r2, [r1] strh r4, [r2, #0x56] ldr r1, [r1] str r5, [r1, #0x50] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020476E8: .word _020AFEE8 arm_func_end sub_02047670 arm_func_start sub_020476EC sub_020476EC: ; 0x020476EC stmdb sp!, {r3, lr} ldr r1, _02047718 ; =_020AFEE8 mov r2, #1 ldr ip, [r1] mov r1, r0 str r2, [sp] ldrsh r3, [ip, #0x56] ldr r0, [ip, #0x50] add r2, ip, #0x58 bl sub_02047F38 ldmia sp!, {r3, pc} .align 2, 0 _02047718: .word _020AFEE8 arm_func_end sub_020476EC arm_func_start sub_0204771C sub_0204771C: ; 0x0204771C stmdb sp!, {r3, lr} ldr r0, _0204775C ; =_020AFEE8 ldr r0, [r0] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r0, #1 bl sub_02047EF4 ldr r0, _0204775C ; =_020AFEE8 ldr r0, [r0] bl MemFree ldr r0, _0204775C ; =_020AFEE8 mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0204775C: .word _020AFEE8 arm_func_end sub_0204771C arm_func_start sub_02047760 sub_02047760: ; 0x02047760 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 ldr r2, _02047920 ; =_020AFEEC mov r5, r1 ldr r1, [r2, r5, lsl #2] mov r6, r0 cmp r1, #0 movne r0, #0 bne _02047918 ldr r0, _02047924 ; =0x00002020 mov r1, #8 bl MemAlloc ldr r1, _02047924 ; =0x00002020 mov r4, r0 bl MemZero cmp r5, #0 bne _02047850 ldr r0, _02047928 ; =_0209CCC0 add lr, sp, #8 ldmia r0, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} mov ip, #0 add r2, r4, #0x384 str ip, [sp, #8] str r4, [sp, #0x14] strb ip, [sp, #0x10] add r0, r4, #0x1000 mov r3, #0x10 str r3, [r0, #0xf90] ldr r1, _0204792C ; =0x00000A44 add r0, r4, #0x1f00 strh r1, [r0, #0x8c] str ip, [sp] ldr r1, _02047930 ; =0x0040180A ldr r3, _02047934 ; =sub_02047AB4 mov r0, lr add r2, r2, #0x1c00 str ip, [sp, #4] bl sub_020305B4 add r1, r4, #0x100 strb r0, [r4, #0x120] ldrsb r0, [r1, #0x20] mov r1, #1 bl sub_0203077C add r0, r4, #0x100 ldrsb r0, [r0, #0x20] mov r1, #1 bl sub_02030AAC add r0, r4, #0x1f00 mov r1, #0x14 strh r1, [r0, #0x80] add r0, r4, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x20000000 bl sub_02030A90 add r0, r4, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x40000000 bl sub_02030A74 b _020478A0 _02047850: ldr r0, _02047938 ; =_0209CCD0 add ip, sp, #8 ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} mov r1, #0 mov r0, #1 add r2, r4, #0x384 strb r0, [sp, #0x10] str r1, [sp, #8] str r4, [sp, #0x14] str r1, [sp] ldr r3, _02047934 ; =sub_02047AB4 mov r0, ip add r2, r2, #0x1c00 str r1, [sp, #4] bl sub_020305B4 strb r0, [r4, #0x120] add r0, r4, #0x1f00 mov r1, #8 strh r1, [r0, #0x80] _020478A0: add r0, r4, #0x1000 strb r5, [r0, #0xf7c] add r0, r4, #0x100 ldrsb r1, [r0, #0x20] mov r0, r4 bl sub_02025E84 mov ip, #0 str ip, [r4, #0x11c] add r2, r4, #0x1f00 strh r6, [r2, #0x72] strb ip, [r4, #0x128] ldrb r1, [sp, #0xe] mov r3, #0x3c add r0, r4, #0x2000 mov r1, r1, lsl #3 strh r1, [r2, #0x78] strb ip, [r0, #0x1c] add r0, r4, #0x1000 mov r1, #0x80 str r1, [r0, #0xf6c] add r0, r4, #0x12c add r1, r3, #0x1e00 strh r3, [r2, #0x68] bl MemZero add r0, r4, #0x1000 mov r2, #0 ldr r1, _02047920 ; =_020AFEEC strb r2, [r0, #0xf82] str r4, [r1, r5, lsl #2] mov r0, #1 _02047918: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02047920: .word _020AFEEC _02047924: .word 0x00002020 _02047928: .word _0209CCC0 _0204792C: .word 0x00000A44 _02047930: .word 0x0040180A _02047934: .word sub_02047AB4 _02047938: .word _0209CCD0 arm_func_end sub_02047760 arm_func_start sub_0204793C sub_0204793C: ; 0x0204793C ldr r1, _0204795C ; =_020AFEEC mov r2, #0 ldr r3, [r1, r0, lsl #2] mov r1, #1 add r0, r3, #0x1f00 strh r2, [r0, #0x70] strb r1, [r3, #0x128] bx lr .align 2, 0 _0204795C: .word _020AFEEC arm_func_end sub_0204793C arm_func_start sub_02047960 sub_02047960: ; 0x02047960 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02047A0C ; =_020AFEEC mov r5, r0 ldr r4, [r1, r5, lsl #2] add r0, r4, #0x1f00 ldrsh r1, [r0, #0x70] cmp r1, #0 addle r0, r4, #0x2000 movle r1, #1 strleb r1, [r0, #0x1c] movle r2, #0 ble _020479B0 ldrsh r0, [r0, #0x72] sub r0, r1, r0 mov r0, r0, lsl #0x10 movs r2, r0, asr #0x10 addmi r0, r4, #0x2000 movmi r1, #1 strmib r1, [r0, #0x1c] movmi r2, #0 _020479B0: add r0, r4, #0x1f00 strh r2, [r0, #0x74] mov r1, #0 strb r1, [r4, #0x128] strh r2, [r0, #0x7e] add r0, r4, #0x100 ldrsb r0, [r0, #0x20] bl sub_0203083C cmp r5, #0 ldmneia sp!, {r3, r4, r5, pc} add r0, r4, #0x2000 ldrb r0, [r0, #0x1c] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r4, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x20000000 bl sub_02030A74 add r0, r4, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x40000000 bl sub_02030A74 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02047A0C: .word _020AFEEC arm_func_end sub_02047960 arm_func_start sub_02047A10 sub_02047A10: ; 0x02047A10 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r4, _02047AB0 ; =_020AFEEC mov r6, r0 ldr r4, [r4, r3, lsl #2] mov r5, r2 ldrb r0, [r4, #0x128] cmp r0, #0 beq _02047AA8 add r0, r4, #0x1f00 ldrsh r3, [r0, #0x70] ldrsh r2, [r0, #0x68] cmp r3, r2 bge _02047AA8 add r2, r3, r3, lsl #7 add r2, r4, r2 strb r1, [r2, #0x1ac] ldrsh r0, [r0, #0x70] add r2, r4, #0x12c mov r1, r6 add r0, r0, r0, lsl #7 add r0, r2, r0 bl strcpy str r5, [sp] add r0, r4, #0x1f00 ldrsh r1, [r0, #0x70] add r0, r4, #0x1000 add r5, r4, #0x12c add r3, r1, r1, lsl #7 ldr r1, [r0, #0xf6c] mov r2, r6 add r0, r5, r3 mov r3, #0x400 bl PreprocessString add r0, r4, #0x1f00 ldrsh r1, [r0, #0x70] add r1, r1, #1 strh r1, [r0, #0x70] _02047AA8: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02047AB0: .word _020AFEEC arm_func_end sub_02047A10 arm_func_start sub_02047AB4 sub_02047AB4: ; 0x02047AB4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 bl sub_02028324 cmp r0, #0 moveq r1, #0 beq _02047ADC cmp r0, #1 moveq r1, #1 bne _02047C34 _02047ADC: ldr r0, _02047C3C ; =_020AFEEC ldr r5, [r0, r1, lsl #2] add r0, r5, #0x100 ldrsb r0, [r0, #0x20] bl sub_02027B1C ldr r0, [r5, #0x11c] cmp r0, #2 beq _02047B0C mov r0, r5 bl sub_0202613C mov r0, #1 str r0, [r5, #0x11c] _02047B0C: add r4, r5, #0x1f00 ldrsh r0, [r4, #0x70] ldrsh r7, [r4, #0x7e] cmp r7, r0 bge _02047C34 ldr r1, [r5, #0x18] ldr r2, [r5, #4] mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 mov r8, r1, asr #0x10 mov r1, r2, asr #0x10 str r1, [sp, #4] mov r6, #0 add fp, r5, #0x12c b _02047BBC _02047B48: add sb, r7, r7, lsl #7 add r0, r5, sb ldrb r0, [r0, #0x1ac] cmp r0, #0 beq _02047B80 mov r0, #0x17 str r0, [sp] ldrsh r1, [r4, #0x80] ldrsh r3, [r4, #0x78] mov r0, sl mla r1, r6, r8, r1 sub r2, r1, #2 mov r1, #0 bl sub_02025D50 _02047B80: ldrsh r2, [r4, #0x80] ldr r1, [sp, #4] mov r0, sl mla r2, r6, r8, r2 add r3, fp, sb bl sub_020264A4 add r0, r7, #1 mov r1, r0, lsl #0x10 ldrsh r0, [r4, #0x70] mov r7, r1, asr #0x10 cmp r0, r1, asr #16 ble _02047BC8 add r1, r6, #1 mov r1, r1, lsl #0x10 mov r6, r1, asr #0x10 _02047BBC: ldrsh r1, [r4, #0x72] cmp r6, r1 blt _02047B48 _02047BC8: add r1, r5, #0x1f00 ldrsh r2, [r1, #0x72] cmp r0, r2 ble _02047C18 sub r0, r0, r2 sub r0, r0, #1 ldrsh r1, [r1, #0x74] mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 addeq r0, r5, #0x1000 moveq r1, #1 streqb r1, [r0, #0xf82] beq _02047C2C cmp r1, #0 add r0, r5, #0x1000 moveq r1, #2 streqb r1, [r0, #0xf82] movne r1, #3 strneb r1, [r0, #0xf82] b _02047C2C _02047C18: add r0, r5, #0x1000 mov r1, #0 strb r1, [r0, #0xf82] strb r1, [r0, #0xf7a] strb r1, [r0, #0xf7b] _02047C2C: mov r0, sl bl sub_02027AF0 _02047C34: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02047C3C: .word _020AFEEC arm_func_end sub_02047AB4 arm_func_start sub_02047C40 sub_02047C40: ; 0x02047C40 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 ldr r1, _02047EF0 ; =_020AFEEC mov r6, #0 ldr r5, [r1, r0, lsl #2] add r1, sp, #0 mov r0, r6 bl sub_020063F4 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] bl sub_02030A40 ldr r1, [r5, #0x11c] mov r4, r0 cmp r1, #4 addls pc, pc, r1, lsl #2 b _02047EE4 _02047C80: ; jump table b _02047C94 ; case 0 b _02047CAC ; case 1 b _02047CB8 ; case 2 b _02047EC0 ; case 3 b _02047ECC ; case 4 _02047C94: mov r0, r5 bl sub_020261D4 cmp r0, #0 beq _02047EE4 mov r0, #1 str r0, [r5, #0x11c] _02047CAC: mov r0, #2 str r0, [r5, #0x11c] b _02047EE4 _02047CB8: mov r0, r5 bl sub_02026204 add r1, r5, #0x1000 ldrb r1, [r1, #0xf7c] mov r7, r0 cmp r1, #1 beq _02047EE4 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] bl sub_020308C4 cmp r0, #0 beq _02047CF0 ands r8, r4, #2 beq _02047D0C _02047CF0: mov r0, #1 bl sub_02017CCC mov r0, #3 str r0, [r5, #0x11c] mov r0, #1 str r0, [r5, #0x124] b _02047EE4 _02047D0C: add r0, r5, #0x1f00 ldrsh r3, [r0, #0x72] ldrsh ip, [r0, #0x70] cmp ip, r3 ble _02047E9C ldrh r0, [sp] tst r0, #0x40 bne _02047D34 tst r4, #0x40000 beq _02047D7C _02047D34: add r0, r5, #0x1f00 ldrsh r1, [r0, #0x74] sub r1, r1, #1 strh r1, [r0, #0x74] ldrsh r1, [r0, #0x74] cmp r1, #0 bge _02047D6C mov r1, #0 strh r1, [r0, #0x74] add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x20000000 bl sub_02030A74 b _02047D74 _02047D6C: mov r0, #3 bl sub_02017CCC _02047D74: mov r6, #1 b _02047DC4 _02047D7C: tst r0, #0x80 bne _02047D8C tst r4, #0x80000 beq _02047DC4 _02047D8C: add r1, r5, #0x1f00 ldrsh r2, [r1, #0x74] sub r0, ip, r3 mov r0, r0, lsl #0x10 add r2, r2, #1 strh r2, [r1, #0x74] ldrsh r2, [r1, #0x74] mov r3, r0, asr #0x10 cmp r2, r0, asr #16 strgth r3, [r1, #0x74] bgt _02047DC0 mov r0, #3 bl sub_02017CCC _02047DC0: mov r6, #1 _02047DC4: add r0, r5, #0x1f00 ldrsh r2, [r0, #0x74] cmp r2, #1 blt _02047E0C ldrsh r1, [r0, #0x70] ldrsh r0, [r0, #0x72] sub r0, r1, r0 cmp r2, r0 bge _02047E0C add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x20000000 bl sub_02030A90 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x40000000 bl sub_02030A90 b _02047E70 _02047E0C: cmp r2, #0 bne _02047E38 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x20000000 bl sub_02030A74 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x40000000 bl sub_02030A90 b _02047E70 _02047E38: add r0, r5, #0x1f00 ldrsh r1, [r0, #0x70] ldrsh r0, [r0, #0x72] sub r0, r1, r0 cmp r2, r0 bne _02047E70 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x20000000 bl sub_02030A90 add r0, r5, #0x100 ldrsb r0, [r0, #0x20] mov r1, #0x40000000 bl sub_02030A74 _02047E70: ldrb r0, [r5, #0x129] cmp r0, #0 bne _02047E9C cmp r6, #0 beq _02047E9C add r0, r5, #0x1f00 ldrsh r2, [r0, #0x74] add r1, r5, #0x100 strh r2, [r0, #0x7e] ldrsb r0, [r1, #0x20] bl sub_0203083C _02047E9C: cmp r8, #0 bne _02047EAC cmp r7, #0x10 bne _02047EE4 _02047EAC: mov r1, #3 mov r0, #1 str r1, [r5, #0x11c] bl sub_02017CCC b _02047EE4 _02047EC0: mov r0, #4 str r0, [r5, #0x11c] b _02047EE4 _02047ECC: mov r1, r6 mov r0, r5 str r1, [r5, #0x11c] bl sub_0202613C mov r0, #1 b _02047EE8 _02047EE4: mov r0, #0 _02047EE8: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02047EF0: .word _020AFEEC arm_func_end sub_02047C40 arm_func_start sub_02047EF4 sub_02047EF4: ; 0x02047EF4 stmdb sp!, {r4, lr} ldr r1, _02047F34 ; =_020AFEEC mov r4, r0 ldr r0, [r1, r4, lsl #2] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r0, #0x100 ldrsb r0, [r0, #0x20] bl sub_02030850 ldr r0, _02047F34 ; =_020AFEEC ldr r0, [r0, r4, lsl #2] bl MemFree ldr r0, _02047F34 ; =_020AFEEC mov r1, #0 str r1, [r0, r4, lsl #2] ldmia sp!, {r4, pc} .align 2, 0 _02047F34: .word _020AFEEC arm_func_end sub_02047EF4 arm_func_start sub_02047F38 sub_02047F38: ; 0x02047F38 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r1 mov sl, r0 ldr r6, [sp, #0x28] mov r0, sb mov r1, #0x3c mov r8, r2 mov r7, r3 bl __divsi3 mov r1, r1, lsl #0x10 mov r2, #0 mov r0, r6 strh r2, [r8] mov sb, r1, asr #0x10 bl sub_0204793C mov r5, #0 mov fp, #0x3c mov r4, #0xd4 _02047F80: smulbb r1, sb, r4 ldrb r0, [sl, r1] add r2, sl, r1 cmp r0, #0 beq _02047FB4 ldrb r1, [r2, #1] mov r3, r6 add r0, r2, #3 add r2, r2, #0x84 bl sub_02047A10 ldrsh r0, [r8] add r0, r0, #1 strh r0, [r8] _02047FB4: add r0, sb, #1 mov r0, r0, lsl #0x10 mov r1, fp mov r0, r0, asr #0x10 bl __divsi3 add r0, r5, #1 mov r2, r0, lsl #0x10 mov r0, r1, lsl #0x10 mov r5, r2, asr #0x10 cmp r5, #0x3c mov sb, r0, asr #0x10 blt _02047F80 ldrsh r0, [r8] cmp r0, r7 mov r0, r6 strlth r7, [r8] bl sub_02047960 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02047F38 arm_func_start sub_02047FFC sub_02047FFC: ; 0x02047FFC stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x39c0 mov r1, #0 bl MemAlloc ldr r2, _02048048 ; =_020AFEF4 mov r1, #0x39c0 str r0, [r2] bl MemZero ldr r1, _02048048 ; =_020AFEF4 mov r2, #1 ldr r0, [r1] add r0, r0, #0x3000 str r4, [r0, #0x1bc] ldr r0, [r1] add r0, r0, #0x3000 strb r2, [r0, #0x1b3] bl sub_020480CC ldmia sp!, {r4, pc} .align 2, 0 _02048048: .word _020AFEF4 arm_func_end sub_02047FFC arm_func_start sub_0204804C sub_0204804C: ; 0x0204804C stmdb sp!, {r3, lr} ldr r0, _02048074 ; =_020AFEF4 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _02048074 ; =_020AFEF4 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02048074: .word _020AFEF4 arm_func_end sub_0204804C arm_func_start sub_02048078 sub_02048078: ; 0x02048078 ldr r1, _0204809C ; =_020AFEF4 ldr r1, [r1] cmp r1, #0 movne r2, #1 moveq r2, #0 tst r2, #0xff addne r1, r1, #0x3000 strneb r0, [r1, #0x1b3] bx lr .align 2, 0 _0204809C: .word _020AFEF4 arm_func_end sub_02048078 arm_func_start sub_020480A0 sub_020480A0: ; 0x020480A0 ldr r0, _020480C8 ; =_020AFEF4 ldr r0, [r0] cmp r0, #0 movne r1, #1 moveq r1, #0 tst r1, #0xff addne r0, r0, #0x3000 ldrneb r0, [r0, #0x1b3] moveq r0, #0 bx lr .align 2, 0 _020480C8: .word _020AFEF4 arm_func_end sub_020480A0 arm_func_start sub_020480CC sub_020480CC: ; 0x020480CC stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r6, _02048130 ; =_020AFEF4 mov r7, #0xd4 ldr r0, [r6] mov r4, #0 add r0, r0, #0x3100 strh r4, [r0, #0xb8] ldr r0, [r6] mov r1, #1 add r0, r0, #0x3000 strb r1, [r0, #0x1b0] mov r5, r7 _020480FC: mul r8, r4, r5 ldr r0, [r6] mov r1, r7 add r0, r0, r8 bl MemZero ldr r0, [r6] add r0, r0, r8 add r0, r0, #0x84 bl InitPreprocessorArgs add r4, r4, #1 cmp r4, #0x3c blt _020480FC ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02048130: .word _020AFEF4 arm_func_end sub_020480CC arm_func_start sub_02048134 sub_02048134: ; 0x02048134 ldr r0, _0204814C ; =_020AFEF4 mov r1, #1 ldr r0, [r0] add r0, r0, #0x3000 strb r1, [r0, #0x1b0] bx lr .align 2, 0 _0204814C: .word _020AFEF4 arm_func_end sub_02048134 arm_func_start sub_02048150 sub_02048150: ; 0x02048150 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_020480A0 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r2, _0204823C ; =_020AFEF4 mov r1, #0xd4 ldr lr, [r2] mov r3, #1 add r0, lr, #0x3100 ldrsh r0, [r0, #0xb8] smulbb ip, r0, r1 strb r3, [lr, ip] ldr r0, [r2] add r1, lr, ip add r0, r0, ip strb r5, [r0, #1] ldr r0, [r2] add r2, r1, #3 add r0, r0, ip strb r4, [r0, #2] add r1, r1, #0x82 _020481B0: ldrb r0, [r6] cmp r0, #0 cmpne r0, #0xd beq _020481D0 cmp r2, r1 strlob r0, [r2], #1 add r6, r6, #1 b _020481B0 _020481D0: mov r3, #0 ldr r1, _0204823C ; =_020AFEF4 strb r3, [r2] ldr r0, [r1] add r0, r0, #0x3100 ldrsh r2, [r0, #0xb8] add r2, r2, #1 strh r2, [r0, #0xb8] ldr r0, [r1] mov r2, #1 add r0, r0, #0x3100 ldrsh r1, [r0, #0xb8] cmp r1, #0x3c ldr r1, _0204823C ; =_020AFEF4 strgeh r3, [r0, #0xb8] ldr r0, [r1] add r0, r0, #0x3000 strb r2, [r0, #0x1b0] ldr r1, [r1] add r0, r1, #0x3000 ldrb r0, [r0, #0x1b2] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r0, r1, #0x3100 ldrsh r0, [r0, #0xb8] bl sub_020476EC ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0204823C: .word _020AFEF4 arm_func_end sub_02048150 arm_func_start sub_02048240 sub_02048240: ; 0x02048240 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r2, _02048334 ; =_020AFEF4 mov r1, r0 ldr r0, [r2] cmp r0, #0 movne r2, #1 moveq r2, #0 tst r2, #0xff ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, r0, #0x31c0 mov r8, #0 bl strcpy ldr r4, _02048334 ; =_020AFEF4 mov r7, r8 mov r6, #0x400 mov fp, #0x440 mov r5, r8 _02048284: ldr sb, [r4] add r0, sb, r8 add r0, r0, #0x3000 ldrb r0, [r0, #0x1c0] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r2, sb, #0x31c0 mov r1, r6 mov r3, fp str r7, [sp] add r0, sb, #0x35c0 add r2, r2, r8 bl PreprocessString ldr r1, [r4] add r8, r8, r0 add r0, r1, r0 add r0, r0, #0x3000 strb r5, [r0, #0x5c0] ldr sl, [r4] add r0, sl, r8 add r0, r0, #0x3000 ldrb sb, [r0, #0x1c0] cmp sb, #0 beq _0204831C add r0, sl, #0x31c0 ldr r1, _02048338 ; =_0209CCE0 mov r2, #3 add r0, r0, r8 bl strncmp cmp r0, #0 bne _02048310 ldr r0, _02048338 ; =_0209CCE0 bl strlen add r8, r8, r0 b _0204831C _02048310: cmp sb, #0xd cmpne sb, #0xa addeq r8, r8, #1 _0204831C: mov r1, #0 mov r2, r1 add r0, sl, #0x35c0 bl sub_02048150 b _02048284 _02048330: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02048334: .word _020AFEF4 _02048338: .word _0209CCE0 arm_func_end sub_02048240 arm_func_start sub_0204833C sub_0204833C: ; 0x0204833C ldr r0, _02048358 ; =_020AFEF4 ldr ip, _0204835C ; =sub_020475B4 ldr r0, [r0] mov r1, #9 add r2, r0, #0x3100 ldrsh r2, [r2, #0xb8] bx ip .align 2, 0 _02048358: .word _020AFEF4 _0204835C: .word sub_020475B4 arm_func_end sub_0204833C arm_func_start sub_02048360 sub_02048360: ; 0x02048360 stmdb sp!, {r3, lr} bl sub_02047660 cmp r0, #1 moveq r0, #1 ldmeqia sp!, {r3, pc} cmp r0, #2 moveq r0, #2 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02048360 arm_func_start sub_02048384 sub_02048384: ; 0x02048384 stmdb sp!, {r3, lr} ldr r0, _020483B4 ; =_020AFEF4 mov r1, #0xb ldr r0, [r0] bl sub_02047670 cmp r0, #0 ldrne r1, _020483B4 ; =_020AFEF4 movne r2, #1 ldrne r1, [r1] addne r1, r1, #0x3000 strneb r2, [r1, #0x1b2] ldmia sp!, {r3, pc} .align 2, 0 _020483B4: .word _020AFEF4 arm_func_end sub_02048384 arm_func_start sub_020483B8 sub_020483B8: ; 0x020483B8 ldr r0, _020483D0 ; =_020AFEF4 ldr ip, _020483D4 ; =sub_020476EC ldr r0, [r0] add r0, r0, #0x3100 ldrsh r0, [r0, #0xb8] bx ip .align 2, 0 _020483D0: .word _020AFEF4 _020483D4: .word sub_020476EC arm_func_end sub_020483B8 arm_func_start sub_020483D8 sub_020483D8: ; 0x020483D8 stmdb sp!, {r3, lr} bl sub_0204771C cmp r0, #0 ldrne r1, _020483FC ; =_020AFEF4 movne r2, #0 ldrne r1, [r1] addne r1, r1, #0x3000 strneb r2, [r1, #0x1b2] ldmia sp!, {r3, pc} .align 2, 0 _020483FC: .word _020AFEF4 arm_func_end sub_020483D8 arm_func_start sub_02048400 sub_02048400: ; 0x02048400 ldr r0, _0204841C ; =_020AFEF4 ldr r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204841C: .word _020AFEF4 arm_func_end sub_02048400 arm_func_start sub_02048420 sub_02048420: ; 0x02048420 stmdb sp!, {r3, lr} bl sub_0204B028 bl sub_02048B74 ldmia sp!, {r3, pc} arm_func_end sub_02048420 arm_func_start sub_02048430 sub_02048430: ; 0x02048430 stmdb sp!, {r3, lr} bl sub_0206637C mov r0, #0 bl sub_02048C0C mvn r0, #0 bl sub_02048C4C bl sub_0204F9B8 bl sub_02048B48 ldmia sp!, {r3, pc} arm_func_end sub_02048430 arm_func_start sub_02048454 sub_02048454: ; 0x02048454 stmdb sp!, {r3, lr} bl ClearAdventureLogStruct bl sub_0206637C mov r0, #0 bl sub_02048C0C mvn r0, #0 bl sub_02048C4C bl sub_0204F9B8 bl sub_02048B48 bl sub_02048C5C ldmia sp!, {r3, pc} arm_func_end sub_02048454 arm_func_start sub_02048480 sub_02048480: ; 0x02048480 stmdb sp!, {r3, lr} bl sub_02048C3C mvn r1, #0 cmp r0, r1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_02048480 arm_func_start GetNotifyNote GetNotifyNote: ; 0x020484A0 ldr r0, _020484AC ; =NOTIFY_NOTE ldrb r0, [r0] bx lr .align 2, 0 _020484AC: .word NOTIFY_NOTE arm_func_end GetNotifyNote arm_func_start SetNotifyNote SetNotifyNote: ; 0x020484B0 ldr r1, _020484BC ; =NOTIFY_NOTE strb r0, [r1] bx lr .align 2, 0 _020484BC: .word NOTIFY_NOTE arm_func_end SetNotifyNote arm_func_start sub_020484C0 sub_020484C0: ; 0x020484C0 stmdb sp!, {r3, lr} bl sub_0206637C mov r0, #0 bl sub_02048C0C mvn r0, #0 bl sub_02048C4C bl sub_0204F9B8 bl sub_02048B48 bl sub_02048C5C ldmia sp!, {r3, pc} arm_func_end sub_020484C0 arm_func_start sub_020484E8 sub_020484E8: ; 0x020484E8 stmdb sp!, {r4, lr} bl GetSpecialEpisodeType mov r4, r0 bl sub_02052CD8 bl sub_0200CAD4 bl sub_0204CDB8 mov r0, r4 mov r1, #1 bl sub_0204C9F4 cmp r4, #4 addls pc, pc, r4, lsl #2 b _02048578 _02048518: ; jump table b _0204852C ; case 0 b _0204853C ; case 1 b _0204854C ; case 2 b _0204855C ; case 3 b _0204856C ; case 4 _0204852C: ldr r1, _020485AC ; =_020A2830 mov r0, #2 bl sub_02048AC4 b _02048578 _0204853C: ldr r1, _020485B0 ; =_020A2808 mov r0, #2 bl sub_02048AC4 b _02048578 _0204854C: ldr r1, _020485B4 ; =_020A2844 mov r0, #2 bl sub_02048AC4 b _02048578 _0204855C: ldr r1, _020485B8 ; =_020A2880 mov r0, #2 bl sub_02048AC4 b _02048578 _0204856C: ldr r1, _020485BC ; =_020A2894 mov r0, #2 bl sub_02048AC4 _02048578: mov r0, #2 bl GetTeamMember mov r4, r0 mov r0, #2 bl GetTeamMember ldr r1, _020485C0 ; =FORBIDDEN_FORGOT_MOVE_LIST bl sub_02053628 mov r1, r0 mov r0, r4 mov r2, #1 bl sub_02053660 bl SetTeamSetupHeroAndPartnerOnly ldmia sp!, {r4, pc} .align 2, 0 _020485AC: .word _020A2830 _020485B0: .word _020A2808 _020485B4: .word _020A2844 _020485B8: .word _020A2880 _020485BC: .word _020A2894 _020485C0: .word FORBIDDEN_FORGOT_MOVE_LIST arm_func_end sub_020484E8 arm_func_start sub_020485C4 sub_020485C4: ; 0x020485C4 stmdb sp!, {r3, lr} bl sub_02052CE8 bl sub_0200CAE4 bl sub_02056B58 ldmia sp!, {r3, pc} arm_func_end sub_020485C4 arm_func_start sub_020485D8 sub_020485D8: ; 0x020485D8 stmdb sp!, {r3, lr} bl sub_02052CE8 bl sub_0200CAE4 bl sub_02056BD4 ldmia sp!, {r3, pc} arm_func_end sub_020485D8 arm_func_start sub_020485EC sub_020485EC: ; 0x020485EC stmdb sp!, {r3, lr} bl sub_0206637C mov r0, #0 bl sub_02048C0C mvn r0, #0 bl sub_02048C4C bl sub_0204F9B8 bl sub_02048B48 bl sub_02048C5C ldmia sp!, {r3, pc} arm_func_end sub_020485EC arm_func_start sub_02048614 sub_02048614: ; 0x02048614 stmdb sp!, {r3, lr} bl sub_02048B48 bl InitMainTeamAfterQuiz ldmia sp!, {r3, pc} arm_func_end sub_02048614 arm_func_start sub_02048624 sub_02048624: ; 0x02048624 stmdb sp!, {r3, lr} mov r0, #0 bl SetGold mov r0, #0 bl sub_020106C4 mov r0, #0 bl SetActiveTeam ldmia sp!, {r3, pc} arm_func_end sub_02048624 arm_func_start sub_02048644 sub_02048644: ; 0x02048644 stmdb sp!, {r4, lr} bl GetGameMode mov r4, r0 bl sub_0204BFC0 cmp r4, #4 bne _02048678 mov r0, #2 bl SetGold mov r0, #0 bl sub_020106C4 mov r0, #2 bl SetActiveTeam b _020486D8 _02048678: cmp r4, #5 bne _0204869C mov r0, #2 bl SetGold mov r0, #0 bl sub_020106C4 mov r0, #2 bl SetActiveTeam b _020486D8 _0204869C: cmp r4, #3 bne _020486C0 mov r0, #1 bl SetGold mov r0, #1 bl sub_020106C4 mov r0, #1 bl SetActiveTeam b _020486D8 _020486C0: mov r0, #0 bl SetGold mov r0, #0 bl sub_020106C4 mov r0, #0 bl SetActiveTeam _020486D8: cmp r4, #3 bne _020486EC mov r0, #2 bl SetBothScreensWindowsColor ldmia sp!, {r4, pc} _020486EC: bl GetHeroMemberIdx mvn r1, #0 cmp r0, r1 beq _02048720 mov r0, #0 mov r1, #0x42 bl LoadScriptVariableValue cmp r0, #5 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bl SetBothScreensWindowsColor ldmia sp!, {r4, pc} _02048720: mov r0, #2 bl SetBothScreensWindowsColor ldmia sp!, {r4, pc} arm_func_end sub_02048644 arm_func_start sub_0204872C sub_0204872C: ; 0x0204872C stmdb sp!, {r3, lr} bl EventFlagBackup mov r0, #2 bl SetBothScreensWindowsColor mov r0, #0 bl SetGold mov r0, #0 bl sub_020106C4 mov r0, #0 bl SetActiveTeam ldmia sp!, {r3, pc} arm_func_end sub_0204872C arm_func_start EventFlagBackupVeneer EventFlagBackupVeneer: ; 0x02048758 ldr ip, _02048760 ; =EventFlagBackup bx ip .align 2, 0 _02048760: .word EventFlagBackup arm_func_end EventFlagBackupVeneer arm_func_start sub_02048764 sub_02048764: ; 0x02048764 stmdb sp!, {r4, lr} ldr lr, _02048790 ; =DEFAULT_HERO_ID mov r4, r0 mov ip, #3 _02048774: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02048774 ldmia lr, {r0, r1, r2} stmia r4, {r0, r1, r2} ldmia sp!, {r4, pc} .align 2, 0 _02048790: .word DEFAULT_HERO_ID arm_func_end sub_02048764 arm_func_start sub_02048794 sub_02048794: ; 0x02048794 stmdb sp!, {r4, lr} ldr lr, _020487C0 ; =DEFAULT_HERO_ID mov r4, r0 mov ip, #3 _020487A4: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _020487A4 ldmia r4, {r0, r1, r2} stmia lr, {r0, r1, r2} ldmia sp!, {r4, pc} .align 2, 0 _020487C0: .word DEFAULT_HERO_ID arm_func_end sub_02048794 arm_func_start InitMainTeamAfterQuiz InitMainTeamAfterQuiz: ; 0x020487C4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 ldr r0, _020489F4 ; =NOTIFY_NOTE mov r4, #0 ldrb r0, [r0, #8] cmp r0, #0 bne _020487FC ldr r1, _020489F8 ; =0x00000232 add r0, sp, #0 bl GetStringFromFileVeneer ldr r0, _020489FC ; =_020AFF00 add r1, sp, #0 mov r2, #0xa bl sub_02025314 _020487FC: ldr r0, _020489F4 ; =NOTIFY_NOTE ldrb r0, [r0, #0x1c] cmp r0, #0 bne _02048828 ldr r1, _02048A00 ; =0x00000233 add r0, sp, #0 bl GetStringFromFileVeneer ldr r0, _02048A04 ; =_020AFF14 add r1, sp, #0 mov r2, #0xa bl sub_02025314 _02048828: bl GetHeroMemberIdx mvn r1, #0 cmp r0, r1 bne _02048898 ldr r0, _020489F4 ; =NOTIFY_NOTE ldr r3, _020489FC ; =_020AFF00 ldrsh r1, [r0, #4] mov r0, #0 mov r2, #0xd6 bl sub_02055B78 bl GetHero ldr r1, _020489F4 ; =NOTIFY_NOTE mov r4, r0 ldrsh r2, [r1, #4] mov r0, #0 mov r1, #0x3e bl SaveScriptVariableValue add r1, r4, #0x3a mov r0, #0x3f mov r2, #0xa bl SaveScriptVariableValueBytes mov r0, r4 mov r1, #5 mov r2, #0 bl sub_020544C8 mov r0, r4 bl sub_02053568 mov r4, #1 _02048898: bl GetPartnerMemberIdx mvn r1, #0 cmp r0, r1 bne _02048908 ldr r0, _020489F4 ; =NOTIFY_NOTE ldr r3, _02048A04 ; =_020AFF14 ldrsh r1, [r0, #6] mov r0, #1 mov r2, #0xd7 bl sub_02055B78 bl GetPartner ldr r1, _020489F4 ; =NOTIFY_NOTE mov r4, r0 ldrsh r2, [r1, #6] mov r0, #0 mov r1, #0x40 bl SaveScriptVariableValue add r1, r4, #0x3a mov r0, #0x41 mov r2, #0xa bl SaveScriptVariableValueBytes mov r0, r4 mov r1, #5 mov r2, #0 bl sub_020544C8 mov r0, r4 bl sub_02053568 mov r4, #1 _02048908: cmp r4, #0 beq _02048914 bl SetTeamSetupHeroAndPartnerOnly _02048914: ldr r0, _020489F4 ; =NOTIFY_NOTE ldrsh r0, [r0, #4] cmp r0, #0 beq _02048940 bl GetMonsterGenderVeneer cmp r0, #2 moveq r2, #5 movne r2, #4 mov r0, #0 mov r1, #0x42 bl SaveScriptVariableValue _02048940: ldr r0, _020489F4 ; =NOTIFY_NOTE ldrsh r1, [r0, #6] cmp r1, #0 beq _02048980 ldr r0, _02048A08 ; =PARTNER_TALK_KIND_TABLE b _02048964 _02048958: cmp r1, r2 beq _02048970 add r0, r0, #8 _02048964: ldrsh r2, [r0, #4] cmp r2, #0 bne _02048958 _02048970: ldr r2, [r0] mov r0, #0 mov r1, #0x43 bl SaveScriptVariableValue _02048980: ldr r1, _020489F4 ; =NOTIFY_NOTE mov r0, #0 ldr r2, [r1, #0x30] mov r1, #0x45 bl SaveScriptVariableValue mov r0, #1 bl sub_02048C0C bl sub_02048C3C mvn r1, #0 cmp r0, r1 bne _020489B4 bl Rand32Bit bl sub_02048C4C _020489B4: bl GetGameMode cmp r0, #1 bhi _020489CC mov r0, #2 bl SetBothScreensWindowsColor b _020489EC _020489CC: mov r0, #0 mov r1, #0x42 bl LoadScriptVariableValue cmp r0, #5 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bl SetBothScreensWindowsColor _020489EC: add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 _020489F4: .word NOTIFY_NOTE _020489F8: .word 0x00000232 _020489FC: .word _020AFF00 _02048A00: .word 0x00000233 _02048A04: .word _020AFF14 _02048A08: .word PARTNER_TALK_KIND_TABLE arm_func_end InitMainTeamAfterQuiz arm_func_start ScriptSpecialProcess0x3 ScriptSpecialProcess0x3: ; 0x02048A0C stmdb sp!, {r3, lr} bl GetExecuteSpecialEpisodeType cmp r0, #4 addls pc, pc, r0, lsl #2 b _02048A6C _02048A20: ; jump table b _02048A6C ; case 0 b _02048A34 ; case 1 b _02048A6C ; case 2 b _02048A44 ; case 3 b _02048A60 ; case 4 _02048A34: ldr r1, _02048A74 ; =_020A28A8 mov r0, #3 bl sub_02048AC4 b _02048A6C _02048A44: ldr r1, _02048A78 ; =_020A2858 mov r0, #3 bl sub_02048AC4 ldr r1, _02048A7C ; =_020A281C mov r0, #4 bl sub_02048AC4 b _02048A6C _02048A60: ldr r1, _02048A80 ; =_020A286C mov r0, #3 bl sub_02048AC4 _02048A6C: bl SetTeamSetupHeroAndPartnerOnly ldmia sp!, {r3, pc} .align 2, 0 _02048A74: .word _020A28A8 _02048A78: .word _020A2858 _02048A7C: .word _020A281C _02048A80: .word _020A286C arm_func_end ScriptSpecialProcess0x3 arm_func_start ScriptSpecialProcess0x4 ScriptSpecialProcess0x4: ; 0x02048A84 stmdb sp!, {r3, lr} bl GetExecuteSpecialEpisodeType cmp r0, #4 addls pc, pc, r0, lsl #2 b _02048AB8 _02048A98: ; jump table b _02048AB8 ; case 0 b _02048AB8 ; case 1 b _02048AB8 ; case 2 b _02048AB8 ; case 3 b _02048AAC ; case 4 _02048AAC: ldr r1, _02048AC0 ; =SPECIAL_EPISODE_MAIN_CHARACTERS mov r0, #4 bl sub_02048AC4 _02048AB8: bl SetTeamSetupHeroAndPartnerOnly ldmia sp!, {r3, pc} .align 2, 0 _02048AC0: .word SPECIAL_EPISODE_MAIN_CHARACTERS arm_func_end ScriptSpecialProcess0x4 arm_func_start sub_02048AC4 sub_02048AC4: ; 0x02048AC4 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 ldrsh r1, [r5] ldrb r2, [r5, #2] mov r4, r0 mov r3, #0 bl sub_02055B78 mov r0, r4 bl GetTeamMember ldrsh r1, [r5, #0xe] ldrb r2, [r5, #0xc] mov r4, r0 bl sub_020544C8 ldrsh r0, [r5, #0x12] cmp r0, #0 strneh r0, [r4, #0xa] ldrsh r2, [r5, #0x10] add r0, r4, #0x14 strh r2, [r4, #8] ldrsh r1, [r4, #4] bl sub_02058EB0 ldrh r0, [r5, #4] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r5, #0xc] add r1, r5, #4 cmp r0, #0 add r0, r4, #0x22 beq _02048B40 bl LearnMoves ldmia sp!, {r3, r4, r5, pc} _02048B40: bl GetInfoGroundMoveset ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02048AC4 arm_func_start sub_02048B48 sub_02048B48: ; 0x02048B48 stmdb sp!, {r3, lr} bl sub_0204AB24 bl InitScriptVariableValues bl sub_02052C74 bl sub_0200CABC bl StoreDefaultTeamName bl ResetGlobalProgress bl sub_0205B478 bl sub_0205C75C bl sub_02012AB8 ldmia sp!, {r3, pc} arm_func_end sub_02048B48 arm_func_start sub_02048B74 sub_02048B74: ; 0x02048B74 stmdb sp!, {r3, lr} ldr r1, _02048BA8 ; =_020AFF38 ldr r0, _02048BAC ; =_0209CD4C ldr r1, [r1, #4] mov r2, #0 bl DebugPrint0 mov r3, #0 ldr r1, _02048BA8 ; =_020AFF38 ldr r0, _02048BB0 ; =_022AAE70 sub r2, r3, #1 str r3, [r1, #4] str r2, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02048BA8: .word _020AFF38 _02048BAC: .word _0209CD4C _02048BB0: .word _022AAE70 arm_func_end sub_02048B74 arm_func_start ReadStringSave ReadStringSave: ; 0x02048BB4 ldr r1, _02048BC8 ; =_020AFF38 ldr ip, _02048BCC ; =strncpy mov r2, #0x20 ldr r1, [r1] bx ip .align 2, 0 _02048BC8: .word _020AFF38 _02048BCC: .word strncpy arm_func_end ReadStringSave arm_func_start CheckStringSave CheckStringSave: ; 0x02048BD0 stmdb sp!, {r3, lr} ldr r1, _02048BF8 ; =_020AFF38 mov r2, #0x20 ldr r1, [r1] bl strncmp cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} .align 2, 0 _02048BF8: .word _020AFF38 arm_func_end CheckStringSave arm_func_start sub_02048BFC sub_02048BFC: ; 0x02048BFC ldr r0, _02048C08 ; =_020AFF38 ldr r0, [r0, #4] bx lr .align 2, 0 _02048C08: .word _020AFF38 arm_func_end sub_02048BFC arm_func_start sub_02048C0C sub_02048C0C: ; 0x02048C0C stmdb sp!, {r4, lr} ldr r1, _02048C34 ; =_020AFF38 mov r4, r0 ldr r1, [r1, #4] ldr r0, _02048C38 ; =_0209CD4C mov r2, r4 bl DebugPrint0 ldr r0, _02048C34 ; =_020AFF38 str r4, [r0, #4] ldmia sp!, {r4, pc} .align 2, 0 _02048C34: .word _020AFF38 _02048C38: .word _0209CD4C arm_func_end sub_02048C0C arm_func_start sub_02048C3C sub_02048C3C: ; 0x02048C3C ldr r0, _02048C48 ; =_022AAE70 ldr r0, [r0] bx lr .align 2, 0 _02048C48: .word _022AAE70 arm_func_end sub_02048C3C arm_func_start sub_02048C4C sub_02048C4C: ; 0x02048C4C ldr r1, _02048C58 ; =_022AAE70 str r0, [r1] bx lr .align 2, 0 _02048C58: .word _022AAE70 arm_func_end sub_02048C4C arm_func_start sub_02048C5C sub_02048C5C: ; 0x02048C5C stmdb sp!, {r3, lr} ldr r0, _02048CA4 ; =_022AAE74 mov r1, #0 mov r2, #0x30 bl MemsetSimple ldr r2, _02048CA8 ; =0x09011416 ldr r1, _02048CAC ; =_022AAE74 ldr r0, _02048CB0 ; =_022AAE78 str r2, [r1, #0x24] bl ReadStringSave ldr r2, _02048CB4 ; =0x000F1206 ldr r0, _02048CAC ; =_022AAE74 mov r1, #0xff str r2, [r0, #0x28] strb r1, [r0, #0x2c] mov r1, #0 strb r1, [r0, #0x2d] ldmia sp!, {r3, pc} .align 2, 0 _02048CA4: .word _022AAE74 _02048CA8: .word 0x09011416 _02048CAC: .word _022AAE74 _02048CB0: .word _022AAE78 _02048CB4: .word 0x000F1206 arm_func_end sub_02048C5C arm_func_start sub_02048CB8 sub_02048CB8: ; 0x02048CB8 stmdb sp!, {r3, lr} mov r0, #9 bl GetDebugFlag cmp r0, #0 beq _02048CE4 ldr r1, _02048CF0 ; =_022AAE74 ldr r0, _02048CF4 ; =0x000F1208 ldr r1, [r1, #0x28] cmp r1, r0 subeq r0, r0, #1 ldmeqia sp!, {r3, pc} _02048CE4: ldr r0, _02048CF0 ; =_022AAE74 ldr r0, [r0, #0x28] ldmia sp!, {r3, pc} .align 2, 0 _02048CF0: .word _022AAE74 _02048CF4: .word 0x000F1208 arm_func_end sub_02048CB8 arm_func_start sub_02048CF8 sub_02048CF8: ; 0x02048CF8 stmdb sp!, {r3, r4, r5, lr} mov r0, #0x100 mov r1, #5 bl MemAlloc mov r4, r0 ldr r3, _02048DB0 ; =0x000001EA add r0, sp, #0 mov r1, r4 mov r2, #0x100 str r3, [sp] bl ReadSaveFile movs r5, r0 cmpne r5, #2 bne _02048D54 add r0, r4, #4 bl CheckStringSave cmp r0, #0 moveq r5, #5 beq _02048D54 ldr r1, [r4, #0x24] ldr r0, _02048DB4 ; =0x09011416 cmp r1, r0 movne r5, #4 _02048D54: bl sub_02048C5C cmp r5, #0 bne _02048D80 ldr r1, [r4, #0x28] ldr r0, _02048DB8 ; =_022AAE74 str r1, [r0, #0x28] ldrb r1, [r4, #0x2c] strb r1, [r0, #0x2c] ldrb r1, [r4, #0x2d] strb r1, [r0, #0x2d] b _02048DA0 _02048D80: sub r0, r5, #4 cmp r0, #1 ldrls r1, _02048DBC ; =0x000F1206 ldrls r0, _02048DB8 ; =_022AAE74 strls r1, [r0, #0x28] ldrhi r1, _02048DC0 ; =0x000F1209 ldrhi r0, _02048DB8 ; =_022AAE74 strhi r1, [r0, #0x28] _02048DA0: mov r0, r4 bl MemFree bl sub_02048CB8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02048DB0: .word 0x000001EA _02048DB4: .word 0x09011416 _02048DB8: .word _022AAE74 _02048DBC: .word 0x000F1206 _02048DC0: .word 0x000F1209 arm_func_end sub_02048CF8 arm_func_start sub_02048DC4 sub_02048DC4: ; 0x02048DC4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 mov r0, #0x100 mov r1, #5 bl MemAlloc mov r4, r0 bl sub_02048C5C ldr r5, _02048E68 ; =_022AAE74 mov lr, r4 mov ip, #3 _02048DF0: ldmia r5!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02048DF0 str r6, [r4, #0x28] bl GetAdventureLogDungeonFloor ldrb r2, [r0] ldr r3, _02048E6C ; =0x000001EA mov r1, r4 strb r2, [r4, #0x2c] ldrb ip, [r0, #1] add r0, sp, #0 mov r2, #0x100 strb ip, [r4, #0x2d] str r3, [sp] bl WriteSaveFile movs r5, r0 bne _02048E54 ldr r1, [r4, #0x28] ldr r0, _02048E70 ; =_022AAE74 str r1, [r0, #0x28] ldrb r1, [r4, #0x2c] strb r1, [r0, #0x2c] ldrb r1, [r4, #0x2d] strb r1, [r0, #0x2d] _02048E54: mov r0, r4 bl MemFree mov r0, r5 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02048E68: .word _022AAE74 _02048E6C: .word 0x000001EA _02048E70: .word _022AAE74 arm_func_end sub_02048DC4 arm_func_start WriteSaveFile WriteSaveFile: ; 0x02048E74 stmdb sp!, {r4, r5, r6, lr} mov r5, r2 add r3, r5, #0xff mov r2, r3, asr #7 ldr r4, [r0] add r2, r3, r2, lsr #24 mov r6, r1 add r1, r4, r2, asr #8 str r1, [r0] mov r0, r6 mov r1, r5 bl CalcChecksum mov r0, r4 mov r1, r6 mov r2, r5 bl sub_0204A9C8 cmp r0, #4 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} cmp r0, #0 movne r0, #2 moveq r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end WriteSaveFile arm_func_start ReadSaveFile ReadSaveFile: ; 0x02048ED0 stmdb sp!, {r3, r4, r5, lr} mov r4, r2 add ip, r4, #0xff mov r3, ip, asr #7 ldr lr, [r0] add r3, ip, r3, lsr #24 add r3, lr, r3, asr #8 str r3, [r0] mov r0, lr mov r5, r1 bl sub_0204A8E0 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl CheckChecksumInvalid cmp r0, #0 movne r0, #2 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end ReadSaveFile arm_func_start CalcChecksum CalcChecksum: ; 0x02048F24 mov r3, #0 mov ip, #1 b _02048F3C _02048F30: ldr r2, [r0, ip, lsl #2] add ip, ip, #1 add r3, r3, r2 _02048F3C: cmp ip, r1, lsr #2 blt _02048F30 str r3, [r0] bx lr arm_func_end CalcChecksum arm_func_start CheckChecksumInvalid CheckChecksumInvalid: ; 0x02048F4C mov r3, #0 mov ip, #1 b _02048F64 _02048F58: ldr r2, [r0, ip, lsl #2] add ip, ip, #1 add r3, r3, r2 _02048F64: cmp ip, r1, lsr #2 blt _02048F58 ldr r0, [r0] cmp r0, r3 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end CheckChecksumInvalid arm_func_start NoteSaveBase NoteSaveBase: ; 0x02048F84 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldr r0, _02049218 ; =0x0000B65C mov r1, #5 bl MemAlloc mov r4, r0 add r0, r4, #0x64 add r5, r0, #0x400 bl sub_02048BFC mov r2, r0 ldr r0, _0204921C ; =_0209CD6C mov r1, sb bl DebugPrint0 mov r0, #0 bl SetNotifyNote bl GetTime mov r7, r0 bl EventFlagBackupVeneer cmp sb, #3 bne _02048FE0 bl sub_02048BFC mov sb, r0 b _02048FE8 _02048FE0: mov r0, sb bl sub_02048C0C _02048FE8: str sb, [r4, #0x2c] bl sub_02048C3C str r0, [r4, #0x28] bl GetRngSeed str r0, [r4, #0x30] cmp sb, #0 mvneq r0, #0 beq _0204900C bl GetLanguageType _0204900C: ldr r1, _02049220 ; =0x09011416 strb r0, [r4, #0x34] add r0, r4, #4 str r1, [r4, #0x24] bl ReadStringSave add r0, r4, #0x38 bl DumpScriptVariableValues ldr r1, _02049224 ; =0x00007F6B mov r0, r5 bl WriteMonsterInfoToSave str r0, [r4, #0x438] add r0, r5, #0x6b ldr r1, _02049228 ; =0x000005DC add r0, r0, #0x7f00 bl sub_020597B0 str r0, [r4, #0x43c] add r0, r5, #0x47 ldr r1, _0204922C ; =0x000001F7 add r0, r0, #0x8500 bl CopyProgressInfoFromScratchTo str r0, [r4, #0x440] add r0, r5, #0x3e ldr r1, _02049230 ; =0x00000DAC add r0, r0, #0x8700 bl WriteItemsToSave str r0, [r4, #0x444] add r0, r5, #0xea add r0, r0, #0x9400 mov r1, #0x10 bl sub_02050CF8 str r0, [r4, #0x448] add r0, r5, #0xfa add r0, r0, #0x9400 mov r1, #0x340 bl sub_0204E154 str r0, [r4, #0x450] add r0, r5, #0x3a ldr r1, _02049234 ; =0x000015A0 add r0, r0, #0x9800 bl sub_0205BFB0 str r0, [r4, #0x454] add r0, r5, #0xda ldr r1, _02049238 ; =0x00000237 add r0, r0, #0xad00 bl sub_0205FC20 str r0, [r4, #0x458] add r0, r5, #0x11 add r0, r0, #0xb000 mov r1, #0xb bl sub_020131F0 add r1, r5, #0x1c str r0, [r4, #0x45c] add r0, r1, #0xb000 mov r1, #0x1dc bl sub_0204A3E4 str r0, [r4, #0x460] bl GetTime mov r1, r7 mov r7, r0 bl __subsf3 bl __extendsfdf2 mov r3, r0 mov r2, r1 ldr r0, _0204923C ; =_0209CD84 mov r1, r3 bl DebugPrint0 cmp sb, #2 moveq r5, #0 beq _0204912C ldr r0, _02049240 ; =0x000F1206 bl sub_02048DC4 mov r5, r0 _0204912C: cmp r5, #0 bne _020491C4 bl sub_02049350 cmp r0, #1 add r0, sp, #0 ldr r2, _02049218 ; =0x0000B65C bne _02049188 mov r3, #0 mov r1, r4 str r3, [sp] bl WriteSaveFile movs r6, r0 bne _02049168 mov r0, #0 bl sub_02049360 _02049168: ldr r2, _02049218 ; =0x0000B65C mov r3, #0xc8 add r0, sp, #0 mov r1, r4 str r3, [sp] bl WriteSaveFile mov r8, r0 b _020491C4 _02049188: mov r3, #0xc8 mov r1, r4 str r3, [sp] bl WriteSaveFile movs r8, r0 bne _020491A8 mov r0, #1 bl sub_02049360 _020491A8: ldr r2, _02049218 ; =0x0000B65C mov r3, #0 add r0, sp, #0 mov r1, r4 str r3, [sp] bl WriteSaveFile mov r6, r0 _020491C4: bl GetTime mov r1, r7 bl __subsf3 bl __extendsfdf2 mov r3, r0 mov r2, r1 ldr r0, _02049244 ; =_0209CD94 mov r1, r3 bl DebugPrint0 mov r0, r4 bl MemFree cmp r5, #0 movne r0, r5 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r6, #0 movne r0, r6 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r8, #0 moveq r8, #0 mov r0, r8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02049218: .word 0x0000B65C _0204921C: .word _0209CD6C _02049220: .word 0x09011416 _02049224: .word 0x00007F6B _02049228: .word 0x000005DC _0204922C: .word 0x000001F7 _02049230: .word 0x00000DAC _02049234: .word 0x000015A0 _02049238: .word 0x00000237 _0204923C: .word _0209CD84 _02049240: .word 0x000F1206 _02049244: .word _0209CD94 arm_func_end NoteSaveBase arm_func_start WriteQuickSaveInfo WriteQuickSaveInfo: ; 0x02049248 stmdb sp!, {r3, lr} mov ip, r0 mov r2, r1 mov r3, #0x190 add r0, sp, #0 mov r1, ip str r3, [sp] bl WriteSaveFile ldmia sp!, {r3, pc} arm_func_end WriteQuickSaveInfo arm_func_start ReadSaveHeader ReadSaveHeader: ; 0x0204926C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, _0204932C ; =0x0000B65C mov r1, #5 bl MemAlloc mov r4, r0 ldr r3, _02049330 ; =_020AFF40 mov r0, #0 mov r1, r4 mov r2, #0x38 str r0, [r3] bl sub_0204A8E0 cmp r0, #0 beq _020492B4 mov r1, r4 mov r0, #0xc8 mov r2, #0x38 bl sub_0204A8E0 _020492B4: cmp r0, #0 ldrne r0, _02049330 ; =_020AFF40 movne r1, #1 strne r1, [r0, #4] bne _02049310 add r0, r4, #4 bl CheckStringSave cmp r0, #0 ldreq r0, _02049330 ; =_020AFF40 moveq r1, #5 streq r1, [r0, #4] beq _02049310 ldr r1, [r4, #0x24] ldr r0, _02049334 ; =0x09011416 cmp r1, r0 ldrne r0, _02049330 ; =_020AFF40 movne r1, #4 strne r1, [r0, #4] ldreq r2, [r4, #0x2c] ldreq r0, _02049330 ; =_020AFF40 moveq r1, #0 streq r2, [r0] streq r1, [r0, #4] _02049310: mov r0, r4 bl MemFree ldr r0, _02049330 ; =_020AFF40 ldr r1, [r0] str r1, [r5] ldr r0, [r0, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0204932C: .word 0x0000B65C _02049330: .word _020AFF40 _02049334: .word 0x09011416 arm_func_end ReadSaveHeader arm_func_start sub_02049338 sub_02049338: ; 0x02049338 ldr r1, _0204934C ; =_020AFF40 ldr r2, [r1] str r2, [r0] ldr r0, [r1, #4] bx lr .align 2, 0 _0204934C: .word _020AFF40 arm_func_end sub_02049338 arm_func_start sub_02049350 sub_02049350: ; 0x02049350 ldr r0, _0204935C ; =_020AFF40 ldr r0, [r0, #8] bx lr .align 2, 0 _0204935C: .word _020AFF40 arm_func_end sub_02049350 arm_func_start sub_02049360 sub_02049360: ; 0x02049360 ldr r1, _0204936C ; =_020AFF40 str r0, [r1, #8] bx lr .align 2, 0 _0204936C: .word _020AFF40 arm_func_end sub_02049360 arm_func_start NoteLoadBase NoteLoadBase: ; 0x02049370 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r0, _020495FC ; =0x0000B65C mov r1, #5 bl MemAlloc mov r4, r0 add r0, r4, #0x64 add r6, r0, #0x400 bl sub_02048BFC mov r1, r0 ldr r0, _02049600 ; =_0209CDA4 bl DebugPrint0 mov r0, #0 bl SetNotifyNote mov r0, #0 str r0, [sp] ldr r2, _020495FC ; =0x0000B65C add r0, sp, #0 mov r1, r4 bl ReadSaveFile movs r5, r0 beq _02049400 ldr r2, _020495FC ; =0x0000B65C mov r3, #0xc8 add r0, sp, #0 mov r1, r4 str r3, [sp] bl ReadSaveFile movs r5, r0 ldrne r0, _02049604 ; =_020AFF40 mvnne r1, #0 strne r1, [r0, #8] ldreq r0, _02049604 ; =_020AFF40 moveq r1, #1 streq r1, [r0, #8] b _0204940C _02049400: ldr r0, _02049604 ; =_020AFF40 mov r1, #0 str r1, [r0, #8] _0204940C: cmp r5, #0 cmpne r5, #2 bne _0204943C add r0, r4, #4 bl CheckStringSave cmp r0, #0 moveq r5, #5 beq _0204943C ldr r1, [r4, #0x24] ldr r0, _02049608 ; =0x09011416 cmp r1, r0 movne r5, #4 _0204943C: cmp r5, #0 bne _020494A0 ldr r1, [r4, #0x2c] ldr r0, _0204960C ; =_0209CDB8 bl DebugPrint0 ldr r0, [r4, #0x2c] bl sub_02048C0C ldr r0, [r4, #0x28] bl sub_02048C4C ldr r0, [r4, #0x30] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl SetRngSeed ldr r0, [r4, #0x2c] cmp r0, #0 mvneq r0, #0 streqb r0, [r4, #0x34] beq _020494A0 ldr r1, [r4, #0x28] mvn r0, #0 cmp r1, r0 beq _020494A0 ldrsb r0, [r4, #0x34] bl sub_020205C0 bl sub_0202059C _020494A0: cmp r5, #0 bne _020494B8 add r0, r4, #0x38 bl RestoreScriptVariableValues cmp r0, #0 moveq r5, #4 _020494B8: cmp r5, #0 bne _020495D4 ldr r1, _02049610 ; =0x00007F6B mov r0, r6 bl ReadMonsterInfoFromSave ldr r1, [r4, #0x438] cmp r0, r1 add r0, r6, #0x6b ldr r1, _02049614 ; =0x000005DC add r0, r0, #0x7f00 movne r5, #3 bl sub_02059A74 ldr r1, [r4, #0x43c] cmp r0, r1 add r0, r6, #0x47 ldr r1, _02049618 ; =0x000001F7 add r0, r0, #0x8500 movne r5, #3 bl CopyProgressInfoFromScratchFrom ldr r1, [r4, #0x440] cmp r0, r1 add r0, r6, #0x3e ldr r1, _0204961C ; =0x00000DAC add r0, r0, #0x8700 movne r5, #3 bl ReadItemsFromSave ldr r1, [r4, #0x444] cmp r0, r1 add r0, r6, #0xea add r0, r0, #0x9400 mov r1, #0x10 movne r5, #3 bl sub_02050D84 ldr r1, [r4, #0x448] cmp r0, r1 add r0, r6, #0xfa add r0, r0, #0x9400 mov r1, #0x340 movne r5, #3 bl sub_0204E19C ldr r1, [r4, #0x450] cmp r0, r1 add r0, r6, #0x3a ldr r1, _02049620 ; =0x000015A0 add r0, r0, #0x9800 movne r5, #3 bl sub_0205BD9C ldr r1, [r4, #0x454] cmp r0, r1 add r0, r6, #0xda ldr r1, _02049624 ; =0x00000237 add r0, r0, #0xad00 movne r5, #3 bl sub_0205FAB0 ldr r1, [r4, #0x458] cmp r0, r1 add r0, r6, #0x11 add r0, r0, #0xb000 mov r1, #0xb movne r5, #3 bl sub_02013190 ldr r1, [r4, #0x45c] cmp r0, r1 add r0, r6, #0x1c add r0, r0, #0xb000 mov r1, #0x1dc movne r5, #3 bl sub_0204A1DC ldr r1, [r4, #0x460] cmp r0, r1 movne r5, #3 _020495D4: cmp r5, #0 bne _020495E4 bl sub_02048CF8 b _020495E8 _020495E4: bl sub_02048C5C _020495E8: mov r0, r4 bl MemFree mov r0, r5 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020495FC: .word 0x0000B65C _02049600: .word _0209CDA4 _02049604: .word _020AFF40 _02049608: .word 0x09011416 _0204960C: .word _0209CDB8 _02049610: .word 0x00007F6B _02049614: .word 0x000005DC _02049618: .word 0x000001F7 _0204961C: .word 0x00000DAC _02049620: .word 0x000015A0 _02049624: .word 0x00000237 arm_func_end NoteLoadBase arm_func_start ReadQuickSaveInfo ReadQuickSaveInfo: ; 0x02049628 stmdb sp!, {r3, lr} mov ip, r0 mov r2, r1 mov r3, #0x190 add r0, sp, #0 mov r1, ip str r3, [sp] bl ReadSaveFile ldmia sp!, {r3, pc} arm_func_end ReadQuickSaveInfo arm_func_start sub_0204964C sub_0204964C: ; 0x0204964C stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02049678 ; =_0209CDD0 bl sub_02034974 cmp r0, #0 ldrne r1, _0204967C ; =_022AAEA4 ldrne r0, _02049680 ; =_020AFF4C movne r2, #0 strne r4, [r1] strne r2, [r0, #4] ldmia sp!, {r4, pc} .align 2, 0 _02049678: .word _0209CDD0 _0204967C: .word _022AAEA4 _02049680: .word _020AFF4C arm_func_end sub_0204964C arm_func_start sub_02049684 sub_02049684: ; 0x02049684 stmdb sp!, {r3, lr} mov r0, #0xb4 mov r1, #8 bl MemAlloc ldr r1, _020496EC ; =_020AFF4C str r0, [r1] add r0, r0, #0x1c bl sub_02034A38 ldr r2, _020496EC ; =_020AFF4C ldr r1, _020496F0 ; =_022AAEA4 ldr r3, [r2] str r0, [r3, #0x18] ldr r3, [r1] ldr r1, [r2] mov r0, #0 str r3, [r1, #8] bl CreateDBox ldr r1, _020496EC ; =_020AFF4C mov r3, #0 ldr r2, [r1] strb r0, [r2] ldr r2, [r1] mov r0, #1 str r3, [r2, #4] str r3, [r1, #4] ldmia sp!, {r3, pc} .align 2, 0 _020496EC: .word _020AFF4C _020496F0: .word _022AAEA4 arm_func_end sub_02049684 arm_func_start sub_020496F4 sub_020496F4: ; 0x020496F4 stmdb sp!, {r3, lr} ldr r0, _0204972C ; =_020AFF4C ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl FreeDBox ldr r0, _0204972C ; =_020AFF4C ldr r0, [r0] bl MemFree ldr r0, _0204972C ; =_020AFF4C mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0204972C: .word _020AFF4C arm_func_end sub_020496F4 arm_func_start sub_02049730 sub_02049730: ; 0x02049730 stmdb sp!, {r3, lr} ldr r1, _02049A18 ; =_020AFF4C ldr r3, [r1] ldr r0, [r3, #4] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02049A10 _0204974C: ; jump table b _02049770 ; case 0 b _020497A4 ; case 1 b _020497C4 ; case 2 b _020497E8 ; case 3 b _020498C8 ; case 4 b _0204996C ; case 5 b _020499A0 ; case 6 b _020499CC ; case 7 b _020499FC ; case 8 _02049770: ldr r0, [r3, #8] ldr r1, _02049A1C ; =_0209CDE0 mov r2, r0, lsl #1 ldrsb r0, [r3] ldrh r2, [r1, r2] ldr r1, _02049A20 ; =0x00000408 mov r3, #0 bl ShowMessageInDBox ldr r0, _02049A18 ; =_020AFF4C mov r1, #1 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _020497A4: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 ldreq r0, _02049A18 ; =_020AFF4C moveq r1, #2 ldreq r0, [r0] streq r1, [r0, #4] b _02049A10 _020497C4: mov r0, #0xe0 mov r1, #0x88 mov r2, #1 bl sub_02029F88 ldr r0, _02049A18 ; =_020AFF4C mov r1, #3 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _020497E8: bl sub_02003B94 ldr r0, _02049A18 ; =_020AFF4C ldr r1, _02049A24 ; =_0209CE10 ldr r3, [r0] ldr r2, [r3, #8] ldr r1, [r1, r2, lsl #2] str r1, [r3, #0x10] ldr r0, [r0] ldr r0, [r0, #0x10] cmp r0, #4 bne _02049834 ldr r0, _02049A28 ; =0x000F120A bl sub_02048DC4 mov r0, #2 bl NoteSaveBase ldr r1, _02049A18 ; =_020AFF4C ldr r1, [r1] str r0, [r1, #0xc] b _020498B0 _02049834: cmp r0, #2 bne _020498A0 bl sub_02048CB8 ldr r2, _02049A18 ; =_020AFF4C ldr r1, _02049A2C ; =0x000F1207 ldr r3, [r2] str r0, [r3, #0x14] ldr r0, [r2] ldr r0, [r0, #0x14] cmp r0, r1 bne _02049868 add r0, r1, #1 bl sub_02048DC4 _02049868: mov r0, #2 bl NoteSaveBase ldr r1, _02049A18 ; =_020AFF4C ldr r2, [r1] str r0, [r2, #0xc] ldr r1, [r1] ldr r0, [r1, #0xc] cmp r0, #0 ldreq r0, [r1, #0x14] ldreq r1, _02049A2C ; =0x000F1207 cmpeq r0, r1 bne _020498B0 bl sub_02048DC4 b _020498B0 _020498A0: bl NoteSaveBase ldr r1, _02049A18 ; =_020AFF4C ldr r1, [r1] str r0, [r1, #0xc] _020498B0: bl sub_02003BC8 ldr r0, _02049A18 ; =_020AFF4C mov r1, #4 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _020498C8: bl sub_02029FBC ldr r0, _02049A18 ; =_020AFF4C ldr r3, [r0] ldr r0, [r3, #0xc] cmp r0, #1 bne _02049908 ldrsb r0, [r3] ldr r1, _02049A30 ; =0x0000040C mov r2, #0x238 mov r3, #0 bl ShowMessageInDBox ldr r0, _02049A18 ; =_020AFF4C mov r1, #8 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _02049908: cmp r0, #0 bne _02049944 ldr r0, [r3, #8] ldr r1, _02049A34 ; =_0209CDF8 mov r2, r0, lsl #1 ldrsb r0, [r3] ldrh r2, [r1, r2] ldr r1, _02049A38 ; =0x0000061C mov r3, #0 bl ShowMessageInDBox ldr r0, _02049A18 ; =_020AFF4C mov r1, #5 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _02049944: ldrsb r0, [r3] ldr r1, _02049A38 ; =0x0000061C ldr r2, _02049A3C ; =0x00000239 mov r3, #0 bl ShowMessageInDBox ldr r0, _02049A18 ; =_020AFF4C mov r1, #5 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _0204996C: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 bne _02049A10 ldr r0, _02049A18 ; =_020AFF4C ldr r0, [r0] ldrsb r0, [r0] bl sub_0202F334 ldr r0, _02049A18 ; =_020AFF4C mov r1, #6 ldr r0, [r0] str r1, [r0, #4] b _02049A10 _020499A0: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 bne _02049A10 ldr r0, _02049A18 ; =_020AFF4C mov r1, #2 str r1, [r0, #4] ldr r0, [r0] mov r1, #7 str r1, [r0, #4] b _02049A10 _020499CC: mov r0, #9 str r0, [r3, #4] ldr r2, [r1] ldr r0, [r2, #0x18] tst r0, #0x100 beq _020499F4 ldr r0, [r2, #0xa4] ldr r1, [r1, #4] ldr r2, [r2, #0xa0] blx r2 _020499F4: mov r0, #4 ldmia sp!, {r3, pc} _020499FC: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 bne _02049A10 bl CardBackupError _02049A10: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02049A18: .word _020AFF4C _02049A1C: .word _0209CDE0 _02049A20: .word 0x00000408 _02049A24: .word _0209CE10 _02049A28: .word 0x000F120A _02049A2C: .word 0x000F1207 _02049A30: .word 0x0000040C _02049A34: .word _0209CDF8 _02049A38: .word 0x0000061C _02049A3C: .word 0x00000239 arm_func_end sub_02049730 arm_func_start sub_02049A40 sub_02049A40: ; 0x02049A40 stmdb sp!, {r3, lr} mov r3, r0 mov r2, r1 ldr r0, _02049A6C ; =_0209CE40 mov r1, r3 bl sub_02034974 cmp r0, #0 ldrne r0, _02049A70 ; =_020AFF54 movne r1, #0 strne r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02049A6C: .word _0209CE40 _02049A70: .word _020AFF54 arm_func_end sub_02049A40 arm_func_start sub_02049A74 sub_02049A74: ; 0x02049A74 stmdb sp!, {r3, lr} mov r0, #0xa8 mov r1, #8 bl MemAlloc ldr r1, _02049ACC ; =_020AFF54 str r0, [r1] add r0, r0, #0x10 bl sub_02034A38 ldr r1, _02049ACC ; =_020AFF54 ldr r1, [r1] str r0, [r1, #0xc] mov r0, #0 bl CreateDBox ldr r1, _02049ACC ; =_020AFF54 mov r3, #0 ldr r2, [r1] strb r0, [r2] ldr r2, [r1] mov r0, #1 str r3, [r2, #4] str r3, [r1, #4] ldmia sp!, {r3, pc} .align 2, 0 _02049ACC: .word _020AFF54 arm_func_end sub_02049A74 arm_func_start sub_02049AD0 sub_02049AD0: ; 0x02049AD0 stmdb sp!, {r3, lr} ldr r0, _02049B08 ; =_020AFF54 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl FreeDBox ldr r0, _02049B08 ; =_020AFF54 ldr r0, [r0] bl MemFree ldr r0, _02049B08 ; =_020AFF54 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02049B08: .word _020AFF54 arm_func_end sub_02049AD0 arm_func_start sub_02049B0C sub_02049B0C: ; 0x02049B0C stmdb sp!, {r3, lr} ldr r0, _02049D34 ; =_020AFF54 ldr r2, [r0] ldr r0, [r2, #4] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02049D2C _02049B28: ; jump table b _02049B4C ; case 0 b _02049B74 ; case 1 b _02049B94 ; case 2 b _02049BB8 ; case 3 b _02049BEC ; case 4 b _02049C74 ; case 5 b _02049CA8 ; case 6 b _02049CD4 ; case 7 b _02049D18 ; case 8 _02049B4C: ldrsb r0, [r2] ldr r1, _02049D38 ; =0x00000408 ldr r2, _02049D3C ; =0x0000024F mov r3, #0 bl ShowMessageInDBox ldr r0, _02049D34 ; =_020AFF54 mov r1, #1 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049B74: ldrsb r0, [r2] bl IsDBoxActive cmp r0, #0 ldreq r0, _02049D34 ; =_020AFF54 moveq r1, #2 ldreq r0, [r0] streq r1, [r0, #4] b _02049D2C _02049B94: mov r0, #0xe0 mov r1, #0x88 mov r2, #1 bl sub_02029F88 ldr r0, _02049D34 ; =_020AFF54 mov r1, #3 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049BB8: bl sub_02003B94 bl sub_02048454 mov r0, #0 bl NoteSaveBase ldr r1, _02049D34 ; =_020AFF54 ldr r1, [r1] str r0, [r1, #8] bl sub_02003BC8 ldr r0, _02049D34 ; =_020AFF54 mov r1, #4 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049BEC: bl sub_02029FBC ldr r0, _02049D34 ; =_020AFF54 mov r3, #0 ldr r1, [r0] ldr r0, [r1, #8] cmp r0, #1 bne _02049C2C ldrsb r0, [r1] ldr r1, _02049D40 ; =0x0000040C mov r2, #0x238 bl ShowMessageInDBox ldr r0, _02049D34 ; =_020AFF54 mov r1, #8 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049C2C: cmp r0, #0 ldrsb r0, [r1] ldr r1, _02049D44 ; =0x0000061C bne _02049C58 mov r2, #0x250 bl ShowMessageInDBox ldr r0, _02049D34 ; =_020AFF54 mov r1, #5 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049C58: ldr r2, _02049D48 ; =0x0000023A bl ShowMessageInDBox ldr r0, _02049D34 ; =_020AFF54 mov r1, #5 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049C74: ldrsb r0, [r2] bl IsDBoxActive cmp r0, #0 bne _02049D2C ldr r0, _02049D34 ; =_020AFF54 ldr r0, [r0] ldrsb r0, [r0] bl sub_0202F334 ldr r0, _02049D34 ; =_020AFF54 mov r1, #6 ldr r0, [r0] str r1, [r0, #4] b _02049D2C _02049CA8: ldrsb r0, [r2] bl IsDBoxActive cmp r0, #0 bne _02049D2C ldr r0, _02049D34 ; =_020AFF54 mov r1, #2 str r1, [r0, #4] ldr r0, [r0] mov r1, #7 str r1, [r0, #4] b _02049D2C _02049CD4: mov r1, #9 add r0, sp, #0 str r1, [r2, #4] bl sub_0204AF98 ldrb r0, [sp] bl sub_02027180 ldr r0, _02049D34 ; =_020AFF54 ldr r1, [r0] ldr r0, [r1, #0xc] tst r0, #0x100 beq _02049D10 ldr r0, [r1, #0x98] ldr r2, [r1, #0x94] mov r1, #8 blx r2 _02049D10: mov r0, #4 ldmia sp!, {r3, pc} _02049D18: ldrsb r0, [r2] bl IsDBoxActive cmp r0, #0 bne _02049D2C bl CardBackupError _02049D2C: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02049D34: .word _020AFF54 _02049D38: .word 0x00000408 _02049D3C: .word 0x0000024F _02049D40: .word 0x0000040C _02049D44: .word 0x0000061C _02049D48: .word 0x0000023A arm_func_end sub_02049B0C arm_func_start sub_02049D4C sub_02049D4C: ; 0x02049D4C stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02049D78 ; =_0209CE58 bl sub_02034974 cmp r0, #0 ldrne r1, _02049D7C ; =_022AAEA8 ldrne r0, _02049D80 ; =_020AFF5C movne r2, #0 strne r4, [r1] strne r2, [r0] ldmia sp!, {r4, pc} .align 2, 0 _02049D78: .word _0209CE58 _02049D7C: .word _022AAEA8 _02049D80: .word _020AFF5C arm_func_end sub_02049D4C arm_func_start sub_02049D84 sub_02049D84: ; 0x02049D84 stmdb sp!, {r3, lr} mov r0, #0xa8 mov r1, #8 bl MemAlloc ldr r1, _02049DEC ; =_020AFF5C str r0, [r1, #4] add r0, r0, #0x10 bl sub_02034A38 ldr r2, _02049DEC ; =_020AFF5C ldr r1, _02049DF0 ; =_022AAEA8 ldr r3, [r2, #4] str r0, [r3, #0xc] ldr r3, [r1] ldr r1, [r2, #4] mov r0, #0 str r3, [r1, #8] bl CreateDBox ldr r1, _02049DEC ; =_020AFF5C mov r3, #0 ldr r2, [r1, #4] strb r0, [r2] ldr r2, [r1, #4] mov r0, #1 str r3, [r2, #4] str r3, [r1] ldmia sp!, {r3, pc} .align 2, 0 _02049DEC: .word _020AFF5C _02049DF0: .word _022AAEA8 arm_func_end sub_02049D84 arm_func_start sub_02049DF4 sub_02049DF4: ; 0x02049DF4 stmdb sp!, {r3, lr} ldr r0, _02049E2C ; =_020AFF5C ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl FreeDBox ldr r0, _02049E2C ; =_020AFF5C ldr r0, [r0, #4] bl MemFree ldr r0, _02049E2C ; =_020AFF5C mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02049E2C: .word _020AFF5C arm_func_end sub_02049DF4 arm_func_start sub_02049E30 sub_02049E30: ; 0x02049E30 stmdb sp!, {r3, lr} ldr r1, _0204A004 ; =_020AFF5C ldr r3, [r1, #4] ldr r0, [r3, #4] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02049FFC _02049E4C: ; jump table b _02049E6C ; case 0 b _02049EA0 ; case 1 b _02049EC0 ; case 2 b _02049EE4 ; case 3 b _02049F2C ; case 4 b _02049F6C ; case 5 b _02049FA0 ; case 6 b _02049FCC ; case 7 _02049E6C: ldr r0, [r3, #8] ldr r1, _0204A008 ; =_0209CE54 mov r2, r0, lsl #1 ldrsb r0, [r3] ldrh r2, [r1, r2] ldr r1, _0204A00C ; =0x00000408 mov r3, #0 bl ShowMessageInDBox ldr r0, _0204A004 ; =_020AFF5C mov r1, #1 ldr r0, [r0, #4] str r1, [r0, #4] b _02049FFC _02049EA0: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 ldreq r0, _0204A004 ; =_020AFF5C moveq r1, #2 ldreq r0, [r0, #4] streq r1, [r0, #4] b _02049FFC _02049EC0: mov r0, #0xe0 mov r1, #0x88 mov r2, #1 bl sub_02029F88 ldr r0, _0204A004 ; =_020AFF5C mov r1, #3 ldr r0, [r0, #4] str r1, [r0, #4] b _02049FFC _02049EE4: bl sub_02003B94 ldr r0, _0204A004 ; =_020AFF5C ldr r0, [r0, #4] ldr r0, [r0, #8] cmp r0, #0 beq _02049F08 cmp r0, #1 beq _02049F10 b _02049F14 _02049F08: bl sub_0204A624 b _02049F14 _02049F10: bl sub_0204A72C _02049F14: bl sub_02003BC8 ldr r0, _0204A004 ; =_020AFF5C mov r1, #4 ldr r0, [r0, #4] str r1, [r0, #4] b _02049FFC _02049F2C: bl sub_02029FBC ldr r0, _0204A004 ; =_020AFF5C ldr r2, _0204A010 ; =_0209CE50 ldr r0, [r0, #4] ldr r1, _0204A014 ; =0x0000061C ldr r3, [r0, #8] ldrsb r0, [r0] mov r3, r3, lsl #1 ldrh r2, [r2, r3] mov r3, #0 bl ShowMessageInDBox ldr r0, _0204A004 ; =_020AFF5C mov r1, #5 ldr r0, [r0, #4] str r1, [r0, #4] b _02049FFC _02049F6C: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 bne _02049FFC ldr r0, _0204A004 ; =_020AFF5C ldr r0, [r0, #4] ldrsb r0, [r0] bl sub_0202F334 ldr r0, _0204A004 ; =_020AFF5C mov r1, #6 ldr r0, [r0, #4] str r1, [r0, #4] b _02049FFC _02049FA0: ldrsb r0, [r3] bl IsDBoxActive cmp r0, #0 bne _02049FFC ldr r0, _0204A004 ; =_020AFF5C mov r1, #2 str r1, [r0] ldr r0, [r0, #4] mov r1, #7 str r1, [r0, #4] b _02049FFC _02049FCC: mov r0, #8 str r0, [r3, #4] ldr r2, [r1, #4] ldr r0, [r2, #0xc] tst r0, #0x100 beq _02049FF4 ldr r0, [r2, #0x98] ldr r1, [r1] ldr r2, [r2, #0x94] blx r2 _02049FF4: mov r0, #4 ldmia sp!, {r3, pc} _02049FFC: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0204A004: .word _020AFF5C _0204A008: .word _0209CE54 _0204A00C: .word 0x00000408 _0204A010: .word _0209CE50 _0204A014: .word 0x0000061C arm_func_end sub_02049E30 arm_func_start sub_0204A018 sub_0204A018: ; 0x0204A018 ldr ip, _0204A024 ; =sub_020348E4 ldr r0, _0204A028 ; =_0209CE68 bx ip .align 2, 0 _0204A024: .word sub_020348E4 _0204A028: .word _0209CE68 arm_func_end sub_0204A018 arm_func_start sub_0204A02C sub_0204A02C: ; 0x0204A02C stmdb sp!, {r3, lr} mov r0, #1 mov r1, #8 bl MemAlloc ldr r1, _0204A078 ; =_020AFF64 str r0, [r1] mov r0, #0 bl CreateDBox ldr r3, _0204A078 ; =_020AFF64 ldr r1, _0204A07C ; =0x00000408 ldr ip, [r3] mov r2, #0x238 strb r0, [ip] ldr r0, [r3] mov r3, #0 ldrsb r0, [r0] bl ShowMessageInDBox mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0204A078: .word _020AFF64 _0204A07C: .word 0x00000408 arm_func_end sub_0204A02C arm_func_start sub_0204A080 sub_0204A080: ; 0x0204A080 stmdb sp!, {r3, lr} ldr r0, _0204A0B8 ; =_020AFF64 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl FreeDBox ldr r0, _0204A0B8 ; =_020AFF64 ldr r0, [r0] bl MemFree ldr r0, _0204A0B8 ; =_020AFF64 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0204A0B8: .word _020AFF64 arm_func_end sub_0204A080 arm_func_start sub_0204A0BC sub_0204A0BC: ; 0x0204A0BC stmdb sp!, {r3, lr} ldr r0, _0204A0E4 ; =_020AFF64 ldr r0, [r0] ldrsb r0, [r0] bl IsDBoxActive cmp r0, #0 bne _0204A0DC bl CardBackupError _0204A0DC: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0204A0E4: .word _020AFF64 arm_func_end sub_0204A0BC arm_func_start sub_0204A0E8 sub_0204A0E8: ; 0x0204A0E8 ldr ip, _0204A0F4 ; =sub_020348E4 ldr r0, _0204A0F8 ; =_0209CE78 bx ip .align 2, 0 _0204A0F4: .word sub_020348E4 _0204A0F8: .word _0209CE78 arm_func_end sub_0204A0E8 arm_func_start sub_0204A0FC sub_0204A0FC: ; 0x0204A0FC stmdb sp!, {r3, lr} mov r0, #1 mov r1, #8 bl MemAlloc ldr r1, _0204A148 ; =_020AFF68 str r0, [r1] mov r0, #0 bl CreateDBox ldr r3, _0204A148 ; =_020AFF68 ldr r1, _0204A14C ; =0x00000408 ldr ip, [r3] ldr r2, _0204A150 ; =0x00000247 strb r0, [ip] ldr r0, [r3] mov r3, #0 ldrsb r0, [r0] bl ShowMessageInDBox mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0204A148: .word _020AFF68 _0204A14C: .word 0x00000408 _0204A150: .word 0x00000247 arm_func_end sub_0204A0FC arm_func_start sub_0204A154 sub_0204A154: ; 0x0204A154 stmdb sp!, {r3, lr} ldr r0, _0204A18C ; =_020AFF68 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0] bl FreeDBox ldr r0, _0204A18C ; =_020AFF68 ldr r0, [r0] bl MemFree ldr r0, _0204A18C ; =_020AFF68 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0204A18C: .word _020AFF68 arm_func_end sub_0204A154 arm_func_start sub_0204A190 sub_0204A190: ; 0x0204A190 mov r0, #1 bx lr arm_func_end sub_0204A190 arm_func_start sub_0204A198 sub_0204A198: ; 0x0204A198 ldr ip, _0204A1A0 ; =sub_0207B9EC bx ip .align 2, 0 _0204A1A0: .word sub_0207B9EC arm_func_end sub_0204A198 arm_func_start sub_0204A1A4 sub_0204A1A4: ; 0x0204A1A4 stmdb sp!, {r3, lr} ldr r0, _0204A1C4 ; =_022AAEAC mov r1, #0x1f0 bl MemZero ldr r1, _0204A1C4 ; =_022AAEAC ldr r0, _0204A1C8 ; =_020AFF6C str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0204A1C4: .word _022AAEAC _0204A1C8: .word _020AFF6C arm_func_end sub_0204A1A4 arm_func_start sub_0204A1CC sub_0204A1CC: ; 0x0204A1CC ldr r0, _0204A1D8 ; =_020AFF6C ldr r0, [r0] bx lr .align 2, 0 _0204A1D8: .word _020AFF6C arm_func_end sub_0204A1CC arm_func_start sub_0204A1DC sub_0204A1DC: ; 0x0204A1DC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x14 mov r3, r0 mov r2, r1 add r0, sp, #4 mov r1, r3 bl sub_02050974 ldr r1, _0204A3E0 ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0x200 bl CopyBitsFrom ldr r5, _0204A3E0 ; =_020AFF6C mov r8, #0 add r7, sp, #4 mov r6, #0x50 mov r4, #0xa _0204A220: ldr r1, [r5] mov r0, r7 add r1, r1, #0x40 mla r1, r8, r4, r1 mov r2, r6 bl CopyBitsFrom add r8, r8, #1 cmp r8, #0x10 blt _0204A220 ldr r5, _0204A3E0 ; =_020AFF6C mov r8, #0 add r7, sp, #4 mov r6, #0x60 mov r4, #0xc _0204A258: ldr r1, [r5] mov r0, r7 add r1, r1, #0xe0 mla r1, r8, r4, r1 mov r2, r6 bl CopyBitsFrom add r8, r8, #1 cmp r8, #0x10 blt _0204A258 mov sb, #0 mov r5, #1 ldr sl, _0204A3E0 ; =_020AFF6C mov r4, sb add r8, sp, #4 add r7, sp, #0 mov r6, r5 _0204A298: mov r0, r8 mov r1, r7 mov r2, r6 bl CopyBitsFrom ldrb r0, [sp] cmp r0, #0 ldr r0, [sl] movne r1, r5 add r0, r0, sb moveq r1, r4 add sb, sb, #1 strb r1, [r0, #0x1a0] cmp sb, #0x10 blt _0204A298 ldr r1, _0204A3E0 ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0x1b0 add r1, r1, #0x1b0 bl CopyBitsFrom ldr r1, _0204A3E0 ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0xe add r1, r1, #0xe6 add r1, r1, #0x100 bl CopyBitsFrom ldr r1, _0204A3E0 ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0xe add r1, r1, #0x1e8 bl CopyBitsFrom add r0, sp, #4 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r1, _0204A3E0 ; =_020AFF6C cmp r0, #0 movne r3, #1 ldr r2, [r1] moveq r3, #0 strb r3, [r2, #0x1ea] add r0, sp, #4 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r1, _0204A3E0 ; =_020AFF6C cmp r0, #0 movne r3, #1 ldr r2, [r1] moveq r3, #0 strb r3, [r2, #0x1eb] add r0, sp, #4 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r1, _0204A3E0 ; =_020AFF6C cmp r0, #0 movne r3, #1 ldr r2, [r1] moveq r3, #0 strb r3, [r2, #0x1ec] add r0, sp, #4 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r1, _0204A3E0 ; =_020AFF6C cmp r0, #0 movne r2, #1 ldr r1, [r1] moveq r2, #0 add r0, sp, #4 strb r2, [r1, #0x1ed] bl sub_020509BC ldr r0, [sp, #0xc] add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0204A3E0: .word _020AFF6C arm_func_end sub_0204A1DC arm_func_start sub_0204A3E4 sub_0204A3E4: ; 0x0204A3E4 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x14 mov r5, r0 mov r2, r1 mov r4, #0xff mov r3, #0 add r0, sp, #4 mov r1, r5 strb r4, [sp, #1] strb r3, [sp] bl sub_02050990 ldr r1, _0204A5CC ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0x200 bl CopyBitsTo ldr r5, _0204A5CC ; =_020AFF6C mov r8, #0 add r7, sp, #4 mov r6, #0x50 mov r4, #0xa _0204A438: ldr r1, [r5] mov r0, r7 add r1, r1, #0x40 mla r1, r8, r4, r1 mov r2, r6 bl CopyBitsTo add r8, r8, #1 cmp r8, #0x10 blt _0204A438 ldr r5, _0204A5CC ; =_020AFF6C mov r8, #0 add r7, sp, #4 mov r6, #0x60 mov r4, #0xc _0204A470: ldr r1, [r5] mov r0, r7 add r1, r1, #0xe0 mla r1, r8, r4, r1 mov r2, r6 bl CopyBitsTo add r8, r8, #1 cmp r8, #0x10 blt _0204A470 ldr r5, _0204A5CC ; =_020AFF6C mov r4, #0 add r8, sp, #0 add sb, sp, #1 add r7, sp, #4 mov r6, #1 _0204A4AC: ldr r0, [r5] mov r2, r6 add r0, r0, r4 ldrb r0, [r0, #0x1a0] cmp r0, #0 movne r1, sb moveq r1, r8 mov r0, r7 bl CopyBitsTo add r4, r4, #1 cmp r4, #0x10 blt _0204A4AC ldr r1, _0204A5CC ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0x1b0 add r1, r1, #0x1b0 bl CopyBitsTo ldr r1, _0204A5CC ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0xe add r1, r1, #0xe6 add r1, r1, #0x100 bl CopyBitsTo ldr r1, _0204A5CC ; =_020AFF6C add r0, sp, #4 ldr r1, [r1] mov r2, #0xe add r1, r1, #0x1e8 bl CopyBitsTo ldr r0, _0204A5CC ; =_020AFF6C mov r2, #1 ldr r0, [r0] ldrb r0, [r0, #0x1ea] cmp r0, #0 addne r1, sp, #1 addeq r1, sp, #0 add r0, sp, #4 bl CopyBitsTo ldr r0, _0204A5CC ; =_020AFF6C mov r2, #1 ldr r0, [r0] ldrb r0, [r0, #0x1eb] cmp r0, #0 addne r1, sp, #1 addeq r1, sp, #0 add r0, sp, #4 bl CopyBitsTo ldr r0, _0204A5CC ; =_020AFF6C mov r2, #1 ldr r0, [r0] ldrb r0, [r0, #0x1ec] cmp r0, #0 addne r1, sp, #1 addeq r1, sp, #0 add r0, sp, #4 bl CopyBitsTo ldr r0, _0204A5CC ; =_020AFF6C mov r2, #1 ldr r0, [r0] ldrb r0, [r0, #0x1ed] cmp r0, #0 addne r1, sp, #1 addeq r1, sp, #0 add r0, sp, #4 bl CopyBitsTo add r0, sp, #4 bl sub_020509BC ldr r0, [sp, #0xc] add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204A5CC: .word _020AFF6C arm_func_end sub_0204A3E4 arm_func_start sub_0204A5D0 sub_0204A5D0: ; 0x0204A5D0 stmdb sp!, {r4, lr} bl sub_02084304 bl sub_0207902C mov r4, r0 mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208346C ldr r0, _0204A61C ; =0x00001101 bl sub_02083B3C bl sub_02083B14 ldr r2, _0204A620 ; =_022AB09C mov r1, r4, lsl #0x10 str r0, [r2] mov r0, r1, lsr #0x10 bl sub_0208347C mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 ldmia sp!, {r4, pc} .align 2, 0 _0204A61C: .word 0x00001101 _0204A620: .word _022AB09C arm_func_end sub_0204A5D0 arm_func_start sub_0204A624 sub_0204A624: ; 0x0204A624 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 sub sp, sp, #0x400 bl sub_02083B00 and r0, r0, #0xff cmp r0, #1 bne _0204A720 mov r1, #0 mov r0, #0xff add r8, sp, #0x14 _0204A64C: strb r0, [r8, r1] add r1, r1, #1 cmp r1, #0x400 blt _0204A64C mov r7, #0 mov fp, r7 _0204A664: mov r6, #0 mov sb, r7, lsl #8 b _0204A70C _0204A670: bl sub_0207902C mov r5, r0 bl sub_02002580 mov r4, r0 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208346C mov r0, r4 mov r1, #0x13 bl sub_020027F8 str fp, [sp] mov sl, r0 str fp, [sp, #4] mov r1, #8 str r1, [sp, #8] mov r1, #0xa str r1, [sp, #0xc] mov r1, #2 str r1, [sp, #0x10] mov r0, r8 mov r1, sb mov r2, #0x400 mov r3, fp bl sub_02083A18 mov r1, sl mov sl, r0 mov r0, r4 bl sub_020027F8 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208347C mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 cmp sl, #0 bne _0204A714 mov r0, #0 bl CardPullOutWithStatus add r6, r6, #1 _0204A70C: cmp r6, #4 blt _0204A670 _0204A714: add r7, r7, #1 cmp r7, #0x100 blt _0204A664 _0204A720: add sp, sp, #0x14 add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0204A624 arm_func_start sub_0204A72C sub_0204A72C: ; 0x0204A72C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 sub sp, sp, #0x400 mov r0, #0x400 bl RandInt str r0, [sp, #0x14] bl sub_02083B00 and r0, r0, #0xff cmp r0, #1 bne _0204A8D4 mov r2, #0 mov r1, #0xff _0204A75C: add r0, sp, #0x18 strb r1, [r0, r2] add r2, r2, #1 cmp r2, #0x400 blt _0204A75C mov r5, #0 _0204A774: mov r1, r5, lsr #0x1f rsb r0, r1, r5, lsl #22 mov r8, r5, lsl #8 add sb, r1, r0, ror #22 mov r4, #0 b _0204A8C0 _0204A78C: bl sub_0207902C mov r6, r0 bl sub_02002580 mov r7, r0 mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208346C mov r0, r7 mov r1, #0x13 bl sub_020027F8 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #6 str r1, [sp, #8] mov r1, #1 str r1, [sp, #0xc] mov r1, #0 str r1, [sp, #0x10] mov fp, r0 mov r0, r8 add r1, sp, #0x18 mov r2, #0x400 mov r3, #0 bl sub_02083A18 cmp r0, #0 beq _0204A820 mov r0, r7 mov r1, fp bl sub_020027F8 mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208347C mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 b _0204A8C8 _0204A820: ldr r0, [sp, #0x14] cmp sb, r0 bne _0204A84C mov sl, #0 _0204A830: mov r0, #0x100 bl RandInt add r1, sp, #0x18 strb r0, [r1, sl] add sl, sl, #1 cmp sl, #0x400 blt _0204A830 _0204A84C: mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #8 str r0, [sp, #8] mov r0, #0xa str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] add r0, sp, #0x18 mov r1, r8 mov r2, #0x400 mov r3, #0 bl sub_02083A18 mov sl, r0 mov r1, fp mov r0, r7 bl sub_020027F8 mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208347C mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 cmp sl, #0 bne _0204A8C8 mov r0, #0 bl CardPullOutWithStatus add r4, r4, #1 _0204A8C0: cmp r4, #4 blt _0204A78C _0204A8C8: add r5, r5, #1 cmp r5, #0x100 blt _0204A774 _0204A8D4: add sp, sp, #0x18 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0204A72C arm_func_start sub_0204A8E0 sub_0204A8E0: ; 0x0204A8E0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov r4, r0 mov sb, r1 mov r8, r2 bl sub_02083B00 and r0, r0, #0xff cmp r0, #1 movne r0, #3 bne _0204A9C0 mov r6, #0 mov r7, r4, lsl #8 mov fp, r6 b _0204A9B4 _0204A918: bl sub_0207902C mov r5, r0 bl sub_02002580 mov r4, r0 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208346C mov r0, r4 mov r1, #0x13 bl sub_020027F8 str fp, [sp] mov sl, r0 str fp, [sp, #4] mov r1, #6 str r1, [sp, #8] mov r1, #1 str r1, [sp, #0xc] mov r0, r7 mov r1, sb mov r2, r8 mov r3, fp str fp, [sp, #0x10] bl sub_02083A18 mov r1, sl mov sl, r0 mov r0, r4 bl sub_020027F8 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208347C mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 cmp sl, #0 movne r0, #0 bne _0204A9C0 mov r0, #0 bl CardPullOutWithStatus add r6, r6, #1 _0204A9B4: cmp r6, #4 blt _0204A918 mov r0, #3 _0204A9C0: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0204A8E0 arm_func_start sub_0204A9C8 sub_0204A9C8: ; 0x0204A9C8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x214 mov r4, r0 mov sb, r1 mov r8, r2 bl sub_02083B00 and r0, r0, #0xff cmp r0, #1 movne r0, #3 bne _0204AB10 mov r7, r4, lsl #8 mov r6, #0 mov fp, #6 b _0204AB04 _0204AA00: bl sub_0207902C mov r5, r0 bl sub_02002580 mov r1, #0x13 mov r4, r0 bl sub_020027F8 mov sl, r0 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208346C mov r0, #0 str r0, [sp] stmib sp, {r0, fp} mov r0, #1 str r0, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] mov r0, r7 add r1, sp, #0x14 mov r2, #0x80 mov r3, #0 bl sub_02083A18 cmp r0, #0 bne _0204AA8C mov r0, r4 mov r1, sl bl sub_020027F8 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208347C mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 mov r0, #4 b _0204AB10 _0204AA8C: mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #8 str r0, [sp, #8] mov r0, #0xa str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r0, sb mov r1, r7 mov r2, r8 mov r3, #0 bl sub_02083A18 mov r1, sl mov sl, r0 mov r0, r4 bl sub_020027F8 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0208347C mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02079094 cmp sl, #0 movne r0, #0 bne _0204AB10 mov r0, #0 bl CardPullOutWithStatus add r6, r6, #1 _0204AB04: cmp r6, #4 blt _0204AA00 mov r0, #3 _0204AB10: add sp, sp, #0x214 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0204A9C8 arm_func_start sub_0204AB18 sub_0204AB18: ; 0x0204AB18 ldr ip, _0204AB20 ; =sub_0204AB24 bx ip .align 2, 0 _0204AB20: .word sub_0204AB24 arm_func_end sub_0204AB18 arm_func_start sub_0204AB24 sub_0204AB24: ; 0x0204AB24 stmdb sp!, {r3} sub sp, sp, #4 ldr r0, _0204AB74 ; =_022AB0A0 mov r1, #2 mov r2, #0 strb r1, [r0] strb r2, [r0, #2] mov r1, #1 strb r1, [r0, #1] strb r1, [r0, #3] strb r2, [r0, #4] strb r1, [r0, #5] strb r1, [r0, #6] strb r2, [r0, #7] strb r2, [r0, #8] strb r2, [sp] strb r2, [r0, #9] add sp, sp, #4 ldmia sp!, {r3} bx lr .align 2, 0 _0204AB74: .word _022AB0A0 arm_func_end sub_0204AB24 arm_func_start sub_0204AB78 sub_0204AB78: ; 0x0204AB78 ldr r3, _0204AB94 ; =_022AB0A0 mov r2, #0xa _0204AB80: ldrb r1, [r3], #1 subs r2, r2, #1 strb r1, [r0], #1 bne _0204AB80 bx lr .align 2, 0 _0204AB94: .word _022AB0A0 arm_func_end sub_0204AB78 arm_func_start sub_0204AB98 sub_0204AB98: ; 0x0204AB98 ldr r3, _0204ABB4 ; =_022AB0A0 mov r2, #0xa _0204ABA0: ldrb r1, [r0], #1 subs r2, r2, #1 strb r1, [r3], #1 bne _0204ABA0 bx lr .align 2, 0 _0204ABB4: .word _022AB0A0 arm_func_end sub_0204AB98 arm_func_start sub_0204ABB8 sub_0204ABB8: ; 0x0204ABB8 stmdb sp!, {r4, lr} ldr r1, _0204ACC0 ; =_022AB0A0 mov r2, #2 mov r4, r0 bl CopyBitsTo ldr r1, _0204ACC4 ; =_022AB0A2 mov r0, r4 mov r2, #3 bl CopyBitsTo ldr r1, _0204ACC8 ; =_022AB0A1 mov r0, r4 mov r2, #2 bl CopyBitsTo ldr r0, _0204ACCC ; =_022AB0A0 mov r2, #1 ldrb r0, [r0, #3] cmp r0, #0 ldrne r1, _0204ACD0 ; =_0209CE88 mov r0, r4 ldreq r1, _0204ACD4 ; =_0209CE89 bl CopyBitsTo ldr r0, _0204ACCC ; =_022AB0A0 mov r2, #1 ldrb r0, [r0, #4] cmp r0, #0 ldrne r1, _0204ACD0 ; =_0209CE88 mov r0, r4 ldreq r1, _0204ACD4 ; =_0209CE89 bl CopyBitsTo ldr r0, _0204ACCC ; =_022AB0A0 mov r2, #1 ldrb r0, [r0, #5] cmp r0, #0 ldrne r1, _0204ACD0 ; =_0209CE88 mov r0, r4 ldreq r1, _0204ACD4 ; =_0209CE89 bl CopyBitsTo ldr r0, _0204ACCC ; =_022AB0A0 mov r2, #1 ldrb r0, [r0, #6] cmp r0, #0 ldrne r1, _0204ACD0 ; =_0209CE88 mov r0, r4 ldreq r1, _0204ACD4 ; =_0209CE89 bl CopyBitsTo ldr r0, _0204ACCC ; =_022AB0A0 mov r2, #1 ldrb r0, [r0, #7] cmp r0, #0 ldrne r1, _0204ACD0 ; =_0209CE88 mov r0, r4 ldreq r1, _0204ACD4 ; =_0209CE89 bl CopyBitsTo ldr r0, _0204ACCC ; =_022AB0A0 mov r2, #1 ldrb r0, [r0, #8] cmp r0, #0 ldrne r1, _0204ACD0 ; =_0209CE88 mov r0, r4 ldreq r1, _0204ACD4 ; =_0209CE89 bl CopyBitsTo ldr r1, _0204ACD8 ; =_022AB0A9 mov r0, r4 mov r2, #3 bl CopyBitsTo ldmia sp!, {r4, pc} .align 2, 0 _0204ACC0: .word _022AB0A0 _0204ACC4: .word _022AB0A2 _0204ACC8: .word _022AB0A1 _0204ACCC: .word _022AB0A0 _0204ACD0: .word _0209CE88 _0204ACD4: .word _0209CE89 _0204ACD8: .word _022AB0A9 arm_func_end sub_0204ABB8 arm_func_start sub_0204ACDC sub_0204ACDC: ; 0x0204ACDC stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r1, sp, #0 mov r2, #2 mov r4, r0 bl CopyBitsFrom ldrb r0, [sp] ldr r3, _0204AE5C ; =_022AB0A0 add r1, sp, #0 and ip, r0, #3 mov r0, r4 mov r2, #3 strb ip, [r3] bl CopyBitsFrom ldrb r0, [sp] ldr r3, _0204AE5C ; =_022AB0A0 add r1, sp, #0 and ip, r0, #7 mov r0, r4 mov r2, #2 strb ip, [r3, #2] bl CopyBitsFrom ldrb r0, [sp] ldr r2, _0204AE5C ; =_022AB0A0 add r1, sp, #0 and r3, r0, #3 strb r3, [r2, #1] mov r0, r4 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r3, _0204AE5C ; =_022AB0A0 add r1, sp, #0 tst r0, #1 movne ip, #1 moveq ip, #0 mov r0, r4 mov r2, #1 strb ip, [r3, #3] bl CopyBitsFrom ldrb r0, [sp] ldr r3, _0204AE5C ; =_022AB0A0 add r1, sp, #0 tst r0, #1 movne ip, #1 moveq ip, #0 mov r0, r4 mov r2, #1 strb ip, [r3, #4] bl CopyBitsFrom ldrb r0, [sp] ldr r2, _0204AE5C ; =_022AB0A0 add r1, sp, #0 tst r0, #1 movne r3, #1 moveq r3, #0 strb r3, [r2, #5] mov r0, r4 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r2, _0204AE5C ; =_022AB0A0 add r1, sp, #0 tst r0, #1 movne r3, #1 moveq r3, #0 strb r3, [r2, #6] mov r0, r4 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r2, _0204AE5C ; =_022AB0A0 add r1, sp, #0 tst r0, #1 movne r3, #1 moveq r3, #0 strb r3, [r2, #7] mov r0, r4 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r2, _0204AE5C ; =_022AB0A0 add r1, sp, #0 tst r0, #1 movne r3, #1 moveq r3, #0 strb r3, [r2, #8] mov r0, r4 mov r2, #3 bl CopyBitsFrom ldrb r1, [sp] ldr r0, _0204AE5C ; =_022AB0A0 and r1, r1, #7 strb r1, [r0, #9] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0204AE5C: .word _022AB0A0 arm_func_end sub_0204ACDC arm_func_start sub_0204AE60 sub_0204AE60: ; 0x0204AE60 ldr r0, _0204AE7C ; =_022AB0A0 ldrb r0, [r0] cmp r0, #1 movhs r0, #1 movlo r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204AE7C: .word _022AB0A0 arm_func_end sub_0204AE60 arm_func_start sub_0204AE80 sub_0204AE80: ; 0x0204AE80 ldr r0, _0204AE9C ; =_022AB0A0 ldrb r0, [r0] cmp r0, #2 movhs r0, #1 movlo r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204AE9C: .word _022AB0A0 arm_func_end sub_0204AE80 arm_func_start sub_0204AEA0 sub_0204AEA0: ; 0x0204AEA0 ldr r0, _0204AEAC ; =_022AB0A0 ldrb r0, [r0, #2] bx lr .align 2, 0 _0204AEAC: .word _022AB0A0 arm_func_end sub_0204AEA0 arm_func_start sub_0204AEB0 sub_0204AEB0: ; 0x0204AEB0 ldr r1, _0204AEBC ; =_022AB0A0 strb r0, [r1, #2] bx lr .align 2, 0 _0204AEBC: .word _022AB0A0 arm_func_end sub_0204AEB0 arm_func_start sub_0204AEC0 sub_0204AEC0: ; 0x0204AEC0 ldr r0, _0204AECC ; =_022AB0A0 ldrb r0, [r0, #1] bx lr .align 2, 0 _0204AECC: .word _022AB0A0 arm_func_end sub_0204AEC0 arm_func_start sub_0204AED0 sub_0204AED0: ; 0x0204AED0 ldr r0, _0204AEDC ; =_022AB0A0 ldrb r0, [r0, #3] bx lr .align 2, 0 _0204AEDC: .word _022AB0A0 arm_func_end sub_0204AED0 arm_func_start sub_0204AEE0 sub_0204AEE0: ; 0x0204AEE0 ldr r0, _0204AEEC ; =_022AB0A0 ldrb r0, [r0, #4] bx lr .align 2, 0 _0204AEEC: .word _022AB0A0 arm_func_end sub_0204AEE0 arm_func_start sub_0204AEF0 sub_0204AEF0: ; 0x0204AEF0 ldr r0, _0204AEFC ; =_022AB0A0 ldrb r0, [r0, #5] bx lr .align 2, 0 _0204AEFC: .word _022AB0A0 arm_func_end sub_0204AEF0 arm_func_start sub_0204AF00 sub_0204AF00: ; 0x0204AF00 ldr r0, _0204AF0C ; =_022AB0A0 ldrb r0, [r0, #6] bx lr .align 2, 0 _0204AF0C: .word _022AB0A0 arm_func_end sub_0204AF00 arm_func_start sub_0204AF10 sub_0204AF10: ; 0x0204AF10 ldr r0, _0204AF1C ; =_022AB0A0 ldrb r0, [r0, #7] bx lr .align 2, 0 _0204AF1C: .word _022AB0A0 arm_func_end sub_0204AF10 arm_func_start sub_0204AF20 sub_0204AF20: ; 0x0204AF20 ldr r0, _0204AF2C ; =_022AB0A0 ldrb r0, [r0, #8] bx lr .align 2, 0 _0204AF2C: .word _022AB0A0 arm_func_end sub_0204AF20 arm_func_start sub_0204AF30 sub_0204AF30: ; 0x0204AF30 ldr r0, _0204AF54 ; =_022AB0A0 ldrb r1, [r0, #1] cmp r1, #1 cmpne r1, #2 ldrneb r0, [r0, #2] cmpne r0, #3 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _0204AF54: .word _022AB0A0 arm_func_end sub_0204AF30 arm_func_start sub_0204AF58 sub_0204AF58: ; 0x0204AF58 ldr r0, _0204AF74 ; =_022AB0A0 ldrb r0, [r0, #2] cmp r0, #1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204AF74: .word _022AB0A0 arm_func_end sub_0204AF58 arm_func_start sub_0204AF78 sub_0204AF78: ; 0x0204AF78 ldr r0, _0204AF94 ; =_022AB0A0 ldrb r0, [r0, #2] cmp r0, #2 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204AF94: .word _022AB0A0 arm_func_end sub_0204AF78 arm_func_start sub_0204AF98 sub_0204AF98: ; 0x0204AF98 ldr r1, _0204AFA8 ; =_022AB0A0 ldrb r1, [r1, #9] strb r1, [r0] bx lr .align 2, 0 _0204AFA8: .word _022AB0A0 arm_func_end sub_0204AF98 arm_func_start sub_0204AFAC sub_0204AFAC: ; 0x0204AFAC ldrb r1, [r0] ldr r0, _0204AFBC ; =_022AB0A0 strb r1, [r0, #9] bx lr .align 2, 0 _0204AFBC: .word _022AB0A0 arm_func_end sub_0204AFAC arm_func_start GetGameMode GetGameMode: ; 0x0204AFC0 ldr r0, _0204AFCC ; =GAME_MODE ldrb r0, [r0] bx lr .align 2, 0 _0204AFCC: .word GAME_MODE arm_func_end GetGameMode arm_func_start sub_0204AFD0 sub_0204AFD0: ; 0x0204AFD0 ldr r0, _0204AFF4 ; =GAME_MODE ldrb r0, [r0] add r0, r0, #0xfe and r0, r0, #0xff cmp r0, #1 movls r0, #1 movhi r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204AFF4: .word GAME_MODE arm_func_end sub_0204AFD0 arm_func_start sub_0204AFF8 sub_0204AFF8: ; 0x0204AFF8 ldr r0, _0204B014 ; =GAME_MODE ldrb r0, [r0] cmp r0, #4 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204B014: .word GAME_MODE arm_func_end sub_0204AFF8 arm_func_start sub_0204B018 sub_0204B018: ; 0x0204B018 ldr r1, _0204B024 ; =GAME_MODE strb r0, [r1] bx lr .align 2, 0 _0204B024: .word GAME_MODE arm_func_end sub_0204B018 arm_func_start sub_0204B028 sub_0204B028: ; 0x0204B028 ldr r1, _0204B040 ; =_0209DF70 ldr ip, _0204B044 ; =DebugPrint0 ldr r0, _0204B048 ; =_0209CF0C ldrsh r1, [r1, #0x24] mov r2, #0x400 bx ip .align 2, 0 _0204B040: .word _0209DF70 _0204B044: .word DebugPrint0 _0204B048: .word _0209CF0C arm_func_end sub_0204B028 arm_func_start InitScriptVariableValues InitScriptVariableValues: ; 0x0204B04C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r1, #0 ldr r0, _0204B2F8 ; =_022AB0AC mov r7, r1 _0204B05C: strb r7, [r0, r1] add r1, r1, #1 cmp r1, #0x400 blt _0204B05C mov r4, #0 ldr r6, _0204B2FC ; =SCRIPT_VARS mov r5, r4 _0204B078: mov r0, r7, lsl #4 ldrsh r0, [r6, r0] add r8, r6, r7, lsl #4 cmp r0, #0 cmpne r0, #9 beq _0204B0C4 mov sb, r5 b _0204B0B8 _0204B098: ldrsh r3, [r8, #0xa] mov r0, r4 mov r1, r7 mov r2, sb bl SaveScriptVariableValueAtIndex add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 _0204B0B8: ldrsh r0, [r8, #8] cmp sb, r0 blt _0204B098 _0204B0C4: add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 cmp r7, #0x72 blt _0204B078 mov r0, #0 mov r2, r0 mov r1, #0x46 bl SaveScriptVariableValue mov r0, #0 mov r1, #1 bl ZinitScriptVariable bl InitEventFlagScriptVars mov sl, #0 ldr r7, _0204B300 ; =0x00000137 mov sb, sl sub r4, r7, #0x138 mov r8, #0x21 mov r6, sl mov r5, #0x22 mov fp, sl _0204B118: mov r2, sl, lsl #0x10 mov r0, sb mov r1, r8 mov r2, r2, lsr #0x10 mov r3, r7 bl SaveScriptVariableValueAtIndex mov r2, sl, lsl #0x10 mov r0, r6 mov r1, r5 mov r2, r2, lsr #0x10 mov r3, r6 bl SaveScriptVariableValueAtIndex mov r2, sl, lsl #0x10 mov r0, fp mov r1, #0x23 mov r2, r2, lsr #0x10 mov r3, r7 bl SaveScriptVariableValueAtIndex mov r2, sl, lsl #0x10 mov r0, #0 mov r1, #0x24 mov r2, r2, lsr #0x10 mov r3, r4 bl SaveScriptVariableValueAtIndex mov r2, sl, lsl #0x10 mov r0, #0 mov r1, #0x25 mov r2, r2, lsr #0x10 mov r3, #0xbb bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, sl, lsl #0x10 mov r1, #0x2d mov r2, r2, lsr #0x10 mov r3, r0 bl SaveScriptVariableValueAtIndex mov r2, sl, lsl #0x10 mov r0, #0 mov r1, #0x2f mov r2, r2, lsr #0x10 mov r3, r4 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, sl, lsl #0x10 mov r1, #0x31 mov r2, r2, lsr #0x10 mov r3, r0 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, sl, lsl #0x10 mov r1, #0x32 mov r2, r2, lsr #0x10 mov r3, r0 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, sl, lsl #0x10 mov r1, #0x37 mov r2, r2, lsr #0x10 mov r3, r0 bl SaveScriptVariableValueAtIndex mov r2, sl, lsl #0x10 mov r0, #0 mov r1, #0x38 mov r2, r2, lsr #0x10 mov r3, #2 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, sl, lsl #0x10 mov r1, #0x39 mov r2, r2, lsr #0x10 mov r3, r0 bl SaveScriptVariableValueAtIndex add sl, sl, #1 cmp sl, #4 blt _0204B118 mov r1, #0x26 sub r2, r1, #0x27 mov r0, #0 bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x33 bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x6e bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x3e bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x40 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x42 mov r2, #4 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x43 mov r2, #1 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x4a sub r2, r1, #0x4b bl SaveScriptVariableValue mov r0, #0 mov r1, #0x4b bl ZinitScriptVariable mov r0, #0 mov r1, #0x4c bl ZinitScriptVariable mov r0, #0 mov r1, #0x4d bl ZinitScriptVariable bl InitScenarioScriptVars bl InitWorldMapScriptVars bl InitDungeonListScriptVars ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0204B2F8: .word _022AB0AC _0204B2FC: .word SCRIPT_VARS _0204B300: .word 0x00000137 arm_func_end InitScriptVariableValues arm_func_start InitEventFlagScriptVars InitEventFlagScriptVars: ; 0x0204B304 stmdb sp!, {r3, lr} ldr r2, _0204B3CC ; =0x00000137 mov r0, #0 mov r1, #0x1c bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x1d bl SaveScriptVariableValue ldr r2, _0204B3CC ; =0x00000137 mov r0, #0 mov r1, #0x1e bl SaveScriptVariableValue mov r1, #0x1f sub r2, r1, #0x20 mov r0, #0 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x20 mov r2, #0xbb bl SaveScriptVariableValue mov r0, #0 mov r1, #0x27 mov r2, r0 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x29 sub r2, r1, #0x2a bl SaveScriptVariableValue mov r0, #0 mov r1, #0x2b mov r2, r0 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x2c mov r2, r0 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x34 mov r2, r0 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x35 mov r2, #2 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x36 mov r2, r0 bl SaveScriptVariableValue ldmia sp!, {r3, pc} .align 2, 0 _0204B3CC: .word 0x00000137 arm_func_end InitEventFlagScriptVars arm_func_start sub_0204B3D0 sub_0204B3D0: ; 0x0204B3D0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 cmp r4, #0x400 mov r5, r0 ldrlt r0, _0204B42C ; =SCRIPT_VARS ldrge r1, _0204B430 ; =SCRIPT_VARS_LOCALS addlt r7, r0, r4, lsl #4 subge r0, r4, #0x400 addge r7, r1, r0, lsl #4 mov r6, #0 b _0204B41C _0204B3FC: ldrsh r3, [r7, #0xa] mov r0, r5 mov r1, r4 mov r2, r6 bl SaveScriptVariableValueAtIndex add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, lsr #0x10 _0204B41C: ldrsh r0, [r7, #8] cmp r6, r0 blt _0204B3FC ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0204B42C: .word SCRIPT_VARS _0204B430: .word SCRIPT_VARS_LOCALS arm_func_end sub_0204B3D0 arm_func_start ZinitScriptVariable ZinitScriptVariable: ; 0x0204B434 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r1 cmp r5, #0x400 mov r6, r0 ldrlt r0, _0204B494 ; =SCRIPT_VARS mov r8, #0 addlt r4, r0, r5, lsl #4 ldrge r1, _0204B498 ; =SCRIPT_VARS_LOCALS subge r0, r5, #0x400 addge r4, r1, r0, lsl #4 mov r7, r8 b _0204B484 _0204B464: mov r0, r6 mov r1, r5 mov r2, r8 mov r3, r7 bl SaveScriptVariableValueAtIndex add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, lsr #0x10 _0204B484: ldrsh r0, [r4, #8] cmp r8, r0 blt _0204B464 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0204B494: .word SCRIPT_VARS _0204B498: .word SCRIPT_VARS_LOCALS arm_func_end ZinitScriptVariable arm_func_start LoadScriptVariableRaw LoadScriptVariableRaw: ; 0x0204B49C cmp r2, #0x400 bge _0204B4C0 ldr r1, _0204B4E0 ; =SCRIPT_VARS ldr r3, _0204B4E4 ; =_022AB0AC add r1, r1, r2, lsl #4 str r1, [r0] ldrsh r1, [r1, #4] add r1, r3, r1 b _0204B4D8 _0204B4C0: ldr r3, _0204B4E8 ; =SCRIPT_VARS_LOCALS sub r2, r2, #0x400 add r2, r3, r2, lsl #4 str r2, [r0] ldrsh r2, [r2, #4] add r1, r1, r2, lsl #2 _0204B4D8: str r1, [r0, #4] bx lr .align 2, 0 _0204B4E0: .word SCRIPT_VARS _0204B4E4: .word _022AB0AC _0204B4E8: .word SCRIPT_VARS_LOCALS arm_func_end LoadScriptVariableRaw arm_func_start LoadScriptVariableValue LoadScriptVariableValue: ; 0x0204B4EC stmdb sp!, {r4, lr} sub sp, sp, #8 mov r2, r0 mov r4, r1 mov r1, r2 add r0, sp, #0 mov r2, r4 bl LoadScriptVariableRaw ldr r1, [sp] ldrsh r0, [r1] cmp r0, #9 addls pc, pc, r0, lsl #2 b _0204B66C _0204B520: ; jump table b _0204B66C ; case 0 b _0204B548 ; case 1 b _0204B56C ; case 2 b _0204B56C ; case 3 b _0204B578 ; case 4 b _0204B584 ; case 5 b _0204B590 ; case 6 b _0204B59C ; case 7 b _0204B59C ; case 8 b _0204B5A8 ; case 9 _0204B548: ldrsh r1, [r1, #6] ldr r2, [sp, #4] mov r0, #1 mov r1, r0, lsl r1 ldrb r2, [r2] and r1, r1, #0xff tst r2, r1 moveq r0, #0 b _0204B670 _0204B56C: ldr r0, [sp, #4] ldrb r0, [r0] b _0204B670 _0204B578: ldr r0, [sp, #4] ldrsb r0, [r0] b _0204B670 _0204B584: ldr r0, [sp, #4] ldrh r0, [r0] b _0204B670 _0204B590: ldr r0, [sp, #4] ldrsh r0, [r0] b _0204B670 _0204B59C: ldr r0, [sp, #4] ldr r0, [r0] b _0204B670 _0204B5A8: cmp r4, #0x48 bgt _0204B5E4 bge _0204B62C cmp r4, #0x3d bgt _0204B5D8 subs r0, r4, #0x3a addpl pc, pc, r0, lsl #2 b _0204B66C _0204B5C8: ; jump table b _0204B600 ; case 0 b _0204B608 ; case 1 b _0204B614 ; case 2 b _0204B61C ; case 3 _0204B5D8: cmp r4, #0x47 beq _0204B624 b _0204B66C _0204B5E4: cmp r4, #0x49 bgt _0204B5F4 beq _0204B634 b _0204B66C _0204B5F4: cmp r4, #0x70 beq _0204B664 b _0204B66C _0204B600: mov r0, #1 b _0204B670 _0204B608: mov r0, #0 bl GetPartyMembers b _0204B670 _0204B614: bl GetGold b _0204B670 _0204B61C: bl sub_0201070C b _0204B670 _0204B624: bl GetLanguageType b _0204B670 _0204B62C: bl GetGameMode b _0204B670 _0204B634: bl GetGameMode cmp r0, #1 beq _0204B64C cmp r0, #3 beq _0204B654 b _0204B65C _0204B64C: bl sub_0204C918 b _0204B670 _0204B654: bl GetSpecialEpisodeType b _0204B670 _0204B65C: mvn r0, #0 b _0204B670 _0204B664: bl GetNotifyNote b _0204B670 _0204B66C: mov r0, #0 _0204B670: add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end LoadScriptVariableValue arm_func_start LoadScriptVariableValueAtIndex LoadScriptVariableValueAtIndex: ; 0x0204B678 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r3, r0 mov r5, r1 mov r4, r2 add r0, sp, #0 mov r1, r3 mov r2, r5 bl LoadScriptVariableRaw ldr r1, [sp] ldrsh r0, [r1] cmp r0, #9 addls pc, pc, r0, lsl #2 b _0204B814 _0204B6B0: ; jump table b _0204B814 ; case 0 b _0204B6D8 ; case 1 b _0204B70C ; case 2 b _0204B70C ; case 3 b _0204B718 ; case 4 b _0204B724 ; case 5 b _0204B734 ; case 6 b _0204B744 ; case 7 b _0204B744 ; case 8 b _0204B750 ; case 9 _0204B6D8: ldrsh r1, [r1, #6] ldr r2, [sp, #4] mov r0, #1 add r1, r4, r1 mov r1, r1, lsl #0x10 mov r3, r1, lsr #0x10 and r1, r3, #7 mov r1, r0, lsl r1 ldrb r2, [r2, r3, lsr #3] and r1, r1, #0xff tst r2, r1 moveq r0, #0 b _0204B818 _0204B70C: ldr r0, [sp, #4] ldrb r0, [r0, r4] b _0204B818 _0204B718: ldr r0, [sp, #4] ldrsb r0, [r0, r4] b _0204B818 _0204B724: ldr r1, [sp, #4] mov r0, r4, lsl #1 ldrh r0, [r1, r0] b _0204B818 _0204B734: ldr r1, [sp, #4] mov r0, r4, lsl #1 ldrsh r0, [r1, r0] b _0204B818 _0204B744: ldr r0, [sp, #4] ldr r0, [r0, r4, lsl #2] b _0204B818 _0204B750: cmp r5, #0x48 bgt _0204B78C bge _0204B7D4 cmp r5, #0x3d bgt _0204B780 subs r0, r5, #0x3a addpl pc, pc, r0, lsl #2 b _0204B814 _0204B770: ; jump table b _0204B7A8 ; case 0 b _0204B7B0 ; case 1 b _0204B7BC ; case 2 b _0204B7C4 ; case 3 _0204B780: cmp r5, #0x47 beq _0204B7CC b _0204B814 _0204B78C: cmp r5, #0x49 bgt _0204B79C beq _0204B7DC b _0204B814 _0204B79C: cmp r5, #0x70 beq _0204B80C b _0204B814 _0204B7A8: mov r0, #1 b _0204B818 _0204B7B0: mov r0, #0 bl GetPartyMembers b _0204B818 _0204B7BC: bl GetGold b _0204B818 _0204B7C4: bl sub_0201070C b _0204B818 _0204B7CC: bl GetLanguageType b _0204B818 _0204B7D4: bl GetGameMode b _0204B818 _0204B7DC: bl GetGameMode cmp r0, #1 beq _0204B7F4 cmp r0, #3 beq _0204B7FC b _0204B804 _0204B7F4: bl sub_0204C918 b _0204B818 _0204B7FC: bl GetSpecialEpisodeType b _0204B818 _0204B804: mvn r0, #0 b _0204B818 _0204B80C: bl GetNotifyNote b _0204B818 _0204B814: mov r0, #0 _0204B818: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end LoadScriptVariableValueAtIndex arm_func_start SaveScriptVariableValue SaveScriptVariableValue: ; 0x0204B820 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r3, r0 mov r5, r1 mov r4, r2 add r0, sp, #0 mov r1, r3 mov r2, r5 bl LoadScriptVariableRaw ldr r1, [sp] ldrsh r0, [r1] cmp r0, #9 addls pc, pc, r0, lsl #2 b _0204B980 _0204B858: ; jump table b _0204B980 ; case 0 b _0204B880 ; case 1 b _0204B8C0 ; case 2 b _0204B8C0 ; case 3 b _0204B8CC ; case 4 b _0204B8D8 ; case 5 b _0204B8E4 ; case 6 b _0204B8F0 ; case 7 b _0204B8F0 ; case 8 b _0204B8FC ; case 9 _0204B880: ldrsh r0, [r1, #6] mov r1, #1 cmp r4, #0 mov r0, r1, lsl r0 ldrne r1, [sp, #4] and r2, r0, #0xff ldrneb r0, [r1] orrne r0, r0, r2 strneb r0, [r1] bne _0204B980 ldr r1, [sp, #4] ldrb r0, [r1] orr r0, r0, r2 eor r0, r2, r0 strb r0, [r1] b _0204B980 _0204B8C0: ldr r0, [sp, #4] strb r4, [r0] b _0204B980 _0204B8CC: ldr r0, [sp, #4] strb r4, [r0] b _0204B980 _0204B8D8: ldr r0, [sp, #4] strh r4, [r0] b _0204B980 _0204B8E4: ldr r0, [sp, #4] strh r4, [r0] b _0204B980 _0204B8F0: ldr r0, [sp, #4] str r4, [r0] b _0204B980 _0204B8FC: cmp r5, #0x49 bgt _0204B928 bge _0204B954 cmp r5, #0x3d bgt _0204B980 cmp r5, #0x3c blt _0204B980 beq _0204B934 cmp r5, #0x3d beq _0204B948 b _0204B980 _0204B928: cmp r5, #0x70 beq _0204B96C b _0204B980 _0204B934: mov r0, r4 bl SetMoneyCarried mov r0, #0 bl AddMoneyCarried b _0204B980 _0204B948: mov r0, r4 bl SetMoneyStored b _0204B980 _0204B954: bl GetGameMode cmp r0, #1 bne _0204B980 mov r0, r4 bl sub_0204C928 b _0204B980 _0204B96C: cmp r4, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bl SetNotifyNote _0204B980: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end SaveScriptVariableValue arm_func_start SaveScriptVariableValueAtIndex SaveScriptVariableValueAtIndex: ; 0x0204B988 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r4, r0 mov r6, r1 mov r5, r2 mov r1, r4 add r0, sp, #0 mov r2, r6 mov r4, r3 bl LoadScriptVariableRaw ldr r1, [sp] ldrsh r0, [r1] cmp r0, #9 addls pc, pc, r0, lsl #2 b _0204BAF8 _0204B9C4: ; jump table b _0204BAF8 ; case 0 b _0204B9EC ; case 1 b _0204BA30 ; case 2 b _0204BA30 ; case 3 b _0204BA3C ; case 4 b _0204BA48 ; case 5 b _0204BA58 ; case 6 b _0204BA68 ; case 7 b _0204BA68 ; case 8 b _0204BA74 ; case 9 _0204B9EC: ldrsh r0, [r1, #6] mov r1, #1 ldr r2, [sp, #4] add r0, r5, r0 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 and r0, r3, #7 mov r0, r1, lsl r0 and r1, r0, #0xff ldrb r0, [r2, r3, lsr #3] cmp r4, #0 orrne r0, r0, r1 strneb r0, [r2, r3, lsr #3] orreq r0, r0, r1 eoreq r0, r1, r0 streqb r0, [r2, r3, lsr #3] b _0204BAF8 _0204BA30: ldr r0, [sp, #4] strb r4, [r0, r5] b _0204BAF8 _0204BA3C: ldr r0, [sp, #4] strb r4, [r0, r5] b _0204BAF8 _0204BA48: ldr r1, [sp, #4] mov r0, r5, lsl #1 strh r4, [r1, r0] b _0204BAF8 _0204BA58: ldr r1, [sp, #4] mov r0, r5, lsl #1 strh r4, [r1, r0] b _0204BAF8 _0204BA68: ldr r0, [sp, #4] str r4, [r0, r5, lsl #2] b _0204BAF8 _0204BA74: cmp r6, #0x49 bgt _0204BAA0 bge _0204BACC cmp r6, #0x3d bgt _0204BAF8 cmp r6, #0x3c blt _0204BAF8 beq _0204BAAC cmp r6, #0x3d beq _0204BAC0 b _0204BAF8 _0204BAA0: cmp r6, #0x70 beq _0204BAE4 b _0204BAF8 _0204BAAC: mov r0, r4 bl SetMoneyCarried mov r0, #0 bl AddMoneyCarried b _0204BAF8 _0204BAC0: mov r0, r4 bl SetMoneyStored b _0204BAF8 _0204BACC: bl GetGameMode cmp r0, #1 bne _0204BAF8 mov r0, r4 bl sub_0204C928 b _0204BAF8 _0204BAE4: cmp r4, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bl SetNotifyNote _0204BAF8: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end SaveScriptVariableValueAtIndex arm_func_start LoadScriptVariableValueSum LoadScriptVariableValueSum: ; 0x0204BB00 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r6, r1 mov r4, #0 mov r7, r0 add r0, sp, #0 mov r1, r4 mov r2, r6 bl LoadScriptVariableRaw mov r5, r4 b _0204BB48 _0204BB2C: mov r2, r5, lsl #0x10 mov r0, r7 mov r1, r6 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex add r4, r4, r0 add r5, r5, #1 _0204BB48: ldr r0, [sp] ldrsh r0, [r0, #8] cmp r5, r0 blt _0204BB2C mov r0, r4 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end LoadScriptVariableValueSum arm_func_start LoadScriptVariableValueBytes LoadScriptVariableValueBytes: ; 0x0204BB64 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r3, r0 mov r5, r1 mov r4, r2 add r0, sp, #0 mov r2, r3 mov r1, #0 bl LoadScriptVariableRaw ldr r2, [sp, #4] mov r1, #0 b _0204BBA0 _0204BB94: ldrb r0, [r2], #1 add r1, r1, #1 strb r0, [r5], #1 _0204BBA0: cmp r1, r4 blt _0204BB94 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end LoadScriptVariableValueBytes arm_func_start sub_0204BBB0 sub_0204BBB0: ; 0x0204BBB0 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 bl LoadScriptVariableValueBytes mov r0, #0 strb r0, [r5, r4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0204BBB0 arm_func_start SaveScriptVariableValueBytes SaveScriptVariableValueBytes: ; 0x0204BBCC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r3, r0 mov r5, r1 mov r4, r2 add r0, sp, #0 mov r2, r3 mov r1, #0 bl LoadScriptVariableRaw ldr r2, [sp, #4] mov r1, #0 b _0204BC08 _0204BBFC: ldrb r0, [r5], #1 add r1, r1, #1 strb r0, [r2], #1 _0204BC08: cmp r1, r4 blt _0204BBFC add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end SaveScriptVariableValueBytes arm_func_start ScriptVariablesEqual ScriptVariablesEqual: ; 0x0204BC18 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r8, r0 mov r7, r1 mov r6, r2 add r0, sp, #8 mov r1, r8 mov r2, r7 bl LoadScriptVariableRaw add r0, sp, #0 mov r1, r8 mov r2, r6 bl LoadScriptVariableRaw ldr r0, [sp, #8] mov r5, #0 ldrsh r4, [r0, #8] b _0204BC98 _0204BC5C: mov r2, r5, lsl #0x10 mov r0, r8 mov r1, r7 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r5, lsl #0x10 mov sb, r0 mov r0, r8 mov r1, r6 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex cmp sb, r0 movne r0, #0 bne _0204BCA4 add r5, r5, #1 _0204BC98: cmp r5, r4 blt _0204BC5C mov r0, #1 _0204BCA4: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end ScriptVariablesEqual arm_func_start sub_0204BCAC sub_0204BCAC: ; 0x0204BCAC stmdb sp!, {r3, lr} sub sp, sp, #8 cmp r2, #0xb addls pc, pc, r2, lsl #2 b _0204BD68 _0204BCC0: ; jump table b _0204BCF0 ; case 0 b _0204BCF8 ; case 1 b _0204BD00 ; case 2 b _0204BD08 ; case 3 b _0204BD14 ; case 4 b _0204BD1C ; case 5 b _0204BD28 ; case 6 b _0204BD30 ; case 7 b _0204BD38 ; case 8 b _0204BD40 ; case 9 b _0204BD4C ; case 10 b _0204BD5C ; case 11 _0204BCF0: mov r0, r1 b _0204BD88 _0204BCF8: sub r0, r0, r1 b _0204BD88 _0204BD00: add r0, r0, r1 b _0204BD88 _0204BD08: mul r1, r0, r1 mov r0, r1 b _0204BD88 _0204BD14: bl __divsi3 b _0204BD88 _0204BD1C: bl __divsi3 mov r0, r1 b _0204BD88 _0204BD28: and r0, r0, r1 b _0204BD88 _0204BD30: orr r0, r0, r1 b _0204BD88 _0204BD38: eor r0, r0, r1 b _0204BD88 _0204BD40: mov r2, #1 orr r0, r0, r2, lsl r1 b _0204BD88 _0204BD4C: mov r2, #1 mvn r1, r2, lsl r1 and r0, r0, r1 b _0204BD88 _0204BD5C: mov r0, r1 bl RandInt b _0204BD88 _0204BD68: ldr r1, _0204BD90 ; =_0209CEAC add r0, sp, #0 ldr r3, [r1, #4] ldr ip, [r1] ldr r1, _0204BD94 ; =_0209CF28 str ip, [sp] str r3, [sp, #4] bl FatalError _0204BD88: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0204BD90: .word _0209CEAC _0204BD94: .word _0209CF28 arm_func_end sub_0204BCAC arm_func_start sub_0204BD98 sub_0204BD98: ; 0x0204BD98 stmdb sp!, {r3, lr} sub sp, sp, #8 cmp r2, #0xa addls pc, pc, r2, lsl #2 b _0204BE9C _0204BDAC: ; jump table b _0204BDD8 ; case 0 b _0204BDE0 ; case 1 b _0204BDE8 ; case 2 b _0204BE10 ; case 3 b _0204BE38 ; case 4 b _0204BE24 ; case 5 b _0204BE4C ; case 6 b _0204BDFC ; case 7 b _0204BE60 ; case 8 b _0204BE74 ; case 9 b _0204BE88 ; case 10 _0204BDD8: mov r0, #1 b _0204BEBC _0204BDE0: mov r0, #0 b _0204BEBC _0204BDE8: cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _0204BEBC _0204BDFC: cmp r0, r1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE10: cmp r0, r1 movgt r0, #1 movle r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE24: cmp r0, r1 movge r0, #1 movlt r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE38: cmp r0, r1 movlt r0, #1 movge r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE4C: cmp r0, r1 movle r0, #1 movgt r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE60: tst r0, r1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE74: teq r0, r1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff b _0204BEBC _0204BE88: mov r2, #1 tst r0, r2, lsl r1 moveq r2, #0 and r0, r2, #0xff b _0204BEBC _0204BE9C: ldr r1, _0204BEC4 ; =_0209CEAC add r0, sp, #0 ldr r3, [r1, #0xc] ldr ip, [r1, #8] ldr r1, _0204BEC8 ; =_0209CF48 str ip, [sp] str r3, [sp, #4] bl FatalError _0204BEBC: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0204BEC4: .word _0209CEAC _0204BEC8: .word _0209CF48 arm_func_end sub_0204BD98 arm_func_start sub_0204BECC sub_0204BECC: ; 0x0204BECC ldr ip, _0204BED4 ; =sub_0204BCAC bx ip .align 2, 0 _0204BED4: .word sub_0204BCAC arm_func_end sub_0204BECC arm_func_start sub_0204BED8 sub_0204BED8: ; 0x0204BED8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r2 mov r4, r3 mov r7, r0 mov r6, r1 bl LoadScriptVariableValue mov r1, r5 mov r2, r4 bl sub_0204BCAC mov r2, r0 mov r0, r7 mov r1, r6 bl SaveScriptVariableValue ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204BED8 arm_func_start sub_0204BF10 sub_0204BF10: ; 0x0204BF10 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r6, r2 mov r7, r1 mov r5, r3 bl LoadScriptVariableValue mov r4, r0 mov r0, r8 mov r1, r6 bl LoadScriptVariableValue mov r1, r0 mov r0, r4 mov r2, r5 bl sub_0204BCAC mov r2, r0 mov r0, r8 mov r1, r7 bl SaveScriptVariableValue ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0204BF10 arm_func_start sub_0204BF5C sub_0204BF5C: ; 0x0204BF5C ldr ip, _0204BF64 ; =sub_0204BD98 bx ip .align 2, 0 _0204BF64: .word sub_0204BD98 arm_func_end sub_0204BF5C arm_func_start sub_0204BF68 sub_0204BF68: ; 0x0204BF68 stmdb sp!, {r3, r4, r5, lr} mov r5, r2 mov r4, r3 bl LoadScriptVariableValue mov r1, r5 mov r2, r4 bl sub_0204BD98 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0204BF68 arm_func_start sub_0204BF88 sub_0204BF88: ; 0x0204BF88 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r2 mov r5, r3 bl LoadScriptVariableValue mov r4, r0 mov r0, r7 mov r1, r6 bl LoadScriptVariableValue mov r1, r0 mov r0, r4 mov r2, r5 bl sub_0204BD98 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204BF88 arm_func_start sub_0204BFC0 sub_0204BFC0: ; 0x0204BFC0 stmdb sp!, {r4, lr} bl GetGameMode cmp r0, #1 ldmlsia sp!, {r4, pc} sub r4, r0, #2 ldr r0, _0204C1E0 ; =_0209CF64 mov r1, r4 bl DebugPrint0 mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x21 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x1c bl SaveScriptVariableValue mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x22 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x1d bl SaveScriptVariableValue mov r0, #0 mov r1, #0x23 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x1e bl SaveScriptVariableValue mov r0, #0 mov r1, #0x24 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x1f bl SaveScriptVariableValue mov r0, #0 mov r1, #0x25 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x20 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x2d mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x27 bl SaveScriptVariableValue mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x2e bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x28 bl SaveScriptVariableValue mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x2f bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x29 bl SaveScriptVariableValue mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x30 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x2a bl SaveScriptVariableValue mov r0, #0 mov r1, #0x31 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x2b bl SaveScriptVariableValue mov r0, #0 mov r1, #0x32 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x2c bl SaveScriptVariableValue mov r0, #0 mov r1, #0x37 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x34 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x38 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x35 bl SaveScriptVariableValue mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x39 bl LoadScriptVariableValueAtIndex mov r2, r0 mov r0, #0 mov r1, #0x36 bl SaveScriptVariableValue bl sub_0204CBE8 ldmia sp!, {r4, pc} .align 2, 0 _0204C1E0: .word _0209CF64 arm_func_end sub_0204BFC0 arm_func_start EventFlagBackup EventFlagBackup: ; 0x0204C1E4 stmdb sp!, {r4, lr} bl GetGameMode cmp r0, #1 ldmlsia sp!, {r4, pc} sub r4, r0, #2 ldr r0, _0204C404 ; =_0209CF84 mov r1, r4 bl DebugPrint0 mov r0, #0 mov r1, #0x1c bl LoadScriptVariableValue mov r1, r4, lsl #0x10 mov r3, r0 mov r2, r1, lsr #0x10 mov r0, #0 mov r1, #0x21 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x1d bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x22 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x1e bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x23 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x1f bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x24 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x20 bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x25 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x27 bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x2d mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x28 bl LoadScriptVariableValue mov r1, r4, lsl #0x10 mov r3, r0 mov r2, r1, lsr #0x10 mov r0, #0 mov r1, #0x2e bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x29 bl LoadScriptVariableValue mov r1, r4, lsl #0x10 mov r2, r1, lsr #0x10 mov r3, r0 mov r0, #0 mov r1, #0x2f bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x2a bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x30 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x2b bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x31 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x2c bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x32 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x34 bl LoadScriptVariableValue mov r3, r0 mov r0, #0 mov r1, #0x37 mov r2, r4, lsl #0x10 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x35 bl LoadScriptVariableValue mov r3, r0 mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x38 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #0x36 bl LoadScriptVariableValue mov r1, r4, lsl #0x10 mov r3, r0 mov r2, r1, lsr #0x10 mov r0, #0 mov r1, #0x39 bl SaveScriptVariableValueAtIndex bl ScenarioFlagBackup ldmia sp!, {r4, pc} .align 2, 0 _0204C404: .word _0209CF84 arm_func_end EventFlagBackup arm_func_start DumpScriptVariableValues DumpScriptVariableValues: ; 0x0204C408 stmdb sp!, {r4, lr} mov r4, r0 bl EventFlagBackup ldr r1, _0204C42C ; =_022AB0AC mov r0, r4 mov r2, #0x400 bl MemcpySimple mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _0204C42C: .word _022AB0AC arm_func_end DumpScriptVariableValues arm_func_start RestoreScriptVariableValues RestoreScriptVariableValues: ; 0x0204C430 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r1, #0 mov r4, r0 add r0, sp, #0 mov r2, r1 bl LoadScriptVariableRaw ldr r0, _0204C484 ; =_022AB0AC mov r1, r4 mov r2, #0x400 bl MemcpySimple ldr r1, [sp] ldr r0, [sp, #4] ldrsh r1, [r1, #0xa] ldr r0, [r0] cmp r1, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0204C484: .word _022AB0AC arm_func_end RestoreScriptVariableValues arm_func_start InitScenarioScriptVars InitScenarioScriptVars: ; 0x0204C488 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r1, #0 mov r2, r1 mov r0, #2 bl SetScenarioScriptVar mov r1, #0 mov r2, r1 mov r0, #3 bl SetScenarioScriptVar mov r1, #0 mov r2, r1 mov r0, #4 bl SetScenarioScriptVar mov r1, #0 mov r2, r1 mov r0, #5 bl SetScenarioScriptVar mov r1, #0 mov r2, r1 mov r0, #6 bl SetScenarioScriptVar mov r1, #0 mov r0, #7 mov r2, r1 bl SetScenarioScriptVar mov r1, #0 mov r0, #8 mov r2, r1 bl SetScenarioScriptVar mov r1, #0 mov r0, #9 mov r2, r1 bl SetScenarioScriptVar mov r1, #0 mov r0, #0xa mov r2, r1 bl SetScenarioScriptVar mov r1, #0 mov r0, #0xb mov r2, r1 bl SetScenarioScriptVar mov r1, #0 mov r0, #0xc mov r2, r1 bl SetScenarioScriptVar mov r0, #0 mov r1, #0x11 bl ZinitScriptVariable mov r0, #0 mov r1, #0x1b bl ZinitScriptVariable mov r8, #0 mov r6, #0x1a mov r7, r8 mov r5, r8 mov r4, r6 _0204C568: mov r2, r8, lsl #0x10 mov r0, r7 mov r1, r6 mov r3, r7 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex add r0, r8, #4 mov r2, r0, lsl #0x10 mov r0, r5 mov r1, r4 mov r3, r5 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex add r8, r8, #1 cmp r8, #4 blt _0204C568 mov r0, #0 mov r2, r0 mov r1, #0x13 bl SaveScriptVariableValue mov r1, #0x14 sub r2, r1, #0x15 mov r0, #0 bl SaveScriptVariableValue mov r0, #0 mov r2, r0 mov r1, #0x6f bl SaveScriptVariableValue ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end InitScenarioScriptVars arm_func_start sub_0204C5DC sub_0204C5DC: ; 0x0204C5DC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r0, #0 mov r4, r2 mov r1, r6 mov r2, r0 bl LoadScriptVariableValueAtIndex str r0, [r5] mov r1, r6 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex str r0, [r4] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0204C5DC arm_func_start SetScenarioScriptVar SetScenarioScriptVar: ; 0x0204C618 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r8, r0 mov r7, r1 mov r0, #0 mov r6, r2 mov r1, r8 mov r2, r0 bl LoadScriptVariableValueAtIndex mov r5, r0 mov r1, r8 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex mov r4, r0 stmia sp, {r4, r7} ldr r1, _0204C6C4 ; =_0209DFA0 mov r0, #9 mov r2, r8 mov r3, r5 str r6, [sp, #8] bl DebugPrint cmp r8, #3 bne _0204C694 cmp r7, r5 cmpeq r6, r4 beq _0204C694 mov r0, #0 mov r2, r0 mov r1, #0x33 bl SaveScriptVariableValue _0204C694: mov r0, #0 mov r1, r8 mov r2, r0 mov r3, r7 bl SaveScriptVariableValueAtIndex mov r1, r8 mov r3, r6 mov r0, #0 mov r2, #1 bl SaveScriptVariableValueAtIndex add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0204C6C4: .word _0209DFA0 arm_func_end SetScenarioScriptVar arm_func_start sub_0204C6C8 sub_0204C6C8: ; 0x0204C6C8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0 mov r5, r2 mov r1, r7 mov r2, r0 bl LoadScriptVariableValueAtIndex mov r4, r0 mov r1, r7 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r4, #0x35 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r4, r6 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, pc} bne _0204C72C cmp r5, #0 blt _0204C72C cmp r0, r5 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, pc} _0204C72C: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204C6C8 arm_func_start sub_0204C734 sub_0204C734: ; 0x0204C734 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0 mov r5, r2 mov r1, r7 mov r2, r0 bl LoadScriptVariableValueAtIndex mov r4, r0 mov r1, r7 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r4, #0x35 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r4, r6 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, pc} bne _0204C7A4 cmp r5, #0 blt _0204C79C cmp r0, r5 bgt _0204C7A4 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0204C79C: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0204C7A4: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204C734 arm_func_start sub_0204C7AC sub_0204C7AC: ; 0x0204C7AC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0 mov r5, r2 mov r1, r7 mov r2, r0 bl LoadScriptVariableValueAtIndex mov r4, r0 mov r1, r7 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r4, r6 bne _0204C800 cmp r5, #0 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, pc} cmp r0, r5 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _0204C800: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204C7AC arm_func_start sub_0204C808 sub_0204C808: ; 0x0204C808 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0 mov r5, r2 mov r1, r7 mov r2, r0 bl LoadScriptVariableValueAtIndex mov r4, r0 mov r1, r7 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r4, #0x35 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r4, r6 movgt r0, #1 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} bne _0204C878 cmp r5, #0 blt _0204C870 cmp r0, r5 blt _0204C878 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0204C870: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0204C878: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204C808 arm_func_start sub_0204C880 sub_0204C880: ; 0x0204C880 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0 mov r5, r2 mov r1, r7 mov r2, r0 bl LoadScriptVariableValueAtIndex mov r4, r0 mov r1, r7 mov r0, #0 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r4, #0x35 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r4, r6 movgt r0, #1 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} bne _0204C8E4 cmp r5, #0 blt _0204C8E4 cmp r0, r5 movgt r0, #1 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} _0204C8E4: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0204C880 arm_func_start GetSpecialEpisodeType GetSpecialEpisodeType: ; 0x0204C8EC ldr ip, _0204C8FC ; =LoadScriptVariableValue mov r0, #0 mov r1, #0x4a bx ip .align 2, 0 _0204C8FC: .word LoadScriptVariableValue arm_func_end GetSpecialEpisodeType arm_func_start sub_0204C900 sub_0204C900: ; 0x0204C900 ldr ip, _0204C914 ; =SaveScriptVariableValue mov r2, r0 mov r0, #0 mov r1, #0x4a bx ip .align 2, 0 _0204C914: .word SaveScriptVariableValue arm_func_end sub_0204C900 arm_func_start sub_0204C918 sub_0204C918: ; 0x0204C918 ldr r0, _0204C924 ; =_022AB4AC ldr r0, [r0] bx lr .align 2, 0 _0204C924: .word _022AB4AC arm_func_end sub_0204C918 arm_func_start sub_0204C928 sub_0204C928: ; 0x0204C928 ldr r1, _0204C934 ; =_022AB4AC str r0, [r1] bx lr .align 2, 0 _0204C934: .word _022AB4AC arm_func_end sub_0204C928 arm_func_start GetExecuteSpecialEpisodeType GetExecuteSpecialEpisodeType: ; 0x0204C938 ldr ip, _0204C948 ; =LoadScriptVariableValue mov r0, #0 mov r1, #0x49 bx ip .align 2, 0 _0204C948: .word LoadScriptVariableValue arm_func_end GetExecuteSpecialEpisodeType arm_func_start sub_0204C94C sub_0204C94C: ; 0x0204C94C stmdb sp!, {r3, lr} mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x4b bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0204C94C arm_func_start sub_0204C978 sub_0204C978: ; 0x0204C978 ldr ip, _0204C99C ; =SaveScriptVariableValueAtIndex cmp r1, #0 movne r3, #1 mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 moveq r3, #0 mov r0, #0 mov r1, #0x4b bx ip .align 2, 0 _0204C99C: .word SaveScriptVariableValueAtIndex arm_func_end sub_0204C978 arm_func_start sub_0204C9A0 sub_0204C9A0: ; 0x0204C9A0 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x4b mov r2, #0x4c bl ScriptVariablesEqual cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0204C9A0 arm_func_start sub_0204C9C8 sub_0204C9C8: ; 0x0204C9C8 stmdb sp!, {r3, lr} mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x4c bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0204C9C8 arm_func_start sub_0204C9F4 sub_0204C9F4: ; 0x0204C9F4 ldr ip, _0204CA18 ; =SaveScriptVariableValueAtIndex cmp r1, #0 movne r3, #1 mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 moveq r3, #0 mov r0, #0 mov r1, #0x4c bx ip .align 2, 0 _0204CA18: .word SaveScriptVariableValueAtIndex arm_func_end sub_0204C9F4 arm_func_start sub_0204CA1C sub_0204CA1C: ; 0x0204CA1C stmdb sp!, {r3, lr} mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x4d bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0204CA1C arm_func_start sub_0204CA48 sub_0204CA48: ; 0x0204CA48 ldr ip, _0204CA6C ; =SaveScriptVariableValueAtIndex cmp r1, #0 movne r3, #1 mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 moveq r3, #0 mov r0, #0 mov r1, #0x4d bx ip .align 2, 0 _0204CA6C: .word SaveScriptVariableValueAtIndex arm_func_end sub_0204CA48 arm_func_start HasPlayedOldGame HasPlayedOldGame: ; 0x0204CA70 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x6f bl LoadScriptVariableValue cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end HasPlayedOldGame arm_func_start GetPerformanceFlagWithChecks GetPerformanceFlagWithChecks: ; 0x0204CA94 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #7 addls pc, pc, r4, lsl #2 b _0204CB10 _0204CAA8: ; jump table b _0204CAC8 ; case 0 b _0204CB00 ; case 1 b _0204CB00 ; case 2 b _0204CAEC ; case 3 b _0204CAEC ; case 4 b _0204CAEC ; case 5 b _0204CAEC ; case 6 b _0204CAEC ; case 7 _0204CAC8: mov r0, #0 mov r2, r0 mov r1, #3 bl LoadScriptVariableValueAtIndex cmp r0, #0x35 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} _0204CAEC: bl GetGameMode cmp r0, #3 bne _0204CB10 mov r0, #0 ldmia sp!, {r4, pc} _0204CB00: bl GetGameMode cmp r0, #3 moveq r0, #1 ldmeqia sp!, {r4, pc} _0204CB10: mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x4e bl LoadScriptVariableValueAtIndex and r0, r0, #0xff ldmia sp!, {r4, pc} arm_func_end GetPerformanceFlagWithChecks arm_func_start sub_0204CB2C sub_0204CB2C: ; 0x0204CB2C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 cmp r5, #7 addls pc, pc, r5, lsl #2 b _0204CB70 _0204CB44: ; jump table b _0204CB70 ; case 0 b _0204CB64 ; case 1 b _0204CB64 ; case 2 b _0204CB64 ; case 3 b _0204CB64 ; case 4 b _0204CB64 ; case 5 b _0204CB64 ; case 6 b _0204CB64 ; case 7 _0204CB64: bl GetGameMode cmp r0, #3 ldmeqia sp!, {r3, r4, r5, pc} _0204CB70: cmp r4, #0 movne r3, #1 mov r0, r5, lsl #0x10 mov r2, r0, lsr #0x10 moveq r3, #0 mov r0, #0 mov r1, #0x4e bl SaveScriptVariableValueAtIndex ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0204CB2C arm_func_start GetScenarioBalance GetScenarioBalance: ; 0x0204CB94 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x49 bl LoadScriptVariableValue mvn r1, #0 cmp r0, r1 bne _0204CBD8 mov r0, #0 mov r1, #0x14 bl LoadScriptVariableValue cmp r0, #0 bge _0204CBD0 mov r0, #0 mov r1, #0x13 bl LoadScriptVariableValue _0204CBD0: and r0, r0, #0xff ldmia sp!, {r3, pc} _0204CBD8: cmp r0, #0 moveq r0, #1 movne r0, #3 ldmia sp!, {r3, pc} arm_func_end GetScenarioBalance arm_func_start sub_0204CBE8 sub_0204CBE8: ; 0x0204CBE8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bl GetGameMode cmp r0, #1 ldmlsia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} sub r4, r0, #2 ldr r0, _0204CCB4 ; =_0209DFC8 mov r1, r4 bl DebugPrint0 mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x1a bl LoadScriptVariableValueAtIndex mov r3, r0 mov r0, #0 mov r2, r0 mov r1, #2 bl SaveScriptVariableValueAtIndex add r2, r4, #4 mov r2, r2, lsl #0x10 mov r0, #0 mov r1, #0x1a mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r3, r0 mov r0, #0 mov r1, #2 mov r2, #1 bl SaveScriptVariableValueAtIndex mov r8, #0 mov sb, r4, lsl #7 mov r7, r8 mov r6, #0x1b mov r5, r8 mov r4, #0x11 _0204CC74: mov r2, sb, lsl #0x10 mov r0, r7 mov r1, r6 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, r8, lsl #0x10 mov r3, r0 mov r0, r5 mov r1, r4 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex add r8, r8, #1 cmp r8, #0x80 add sb, sb, #1 blt _0204CC74 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204CCB4: .word _0209DFC8 arm_func_end sub_0204CBE8 arm_func_start ScenarioFlagBackup ScenarioFlagBackup: ; 0x0204CCB8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bl GetGameMode cmp r0, #1 ldmlsia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} sub r4, r0, #2 ldr r0, _0204CD84 ; =_0209DFE8 mov r1, r4 bl DebugPrint0 mov r0, #0 mov r2, r0 mov r1, #2 bl LoadScriptVariableValueAtIndex mov r1, r4, lsl #0x10 mov r3, r0 mov r2, r1, lsr #0x10 mov r0, #0 mov r1, #0x1a bl SaveScriptVariableValueAtIndex mov r0, #0 mov r1, #2 mov r2, #1 bl LoadScriptVariableValueAtIndex add r2, r4, #4 mov r2, r2, lsl #0x10 mov r3, r0 mov r0, #0 mov r1, #0x1a mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex mov r8, #0 mov sb, r4, lsl #7 mov r7, r8 mov r6, #0x11 mov r5, r8 mov r4, #0x1b _0204CD44: mov r2, r8, lsl #0x10 mov r0, r7 mov r1, r6 mov r2, r2, lsr #0x10 bl LoadScriptVariableValueAtIndex mov r2, sb, lsl #0x10 mov r3, r0 mov r0, r5 mov r1, r4 mov r2, r2, lsr #0x10 bl SaveScriptVariableValueAtIndex add r8, r8, #1 cmp r8, #0x80 add sb, sb, #1 blt _0204CD44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204CD84: .word _0209DFE8 arm_func_end ScenarioFlagBackup arm_func_start InitWorldMapScriptVars InitWorldMapScriptVars: ; 0x0204CD88 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x55 bl ZinitScriptVariable mov r0, #0 mov r1, #0x56 bl ZinitScriptVariable mov r0, #0 mov r1, #0x57 mov r2, #1 bl SaveScriptVariableValue ldmia sp!, {r3, pc} arm_func_end InitWorldMapScriptVars arm_func_start sub_0204CDB8 sub_0204CDB8: ; 0x0204CDB8 ldr ip, _0204CDC8 ; =ZinitScriptVariable mov r0, #0 mov r1, #0x56 bx ip .align 2, 0 _0204CDC8: .word ZinitScriptVariable arm_func_end sub_0204CDB8 arm_func_start sub_0204CDCC sub_0204CDCC: ; 0x0204CDCC stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x57 bl LoadScriptVariableValue mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r3, pc} arm_func_end sub_0204CDCC arm_func_start sub_0204CDE8 sub_0204CDE8: ; 0x0204CDE8 ldr ip, _0204CDFC ; =SaveScriptVariableValue mov r2, r0 mov r0, #0 mov r1, #0x57 bx ip .align 2, 0 _0204CDFC: .word SaveScriptVariableValue arm_func_end sub_0204CDE8 arm_func_start sub_0204CE00 sub_0204CE00: ; 0x0204CE00 stmdb sp!, {r4, lr} mov r4, r0 bl GetGameMode cmp r0, #3 mov r0, r4, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 bne _0204CE2C mov r1, #0x56 bl LoadScriptVariableValueAtIndex b _0204CE34 _0204CE2C: mov r1, #0x55 bl LoadScriptVariableValueAtIndex _0204CE34: cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} arm_func_end sub_0204CE00 arm_func_start sub_0204CE48 sub_0204CE48: ; 0x0204CE48 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl GetGameMode cmp r0, #3 mov r0, r5, lsl #0x10 mov r3, r4 bne _0204CE7C mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x56 bl SaveScriptVariableValueAtIndex ldmia sp!, {r3, r4, r5, pc} _0204CE7C: mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x55 bl SaveScriptVariableValueAtIndex ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0204CE48 arm_func_start InitDungeonListScriptVars InitDungeonListScriptVars: ; 0x0204CE90 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x4f bl ZinitScriptVariable mov r0, #0 mov r1, #0x54 bl ZinitScriptVariable mov r0, #0 mov r1, #0x50 bl ZinitScriptVariable mov r0, #0 mov r1, #0x51 bl ZinitScriptVariable mov r0, #0 mov r1, #0x52 bl ZinitScriptVariable mov r0, #0 mov r1, #0x53 bl ZinitScriptVariable ldmia sp!, {r3, pc} arm_func_end InitDungeonListScriptVars arm_func_start sub_0204CEE0 sub_0204CEE0: ; 0x0204CEE0 stmdb sp!, {r3, lr} mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x50 bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0204CEE0 arm_func_start sub_0204CF0C sub_0204CF0C: ; 0x0204CF0C stmdb sp!, {r3, lr} mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x52 bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0204CF0C arm_func_start SetDungeonConquest SetDungeonConquest: ; 0x0204CF38 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r0, r0, lsl #0x10 mov r3, r1 mov r2, r0, lsr #0x10 mov r0, #0 mov r1, #0x52 bl SaveScriptVariableValueAtIndex mov r7, #0 ldr r6, _0204CF98 ; =_0209E008 mov r5, r7 mov r4, #0x52 _0204CF64: ldrb r2, [r6, r7] add r7, r7, #1 cmp r2, #0xff bne _0204CF80 mov r0, #0x23 bl SetAdventureLogCompleted ldmia sp!, {r3, r4, r5, r6, r7, pc} _0204CF80: mov r0, r5 mov r1, r4 bl LoadScriptVariableValueAtIndex cmp r0, #0 bne _0204CF64 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0204CF98: .word _0209E008 arm_func_end SetDungeonConquest arm_func_start GetDungeonMode GetDungeonMode: ; 0x0204CF9C stmdb sp!, {r4, lr} mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov r2, r4 mov r0, #0 mov r1, #0x4f bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff mov r2, r4 mov r0, #0 mov r1, #0x54 beq _0204CFF8 bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r0, #3 moveq r0, #1 ldmia sp!, {r4, pc} _0204CFF8: bl LoadScriptVariableValueAtIndex cmp r0, #0 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r0, #2 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end GetDungeonMode arm_func_start sub_0204D018 sub_0204D018: ; 0x0204D018 stmdb sp!, {r4, lr} cmp r1, #3 addls pc, pc, r1, lsl #2 ldmia sp!, {r4, pc} _0204D028: ; jump table b _0204D038 ; case 0 b _0204D06C ; case 1 b _0204D0A0 ; case 2 b _0204D0D4 ; case 3 _0204D038: mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov r0, #0 mov r2, r4 mov r3, r0 mov r1, #0x4f bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, r4 mov r3, r0 mov r1, #0x54 bl SaveScriptVariableValueAtIndex ldmia sp!, {r4, pc} _0204D06C: mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov r2, r4 mov r0, #0 mov r1, #0x4f mov r3, #1 bl SaveScriptVariableValueAtIndex mov r0, #0 mov r2, r4 mov r3, r0 mov r1, #0x54 bl SaveScriptVariableValueAtIndex ldmia sp!, {r4, pc} _0204D0A0: mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov r0, #0 mov r2, r4 mov r3, r0 mov r1, #0x4f bl SaveScriptVariableValueAtIndex mov r2, r4 mov r0, #0 mov r1, #0x54 mov r3, #1 bl SaveScriptVariableValueAtIndex ldmia sp!, {r4, pc} _0204D0D4: mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov r2, r4 mov r0, #0 mov r1, #0x4f mov r3, #1 bl SaveScriptVariableValueAtIndex mov r2, r4 mov r0, #0 mov r1, #0x54 mov r3, #1 bl SaveScriptVariableValueAtIndex ldmia sp!, {r4, pc} arm_func_end sub_0204D018 arm_func_start GlobalProgressAlloc GlobalProgressAlloc: ; 0x0204D108 stmdb sp!, {r3, lr} mov r0, #0x20c mov r1, #0 bl MemAlloc ldr r2, _0204D12C ; =GLOBAL_PROGRESS_PTR mov r1, #0x20c str r0, [r2] bl MemZero ldmia sp!, {r3, pc} .align 2, 0 _0204D12C: .word GLOBAL_PROGRESS_PTR arm_func_end GlobalProgressAlloc arm_func_start ResetGlobalProgress ResetGlobalProgress: ; 0x0204D130 ldr r0, _0204D144 ; =GLOBAL_PROGRESS_PTR ldr ip, _0204D148 ; =MemZero mov r1, #0x20c ldr r0, [r0] bx ip .align 2, 0 _0204D144: .word GLOBAL_PROGRESS_PTR _0204D148: .word MemZero arm_func_end ResetGlobalProgress arm_func_start SetMonsterFlag1 SetMonsterFlag1: ; 0x0204D14C stmdb sp!, {r3, lr} ldr r3, _0204D184 ; =GLOBAL_PROGRESS_PTR mov r1, r0, asr #4 add r1, r0, r1, lsr #27 mov r2, r0, lsr #0x1f rsb r0, r2, r0, lsl #27 ldr lr, [r3] mov ip, r1, asr #5 ldr r3, [lr, ip, lsl #2] add r0, r2, r0, ror #27 mov r1, #1 orr r0, r3, r1, lsl r0 str r0, [lr, ip, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _0204D184: .word GLOBAL_PROGRESS_PTR arm_func_end SetMonsterFlag1 arm_func_start GetMonsterFlag1 GetMonsterFlag1: ; 0x0204D188 ldr r3, _0204D1C0 ; =GLOBAL_PROGRESS_PTR mov r1, r0, asr #4 add r2, r0, r1, lsr #27 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #27 add r0, r1, r0, ror #27 ldr r3, [r3] mov r2, r2, asr #5 ldr r2, [r3, r2, lsl #2] mov r1, #1 tst r2, r1, lsl r0 moveq r1, #0 and r0, r1, #0xff bx lr .align 2, 0 _0204D1C0: .word GLOBAL_PROGRESS_PTR arm_func_end GetMonsterFlag1 arm_func_start SetMonsterFlag2 SetMonsterFlag2: ; 0x0204D1C4 stmdb sp!, {r3, lr} bl FemaleToMaleForm ldr r2, _0204D204 ; =GLOBAL_PROGRESS_PTR mov r1, r0, asr #4 ldr r3, [r2] add r1, r0, r1, lsr #27 mov r2, r0, lsr #0x1f rsb r0, r2, r0, lsl #27 add lr, r3, #0x98 mov ip, r1, asr #5 ldr r3, [lr, ip, lsl #2] add r0, r2, r0, ror #27 mov r1, #1 orr r0, r3, r1, lsl r0 str r0, [lr, ip, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _0204D204: .word GLOBAL_PROGRESS_PTR arm_func_end SetMonsterFlag2 arm_func_start HasMonsterBeenAttackedInDungeons HasMonsterBeenAttackedInDungeons: ; 0x0204D208 stmdb sp!, {r3, lr} bl FemaleToMaleForm ldr r3, _0204D24C ; =GLOBAL_PROGRESS_PTR mov r1, r0, asr #4 add r2, r0, r1, lsr #27 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #27 add r0, r1, r0, ror #27 ldr r3, [r3] mov r2, r2, asr #5 add r2, r3, r2, lsl #2 ldr r2, [r2, #0x98] mov r1, #1 tst r2, r1, lsl r0 moveq r1, #0 and r0, r1, #0xff ldmia sp!, {r3, pc} .align 2, 0 _0204D24C: .word GLOBAL_PROGRESS_PTR arm_func_end HasMonsterBeenAttackedInDungeons arm_func_start SetDungeonTipShown SetDungeonTipShown: ; 0x0204D250 stmdb sp!, {r3, lr} ldr r2, _0204D28C ; =GLOBAL_PROGRESS_PTR mov r1, r0, asr #4 ldr r3, [r2] add r1, r0, r1, lsr #27 mov r2, r0, lsr #0x1f rsb r0, r2, r0, lsl #27 add lr, r3, #0x94 mov ip, r1, asr #5 ldr r3, [lr, ip, lsl #2] add r0, r2, r0, ror #27 mov r1, #1 orr r0, r3, r1, lsl r0 str r0, [lr, ip, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _0204D28C: .word GLOBAL_PROGRESS_PTR arm_func_end SetDungeonTipShown arm_func_start GetDungeonTipShown GetDungeonTipShown: ; 0x0204D290 cmp r0, #0x1f movge r0, #0 bxge lr ldr r2, _0204D2D8 ; =GLOBAL_PROGRESS_PTR mov r1, r0, asr #4 add r1, r0, r1, lsr #27 ldr r3, [r2] mov r2, r1, asr #5 mov r1, r0, lsr #0x1f add r2, r3, r2, lsl #2 rsb r0, r1, r0, lsl #27 add r0, r1, r0, ror #27 ldr r2, [r2, #0x94] mov r1, #1 tst r2, r1, lsl r0 moveq r1, #0 and r0, r1, #0xff bx lr .align 2, 0 _0204D2D8: .word GLOBAL_PROGRESS_PTR arm_func_end GetDungeonTipShown arm_func_start SetMaxReachedFloor SetMaxReachedFloor: ; 0x0204D2DC cmp r0, #0xb4 ldrlo r2, _0204D2F4 ; =GLOBAL_PROGRESS_PTR ldrlo r2, [r2] addlo r0, r2, r0 strlob r1, [r0, #0x143] bx lr .align 2, 0 _0204D2F4: .word GLOBAL_PROGRESS_PTR arm_func_end SetMaxReachedFloor arm_func_start GetMaxReachedFloor GetMaxReachedFloor: ; 0x0204D2F8 cmp r0, #0xb4 ldrlo r1, _0204D314 ; =GLOBAL_PROGRESS_PTR movhs r0, #0 ldrlo r1, [r1] addlo r0, r1, r0 ldrlob r0, [r0, #0x143] bx lr .align 2, 0 _0204D314: .word GLOBAL_PROGRESS_PTR arm_func_end GetMaxReachedFloor arm_func_start IncrementNbAdventures IncrementNbAdventures: ; 0x0204D318 ldr r0, _0204D344 ; =GLOBAL_PROGRESS_PTR ldr r1, _0204D348 ; =0x000F423F ldr r3, [r0] ldr r2, [r3, #0x1f8] add r2, r2, #1 str r2, [r3, #0x1f8] ldr r2, [r0] ldr r0, [r2, #0x1f8] cmp r0, r1 strhi r1, [r2, #0x1f8] bx lr .align 2, 0 _0204D344: .word GLOBAL_PROGRESS_PTR _0204D348: .word 0x000F423F arm_func_end IncrementNbAdventures arm_func_start GetNbAdventures GetNbAdventures: ; 0x0204D34C ldr r0, _0204D35C ; =GLOBAL_PROGRESS_PTR ldr r0, [r0] ldr r0, [r0, #0x1f8] bx lr .align 2, 0 _0204D35C: .word GLOBAL_PROGRESS_PTR arm_func_end GetNbAdventures arm_func_start CanMonsterSpawn CanMonsterSpawn: ; 0x0204D360 mov r0, #1 bx lr arm_func_end CanMonsterSpawn arm_func_start IncrementExclusiveMonsterCounts IncrementExclusiveMonsterCounts: ; 0x0204D368 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r4, _0204D3B8 ; =VERSION_EXCLUSIVE_MONSTERS ldr r7, _0204D3BC ; =GLOBAL_PROGRESS_PTR mov r6, r0 mov r5, #0 mov r8, #1 _0204D380: mov r0, r5, lsl #2 ldrsh r0, [r4, r0] bl GetDexNumber mov sb, r0 mov r0, r6 bl GetDexNumber cmp sb, r0 ldreq r0, [r7] addeq r0, r0, r5 add r5, r5, #1 streqb r8, [r0, #0x12c] cmp r5, #0x17 blt _0204D380 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204D3B8: .word VERSION_EXCLUSIVE_MONSTERS _0204D3BC: .word GLOBAL_PROGRESS_PTR arm_func_end IncrementExclusiveMonsterCounts arm_func_start CopyProgressInfoTo CopyProgressInfoTo: ; 0x0204D3C0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r4, _0204D538 ; =0x00000483 mov r5, r0 mov r8, #0 add r7, sp, #0 mov r6, #1 _0204D3D8: mov r0, r8, lsl #0x10 mov r0, r0, asr #0x10 bl GetMonsterFlag1 strb r0, [sp] mov r0, r5 mov r1, r7 mov r2, r6 bl CopyBitsTo add r8, r8, #1 cmp r8, r4 blt _0204D3D8 mov r7, #0 add r6, sp, #0 mov r4, #1 _0204D410: mov r0, r7 bl GetDungeonTipShown strb r0, [sp] mov r0, r5 mov r1, r6 mov r2, r4 bl CopyBitsTo add r7, r7, #1 cmp r7, #0x1f blt _0204D410 ldr r4, _0204D538 ; =0x00000483 mov r8, #0 add r7, sp, #0 mov r6, #1 _0204D448: mov r0, r8, lsl #0x10 mov r0, r0, asr #0x10 bl HasMonsterBeenAttackedInDungeons strb r0, [sp] mov r0, r5 mov r1, r7 mov r2, r6 bl CopyBitsTo add r8, r8, #1 cmp r8, r4 blt _0204D448 ldr r8, _0204D53C ; =_0209E011 ldr sb, _0204D540 ; =_0209E010 ldr r6, _0204D544 ; =GLOBAL_PROGRESS_PTR mov r4, #0 mov r7, #1 _0204D488: ldr r0, [r6] mov r2, r7 add r0, r0, r4 ldrb r0, [r0, #0x12c] cmp r0, #0 movne r1, sb moveq r1, r8 mov r0, r5 bl CopyBitsTo add r4, r4, #1 cmp r4, #0x17 blt _0204D488 ldr r4, _0204D544 ; =GLOBAL_PROGRESS_PTR mov r7, #0 mov r6, #7 _0204D4C4: ldr r1, [r4] mov r0, r5 add r1, r1, #0x43 add r1, r1, #0x100 mov r2, r6 add r1, r1, r7 bl CopyBitsTo add r7, r7, #1 cmp r7, #0xb4 blt _0204D4C4 ldr r1, _0204D544 ; =GLOBAL_PROGRESS_PTR mov r0, r5 ldr r1, [r1] mov r2, #0x20 add r1, r1, #0x1f8 bl CopyBitsTo ldr r4, _0204D544 ; =GLOBAL_PROGRESS_PTR mov r7, #0 mov r6, #8 _0204D510: ldr r1, [r4] mov r0, r5 add r1, r1, #0x1fc mov r2, r6 add r1, r1, r7 bl CopyBitsTo add r7, r7, #1 cmp r7, #0x10 blt _0204D510 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204D538: .word 0x00000483 _0204D53C: .word _0209E011 _0204D540: .word _0209E010 _0204D544: .word GLOBAL_PROGRESS_PTR arm_func_end CopyProgressInfoTo arm_func_start CopyProgressInfoFromScratchTo CopyProgressInfoFromScratchTo: ; 0x0204D548 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 add r0, sp, #0 bl CopyProgressInfoTo add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end CopyProgressInfoFromScratchTo arm_func_start CopyProgressInfoFrom CopyProgressInfoFrom: ; 0x0204D580 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 ldr r1, _0204D740 ; =GLOBAL_PROGRESS_PTR mov r4, r0 ldr r0, [r1] mov r1, #0x20c bl MemZero ldr r5, _0204D744 ; =0x00000483 mov r8, #0 add r7, sp, #0 mov r6, #1 _0204D5AC: mov r0, r4 mov r1, r7 mov r2, r6 bl CopyBitsFrom ldrb r0, [sp] cmp r0, #0 beq _0204D5D4 mov r0, r8, lsl #0x10 mov r0, r0, asr #0x10 bl SetMonsterFlag1 _0204D5D4: add r8, r8, #1 cmp r8, r5 blt _0204D5AC mov r7, #0 add r6, sp, #0 mov r5, #1 _0204D5EC: mov r0, r4 mov r1, r6 mov r2, r5 bl CopyBitsFrom ldrb r0, [sp] cmp r0, #0 beq _0204D610 mov r0, r7 bl SetDungeonTipShown _0204D610: add r7, r7, #1 cmp r7, #0x1f blt _0204D5EC ldr r5, _0204D744 ; =0x00000483 mov r8, #0 add r7, sp, #0 mov r6, #1 _0204D62C: mov r0, r4 mov r1, r7 mov r2, r6 bl CopyBitsFrom ldrb r0, [sp] cmp r0, #0 beq _0204D654 mov r0, r8, lsl #0x10 mov r0, r0, asr #0x10 bl SetMonsterFlag2 _0204D654: add r8, r8, #1 cmp r8, r5 blt _0204D62C mov sb, #0 mov r6, #1 ldr sl, _0204D740 ; =GLOBAL_PROGRESS_PTR mov r5, sb add r8, sp, #1 mov r7, r6 _0204D678: mov r0, r4 mov r1, r8 mov r2, r7 bl CopyBitsFrom ldrb r0, [sp, #1] tst r0, #1 ldr r0, [sl] movne r1, r6 add r0, r0, sb moveq r1, r5 add sb, sb, #1 strb r1, [r0, #0x12c] cmp sb, #0x17 blt _0204D678 ldr r8, _0204D740 ; =GLOBAL_PROGRESS_PTR mov r7, #0 add r6, sp, #1 mov r5, #7 _0204D6C0: mov r0, r4 mov r1, r6 mov r2, r5 bl CopyBitsFrom ldrb r1, [sp, #1] ldr r0, [r8] add r0, r0, r7 and r1, r1, #0x7f add r7, r7, #1 strb r1, [r0, #0x143] cmp r7, #0xb4 blt _0204D6C0 ldr r1, _0204D740 ; =GLOBAL_PROGRESS_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x20 add r1, r1, #0x1f8 bl CopyBitsFrom ldr r5, _0204D740 ; =GLOBAL_PROGRESS_PTR mov r7, #0 mov r6, #8 _0204D714: ldr r1, [r5] mov r0, r4 add r1, r1, #0x1fc mov r2, r6 add r1, r1, r7 bl CopyBitsFrom add r7, r7, #1 cmp r7, #0x10 blt _0204D714 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0204D740: .word GLOBAL_PROGRESS_PTR _0204D744: .word 0x00000483 arm_func_end CopyProgressInfoFrom arm_func_start CopyProgressInfoFromScratchFrom CopyProgressInfoFromScratchFrom: ; 0x0204D748 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 add r0, sp, #0 bl CopyProgressInfoFrom add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end CopyProgressInfoFromScratchFrom arm_func_start InitKaomadoStream InitKaomadoStream: ; 0x0204D780 stmdb sp!, {r3, lr} bl DataTransferInit ldr r0, _0204D798 ; =_022AB4B0 bl FileInitVeneer bl DataTransferStop ldmia sp!, {r3, pc} .align 2, 0 _0204D798: .word _022AB4B0 arm_func_end InitKaomadoStream arm_func_start InitPortraitBox InitPortraitBox: ; 0x0204D79C mov r2, #0 strh r2, [r0] sub r1, r2, #2 strb r1, [r0, #2] strb r2, [r0, #3] mov r1, #2 str r1, [r0, #4] mov r1, #9 str r1, [r0, #8] strb r2, [r0, #0xc] strb r2, [r0, #0xd] strb r2, [r0, #0xe] strb r2, [r0, #0xf] bx lr arm_func_end InitPortraitBox arm_func_start InitPortraitBoxWithMonsterId InitPortraitBoxWithMonsterId: ; 0x0204D7D4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl InitPortraitBox strh r4, [r5] mov r0, #0 strb r0, [r5, #2] ldmia sp!, {r3, r4, r5, pc} arm_func_end InitPortraitBoxWithMonsterId arm_func_start SetPortraitEmotion SetPortraitEmotion: ; 0x0204D7F4 ldrsh r2, [r0] cmp r2, #0 strneb r1, [r0, #2] bx lr arm_func_end SetPortraitEmotion arm_func_start SetPortraitLayout SetPortraitLayout: ; 0x0204D804 ldrsh r2, [r0] cmp r2, #0 cmpne r1, #0x20 bxeq lr mov r2, #6 mul r2, r1, r2 ldr r3, _0204D844 ; =PORTRAIT_LAYOUTS strb r1, [r0, #3] ldrsh r1, [r3, r2] add r2, r3, r2 str r1, [r0, #4] ldrsh r1, [r2, #2] str r1, [r0, #8] ldrb r1, [r2, #4] strb r1, [r0, #0xc] bx lr .align 2, 0 _0204D844: .word PORTRAIT_LAYOUTS arm_func_end SetPortraitLayout arm_func_start SetPortraitOffset SetPortraitOffset: ; 0x0204D848 stmdb sp!, {r3, lr} ldrsh r2, [r0] cmp r2, #0 ldmeqia sp!, {r3, pc} ldrb r3, [r0, #3] mov r2, #6 ldr lr, _0204D890 ; =PORTRAIT_LAYOUTS smulbb ip, r3, r2 ldrsh r3, [lr, ip] ldr r2, [r1] add ip, lr, ip add r2, r3, r2 str r2, [r0, #4] ldrsh r2, [ip, #2] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _0204D890: .word PORTRAIT_LAYOUTS arm_func_end SetPortraitOffset arm_func_start AllowPortraitDefault AllowPortraitDefault: ; 0x0204D894 strb r1, [r0, #0xf] bx lr arm_func_end AllowPortraitDefault arm_func_start IsValidPortrait IsValidPortrait: ; 0x0204D89C ldrsh r1, [r0] cmp r1, #0 ldrnesb r1, [r0, #2] mvnne r0, #1 cmpne r1, r0 movne r0, #1 moveq r0, #0 bx lr arm_func_end IsValidPortrait arm_func_start LoadPortrait LoadPortrait: ; 0x0204D8BC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 mov sb, r1 ldrsh r7, [sl] ldrsb r8, [sl, #2] bl DataTransferInit ldr r0, _0204DA14 ; =_022AB4B0 ldr r1, _0204DA18 ; =KAOMADO_FILEPATH bl FileOpen mov fp, #0 mov r4, fp mov r5, #1 b _0204D9DC _0204D8F4: mov r0, #0x28 mul r0, r7, r0 add r0, r0, r8, lsl #1 mov r1, r0, lsl #2 ldr r0, _0204DA14 ; =_022AB4B0 mov r2, #0 sub r7, r7, #0x258 bl FileSeek ldr r0, _0204DA14 ; =_022AB4B0 add r1, sp, #0 mov r2, #0xc bl FileRead ldr r0, [sp, #4] cmp r0, #0 movge r0, #1 movlt r0, #0 strb r0, [sl, #0xd] ldrb r0, [sl, #0xc] cmp r0, #0 beq _0204D984 ldr r0, [sp, #4] cmp r0, #0 mov r1, r0 bge _0204D96C ldr r1, [sp] cmp r0, #0 rsblt r0, r0, #0 sub r6, r0, r1 strb r5, [sl, #0xe] b _0204D99C _0204D96C: ldr r2, [sp, #8] cmp r2, #0 rsblt r2, r2, #0 sub r6, r2, r0 strb r4, [sl, #0xe] b _0204D99C _0204D984: ldr r0, [sp, #4] ldr r1, [sp] cmp r0, #0 rsblt r0, r0, #0 sub r6, r0, r1 strb fp, [sl, #0xe] _0204D99C: cmp r1, #0 ble _0204D9DC cmp sb, #0 beq _0204D9C8 ldr r0, _0204DA14 ; =_022AB4B0 mov r2, #0 bl FileSeek ldr r0, _0204DA14 ; =_022AB4B0 mov r1, sb mov r2, r6 bl FileRead _0204D9C8: ldr r0, _0204DA14 ; =_022AB4B0 bl FileClose bl DataTransferStop mov r0, #1 b _0204DA0C _0204D9DC: cmp r7, #0 bgt _0204D8F4 ldrb r0, [sl, #0xf] cmp r0, #0 cmpne r8, #0 movne r8, #0 ldrnesh r7, [sl] bne _0204D9DC ldr r0, _0204DA14 ; =_022AB4B0 bl FileClose bl DataTransferStop mov r0, #0 _0204DA0C: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0204DA14: .word _022AB4B0 _0204DA18: .word KAOMADO_FILEPATH arm_func_end LoadPortrait arm_func_start sub_0204DA1C sub_0204DA1C: ; 0x0204DA1C ldr r1, _0204DA28 ; =ARM9_UNKNOWN_TABLE__NA_209E164 ldrb r0, [r1, r0] bx lr .align 2, 0 _0204DA28: .word ARM9_UNKNOWN_TABLE__NA_209E164 arm_func_end sub_0204DA1C arm_func_start sub_0204DA2C sub_0204DA2C: ; 0x0204DA2C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x68 mov r4, r2 mov r2, #0 mov r5, r1 mov r6, r2 add r1, sp, #0 _0204DA48: strb r6, [r1, r2] add r2, r2, #1 cmp r2, #0x22 blt _0204DA48 add r3, sp, #0x22 ldr r2, _0204DB04 ; =ARM9_UNKNOWN_TABLE__NA_209E164 b _0204DA84 _0204DA64: ldrb r1, [r0] ldrb r1, [r2, r1] cmp r1, #0xff strb r1, [r3, r6] moveq r0, #0 beq _0204DAFC add r0, r0, #1 add r6, r6, #1 _0204DA84: cmp r6, r4 blt _0204DA64 add r1, r4, r4, lsl #2 and r0, r1, #7 add r0, r0, #7 mov r0, r0, asr #3 add sl, r0, r1, asr #3 add r0, sp, #0x58 add r1, sp, #0 mov r2, sl bl sub_02050990 mov sb, #0 add r8, sp, #0x58 add r7, sp, #0x22 mov r6, #5 b _0204DAD8 _0204DAC4: mov r0, r8 mov r2, r6 add r1, r7, sb bl CopyBitsTo add sb, sb, #1 _0204DAD8: cmp sb, r4 blt _0204DAC4 add r0, sp, #0x58 bl sub_020509BC add r1, sp, #0 mov r0, r5 mov r2, sl bl MemcpySimple mov r0, #1 _0204DAFC: add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0204DB04: .word ARM9_UNKNOWN_TABLE__NA_209E164 arm_func_end sub_0204DA2C arm_func_start sub_0204DB08 sub_0204DB08: ; 0x0204DB08 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x48 mov r4, r2 add r3, r4, r4, lsl #2 and r2, r3, #7 add r2, r2, #7 mov r2, r2, asr #3 mov r5, r0 add r0, sp, #0x38 add r2, r2, r3, asr #3 bl sub_02050974 mov sb, #0 add r8, sp, #0x38 add r7, sp, #0 mov r6, #5 b _0204DB5C _0204DB48: mov r0, r8 mov r2, r6 add r1, r7, sb bl CopyBitsFrom add sb, sb, #1 _0204DB5C: cmp sb, r4 blt _0204DB48 add r0, sp, #0x38 bl sub_020509BC mov r3, #0 add r2, sp, #0 ldr r1, _0204DB9C ; =WONDER_MAIL_BITS_MAP b _0204DB8C _0204DB7C: ldrb r0, [r2, r3] add r3, r3, #1 ldrb r0, [r1, r0] strb r0, [r5], #1 _0204DB8C: cmp r3, r4 blt _0204DB7C add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204DB9C: .word WONDER_MAIL_BITS_MAP arm_func_end sub_0204DB08 arm_func_start sub_0204DBA0 sub_0204DBA0: ; 0x0204DBA0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0xa0 mov r2, r0 mov r5, r1 mov r1, r2 add r0, sp, #0x10 mov r2, #0x36 mov r4, #0 bl MemcpySimple ldr r3, _0204DC9C ; =ARM9_UNKNOWN_TABLE__NA_209E12C mov r6, r4 add r2, sp, #0x10 add r0, sp, #0x46 mov ip, r4 _0204DBD8: mov lr, ip ldrb r1, [r3, r6] b _0204DBF0 _0204DBE4: cmp lr, r1 beq _0204DBF8 add lr, lr, #1 _0204DBF0: cmp lr, #0x36 blt _0204DBE4 _0204DBF8: ldrb r1, [r2, lr] strb r1, [r0, r6] add r6, r6, #1 cmp r6, #0x36 blt _0204DBD8 add r1, sp, #0x7c mov r2, #0x36 bl sub_0204DA2C cmp r0, #0 moveq r0, #0 beq _0204DC94 ldrb r0, [sp, #0x7c] add r1, sp, #0x7d mov r2, #0x20 bl sub_0204E0A0 mov r3, #1 add r2, sp, #0x7c _0204DC3C: ldrb r1, [r2, r3] and r0, r3, #0xff add r3, r3, #1 add r0, r1, r0 add r0, r4, r0 cmp r3, #0x21 and r4, r0, #0xff blt _0204DC3C ldrb r0, [sp, #0x7c] cmp r0, r4 movne r0, #0 bne _0204DC94 add r0, sp, #0 add r1, sp, #0x7d mov r2, #0x20 bl sub_02050974 add r0, sp, #0 mov r1, r5 bl sub_0205C2A4 add r0, sp, #0 bl sub_020509BC mov r0, #1 _0204DC94: add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0204DC9C: .word ARM9_UNKNOWN_TABLE__NA_209E12C arm_func_end sub_0204DBA0 arm_func_start sub_0204DCA0 sub_0204DCA0: ; 0x0204DCA0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0xa0 mov r4, #0 mov r5, r0 mov r6, r1 mov r2, r4 mov r1, r4 add r0, sp, #0x7c _0204DCC0: strb r1, [r0, r2] add r2, r2, #1 cmp r2, #0x22 blt _0204DCC0 add r0, sp, #0 add r1, sp, #0x7d mov r2, #0x20 bl sub_02050990 add r0, sp, #0 mov r1, r6 bl sub_0205C548 add r0, sp, #0 bl sub_020509BC mov r3, #1 add r2, sp, #0x7c _0204DCFC: ldrb r1, [r2, r3] and r0, r3, #0xff add r3, r3, #1 add r0, r1, r0 add r0, r4, r0 cmp r3, #0x21 and r4, r0, #0xff blt _0204DCFC add r1, sp, #0x7d mov r0, r4 mov r2, #0x20 strb r4, [sp, #0x7c] bl sub_0204E02C add r0, sp, #0x46 add r1, sp, #0x7c mov r2, #0x36 bl sub_0204DB08 ldr r2, _0204DD7C ; =ARM9_UNKNOWN_TABLE__NA_209E12C mov ip, #0 add r4, sp, #0x46 add r1, sp, #0x10 _0204DD50: ldrb r3, [r4, ip] ldrb r0, [r2, ip] add ip, ip, #1 cmp ip, #0x36 strb r3, [r1, r0] blt _0204DD50 mov r0, r5 mov r2, #0x36 bl MemcpySimple add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0204DD7C: .word ARM9_UNKNOWN_TABLE__NA_209E12C arm_func_end sub_0204DCA0 arm_func_start sub_0204DD80 sub_0204DD80: ; 0x0204DD80 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x6c mov r2, r0 mov r4, r1 mov r1, r2 add r0, sp, #0x10 mov r2, #0x22 bl MemcpySimple mov lr, #0 ldr r3, _0204DE74 ; =WONDER_MAIL_BITS_SWAP add r2, sp, #0x10 add r0, sp, #0x32 mov r5, lr _0204DDB4: mov ip, r5 ldrb r1, [r3, lr] b _0204DDCC _0204DDC0: cmp ip, r1 beq _0204DDD4 add ip, ip, #1 _0204DDCC: cmp ip, #0x22 blt _0204DDC0 _0204DDD4: ldrb r1, [r2, ip] strb r1, [r0, lr] add lr, lr, #1 cmp lr, #0x22 blt _0204DDB4 add r1, sp, #0x54 mov r2, #0x22 bl sub_0204DA2C cmp r0, #0 moveq r0, #0 beq _0204DE6C ldrb r0, [sp, #0x54] add r1, sp, #0x58 mov r2, #0x11 bl sub_0204E0A0 add r0, sp, #0x58 mov r1, #0x11 bl sub_02004F80 mov r5, r0 ldrb r2, [sp, #0x54] ldr r0, _0204DE78 ; =_0209E264 mov r1, r5 bl DebugPrint0 ldr r0, [sp, #0x54] cmp r0, r5 movne r0, #0 bne _0204DE6C add r0, sp, #0 add r1, sp, #0x58 mov r2, #0x11 bl sub_02050974 add r0, sp, #0 mov r1, r4 mov r2, #1 bl sub_0205FD88 add r0, sp, #0 bl sub_020509BC mov r0, #1 _0204DE6C: add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} .align 2, 0 _0204DE74: .word WONDER_MAIL_BITS_SWAP _0204DE78: .word _0209E264 arm_func_end sub_0204DD80 arm_func_start sub_0204DE7C sub_0204DE7C: ; 0x0204DE7C stmdb sp!, {r4, r5, lr} sub sp, sp, #0x6c mov r2, #0 mov r4, r0 mov r5, r1 mov r1, r2 add r0, sp, #0x54 _0204DE98: strb r1, [r0, r2] add r2, r2, #1 cmp r2, #0x16 blt _0204DE98 add r0, sp, #0 add r1, sp, #0x58 mov r2, #0x11 bl sub_02050990 add r0, sp, #0 mov r1, r5 mov r2, #1 bl sub_0205FE80 add r0, sp, #0 bl sub_020509BC add r0, sp, #0x58 mov r1, #0x11 bl sub_02004F80 mov r1, r0 str r1, [sp, #0x54] ldrb r2, [sp, #0x54] ldr r0, _0204DF4C ; =_0209E264 bl DebugPrint0 ldrb r0, [sp, #0x54] add r1, sp, #0x58 mov r2, #0x11 bl sub_0204E02C add r0, sp, #0x32 add r1, sp, #0x54 mov r2, #0x22 bl sub_0204DB08 ldr r2, _0204DF50 ; =WONDER_MAIL_BITS_SWAP mov lr, #0 add ip, sp, #0x32 add r1, sp, #0x10 _0204DF20: ldrb r3, [ip, lr] ldrb r0, [r2, lr] add lr, lr, #1 cmp lr, #0x22 strb r3, [r1, r0] blt _0204DF20 mov r0, r4 mov r2, #0x22 bl MemcpySimple add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} .align 2, 0 _0204DF4C: .word _0209E264 _0204DF50: .word WONDER_MAIL_BITS_SWAP arm_func_end sub_0204DE7C arm_func_start sub_0204DF54 sub_0204DF54: ; 0x0204DF54 stmdb sp!, {r4, r5, r6, r7, r8, lr} tst r2, #0x1f movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r5, #0 ldr ip, _0204DFAC ; =ARM9_UNKNOWN_TABLE__NA_209E280 mov r4, r5 b _0204DF9C _0204DF74: mov r6, r4 add r7, r1, r5 add r8, r0, r5 _0204DF80: ldrb lr, [r7, r6] ldrb r3, [ip, r6] add r6, r6, #1 cmp r6, #0x20 strb lr, [r8, r3] blt _0204DF80 add r5, r5, #0x20 _0204DF9C: cmp r5, r2 blo _0204DF74 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0204DFAC: .word ARM9_UNKNOWN_TABLE__NA_209E280 arm_func_end sub_0204DF54 arm_func_start sub_0204DFB0 sub_0204DFB0: ; 0x0204DFB0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} tst r2, #0x1f movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r5, #0 mov lr, r5 ldr ip, _0204E028 ; =ARM9_UNKNOWN_TABLE__NA_209E280 mov r4, r5 b _0204E018 _0204DFD4: mov sb, r4 add r7, r1, r5 add r8, r0, r5 _0204DFE0: mov r6, lr ldrb r3, [ip, sb] b _0204DFF8 _0204DFEC: cmp r6, r3 beq _0204E000 add r6, r6, #1 _0204DFF8: cmp r6, #0x20 blt _0204DFEC _0204E000: ldrb r3, [r7, r6] strb r3, [r8, sb] add sb, sb, #1 cmp sb, #0x20 blt _0204DFE0 add r5, r5, #0x20 _0204E018: cmp r5, r2 blo _0204DFD4 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204E028: .word ARM9_UNKNOWN_TABLE__NA_209E280 arm_func_end sub_0204DFB0 arm_func_start sub_0204E02C sub_0204E02C: ; 0x0204E02C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, r0 and r0, sl, #0xf add r0, r0, sl, asr #4 add r0, r0, #8 tst sl, #1 movne r7, #1 mov r5, #0 mov sb, r1 mov r8, r2 and r6, r0, #0xff mvneq r7, #0 mov r1, r5 ldr r4, _0204E09C ; =WONDER_MAIL_ENCRYPTION_TABLE b _0204E090 _0204E068: mla r0, r1, r7, sl and r0, r0, #0xff ldrb r3, [sb, r5] ldrb r2, [r4, r0] add r0, r1, #1 mov r1, r6 add r2, r3, r2 strb r2, [sb, r5] bl __divsi3 add r5, r5, #1 _0204E090: cmp r5, r8 blo _0204E068 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0204E09C: .word WONDER_MAIL_ENCRYPTION_TABLE arm_func_end sub_0204E02C arm_func_start sub_0204E0A0 sub_0204E0A0: ; 0x0204E0A0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, r0 and r0, sl, #0xf add r0, r0, sl, asr #4 add r0, r0, #8 tst sl, #1 movne r7, #1 mov r5, #0 mov sb, r1 mov r8, r2 and r6, r0, #0xff mvneq r7, #0 mov r1, r5 ldr r4, _0204E110 ; =WONDER_MAIL_ENCRYPTION_TABLE b _0204E104 _0204E0DC: mla r0, r1, r7, sl and r0, r0, #0xff ldrb r3, [sb, r5] ldrb r2, [r4, r0] add r0, r1, #1 mov r1, r6 sub r2, r3, r2 strb r2, [sb, r5] bl __divsi3 add r5, r5, #1 _0204E104: cmp r5, r8 blo _0204E0DC ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0204E110: .word WONDER_MAIL_ENCRYPTION_TABLE arm_func_end sub_0204E0A0 arm_func_start sub_0204E114 sub_0204E114: ; 0x0204E114 stmdb sp!, {r4, lr} mov r4, r0 bl GetDungeonModeSpecial cmp r0, #3 ldreq r0, _0204E14C ; =0x00000B2C beq _0204E144 cmp r4, #0xd4 ldreq r0, _0204E150 ; =0x00000B2D addne r0, r4, #0x278 addne r0, r0, #0x800 movne r0, r0, lsl #0x10 movne r0, r0, lsr #0x10 _0204E144: bl StringFromMessageId ldmia sp!, {r4, pc} .align 2, 0 _0204E14C: .word 0x00000B2C _0204E150: .word 0x00000B2D arm_func_end sub_0204E114 arm_func_start sub_0204E154 sub_0204E154: ; 0x0204E154 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 add r0, sp, #0 bl sub_0204ABB8 add r0, sp, #0 bl sub_0204F9F4 add r0, sp, #0 bl CopyLogTo add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end sub_0204E154 arm_func_start sub_0204E19C sub_0204E19C: ; 0x0204E19C stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 add r0, sp, #0 bl sub_0204ACDC add r0, sp, #0 bl sub_0204FA0C add r0, sp, #0 bl CopyLogFrom add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end sub_0204E19C arm_func_start sub_0204E1E4 sub_0204E1E4: ; 0x0204E1E4 stmdb sp!, {r3, lr} mov r0, #0 bl sub_0204E8EC ldr r1, _0204E208 ; =_022AB4F8 mov r2, #0 ldr r0, _0204E20C ; =_022AB5AC strb r2, [r1, #1] bl sub_0200C4CC ldmia sp!, {r3, pc} .align 2, 0 _0204E208: .word _022AB4F8 _0204E20C: .word _022AB5AC arm_func_end sub_0204E1E4 arm_func_start sub_0204E210 sub_0204E210: ; 0x0204E210 stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #1 mov r0, #0 bhi _0204E2AC mov r2, r0 mov r1, #0x32 bl LoadScriptVariableValueAtIndex cmp r0, #6 cmpne r0, #0xa mov r0, #0 bne _0204E258 mov r2, r0 mov r1, #0x2e bl LoadScriptVariableValueAtIndex mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r3, pc} _0204E258: mov r1, #0x32 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r0, #6 cmpne r0, #0xa mov r0, #0 bne _0204E28C mov r1, #0x2e mov r2, #1 bl LoadScriptVariableValueAtIndex mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r3, pc} _0204E28C: mov r1, #0x32 mov r2, #2 bl LoadScriptVariableValueAtIndex cmp r0, #6 cmpne r0, #0xa bne _0204E2D4 mov r0, #2 ldmia sp!, {r3, pc} _0204E2AC: mov r1, #0x2c bl LoadScriptVariableValue cmp r0, #6 bne _0204E2D4 mov r0, #0 mov r1, #0x28 bl LoadScriptVariableValue mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r3, pc} _0204E2D4: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0204E210 arm_func_start sub_0204E2DC sub_0204E2DC: ; 0x0204E2DC stmdb sp!, {r4, lr} mov r4, r0 bl GetGameMode strb r0, [r4] cmp r0, #1 mov r0, #0 bhi _0204E398 mov r2, r0 mov r1, #0x32 bl LoadScriptVariableValueAtIndex cmp r0, #6 cmpne r0, #0xa mov r0, #0 bne _0204E334 mov r3, #2 mov r2, r0 mov r1, #0x2e strb r3, [r4] bl LoadScriptVariableValueAtIndex mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r4, pc} _0204E334: mov r1, #0x32 mov r2, #1 bl LoadScriptVariableValueAtIndex cmp r0, #6 cmpne r0, #0xa mov r0, #0 bne _0204E370 mov r3, #3 mov r1, #0x2e mov r2, #1 strb r3, [r4] bl LoadScriptVariableValueAtIndex mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r4, pc} _0204E370: mov r1, #0x32 mov r2, #2 bl LoadScriptVariableValueAtIndex cmp r0, #6 cmpne r0, #0xa bne _0204E3C0 mov r0, #4 strb r0, [r4] mov r0, #2 ldmia sp!, {r4, pc} _0204E398: mov r1, #0x2c bl LoadScriptVariableValue cmp r0, #6 bne _0204E3C0 mov r0, #0 mov r1, #0x28 bl LoadScriptVariableValue mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r4, pc} _0204E3C0: mvn r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0204E2DC arm_func_start sub_0204E3C8 sub_0204E3C8: ; 0x0204E3C8 stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #2 bne _0204E400 bl sub_02048CB8 ldr r1, _0204E408 ; =0x000F1207 cmp r0, r1 bne _0204E400 mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E400: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0204E408: .word 0x000F1207 arm_func_end sub_0204E3C8 arm_func_start sub_0204E40C sub_0204E40C: ; 0x0204E40C stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #2 bne _0204E458 bl sub_02048CB8 ldr r1, _0204E460 ; =0x000F1207 cmp r0, r1 bne _0204E458 mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E458 mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _0204E458: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0204E460: .word 0x000F1207 arm_func_end sub_0204E40C arm_func_start sub_0204E464 sub_0204E464: ; 0x0204E464 stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #2 bne _0204E4B0 bl sub_02048CB8 ldr r1, _0204E4B8 ; =0x000F1207 cmp r0, r1 bne _0204E4B0 mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 beq _0204E4B0 mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E4B0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0204E4B8: .word 0x000F1207 arm_func_end sub_0204E464 arm_func_start sub_0204E4BC sub_0204E4BC: ; 0x0204E4BC stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #2 bne _0204E4E0 bl sub_02048CB8 ldr r1, _0204E4E8 ; =0x000F1207 cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} _0204E4E0: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0204E4E8: .word 0x000F1207 arm_func_end sub_0204E4BC arm_func_start sub_0204E4EC sub_0204E4EC: ; 0x0204E4EC stmdb sp!, {r4, lr} bl sub_02048CB8 mov r4, r0 bl sub_02048BFC cmp r0, #2 bne _0204E524 ldr r1, _0204E52C ; =0x000F1207 cmp r4, r1 addne r0, r1, #1 cmpne r4, r0 addne r0, r1, #3 cmpne r4, r0 movne r0, #1 ldmneia sp!, {r4, pc} _0204E524: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0204E52C: .word 0x000F1207 arm_func_end sub_0204E4EC arm_func_start sub_0204E530 sub_0204E530: ; 0x0204E530 stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #1 bne _0204E57C mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E57C mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E57C bl sub_0204E210 mvn r1, #0 cmp r0, r1 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E57C: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0204E530 arm_func_start sub_0204E584 sub_0204E584: ; 0x0204E584 stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #1 bne _0204E5DC mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E5DC mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E5DC bl sub_0204E210 mvn r1, #0 cmp r0, r1 bne _0204E5DC bl sub_0205633C cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E5DC: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0204E584 arm_func_start sub_0204E5E4 sub_0204E5E4: ; 0x0204E5E4 stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #1 bne _0204E63C mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E63C mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E63C bl sub_0204E210 mvn r1, #0 cmp r0, r1 bne _0204E63C bl sub_02056360 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E63C: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0204E5E4 arm_func_start sub_0204E644 sub_0204E644: ; 0x0204E644 stmdb sp!, {r3, lr} mov r0, #4 bl GetPerformanceFlagWithChecks cmp r0, #0 beq _0204E69C bl sub_02048BFC cmp r0, #1 bne _0204E69C mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E69C mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 bne _0204E69C bl sub_0205633C cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E69C: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0204E644 arm_func_start sub_0204E6A4 sub_0204E6A4: ; 0x0204E6A4 stmdb sp!, {r3, lr} bl sub_02048BFC cmp r0, #2 bne _0204E6F0 bl sub_02048CB8 ldr r1, _0204E6F8 ; =0x000F1207 cmp r0, r1 bne _0204E6F0 mov r0, #1 mov r1, #0 bl GetSosMailCount cmp r0, #0 beq _0204E6F0 mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0204E6F0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0204E6F8: .word 0x000F1207 arm_func_end sub_0204E6A4 arm_func_start sub_0204E6FC sub_0204E6FC: ; 0x0204E6FC ldr r0, _0204E708 ; =_022AB4FC ldrsb r0, [r0, #0xd] bx lr .align 2, 0 _0204E708: .word _022AB4FC arm_func_end sub_0204E6FC arm_func_start sub_0204E70C sub_0204E70C: ; 0x0204E70C stmdb sp!, {r4, lr} ldr r0, _0204E75C ; =_022AB4FC ldrsb r4, [r0, #0xd] and r1, r4, #0xff cmp r1, #1 bhi _0204E754 ldrsh r0, [r0, #2] bl GetDungeonModeSpecial cmp r0, #1 beq _0204E744 cmp r0, #2 beq _0204E74C cmp r0, #3 bne _0204E754 _0204E744: mov r0, #0 ldmia sp!, {r4, pc} _0204E74C: mov r0, #1 ldmia sp!, {r4, pc} _0204E754: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0204E75C: .word _022AB4FC arm_func_end sub_0204E70C arm_func_start sub_0204E760 sub_0204E760: ; 0x0204E760 ldr r0, _0204E76C ; =_022AB4FC ldrsh r0, [r0, #2] bx lr .align 2, 0 _0204E76C: .word _022AB4FC arm_func_end sub_0204E760 arm_func_start sub_0204E770 sub_0204E770: ; 0x0204E770 ldr r0, _0204E77C ; =_022AB4FC ldrb r0, [r0] bx lr .align 2, 0 _0204E77C: .word _022AB4FC arm_func_end sub_0204E770 arm_func_start sub_0204E780 sub_0204E780: ; 0x0204E780 ldr r0, _0204E78C ; =_022AB4FC ldrb r0, [r0, #0x14] bx lr .align 2, 0 _0204E78C: .word _022AB4FC arm_func_end sub_0204E780 arm_func_start sub_0204E790 sub_0204E790: ; 0x0204E790 stmdb sp!, {r4, lr} ldr lr, _0204E7B4 ; =_022AB4FC mov r4, r0 mov ip, #0xb _0204E7A0: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0204E7A0 ldmia sp!, {r4, pc} .align 2, 0 _0204E7B4: .word _022AB4FC arm_func_end sub_0204E790 arm_func_start sub_0204E7B8 sub_0204E7B8: ; 0x0204E7B8 stmdb sp!, {r3, lr} ldr r1, _0204E8E0 ; =_022AB4FC mov r0, #0 ldrsb r2, [r1, #0xd] mov r1, #0x28 bl SaveScriptVariableValue ldr r1, _0204E8E0 ; =_022AB4FC mov r0, #0 ldrsh r2, [r1, #2] mov r1, #0x27 bl SaveScriptVariableValue ldr r1, _0204E8E0 ; =_022AB4FC mov r0, #0 ldrsh r2, [r1, #2] mov r1, #0x29 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x2c mov r2, #6 bl SaveScriptVariableValue mov r0, #0 mov r1, #0x2b mov r2, #6 bl SaveScriptVariableValue ldr r0, _0204E8E0 ; =_022AB4FC ldrsb r0, [r0, #0xd] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0204E8D4 _0204E82C: ; jump table b _0204E8D4 ; case 0 b _0204E83C ; case 1 b _0204E8B0 ; case 2 b _0204E8D4 ; case 3 _0204E83C: mov r0, #0 mov r1, #0x27 mov r2, #0xd7 bl SaveScriptVariableValue ldr r0, _0204E8E0 ; =_022AB4FC ldr r1, _0204E8E4 ; =_022AB518 ldrb r0, [r0] bl sub_0205F00C cmp r0, #0 beq _0204E8D4 ldr r1, _0204E8E0 ; =_022AB4FC ldrb r1, [r1, #0x1d] cmp r1, #0 beq _0204E8A0 add r0, r0, #4 bl sub_0204F7A8 ldr r1, _0204E8E8 ; =CLIENT_LEVEL_TABLE mov r0, r0, lsl #1 ldrsh r1, [r1, r0] ldr r3, _0204E8E0 ; =_022AB4FC mov ip, #1 ldr r0, _0204E8E4 ; =_022AB518 mov r2, #0 strb ip, [r3, #0x1d] bl sub_020544C8 _0204E8A0: ldr r0, _0204E8E0 ; =_022AB4FC mov r1, #1 strb r1, [r0, #0xf] b _0204E8D4 _0204E8B0: mov r0, #0 mov r1, #0x27 mov r2, #0xd6 bl SaveScriptVariableValue ldr r1, _0204E8E0 ; =_022AB4FC mov r0, #0 ldrsb r2, [r1, #0x12] mov r1, #0x29 bl SaveScriptVariableValue _0204E8D4: ldr r0, _0204E8E0 ; =_022AB4FC ldrsb r0, [r0, #0xd] ldmia sp!, {r3, pc} .align 2, 0 _0204E8E0: .word _022AB4FC _0204E8E4: .word _022AB518 _0204E8E8: .word CLIENT_LEVEL_TABLE arm_func_end sub_0204E7B8 arm_func_start sub_0204E8EC sub_0204E8EC: ; 0x0204E8EC stmdb sp!, {r4, lr} movs r4, r0 beq _0204E920 ldr lr, _0204E944 ; =_022AB4FC mov ip, #0xb _0204E900: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0204E900 ldr r0, _0204E948 ; =_022AB4F8 mov r1, #1 strb r1, [r0] ldmia sp!, {r4, pc} _0204E920: mov r3, #0 ldr r0, _0204E944 ; =_022AB4FC sub r2, r3, #1 strb r2, [r0, #0xd] ldr r1, _0204E948 ; =_022AB4F8 strb r2, [r0, #0xe] strb r3, [r1] strh r2, [r0, #2] ldmia sp!, {r4, pc} .align 2, 0 _0204E944: .word _022AB4FC _0204E948: .word _022AB4F8 arm_func_end sub_0204E8EC arm_func_start SetEnterDungeon SetEnterDungeon: ; 0x0204E94C stmdb sp!, {r3, lr} mov r1, r0 ldr r0, _0204E96C ; =_022AB4FC bl InitDungeonInit ldr r0, _0204E970 ; =_022AB4F8 mov r1, #1 strb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0204E96C: .word _022AB4FC _0204E970: .word _022AB4F8 arm_func_end SetEnterDungeon arm_func_start sub_0204E974 sub_0204E974: ; 0x0204E974 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl sub_0205B77C ldr r2, _0204EA4C ; =_022AB4FC mov r1, #2 mov r4, r0 strb r1, [r2, #0xd] sub r0, r1, #3 strb r0, [r2, #0xe] mov r0, #0xd6 strh r0, [r2, #2] ldr r0, _0204EA50 ; =_022AB510 mov r1, r5 strb r5, [r2, #0x12] bl sub_0205BB7C ldr r0, _0204EA54 ; =_022AB5A8 mov r1, r5 bl sub_0205BD14 ldr r1, _0204EA4C ; =_022AB4FC mov r2, #0 strb r2, [r1, #0xf] strb r2, [r1, #0x10] strb r2, [r1, #4] mov r0, #7 strb r2, [r1, #0x11] bl GetPerformanceFlagWithChecks ldr r1, _0204EA4C ; =_022AB4FC mov r2, #0 strb r0, [r1, #5] mov r0, #6 strb r2, [r1, #6] bl GetPerformanceFlagWithChecks ldr r1, _0204EA4C ; =_022AB4FC strb r0, [r1, #8] mov r0, #1 bl GetPerformanceFlagWithChecks ldr r1, _0204EA4C ; =_022AB4FC mov r2, #0 strb r0, [r1, #9] strb r2, [r1, #0xa] strb r2, [r1, #0xb] strb r2, [r1, #7] strb r2, [r1, #0xc] ldrb r0, [r4, #4] add r0, r0, #0xda and r0, r0, #0xff cmp r0, #5 strlsb r2, [r1, #5] movls r0, #1 strlsb r0, [r1, #7] ldr r0, _0204EA58 ; =_022AB4F8 mov r1, #1 strb r1, [r0] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0204EA4C: .word _022AB4FC _0204EA50: .word _022AB510 _0204EA54: .word _022AB5A8 _0204EA58: .word _022AB4F8 arm_func_end sub_0204E974 arm_func_start InitDungeonInit InitDungeonInit: ; 0x0204EA5C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 bl GetGameMode mov r4, r0 mov r0, r6 strh r6, [r7, #2] bl DungeonSwapIdxToId strb r0, [r7] mov r1, #1 strb r1, [r7, #1] sub r1, r1, #2 strb r1, [r7, #0x12] mov r0, #0 str r0, [r7, #0xac] strb r0, [r7, #0xd] strb r1, [r7, #0xe] strb r0, [r7, #4] strb r0, [r7, #0xf] strb r0, [r7, #0x10] strb r0, [r7, #0x11] cmp r4, #2 strneb r0, [r7, #5] strneb r0, [r7, #6] strneb r0, [r7, #8] bne _0204EAF0 mov r0, #7 bl GetPerformanceFlagWithChecks strb r0, [r7, #5] mov r0, #5 bl GetPerformanceFlagWithChecks strb r0, [r7, #6] mov r0, #6 bl GetPerformanceFlagWithChecks strb r0, [r7, #8] mov r0, #1 bl GetPerformanceFlagWithChecks _0204EAF0: strb r0, [r7, #9] mov r3, #0 strb r3, [r7, #0xa] strb r3, [r7, #0xb] strb r3, [r7, #7] strb r3, [r7, #0xc] mov r1, r3 mov r0, #0x44 _0204EB10: mla r2, r3, r0, r7 strb r1, [r2, #0x1c] add r3, r3, #1 strh r1, [r2, #0x20] cmp r3, #2 blt _0204EB10 cmp r4, #5 bne _0204EB88 mov r0, #1 strb r0, [r7, #5] strb r1, [r7, #6] strb r1, [r7, #8] strb r1, [r7, #9] strb r1, [r7, #0xb] mov r0, #3 strb r0, [r7, #0xd] strb r1, [r7, #4] sub r0, r6, #0x26 strb r1, [r7, #0x11] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0204EB84 _0204EB68: ; jump table b _0204EB80 ; case 0 b _0204EB80 ; case 1 b _0204EB80 ; case 2 b _0204EB80 ; case 3 b _0204EB80 ; case 4 b _0204EB80 ; case 5 _0204EB80: strb r1, [r7, #5] _0204EB84: ldmia sp!, {r3, r4, r5, r6, r7, pc} _0204EB88: mov r0, r6 bl GetDungeonModeSpecial cmp r0, #1 beq _0204EBB0 cmp r0, #2 beq _0204EF50 cmp r0, #3 moveq r0, #0 streqb r0, [r7, #0xd] b _0204EF88 _0204EBB0: mov r4, #0 mov r0, r6 strb r4, [r7, #0xd] mov r5, r4 bl IsNoLossPenaltyDungeon strb r0, [r7, #0xc] cmp r6, #0x44 bgt _0204ECA4 bge _0204EE70 cmp r6, #0x3e bgt _0204EC60 bge _0204EE68 cmp r6, #0x21 bgt _0204EC1C bge _0204EDEC cmp r6, #0xb bgt _0204EC10 subs r0, r6, #8 addpl pc, pc, r0, lsl #2 b _0204EF34 _0204EC00: ; jump table b _0204ED88 ; case 0 b _0204ED9C ; case 1 b _0204EDB0 ; case 2 b _0204EDC4 ; case 3 _0204EC10: cmp r6, #0x20 beq _0204EDD8 b _0204EF34 _0204EC1C: cmp r6, #0x22 bgt _0204EC2C beq _0204EE10 b _0204EF34 _0204EC2C: sub r0, r6, #0x23 cmp r0, #8 addls pc, pc, r0, lsl #2 b _0204EF34 _0204EC3C: ; jump table b _0204EE24 ; case 0 b _0204EF34 ; case 1 b _0204EF34 ; case 2 b _0204EE48 ; case 3 b _0204EE48 ; case 4 b _0204EE48 ; case 5 b _0204EE60 ; case 6 b _0204EE60 ; case 7 b _0204EE60 ; case 8 _0204EC60: cmp r6, #0x41 bgt _0204EC88 bge _0204EE68 cmp r6, #0x3f bgt _0204EC7C beq _0204EE68 b _0204EF34 _0204EC7C: cmp r6, #0x40 beq _0204EE68 b _0204EF34 _0204EC88: cmp r6, #0x42 bgt _0204EC98 beq _0204EE68 b _0204EF34 _0204EC98: cmp r6, #0x43 beq _0204EE70 b _0204EF34 _0204ECA4: cmp r6, #0x73 bgt _0204ECF4 bge _0204EE88 cmp r6, #0x70 bgt _0204ECD8 bge _0204EE88 cmp r6, #0x45 bgt _0204ECCC beq _0204EE70 b _0204EF34 _0204ECCC: cmp r6, #0x6f beq _0204EE88 b _0204EF34 _0204ECD8: cmp r6, #0x71 bgt _0204ECE8 beq _0204EE88 b _0204EF34 _0204ECE8: cmp r6, #0x72 beq _0204EE88 b _0204EF34 _0204ECF4: cmp r6, #0x76 bgt _0204ED1C bge _0204EE88 cmp r6, #0x74 bgt _0204ED10 beq _0204EE88 b _0204EF34 _0204ED10: cmp r6, #0x75 beq _0204EE88 b _0204EF34 _0204ED1C: cmp r6, #0x87 bgt _0204ED7C subs r0, r6, #0x78 addpl pc, pc, r0, lsl #2 b _0204ED70 _0204ED30: ; jump table b _0204EE88 ; case 0 b _0204EE88 ; case 1 b _0204EE88 ; case 2 b _0204EE9C ; case 3 b _0204EEC4 ; case 4 b _0204EF34 ; case 5 b _0204EF34 ; case 6 b _0204EF34 ; case 7 b _0204EEEC ; case 8 b _0204EF34 ; case 9 b _0204EF34 ; case 10 b _0204EF34 ; case 11 b _0204EF34 ; case 12 b _0204EF34 ; case 13 b _0204EF34 ; case 14 b _0204EF10 ; case 15 _0204ED70: cmp r6, #0x77 beq _0204EE88 b _0204EF34 _0204ED7C: cmp r6, #0xa4 beq _0204EF24 b _0204EF34 _0204ED88: ldr r2, _0204EF98 ; =_020A2904 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204ED9C: ldr r2, _0204EF9C ; =_020A2AD8 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EDB0: ldr r2, _0204EFA0 ; =_020A2AB4 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EDC4: ldr r2, _0204EFA4 ; =_020A294C mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EDD8: ldr r2, _0204EFA8 ; =_020A2970 mov r0, r7 mov r1, #0 bl AddGuestMonster b _0204EF34 _0204EDEC: ldr r2, _0204EFAC ; =_020A2A48 mov r0, r7 mov r1, r4 bl AddGuestMonster ldr r2, _0204EFB0 ; =_020A2A24 mov r0, r7 mov r1, #1 bl AddGuestMonster b _0204EF34 _0204EE10: ldr r2, _0204EFB4 ; =_020A29DC mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EE24: mov r0, #0x19 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _0204EF34 ldr r2, _0204EFB8 ; =_020A2A00 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EE48: ldr r2, _0204EFBC ; =_020A2A6C mov r0, r7 mov r1, r4 mov r5, #1 bl AddGuestMonster b _0204EF34 _0204EE60: mov r4, #1 b _0204EF34 _0204EE68: mov r4, #1 b _0204EF34 _0204EE70: ldr r2, _0204EFC0 ; =_020A2A90 mov r0, r7 mov r1, #0 bl AddGuestMonster mov r4, #1 b _0204EF34 _0204EE88: ldr r2, _0204EFC4 ; =_020A2AFC mov r0, r7 mov r1, #0 bl AddGuestMonster b _0204EF34 _0204EE9C: mov r0, r4 mov r1, #0x10 bl LoadScriptVariableValue cmp r0, #0 bne _0204EF34 ldr r2, _0204EFC8 ; =_020A2B20 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EEC4: mov r0, r4 mov r1, #0x10 bl LoadScriptVariableValue cmp r0, #0 bne _0204EF34 ldr r2, _0204EFCC ; =_020A2928 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EEEC: ldr r2, _0204EFD0 ; =GUEST_MONSTER_DATA mov r0, r7 mov r1, r4 bl AddGuestMonster ldr r2, _0204EFD4 ; =_020A28E0 mov r0, r7 mov r1, #1 bl AddGuestMonster b _0204EF34 _0204EF10: ldr r2, _0204EFD8 ; =_020A29B8 mov r0, r7 mov r1, r4 bl AddGuestMonster b _0204EF34 _0204EF24: ldr r2, _0204EFDC ; =_020A2994 mov r0, r7 mov r1, r4 bl AddGuestMonster _0204EF34: cmp r4, #0 movne r0, #1 strneb r0, [r7, #0xb] cmp r5, #0 movne r0, #1 strneb r0, [r7, #7] b _0204EF88 _0204EF50: sub r0, r6, #0x26 cmp r0, #5 addls pc, pc, r0, lsl #2 b _0204EF80 _0204EF60: ; jump table b _0204EF78 ; case 0 b _0204EF78 ; case 1 b _0204EF78 ; case 2 b _0204EF78 ; case 3 b _0204EF78 ; case 4 b _0204EF78 ; case 5 _0204EF78: mov r0, #1 strb r0, [r7, #0xb] _0204EF80: mov r0, #1 strb r0, [r7, #0xd] _0204EF88: mov r0, #0 strb r0, [r7, #4] strb r0, [r7, #0x11] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0204EF98: .word _020A2904 _0204EF9C: .word _020A2AD8 _0204EFA0: .word _020A2AB4 _0204EFA4: .word _020A294C _0204EFA8: .word _020A2970 _0204EFAC: .word _020A2A48 _0204EFB0: .word _020A2A24 _0204EFB4: .word _020A29DC _0204EFB8: .word _020A2A00 _0204EFBC: .word _020A2A6C _0204EFC0: .word _020A2A90 _0204EFC4: .word _020A2AFC _0204EFC8: .word _020A2B20 _0204EFCC: .word _020A2928 _0204EFD0: .word GUEST_MONSTER_DATA _0204EFD4: .word _020A28E0 _0204EFD8: .word _020A29B8 _0204EFDC: .word _020A2994 arm_func_end InitDungeonInit arm_func_start IsNoLossPenaltyDungeon IsNoLossPenaltyDungeon: ; 0x0204EFE0 stmdb sp!, {r4, lr} cmp r0, #0x1a mov r4, #0 cmpne r0, #0x79 beq _0204F000 cmp r0, #0x7d beq _0204F008 b _0204F01C _0204F000: mov r4, #1 b _0204F01C _0204F008: mov r0, r4 mov r1, #0x10 bl LoadScriptVariableValue cmp r0, #0 moveq r4, #1 _0204F01C: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end IsNoLossPenaltyDungeon arm_func_start sub_0204F024 sub_0204F024: ; 0x0204F024 ldr r1, _0204F030 ; =_022AB4FC strb r0, [r1, #0xe] bx lr .align 2, 0 _0204F030: .word _022AB4FC arm_func_end sub_0204F024 arm_func_start sub_0204F034 sub_0204F034: ; 0x0204F034 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x28 bl LoadScriptVariableValue mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r3, pc} arm_func_end sub_0204F034 arm_func_start sub_0204F050 sub_0204F050: ; 0x0204F050 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x27 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mvn r1, #0 cmp r0, r1 cmpne r0, #0xd6 ldmeqia sp!, {r3, pc} cmp r0, #0xd7 cmpeq r0, #0xd9 cmpeq r0, #0xd8 ldmeqia sp!, {r3, pc} mov r0, #0 mov r1, #0x29 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} arm_func_end sub_0204F050 arm_func_start sub_0204F0A0 sub_0204F0A0: ; 0x0204F0A0 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x27 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mvn r1, #0 cmp r1, r0, asr #16 mov r0, r0, asr #0x10 moveq r0, #0xff ldmeqia sp!, {r3, pc} cmp r0, #0xd6 moveq r0, #0xd4 ldmeqia sp!, {r3, pc} sub r1, r0, #0xd7 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #2 bhi _0204F104 mov r0, #0 mov r1, #0x29 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 _0204F104: bl DungeonSwapIdxToId ldmia sp!, {r3, pc} arm_func_end sub_0204F0A0 arm_func_start sub_0204F10C sub_0204F10C: ; 0x0204F10C stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 mov r1, #0x27 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 mvn r0, #0 cmp r1, r0 cmpne r1, #0xd6 cmpne r1, #0xd7 cmpne r1, #0xd8 cmpne r1, #0xd9 movne r0, #1 strneh r1, [r4] mvneq r0, #0 streqh r0, [r4] moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0204F10C arm_func_start sub_0204F158 sub_0204F158: ; 0x0204F158 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 mov r1, #0x27 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #0xd7 bne _0204F1AC mov r0, #0 mov r1, #0x29 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl DungeonSwapIdxToId cmp r0, #0xff beq _0204F1AC cmp r0, #0xb4 strlob r0, [r4] movlo r0, #1 ldmloia sp!, {r4, pc} _0204F1AC: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0204F158 arm_func_start sub_0204F1B4 sub_0204F1B4: ; 0x0204F1B4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 mov r1, #0x27 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #0xd6 mov r0, #0 ldmneia sp!, {r4, pc} mov r1, #0x29 bl LoadScriptVariableValue strb r0, [r4] mov r0, #1 ldmia sp!, {r4, pc} arm_func_end sub_0204F1B4 arm_func_start sub_0204F1F0 sub_0204F1F0: ; 0x0204F1F0 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 mov r4, r1 beq _0204F22C ldr lr, _0204F23C ; =_022AB5AC mov ip, #0xe _0204F208: ldmia r5!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0204F208 ldmia r5, {r0, r1} ldr r2, _0204F240 ; =_022AB4F8 stmia lr, {r0, r1} strb r4, [r2, #1] ldmia sp!, {r3, r4, r5, pc} _0204F22C: ldr r0, _0204F240 ; =_022AB4F8 mov r1, #0 strb r1, [r0, #1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0204F23C: .word _022AB5AC _0204F240: .word _022AB4F8 arm_func_end sub_0204F1F0 arm_func_start sub_0204F244 sub_0204F244: ; 0x0204F244 stmdb sp!, {r4, lr} movs r4, r0 beq _0204F270 ldr lr, _0204F27C ; =_022AB5AC mov ip, #0xe _0204F258: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0204F258 ldmia lr, {r0, r1} stmia r4, {r0, r1} _0204F270: ldr r0, _0204F280 ; =_022AB4F8 ldrb r0, [r0, #1] ldmia sp!, {r4, pc} .align 2, 0 _0204F27C: .word _022AB5AC _0204F280: .word _022AB4F8 arm_func_end sub_0204F244 arm_func_start sub_0204F284 sub_0204F284: ; 0x0204F284 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 add r0, sp, #0 mov sb, r1 bl GetPartyMembers mov r6, r0 mov r0, sl bl GetMaxMembersAllowed cmp r6, r0 ble _0204F2C0 cmp r0, #1 ldreq r0, _0204F354 ; =0x00000301 ldrne r0, _0204F358 ; =0x00000101 b _0204F34C _0204F2C0: cmp sb, #0 beq _0204F2D8 add r0, r6, #1 cmp r0, #4 ldrgt r0, _0204F358 ; =0x00000101 bgt _0204F34C _0204F2D8: mov r7, #0 mov r8, r7 add r5, sp, #0 ldr r4, _0204F35C ; =TEAM_MEMBER_TABLE_PTR mov fp, #0x44 b _0204F310 _0204F2F0: mov r0, r8, lsl #1 ldrsh r0, [r5, r0] ldr r1, [r4] smlabb r0, r0, fp, r1 ldrsh r0, [r0, #4] bl GetBodySize add r7, r7, r0 add r8, r8, #1 _0204F310: cmp r8, r6 blt _0204F2F0 cmp sb, #0 beq _0204F32C mov r0, sb bl GetBodySize add r7, r7, r0 _0204F32C: cmp r7, #6 movgt r0, #0x81 bgt _0204F34C mov r0, sl bl IsLevelResetDungeon cmp r0, #0 ldrne r0, _0204F360 ; =0x00002002 moveq r0, #0 _0204F34C: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0204F354: .word 0x00000301 _0204F358: .word 0x00000101 _0204F35C: .word TEAM_MEMBER_TABLE_PTR _0204F360: .word 0x00002002 arm_func_end sub_0204F284 arm_func_start sub_0204F364 sub_0204F364: ; 0x0204F364 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #0 bl GetMaxItemsAllowed mov r4, r0 bl GetNbItemsInBag cmp r4, #0 ble _0204F39C cmp r4, r0 bge _0204F39C orr r5, r5, #2 cmp r4, #0 orreq r5, r5, #0x800 orrne r5, r5, #0x400 _0204F39C: mov r0, r6 bl IsMoneyAllowed cmp r0, #0 bne _0204F3BC bl GetGold cmp r0, #0 orrgt r5, r5, #2 orrgt r5, r5, #0x1000 _0204F3BC: mov r0, r5 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0204F364 arm_func_start CheckMissionRestrictions CheckMissionRestrictions: ; 0x0204F3C4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetGameMode cmp r0, #2 bne _0204F424 mov r0, r5 bl DungeonSwapIdToIdx bl GetDungeonModeSpecial cmp r0, #2 bne _0204F424 add r1, sp, #2 add r2, sp, #0 mov r0, r5 bl sub_0205EE40 cmp r0, #0 beq _0204F424 ldrsh r0, [sp] cmp r0, #0 movne r0, #0x21 ldmneia sp!, {r3, r4, r5, pc} ldrh r0, [sp, #2] cmp r0, #0 movne r0, #0x41 ldmneia sp!, {r3, r4, r5, pc} _0204F424: cmp r5, #0x26 cmpne r5, #0x29 cmpne r5, #0x3f cmpne r5, #0x63 cmpne r5, #0x64 cmpne r5, #0x65 cmpne r5, #0x66 cmpne r5, #0x67 cmpne r5, #0x68 cmpne r5, #0x6b cmpne r5, #0x6c cmpne r5, #0x6d cmpne r5, #0x6e cmpne r5, #0xae ldreq r0, _0204F484 ; =0x00004001 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #0 bl sub_0204F284 mov r4, r0 mov r0, r5 bl sub_0204F364 orr r0, r4, r0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0204F484: .word 0x00004001 arm_func_end CheckMissionRestrictions arm_func_start sub_0204F488 sub_0204F488: ; 0x0204F488 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r8, r1 mov r7, r2 bl DungeonSwapIdToIdx mov r5, r0 mov r0, sb bl GetMaxReachedFloor mov r6, r0 mov r0, r5 bl GetDungeonMode mov r4, r0 cmp r4, #1 moveq r0, #0x11 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r6, #1 bge _0204F4EC mov r0, r5 bl sub_0204CEE0 cmp r0, #0 bne _0204F4EC cmp r4, #3 movne r0, #5 moveq r0, #9 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0204F4EC: cmp r8, r6 movgt r0, #9 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp sb, #0x26 cmpne sb, #0x29 cmpne sb, #0x3f cmpne sb, #0x63 cmpne sb, #0x64 cmpne sb, #0x65 cmpne sb, #0x66 cmpne sb, #0x67 cmpne sb, #0x68 cmpne sb, #0x6b cmpne sb, #0x6c cmpne sb, #0x6d cmpne sb, #0x6e cmpne sb, #0xae ldreq r0, _0204F558 ; =0x00004001 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, sb mov r1, r7 bl sub_0204F284 mov r4, r0 mov r0, sb bl sub_0204F364 orr r0, r4, r0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0204F558: .word 0x00004001 arm_func_end sub_0204F488 arm_func_start sub_0204F55C sub_0204F55C: ; 0x0204F55C ldr r1, _0204F578 ; =SECONDARY_TERRAIN_TYPES ldrb r0, [r1, r0] cmp r0, #2 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0204F578: .word SECONDARY_TERRAIN_TYPES arm_func_end sub_0204F55C arm_func_start GetNbFloors GetNbFloors: ; 0x0204F57C cmp r0, #0xb4 blo _0204F590 cmp r0, #0xbd movls r0, #5 bxls lr _0204F590: cmp r0, #0xbe moveq r0, #1 bxeq lr cmp r0, #0xbf ldrlo r1, _0204F5B0 ; =DUNGEON_DATA_LIST movhs r0, #0x30 ldrlob r0, [r1, r0, lsl #2] bx lr .align 2, 0 _0204F5B0: .word DUNGEON_DATA_LIST arm_func_end GetNbFloors arm_func_start GetNbFloorsPlusOne GetNbFloorsPlusOne: ; 0x0204F5B4 stmdb sp!, {r3, lr} bl GetNbFloors add r0, r0, #1 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end GetNbFloorsPlusOne arm_func_start GetDungeonGroup GetDungeonGroup: ; 0x0204F5C8 cmp r0, #0xb4 ldrlo r1, _0204F5DC ; =_0209E3A1 movhs r0, #0x35 ldrlob r0, [r1, r0, lsl #2] bx lr .align 2, 0 _0204F5DC: .word _0209E3A1 arm_func_end GetDungeonGroup arm_func_start GetNbPrecedingFloors GetNbPrecedingFloors: ; 0x0204F5E0 cmp r0, #0xb4 ldrlo r1, _0204F5F4 ; =_0209E3A2 movhs r0, #0 ldrlob r0, [r1, r0, lsl #2] bx lr .align 2, 0 _0204F5F4: .word _0209E3A2 arm_func_end GetNbPrecedingFloors arm_func_start GetNbFloorsDungeonGroup GetNbFloorsDungeonGroup: ; 0x0204F5F8 cmp r0, #0xb4 ldrlo r1, _0204F60C ; =_0209E3A3 movhs r0, #0 ldrlob r0, [r1, r0, lsl #2] bx lr .align 2, 0 _0204F60C: .word _0209E3A3 arm_func_end GetNbFloorsDungeonGroup arm_func_start sub_0204F610 sub_0204F610: ; 0x0204F610 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0xb4 movhs r0, #0 ldmhsia sp!, {r4, pc} bl GetMaxMembersAllowed cmp r0, #1 bne _0204F644 mov r0, r4 bl IsRecruitingAllowed cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} _0204F644: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0204F610 arm_func_start DungeonFloorToGroupFloor DungeonFloorToGroupFloor: ; 0x0204F64C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r0 ldrb r0, [r5] cmp r0, #0xb4 blo _0204F690 cmp r0, #0xbd bhi _0204F690 mov r0, #0x35 strb r0, [r4] ldrb r0, [r5] ldrb r1, [r5, #1] sub r0, r0, #0xb4 add r0, r0, r0, lsl #2 add r0, r1, r0 strb r0, [r4, #1] ldmia sp!, {r3, r4, r5, pc} _0204F690: cmp r0, #0xbe bne _0204F6B0 mov r0, #0x35 strb r0, [r4] ldrb r0, [r5, #1] add r0, r0, #0x32 strb r0, [r4, #1] ldmia sp!, {r3, r4, r5, pc} _0204F6B0: cmp r0, #0xbf blo _0204F6D8 cmp r0, #0xd3 bhi _0204F6D8 mov r0, #0x35 strb r0, [r4] ldrb r0, [r5, #1] add r0, r0, #0x33 strb r0, [r4, #1] ldmia sp!, {r3, r4, r5, pc} _0204F6D8: bl GetDungeonGroup strb r0, [r4] ldrb r0, [r5] bl GetNbPrecedingFloors ldrb r1, [r5, #1] add r0, r1, r0 strb r0, [r4, #1] ldmia sp!, {r3, r4, r5, pc} arm_func_end DungeonFloorToGroupFloor arm_func_start sub_0204F6F8 sub_0204F6F8: ; 0x0204F6F8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, r1 mov r1, r2 bl sub_0204F77C cmp r5, #3 addls pc, pc, r5, lsl #2 b _0204F770 _0204F718: ; jump table b _0204F728 ; case 0 b _0204F734 ; case 1 b _0204F74C ; case 2 b _0204F760 ; case 3 _0204F728: bl GetGroundNameId mov r4, r0 b _0204F770 _0204F734: bl GetGroundNameId ldr r1, _0204F778 ; =0xFFFFFEFD add r0, r0, r1 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 b _0204F770 _0204F74C: add r0, r0, #0x3bc add r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 b _0204F770 _0204F760: add r0, r0, #0xbb add r0, r0, #0x4200 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 _0204F770: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0204F778: .word 0xFFFFFEFD arm_func_end sub_0204F6F8 arm_func_start sub_0204F77C sub_0204F77C: ; 0x0204F77C stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 beq _0204F7A0 cmp r5, #0xae bne _0204F7A0 bl GetNbFloorsDungeonGroup cmp r4, r0 moveq r5, #0x7f _0204F7A0: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0204F77C arm_func_start sub_0204F7A8 sub_0204F7A8: ; 0x0204F7A8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrb r0, [r4] cmp r0, #0xb4 movhs r0, #1 bhs _0204F808 bl GetNbFloors add r1, r0, #1 ldrb r0, [r4, #1] and r1, r1, #0xff cmp r0, r1 movhs r0, #1 bhs _0204F808 add r0, sp, #0 mov r1, r4 bl DungeonFloorToGroupFloor ldrb r2, [sp] cmp r2, #0x64 movhs r0, #1 ldrlo r1, _0204F810 ; =MISSION_FLOOR_RANKS_PTRS ldrlob r0, [sp, #1] ldrlo r1, [r1, r2, lsl #2] ldrlob r0, [r1, r0] _0204F808: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0204F810: .word MISSION_FLOOR_RANKS_PTRS arm_func_end sub_0204F7A8 arm_func_start GetMissionRank GetMissionRank: ; 0x0204F814 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrb r0, [r4] cmp r0, #0xb4 movhs r0, #1 bhs _0204F880 bl GetNbFloors add r1, r0, #1 ldrb r0, [r4, #1] and r1, r1, #0xff cmp r0, r1 movhs r0, #1 bhs _0204F880 add r0, sp, #0 mov r1, r4 bl DungeonFloorToGroupFloor ldrb r2, [sp] cmp r2, #0x64 movhs r0, #1 bhs _0204F880 ldrb r1, [sp, #1] ldr r0, _0204F888 ; =MISSION_FLOOR_RANKS_PTRS cmp r1, #1 ldr r0, [r0, r2, lsl #2] movle r1, #2 ldrb r0, [r0, r1] _0204F880: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0204F888: .word MISSION_FLOOR_RANKS_PTRS arm_func_end GetMissionRank arm_func_start GetOutlawLevel GetOutlawLevel: ; 0x0204F88C stmdb sp!, {r3, lr} bl GetMissionRank ldr r1, _0204F8A4 ; =OUTLAW_LEVEL_TABLE mov r0, r0, lsl #1 ldrsh r0, [r1, r0] ldmia sp!, {r3, pc} .align 2, 0 _0204F8A4: .word OUTLAW_LEVEL_TABLE arm_func_end GetOutlawLevel arm_func_start GetOutlawLeaderLevel GetOutlawLeaderLevel: ; 0x0204F8A8 stmdb sp!, {r3, lr} bl GetMissionRank ldr r1, _0204F8C0 ; =OUTLAW_LEVEL_TABLE mov r0, r0, lsl #1 ldrsh r0, [r1, r0] ldmia sp!, {r3, pc} .align 2, 0 _0204F8C0: .word OUTLAW_LEVEL_TABLE arm_func_end GetOutlawLeaderLevel arm_func_start GetOutlawMinionLevel GetOutlawMinionLevel: ; 0x0204F8C4 stmdb sp!, {r3, lr} bl GetMissionRank ldr r1, _0204F8DC ; =OUTLAW_MINION_LEVEL_TABLE mov r0, r0, lsl #1 ldrsh r0, [r1, r0] ldmia sp!, {r3, pc} .align 2, 0 _0204F8DC: .word OUTLAW_MINION_LEVEL_TABLE arm_func_end GetOutlawMinionLevel arm_func_start AddGuestMonster AddGuestMonster: ; 0x0204F8E0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x3c add lr, sp, #0x18 mov r5, r0 mov r4, r1 mov r6, r2 mov ip, #2 _0204F8FC: ldmia r6!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0204F8FC ldr r1, [r6] mov r0, #1 str r1, [lr] strb r0, [r5, #0xf] ldrsh r0, [sp, #0x1c] bl GetNameString mov r1, r0 add r0, sp, #0 mov r2, #0xa bl sub_02025314 add r2, sp, #0 add r1, r5, #0x1c mov r0, #0x44 mla r0, r4, r0, r1 add r1, sp, #0x18 str r2, [sp, #0x18] bl GuestMonsterToGroundMonster add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end AddGuestMonster arm_func_start GetGroundNameId GetGroundNameId: ; 0x0204F958 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #6 bne _0204F980 mov r0, #0x1b bl GetPerformanceFlagWithChecks cmp r0, #0 bne _0204F99C ldr r0, _0204F9B0 ; =0x000042B9 ldmia sp!, {r4, pc} _0204F980: cmp r4, #0x15 bne _0204F99C mov r0, #0x1c bl GetPerformanceFlagWithChecks cmp r0, #0 ldreq r0, _0204F9B4 ; =0x000042BA ldmeqia sp!, {r4, pc} _0204F99C: add r0, r4, #0x1b8 add r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, pc} .align 2, 0 _0204F9B0: .word 0x000042B9 _0204F9B4: .word 0x000042BA arm_func_end GetGroundNameId arm_func_start sub_0204F9B8 sub_0204F9B8: ; 0x0204F9B8 ldr ip, _0204F9C4 ; =sub_02050E08 ldr r0, _0204F9C8 ; =_022AB694 bx ip .align 2, 0 _0204F9C4: .word sub_02050E08 _0204F9C8: .word _022AB694 arm_func_end sub_0204F9B8 arm_func_start sub_0204F9CC sub_0204F9CC: ; 0x0204F9CC ldr ip, _0204F9D8 ; =sub_02050E18 ldr r0, _0204F9DC ; =_022AB694 bx ip .align 2, 0 _0204F9D8: .word sub_02050E18 _0204F9DC: .word _022AB694 arm_func_end sub_0204F9CC arm_func_start sub_0204F9E0 sub_0204F9E0: ; 0x0204F9E0 ldr ip, _0204F9EC ; =sub_02050E54 ldr r0, _0204F9F0 ; =_022AB694 bx ip .align 2, 0 _0204F9EC: .word sub_02050E54 _0204F9F0: .word _022AB694 arm_func_end sub_0204F9E0 arm_func_start sub_0204F9F4 sub_0204F9F4: ; 0x0204F9F4 ldr ip, _0204FA04 ; =sub_02050E5C mov r1, r0 ldr r0, _0204FA08 ; =_022AB694 bx ip .align 2, 0 _0204FA04: .word sub_02050E5C _0204FA08: .word _022AB694 arm_func_end sub_0204F9F4 arm_func_start sub_0204FA0C sub_0204FA0C: ; 0x0204FA0C ldr ip, _0204FA1C ; =sub_02050E8C mov r1, r0 ldr r0, _0204FA20 ; =_022AB694 bx ip .align 2, 0 _0204FA1C: .word sub_02050E8C _0204FA20: .word _022AB694 arm_func_end sub_0204FA0C arm_func_start SetAdventureLogStructLocation SetAdventureLogStructLocation: ; 0x0204FA24 ldr r1, _0204FA34 ; =_022AB69C ldr r0, _0204FA38 ; =ADVENTURE_LOG_PTR str r1, [r0] bx lr .align 2, 0 _0204FA34: .word _022AB69C _0204FA38: .word ADVENTURE_LOG_PTR arm_func_end SetAdventureLogStructLocation arm_func_start SetAdventureLogDungeonFloor SetAdventureLogDungeonFloor: ; 0x0204FA3C ldr r1, _0204FA58 ; =ADVENTURE_LOG_PTR ldrb r2, [r0] ldr r1, [r1] strb r2, [r1, #0x278] ldrb r0, [r0, #1] strb r0, [r1, #0x279] bx lr .align 2, 0 _0204FA58: .word ADVENTURE_LOG_PTR arm_func_end SetAdventureLogDungeonFloor arm_func_start GetAdventureLogDungeonFloor GetAdventureLogDungeonFloor: ; 0x0204FA5C ldr r0, _0204FA6C ; =ADVENTURE_LOG_PTR ldr r0, [r0] add r0, r0, #0x278 bx lr .align 2, 0 _0204FA6C: .word ADVENTURE_LOG_PTR arm_func_end GetAdventureLogDungeonFloor arm_func_start ClearAdventureLogStruct ClearAdventureLogStruct: ; 0x0204FA70 mov r3, #0 ldr r1, _0204FB98 ; =ADVENTURE_LOG_PTR mov r0, r3 _0204FA7C: ldr r2, [r1] str r0, [r2, r3, lsl #2] add r3, r3, #1 cmp r3, #4 blt _0204FA7C ldr r1, _0204FB98 ; =ADVENTURE_LOG_PTR mov r3, #0 ldr r2, [r1] str r0, [r2, #0x2c] ldr r2, [r1] str r0, [r2, #0x30] ldr r2, [r1] str r0, [r2, #0x34] ldr r2, [r1] str r0, [r2, #0x28] ldr r2, [r1] str r0, [r2, #0x10] ldr r2, [r1] str r0, [r2, #0x14] ldr r2, [r1] str r0, [r2, #0x18] ldr r2, [r1] str r0, [r2, #0x1c] ldr r2, [r1] str r0, [r2, #0x20] ldr r2, [r1] str r0, [r2, #0x24] ldr r2, [r1] str r0, [r2, #0x38] ldr r2, [r1] str r0, [r2, #0x3c] ldr r2, [r1] str r0, [r2, #0x40] _0204FB00: ldr r2, [r1] add r2, r2, r0, lsl #2 str r3, [r2, #0x44] ldr r2, [r1] add r2, r2, r0, lsl #2 add r0, r0, #1 str r3, [r2, #0xd8] cmp r0, #0x25 blt _0204FB00 ldr r0, _0204FB98 ; =ADVENTURE_LOG_PTR mov r2, #0 _0204FB2C: ldr r1, [r0] add r1, r1, r3, lsl #2 add r3, r3, #1 str r2, [r1, #0x16c] cmp r3, #0x11 blt _0204FB2C ldr r0, _0204FB98 ; =ADVENTURE_LOG_PTR mov ip, #0 _0204FB4C: ldr r1, [r0] add r1, r1, r2, lsl #2 add r2, r2, #1 str ip, [r1, #0x1b0] cmp r2, #0x2c blt _0204FB4C ldr r1, _0204FB98 ; =ADVENTURE_LOG_PTR ldr r0, [r1] str ip, [r0, #0x260] mov r0, #0x3e8 _0204FB74: rsb r2, ip, #5 mul r3, r2, r0 ldr r2, [r1] add r2, r2, ip, lsl #2 add ip, ip, #1 str r3, [r2, #0x264] cmp ip, #5 blt _0204FB74 bx lr .align 2, 0 _0204FB98: .word ADVENTURE_LOG_PTR arm_func_end ClearAdventureLogStruct arm_func_start SetAdventureLogCompleted SetAdventureLogCompleted: ; 0x0204FB9C ldr r1, _0204FBC0 ; =ADVENTURE_LOG_PTR mov r3, r0, asr #5 ldr ip, [r1] and r0, r0, #0x1f ldr r2, [ip, r3, lsl #2] mov r1, #1 orr r0, r2, r1, lsl r0 str r0, [ip, r3, lsl #2] bx lr .align 2, 0 _0204FBC0: .word ADVENTURE_LOG_PTR arm_func_end SetAdventureLogCompleted arm_func_start IsAdventureLogNotEmpty IsAdventureLogNotEmpty: ; 0x0204FBC4 ldr r0, _0204FBF8 ; =ADVENTURE_LOG_PTR mov r1, #0 ldr r2, [r0] b _0204FBE8 _0204FBD4: ldr r0, [r2, r1, lsl #2] cmp r0, #0 movne r0, #1 bxne lr add r1, r1, #1 _0204FBE8: cmp r1, #4 blt _0204FBD4 mov r0, #0 bx lr .align 2, 0 _0204FBF8: .word ADVENTURE_LOG_PTR arm_func_end IsAdventureLogNotEmpty arm_func_start GetAdventureLogCompleted GetAdventureLogCompleted: ; 0x0204FBFC ldr r1, _0204FC24 ; =ADVENTURE_LOG_PTR mov r2, r0, asr #5 ldr r1, [r1] and r3, r0, #0x1f ldr r0, [r1, r2, lsl #2] mov r1, #1 tst r0, r1, lsl r3 moveq r1, #0 and r0, r1, #0xff bx lr .align 2, 0 _0204FC24: .word ADVENTURE_LOG_PTR arm_func_end GetAdventureLogCompleted arm_func_start IncrementNbDungeonsCleared IncrementNbDungeonsCleared: ; 0x0204FC28 ldr r0, _0204FC64 ; =ADVENTURE_LOG_PTR ldr r1, _0204FC68 ; =0x000F423F ldr r3, [r0] ldr r2, [r3, #0x10] add r2, r2, #1 str r2, [r3, #0x10] ldr r3, [r0] ldr r2, [r3] orr r2, r2, #0x10 str r2, [r3] ldr r2, [r0] ldr r0, [r2, #0x10] cmp r0, r1 strgt r1, [r2, #0x10] bx lr .align 2, 0 _0204FC64: .word ADVENTURE_LOG_PTR _0204FC68: .word 0x000F423F arm_func_end IncrementNbDungeonsCleared arm_func_start GetNbDungeonsCleared GetNbDungeonsCleared: ; 0x0204FC6C ldr r0, _0204FC7C ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x10] bx lr .align 2, 0 _0204FC7C: .word ADVENTURE_LOG_PTR arm_func_end GetNbDungeonsCleared arm_func_start IncrementNbFriendRescues IncrementNbFriendRescues: ; 0x0204FC80 ldr r0, _0204FCC0 ; =ADVENTURE_LOG_PTR ldr r1, _0204FCC4 ; =0x000F423F ldr r3, [r0] ldr r2, [r3, #0x14] add r2, r2, #1 str r2, [r3, #0x14] ldr r2, [r0] ldr r0, [r2, #0x14] cmp r0, r1 ldr r0, _0204FCC0 ; =ADVENTURE_LOG_PTR strgt r1, [r2, #0x14] ldr r1, [r0] ldr r0, [r1] orr r0, r0, #0x40 str r0, [r1] bx lr .align 2, 0 _0204FCC0: .word ADVENTURE_LOG_PTR _0204FCC4: .word 0x000F423F arm_func_end IncrementNbFriendRescues arm_func_start GetNbFriendRescues GetNbFriendRescues: ; 0x0204FCC8 ldr r0, _0204FCD8 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x14] bx lr .align 2, 0 _0204FCD8: .word ADVENTURE_LOG_PTR arm_func_end GetNbFriendRescues arm_func_start IncrementNbEvolutions IncrementNbEvolutions: ; 0x0204FCDC ldr r0, _0204FD1C ; =ADVENTURE_LOG_PTR ldr r1, _0204FD20 ; =0x000F423F ldr r3, [r0] ldr r2, [r3, #0x18] add r2, r2, #1 str r2, [r3, #0x18] ldr r2, [r0] ldr r0, [r2, #0x18] cmp r0, r1 ldr r0, _0204FD1C ; =ADVENTURE_LOG_PTR strgt r1, [r2, #0x18] ldr r1, [r0] ldr r0, [r1] orr r0, r0, #0x80 str r0, [r1] bx lr .align 2, 0 _0204FD1C: .word ADVENTURE_LOG_PTR _0204FD20: .word 0x000F423F arm_func_end IncrementNbEvolutions arm_func_start GetNbEvolutions GetNbEvolutions: ; 0x0204FD24 ldr r0, _0204FD34 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x18] bx lr .align 2, 0 _0204FD34: .word ADVENTURE_LOG_PTR arm_func_end GetNbEvolutions arm_func_start IncrementNbSteals IncrementNbSteals: ; 0x0204FD38 bx lr arm_func_end IncrementNbSteals arm_func_start IncrementNbEggsHatched IncrementNbEggsHatched: ; 0x0204FD3C ldr r1, _0204FD70 ; =ADVENTURE_LOG_PTR ldr r0, _0204FD74 ; =0x000F423F ldr r2, [r1] ldr r1, [r2, #0x1c] cmp r1, r0 addlt r0, r1, #1 strlt r0, [r2, #0x1c] ldr r0, _0204FD70 ; =ADVENTURE_LOG_PTR ldr r1, [r0] ldr r0, [r1] orr r0, r0, #0x100 str r0, [r1] bx lr .align 2, 0 _0204FD70: .word ADVENTURE_LOG_PTR _0204FD74: .word 0x000F423F arm_func_end IncrementNbEggsHatched arm_func_start GetNbEggsHatched GetNbEggsHatched: ; 0x0204FD78 ldr r0, _0204FD88 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x1c] bx lr .align 2, 0 _0204FD88: .word ADVENTURE_LOG_PTR arm_func_end GetNbEggsHatched arm_func_start GetNbPokemonJoined GetNbPokemonJoined: ; 0x0204FD8C ldr r0, _0204FD9C ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x2c] bx lr .align 2, 0 _0204FD9C: .word ADVENTURE_LOG_PTR arm_func_end GetNbPokemonJoined arm_func_start GetNbMovesLearned GetNbMovesLearned: ; 0x0204FDA0 ldr r0, _0204FDB0 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x34] bx lr .align 2, 0 _0204FDB0: .word ADVENTURE_LOG_PTR arm_func_end GetNbMovesLearned arm_func_start SetVictoriesOnOneFloor SetVictoriesOnOneFloor: ; 0x0204FDB4 ldr r1, _0204FDE0 ; =0x000F423F cmp r0, r1 movgt r0, r1 ldr r1, _0204FDE4 ; =ADVENTURE_LOG_PTR ldr r2, [r1] str r0, [r2, #0x28] ldr r1, [r1] ldr r0, [r1] orr r0, r0, #0x200 str r0, [r1] bx lr .align 2, 0 _0204FDE0: .word 0x000F423F _0204FDE4: .word ADVENTURE_LOG_PTR arm_func_end SetVictoriesOnOneFloor arm_func_start GetVictoriesOnOneFloor GetVictoriesOnOneFloor: ; 0x0204FDE8 ldr r0, _0204FDF8 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x28] bx lr .align 2, 0 _0204FDF8: .word ADVENTURE_LOG_PTR arm_func_end GetVictoriesOnOneFloor arm_func_start SetPokemonJoined SetPokemonJoined: ; 0x0204FDFC stmdb sp!, {r3, lr} bl GetDexNumberVeneer cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r3, _0204FE54 ; =ADVENTURE_LOG_PTR mov r1, r0, asr #4 ldr lr, [r3] add r1, r0, r1, lsr #27 ldr ip, [lr] mov r2, r0, lsr #0x1f orr ip, ip, #1 str ip, [lr] ldr r3, [r3] rsb r0, r2, r0, lsl #27 add lr, r3, #0x44 mov ip, r1, asr #5 ldr r3, [lr, ip, lsl #2] add r0, r2, r0, ror #27 mov r1, #1 orr r0, r3, r1, lsl r0 str r0, [lr, ip, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _0204FE54: .word ADVENTURE_LOG_PTR arm_func_end SetPokemonJoined arm_func_start SetPokemonBattled SetPokemonBattled: ; 0x0204FE58 stmdb sp!, {r3, lr} bl GetDexNumberVeneer cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r3, _0204FEB0 ; =ADVENTURE_LOG_PTR mov r1, r0, asr #4 ldr lr, [r3] add r1, r0, r1, lsr #27 ldr ip, [lr] mov r2, r0, lsr #0x1f orr ip, ip, #2 str ip, [lr] ldr r3, [r3] rsb r0, r2, r0, lsl #27 add lr, r3, #0xd8 mov ip, r1, asr #5 ldr r3, [lr, ip, lsl #2] add r0, r2, r0, ror #27 mov r1, #1 orr r0, r3, r1, lsl r0 str r0, [lr, ip, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _0204FEB0: .word ADVENTURE_LOG_PTR arm_func_end SetPokemonBattled arm_func_start GetNbPokemonBattled GetNbPokemonBattled: ; 0x0204FEB4 ldr r0, _0204FEC4 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x30] bx lr .align 2, 0 _0204FEC4: .word ADVENTURE_LOG_PTR arm_func_end GetNbPokemonBattled arm_func_start IncrementNbBigTreasureWins IncrementNbBigTreasureWins: ; 0x0204FEC8 ldr r0, _0204FEE0 ; =ADVENTURE_LOG_PTR ldr ip, _0204FEE4 ; =SetNbBigTreasureWins ldr r0, [r0] ldr r0, [r0, #0x38] add r0, r0, #1 bx ip .align 2, 0 _0204FEE0: .word ADVENTURE_LOG_PTR _0204FEE4: .word SetNbBigTreasureWins arm_func_end IncrementNbBigTreasureWins arm_func_start SetNbBigTreasureWins SetNbBigTreasureWins: ; 0x0204FEE8 ldr r2, _0204FF18 ; =ADVENTURE_LOG_PTR ldr r1, _0204FF1C ; =0x000F423F ldr r3, [r2] cmp r0, r1 ldr r2, [r3] movgt r0, r1 orr r2, r2, #0x400 ldr r1, _0204FF18 ; =ADVENTURE_LOG_PTR str r2, [r3] ldr r1, [r1] str r0, [r1, #0x38] bx lr .align 2, 0 _0204FF18: .word ADVENTURE_LOG_PTR _0204FF1C: .word 0x000F423F arm_func_end SetNbBigTreasureWins arm_func_start GetNbBigTreasureWins GetNbBigTreasureWins: ; 0x0204FF20 ldr r0, _0204FF30 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x38] bx lr .align 2, 0 _0204FF30: .word ADVENTURE_LOG_PTR arm_func_end GetNbBigTreasureWins arm_func_start SetNbRecycled SetNbRecycled: ; 0x0204FF34 ldr r2, _0204FF64 ; =ADVENTURE_LOG_PTR ldr r1, _0204FF68 ; =0x000F423F ldr r3, [r2] cmp r0, r1 ldr r2, [r3] movgt r0, r1 orr r2, r2, #0x800 ldr r1, _0204FF64 ; =ADVENTURE_LOG_PTR str r2, [r3] ldr r1, [r1] str r0, [r1, #0x3c] bx lr .align 2, 0 _0204FF64: .word ADVENTURE_LOG_PTR _0204FF68: .word 0x000F423F arm_func_end SetNbRecycled arm_func_start GetNbRecycled GetNbRecycled: ; 0x0204FF6C ldr r0, _0204FF7C ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x3c] bx lr .align 2, 0 _0204FF7C: .word ADVENTURE_LOG_PTR arm_func_end GetNbRecycled arm_func_start IncrementNbSkyGiftsSent IncrementNbSkyGiftsSent: ; 0x0204FF80 ldr r0, _0204FF98 ; =ADVENTURE_LOG_PTR ldr ip, _0204FF9C ; =SetNbSkyGiftsSent ldr r0, [r0] ldr r0, [r0, #0x40] add r0, r0, #1 bx ip .align 2, 0 _0204FF98: .word ADVENTURE_LOG_PTR _0204FF9C: .word SetNbSkyGiftsSent arm_func_end IncrementNbSkyGiftsSent arm_func_start SetNbSkyGiftsSent SetNbSkyGiftsSent: ; 0x0204FFA0 ldr r2, _0204FFD0 ; =ADVENTURE_LOG_PTR ldr r1, _0204FFD4 ; =0x000F423F ldr r3, [r2] cmp r0, r1 ldr r2, [r3] movgt r0, r1 orr r2, r2, #0x1000 ldr r1, _0204FFD0 ; =ADVENTURE_LOG_PTR str r2, [r3] ldr r1, [r1] str r0, [r1, #0x40] bx lr .align 2, 0 _0204FFD0: .word ADVENTURE_LOG_PTR _0204FFD4: .word 0x000F423F arm_func_end SetNbSkyGiftsSent arm_func_start GetNbSkyGiftsSent GetNbSkyGiftsSent: ; 0x0204FFD8 ldr r0, _0204FFE8 ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x40] bx lr .align 2, 0 _0204FFE8: .word ADVENTURE_LOG_PTR arm_func_end GetNbSkyGiftsSent arm_func_start ComputeSpecialCounters ComputeSpecialCounters: ; 0x0204FFEC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, #0 mov r8, r4 _0204FFF8: mov r0, #0x44 mul sl, r8, r0 ldr r0, _0205022C ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] ldrb r0, [r0, sl] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0205009C mov sb, #0 mov r7, #1 ldr r3, _02050230 ; =ADVENTURE_LOG_PTR ldr ip, _0205022C ; =TEAM_MEMBER_TABLE_PTR mov fp, sb mov lr, r7 mov r2, #6 _0205003C: mul r1, sb, r2 ldr r0, [ip] add r0, r0, sl add r5, r0, #0x22 ldrb r0, [r5, r1] add r1, r5, r1 tst r0, #1 movne r0, r7 moveq r0, fp tst r0, #0xff beq _02050090 ldrh r0, [r1, #2] ldr r5, [r3] mov r1, r0, lsr #5 add r6, r5, r1, lsl #2 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #27 ldr r5, [r6, #0x16c] add r0, r1, r0, ror #27 orr r0, r5, lr, lsl r0 str r0, [r6, #0x16c] _02050090: add sb, sb, #1 cmp sb, #4 blt _0205003C _0205009C: ldr r0, _02050234 ; =0x0000022B add r8, r8, #1 cmp r8, r0 blt _0204FFF8 mov r6, #0 add r5, r0, #0x258 _020500B4: mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl GetDexNumberVeneer add r6, r6, #1 cmp r6, r5 blt _020500B4 mov r7, #0 ldr r5, _02050230 ; =ADVENTURE_LOG_PTR ldr sb, _02050238 ; =0x0000021F mov r8, r7 mov r6, #1 _020500E0: mov r0, r8, lsl #0x10 mov r0, r0, lsr #0x10 bl IsRealMove cmp r0, #0 beq _02050120 mov r0, r8, asr #4 add r0, r8, r0, lsr #27 ldr r2, [r5] mov r0, r0, asr #5 add r2, r2, r0, lsl #2 mov r1, r8, lsr #0x1f rsb r0, r1, r8, lsl #27 ldr r2, [r2, #0x16c] add r0, r1, r0, ror #27 tst r2, r6, lsl r0 addne r7, r7, #1 _02050120: add r8, r8, #1 cmp r8, sb blt _020500E0 cmp r7, #0 ble _02050150 ldr r0, _02050230 ; =ADVENTURE_LOG_PTR ldr r1, [r0] str r7, [r1, #0x34] ldr r1, [r0] ldr r0, [r1] orr r0, r0, #4 str r0, [r1] _02050150: mov sb, #1 ldr r5, _02050230 ; =ADVENTURE_LOG_PTR ldr sl, _0205023C ; =0x00000483 mov r8, #0 mov r6, sb _02050164: mov r0, sb, lsl #0x10 mov r0, r0, asr #0x10 bl GetBaseFormCastformCherrimDeoxys mov r7, r0 bl GetDexNumberVeneer cmp r0, #0 beq _020501B4 mov r1, r0, asr #4 add r1, r0, r1, lsr #27 ldr r3, [r5] mov r2, r1, asr #5 mov r1, r0, lsr #0x1f add r2, r3, r2, lsl #2 rsb r0, r1, r0, lsl #27 ldr r2, [r2, #0x44] add r0, r1, r0, ror #27 tst r2, r6, lsl r0 beq _020501B4 mov r0, r7 bl RecruitSpecialPokemonLog _020501B4: add sb, sb, #1 cmp sb, sl blt _02050164 ldr r0, _02050230 ; =ADVENTURE_LOG_PTR mov r2, #1 ldr r1, [r0] ldr r3, _02050240 ; =0x000001ED mov r0, r2 _020501D4: mov r5, r2, asr #4 add r5, r2, r5, lsr #27 mov sb, r5, asr #5 mov r6, r2, lsr #0x1f rsb r5, r6, r2, lsl #27 add r7, r1, sb, lsl #2 add r6, r6, r5, ror #27 add r5, r1, sb, lsl #2 ldr r7, [r7, #0x44] ldr r5, [r5, #0xd8] tst r7, r0, lsl r6 addne r8, r8, #1 tst r5, r0, lsl r6 add r2, r2, #1 addne r4, r4, #1 cmp r2, r3 blt _020501D4 ldr r0, _02050230 ; =ADVENTURE_LOG_PTR str r8, [r1, #0x2c] ldr r0, [r0] str r4, [r0, #0x30] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205022C: .word TEAM_MEMBER_TABLE_PTR _02050230: .word ADVENTURE_LOG_PTR _02050234: .word 0x0000022B _02050238: .word 0x0000021F _0205023C: .word 0x00000483 _02050240: .word 0x000001ED arm_func_end ComputeSpecialCounters arm_func_start RecruitSpecialPokemonLog RecruitSpecialPokemonLog: ; 0x02050244 stmdb sp!, {r3, lr} cmp r0, #0x258 subge r0, r0, #0x258 movge r0, r0, lsl #0x10 ldr r2, _020502AC ; =ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS mov r3, #0 movge r0, r0, asr #0x10 _02050260: mov r1, r3, lsl #1 ldrsh r1, [r2, r1] cmp r1, #0 ldmeqia sp!, {r3, pc} cmp r1, #0xc9 bne _0205028C cmp r0, #0xc9 blt _02050294 cmp r0, #0xe4 ble _0205029C b _02050294 _0205028C: cmp r1, r0 beq _0205029C _02050294: add r3, r3, #1 b _02050260 _0205029C: add r0, r3, #0x24 and r0, r0, #0xff bl SetAdventureLogCompleted ldmia sp!, {r3, pc} .align 2, 0 _020502AC: .word ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS arm_func_end RecruitSpecialPokemonLog arm_func_start IncrementNbFainted IncrementNbFainted: ; 0x020502B0 ldr r1, _020502E4 ; =ADVENTURE_LOG_PTR ldr r0, _020502E8 ; =0x000F423F ldr r2, [r1] ldr r1, [r2, #0x24] cmp r1, r0 addlt r0, r1, #1 strlt r0, [r2, #0x24] ldr r0, _020502E4 ; =ADVENTURE_LOG_PTR ldr r1, [r0] ldr r0, [r1] orr r0, r0, #0x20 str r0, [r1] bx lr .align 2, 0 _020502E4: .word ADVENTURE_LOG_PTR _020502E8: .word 0x000F423F arm_func_end IncrementNbFainted arm_func_start GetNbFainted GetNbFainted: ; 0x020502EC ldr r0, _020502FC ; =ADVENTURE_LOG_PTR ldr r0, [r0] ldr r0, [r0, #0x24] bx lr .align 2, 0 _020502FC: .word ADVENTURE_LOG_PTR arm_func_end GetNbFainted arm_func_start SetItemAcquired SetItemAcquired: ; 0x02050300 stmdb sp!, {r4, r5, r6, lr} ldrsh r0, [r0, #4] bl NormalizeTreasureBox mov r4, r0 mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl IsItemValidVeneer cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r4, #0x3b blt _02050380 cmp r4, #0x41 bgt _02050380 sub r0, r4, #0x21 and r0, r0, #0xff mov r5, #1 bl SetAdventureLogCompleted mov r6, #0x1a b _02050364 _0205034C: and r0, r6, #0xff bl GetAdventureLogCompleted cmp r0, #0 moveq r5, #0 beq _0205036C add r6, r6, #1 _02050364: cmp r6, #0x20 ble _0205034C _0205036C: cmp r5, #0 beq _02050380 mov r0, #0x15 mov r1, #1 bl sub_0204CB2C _02050380: ldr r3, _020503C8 ; =ADVENTURE_LOG_PTR mov r0, r4, asr #4 ldr ip, [r3] add r0, r4, r0, lsr #27 mov r2, r4, lsr #0x1f rsb r1, r2, r4, lsl #27 add lr, ip, #0x1b0 mov ip, r0, asr #5 ldr r4, [lr, ip, lsl #2] add r0, r2, r1, ror #27 mov r1, #1 orr r0, r4, r1, lsl r0 str r0, [lr, ip, lsl #2] ldr r1, [r3] ldr r0, [r1] orr r0, r0, #8 str r0, [r1] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020503C8: .word ADVENTURE_LOG_PTR arm_func_end SetItemAcquired arm_func_start GetNbItemAcquired GetNbItemAcquired: ; 0x020503CC stmdb sp!, {r4, lr} ldr r1, _0205041C ; =ADVENTURE_LOG_PTR mov r0, #0 ldr r4, [r1] mov lr, r0 mov ip, #1 _020503E4: mov r1, lr, asr #4 add r1, lr, r1, lsr #27 mov r1, r1, asr #5 add r3, r4, r1, lsl #2 mov r2, lr, lsr #0x1f rsb r1, r2, lr, lsl #27 ldr r3, [r3, #0x1b0] add r1, r2, r1, ror #27 tst r3, ip, lsl r1 add lr, lr, #1 addne r0, r0, #1 cmp lr, #0x580 blt _020503E4 ldmia sp!, {r4, pc} .align 2, 0 _0205041C: .word ADVENTURE_LOG_PTR arm_func_end GetNbItemAcquired arm_func_start SetChallengeLetterCleared SetChallengeLetterCleared: ; 0x02050420 stmdb sp!, {r4, lr} ldr r3, _020504A0 ; =ADVENTURE_LOG_PTR mov r2, r0, lsr #0x1f ldr ip, [r3] rsb r1, r2, r0, lsl #27 mov lr, r0, lsr #5 add r4, ip, #0x260 ldr ip, [r4, lr, lsl #2] add r1, r2, r1, ror #27 mov r0, #1 orr r1, ip, r0, lsl r1 str r1, [r4, lr, lsl #2] ldr r4, [r3] mov ip, r0 b _02050488 _0205045C: mov r1, r0, asr #4 add r1, r0, r1, lsr #27 mov r1, r1, asr #5 add r3, r4, r1, lsl #2 mov r2, r0, lsr #0x1f rsb r1, r2, r0, lsl #27 ldr r3, [r3, #0x260] add r1, r2, r1, ror #27 tst r3, ip, lsl r1 ldmeqia sp!, {r4, pc} add r0, r0, #1 _02050488: cmp r0, #6 blt _0205045C ldr r0, [r4, #4] orr r0, r0, #4 str r0, [r4, #4] ldmia sp!, {r4, pc} .align 2, 0 _020504A0: .word ADVENTURE_LOG_PTR arm_func_end SetChallengeLetterCleared arm_func_start GetSentryDutyGamePoints GetSentryDutyGamePoints: ; 0x020504A4 ldr r1, _020504B8 ; =ADVENTURE_LOG_PTR ldr r1, [r1] add r0, r1, r0, lsl #2 ldr r0, [r0, #0x264] bx lr .align 2, 0 _020504B8: .word ADVENTURE_LOG_PTR arm_func_end GetSentryDutyGamePoints arm_func_start SetSentryDutyGamePoints SetSentryDutyGamePoints: ; 0x020504BC stmdb sp!, {r3, lr} ldr r1, _02050548 ; =ADVENTURE_LOG_PTR mov lr, #0 ldr r2, [r1] b _020504EC _020504D0: add r1, r2, lr, lsl #2 ldr r1, [r1, #0x264] cmp r0, r1 bhi _020504F4 add r1, lr, #1 mov r1, r1, lsl #0x10 mov lr, r1, asr #0x10 _020504EC: cmp lr, #5 blt _020504D0 _020504F4: cmp lr, #5 mvnge r0, #0 ldmgeia sp!, {r3, pc} mov ip, #4 ldr r2, _02050548 ; =ADVENTURE_LOG_PTR b _02050528 _0205050C: ldr r3, [r2] sub r1, ip, #1 add ip, r3, ip, lsl #2 ldr r3, [ip, #0x260] mov r1, r1, lsl #0x10 str r3, [ip, #0x264] mov ip, r1, asr #0x10 _02050528: cmp ip, lr bgt _0205050C ldr r1, _02050548 ; =ADVENTURE_LOG_PTR ldr r1, [r1] add r1, r1, lr, lsl #2 str r0, [r1, #0x264] mov r0, lr ldmia sp!, {r3, pc} .align 2, 0 _02050548: .word ADVENTURE_LOG_PTR arm_func_end SetSentryDutyGamePoints arm_func_start CopyLogTo CopyLogTo: ; 0x0205054C stmdb sp!, {r4, lr} mov r4, r0 bl ComputeSpecialCounters ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x14 add r1, r1, #0x10 bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x14 add r1, r1, #0x14 bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x14 add r1, r1, #0x18 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x80 ldr r1, [r1] bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0xe ldr r1, [r1] add r1, r1, #0x2c bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0xe ldr r1, [r1] add r1, r1, #0x30 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #9 ldr r1, [r1] add r1, r1, #0x34 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x28 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x24 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x1c bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x38 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x3c bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x40 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x4a0 ldr r1, [r1] add r1, r1, #0x44 bl CopyBitsTo mov r0, r4 ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r2, #0x4a0 ldr r1, [r1] add r1, r1, #0xd8 bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x220 add r1, r1, #0x16c bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x580 add r1, r1, #0x1b0 bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x20 add r1, r1, #0x260 bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0xa0 add r1, r1, #0x264 bl CopyBitsTo ldr r1, _02050734 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] add r1, r1, #0x278 bl sub_020515C4 ldmia sp!, {r4, pc} .align 2, 0 _02050734: .word ADVENTURE_LOG_PTR arm_func_end CopyLogTo arm_func_start CopyLogFrom CopyLogFrom: ; 0x02050738 stmdb sp!, {r4, lr} ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] mov r4, r0 add r1, r1, #0x10 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x14 add r1, r1, #0x14 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x14 add r1, r1, #0x18 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x80 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0xe add r1, r1, #0x2c bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0xe ldr r1, [r1] add r1, r1, #0x30 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #9 ldr r1, [r1] add r1, r1, #0x34 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x28 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x24 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x1c bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x38 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x3c bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x14 ldr r1, [r1] add r1, r1, #0x40 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x4a0 ldr r1, [r1] add r1, r1, #0x44 bl CopyBitsFrom mov r0, r4 ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r2, #0x4a0 ldr r1, [r1] add r1, r1, #0xd8 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x220 add r1, r1, #0x16c bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x580 add r1, r1, #0x1b0 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0x20 add r1, r1, #0x260 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] mov r2, #0xa0 add r1, r1, #0x264 bl CopyBitsFrom ldr r1, _02050918 ; =ADVENTURE_LOG_PTR mov r0, r4 ldr r1, [r1] add r1, r1, #0x278 bl Copy16BitsFrom ldmia sp!, {r4, pc} .align 2, 0 _02050918: .word ADVENTURE_LOG_PTR arm_func_end CopyLogFrom arm_func_start GetAbilityString GetAbilityString: ; 0x0205091C add r1, r1, #0xde add r1, r1, #0x3500 mov r1, r1, lsl #0x10 ldr ip, _02050938 ; =CopyStringFromMessageId mov r1, r1, lsr #0x10 mov r2, #0x50 bx ip .align 2, 0 _02050938: .word CopyStringFromMessageId arm_func_end GetAbilityString arm_func_start GetAbilityDescStringId GetAbilityDescStringId: ; 0x0205093C add r0, r0, #0x5a add r0, r0, #0x3600 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr arm_func_end GetAbilityDescStringId arm_func_start GetTypeStringId GetTypeStringId: ; 0x02050950 add r0, r0, #0xcb add r0, r0, #0x3500 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr arm_func_end GetTypeStringId arm_func_start sub_02050964 sub_02050964: ; 0x02050964 ldr r1, _02050970 ; =_020A192C ldrb r0, [r1, r0] bx lr .align 2, 0 _02050970: .word _020A192C arm_func_end sub_02050964 arm_func_start sub_02050974 sub_02050974: ; 0x02050974 str r1, [r0] mov r3, #0 str r3, [r0, #8] str r3, [r0, #0xc] add r1, r1, r2 str r1, [r0, #4] bx lr arm_func_end sub_02050974 arm_func_start sub_02050990 sub_02050990: ; 0x02050990 str r1, [r0] mov r3, #0 str r3, [r0, #8] str r3, [r0, #0xc] add r3, r1, r2 str r3, [r0, #4] mov r0, r1 ldr ip, _020509B8 ; =MemZero mov r1, r2 bx ip .align 2, 0 _020509B8: .word MemZero arm_func_end sub_02050990 arm_func_start sub_020509BC sub_020509BC: ; 0x020509BC bx lr arm_func_end sub_020509BC arm_func_start CopyBitsTo CopyBitsTo: ; 0x020509C0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov ip, #0 mov r3, #1 mov r5, ip mov r4, ip b _02050A34 _020509D8: ldrb r6, [r1] sub r2, r2, #1 tst r6, r3, lsl ip ldrne r7, [r0] ldrne lr, [r0, #8] ldrneb r6, [r7] add ip, ip, #1 orrne r6, r6, r3, lsl lr strneb r6, [r7] ldr lr, [r0, #8] cmp ip, #8 add lr, lr, #1 moveq ip, r5 addeq r1, r1, #1 str lr, [r0, #8] cmp lr, #8 ldreq lr, [r0] addeq lr, lr, #1 streq lr, [r0] streq r4, [r0, #8] ldr lr, [r0, #0xc] add lr, lr, #1 str lr, [r0, #0xc] _02050A34: cmp r2, #0 bne _020509D8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end CopyBitsTo arm_func_start CopyBitsFrom CopyBitsFrom: ; 0x02050A40 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov lr, #0 mov ip, lr mov r3, #1 mov r6, lr mov r5, lr b _02050AC0 _02050A5C: cmp lr, #0 streqb ip, [r1] ldr r7, [r0] ldr r4, [r0, #8] ldrb r7, [r7] sub r2, r2, #1 tst r7, r3, lsl r4 ldrneb r4, [r1] orrne r4, r4, r3, lsl lr strneb r4, [r1] ldr r4, [r0, #8] add lr, lr, #1 cmp lr, #8 add r4, r4, #1 moveq lr, r6 addeq r1, r1, #1 str r4, [r0, #8] cmp r4, #8 ldreq r4, [r0] addeq r4, r4, #1 streq r4, [r0] streq r5, [r0, #8] ldr r4, [r0, #0xc] add r4, r4, #1 str r4, [r0, #0xc] _02050AC0: cmp r2, #0 bne _02050A5C ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end CopyBitsFrom arm_func_start StoreDefaultTeamName StoreDefaultTeamName: ; 0x02050ACC stmdb sp!, {lr} sub sp, sp, #0x14 add r0, sp, #0 mov r1, #0x234 bl GetStringFromFileVeneer ldr r0, _02050B08 ; =_022AB918 add r1, sp, #0 mov r2, #0xa bl sub_02025314 ldr r0, _02050B0C ; =_022AB918 mov r1, #0 str r1, [r0, #0xc] strb r1, [r0, #0x10] add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 _02050B08: .word _022AB918 _02050B0C: .word _022AB918 arm_func_end StoreDefaultTeamName arm_func_start GetTeamNameCheck GetTeamNameCheck: ; 0x02050B10 stmdb sp!, {r4, lr} sub sp, sp, #0x40 mov r4, r0 mov r0, #1 bl GetPerformanceFlagWithChecks cmp r0, #0 ldrne r0, _02050B70 ; =_022AB918 ldrneb r0, [r0] cmpne r0, #0 beq _02050B4C ldr r1, _02050B74 ; =_022AB918 mov r0, r4 mov r2, #0xa bl StrncpySimpleNoPad b _02050B68 _02050B4C: ldr r1, _02050B78 ; =0x00000237 add r0, sp, #0 bl GetStringFromFileVeneer add r1, sp, #0 mov r0, r4 mov r2, #0xa bl sub_02025314 _02050B68: add sp, sp, #0x40 ldmia sp!, {r4, pc} .align 2, 0 _02050B70: .word _022AB918 _02050B74: .word _022AB918 _02050B78: .word 0x00000237 arm_func_end GetTeamNameCheck arm_func_start GetTeamName GetTeamName: ; 0x02050B7C ldr ip, _02050B8C ; =StrncpySimpleNoPadSafe ldr r1, _02050B90 ; =_022AB918 mov r2, #0xa bx ip .align 2, 0 _02050B8C: .word StrncpySimpleNoPadSafe _02050B90: .word _022AB918 arm_func_end GetTeamName arm_func_start SetTeamName SetTeamName: ; 0x02050B94 ldr r1, _02050BB4 ; =_022AB918 mov r3, #0 _02050B9C: ldrb r2, [r0], #1 strb r2, [r1, r3] add r3, r3, #1 cmp r3, #0xa blt _02050B9C bx lr .align 2, 0 _02050BB4: .word _022AB918 arm_func_end SetTeamName arm_func_start GetRankupPoints GetRankupPoints: ; 0x02050BB8 stmdb sp!, {r4, lr} bl GetRank mov r4, r0 mov r0, #0x16 bl GetPerformanceFlagWithChecks cmp r0, #0 beq _02050BE4 cmp r4, #0xc bne _02050BF0 mov r0, #0 ldmia sp!, {r4, pc} _02050BE4: cmp r4, #8 movhs r0, #0 ldmhsia sp!, {r4, pc} _02050BF0: mov r0, r4 bl GetRankUpEntry ldr r1, _02050C0C ; =_022AB918 ldr r2, [r0, #4] ldr r0, [r1, #0xc] sub r0, r2, r0 ldmia sp!, {r4, pc} .align 2, 0 _02050C0C: .word _022AB918 arm_func_end GetRankupPoints arm_func_start sub_02050C10 sub_02050C10: ; 0x02050C10 stmdb sp!, {r3, lr} ldr r1, _02050C6C ; =_022AB918 ldr r2, [r1, #0xc] add r2, r2, r0 mov r0, #0x16 str r2, [r1, #0xc] bl GetPerformanceFlagWithChecks cmp r0, #0 beq _02050C4C ldr r0, _02050C6C ; =_022AB918 ldr r1, _02050C70 ; =0x05F5E0FF ldr r2, [r0, #0xc] cmp r2, r1 strgt r1, [r0, #0xc] ldmia sp!, {r3, pc} _02050C4C: mov r0, #7 bl GetRankUpEntry ldr r1, _02050C6C ; =_022AB918 ldr r2, [r0, #4] ldr r0, [r1, #0xc] cmp r0, r2 strgt r2, [r1, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _02050C6C: .word _022AB918 _02050C70: .word 0x05F5E0FF arm_func_end sub_02050C10 arm_func_start GetRank GetRank: ; 0x02050C74 stmdb sp!, {r3, r4, r5, lr} mov r5, #0 ldr r4, _02050CCC ; =_022AB918 b _02050CA4 _02050C84: mov r0, r5 bl GetRankUpEntry ldr r1, [r4, #0xc] ldr r0, [r0, #4] cmp r1, r0 blt _02050CAC add r0, r5, #1 and r5, r0, #0xff _02050CA4: cmp r5, #0xc blo _02050C84 _02050CAC: mov r0, #0x16 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _02050CC4 cmp r5, #8 movhi r5, #8 _02050CC4: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02050CCC: .word _022AB918 arm_func_end GetRank arm_func_start sub_02050CD0 sub_02050CD0: ; 0x02050CD0 stmdb sp!, {r3, lr} bl GetRank cmp r0, #8 movhi r0, #8 ldmia sp!, {r3, pc} arm_func_end sub_02050CD0 arm_func_start sub_02050CE4 sub_02050CE4: ; 0x02050CE4 stmdb sp!, {r3, lr} bl GetRank bl GetRankUpEntry ldr r0, [r0, #8] ldmia sp!, {r3, pc} arm_func_end sub_02050CE4 arm_func_start sub_02050CF8 sub_02050CF8: ; 0x02050CF8 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 ldr r1, _02050D70 ; =_022AB918 add r0, sp, #0 mov r2, #0x50 bl CopyBitsTo ldr r1, _02050D74 ; =_022AB924 add r0, sp, #0 mov r2, #0x20 bl CopyBitsTo mov r0, #1 bl GetPerformanceFlagWithChecks ldr r1, _02050D78 ; =_022AB918 tst r0, #0xff strb r0, [r1, #0x10] ldrne r1, _02050D7C ; =ARM9_UNKNOWN_DATA__NA_209E6BC add r0, sp, #0 ldreq r1, _02050D80 ; =_0209E6BD mov r2, #1 bl CopyBitsTo add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 _02050D70: .word _022AB918 _02050D74: .word _022AB924 _02050D78: .word _022AB918 _02050D7C: .word ARM9_UNKNOWN_DATA__NA_209E6BC _02050D80: .word _0209E6BD arm_func_end sub_02050CF8 arm_func_start sub_02050D84 sub_02050D84: ; 0x02050D84 stmdb sp!, {lr} sub sp, sp, #0x14 mov r3, r0 mov r2, r1 add r0, sp, #4 mov r1, r3 bl sub_02050974 ldr r1, _02050DFC ; =_022AB918 add r0, sp, #4 mov r2, #0x50 bl CopyBitsFrom ldr r1, _02050E00 ; =_022AB924 add r0, sp, #4 mov r2, #0x20 bl CopyBitsFrom add r0, sp, #4 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] ldr r1, _02050E04 ; =_022AB918 tst r0, #1 movne r2, #1 moveq r2, #0 add r0, sp, #4 strb r2, [r1, #0x10] bl sub_020509BC ldr r0, [sp, #0xc] add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 _02050DFC: .word _022AB918 _02050E00: .word _022AB924 _02050E04: .word _022AB918 arm_func_end sub_02050D84 arm_func_start sub_02050E08 sub_02050E08: ; 0x02050E08 mov r1, #0 strb r1, [r0, #4] str r1, [r0] bx lr arm_func_end sub_02050E08 arm_func_start sub_02050E18 sub_02050E18: ; 0x02050E18 ldrb r1, [r0, #4] add r2, r1, #1 and r1, r2, #0xff strb r2, [r0, #4] cmp r1, #0x3c bxlo lr mov r1, #0 strb r1, [r0, #4] ldr r2, [r0] ldr r1, _02050E50 ; =_022550FF cmp r2, r1 addlo r1, r2, #1 strlo r1, [r0] bx lr .align 2, 0 _02050E50: .word _022550FF arm_func_end sub_02050E18 arm_func_start sub_02050E54 sub_02050E54: ; 0x02050E54 ldr r0, [r0] bx lr arm_func_end sub_02050E54 arm_func_start sub_02050E5C sub_02050E5C: ; 0x02050E5C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r0, r4 add r1, r5, #4 mov r2, #6 bl CopyBitsTo mov r0, r4 mov r1, r5 mov r2, #0x20 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02050E5C arm_func_start sub_02050E8C sub_02050E8C: ; 0x02050E8C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r0, r4 add r1, r5, #4 mov r2, #6 bl CopyBitsFrom mov r0, r4 mov r1, r5 mov r2, #0x20 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02050E8C arm_func_start sub_02050EBC sub_02050EBC: ; 0x02050EBC stmdb sp!, {r0, r1, r2, r3} ldrsh r3, [sp, #2] ldrsh r0, [sp, #6] ldrsh r2, [sp] ldrsh r1, [sp, #4] add r0, r3, r0 strh r0, [sp, #2] ldrsh r0, [sp, #2] add r1, r2, r1 strh r1, [sp] cmp r0, #0x3e8 subge r0, r0, #0x3e8 ldrgesh r1, [sp] strgeh r0, [sp, #2] addge r0, r1, #1 strgeh r0, [sp] ldrh r1, [sp, #2] ldrh r0, [sp] orr r0, r0, r1, lsl #16 add sp, sp, #0x10 bx lr arm_func_end sub_02050EBC arm_func_start SubFixedPoint SubFixedPoint: ; 0x02050F10 stmdb sp!, {r0, r1, r2, r3} ldrsh r3, [sp, #2] ldrsh r0, [sp, #6] ldrsh r2, [sp] ldrsh r1, [sp, #4] sub r0, r3, r0 strh r0, [sp, #2] ldrsh r0, [sp, #2] sub r1, r2, r1 strh r1, [sp] cmp r0, #0 addlt r0, r0, #0x3e8 ldrltsh r1, [sp] strlth r0, [sp, #2] sublt r0, r1, #1 strlth r0, [sp] ldrsh r0, [sp] cmp r0, #0 movlt r0, #0 strlth r0, [sp, #2] strlth r0, [sp] ldrh r1, [sp, #2] ldrh r0, [sp] orr r0, r0, r1, lsl #16 add sp, sp, #0x10 bx lr arm_func_end SubFixedPoint arm_func_start sub_02050F78 sub_02050F78: ; 0x02050F78 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3} sub sp, sp, #4 ldrsh r1, [sp, #8] ldrsh r0, [sp, #0xc] cmp r1, r0 ldrgth r1, [sp, #0xe] ldrgth r0, [sp, #0xc] orrgt r0, r0, r1, lsl #16 bgt _02050FE8 ldrlth r1, [sp, #0xa] ldrlth r0, [sp, #8] orrlt r0, r0, r1, lsl #16 blt _02050FE8 ldrsh r1, [sp, #0xa] ldrsh r0, [sp, #0xe] cmp r1, r0 ldrgth r1, [sp, #0xc] ldrgth r0, [sp, #0xe] strgth r1, [sp] strgth r0, [sp, #2] ldrleh r1, [sp, #8] ldrleh r0, [sp, #0xa] strleh r1, [sp] strleh r0, [sp, #2] ldrh r1, [sp, #2] ldrh r0, [sp] orr r0, r0, r1, lsl #16 _02050FE8: add sp, sp, #4 ldmia sp!, {r3} add sp, sp, #0x10 bx lr arm_func_end sub_02050F78 arm_func_start sub_02050FF8 sub_02050FF8: ; 0x02050FF8 stmdb sp!, {r3} sub sp, sp, #4 strh r0, [sp] ldrh r0, [sp] mov r1, #0 strh r1, [sp, #2] orr r0, r0, r1, lsl #16 add sp, sp, #4 ldmia sp!, {r3} bx lr arm_func_end sub_02050FF8 arm_func_start BinToDecFixedPoint BinToDecFixedPoint: ; 0x02051020 stmdb sp!, {r3} sub sp, sp, #4 ldr r2, [r0, #4] mov r1, #0x3e8 mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 mul r1, r0, r1 mov r2, r2, lsr #0x10 mov r0, r1, lsr #0x10 strh r2, [sp] strh r0, [sp, #2] ldrh r1, [sp, #2] ldrh r0, [sp] orr r0, r0, r1, lsl #16 add sp, sp, #4 ldmia sp!, {r3} bx lr arm_func_end BinToDecFixedPoint arm_func_start CeilFixedPoint CeilFixedPoint: ; 0x02051064 stmdb sp!, {r0, r1, r2, r3} ldrsh r0, [sp] ldrsh r1, [sp, #2] cmp r0, #0 bne _02051088 cmp r1, #0 movne r0, #1 moveq r0, #0 b _02051090 _02051088: cmp r1, #0 addne r0, r0, #1 _02051090: add sp, sp, #0x10 bx lr arm_func_end CeilFixedPoint arm_func_start sub_02051098 sub_02051098: ; 0x02051098 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #0x10 bl CopyBitsFrom mov r0, r5 add r1, r4, #2 mov r2, #0x10 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02051098 arm_func_start sub_020510C0 sub_020510C0: ; 0x020510C0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #0x10 bl CopyBitsTo mov r0, r5 add r1, r4, #2 mov r2, #0x10 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020510C0 arm_func_start sub_020510E8 sub_020510E8: ; 0x020510E8 ldr r3, _02051128 ; =_020AFF88 mov ip, #1 str r0, [r3] ldr r0, _0205112C ; =0x6C078965 b _02051114 _020510FC: add r1, r3, ip, lsl #2 ldr r1, [r1, #-4] eor r1, r1, r1, lsr #30 mla r2, r1, r0, ip str r2, [r3, ip, lsl #2] add ip, ip, #1 _02051114: cmp ip, #0x270 blt _020510FC ldr r0, _02051130 ; =_020AFF7C str ip, [r0] bx lr .align 2, 0 _02051128: .word _020AFF88 _0205112C: .word 0x6C078965 _02051130: .word _020AFF7C arm_func_end sub_020510E8 arm_func_start sub_02051134 sub_02051134: ; 0x02051134 stmdb sp!, {r4, lr} ldr r0, _0205126C ; =_020AFF7C ldr r1, [r0] cmp r1, #0x270 blt _02051230 ldr r0, _02051270 ; =0x00000271 cmp r1, r0 bne _0205115C add r0, r0, #0x1300 bl sub_020510E8 _0205115C: ldr ip, _02051274 ; =_020AFF88 ldr r2, _02051278 ; =_020AFF80 mov r0, #0 _02051168: add r3, ip, r0, lsl #2 ldr r4, [ip, r0, lsl #2] ldr r1, [r3, #4] and r4, r4, #0x80000000 bic r1, r1, #0x80000000 orr r4, r4, r1 and r1, r4, #1 ldr r3, [r3, #0x634] ldr r1, [r2, r1, lsl #2] eor r3, r3, r4, lsr #1 eor r1, r3, r1 str r1, [ip, r0, lsl #2] add r0, r0, #1 cmp r0, #0xe3 blt _02051168 ldr r4, _02051274 ; =_020AFF88 ldr r3, _02051278 ; =_020AFF80 ldr r1, _0205127C ; =0x0000026F b _020511E8 _020511B4: add ip, r4, r0, lsl #2 ldr lr, [r4, r0, lsl #2] ldr r2, [ip, #4] and lr, lr, #0x80000000 bic r2, r2, #0x80000000 orr lr, lr, r2 and r2, lr, #1 ldr ip, [ip, #-0x38c] ldr r2, [r3, r2, lsl #2] eor ip, ip, lr, lsr #1 eor r2, ip, r2 str r2, [r4, r0, lsl #2] add r0, r0, #1 _020511E8: cmp r0, r1 blt _020511B4 ldr r1, _02051274 ; =_020AFF88 ldr r0, _02051278 ; =_020AFF80 ldr r3, [r1, #0x9bc] ldr r2, [r1] and r3, r3, #0x80000000 bic r2, r2, #0x80000000 orr ip, r3, r2 and r2, ip, #1 ldr r3, [r1, #0x630] ldr r0, [r0, r2, lsl #2] eor r2, r3, ip, lsr #1 eor r2, r2, r0 ldr r0, _0205126C ; =_020AFF7C str r2, [r1, #0x9bc] mov r1, #0 str r1, [r0] _02051230: ldr r1, _0205126C ; =_020AFF7C ldr r2, _02051274 ; =_020AFF88 ldr r3, [r1] ldr r0, _02051280 ; =0x9D2C5680 ldr r2, [r2, r3, lsl #2] add ip, r3, #1 eor r3, r2, r2, lsr #11 and r2, r0, r3, lsl #7 ldr r0, _02051284 ; =0xEFC60000 eor r2, r3, r2 and r0, r0, r2, lsl #15 eor r0, r2, r0 str ip, [r1] eor r0, r0, r0, lsr #18 ldmia sp!, {r4, pc} .align 2, 0 _0205126C: .word _020AFF7C _02051270: .word 0x00000271 _02051274: .word _020AFF88 _02051278: .word _020AFF80 _0205127C: .word 0x0000026F _02051280: .word 0x9D2C5680 _02051284: .word 0xEFC60000 arm_func_end sub_02051134 arm_func_start DungeonGoesUp DungeonGoesUp: ; 0x02051288 mov r1, #0xc mul r1, r0, r1 ldr r0, _020512AC ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #1 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020512AC: .word DUNGEON_RESTRICTIONS arm_func_end DungeonGoesUp arm_func_start GetTurnLimit GetTurnLimit: ; 0x020512B0 mov r1, #0xc mul r1, r0, r1 ldr r0, _020512C4 ; =_020A0C6C ldrsh r0, [r0, r1] bx lr .align 2, 0 _020512C4: .word _020A0C6C arm_func_end GetTurnLimit arm_func_start DoesNotSaveWhenEntering DoesNotSaveWhenEntering: ; 0x020512C8 mov r1, #0xc mul r1, r0, r1 ldr r0, _020512EC ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x80 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020512EC: .word DUNGEON_RESTRICTIONS arm_func_end DoesNotSaveWhenEntering arm_func_start TreasureBoxDropsEnabled TreasureBoxDropsEnabled: ; 0x020512F0 mov r1, #0xc mul r1, r0, r1 ldr r0, _02051314 ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x400 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02051314: .word DUNGEON_RESTRICTIONS arm_func_end TreasureBoxDropsEnabled arm_func_start IsLevelResetDungeon IsLevelResetDungeon: ; 0x02051318 mov r1, #0xc mul r1, r0, r1 ldr r0, _0205133C ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x10 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205133C: .word DUNGEON_RESTRICTIONS arm_func_end IsLevelResetDungeon arm_func_start GetMaxItemsAllowed GetMaxItemsAllowed: ; 0x02051340 mov r1, #0xc mul r1, r0, r1 ldr r0, _02051354 ; =_020A0C69 ldrb r0, [r0, r1] bx lr .align 2, 0 _02051354: .word _020A0C69 arm_func_end GetMaxItemsAllowed arm_func_start IsMoneyAllowed IsMoneyAllowed: ; 0x02051358 mov r1, #0xc mul r1, r0, r1 ldr r0, _0205137C ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x20 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205137C: .word DUNGEON_RESTRICTIONS arm_func_end IsMoneyAllowed arm_func_start GetMaxRescueAttempts GetMaxRescueAttempts: ; 0x02051380 mov r1, #0xc mul r1, r0, r1 ldr r0, _02051394 ; =_020A0C68 ldrsb r0, [r0, r1] bx lr .align 2, 0 _02051394: .word _020A0C68 arm_func_end GetMaxRescueAttempts arm_func_start IsRecruitingAllowed IsRecruitingAllowed: ; 0x02051398 mov r1, #0xc mul r1, r0, r1 ldr r0, _020513BC ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #8 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020513BC: .word DUNGEON_RESTRICTIONS arm_func_end IsRecruitingAllowed arm_func_start GetLeaderChangeFlag GetLeaderChangeFlag: ; 0x020513C0 mov r1, #0xc mul r1, r0, r1 ldr r0, _020513E4 ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x40 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020513E4: .word DUNGEON_RESTRICTIONS arm_func_end GetLeaderChangeFlag arm_func_start GetRandomMovementChance GetRandomMovementChance: ; 0x020513E8 mov r1, #0xc mul r1, r0, r1 ldr r0, _020513FC ; =_020A0C6E ldrsh r0, [r0, r1] bx lr .align 2, 0 _020513FC: .word _020A0C6E arm_func_end GetRandomMovementChance arm_func_start CanEnemyEvolve CanEnemyEvolve: ; 0x02051400 mov r1, #0xc mul r1, r0, r1 ldr r0, _02051424 ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #2 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02051424: .word DUNGEON_RESTRICTIONS arm_func_end CanEnemyEvolve arm_func_start GetMaxMembersAllowed GetMaxMembersAllowed: ; 0x02051428 mov r1, #0xc mul r1, r0, r1 ldr r0, _0205143C ; =_020A0C6A ldrb r0, [r0, r1] bx lr .align 2, 0 _0205143C: .word _020A0C6A arm_func_end GetMaxMembersAllowed arm_func_start IsIqEnabled IsIqEnabled: ; 0x02051440 mov r1, #0xc mul r1, r0, r1 ldr r0, _02051464 ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x100 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02051464: .word DUNGEON_RESTRICTIONS arm_func_end IsIqEnabled arm_func_start IsTrapInvisibleWhenAttacking IsTrapInvisibleWhenAttacking: ; 0x02051468 mov r1, #0xc mul r1, r0, r1 ldr r0, _0205148C ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #0x200 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205148C: .word DUNGEON_RESTRICTIONS arm_func_end IsTrapInvisibleWhenAttacking arm_func_start JoinedAtRangeCheck JoinedAtRangeCheck: ; 0x02051490 cmp r0, #0xd9 blo _020514A4 cmp r0, #0xe4 movlo r0, #1 blo _020514A8 _020514A4: mov r0, #0 _020514A8: and r0, r0, #0xff bx lr arm_func_end JoinedAtRangeCheck arm_func_start IsDojoDungeon IsDojoDungeon: ; 0x020514B0 cmp r0, #0xb4 blo _020514C4 cmp r0, #0xd3 movls r0, #1 bxls lr _020514C4: mov r0, #0 bx lr arm_func_end IsDojoDungeon arm_func_start IsFutureDungeon IsFutureDungeon: ; 0x020514CC cmp r0, #0x1b blo _020514E0 cmp r0, #0x21 movls r0, #1 bxls lr _020514E0: mov r0, #0 bx lr arm_func_end IsFutureDungeon arm_func_start IsSpecialEpisodeDungeon IsSpecialEpisodeDungeon: ; 0x020514E8 cmp r0, #0x7b blo _020514FC cmp r0, #0xa4 movls r0, #1 bxls lr _020514FC: mov r0, #0 bx lr arm_func_end IsSpecialEpisodeDungeon arm_func_start RetrieveFromItemList1 RetrieveFromItemList1: ; 0x02051504 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r0, _02051564 ; =0x0000270F mov r6, r1 bl RandIntSafe mov r4, r0 ldr r0, _02051564 ; =0x0000270F bl RandIntSafe mov r5, r0 ldrb r0, [r7] cmp r0, #0xb4 cmphs r0, #0xd3 movhs r0, #0x55 ldmhsia sp!, {r3, r4, r5, r6, r7, pc} bl GetNbFloorsPlusOne ldrb r1, [r7, #1] cmp r1, r0 movhs r0, #0x55 ldmhsia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, r4 mov r2, r5 bl GetItemIdFromList ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02051564: .word 0x0000270F arm_func_end RetrieveFromItemList1 arm_func_start IsForbiddenFloor IsForbiddenFloor: ; 0x02051568 stmdb sp!, {r3, lr} mov r1, r0 add r0, sp, #0 bl DungeonFloorToGroupFloor ldrb ip, [sp] ldrb lr, [sp, #1] ldr r1, _020515C0 ; =MISSION_FLOORS_FORBIDDEN mov r3, #0 _02051588: ldrb r0, [r1, r3, lsl #1] mov r2, r3, lsl #1 cmp r0, #0x64 beq _020515B8 cmp ip, r0 addeq r0, r1, r2 ldreqb r0, [r0, #1] cmpeq lr, r0 moveq r0, #1 ldmeqia sp!, {r3, pc} add r3, r3, #1 b _02051588 _020515B8: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _020515C0: .word MISSION_FLOORS_FORBIDDEN arm_func_end IsForbiddenFloor arm_func_start sub_020515C4 sub_020515C4: ; 0x020515C4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #8 bl CopyBitsTo mov r0, r5 add r1, r4, #1 mov r2, #8 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020515C4 arm_func_start Copy16BitsFrom Copy16BitsFrom: ; 0x020515EC stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r3, #0 strb r3, [r4] mov r5, r0 mov r2, #8 strb r3, [r4, #1] bl CopyBitsFrom mov r0, r5 add r1, r4, #1 mov r2, #8 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end Copy16BitsFrom arm_func_start sub_02051620 sub_02051620: ; 0x02051620 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #7 bl CopyBitsTo mov r0, r5 add r1, r4, #1 mov r2, #7 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02051620 arm_func_start sub_02051648 sub_02051648: ; 0x02051648 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r3, #0 strb r3, [r4] mov r5, r0 mov r2, #7 strb r3, [r4, #1] bl CopyBitsFrom mov r0, r5 add r1, r4, #1 mov r2, #7 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02051648 arm_func_start RetrieveFromItemList2 RetrieveFromItemList2: ; 0x0205167C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r0, _020516D8 ; =0x0000270F mov r6, r1 bl RandIntSafe mov r5, r0 ldr r0, _020516D8 ; =0x0000270F bl RandIntSafe mov r4, r0 ldrb r0, [r7] cmp r0, #0xb4 movhs r0, #0x55 ldmhsia sp!, {r3, r4, r5, r6, r7, pc} bl GetNbFloorsPlusOne ldrb r1, [r7, #1] cmp r1, r0 movhs r0, #0x55 ldmhsia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, r5 mov r2, r4 bl GetItemIdFromList ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020516D8: .word 0x0000270F arm_func_end RetrieveFromItemList2 arm_func_start IsInvalidForMission IsInvalidForMission: ; 0x020516DC cmp r0, #0xb4 movhs r0, #1 bxhs lr mov r2, #0 ldr r1, _02051718 ; =_020A1864 b _02051704 _020516F4: cmp r3, r0 moveq r0, #1 bxeq lr add r2, r2, #1 _02051704: ldrb r3, [r1, r2] cmp r3, #0xb4 bne _020516F4 mov r0, #0 bx lr .align 2, 0 _02051718: .word _020A1864 arm_func_end IsInvalidForMission arm_func_start IsExpEnabledInDungeon IsExpEnabledInDungeon: ; 0x0205171C mov r1, #0xc mul r1, r0, r1 ldr r0, _02051740 ; =DUNGEON_RESTRICTIONS ldr r0, [r0, r1] tst r0, #4 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02051740: .word DUNGEON_RESTRICTIONS arm_func_end IsExpEnabledInDungeon arm_func_start IsSkyExclusiveDungeon IsSkyExclusiveDungeon: ; 0x02051744 cmp r0, #0x67 blo _02051758 cmp r0, #0xb0 movls r0, #1 bxls lr _02051758: mov r0, #0 bx lr arm_func_end IsSkyExclusiveDungeon arm_func_start JoinedAtRangeCheck2 JoinedAtRangeCheck2: ; 0x02051760 cmp r0, #0xd7 beq _02051778 cmp r0, #0xec blo _02051780 cmp r0, #0xf0 bhi _02051780 _02051778: mov r0, #1 bx lr _02051780: mov r0, #0 bx lr arm_func_end JoinedAtRangeCheck2 arm_func_start sub_02051788 sub_02051788: ; 0x02051788 ldr r1, _02051794 ; =_020A20B1 ldrb r0, [r1, r0, lsl #1] bx lr .align 2, 0 _02051794: .word _020A20B1 arm_func_end sub_02051788 arm_func_start sub_02051798 sub_02051798: ; 0x02051798 mov ip, #0 ldr r2, _020517D0 ; =ARM9_UNKNOWN_TABLE__NA_20A20B0 b _020517C0 _020517A4: add r1, r2, ip, lsl #1 ldrb r1, [r1, #1] mov r3, ip, lsl #1 cmp r0, r1 ldreqb r0, [r2, r3] bxeq lr add ip, ip, #1 _020517C0: cmp ip, #0x100 blt _020517A4 mov r0, #0xff bx lr .align 2, 0 _020517D0: .word ARM9_UNKNOWN_TABLE__NA_20A20B0 arm_func_end sub_02051798 arm_func_start GetBagCapacity GetBagCapacity: ; 0x020517D4 ldr r1, _020517E0 ; =BAG_CAPACITY_TABLE ldr r0, [r1, r0, lsl #2] bx lr .align 2, 0 _020517E0: .word BAG_CAPACITY_TABLE arm_func_end GetBagCapacity arm_func_start GetBagCapacitySpecialEpisode GetBagCapacitySpecialEpisode: ; 0x020517E4 ldr r1, _020517F0 ; =BAG_CAPACITY_TABLE_SPECIAL_EPISODES ldr r0, [r1, r0, lsl #2] bx lr .align 2, 0 _020517F0: .word BAG_CAPACITY_TABLE_SPECIAL_EPISODES arm_func_end GetBagCapacitySpecialEpisode arm_func_start GetRankUpEntry GetRankUpEntry: ; 0x020517F4 ldr r1, _02051800 ; =RANK_UP_TABLE add r0, r1, r0, lsl #4 bx lr .align 2, 0 _02051800: .word RANK_UP_TABLE arm_func_end GetRankUpEntry arm_func_start sub_02051804 sub_02051804: ; 0x02051804 stmdb sp!, {r4, lr} add ip, r0, #0x100 ldrsh r4, [ip, #0x40] mov ip, #0x14 ldr lr, [sp, #8] smlabb r4, r4, ip, r0 cmp lr, #1 moveq r1, #0 stmeqia r4, {r1, r2} streq r1, [r4, #8] strne r3, [r4] strne r2, [r4, #4] strne r1, [r4, #8] ldrneh r1, [sp, #0xc] str lr, [r4, #0xc] add r0, r0, #0x100 str r1, [r4, #0x10] ldrsh r1, [r0, #0x40] add r1, r1, #1 strh r1, [r0, #0x40] ldmia sp!, {r4, pc} arm_func_end sub_02051804 arm_func_start sub_02051858 sub_02051858: ; 0x02051858 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0x1c mov r1, #0 mov r5, r2 mov r4, r3 bl MemAlloc str r0, [r7, #8] str r6, [r7, #0xc] mov r0, #1 strb r0, [r7, #0x16] str r5, [r7] str r4, [r7, #4] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02051858 arm_func_start sub_02051894 sub_02051894: ; 0x02051894 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x16] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] bl MemFree mov r0, #0 strb r0, [r4, #0x16] ldmia sp!, {r4, pc} arm_func_end sub_02051894 arm_func_start sub_020518BC sub_020518BC: ; 0x020518BC stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 cmp r2, #0 mov r0, #0 bne _02051934 cmp r1, #1 bne _02051904 ldr r1, _020519B0 ; =0x06018000 ldr r2, _020519B4 ; =0x0400001C str r1, [r4, #0x10] str r0, [sp] ldr r0, [r4, #8] sub r3, r1, #0x9000 mov r1, #1 bl sub_0200B2C4 mov r0, #1 b _02051990 _02051904: cmp r1, #0 bne _02051990 ldr r1, _020519B8 ; =0x06010000 ldr r2, _020519BC ; =0x04000018 str r1, [r4, #0x10] str r0, [sp] ldr r0, [r4, #8] sub r3, r1, #0x2000 mov r1, #1 bl sub_0200B2C4 mov r0, #1 b _02051990 _02051934: cmp r1, #1 bne _02051964 ldr r1, _020519C0 ; =0x06218000 ldr r2, _020519C4 ; =0x0400101C str r1, [r4, #0x10] str r0, [sp] ldr r0, [r4, #8] sub r3, r1, #0x9000 mov r1, #1 bl sub_0200B2C4 mov r0, #1 b _02051990 _02051964: cmp r1, #0 bne _02051990 ldr r1, _020519C8 ; =0x06210000 ldr r2, _020519CC ; =0x04001018 str r1, [r4, #0x10] str r0, [sp] ldr r0, [r4, #8] sub r3, r1, #0x2000 mov r1, #1 bl sub_0200B2C4 mov r0, #1 _02051990: cmp r0, #0 beq _020519A8 ldr r0, [r4, #8] bl sub_0200B3D4 ldr r0, [r4, #8] bl sub_0200B330 _020519A8: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _020519B0: .word 0x06018000 _020519B4: .word 0x0400001C _020519B8: .word 0x06010000 _020519BC: .word 0x04000018 _020519C0: .word 0x06218000 _020519C4: .word 0x0400101C _020519C8: .word 0x06210000 _020519CC: .word 0x04001018 arm_func_end sub_020518BC arm_func_start sub_020519D0 sub_020519D0: ; 0x020519D0 stmdb sp!, {r3, lr} mov r0, #0x21c mov r1, #0 bl MemAlloc ldr r2, _02051B3C ; =_020B09B0 mov r1, #0x21c str r0, [r2] bl MemZero mov r1, #0 ldr r0, _02051B3C ; =_020B09B0 str r1, [sp] ldr r0, [r0] mov r2, #0x100 add r0, r0, #0x1a4 mov r3, #0x5000000 bl sub_0200A124 ldr r0, _02051B3C ; =_020B09B0 mov r2, #0 ldr r1, [r0] mov r3, #0x100 str r2, [sp] add r0, r1, #0x1cc add r1, r1, #0x1a4 bl sub_0200A478 mov r1, #0 str r1, [sp] ldr r0, _02051B3C ; =_020B09B0 mov r2, #0x100 ldr r0, [r0] ldr r3, _02051B40 ; =0x05000400 add r0, r0, #0x1b8 bl sub_0200A124 ldr r0, _02051B3C ; =_020B09B0 mov r2, #0 ldr r1, [r0] mov r3, #0x100 str r2, [sp] add r0, r1, #0x1f4 add r1, r1, #0x1b8 bl sub_0200A478 ldr r0, _02051B3C ; =_020B09B0 mov r2, #0 ldr r0, [r0] mov r3, r2 add r1, r0, #0x1cc bl sub_02051858 ldr r0, _02051B3C ; =_020B09B0 mov r2, #1 ldr r1, [r0] mov r3, #0 add r0, r1, #0x18 add r1, r1, #0x1cc bl sub_02051858 ldr r0, _02051B3C ; =_020B09B0 mov r1, #0 ldr r0, [r0] mov r2, r1 bl sub_020518BC ldr r0, _02051B3C ; =_020B09B0 mov r1, #1 ldr r0, [r0] mov r2, #0 add r0, r0, #0x18 bl sub_020518BC ldr r0, _02051B3C ; =_020B09B0 ldr r1, [r0] add r0, r1, #0x30 add r1, r1, #0x1f4 mov r2, #0 mov r3, #1 bl sub_02051858 ldr r0, _02051B3C ; =_020B09B0 mov r2, #1 ldr r1, [r0] mov r3, r2 add r0, r1, #0x48 add r1, r1, #0x1f4 bl sub_02051858 ldr r0, _02051B3C ; =_020B09B0 mov r1, #0 ldr r0, [r0] mov r2, #1 add r0, r0, #0x30 bl sub_020518BC ldr r0, _02051B3C ; =_020B09B0 mov r1, #1 ldr r0, [r0] mov r2, r1 add r0, r0, #0x48 bl sub_020518BC ldmia sp!, {r3, pc} .align 2, 0 _02051B3C: .word _020B09B0 _02051B40: .word 0x05000400 arm_func_end sub_020519D0 arm_func_start sub_02051B44 sub_02051B44: ; 0x02051B44 stmdb sp!, {r3, lr} ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] bl sub_02051894 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x18 bl sub_02051894 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #8] bl sub_0200B314 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #0x20] bl sub_0200B314 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x30 bl sub_02051894 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x48 bl sub_02051894 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #0x38] bl sub_0200B314 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #0x50] bl sub_0200B314 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1cc bl sub_0200A4C4 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1f4 bl sub_0200A4C4 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1a4 bl sub_0200A158 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1b8 bl sub_0200A158 ldr r0, _02051C20 ; =_020B09B0 ldr r0, [r0] bl MemFree ldr r0, _02051C20 ; =_020B09B0 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02051C20: .word _020B09B0 arm_func_end sub_02051B44 arm_func_start sub_02051C24 sub_02051C24: ; 0x02051C24 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #8 bl sub_0200302C ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #8] bl sub_0200B340 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #0x38] bl sub_0200B340 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #0x20] bl sub_0200B340 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] ldr r0, [r0, #0x50] bl sub_0200B340 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1cc bl sub_0200A510 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1f4 bl sub_0200A510 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1a4 bl sub_0200A184 ldr r0, _02051D64 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1b8 bl sub_0200A184 ldr r0, _02051D64 ; =_020B09B0 mov r6, #0 ldr r0, [r0] mov r8, r6 add r4, r0, #0x60 add r0, r4, #0x100 ldrsh r5, [r0, #0x40] mov r7, #0x14 b _02051D3C _02051CE4: smlabb r2, r6, r7, r4 ldr r0, [r2, #4] cmp r0, #0 beq _02051D20 ldr r1, [r2, #0xc] cmp r1, #0 bne _02051D10 ldr r1, [r2, #8] ldr r2, [r2] bl ArrayCopy32 b _02051D30 _02051D10: cmp r1, #1 bne _02051D30 bl MemFree b _02051D30 _02051D20: ldr r1, [r2, #8] ldr r2, [r2] mov r0, r8 bl ArrayFill32 _02051D30: add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 _02051D3C: cmp r6, r5 blt _02051CE4 ldr r0, _02051D64 ; =_020B09B0 mov r2, #0 ldr r1, [r0] mov r0, #8 add r1, r1, #0x100 strh r2, [r1, #0xa0] bl sub_020030FC ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02051D64: .word _020B09B0 arm_func_end sub_02051C24 arm_func_start sub_02051D68 sub_02051D68: ; 0x02051D68 ldr r2, _02051D84 ; =_020B09B0 mov r1, #0x28 ldr r2, [r2] ldr ip, _02051D88 ; =sub_0200A504 add r2, r2, #0x1cc mla r0, r1, r0, r2 bx ip .align 2, 0 _02051D84: .word _020B09B0 _02051D88: .word sub_0200A504 arm_func_end sub_02051D68 arm_func_start sub_02051D8C sub_02051D8C: ; 0x02051D8C stmdb sp!, {r3, lr} sub sp, sp, #8 ldr ip, _02051DCC ; =_020B09B0 str r1, [sp, #4] ldr ip, [ip] ldr lr, [sp, #0x10] mov r1, #0x30 mla ip, lr, r1, ip mov r1, #0x18 mla r1, r3, r1, ip str r0, [sp] ldr r0, [r1, #8] add r1, sp, #0 bl sub_0200B3FC add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02051DCC: .word _020B09B0 arm_func_end sub_02051D8C arm_func_start sub_02051DD0 sub_02051DD0: ; 0x02051DD0 stmdb sp!, {r3, lr} ldr r3, _02051DF8 ; =_020B09B0 mov r2, #0x30 ldr ip, [r3] mov r3, #0x18 mla r2, r1, r2, ip mla r1, r0, r3, r2 ldr r0, [r1, #8] bl sub_0200B3D4 ldmia sp!, {r3, pc} .align 2, 0 _02051DF8: .word _020B09B0 arm_func_end sub_02051DD0 arm_func_start sub_02051DFC sub_02051DFC: ; 0x02051DFC ldr r3, _02051E1C ; =_020B09B0 mov r2, #0x30 ldr ip, [r3] mov r3, #0x18 mla r2, r1, r2, ip mla r1, r0, r3, r2 ldr r0, [r1, #8] bx lr .align 2, 0 _02051E1C: .word _020B09B0 arm_func_end sub_02051DFC arm_func_start sub_02051E20 sub_02051E20: ; 0x02051E20 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr ip, _02051E5C ; =_020B09B0 str r1, [sp, #4] ldr ip, [ip] mov r1, #0x30 mla ip, r3, r1, ip mov r1, #0x18 mla r1, r2, r1, ip str r0, [sp] ldr r0, [r1, #8] add r1, sp, #0 bl sub_0200B3C0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02051E5C: .word _020B09B0 arm_func_end sub_02051E20 arm_func_start sub_02051E60 sub_02051E60: ; 0x02051E60 stmdb sp!, {r3, lr} ldr r3, _02051E88 ; =_020B09B0 mov r2, #0x30 ldr ip, [r3] mov r3, #0x18 mla r2, r1, r2, ip mla r1, r0, r3, r2 ldr r0, [r1, #8] bl sub_0200B330 ldmia sp!, {r3, pc} .align 2, 0 _02051E88: .word _020B09B0 arm_func_end sub_02051E60 arm_func_start GetBgRegionArea GetBgRegionArea: ; 0x02051E8C stmdb sp!, {r3, lr} ldr ip, _02051EB4 ; =_020B09B0 mov r3, #0x30 ldr lr, [ip] mov ip, #0x18 mla r3, r2, r3, lr mla r2, r1, ip, r3 ldr r1, [r2, #0x10] add r0, r1, r0 ldmia sp!, {r3, pc} .align 2, 0 _02051EB4: .word _020B09B0 arm_func_end GetBgRegionArea arm_func_start sub_02051EB8 sub_02051EB8: ; 0x02051EB8 ldr r2, _02051ED0 ; =_020B09B0 mov r1, #0x14 ldr r2, [r2] add r2, r2, #0x1a4 mla r0, r1, r0, r2 bx lr .align 2, 0 _02051ED0: .word _020B09B0 arm_func_end sub_02051EB8 arm_func_start sub_02051ED4 sub_02051ED4: ; 0x02051ED4 ldr r2, _02051EEC ; =_020B09B0 mov r1, #0x28 ldr r2, [r2] add r2, r2, #0x1cc mla r0, r1, r0, r2 bx lr .align 2, 0 _02051EEC: .word _020B09B0 arm_func_end sub_02051ED4 arm_func_start sub_02051EF0 sub_02051EF0: ; 0x02051EF0 stmdb sp!, {r3, lr} cmp r3, #0 beq _02051F4C ldrb lr, [r0] mov ip, #0xff ldrb lr, [r3, lr, lsl #2] mul lr, r2, lr mov lr, lr, lsr #8 strb lr, [sp] ldrb lr, [r0, #1] add lr, r3, lr, lsl #2 ldrb lr, [lr, #1] mul lr, r2, lr mov lr, lr, lsr #8 strb lr, [sp, #1] ldrb r0, [r0, #2] add r0, r3, r0, lsl #2 ldrb r0, [r0, #2] mul r0, r2, r0 mov r0, r0, lsr #8 strb r0, [sp, #2] strb ip, [sp, #3] b _02051F84 _02051F4C: ldrb ip, [r0] mov r3, #0xff mul lr, ip, r2 mov ip, lr, lsr #8 strb ip, [sp] ldrb ip, [r0, #1] mul lr, ip, r2 mov ip, lr, lsr #8 strb ip, [sp, #1] ldrb r0, [r0, #2] mul r2, r0, r2 mov r0, r2, lsr #8 strb r0, [sp, #2] strb r3, [sp, #3] _02051F84: ldr r0, _02051FB0 ; =_020B09B0 mov r1, r1, lsl #0x10 ldr r0, [r0] ldr r2, [sp, #8] add r3, r0, #0x1cc mov r0, #0x28 mla r0, r2, r0, r3 add r2, sp, #0 mov r1, r1, lsr #0x10 bl sub_0200A590 ldmia sp!, {r3, pc} .align 2, 0 _02051FB0: .word _020B09B0 arm_func_end sub_02051EF0 arm_func_start sub_02051FB4 sub_02051FB4: ; 0x02051FB4 stmdb sp!, {r3, lr} sub sp, sp, #8 str r3, [sp] mov r3, #0 str r3, [sp, #4] ldr ip, _02051FEC ; =_020B09B0 mov r3, r2 mov r2, r1 ldr ip, [ip] mov r1, r0 add r0, ip, #0x60 bl sub_02051804 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02051FEC: .word _020B09B0 arm_func_end sub_02051FB4 arm_func_start sub_02051FF0 sub_02051FF0: ; 0x02051FF0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r3, r0 mov r5, r1 add r0, sp, #0 mov r1, r3 bl LoadFileFromRom ldr r0, [sp] bl GetAtSize mov r4, r0 cmp r4, #0 ldrle r0, [sp] strle r0, [r5] ldrle r4, [sp, #4] ble _02052054 mov r1, #0 bl MemAlloc mov r1, r4 ldr r2, [sp] mov r4, r0 bl DecompressAtNormalVeneer str r4, [r5] add r0, sp, #0 ldr r4, [r4, #0xc] bl UnloadFile _02052054: mov r0, r4 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02051FF0 arm_func_start sub_02052060 sub_02052060: ; 0x02052060 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c ldr r4, _020522E4 ; =_020B09B0 mov sl, r1 ldr r7, [sp, #0x54] ldr r4, [r4] mov r1, #0x30 mla r4, r7, r1, r4 ldr fp, [sp, #0x50] mov r1, #0x18 mla r4, fp, r1, r4 mov sb, r2 add r1, sp, #0x28 mov r2, #0xf mov r8, r3 ldr r5, [r4, #0x10] bl sub_02051FF0 mov r3, r0 ldr r4, [sp, #0x28] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _020522E4 ; =_020B09B0 ldr r2, [r4, #8] ldr r0, [r0] add r1, r5, sl add r2, r4, r2 add r0, r0, #0x60 bl sub_02051804 mov r0, #1 str r0, [sp] mov r1, #0 ldr r0, _020522E4 ; =_020B09B0 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r3, r1 add r0, r0, #0x60 bl sub_02051804 ldr r1, [sp, #0x28] rsb r0, sb, #0x20 mov r0, r0, lsl #0x10 ldr r1, [r1, #0x10] str r0, [sp, #0x18] add r0, r4, r1 str r0, [sp, #0xc] mov r5, #0 b _020521CC _02052120: mov r6, #0 mov r0, r6 str r0, [sp, #8] ldr r0, [sp, #0xc] mov r1, sb, lsl #0x10 add r0, r0, sb, lsl #6 str r0, [sp, #0x10] mov r0, r1, asr #0x10 str r0, [sp, #0x14] _02052144: ldr r0, [sp, #0x10] mov r1, r6, lsl #1 ldrh r1, [r1, r0] ldr r2, _020522E8 ; =0x00000FFF mov r0, r6, lsl #0x10 and r2, r1, r2 mov r2, r2, lsl #0x10 mov r1, r1, lsl #4 mov r2, r2, lsr #0x10 add r1, r8, r1, lsr #16 add r2, r2, sl, lsr #5 mov r1, r1, lsl #0x1c mov r2, r2, lsl #0x10 mov r1, r1, lsr #0x10 orr r1, r1, r2, lsr #16 mov r1, r1, lsl #0x10 mov r2, r1, lsr #0x10 ldr r1, [sp, #0x14] mov r0, r0, asr #0x10 str r7, [sp] mov r3, fp bl sub_02051D8C ldr r0, [sp, #8] add r6, r6, #1 add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 str r0, [sp, #8] cmp r0, #0x20 blo _02052144 add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 add sb, sb, #1 _020521CC: ldr r0, [sp, #0x18] cmp r5, r0, lsr #16 blo _02052120 mov r0, fp mov r1, r7 bl sub_02051E60 ldr r0, [sp, #0x28] ldr r3, _020522EC ; =ARM9_UNKNOWN_PTR__NA_20A2C84 ldr r0, [r0] add r2, sp, #0x1c add r5, r4, r0 mov r4, #0 mov r1, #4 _02052200: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02052200 mov r0, #0x28 mul r6, r7, r0 b _020522B0 _0205221C: add r3, sp, #0x1c add r2, sp, #0x20 mov r1, #4 _02052228: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02052228 ldrb r0, [r5] add r3, sp, #0x20 add r2, sp, #0x24 strb r0, [sp, #0x20] ldrb r0, [r5, #1] mov r1, #4 strb r0, [sp, #0x21] ldrb r0, [r5, #2] strb r0, [sp, #0x22] ldrb r0, [r5, #3] strb r0, [sp, #0x23] _02052264: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _02052264 add r0, r4, r8, lsl #4 cmp r0, #0x100 bge _020522C8 ldr r1, _020522E4 ; =_020B09B0 mov r0, r0, lsl #0x10 ldr r1, [r1] mov r0, r0, asr #0x10 add r3, r1, #0x1cc mov r1, r0, lsl #0x10 add r2, sp, #0x24 add r0, r3, r6 mov r1, r1, lsr #0x10 bl sub_0200A590 add r4, r4, #1 add r5, r5, #4 _020522B0: ldr r0, [sp, #0x28] ldr r1, [r0, #4] mov r0, r1, asr #1 add r0, r1, r0, lsr #30 cmp r4, r0, asr #2 blt _0205221C _020522C8: ldr r0, _020522E4 ; =_020B09B0 ldr r0, [r0] add r0, r0, #0x1cc add r0, r0, r6 bl sub_0200A504 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020522E4: .word _020B09B0 _020522E8: .word 0x00000FFF _020522EC: .word ARM9_UNKNOWN_PTR__NA_20A2C84 arm_func_end sub_02052060 arm_func_start sub_020522F0 sub_020522F0: ; 0x020522F0 stmdb sp!, {r4, lr} mov r4, r1 bl sub_02051FF0 str r0, [r4, #8] ldr r1, [r4] ldr r0, [r1, #8] add r0, r1, r0 str r0, [r4, #4] ldr r0, [r4] ldr r0, [r0, #0x10] add r0, r1, r0 str r0, [r4, #0xc] ldr r0, [r4] ldr r0, [r0] add r0, r1, r0 str r0, [r4, #0x10] ldmia sp!, {r4, pc} arm_func_end sub_020522F0 arm_func_start sub_02052334 sub_02052334: ; 0x02052334 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} bl MemFree mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_02052334 arm_func_start LoadMonsterMd LoadMonsterMd: ; 0x02052358 stmdb sp!, {r3, lr} ldr r0, _02052388 ; =_020B09C0 ldr r1, _0205238C ; =_020A31B8 mov r2, #0 bl LoadFileFromRom bl LoadM2nAndN2m ldr r0, _02052390 ; =_020B09B4 ldr r1, [r0, #0xc] str r1, [r0, #4] add r1, r1, #8 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02052388: .word _020B09C0 _0205238C: .word _020A31B8 _02052390: .word _020B09B4 arm_func_end LoadMonsterMd arm_func_start GetNameRaw GetNameRaw: ; 0x02052394 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 mov r1, #0x258 bl __divsi3 add r0, r1, #0x1f add r0, r0, #0x2200 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r1, r0 mov r0, r4 mov r2, #0x14 bl strncpy ldmia sp!, {r4, pc} arm_func_end GetNameRaw arm_func_start GetName GetName: ; 0x020523D0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, r1 mov r1, #0x258 mov r4, r2 bl __divsi3 add r0, r1, #0x1f add r0, r0, #0x2200 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r3, r0 mov r0, r5 mov r2, r4 ldr r1, _02052414 ; =_020A31D4 bl SprintfStatic__02052418 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02052414: .word _020A31D4 arm_func_end GetName arm_func_start SprintfStatic__02052418 SprintfStatic__02052418: ; 0x02052418 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02052418 arm_func_start GetNameWithGender GetNameWithGender: ; 0x02052440 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r5, r1 mov r6, r0 mov r0, r5 mov r1, #0x258 mov r4, r2 bl __divsi3 add r0, r1, #0x1f add r0, r0, #0x2200 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldr r2, _020524F4 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] mov r3, r0 smlabb r0, r5, r1, r2 ldrb r0, [r0, #0x12] cmp r0, #3 cmpne r5, #0x1d cmpne r5, #0x20 bne _020524B0 ldr r1, _020524F8 ; =_020A31D4 mov r0, r6 mov r2, r4 bl SprintfStatic__02052418 b _020524EC _020524B0: cmp r0, #2 bne _020524D4 ldr r1, _020524FC ; =_020A31E4 mov r5, #0xbe mov r0, r6 mov r2, r4 str r5, [sp] bl SprintfStatic__02052418 b _020524EC _020524D4: ldr r1, _020524FC ; =_020A31E4 mov r5, #0xbd mov r0, r6 mov r2, r4 str r5, [sp] bl SprintfStatic__02052418 _020524EC: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020524F4: .word _020B09B4 _020524F8: .word _020A31D4 _020524FC: .word _020A31E4 arm_func_end GetNameWithGender arm_func_start GetSpeciesString GetSpeciesString: ; 0x02052500 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r0, r4 bl GetBaseForm cmp r0, #0xc9 bne _02052684 cmp r4, #0xca moveq r4, #1 beq _02052660 cmp r4, #0xcb moveq r4, #2 beq _02052660 cmp r4, #0xcc moveq r4, #3 beq _02052660 cmp r4, #0xcd moveq r4, #4 beq _02052660 cmp r4, #0xce moveq r4, #5 beq _02052660 cmp r4, #0xcf moveq r4, #6 beq _02052660 cmp r4, #0xd0 moveq r4, #7 beq _02052660 cmp r4, #0xd1 moveq r4, #8 beq _02052660 cmp r4, #0xd2 moveq r4, #9 beq _02052660 cmp r4, #0xd3 moveq r4, #0xa beq _02052660 cmp r4, #0xd4 moveq r4, #0xb beq _02052660 cmp r4, #0xd5 moveq r4, #0xc beq _02052660 cmp r4, #0xd6 moveq r4, #0xd beq _02052660 cmp r4, #0xd7 moveq r4, #0xe beq _02052660 cmp r4, #0xd8 moveq r4, #0xf beq _02052660 cmp r4, #0xd9 moveq r4, #0x10 beq _02052660 cmp r4, #0xda moveq r4, #0x11 beq _02052660 cmp r4, #0xdb moveq r4, #0x12 beq _02052660 cmp r4, #0xdc moveq r4, #0x13 beq _02052660 cmp r4, #0xdd moveq r4, #0x14 beq _02052660 cmp r4, #0xde moveq r4, #0x15 beq _02052660 cmp r4, #0xdf moveq r4, #0x16 beq _02052660 cmp r4, #0xe0 moveq r4, #0x17 beq _02052660 cmp r4, #0xe1 moveq r4, #0x18 beq _02052660 cmp r4, #0xe2 moveq r4, #0x19 beq _02052660 cmp r4, #0xe3 moveq r4, #0x1a beq _02052660 cmp r4, #0xe4 moveq r4, #0x1b movne r4, #0 _02052660: ldr r0, _020526B8 ; =0x000022E8 bl StringFromMessageId ldr r1, _020526BC ; =UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE mov r2, r0 ldr r3, [r1, r4, lsl #2] ldr r1, _020526C0 ; =_020A31F4 mov r0, r5 bl SprintfStatic__02052418 ldmia sp!, {r3, r4, r5, pc} _02052684: mov r0, r4 mov r1, #0x258 bl __divsi3 add r0, r1, #0x1f add r0, r0, #0x2200 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r2, r0 ldr r1, _020526C4 ; =_020A31FC mov r0, r5 bl SprintfStatic__02052418 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020526B8: .word 0x000022E8 _020526BC: .word UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE _020526C0: .word _020A31F4 _020526C4: .word _020A31FC arm_func_end GetSpeciesString arm_func_start GetNameString GetNameString: ; 0x020526C8 stmdb sp!, {r3, lr} mov r1, #0x258 bl __divsi3 add r0, r1, #0x1f add r0, r0, #0x2200 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId ldmia sp!, {r3, pc} arm_func_end GetNameString arm_func_start GetSpriteIndex__020526EC GetSpriteIndex__020526EC: ; 0x020526EC ldr r2, _02052704 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrh r0, [r0, #0x10] bx lr .align 2, 0 _02052704: .word _020B09B4 arm_func_end GetSpriteIndex__020526EC arm_func_start GetSpriteIndex__02052708 GetSpriteIndex__02052708: ; 0x02052708 ldr r2, _02052720 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrh r0, [r0, #0x10] bx lr .align 2, 0 _02052720: .word _020B09B4 arm_func_end GetSpriteIndex__02052708 arm_func_start GetSpriteIndex__02052724 GetSpriteIndex__02052724: ; 0x02052724 ldr r2, _0205273C ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrh r0, [r0, #0x10] bx lr .align 2, 0 _0205273C: .word _020B09B4 arm_func_end GetSpriteIndex__02052724 arm_func_start GetDexNumber GetDexNumber: ; 0x02052740 ldr r2, _02052758 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrsh r0, [r0, #4] bx lr .align 2, 0 _02052758: .word _020B09B4 arm_func_end GetDexNumber arm_func_start GetCategoryString GetCategoryString: ; 0x0205275C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl sub_02025888 mov r4, r0 mov r0, r5 mov r1, #0x258 bl __divsi3 add r0, r1, #0x77 add r0, r0, #0x2400 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl StringFromMessageId mov r2, r0 ldr r1, _020527A4 ; =_020A3200 mov r0, r4 bl SprintfStatic__02052418 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020527A4: .word _020A3200 arm_func_end GetCategoryString arm_func_start GetMonsterGender GetMonsterGender: ; 0x020527A8 ldr r2, _020527C0 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x12] bx lr .align 2, 0 _020527C0: .word _020B09B4 arm_func_end GetMonsterGender arm_func_start GetBodySize GetBodySize: ; 0x020527C4 ldr r2, _020527DC ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x13] bx lr .align 2, 0 _020527DC: .word _020B09B4 arm_func_end GetBodySize arm_func_start GetSpriteSize GetSpriteSize: ; 0x020527E0 stmdb sp!, {r3, lr} mov r1, #0x258 bl __divsi3 mov r0, r1, lsl #0x10 ldr r2, _02052818 ; =MONSTER_SPRITE_DATA mov r0, r0, asr #0x10 ldrb r0, [r2, r0, lsl #1] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} cmp r0, #6 movls r0, #6 ldrhib r0, [r2, r1, lsl #1] ldmia sp!, {r3, pc} .align 2, 0 _02052818: .word MONSTER_SPRITE_DATA arm_func_end GetSpriteSize arm_func_start GetSpriteFileSize GetSpriteFileSize: ; 0x0205281C stmdb sp!, {r3, lr} mov r1, #0x258 bl __divsi3 ldr r0, _02052838 ; =_020A2D09 ldrb r0, [r0, r1, lsl #1] mov r0, r0, lsl #9 ldmia sp!, {r3, pc} .align 2, 0 _02052838: .word _020A2D09 arm_func_end GetSpriteFileSize arm_func_start GetShadowSize GetShadowSize: ; 0x0205283C ldr r2, _02052854 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x2e] bx lr .align 2, 0 _02052854: .word _020B09B4 arm_func_end GetShadowSize arm_func_start GetSpeedStatus GetSpeedStatus: ; 0x02052858 ldr r2, _02052870 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrsh r0, [r0, #6] bx lr .align 2, 0 _02052870: .word _020B09B4 arm_func_end GetSpeedStatus arm_func_start GetMobilityType GetMobilityType: ; 0x02052874 ldr r2, _0205288C ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x16] bx lr .align 2, 0 _0205288C: .word _020B09B4 arm_func_end GetMobilityType arm_func_start GetRegenSpeed GetRegenSpeed: ; 0x02052890 ldr r2, _020528B0 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x30] mov r0, r0, lsl #1 and r0, r0, #0xff bx lr .align 2, 0 _020528B0: .word _020B09B4 arm_func_end GetRegenSpeed arm_func_start GetCanMoveFlag GetCanMoveFlag: ; 0x020528B4 ldr r2, _020528DC ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x1a] tst r0, #0x10 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020528DC: .word _020B09B4 arm_func_end GetCanMoveFlag arm_func_start GetChanceAsleep GetChanceAsleep: ; 0x020528E0 ldr r2, _020528F8 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x2f] bx lr .align 2, 0 _020528F8: .word _020B09B4 arm_func_end GetChanceAsleep arm_func_start GetLowKickMultiplier GetLowKickMultiplier: ; 0x020528FC ldr r2, _02052914 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrh r0, [r0, #0x28] bx lr .align 2, 0 _02052914: .word _020B09B4 arm_func_end GetLowKickMultiplier arm_func_start GetSize GetSize: ; 0x02052918 ldr r2, _02052930 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrh r0, [r0, #0x2a] bx lr .align 2, 0 _02052930: .word _020B09B4 arm_func_end GetSize arm_func_start GetBaseHp GetBaseHp: ; 0x02052934 ldr r2, _0205294C ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrh r0, [r0, #0x20] bx lr .align 2, 0 _0205294C: .word _020B09B4 arm_func_end GetBaseHp arm_func_start CanThrowItems CanThrowItems: ; 0x02052950 ldr r2, _02052978 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x1a] tst r0, #0x20 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02052978: .word _020B09B4 arm_func_end CanThrowItems arm_func_start CanEvolve CanEvolve: ; 0x0205297C ldr r2, _020529A4 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x1a] tst r0, #0x40 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _020529A4: .word _020B09B4 arm_func_end CanEvolve arm_func_start GetMonsterPreEvolution GetMonsterPreEvolution: ; 0x020529A8 ldr r2, _020529C0 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrsh r0, [r0, #8] bx lr .align 2, 0 _020529C0: .word _020B09B4 arm_func_end GetMonsterPreEvolution arm_func_start GetBaseOffensiveStat GetBaseOffensiveStat: ; 0x020529C4 ldr r3, _020529E0 ; =_020B09B4 mov r2, #0x44 ldr r3, [r3] smlabb r0, r0, r2, r3 add r0, r0, r1 ldrb r0, [r0, #0x24] bx lr .align 2, 0 _020529E0: .word _020B09B4 arm_func_end GetBaseOffensiveStat arm_func_start GetBaseDefensiveStat GetBaseDefensiveStat: ; 0x020529E4 ldr r3, _02052A00 ; =_020B09B4 mov r2, #0x44 ldr r3, [r3] smlabb r0, r0, r2, r3 add r0, r0, r1 ldrb r0, [r0, #0x26] bx lr .align 2, 0 _02052A00: .word _020B09B4 arm_func_end GetBaseDefensiveStat arm_func_start GetType GetType: ; 0x02052A04 ldr r3, _02052A20 ; =_020B09B4 mov r2, #0x44 ldr r3, [r3] smlabb r0, r0, r2, r3 add r0, r0, r1 ldrb r0, [r0, #0x14] bx lr .align 2, 0 _02052A20: .word _020B09B4 arm_func_end GetType arm_func_start GetAbility GetAbility: ; 0x02052A24 ldr r3, _02052A40 ; =_020B09B4 mov r2, #0x44 ldr r3, [r3] smlabb r0, r0, r2, r3 add r0, r0, r1 ldrb r0, [r0, #0x18] bx lr .align 2, 0 _02052A40: .word _020B09B4 arm_func_end GetAbility arm_func_start GetRecruitRate2 GetRecruitRate2: ; 0x02052A44 ldr r2, _02052A5C ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrsh r0, [r0, #0x22] bx lr .align 2, 0 _02052A5C: .word _020B09B4 arm_func_end GetRecruitRate2 arm_func_start GetRecruitRate1 GetRecruitRate1: ; 0x02052A60 ldr r2, _02052A78 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrsh r0, [r0, #0x1e] bx lr .align 2, 0 _02052A78: .word _020B09B4 arm_func_end GetRecruitRate1 arm_func_start GetExp GetExp: ; 0x02052A7C stmdb sp!, {r4, lr} ldr r2, _02052AAC ; =_020B09B4 sub r3, r1, #1 ldr r2, [r2] mov r1, #0x44 smlabb r0, r0, r1, r2 ldrsh r4, [r0, #0x1c] mov r1, #0xa mul r0, r4, r3 bl __divsi3 add r0, r4, r0 ldmia sp!, {r4, pc} .align 2, 0 _02052AAC: .word _020B09B4 arm_func_end GetExp arm_func_start GetEvoParameters GetEvoParameters: ; 0x02052AB0 ldr r3, _02052ADC ; =_020B09B4 mov r2, #0x44 ldr ip, [r3] mov r3, #4 smlabb r1, r1, r2, ip add r2, r1, #8 _02052AC8: ldrh r1, [r2], #2 subs r3, r3, #1 strh r1, [r0], #2 bne _02052AC8 bx lr .align 2, 0 _02052ADC: .word _020B09B4 arm_func_end GetEvoParameters arm_func_start GetTreasureBoxChances GetTreasureBoxChances: ; 0x02052AE0 stmdb sp!, {r4, lr} mov r2, #0x44 smulbb r4, r0, r2 ldr r2, _02052B24 ; =_020B09B4 mov lr, #0 _02052AF4: ldr r3, [r2] add r0, lr, #1 add r3, r4, r3 add r3, r3, lr, lsl #1 ldrsh r3, [r3, #0x3c] mov r0, r0, lsl #0x10 mov ip, lr, lsl #1 mov lr, r0, asr #0x10 strh r3, [r1, ip] cmp lr, #4 blt _02052AF4 ldmia sp!, {r4, pc} .align 2, 0 _02052B24: .word _020B09B4 arm_func_end GetTreasureBoxChances arm_func_start GetIqGroup GetIqGroup: ; 0x02052B28 ldr r2, _02052B40 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x17] bx lr .align 2, 0 _02052B40: .word _020B09B4 arm_func_end GetIqGroup arm_func_start GetSpawnThreshold GetSpawnThreshold: ; 0x02052B44 ldr r2, _02052B5C ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x31] bx lr .align 2, 0 _02052B5C: .word _020B09B4 arm_func_end GetSpawnThreshold arm_func_start NeedsItemToSpawn NeedsItemToSpawn: ; 0x02052B60 ldr r2, _02052B88 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrb r0, [r0, #0x1a] tst r0, #0x80 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02052B88: .word _020B09B4 arm_func_end NeedsItemToSpawn arm_func_start GetExclusiveItem GetExclusiveItem: ; 0x02052B8C ldr r2, _02052BB4 ; =_020B09B4 mov r3, r1, lsr #0x1f ldr ip, [r2] mov r2, #0x44 rsb r1, r3, r1, lsl #30 smlabb r2, r0, r2, ip add r0, r3, r1, ror #30 add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0x34] bx lr .align 2, 0 _02052BB4: .word _020B09B4 arm_func_end GetExclusiveItem arm_func_start GetFamilyIndex GetFamilyIndex: ; 0x02052BB8 ldr r2, _02052BD0 ; =_020B09B4 mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldrsh r0, [r0, #0x32] bx lr .align 2, 0 _02052BD0: .word _020B09B4 arm_func_end GetFamilyIndex arm_func_start LoadM2nAndN2m LoadM2nAndN2m: ; 0x02052BD4 stmdb sp!, {r3, lr} ldr r0, _02052C2C ; =_020B09C8 bl PointsToZero cmp r0, #0 beq _02052C00 ldr r0, _02052C2C ; =_020B09C8 bl ZInit8 ldr r0, _02052C2C ; =_020B09C8 ldr r1, _02052C30 ; =_020A3210 mov r2, #0 bl LoadFileFromRom _02052C00: ldr r0, _02052C34 ; =_020B09D0 bl PointsToZero cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _02052C34 ; =_020B09D0 bl ZInit8 ldr r0, _02052C34 ; =_020B09D0 ldr r1, _02052C38 ; =_020A322C mov r2, #0 bl LoadFileFromRom ldmia sp!, {r3, pc} .align 2, 0 _02052C2C: .word _020B09C8 _02052C30: .word _020A3210 _02052C34: .word _020B09D0 _02052C38: .word _020A322C arm_func_end LoadM2nAndN2m arm_func_start sub_02052C3C sub_02052C3C: ; 0x02052C3C stmdb sp!, {r3, lr} ldr r1, _02052C68 ; =_022ABDE0 ldr r0, _02052C6C ; =TEAM_MEMBER_TABLE_PTR str r1, [r0] bl LoadMonsterMd ldr r0, _02052C70 ; =_022AB92C mov r1, #0 strh r1, [r0] bl sub_020550DC bl sub_020560B8 ldmia sp!, {r3, pc} .align 2, 0 _02052C68: .word _022ABDE0 _02052C6C: .word TEAM_MEMBER_TABLE_PTR _02052C70: .word _022AB92C arm_func_end sub_02052C3C arm_func_start sub_02052C74 sub_02052C74: ; 0x02052C74 stmdb sp!, {r3, lr} bl sub_020550E0 bl sub_020560C8 ldr r2, _02052CD4 ; =TEAM_MEMBER_TABLE_PTR mov lr, #0 ldr r0, [r2] mov r3, lr add r0, r0, #0x9000 str lr, [r0, #0x878] str lr, [r0, #0x87c] mov r0, #0x44 _02052CA0: mul ip, lr, r0 ldr r1, [r2] add lr, lr, #1 add r1, r1, ip add r1, r1, #0x9800 strh r3, [r1, #0x9c] ldr r1, [r2] cmp lr, #4 add r1, r1, ip add r1, r1, #0x9000 strb r3, [r1, #0x898] blt _02052CA0 ldmia sp!, {r3, pc} .align 2, 0 _02052CD4: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02052C74 arm_func_start sub_02052CD8 sub_02052CD8: ; 0x02052CD8 stmdb sp!, {r3, lr} bl sub_02055118 bl sub_02056158 ldmia sp!, {r3, pc} arm_func_end sub_02052CD8 arm_func_start sub_02052CE8 sub_02052CE8: ; 0x02052CE8 ldr ip, _02052CF0 ; =sub_020561C0 bx ip .align 2, 0 _02052CF0: .word sub_020561C0 arm_func_end sub_02052CE8 arm_func_start sub_02052CF4 sub_02052CF4: ; 0x02052CF4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c mov r8, r0 mov r4, #1 mov r7, r1 strb r4, [r8] mov r0, r7 strb r4, [r8, #1] mov r6, r2 mov r5, r3 ldr r4, [sp, #0x38] bl GetBaseHp strh r0, [r8, #0xa] mov r0, r7 mov r1, #0 bl GetBaseOffensiveStat strb r0, [r8, #0xc] mov r0, r7 mov r1, #1 bl GetBaseOffensiveStat strb r0, [r8, #0xd] mov r0, r7 mov r1, #0 bl GetBaseDefensiveStat strb r0, [r8, #0xe] mov r0, r7 mov r1, #1 bl GetBaseDefensiveStat strb r0, [r8, #0xf] strh r7, [r8, #4] mov r3, #0 str r3, [r8, #0x10] strb r3, [r8, #0x20] mov r0, #1 strh r0, [r8, #8] ldrb r2, [r5] add r0, r8, #0x14 mov r1, r7 strb r2, [r8, #2] ldrb r2, [r5, #1] strb r2, [r8, #3] strb r3, [r8, #6] strb r3, [r8, #7] ldrsh r2, [r8, #8] bl sub_02058EB0 cmp r4, #0 beq _02052DDC mov r3, #0 add r1, sp, #0 _02052DB8: mov r2, r3, lsl #1 ldrh r0, [r4, r2] add r3, r3, #1 cmp r3, #4 strh r0, [r1, r2] blt _02052DB8 add r0, r8, #0x22 bl GetInfoGroundMoveset b _02052DEC _02052DDC: ldrb r2, [sp, #0x3c] mov r1, r7 add r0, r8, #0x22 bl sub_02053F10 _02052DEC: cmp r6, #0 bne _02052E14 add r0, sp, #8 mov r1, r7 bl GetNameRaw add r1, sp, #8 add r0, r8, #0x3a mov r2, #0xa bl sub_02025314 b _02052E24 _02052E14: mov r1, r6 add r0, r8, #0x3a mov r2, #0xa bl StrncpySimple _02052E24: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end sub_02052CF4 arm_func_start sub_02052E2C sub_02052E2C: ; 0x02052E2C stmdb sp!, {r3, lr} sub sp, sp, #8 ldr lr, [sp, #0x10] mov ip, #0 str lr, [sp] str ip, [sp, #4] bl sub_02052CF4 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end sub_02052E2C arm_func_start GuestMonsterToGroundMonster GuestMonsterToGroundMonster: ; 0x02052E50 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #1 mov r4, r1 strb r0, [r5] ldrsh r1, [r4, #0x12] mov r2, #0 add r0, r5, #0x14 strb r1, [r5, #1] ldrsh r1, [r4, #0x10] strh r1, [r5, #0xa] ldrsh r1, [r4, #0x16] strb r1, [r5, #0xc] ldrsh r1, [r4, #0x18] strb r1, [r5, #0xd] ldrsh r1, [r4, #0x1a] strb r1, [r5, #0xe] ldrsh r1, [r4, #0x1c] strb r1, [r5, #0xf] ldrsh r1, [r4, #4] strh r1, [r5, #4] ldr r1, [r4, #0x20] str r1, [r5, #0x10] strb r2, [r5, #0x20] ldrsh r1, [r4, #0x14] strh r1, [r5, #8] ldrb r1, [r4, #6] strb r1, [r5, #2] ldrb r1, [r4, #7] strb r1, [r5, #3] strb r2, [r5, #6] strb r2, [r5, #7] ldrsh r1, [r5, #4] ldrsh r2, [r5, #8] bl sub_02058EB0 add r0, r5, #0x22 add r1, r4, #8 bl GetInfoGroundMoveset ldr r1, [r4] add r0, r5, #0x3a mov r2, #0xa bl StrncpySimple ldmia sp!, {r3, r4, r5, pc} arm_func_end GuestMonsterToGroundMonster arm_func_start sub_02052EFC sub_02052EFC: ; 0x02052EFC stmdb sp!, {r4, lr} mov r4, r0 mov r0, #1 strb r0, [r4, #1] ldrsh r0, [r4, #4] bl GetBaseHp strh r0, [r4, #0xa] ldrsh r0, [r4, #4] mov r1, #0 bl GetBaseOffensiveStat strb r0, [r4, #0xc] ldrsh r0, [r4, #4] mov r1, #1 bl GetBaseOffensiveStat strb r0, [r4, #0xd] ldrsh r0, [r4, #4] mov r1, #0 bl GetBaseDefensiveStat strb r0, [r4, #0xe] ldrsh r0, [r4, #4] mov r1, #1 bl GetBaseDefensiveStat strb r0, [r4, #0xf] mov r0, #0 str r0, [r4, #0x10] strb r0, [r4, #0x20] mov r2, #1 strh r2, [r4, #8] ldrsh r1, [r4, #4] add r0, r4, #0x14 bl sub_02058EB0 ldrsh r1, [r4, #4] add r0, r4, #0x22 mov r2, #0 bl sub_02053F10 ldmia sp!, {r4, pc} arm_func_end sub_02052EFC arm_func_start sub_02052F8C sub_02052F8C: ; 0x02052F8C stmdb sp!, {r3, lr} sub sp, sp, #8 ldr lr, [sp, #0x10] mov ip, #1 str lr, [sp] str ip, [sp, #4] bl sub_02052CF4 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end sub_02052F8C arm_func_start StrcmpMonsterName StrcmpMonsterName: ; 0x02052FB0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 mov r0, r1 bl GetNameString mov r1, r0 add r0, sp, #0 bl SpecialStrcpy add r1, sp, #0 mov r0, r4 mov r2, #0xa bl StrncmpSimple cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} arm_func_end StrcmpMonsterName arm_func_start sub_02052FF8 sub_02052FF8: ; 0x02052FF8 stmdb sp!, {r3, lr} ldr r2, _02053034 ; =TEAM_MEMBER_TABLE_PTR mov r3, #0x44 ldr ip, [r2] mov r2, #0xa smlabb r0, r0, r3, ip smlabb r1, r1, r3, ip add r0, r0, #0x3a add r1, r1, #0x3a bl sub_01FF8F28 cmp r0, #0 movlt r0, #1 movge r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} .align 2, 0 _02053034: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02052FF8 arm_func_start sub_02053038 sub_02053038: ; 0x02053038 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 mov ip, r1 mov lr, r0 cmp ip, #0xd blo _020530BC ldr r6, _020530CC ; =_020A328C add r5, sp, #0 mov r4, #4 _0205305C: ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs r4, r4, #1 bne _0205305C ldmia r6, {r0, r1} stmia r5, {r0, r1} mov r3, #0 add r1, sp, #0 b _020530AC _02053080: mov r2, r3, lsl #3 ldrsh r0, [r1, r2] cmp r0, #0 beq _020530B4 cmp lr, r0 addeq r0, r1, r2 ldreq r0, [r0, #4] cmpeq ip, r0 moveq r0, #1 beq _020530C4 add r3, r3, #1 _020530AC: cmp r3, #0xa blt _02053080 _020530B4: mov r0, #0 b _020530C4 _020530BC: ldr r0, _020530D0 ; =_020A327C ldrb r0, [r0, ip] _020530C4: add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020530CC: .word _020A328C _020530D0: .word _020A327C arm_func_end sub_02053038 arm_func_start sub_020530D4 sub_020530D4: ; 0x020530D4 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r4, r0 ldrb r5, [r4] mov r0, #0x44 ldr ip, _02053170 ; =TEAM_MEMBER_TABLE_PTR tst r5, #1 smulbb r6, r1, r0 movne r0, #1 moveq r0, #0 mov r3, r2 ldr r7, [ip] tst r0, #0xff beq _02053158 ldrh r5, [r4, #0x3e] ldrh lr, [r4, #0x40] ldrh ip, [r4, #0x42] mov r0, r4 mov r2, r1 strh r5, [sp] add r1, r7, r6 strh lr, [sp, #2] strh ip, [sp, #4] ldrb r5, [r4] bl sub_02053250 ldrh r2, [sp] ldrh r1, [sp, #2] ldrh r0, [sp, #4] strh r2, [r4, #0x3e] strh r1, [r4, #0x40] strh r0, [r4, #0x42] strb r5, [r4] b _02053168 _02053158: mov r0, r4 mov r2, r1 add r1, r7, r6 bl sub_02053250 _02053168: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02053170: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020530D4 arm_func_start sub_02053174 sub_02053174: ; 0x02053174 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xc mov r5, r0 ldrb r6, [r5] mov r0, #0x44 ldr r4, _02053220 ; =TEAM_MEMBER_TABLE_PTR tst r6, #1 smulbb r8, r1, r0 movne r0, #1 moveq r0, #0 mov ip, r2 ldr sb, [r4] tst r0, #0xff beq _02053200 ldrh r7, [r5, #0x3e] ldrh r6, [r5, #0x40] ldrh lr, [r5, #0x42] ldrb r4, [r5] mov r0, r5 mov r2, r1 str r3, [sp] mov r3, ip strh r7, [sp, #4] add r1, sb, r8 strh r6, [sp, #6] strh lr, [sp, #8] bl sub_02053374 ldrh r2, [sp, #4] ldrh r1, [sp, #6] ldrh r0, [sp, #8] strh r2, [r5, #0x3e] strh r1, [r5, #0x40] strh r0, [r5, #0x42] strb r4, [r5] b _02053218 _02053200: str r3, [sp] mov r0, r5 mov r2, r1 mov r3, ip add r1, sb, r8 bl sub_02053374 _02053218: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02053220: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02053174 arm_func_start sub_02053224 sub_02053224: ; 0x02053224 stmdb sp!, {r3, lr} ldr r3, _0205324C ; =TEAM_MEMBER_TABLE_PTR mov ip, r1 ldr r3, [r3] mov r1, #0x44 smlabb r1, ip, r1, r3 mov r3, r2 mov r2, ip bl sub_02053250 ldmia sp!, {r3, pc} .align 2, 0 _0205324C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02053224 arm_func_start sub_02053250 sub_02053250: ; 0x02053250 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r5, r1 ldrb r1, [r5] mov r6, r0 add r0, r5, #0x14 strb r1, [r6] ldrb r1, [r5, #1] add r3, r6, #0x4c mov r4, r2 strb r1, [r6, #2] ldrsh r1, [r5, #8] strh r1, [r6, #6] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r6, #0x5a bl ShuffleHiddenPower ldrb r1, [r5, #2] mov r0, r4 strb r1, [r6, #3] ldrb r1, [r5, #3] strb r1, [r6, #4] bl sub_020564B0 strb r0, [r6, #1] strh r4, [r6, #8] ldrsh r0, [r5, #4] mov r3, #0 strh r0, [r6, #0xc] ldrb r0, [r5, #0x20] strb r0, [r6, #0x58] ldrsh r0, [r5, #0xa] strh r0, [r6, #0x10] strh r0, [r6, #0xe] _020532D4: add r2, r5, r3 ldrb r0, [r2, #0xc] add r1, r6, r3 add r3, r3, #1 strb r0, [r1, #0x12] ldrb r0, [r2, #0xe] cmp r3, #2 strb r0, [r1, #0x14] blt _020532D4 ldr r2, [r5, #0x10] add r0, r6, #0x1c add r1, r5, #0x22 str r2, [r6, #0x18] bl GroundToDungeonMoveset add r0, r6, #0x5e add r1, r5, #0x3a mov r2, #0xa bl StrncpySimple add r0, r6, #0x3e bl ItemZInit mov r0, #0x64 bl sub_02050FF8 strh r0, [sp, #4] mov r0, r0, lsr #0x10 strh r0, [sp, #6] ldrh r2, [sp, #4] ldrh r1, [sp, #6] mov r0, #0x64 strh r2, [r6, #0x44] strh r1, [r6, #0x46] bl sub_02050FF8 strh r0, [sp] mov r0, r0, lsr #0x10 strh r0, [sp, #2] ldrh r1, [sp] ldrh r0, [sp, #2] strh r1, [r6, #0x48] strh r0, [r6, #0x4a] add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02053250 arm_func_start sub_02053374 sub_02053374: ; 0x02053374 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r5, r1 ldrb r1, [r5] mov r6, r0 add r0, r5, #0x14 strb r1, [r6] ldrb r1, [r5, #1] add r3, r6, #0x4c mov r4, r2 strb r1, [r6, #2] ldrsh r1, [r5, #8] strh r1, [r6, #6] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r6, #0x5a bl ShuffleHiddenPower ldrb r2, [r5, #2] ldrb r1, [sp, #0x18] mov r0, r4 strb r2, [r6, #3] ldrb r2, [r5, #3] strb r2, [r6, #4] bl sub_02056504 strb r0, [r6, #1] strh r4, [r6, #8] ldrsh r0, [r5, #4] mov r3, #0 strh r0, [r6, #0xc] ldrb r0, [r5, #0x20] strb r0, [r6, #0x58] ldrsh r0, [r5, #0xa] strh r0, [r6, #0x10] strh r0, [r6, #0xe] _020533FC: add r2, r5, r3 ldrb r0, [r2, #0xc] add r1, r6, r3 add r3, r3, #1 strb r0, [r1, #0x12] ldrb r0, [r2, #0xe] cmp r3, #2 strb r0, [r1, #0x14] blt _020533FC ldr r2, [r5, #0x10] add r0, r6, #0x1c add r1, r5, #0x22 str r2, [r6, #0x18] bl GroundToDungeonMoveset add r0, r6, #0x5e add r1, r5, #0x3a mov r2, #0xa bl StrncpySimple add r0, r6, #0x3e bl ItemZInit mov r0, #0x64 bl sub_02050FF8 strh r0, [sp, #4] mov r0, r0, lsr #0x10 strh r0, [sp, #6] ldrh r2, [sp, #4] ldrh r1, [sp, #6] mov r0, #0x64 strh r2, [r6, #0x44] strh r1, [r6, #0x46] bl sub_02050FF8 strh r0, [sp] mov r0, r0, lsr #0x10 strh r0, [sp, #2] ldrh r1, [sp] ldrh r0, [sp, #2] strh r1, [r6, #0x48] strh r0, [r6, #0x4a] add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02053374 arm_func_start sub_0205349C sub_0205349C: ; 0x0205349C ldr r3, _020534B4 ; =TEAM_MEMBER_TABLE_PTR ldr ip, _020534B8 ; =sub_020534BC ldr r3, [r3] mov r2, #0x44 smlabb r0, r0, r2, r3 bx ip .align 2, 0 _020534B4: .word TEAM_MEMBER_TABLE_PTR _020534B8: .word sub_020534BC arm_func_end sub_0205349C arm_func_start sub_020534BC sub_020534BC: ; 0x020534BC stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrb r1, [r4] mov r5, r0 add r0, r4, #0x4c strb r1, [r5] ldrb r1, [r4, #2] add ip, r5, #0x14 mov r3, #0 strb r1, [r5, #1] ldrsh r1, [r4, #6] strh r1, [r5, #8] ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldrb r0, [r4, #3] strb r0, [r5, #2] ldrb r0, [r4, #4] strb r0, [r5, #3] ldrsh r0, [r4, #0xc] strh r0, [r5, #4] ldrb r0, [r4, #0x58] strb r0, [r5, #0x20] ldrsh r0, [r4, #0x10] strh r0, [r5, #0xa] _0205351C: add r2, r4, r3 ldrb r0, [r2, #0x12] add r1, r5, r3 add r3, r3, #1 strb r0, [r1, #0xc] ldrb r0, [r2, #0x14] cmp r3, #2 strb r0, [r1, #0xe] blt _0205351C ldr r2, [r4, #0x18] add r0, r5, #0x22 add r1, r4, #0x1c str r2, [r5, #0x10] bl DungeonToGroundMoveset add r0, r5, #0x3a add r1, r4, #0x5e mov r2, #0xa bl StrncpySimple ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020534BC arm_func_start sub_02053568 sub_02053568: ; 0x02053568 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, _0205361C ; =_020A3258 b _0205358C _02053578: ldrsh r1, [r5, #4] bl DexNumbersEqual cmp r0, #0 bne _02053598 add r4, r4, #4 _0205358C: ldrsh r0, [r4] cmp r0, #0 bne _02053578 _02053598: ldrsh r0, [r4] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x22 bl GetNbMoves cmp r0, #4 bne _02053604 ldrsh r0, [r4] cmp r0, #0x148 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _02053620 ; =0x0000013B add r0, r5, #0x22 bl GetMovesetIdx__02013CAC mvn r1, #0 cmp r0, r1 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #6 mul r2, r0, r1 add r3, r5, #0x22 mov r0, #0 strb r0, [r3, r2] ldrh r1, [r4, #2] add r0, r3, r2 bl GetInfoMoveGround ldr r0, _02053624 ; =_020A32D4 bl DebugPrint0 ldmia sp!, {r3, r4, r5, pc} _02053604: add r2, r5, #0x22 mov r1, #6 mla r0, r1, r0, r2 ldrh r1, [r4, #2] bl GetInfoMoveGround ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205361C: .word _020A3258 _02053620: .word 0x0000013B _02053624: .word _020A32D4 arm_func_end sub_02053568 arm_func_start sub_02053628 sub_02053628: ; 0x02053628 b _0205364C _0205362C: ldrsh r2, [r0, #4] cmp r3, r2 ldreqb r3, [r1, #2] ldreqb r2, [r0, #2] cmpeq r3, r2 addeq r0, r1, #4 bxeq lr add r1, r1, #6 arm_func_end sub_02053628 _0205364C: ldrsh r3, [r1] cmp r3, #0 bne _0205362C mov r0, #0 bx lr arm_func_start sub_02053660 sub_02053660: ; 0x02053660 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} movs r4, r2 mov r5, r1 mov r6, r0 cmpne r5, #0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r1, #0 mov sb, r1 add r0, sp, #0 _02053688: strb sb, [r0, r1] add r1, r1, #1 cmp r1, #4 blt _02053688 b _0205375C _0205369C: mov r1, r8 add r0, r6, #0x22 bl GetMovesetIdx__02013CAC mvn r1, #0 cmp r0, r1 bne _02053758 add r0, r6, #0x22 bl GetNbMoves mov r7, r0 cmp r7, #4 bne _02053738 mov r7, #0 mov sb, r7 add r1, sp, #0 _020536D4: ldrb r0, [r1, sb] add sb, sb, #1 cmp r0, #0 addeq r7, r7, #1 cmp sb, #4 blt _020536D4 cmp r7, #0 beq _02053774 bl Rand16Bit mov r1, r7 bl __divsi3 mov r7, r1 mov r0, #6 mul ip, r7, r0 add r0, r6, #0x22 mov r1, r8 add r2, r6, ip mov r3, #0 add r0, r0, ip strb r3, [r2, #0x22] bl GetInfoMoveGround add r0, sp, #0 mov r1, #1 strb r1, [r0, r7] b _02053758 _02053738: add r1, r6, #0x22 mov r0, #6 mla r0, r7, r0, r1 mov r1, r8 bl GetInfoMoveGround add r0, sp, #0 mov r1, #1 strb r1, [r0, r7] _02053758: add sb, sb, #1 _0205375C: cmp sb, r4 bge _02053774 mov r0, sb, lsl #1 ldrh r8, [r5, r0] cmp r8, #0 bne _0205369C _02053774: mov r0, #0 mov r3, r0 add r2, sp, #0 _02053780: ldrb r1, [r2, r3] add r3, r3, #1 cmp r1, #0 addne r0, r0, #1 cmp r3, #4 blt _02053780 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02053660 arm_func_start GetLvlUpEntry GetLvlUpEntry: ; 0x0205379C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r1 mov r5, r0 mov r0, r6 mov r1, #0x258 mov r4, r2 bl __divsi3 ldr r0, _02053844 ; =_022AB92C ldrsh r0, [r0] cmp r0, r1 beq _02053820 mov r0, r6 mov r1, #0x258 bl __divsi3 sub r0, r1, #1 ldr r2, _02053844 ; =_022AB92C mov r0, r0, lsl #0x10 strh r1, [r2] mov r1, r0, lsr #0x10 add r2, sp, #4 mov r0, #5 mov r3, #0 bl AllocAndLoadFileInPack ldr r1, [sp, #4] add r0, sp, #0 bl HandleSir0Translation ldr r2, [sp] ldr r0, _02053848 ; =_022AB930 mov r1, #0 bl DecompressAtNormalVeneer add r0, sp, #4 bl UnloadFile _02053820: subs r4, r4, #1 ldr r1, _02053848 ; =_022AB930 movmi r4, #0 mov r0, #0xc mla r0, r4, r0, r1 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02053844: .word _022AB92C _02053848: .word _022AB930 arm_func_end GetLvlUpEntry arm_func_start GetEncodedHalfword GetEncodedHalfword: ; 0x0205384C ldrb ip, [r0] add r2, r0, #1 mov r0, r2 tst ip, #0x80 addne r0, r2, #1 ldrneb r2, [r2] moveq r2, ip moveq ip, #0 and r3, r2, #0x7f mov r2, ip, lsl #0x19 orr r2, r3, r2, lsr #18 strh r2, [r1] bx lr arm_func_end GetEncodedHalfword arm_func_start sub_02053880 sub_02053880: ; 0x02053880 cmp r0, #0xee mov r3, #1 bne _0205389C ldr r2, _020538F0 ; =_020A18C0 ldrsh r2, [r2] cmp r1, r2 movlt r3, #0 _0205389C: cmp r0, #0xef bne _020538B4 ldr r2, _020538F4 ; =_020A189C ldrsh r2, [r2] cmp r1, r2 movlt r3, #0 _020538B4: cmp r0, #0x110 bne _020538CC ldr r2, _020538F8 ; =_020A1884 ldrsh r2, [r2] cmp r1, r2 movlt r3, #0 _020538CC: ldr r2, _020538FC ; =0x0000021A cmp r0, r2 bne _020538E8 ldr r0, _02053900 ; =_020A1880 ldrsh r0, [r0] cmp r1, r0 movlt r3, #0 _020538E8: mov r0, r3 bx lr .align 2, 0 _020538F0: .word _020A18C0 _020538F4: .word _020A189C _020538F8: .word _020A1884 _020538FC: .word 0x0000021A _02053900: .word _020A1880 arm_func_end sub_02053880 arm_func_start sub_02053904 sub_02053904: ; 0x02053904 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r4, _02053A08 ; =0x00000229 ldr r8, [sp, #0x28] mov sl, r0 mov sb, r2 mov fp, r3 mov r6, #0 cmp r1, r4 moveq r0, r6 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r1, #0 moveq r0, r6 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r8, #0 beq _0205394C ldrsh r5, [sp, #0x2c] cmp r5, #0 bgt _02053950 _0205394C: mov r5, #0 _02053950: mov r0, r1 bl GetMovesetLevelUpPtr mov r4, r0 b _020539F4 _02053960: mov r0, r4 add r1, sp, #0 bl GetEncodedHalfword ldrb r1, [r0] add r4, r0, #1 cmp r1, sb bgt _02053A00 bne _020539F4 ldrh r0, [sp] mov r1, fp mov r7, #1 bl sub_02053880 cmp r0, #0 moveq r7, #0 cmp r5, #0 ble _020539D8 mov r2, #0 ldrh r0, [sp] b _020539C8 _020539AC: mov r1, r2, lsl #1 ldrh r1, [r8, r1] cmp r0, r1 beq _020539D0 add r1, r2, #1 mov r1, r1, lsl #0x10 mov r2, r1, asr #0x10 _020539C8: cmp r2, r5 blt _020539AC _020539D0: cmp r2, r5 bne _020539F4 _020539D8: cmp r7, #0 beq _020539F4 cmp r6, #0x10 ldrlth r1, [sp] movlt r0, r6, lsl #1 addlt r6, r6, #1 strlth r1, [sl, r0] _020539F4: ldrb r0, [r4] cmp r0, #0 bne _02053960 _02053A00: mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02053A08: .word 0x00000229 arm_func_end sub_02053904 arm_func_start sub_02053A0C sub_02053A0C: ; 0x02053A0C stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r6, r0 mov r0, r1 mov r5, r2 mov r4, r3 bl FemaleToMaleForm mov ip, #0 mov r1, r0 str ip, [sp] mov r0, r6 mov r2, r5 mov r3, r4 str ip, [sp, #4] bl sub_02053904 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02053A0C arm_func_start sub_02053A50 sub_02053A50: ; 0x02053A50 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r0, r3 ldr r7, [sp, #0x2c] mov sb, r1 mov r8, r2 mov r5, #0 bl FemaleToMaleForm mov r4, r0 bl sub_02053B38 cmp r0, #0 movne r0, r5 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x28] cmp r0, #1 bne _02053B30 mov r0, r4 bl GetMovesetEggPtr mov r4, r0 mov fp, #1 b _02053B24 _02053AA4: mov r0, r4 add r1, sp, #0 mov r6, fp bl GetEncodedHalfword mov r4, r0 ldrh r0, [sp] mov r1, r7 bl sub_02053880 cmp r0, #0 moveq r6, #0 cmp r6, #0 beq _02053B24 mov r2, #0 mov r3, r2 ldrh r0, [sp] b _02053B04 _02053AE4: mov r1, r3, lsl #1 ldrh r1, [sb, r1] cmp r0, r1 moveq r2, #1 beq _02053B0C add r1, r3, #1 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 _02053B04: cmp r3, r8 blt _02053AE4 _02053B0C: cmp r2, #0 bne _02053B24 cmp r5, #0x10 movlt r1, r5, lsl #1 strlth r0, [sl, r1] addlt r5, r5, #1 _02053B24: ldrb r0, [r4] cmp r0, #0 bne _02053AA4 _02053B30: mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02053A50 arm_func_start sub_02053B38 sub_02053B38: ; 0x02053B38 cmp r0, #0 ble _02053B4C ldr r1, _02053B5C ; =0x00000229 cmp r0, r1 blt _02053B54 _02053B4C: mov r0, #1 bx lr _02053B54: mov r0, #0 bx lr .align 2, 0 _02053B5C: .word 0x00000229 arm_func_end sub_02053B38 arm_func_start sub_02053B60 sub_02053B60: ; 0x02053B60 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 mov r8, r0 mov r0, r1 mov r7, r2 mov r6, r3 bl FemaleToMaleForm mov r4, r0 bl sub_02053B38 cmp r0, #0 movne r0, #0 bne _02053C98 mov r0, r4 bl FemaleToMaleForm mov r5, #0 mov r1, r0 str r5, [sp] mov r0, r8 mov r2, r7 mov r3, r6 str r5, [sp, #4] bl sub_02053904 mov r5, r0 cmp r5, #4 bge _02053C68 mov r3, #0 add r0, sp, #0x28 b _02053BE0 _02053BD0: mov r2, r3, lsl #1 ldrh r1, [r8, r2] add r3, r3, #1 strh r1, [r0, r2] _02053BE0: cmp r3, r5 blt _02053BD0 mov r2, r5, lsl #0x10 str r7, [sp] add r0, sp, #8 add r1, sp, #0x28 mov r3, r4 mov r2, r2, asr #0x10 str r6, [sp, #4] bl sub_02053A50 mov r6, r0 cmp r6, #0 ble _02053C68 add r4, sp, #8 b _02053C60 _02053C1C: mov r0, r6 bl RandIntSafe mov r1, r0, lsl #1 ldrh r2, [r4, r1] mov r1, r5, lsl #1 add r3, r0, #1 strh r2, [r8, r1] b _02053C50 _02053C3C: mov r0, r3, lsl #1 ldrh r1, [r4, r0] add r0, r4, r3, lsl #1 add r3, r3, #1 strh r1, [r0, #-2] _02053C50: cmp r3, r6 blt _02053C3C sub r6, r6, #1 add r5, r5, #1 _02053C60: cmp r5, #4 blt _02053C1C _02053C68: mov r0, r5, lsl #0x10 mov r1, r0, asr #0x10 mov r2, #0 b _02053C8C _02053C78: add r0, r1, #1 mov r1, r1, lsl #1 mov r0, r0, lsl #0x10 strh r2, [r8, r1] mov r1, r0, asr #0x10 _02053C8C: cmp r1, #4 blt _02053C78 mov r0, r5 _02053C98: add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02053B60 arm_func_start sub_02053CA0 sub_02053CA0: ; 0x02053CA0 stmdb sp!, {r4, lr} mov r4, #0 ldr lr, _02053D18 ; =FORBIDDEN_FORGOT_MOVE_LIST b _02053CFC _02053CB0: cmp ip, r2 ldreqb ip, [lr, #2] cmpeq r3, ip bne _02053CF8 mov r2, #1 cmp r1, #1 suble r2, r1, #1 mov r4, #0 b _02053CDC _02053CD4: strh r1, [r0], #2 add r4, r4, #1 _02053CDC: cmp r4, r2 bge _02053D08 add r1, lr, r4, lsl #1 ldrh r1, [r1, #4] cmp r1, #0 bne _02053CD4 b _02053D08 _02053CF8: add lr, lr, #6 _02053CFC: ldrsh ip, [lr] cmp ip, #0 bne _02053CB0 _02053D08: mov r1, #0 strh r1, [r0] mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02053D18: .word FORBIDDEN_FORGOT_MOVE_LIST arm_func_end sub_02053CA0 arm_func_start sub_02053D1C sub_02053D1C: ; 0x02053D1C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r2, _02053DCC ; =0x00000229 mov r6, r1 mov r4, r0 cmp r6, r2 moveq r0, #0 beq _02053DC4 cmp r6, #0 moveq r0, #0 beq _02053DC4 cmp r4, #0x160 moveq r0, #0 beq _02053DC4 mov r0, r6 bl GetMovesetLevelUpPtr add r5, sp, #2 b _02053D80 _02053D64: mov r1, r5 bl GetEncodedHalfword ldrh r1, [sp, #2] add r0, r0, #1 cmp r4, r1 moveq r0, #1 beq _02053DC4 _02053D80: ldrb r1, [r0] cmp r1, #0 bne _02053D64 mov r0, r6 bl GetMovesetHmTmPtr add r5, sp, #0 b _02053DB4 _02053D9C: mov r1, r5 bl GetEncodedHalfword ldrh r1, [sp] cmp r1, r4 moveq r0, #1 beq _02053DC4 _02053DB4: ldrb r1, [r0] cmp r1, #0 bne _02053D9C mov r0, #0 _02053DC4: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02053DCC: .word 0x00000229 arm_func_end sub_02053D1C arm_func_start GetEvoFamily GetEvoFamily: ; 0x02053DD0 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r2, _02053E84 ; =_020A3248 ldrsh r3, [r0, #4] ldr r4, [r2, #8] ldr r2, [r2, #0xc] mov r7, r1 strh r3, [r7] ldrb r1, [r0, #1] str r2, [sp, #4] str r4, [sp] strb r1, [r7, #2] ldrb r5, [r0, #6] mov r3, #0 ldrsh r2, [r0, #4] cmp r5, #0 ldrneb r1, [r0, #7] add r4, r3, #1 add r8, sp, #0 cmpne r1, #0 strne r1, [sp] ldreqb r0, [r0, #7] strne r5, [sp, #4] streq r5, [sp] streq r0, [sp, #4] mov r5, #0 b _02053E70 _02053E3C: ldr r6, [r8, r5, lsl #2] cmp r6, #0 beq _02053E78 mov r0, r2 bl GetMonsterPreEvolution movs r2, r0 beq _02053E78 mov r1, r4, lsl #2 add r0, r7, r4, lsl #2 strh r2, [r7, r1] strb r6, [r0, #2] add r4, r4, #1 add r5, r5, #1 _02053E70: cmp r5, #2 blt _02053E3C _02053E78: mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02053E84: .word _020A3248 arm_func_end GetEvoFamily arm_func_start GetEvolutions GetEvolutions: ; 0x02053E88 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 mov fp, r3 mov r5, #0 mov r6, #1 _02053EA4: mov r0, r6, lsl #0x10 mov r7, r0, asr #0x10 mov r0, r7 bl GetMonsterPreEvolution cmp sl, r0 bne _02053EF4 cmp r8, #0 bne _02053EE0 mov r0, sl bl GetSpriteSize mov r4, r0 mov r0, r7 bl GetSpriteSize cmp r4, r0 bne _02053EF4 _02053EE0: cmp fp, #0 cmpeq r7, #0x140 movne r0, r5, lsl #1 strneh r7, [sb, r0] addne r5, r5, #1 _02053EF4: ldr r0, _02053F0C ; =0x00000483 add r6, r6, #1 cmp r6, r0 blt _02053EA4 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02053F0C: .word 0x00000483 arm_func_end GetEvolutions arm_func_start sub_02053F10 sub_02053F10: ; 0x02053F10 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x28 mov r5, r0 cmp r2, #0 beq _02053F38 mov r2, #1 add r0, sp, #8 rsb r3, r2, #0x3e8 bl sub_02053B60 b _02053F60 _02053F38: mov r0, r1 bl FemaleToMaleForm mov r4, #0 mov r2, #1 mov r1, r0 str r4, [sp] add r0, sp, #8 rsb r3, r2, #0x3e8 str r4, [sp, #4] bl sub_02053904 _02053F60: mov r8, r0 cmp r8, #0 moveq r0, #0x198 streqh r0, [sp, #8] moveq r8, #1 mov r4, #0 add r7, sp, #8 mov r6, #6 b _02053F98 _02053F84: mla r0, r4, r6, r5 mov r1, r4, lsl #1 ldrh r1, [r7, r1] bl GetInfoMoveGround add r4, r4, #1 _02053F98: cmp r4, r8 blt _02053F84 mov r2, #0 mov r0, #6 b _02053FB8 _02053FAC: mul r1, r4, r0 strb r2, [r5, r1] add r4, r4, #1 _02053FB8: cmp r4, #4 blt _02053FAC add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02053F10 arm_func_start ShuffleHiddenPower ShuffleHiddenPower: ; 0x02053FC8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #0xa bl RandIntSafe ldr r1, _02054020 ; =HIDDEN_POWER_BASE_POWER_TABLE mov r5, #0 ldr r0, [r1, r0, lsl #2] mov r4, #0x12 strh r0, [r6] b _02054008 _02053FF0: mov r0, r4 bl RandIntSafe strb r0, [r6, #2] tst r0, #0xff bne _02054010 add r5, r5, #1 _02054008: cmp r5, #0x64 blt _02053FF0 _02054010: cmp r5, #0x64 moveq r0, #2 streqb r0, [r6, #2] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02054020: .word HIDDEN_POWER_BASE_POWER_TABLE arm_func_end ShuffleHiddenPower arm_func_start GetBaseForm GetBaseForm: ; 0x02054024 cmp r0, #0x17c ldreq r0, _02054244 ; =0x0000017B bxeq lr ldr r3, _02054248 ; =0x0000017D cmp r0, r3 subeq r0, r3, #2 bxeq lr add r1, r3, #1 cmp r0, r1 subeq r0, r3, #2 bxeq lr cmp r0, #0x3d4 rsbeq r0, r3, #0x550 bxeq lr add r1, r3, #0x258 cmp r0, r1 rsbeq r0, r3, #0x550 bxeq lr ldr r2, _0205424C ; =0x000003D6 cmp r0, r2 subeq r0, r2, #3 bxeq lr cmp r0, #0xca moveq r0, #0xc9 bxeq lr cmp r0, #0xcb moveq r0, #0xc9 bxeq lr cmp r0, #0xcc moveq r0, #0xc9 bxeq lr cmp r0, #0xcd moveq r0, #0xc9 bxeq lr cmp r0, #0xce moveq r0, #0xc9 bxeq lr cmp r0, #0xcf moveq r0, #0xc9 bxeq lr cmp r0, #0xd0 moveq r0, #0xc9 bxeq lr cmp r0, #0xd1 moveq r0, #0xc9 bxeq lr cmp r0, #0xd2 moveq r0, #0xc9 bxeq lr cmp r0, #0xd3 moveq r0, #0xc9 bxeq lr cmp r0, #0xd4 moveq r0, #0xc9 bxeq lr cmp r0, #0xd5 moveq r0, #0xc9 bxeq lr cmp r0, #0xd6 moveq r0, #0xc9 bxeq lr cmp r0, #0xd7 moveq r0, #0xc9 bxeq lr cmp r0, #0xd8 moveq r0, #0xc9 bxeq lr cmp r0, #0xd9 moveq r0, #0xc9 bxeq lr cmp r0, #0xda moveq r0, #0xc9 bxeq lr cmp r0, #0xdb moveq r0, #0xc9 bxeq lr cmp r0, #0xdc moveq r0, #0xc9 bxeq lr cmp r0, #0xdd moveq r0, #0xc9 bxeq lr cmp r0, #0xde moveq r0, #0xc9 bxeq lr cmp r0, #0xdf moveq r0, #0xc9 bxeq lr cmp r0, #0xe0 moveq r0, #0xc9 bxeq lr cmp r0, #0xe1 moveq r0, #0xc9 bxeq lr cmp r0, #0xe2 moveq r0, #0xc9 bxeq lr cmp r0, #0xe3 moveq r0, #0xc9 bxeq lr cmp r0, #0xe4 moveq r0, #0xc9 bxeq lr add r1, r3, #0x26 cmp r0, r1 subeq r0, r2, #0x234 bxeq lr cmp r0, #0x1a4 subeq r0, r2, #0x234 bxeq lr add r1, r3, #0x28 cmp r0, r1 subeq r0, r2, #0x234 bxeq lr cmp r0, #0x1cc moveq r0, #0x1cc bxeq lr add r1, r3, #0x50 cmp r0, r1 moveq r0, #0x1cc bxeq lr add r1, r2, #0x4e cmp r0, r1 moveq r0, r1 bxeq lr add r1, r2, #0x4f cmp r0, r1 addeq r0, r2, #0x4e bxeq lr add r1, r3, #0x9a cmp r0, r1 subeq r0, r2, #0x1c0 bxeq lr cmp r0, #0x218 addeq r0, r3, #0x94 bx lr .align 2, 0 _02054244: .word 0x0000017B _02054248: .word 0x0000017D _0205424C: .word 0x000003D6 arm_func_end GetBaseForm arm_func_start GetBaseFormBurmyWormadamShellosGastrodonCherrim GetBaseFormBurmyWormadamShellosGastrodonCherrim: ; 0x02054250 ldr r2, _02054390 ; =0x000001BF cmp r0, r2 moveq r0, r2 bxeq lr cmp r0, #0x1c0 moveq r0, r2 bxeq lr add r1, r2, #2 cmp r0, r1 moveq r0, r2 bxeq lr add r1, r2, #0x258 cmp r0, r1 moveq r0, r2 bxeq lr ldr r1, _02054394 ; =0x00000418 cmp r0, r1 moveq r0, r2 bxeq lr add r3, r1, #1 cmp r0, r3 moveq r0, r2 bxeq lr add r3, r2, #3 cmp r0, r3 moveq r0, r3 bxeq lr add r3, r2, #4 cmp r0, r3 addeq r0, r2, #3 bxeq lr cmp r0, #0x1c4 addeq r0, r2, #3 bxeq lr add r3, r2, #0xf cmp r0, r3 moveq r0, r3 bxeq lr add r3, r2, #0x10 cmp r0, r3 addeq r0, r2, #0xf bxeq lr add r3, r1, #0xe cmp r0, r3 addeq r0, r2, #0xf bxeq lr add r3, r1, #0xf cmp r0, r3 addeq r0, r2, #0xf bxeq lr cmp r0, #0x1d0 moveq r0, #0x1d0 bxeq lr add r3, r2, #0x12 cmp r0, r3 moveq r0, #0x1d0 bxeq lr add r3, r1, #0x10 cmp r0, r3 moveq r0, #0x1d0 bxeq lr add r3, r1, #0x11 cmp r0, r3 moveq r0, #0x1d0 bxeq lr cmp r0, #0x1cc moveq r0, #0x1cc bxeq lr add r2, r2, #0xe cmp r0, r2 moveq r0, #0x1cc bxeq lr add r2, r1, #0xc cmp r0, r2 moveq r0, r2 bxeq lr add r2, r1, #0xd cmp r0, r2 addeq r0, r1, #0xc bx lr .align 2, 0 _02054390: .word 0x000001BF _02054394: .word 0x00000418 arm_func_end GetBaseFormBurmyWormadamShellosGastrodonCherrim arm_func_start GetBaseFormCastformCherrimDeoxys GetBaseFormCastformCherrimDeoxys: ; 0x02054398 cmp r0, #0x17c ldreq r0, _02054458 ; =0x0000017B bxeq lr ldr r3, _0205445C ; =0x0000017D cmp r0, r3 subeq r0, r3, #2 bxeq lr add r1, r3, #1 cmp r0, r1 subeq r0, r3, #2 bxeq lr cmp r0, #0x3d4 rsbeq r0, r3, #0x550 bxeq lr add r1, r3, #0x258 cmp r0, r1 rsbeq r0, r3, #0x550 bxeq lr ldr r2, _02054460 ; =0x000003D6 cmp r0, r2 subeq r0, r2, #3 bxeq lr cmp r0, #0x1cc moveq r0, #0x1cc bxeq lr add r1, r3, #0x50 cmp r0, r1 moveq r0, #0x1cc bxeq lr add r1, r2, #0x4e cmp r0, r1 moveq r0, r1 bxeq lr add r1, r2, #0x4f cmp r0, r1 addeq r0, r2, #0x4e bxeq lr add r1, r3, #0x26 cmp r0, r1 subeq r0, r2, #0x234 bxeq lr cmp r0, #0x1a4 subeq r0, r2, #0x234 bxeq lr add r1, r3, #0x28 cmp r0, r1 subeq r0, r2, #0x234 bx lr .align 2, 0 _02054458: .word 0x0000017B _0205445C: .word 0x0000017D _02054460: .word 0x000003D6 arm_func_end GetBaseFormCastformCherrimDeoxys arm_func_start GetAllBaseForms GetAllBaseForms: ; 0x02054464 stmdb sp!, {r3, lr} bl GetBaseForm bl GetBaseFormBurmyWormadamShellosGastrodonCherrim ldmia sp!, {r3, pc} arm_func_end GetAllBaseForms arm_func_start GetDexNumberVeneer GetDexNumberVeneer: ; 0x02054474 ldr ip, _0205447C ; =GetDexNumber bx ip .align 2, 0 _0205447C: .word GetDexNumber arm_func_end GetDexNumberVeneer arm_func_start GetMonsterIdFromSpawnEntry GetMonsterIdFromSpawnEntry: ; 0x02054480 stmdb sp!, {r3, lr} ldrsh r0, [r0, #6] ldr r1, _0205449C ; =0x00000483 bl __divsi3 mov r0, r1, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0205449C: .word 0x00000483 arm_func_end GetMonsterIdFromSpawnEntry arm_func_start SetMonsterId SetMonsterId: ; 0x020544A0 strh r1, [r0, #6] bx lr arm_func_end SetMonsterId arm_func_start SetMonsterLevelAndId SetMonsterLevelAndId: ; 0x020544A8 mov r1, r1, lsl #9 strh r1, [r0] strh r2, [r0, #6] bx lr arm_func_end SetMonsterLevelAndId arm_func_start GetMonsterLevelFromSpawnEntry GetMonsterLevelFromSpawnEntry: ; 0x020544B8 ldrh r0, [r0] mov r0, r0, asr #9 and r0, r0, #0x7f bx lr arm_func_end GetMonsterLevelFromSpawnEntry arm_func_start sub_020544C8 sub_020544C8: ; 0x020544C8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x4c mov sl, r0 ldrb r0, [sl] mov sb, r1 mov fp, r2 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _020546DC ldrb r0, [sl, #1] add r6, r0, #1 b _020546D4 _02054500: mov r0, sl bl sub_020546E8 ldrsh r0, [sl, #4] bl FemaleToMaleForm mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, r0 ldrb r2, [sl, #1] ldr r3, _020546E4 ; =0x000003E7 add r0, sp, #0x2a bl sub_02053904 str r0, [sp, #8] cmp r0, #0 beq _020546D0 mov r8, #0 add r5, sl, #0x22 add r4, sp, #0xc b _020546C4 _0205454C: mov r1, #0 mov r3, r8, lsl #1 add r2, sp, #0x2a mov r0, r1 ldrh r3, [r2, r3] b _02054598 _02054564: mov r2, #6 mla r7, r0, r2, sl ldrb r2, [r7, #0x22] tst r2, #1 movne r2, #1 moveq r2, #0 tst r2, #0xff beq _02054594 ldrh r2, [r7, #0x24] cmp r2, r3 moveq r1, #1 beq _020545A0 _02054594: add r0, r0, #1 _02054598: cmp r0, #4 blt _02054564 _020545A0: cmp r1, #0 bne _020546C0 mov r7, #0 b _020545F0 _020545B0: mov r0, #6 mul r1, r7, r0 add r0, sl, r1 ldrb r0, [r0, #0x22] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff bne _020545EC add r0, r5, r1 mov r2, r8, lsl #1 add r1, sp, #0x2a ldrh r1, [r1, r2] bl GetInfoMoveGround b _020545F8 _020545EC: add r7, r7, #1 _020545F0: cmp r7, #4 blt _020545B0 _020545F8: cmp fp, #0 beq _020546C0 cmp r7, #4 bne _020546C0 mov r1, r8, lsl #1 add r0, sp, #0x2a mov r7, #0 ldrh r1, [r0, r1] mov r3, r7 _0205461C: mov r0, #6 mul lr, r3, r0 add ip, sl, lr ldrb r0, [ip, #0x22] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02054660 add r2, r4, lr ldrh r0, [ip, #0x22] add r7, r7, #1 strh r0, [r4, lr] ldrh r0, [ip, #0x24] strh r0, [r2, #2] ldrh r0, [ip, #0x26] strh r0, [r2, #4] _02054660: add r3, r3, #1 cmp r3, #4 blt _0205461C mov r0, #6 mla r0, r3, r0, r4 bl GetInfoMoveGround mov r0, r4 add r1, r7, #1 bl sub_02015090 mov r1, #0 b _020546B8 _0205468C: mov r0, #6 mul r2, r1, r0 add r0, sl, r2 add r3, r4, r2 ldrh r2, [r4, r2] add r1, r1, #1 strh r2, [r0, #0x22] ldrh r2, [r3, #2] strh r2, [r0, #0x24] ldrh r2, [r3, #4] strh r2, [r0, #0x26] _020546B8: cmp r1, r7 blt _0205468C _020546C0: add r8, r8, #1 _020546C4: ldr r0, [sp, #8] cmp r8, r0 blt _0205454C _020546D0: add r6, r6, #1 _020546D4: cmp r6, sb ble _02054500 _020546DC: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020546E4: .word 0x000003E7 arm_func_end sub_020544C8 arm_func_start sub_020546E8 sub_020546E8: ; 0x020546E8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrb r2, [r4, #1] ldrsh r1, [r4, #4] add r0, sp, #0 add r2, r2, #1 bl GetLvlUpEntry ldrb r1, [r4, #1] add r0, r4, #0xa add r1, r1, #1 strb r1, [r4, #1] ldr r1, [sp] str r1, [r4, #0x10] ldrh r1, [sp, #4] bl sub_02054FB8 ldrb r1, [sp, #6] add r0, r4, #0xc bl sub_02054FEC ldrb r1, [sp, #7] add r0, r4, #0xd bl sub_02054FEC ldrb r1, [sp, #8] add r0, r4, #0xe bl sub_02055020 ldrb r1, [sp, #9] add r0, r4, #0xf bl sub_02055020 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end sub_020546E8 arm_func_start GetMonsterGenderVeneer GetMonsterGenderVeneer: ; 0x02054760 ldr ip, _02054768 ; =GetMonsterGender bx ip .align 2, 0 _02054768: .word GetMonsterGender arm_func_end GetMonsterGenderVeneer arm_func_start IsMonsterValid IsMonsterValid: ; 0x0205476C stmdb sp!, {r3, lr} cmp r0, #0 ble _02054798 ldr r1, _020547C0 ; =0x00000229 cmp r0, r1 blt _0205478C cmp r0, #0x258 ble _02054798 _0205478C: ldr r1, _020547C4 ; =0x00000481 cmp r0, r1 blt _020547A0 _02054798: mov r0, #0 ldmia sp!, {r3, pc} _020547A0: cmp r0, #0x258 blt _020547B8 bl GetMonsterGender cmp r0, #2 movne r0, #0 ldmneia sp!, {r3, pc} _020547B8: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _020547C0: .word 0x00000229 _020547C4: .word 0x00000481 arm_func_end IsMonsterValid arm_func_start sub_020547C8 sub_020547C8: ; 0x020547C8 mov r1, #0 strh r1, [r0] str r1, [r0, #4] bx lr arm_func_end sub_020547C8 arm_func_start sub_020547D8 sub_020547D8: ; 0x020547D8 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 strh r0, [r4] ldr r0, [r4, #4] cmp r0, #0 ldmeqia sp!, {r4, pc} bl MemFree mov r0, #0 str r0, [r4, #4] ldmia sp!, {r4, pc} arm_func_end sub_020547D8 arm_func_start sub_02054804 sub_02054804: ; 0x02054804 stmdb sp!, {r3, lr} ldr r2, _02054820 ; =_020A3248 mov r1, #0 ldr r2, [r2, #4] str r2, [sp] blx r2 ldmia sp!, {r3, pc} .align 2, 0 _02054820: .word _020A3248 arm_func_end sub_02054804 arm_func_start sub_02054824 sub_02054824: ; 0x02054824 stmdb sp!, {r3, lr} ldr r2, _02054840 ; =_020A3248 mov r1, #1 ldr r2, [r2] str r2, [sp] blx r2 ldmia sp!, {r3, pc} .align 2, 0 _02054840: .word _020A3248 arm_func_end sub_02054824 arm_func_start sub_02054844 sub_02054844: ; 0x02054844 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xd0 mov r3, #0 mov sb, r0 mov r8, r1 mov r6, r3 add r2, sp, #0x80 _02054860: add r0, r3, #1 mov r0, r0, lsl #0x10 str r6, [r2, r3, lsl #3] add r1, r2, r3, lsl #3 mov r3, r0, asr #0x10 str r6, [r1, #4] cmp r3, #0xa blt _02054860 ldr fp, _02054A50 ; =TEAM_MEMBER_TABLE_PTR mov r7, r6 add r5, sp, #0x80 mov r4, #1 _02054890: mov r0, r7 bl IsValidTeamMember cmp r0, #0 beq _0205493C cmp r8, #0 beq _020548C4 ldr r1, [fp] mov r0, #0x44 smlabb r0, r7, r0, r1 ldrsh r0, [r0, #4] bl IsShaymin cmp r0, #0 bne _0205493C _020548C4: ldr r2, [fp] mov r0, #0x44 smlabb r0, r7, r0, r2 ldrsh r0, [r0, #4] mov r1, #1 bl GetKeyM2NSwitch mov r1, r0, asr #5 add r1, r0, r1, lsr #26 mov lr, r1, asr #6 mov r2, r0, lsr #0x1f rsb r0, r2, r0, lsl #26 add r0, r2, r0, ror #26 mov r1, #0 add r2, r5, lr, lsl #3 mov r1, r1, lsl r0 rsb sl, r0, #0x20 orr r1, r1, r4, lsr sl sub sl, r0, #0x20 ldr ip, [r5, lr, lsl #3] ldr r3, [r2, #4] orr r1, r1, r4, lsl sl orr r1, r3, r1 orr r0, ip, r4, lsl r0 stmia r2, {r0, r1} ldr r0, [r5, lr, lsl #3] cmp r3, r1 cmpeq ip, r0 addne r0, r6, #1 movne r0, r0, lsl #0x10 movne r6, r0, asr #0x10 _0205493C: add r0, r7, #1 mov r1, r0, lsl #0x10 ldr r0, _02054A54 ; =0x0000022B mov r7, r1, asr #0x10 cmp r0, r1, asr #16 bgt _02054890 strh r6, [sb] mov r0, r6, lsl #1 mov r1, #0 bl MemAlloc str r0, [sb, #4] ldr r0, _02054A58 ; =_020A32F8 bl DebugPrint0 mov r8, #0 mov sl, r8 mov r7, #1 mov r5, r8 add fp, sp, #0x80 mov r4, r8 b _02054A40 _0205498C: mov r1, sl, lsr #0x1f rsb r0, r1, sl, lsl #26 add r2, r1, r0, ror #26 mov r0, sl, asr #5 add r0, sl, r0, lsr #26 mov r1, r0, asr #6 add r0, fp, r1, lsl #3 ldr r1, [fp, r1, lsl #3] mov r3, r5, lsl r2 rsb ip, r2, #0x20 and r1, r1, r7, lsl r2 orr r3, r3, r7, lsr ip sub r2, r2, #0x20 ldr r0, [r0, #4] orr r3, r3, r7, lsl r2 and r2, r3, r0 mov r0, #0 cmp r2, r0 cmpeq r1, r4 beq _02054A34 mov r0, sl mov r1, r7 bl GetKeyN2MSwitch ldr r1, [sb, #4] mov r2, r8, lsl #1 strh r0, [r1, r2] ldr r1, [sb, #4] add r0, sp, #0 ldrsh r1, [r1, r2] bl GetNameRaw ldr r3, [sb, #4] mov r2, r8, lsl #1 ldrsh r2, [r3, r2] ldr r0, _02054A5C ; =_020A3330 mov r1, r8 add r3, sp, #0 bl DebugPrint0 add r0, r8, #1 mov r0, r0, lsl #0x10 cmp r6, r0, asr #16 mov r8, r0, asr #0x10 ble _02054A48 _02054A34: add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, asr #0x10 _02054A40: cmp sl, #0x280 blt _0205498C _02054A48: add sp, sp, #0xd0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02054A50: .word TEAM_MEMBER_TABLE_PTR _02054A54: .word 0x0000022B _02054A58: .word _020A32F8 _02054A5C: .word _020A3330 arm_func_end sub_02054844 arm_func_start SprintfStatic__02054A60 SprintfStatic__02054A60: ; 0x02054A60 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__02054A60 arm_func_start IsUnown IsUnown: ; 0x02054A88 cmp r0, #0xc9 blt _02054A9C cmp r0, #0xe4 movle r0, #1 bxle lr _02054A9C: mov r0, #0 bx lr arm_func_end IsUnown arm_func_start IsShaymin IsShaymin: ; 0x02054AA4 ldr r1, _02054AD0 ; =0xFFFFFDEA add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 movls r0, #1 movhi r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02054AD0: .word 0xFFFFFDEA arm_func_end IsShaymin arm_func_start IsCastform IsCastform: ; 0x02054AD4 ldr r2, _02054B24 ; =0x0000017B cmp r0, r2 cmpne r0, #0x17c addne r1, r2, #2 cmpne r0, r1 addne r1, r2, #3 cmpne r0, r1 beq _02054B14 ldr r1, _02054B28 ; =0xFFFFFC2D add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #3 bhi _02054B1C _02054B14: mov r0, #1 bx lr _02054B1C: mov r0, #0 bx lr .align 2, 0 _02054B24: .word 0x0000017B _02054B28: .word 0xFFFFFC2D arm_func_end IsCastform arm_func_start IsCherrim IsCherrim: ; 0x02054B2C cmp r0, #0x1cc ldrne r1, _02054B6C ; =0x000001CD cmpne r0, r1 beq _02054B5C ldr r1, _02054B70 ; =0xFFFFFBDC add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 bhi _02054B64 _02054B5C: mov r0, #1 bx lr _02054B64: mov r0, #0 bx lr .align 2, 0 _02054B6C: .word 0x000001CD _02054B70: .word 0xFFFFFBDC arm_func_end IsCherrim arm_func_start IsDeoxys IsDeoxys: ; 0x02054B74 ldr r1, _02054BA0 ; =0xFFFFFE5E add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #3 movls r0, #1 movhi r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02054BA0: .word 0xFFFFFE5E arm_func_end IsDeoxys arm_func_start GetSecondFormIfValid GetSecondFormIfValid: ; 0x02054BA4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetMonsterGender cmp r0, #1 bne _02054BD8 add r4, r5, #0x258 mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetMonsterGender cmp r0, #2 moveq r0, r4, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r3, r4, r5, pc} _02054BD8: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end GetSecondFormIfValid arm_func_start FemaleToMaleForm FemaleToMaleForm: ; 0x02054BE0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl GetMonsterGender cmp r0, #2 bne _02054C1C cmp r5, #0x258 blt _02054C1C sub r4, r5, #0x258 mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 bl GetMonsterGender cmp r0, #1 moveq r0, r4, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r3, r4, r5, pc} _02054C1C: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end FemaleToMaleForm arm_func_start GetBaseFormCastformDeoxysCherrim GetBaseFormCastformDeoxysCherrim: ; 0x02054C24 stmdb sp!, {r4, lr} mov r4, r0 bl IsDeoxys cmp r0, #0 ldrne r0, _02054CCC ; =0x000001A2 ldmneia sp!, {r4, pc} ldr r1, _02054CD0 ; =0xFFFFFE85 add r0, r4, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #3 rsbls r0, r1, #0 ldmlsia sp!, {r4, pc} sub r0, r1, #0x258 add r0, r4, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #3 rsbls r0, r1, #0x258 ldmlsia sp!, {r4, pc} sub r0, r4, #0x1cc mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 movls r0, #0x1cc ldmlsia sp!, {r4, pc} ldr r0, _02054CD4 ; =0xFFFFFBDC add r1, r4, r0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #1 rsbls r4, r0, #0 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02054CCC: .word 0x000001A2 _02054CD0: .word 0xFFFFFE85 _02054CD4: .word 0xFFFFFBDC arm_func_end GetBaseFormCastformDeoxysCherrim arm_func_start BaseFormsEqual BaseFormsEqual: ; 0x02054CD8 stmdb sp!, {r4, r5, r6, lr} mov r4, r1 bl FemaleToMaleForm mov r5, r0 mov r0, r4 bl FemaleToMaleForm mov r4, r0 mov r0, r5 bl GetBaseFormCastformDeoxysCherrim mov r5, r0 mov r0, r4 bl GetBaseFormCastformDeoxysCherrim mov r6, r0 cmp r5, r6 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 bl IsUnown cmp r0, #0 beq _02054D3C mov r0, r6 bl IsUnown cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _02054D3C: mov r0, r5 bl GetBaseFormBurmyWormadamShellosGastrodonCherrim mov r4, r0 mov r0, r6 bl GetBaseFormBurmyWormadamShellosGastrodonCherrim ldr r1, _02054DB8 ; =0x000001BF cmp r4, r1 cmpeq r0, r1 beq _02054D8C ldr r1, _02054DBC ; =0x000001C2 cmp r4, r1 cmpeq r0, r1 beq _02054D8C ldr r1, _02054DC0 ; =0x000001CE cmp r4, r1 cmpeq r0, r1 beq _02054D8C cmp r4, #0x1d0 cmpeq r0, #0x1d0 bne _02054D94 _02054D8C: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02054D94: mov r0, r5 bl GetDexNumber mov r4, r0 mov r0, r6 bl GetDexNumber cmp r4, r0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02054DB8: .word 0x000001BF _02054DBC: .word 0x000001C2 _02054DC0: .word 0x000001CE arm_func_end BaseFormsEqual arm_func_start DexNumbersEqual DexNumbersEqual: ; 0x02054DC4 stmdb sp!, {r4, r5, r6, lr} mov r4, r1 bl FemaleToMaleForm mov r5, r0 mov r0, r4 bl FemaleToMaleForm mov r4, r0 mov r0, r5 bl GetBaseFormCastformDeoxysCherrim mov r5, r0 mov r0, r4 bl GetBaseFormCastformDeoxysCherrim mov r6, r0 cmp r5, r6 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 bl IsUnown cmp r0, #0 beq _02054E28 mov r0, r6 bl IsUnown cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _02054E28: mov r0, r5 bl GetDexNumber mov r4, r0 mov r0, r6 bl GetDexNumber cmp r4, r0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end DexNumbersEqual arm_func_start GendersEqual GendersEqual: ; 0x02054E4C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl GetMonsterGender mov r4, r0 mov r0, r5 bl GetMonsterGender cmp r4, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} arm_func_end GendersEqual arm_func_start GendersEqualNotGenderless GendersEqualNotGenderless: ; 0x02054E78 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl GetMonsterGender cmp r0, #3 beq _02054EC0 mov r0, r5 bl GetMonsterGender cmp r0, #3 beq _02054EC0 mov r0, r4 bl GetMonsterGender mov r4, r0 mov r0, r5 bl GetMonsterGender cmp r4, r0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _02054EC0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end GendersEqualNotGenderless arm_func_start sub_02054EC8 sub_02054EC8: ; 0x02054EC8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl GetMonsterGender cmp r0, #3 beq _02054F10 mov r0, r5 bl GetMonsterGender cmp r0, #3 beq _02054F10 mov r0, r4 bl GetMonsterGender mov r4, r0 mov r0, r5 bl GetMonsterGender cmp r4, r0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _02054F10: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02054EC8 arm_func_start sub_02054F18 sub_02054F18: ; 0x02054F18 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 add r0, r0, #0xea add r0, r0, #0xfd00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #2 movls r0, #1 movhi r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_02054F18 arm_func_start sub_02054F44 sub_02054F44: ; 0x02054F44 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 mov r4, r2 add r0, sp, #0 mov r2, #0xa bl StrncpySimpleNoPadSafe cmp r4, #0 bne _02054F7C ldr r1, _02054F98 ; =_020A333C add r2, sp, #0 mov r0, r5 bl SprintfStatic__02054A60 b _02054F90 _02054F7C: ldr r1, _02054F9C ; =_020A3340 add r3, sp, #0 mov r0, r5 mov r2, r4 bl SprintfStatic__02054A60 _02054F90: add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 _02054F98: .word _020A333C _02054F9C: .word _020A3340 arm_func_end sub_02054F44 arm_func_start sub_02054FA0 sub_02054FA0: ; 0x02054FA0 ldr ip, _02054FB4 ; =sub_02054F44 cmp r2, #0 movne r2, #0x59 moveq r2, #0x46 bx ip .align 2, 0 _02054FB4: .word sub_02054F44 arm_func_end sub_02054FA0 arm_func_start sub_02054FB8 sub_02054FB8: ; 0x02054FB8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrsh r3, [r4] mov r2, #1 add r0, sp, #0 str r3, [sp] rsb r3, r2, #0x3e8 bl sub_02055088 ldr r1, [sp] strh r1, [r4] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_02054FB8 arm_func_start sub_02054FEC sub_02054FEC: ; 0x02054FEC stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrb r3, [r4] add r0, sp, #0 mov r2, #1 str r3, [sp] mov r3, #0xff bl sub_02055088 ldr r1, [sp] strb r1, [r4] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_02054FEC arm_func_start sub_02055020 sub_02055020: ; 0x02055020 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrb r3, [r4] add r0, sp, #0 mov r2, #1 str r3, [sp] mov r3, #0xff bl sub_02055088 ldr r1, [sp] strb r1, [r4] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_02055020 arm_func_start sub_02055054 sub_02055054: ; 0x02055054 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrsh r3, [r4] mov r2, #1 add r0, sp, #0 str r3, [sp] rsb r3, r2, #0x3e8 bl sub_02055088 ldr r1, [sp] strh r1, [r4] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_02055054 arm_func_start sub_02055088 sub_02055088: ; 0x02055088 cmp r1, #0 ble _020550B4 ldr r2, [r0] cmp r2, r3 moveq r0, #0 bxeq lr add r1, r2, r1 str r1, [r0] cmp r1, r3 strgt r3, [r0] b _020550D4 _020550B4: ldr r3, [r0] cmp r3, r2 moveq r0, #0 bxeq lr add r1, r3, r1 str r1, [r0] cmp r1, r2 strlt r2, [r0] _020550D4: mov r0, #1 bx lr arm_func_end sub_02055088 arm_func_start sub_020550DC sub_020550DC: ; 0x020550DC bx lr arm_func_end sub_020550DC arm_func_start sub_020550E0 sub_020550E0: ; 0x020550E0 ldr r0, _0205510C ; =TEAM_MEMBER_TABLE_PTR mov r3, #0 ldr r2, [r0] ldr r0, _02055110 ; =0x0000022B mov r1, r3 _020550F4: add r3, r3, #1 cmp r3, r0 strb r1, [r2], #0x44 blt _020550F4 ldr ip, _02055114 ; =sub_0205523C bx ip .align 2, 0 _0205510C: .word TEAM_MEMBER_TABLE_PTR _02055110: .word 0x0000022B _02055114: .word sub_0205523C arm_func_end sub_020550E0 arm_func_start sub_02055118 sub_02055118: ; 0x02055118 ldr r0, _02055140 ; =TEAM_MEMBER_TABLE_PTR mov r2, #0 ldr r1, [r0] ldr ip, _02055144 ; =sub_0205523C strb r2, [r1, #0x88] ldr r1, [r0] strb r2, [r1, #0xcc] ldr r0, [r0] strb r2, [r0, #0x110] bx ip .align 2, 0 _02055140: .word TEAM_MEMBER_TABLE_PTR _02055144: .word sub_0205523C arm_func_end sub_02055118 arm_func_start IsMonsterOnTeam IsMonsterOnTeam: ; 0x02055148 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 bl GetGameMode cmp r0, #3 bne _020551C0 ldr r0, _02055230 ; =TEAM_MEMBER_TABLE_PTR mov r8, #0 ldr r7, [r0] mov r5, r8 mov r6, #1 ldr r4, _02055234 ; =_020B0A4C b _020551B8 _0205517C: ldrb r0, [r7] tst r0, #1 movne r0, r6 moveq r0, r5 tst r0, #0xff beq _020551B0 ldrsh r0, [r7, #4] ldr r2, [r4, sb, lsl #2] mov r1, sl blx r2 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _020551B0: add r8, r8, #1 add r7, r7, #0x44 _020551B8: cmp r8, #2 blt _0205517C _020551C0: ldr r0, _02055230 ; =TEAM_MEMBER_TABLE_PTR mov r8, #5 ldr r0, [r0] mov fp, #0 add r7, r0, #0x154 mov r6, #1 ldr r5, _02055234 ; =_020B0A4C ldr r4, _02055238 ; =0x0000022B b _02055220 _020551E4: ldrb r0, [r7] tst r0, #1 movne r0, r6 moveq r0, fp tst r0, #0xff beq _02055218 ldrsh r0, [r7, #4] ldr r2, [r5, sb, lsl #2] mov r1, sl blx r2 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02055218: add r8, r8, #1 add r7, r7, #0x44 _02055220: cmp r8, r4 blt _020551E4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02055230: .word TEAM_MEMBER_TABLE_PTR _02055234: .word _020B0A4C _02055238: .word 0x0000022B arm_func_end IsMonsterOnTeam arm_func_start sub_0205523C sub_0205523C: ; 0x0205523C stmdb sp!, {r3, lr} mov r0, #0x214 mov r1, #0 bl IsMonsterOnTeam cmp r0, #0 ldrne r1, _02055268 ; =0x0000022B ldrne r0, _0205526C ; =_022B5788 ldreq r1, _02055270 ; =0x0000022A ldreq r0, _0205526C ; =_022B5788 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02055268: .word 0x0000022B _0205526C: .word _022B5788 _02055270: .word 0x0000022A arm_func_end sub_0205523C arm_func_start GetNbRecruited GetNbRecruited: ; 0x02055274 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02055384 ; =0x00000906 mov r4, r0 bl MemZero bl GetGameMode cmp r0, #3 mov r3, #1 bne _020552E0 ldr r0, _02055388 ; =TEAM_MEMBER_TABLE_PTR mov lr, #0 ldr ip, [r0] mov r2, lr _020552A4: ldrb r0, [ip] add lr, lr, #1 tst r0, #1 movne r0, r3 moveq r0, r2 tst r0, #0xff ldrnesh r0, [ip, #4] add ip, ip, #0x44 movne r1, r0, lsl #1 ldrnesh r0, [r4, r1] addne r0, r0, #1 strneh r0, [r4, r1] cmp lr, #2 blt _020552A4 b _0205532C _020552E0: ldr r0, _02055388 ; =TEAM_MEMBER_TABLE_PTR mov r5, #2 ldr r0, [r0] mov r2, #0 add ip, r0, #0x88 _020552F4: ldrb r0, [ip] add r5, r5, #1 tst r0, #1 movne r0, r3 moveq r0, r2 tst r0, #0xff ldrnesh r0, [ip, #4] add ip, ip, #0x44 movne r1, r0, lsl #1 ldrnesh r0, [r4, r1] addne r0, r0, #1 strneh r0, [r4, r1] cmp r5, #5 blt _020552F4 _0205532C: ldr r0, _02055388 ; =TEAM_MEMBER_TABLE_PTR mov r5, #5 ldr r0, [r0] mov r3, #0 add lr, r0, #0x154 ldr r0, _0205538C ; =0x0000022B mov ip, #1 _02055348: ldrb r1, [lr] add r5, r5, #1 tst r1, #1 movne r1, ip moveq r1, r3 tst r1, #0xff ldrnesh r1, [lr, #4] add lr, lr, #0x44 movne r2, r1, lsl #1 ldrnesh r1, [r4, r2] addne r1, r1, #1 strneh r1, [r4, r2] cmp r5, r0 blt _02055348 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02055384: .word 0x00000906 _02055388: .word TEAM_MEMBER_TABLE_PTR _0205538C: .word 0x0000022B arm_func_end GetNbRecruited arm_func_start IsValidTeamMember IsValidTeamMember: ; 0x02055390 stmdb sp!, {r4, lr} ldr r1, _0205540C ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 mov r0, #0x44 smulbb r0, r4, r0 ldr r1, [r1] ldrb r0, [r1, r0] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02055404 cmp r4, #5 bge _020553FC bl GetGameMode cmp r0, #3 bne _020553EC cmp r4, #2 cmpne r4, #3 cmpne r4, #4 beq _020553FC mov r0, #0 ldmia sp!, {r4, pc} _020553EC: cmp r4, #0 cmpne r4, #1 movne r0, #0 ldmneia sp!, {r4, pc} _020553FC: mov r0, #1 ldmia sp!, {r4, pc} _02055404: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0205540C: .word TEAM_MEMBER_TABLE_PTR arm_func_end IsValidTeamMember arm_func_start sub_02055410 sub_02055410: ; 0x02055410 stmdb sp!, {r4, lr} ldr r1, _02055470 ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 mov r0, #0x44 smulbb r0, r4, r0 ldr r1, [r1] ldrb r0, [r1, r0] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02055468 bl GetGameMode cmp r0, #3 bne _0205545C cmp r4, #2 bne _02055468 mov r0, #1 ldmia sp!, {r4, pc} _0205545C: cmp r4, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} _02055468: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02055470: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02055410 arm_func_start sub_02055474 sub_02055474: ; 0x02055474 stmdb sp!, {r4, lr} ldr r1, _020554D4 ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 mov r0, #0x44 smulbb r0, r4, r0 ldr r1, [r1] ldrb r0, [r1, r0] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _020554CC bl GetGameMode cmp r0, #3 bne _020554C0 cmp r4, #3 bne _020554CC mov r0, #1 ldmia sp!, {r4, pc} _020554C0: cmp r4, #1 moveq r0, #1 ldmeqia sp!, {r4, pc} _020554CC: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _020554D4: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02055474 arm_func_start sub_020554D8 sub_020554D8: ; 0x020554D8 stmdb sp!, {r4, lr} ldr r1, _02055524 ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 mov r0, #0x44 smulbb r0, r4, r0 ldr r1, [r1] ldrb r0, [r1, r0] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0205551C bl GetGameMode cmp r0, #3 cmpeq r4, #4 moveq r0, #1 ldmeqia sp!, {r4, pc} _0205551C: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02055524: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020554D8 arm_func_start IsMainCharacter IsMainCharacter: ; 0x02055528 stmdb sp!, {r4, lr} ldr r1, _020555A4 ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 mov r0, #0x44 smulbb r0, r4, r0 ldr r1, [r1] ldrb r0, [r1, r0] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0205559C cmp r4, #5 bge _0205559C bl GetGameMode cmp r0, #3 bne _02055584 cmp r4, #2 cmpne r4, #3 cmpne r4, #4 beq _02055594 mov r0, #0 ldmia sp!, {r4, pc} _02055584: cmp r4, #0 cmpne r4, #1 movne r0, #0 ldmneia sp!, {r4, pc} _02055594: mov r0, #1 ldmia sp!, {r4, pc} _0205559C: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _020555A4: .word TEAM_MEMBER_TABLE_PTR arm_func_end IsMainCharacter arm_func_start GetTeamMember GetTeamMember: ; 0x020555A8 mvn r1, #0 cmp r0, r1 moveq r0, #0 bxeq lr ldr r2, _020555CC ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 bx lr .align 2, 0 _020555CC: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetTeamMember arm_func_start sub_020555D0 sub_020555D0: ; 0x020555D0 stmdb sp!, {r4, r5, r6, lr} ldr r2, _02055648 ; =TEAM_MEMBER_TABLE_PTR mov r5, #0 ldr r2, [r2] mov r6, #5 add r4, r2, #0x154 mov ip, r5 mov lr, #1 ldr r2, _0205564C ; =0x0000022B b _02055638 _020555F8: ldrb r3, [r4] tst r3, #1 movne r3, lr moveq r3, ip tst r3, #0xff beq _02055630 ldrsh r3, [r4, #4] cmp r3, r0 bne _02055630 cmp r5, r1 moveq r0, r6, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r4, r5, r6, pc} add r5, r5, #1 _02055630: add r6, r6, #1 add r4, r4, #0x44 _02055638: cmp r6, r2 blt _020555F8 mvn r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02055648: .word TEAM_MEMBER_TABLE_PTR _0205564C: .word 0x0000022B arm_func_end sub_020555D0 arm_func_start GetHeroMemberIdx GetHeroMemberIdx: ; 0x02055650 ldr r0, _02055678 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] ldrb r0, [r0] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r0, #0 mvneq r0, #0 bx lr .align 2, 0 _02055678: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetHeroMemberIdx arm_func_start GetPartnerMemberIdx GetPartnerMemberIdx: ; 0x0205567C ldr r0, _020556A4 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] ldrb r0, [r0, #0x44] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r0, #1 mvneq r0, #0 bx lr .align 2, 0 _020556A4: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetPartnerMemberIdx arm_func_start GetMainCharacter1MemberIdx GetMainCharacter1MemberIdx: ; 0x020556A8 stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #3 moveq r0, #2 ldr r2, _020556E8 ; =TEAM_MEMBER_TABLE_PTR movne r0, #0 mov r1, #0x44 smulbb r1, r0, r1 ldr r2, [r2] ldrb r1, [r2, r1] tst r1, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff mvneq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _020556E8: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetMainCharacter1MemberIdx arm_func_start GetMainCharacter2MemberIdx GetMainCharacter2MemberIdx: ; 0x020556EC stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #3 moveq r0, #3 ldr r2, _0205572C ; =TEAM_MEMBER_TABLE_PTR movne r0, #1 mov r1, #0x44 smulbb r1, r0, r1 ldr r2, [r2] ldrb r1, [r2, r1] tst r1, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff mvneq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0205572C: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetMainCharacter2MemberIdx arm_func_start GetMainCharacter3MemberIdx GetMainCharacter3MemberIdx: ; 0x02055730 stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #3 mvnne r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0205576C ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] ldrb r0, [r0, #0x110] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff movne r0, #4 mvneq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0205576C: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetMainCharacter3MemberIdx arm_func_start GetHero GetHero: ; 0x02055770 ldr r0, _02055794 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] ldrb r1, [r0] tst r1, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff moveq r0, #0 bx lr .align 2, 0 _02055794: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetHero arm_func_start GetPartner GetPartner: ; 0x02055798 ldr r0, _020557C0 ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r0] ldrb r0, [r1, #0x44] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff addne r0, r1, #0x44 moveq r0, #0 bx lr .align 2, 0 _020557C0: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetPartner arm_func_start GetMainCharacter1 GetMainCharacter1: ; 0x020557C4 stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #3 moveq r2, #2 ldr r1, _02055808 ; =TEAM_MEMBER_TABLE_PTR movne r2, #0 mov r0, #0x44 smulbb r2, r2, r0 ldr r1, [r1] ldrb r0, [r1, r2] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff addne r0, r1, r2 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02055808: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetMainCharacter1 arm_func_start GetMainCharacter2 GetMainCharacter2: ; 0x0205580C stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #3 moveq r2, #3 ldr r1, _02055850 ; =TEAM_MEMBER_TABLE_PTR movne r2, #1 mov r0, #0x44 smulbb r2, r2, r0 ldr r1, [r1] ldrb r0, [r1, r2] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff addne r0, r1, r2 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02055850: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetMainCharacter2 arm_func_start GetMainCharacter3 GetMainCharacter3: ; 0x02055854 stmdb sp!, {r3, lr} bl GetGameMode cmp r0, #3 movne r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02055890 ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r0] ldrb r0, [r1, #0x110] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff addne r0, r1, #0x110 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02055890: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetMainCharacter3 arm_func_start sub_02055894 sub_02055894: ; 0x02055894 ldr r1, _020558EC ; =TEAM_MEMBER_TABLE_PTR mov r3, #0 ldr r2, [r1] ldr r1, _020558F0 ; =0x0000022B b _020558DC _020558A8: cmp r2, r0 bne _020558D4 ldrb r0, [r2] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _020558E4 mov r0, r3, lsl #0x10 mov r0, r0, asr #0x10 bx lr _020558D4: add r3, r3, #1 add r2, r2, #0x44 _020558DC: cmp r3, r1 blt _020558A8 _020558E4: mvn r0, #0 bx lr .align 2, 0 _020558EC: .word TEAM_MEMBER_TABLE_PTR _020558F0: .word 0x0000022B arm_func_end sub_02055894 arm_func_start sub_020558F4 sub_020558F4: ; 0x020558F4 stmdb sp!, {r4, lr} ldr r1, _0205595C ; =TEAM_MEMBER_TABLE_PTR mov r4, #5 ldr r1, [r1] mov r3, #0 add lr, r1, #0x154 mov ip, #1 ldr r1, _02055960 ; =0x0000022B b _0205594C _02055918: ldrb r2, [lr] tst r2, #1 movne r2, ip moveq r2, r3 tst r2, #0xff beq _02055944 ldrsh r2, [lr, #4] cmp r2, r0 moveq r0, r4, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r4, pc} _02055944: add r4, r4, #1 add lr, lr, #0x44 _0205594C: cmp r4, r1 blt _02055918 mvn r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0205595C: .word TEAM_MEMBER_TABLE_PTR _02055960: .word 0x0000022B arm_func_end sub_020558F4 arm_func_start GetFirstEmptyMemberIdx GetFirstEmptyMemberIdx: ; 0x02055964 stmdb sp!, {r3, lr} ldr r1, _020559CC ; =TEAM_MEMBER_TABLE_PTR cmp r0, #0x214 ldr r0, [r1] ldreq lr, _020559D0 ; =0x0000022B add r3, r0, #0x154 ldrne r0, _020559D4 ; =_022B5788 mov ip, #5 ldrne lr, [r0] mov r0, #0 mov r1, #1 b _020559BC _02055994: ldrb r2, [r3] tst r2, #1 movne r2, r1 moveq r2, r0 tst r2, #0xff moveq r0, ip, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r3, pc} add ip, ip, #1 add r3, r3, #0x44 _020559BC: cmp ip, lr blt _02055994 mvn r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _020559CC: .word TEAM_MEMBER_TABLE_PTR _020559D0: .word 0x0000022B _020559D4: .word _022B5788 arm_func_end GetFirstEmptyMemberIdx arm_func_start sub_020559D8 sub_020559D8: ; 0x020559D8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r1, _02055B18 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 ldr lr, [r1] mov r8, r0 mov r2, r4 mov r3, #1 mvn r1, #0 _020559F8: ldrb r0, [lr] add lr, lr, #0x44 tst r0, #1 movne r0, r3 moveq r0, r2 tst r0, #0xff mov r0, r4, lsl #1 strneh r4, [r8, r0] add r4, r4, #1 streqh r1, [r8, r0] cmp r4, #5 blt _020559F8 mov r2, #0 mov r3, #1 ldr r0, _02055B1C ; =0x0000022B b _02055B0C _02055A38: ldrb r1, [lr] tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff bne _02055AFC mvn ip, #0 mov r0, r4, lsl #1 mov r7, lr mov r6, r4 strh ip, [r8, r0] add lr, lr, #0x44 add r4, r4, #1 add sb, ip, #0x22c b _02055AD4 _02055A74: ldrb r0, [lr] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02055AC4 mov r5, r7 mov fp, lr add r7, r7, #0x44 mov sl, #4 _02055A9C: ldmia fp!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs sl, sl, #1 bne _02055A9C ldr r0, [fp] str r0, [r5] mov r0, r4, lsl #1 strh r6, [r8, r0] add r6, r6, #1 b _02055ACC _02055AC4: mov r0, r4, lsl #1 strh ip, [r8, r0] _02055ACC: add r4, r4, #1 add lr, lr, #0x44 _02055AD4: cmp r4, sb blt _02055A74 mov r1, #0 ldr r0, _02055B1C ; =0x0000022B b _02055AF0 _02055AE8: strb r1, [r7], #0x44 add r6, r6, #1 _02055AF0: cmp r6, r0 blt _02055AE8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02055AFC: mov r1, r4, lsl #1 strh r4, [r8, r1] add r4, r4, #1 add lr, lr, #0x44 _02055B0C: cmp r4, r0 blt _02055A38 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02055B18: .word TEAM_MEMBER_TABLE_PTR _02055B1C: .word 0x0000022B arm_func_end sub_020559D8 arm_func_start sub_02055B20 sub_02055B20: ; 0x02055B20 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02055B74 ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x44 smulbb r4, r0, r1 cmp r0, #5 ldr r5, [r2] movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} ldrb r1, [r5, r4] tst r1, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} bl sub_020564B0 cmp r0, #0 mov r0, #0 streqb r0, [r5, r4] moveq r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02055B74: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02055B20 arm_func_start sub_02055B78 sub_02055B78: ; 0x02055B78 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x58 ldr r4, _02055CC4 ; =TEAM_MEMBER_TABLE_PTR mov lr, #1 mov r6, r1 mov r7, r0 mov ip, #0 ldr r4, [r4] mov r1, #0x44 mov r0, r6 mov r5, r3 strb lr, [sp, #0x14] strb r2, [sp, #0x16] strb ip, [sp, #0x17] strb lr, [sp, #0x15] smlabb r4, r7, r1, r4 bl GetBaseHp strh r0, [sp, #0x1e] mov r0, r6 mov r1, #0 bl GetBaseOffensiveStat strb r0, [sp, #0x20] mov r0, r6 mov r1, #1 bl GetBaseOffensiveStat strb r0, [sp, #0x21] mov r0, r6 mov r1, #0 bl GetBaseDefensiveStat strb r0, [sp, #0x22] mov r0, r6 mov r1, #1 bl GetBaseDefensiveStat strb r0, [sp, #0x23] mov r0, #0 mov r2, #1 strb r0, [sp, #0x1a] strb r0, [sp, #0x1b] add r0, sp, #0x28 mov r1, r6 strh r2, [sp, #0x1c] bl sub_02058EB0 mov r2, #0 add r0, sp, #0x36 mov r1, r6 strh r6, [sp, #0x18] str r2, [sp, #0x24] strb r2, [sp, #0x34] bl sub_02053F10 cmp r5, #0 beq _02055C58 add r0, sp, #0x4e mov r1, r5 mov r2, #0xa bl StrncpySimple b _02055C74 _02055C58: add r0, sp, #0 mov r1, r6 bl GetNameRaw add r0, sp, #0x4e add r1, sp, #0 mov r2, #0xa bl sub_02025314 _02055C74: add r6, sp, #0x14 mov r5, #4 _02055C7C: ldmia r6!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs r5, r5, #1 bne _02055C7C ldr r0, [r6] cmp r7, #0 str r0, [r4] cmpne r7, #2 mov r0, r7 bne _02055CAC bl sub_02056754 b _02055CB0 _02055CAC: bl sub_02056554 _02055CB0: ldr r0, _02055CC8 ; =_020A3350 mov r1, r7 bl DebugPrint0 add sp, sp, #0x58 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02055CC4: .word TEAM_MEMBER_TABLE_PTR _02055CC8: .word _020A3350 arm_func_end sub_02055B78 arm_func_start sub_02055CCC sub_02055CCC: ; 0x02055CCC stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrsh r0, [r5, #4] bl GetFirstEmptyMemberIdx mov r4, r0 mvn r0, #0 cmp r4, r0 beq _02055D38 ldr r1, _02055D40 ; =TEAM_MEMBER_TABLE_PTR mov r0, #0x44 ldr r1, [r1] mov r6, r5 smlabb lr, r4, r0, r1 mov ip, #4 _02055D04: ldmia r6!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02055D04 ldr r0, [r6] str r0, [lr] ldrsh r0, [r5, #4] bl SetPokemonJoined ldrsh r0, [r5, #4] cmp r0, #0x214 ldreq r1, _02055D44 ; =0x0000022B ldreq r0, _02055D48 ; =_022B5788 streq r1, [r0] _02055D38: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02055D40: .word TEAM_MEMBER_TABLE_PTR _02055D44: .word 0x0000022B _02055D48: .word _022B5788 arm_func_end sub_02055CCC arm_func_start sub_02055D4C sub_02055D4C: ; 0x02055D4C stmdb sp!, {r3, lr} bl sub_02055CCC mvn r1, #0 cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r2, _02055D78 ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x44 ldr r2, [r2] smlabb r0, r0, r1, r2 ldmia sp!, {r3, pc} .align 2, 0 _02055D78: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02055D4C arm_func_start sub_02055D7C sub_02055D7C: ; 0x02055D7C stmdb sp!, {r3, r4, r5, lr} mvn r2, #0 mov r5, r1 cmp r0, r2 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, _02055DCC ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x44 ldr r2, [r2] mov r4, r5 smlabb lr, r0, r1, r2 mov ip, #4 _02055DA8: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02055DA8 ldr r0, [r4] str r0, [lr] ldrsh r0, [r5, #4] bl SetPokemonJoined ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02055DCC: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02055D7C arm_func_start sub_02055DD0 sub_02055DD0: ; 0x02055DD0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c ldrb ip, [sp, #0x58] mov r5, r0 mov r4, r1 mov lr, r2 str r3, [sp] add r0, sp, #8 mov r1, r5 mov r2, r4 mov r3, lr str ip, [sp, #4] bl sub_02052CF4 add r0, sp, #8 bl sub_02055D4C add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} arm_func_end sub_02055DD0 arm_func_start sub_02055E14 sub_02055E14: ; 0x02055E14 stmdb sp!, {r4, r5, r6, lr} mov r3, r1 ldrb r1, [r3] mov r4, r0 add r0, r3, #0x14 and r1, r1, #1 strh r1, [r4] ldrb r1, [r3, #1] add r6, r4, #0x18 add r5, r3, #0x22 strb r1, [r4, #4] ldrb r1, [r3, #2] add lr, r4, #0x2a mov ip, #0xc strb r1, [r4, #5] ldrb r1, [r3, #3] strb r1, [r4, #6] ldrsh r1, [r3, #4] strh r1, [r4, #8] ldrb r1, [r3, #6] strb r1, [r4, #0xa] ldrb r1, [r3, #7] strb r1, [r4, #0xb] ldrsh r1, [r3, #8] strh r1, [r4, #0xc] ldrsh r1, [r3, #0xa] strh r1, [r4, #0xe] ldrb r1, [r3, #0xc] strb r1, [r4, #0x10] ldrb r1, [r3, #0xd] strb r1, [r4, #0x11] ldrb r1, [r3, #0xe] strb r1, [r4, #0x12] ldrb r1, [r3, #0xf] strb r1, [r4, #0x13] ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r0, [r3, #0x10] str r0, [r4, #0x14] ldrb r0, [r3, #0x20] strb r0, [r4, #0x24] _02055EB8: ldrh r0, [r5], #2 subs ip, ip, #1 strh r0, [lr], #2 bne _02055EB8 add r0, r4, #0x42 add r1, r3, #0x3a mov r2, #0xa bl StrncpySimple mov r2, #0 mov r1, r2 _02055EE0: add r0, r4, r2 add r2, r2, #1 strb r1, [r0, #2] cmp r2, #2 blt _02055EE0 strb r1, [r4, #0x25] strh r1, [r4, #0x26] strh r1, [r4, #0x28] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02055E14 arm_func_start sub_02055F04 sub_02055F04: ; 0x02055F04 stmdb sp!, {r4, r5, r6, lr} mov r3, r1 ldrh r1, [r3] mov ip, r0 add r0, r3, #0x18 and r1, r1, #1 strb r1, [ip] ldrb r1, [r3, #4] add r6, ip, #0x14 add r5, r3, #0x2a strb r1, [ip, #1] ldrb r1, [r3, #5] add r4, ip, #0x22 mov lr, #0xc strb r1, [ip, #2] ldrb r1, [r3, #6] strb r1, [ip, #3] ldrsh r1, [r3, #8] strh r1, [ip, #4] ldrb r1, [r3, #0xa] strb r1, [ip, #6] ldrb r1, [r3, #0xb] strb r1, [ip, #7] ldrsh r1, [r3, #0xc] strh r1, [ip, #8] ldrsh r1, [r3, #0xe] strh r1, [ip, #0xa] ldrb r1, [r3, #0x10] strb r1, [ip, #0xc] ldrb r1, [r3, #0x11] strb r1, [ip, #0xd] ldrb r1, [r3, #0x12] strb r1, [ip, #0xe] ldrb r1, [r3, #0x13] strb r1, [ip, #0xf] ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r0, [r3, #0x14] str r0, [ip, #0x10] ldrb r0, [r3, #0x24] strb r0, [ip, #0x20] _02055FA8: ldrh r0, [r5], #2 subs lr, lr, #1 strh r0, [r4], #2 bne _02055FA8 add r0, ip, #0x3a add r1, r3, #0x42 mov r2, #0xa bl StrncpySimple ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02055F04 arm_func_start sub_02055FCC sub_02055FCC: ; 0x02055FCC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl IsValidTeamMember cmp r0, #0 beq _02056068 mov r0, r4 bl GetItemMoveId16 mov r4, r0 mov r0, r5 bl GetTeamMember mov lr, #0 mov r3, lr mov ip, #1 mov r2, #6 b _02056040 _0205600C: smlabb r5, lr, r2, r0 ldrb r1, [r5, #0x22] tst r1, #1 movne r1, ip moveq r1, r3 tst r1, #0xff beq _02056034 ldrh r1, [r5, #0x24] cmp r4, r1 beq _02056048 _02056034: add r1, lr, #1 mov r1, r1, lsl #0x10 mov lr, r1, asr #0x10 _02056040: cmp lr, #4 blt _0205600C _02056048: cmp lr, #4 blt _02056068 ldrsh r1, [r0, #4] mov r0, r4 bl sub_02053D1C cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _02056068: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02055FCC arm_func_start IsMonsterNotNicknamed IsMonsterNotNicknamed: ; 0x02056070 ldr ip, _02056080 ; =StrcmpMonsterName ldrsh r1, [r0, #4] add r0, r0, #0x3a bx ip .align 2, 0 _02056080: .word StrcmpMonsterName arm_func_end IsMonsterNotNicknamed arm_func_start sub_02056084 sub_02056084: ; 0x02056084 ldr ip, _02056090 ; =sub_02054F44 add r1, r1, #0x3a bx ip .align 2, 0 _02056090: .word sub_02054F44 arm_func_end sub_02056084 arm_func_start sub_02056094 sub_02056094: ; 0x02056094 ldr ip, _020560A0 ; =sub_02054FA0 add r1, r1, #0x3a bx ip .align 2, 0 _020560A0: .word sub_02054FA0 arm_func_end sub_02056094 arm_func_start sub_020560A4 sub_020560A4: ; 0x020560A4 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_020560A4 arm_func_start sub_020560B8 sub_020560B8: ; 0x020560B8 ldr ip, _020560C4 ; =SetActiveTeam mov r0, #0 bx ip .align 2, 0 _020560C4: .word SetActiveTeam arm_func_end sub_020560B8 arm_func_start sub_020560C8 sub_020560C8: ; 0x020560C8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov lr, #0 ldr r7, _02056154 ; =TEAM_MEMBER_TABLE_PTR mov r1, lr mvn r0, #0 mov r2, lr mov r4, #0x68 mov r6, #0x1a0 _020560E8: mul ip, lr, r6 mov r3, r2 _020560F0: ldr r5, [r7] add r5, ip, r5 mla r5, r3, r4, r5 add r5, r5, #0x9000 strb r1, [r5, #0x36c] ldr r5, [r7] add r5, r5, lr, lsl #3 add r5, r5, r3, lsl #1 add r5, r5, #0x9800 add r3, r3, #1 strh r0, [r5, #0x56] cmp r3, #4 blt _020560F0 ldr r3, [r7] add r3, r3, lr, lsl #1 add r3, r3, #0x9800 strh r0, [r3, #0x50] ldr r3, [r7] add r3, r3, lr add r3, r3, #0x9000 add lr, lr, #1 strb r1, [r3, #0x874] cmp lr, #3 blt _020560E8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02056154: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020560C8 arm_func_start sub_02056158 sub_02056158: ; 0x02056158 stmdb sp!, {r3, lr} mov lr, #0 ldr r3, _020561BC ; =TEAM_MEMBER_TABLE_PTR mov r0, lr mvn ip, #0 mov r1, #0x68 _02056170: ldr r2, [r3] mla r2, lr, r1, r2 add r2, r2, #0x9000 strb r0, [r2, #0x50c] ldr r2, [r3] add r2, r2, lr, lsl #1 add r2, r2, #0x9800 add lr, lr, #1 strh ip, [r2, #0x5e] cmp lr, #4 blt _02056170 ldr r2, _020561BC ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r2] add r1, r1, #0x9800 strh ip, [r1, #0x52] ldr r1, [r2] add r1, r1, #0x9000 strb r0, [r1, #0x875] ldmia sp!, {r3, pc} .align 2, 0 _020561BC: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056158 arm_func_start sub_020561C0 sub_020561C0: ; 0x020561C0 stmdb sp!, {r3, lr} mov lr, #0 ldr r3, _02056224 ; =TEAM_MEMBER_TABLE_PTR mov r0, lr mvn ip, #0 mov r1, #0x68 _020561D8: ldr r2, [r3] mla r2, lr, r1, r2 add r2, r2, #0x9000 strb r0, [r2, #0x6ac] ldr r2, [r3] add r2, r2, lr, lsl #1 add r2, r2, #0x9800 add lr, lr, #1 strh ip, [r2, #0x66] cmp lr, #4 blt _020561D8 ldr r2, _02056224 ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r2] add r1, r1, #0x9800 strh ip, [r1, #0x54] ldr r1, [r2] add r1, r1, #0x9000 strb r0, [r1, #0x876] ldmia sp!, {r3, pc} .align 2, 0 _02056224: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020561C0 arm_func_start CheckTeamMemberIdx CheckTeamMemberIdx: ; 0x02056228 ldr r1, _0205625C ; =0x000055AA cmp r0, r1 moveq r0, #1 bxeq lr ldr r1, _02056260 ; =0x00005AA5 cmp r0, r1 moveq r0, #1 bxeq lr cmp r0, #0 movlt r0, #1 movge r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205625C: .word 0x000055AA _02056260: .word 0x00005AA5 arm_func_end CheckTeamMemberIdx arm_func_start sub_02056264 sub_02056264: ; 0x02056264 ldr r1, _0205628C ; =0x000055AA cmp r0, r1 moveq r0, #1 bxeq lr ldr r1, _02056290 ; =0x00005AA5 cmp r0, r1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205628C: .word 0x000055AA _02056290: .word 0x00005AA5 arm_func_end sub_02056264 arm_func_start IsMonsterIdInNormalRange IsMonsterIdInNormalRange: ; 0x02056294 cmp r0, #0 blt _020562AC ldr r1, _020562B4 ; =0x0000022B cmp r0, r1 movlt r0, #1 bxlt lr _020562AC: mov r0, #0 bx lr .align 2, 0 _020562B4: .word 0x0000022B arm_func_end IsMonsterIdInNormalRange arm_func_start sub_020562B8 sub_020562B8: ; 0x020562B8 cmp r0, #0 movlt r0, #1 movge r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_020562B8 arm_func_start SetActiveTeam SetActiveTeam: ; 0x020562CC ldr r3, _02056314 ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x1a0 ldr r1, [r3] add r1, r1, #0x9000 strb r0, [r1, #0x877] ldr ip, [r3] add r1, ip, #0x36c add r1, r1, #0x9000 mla r2, r0, r2, r1 add r1, ip, #0x9000 str r2, [r1, #0x84c] ldr r2, [r3] add r1, r2, #0x56 add r1, r1, #0x9800 add r1, r1, r0, lsl #3 add r0, r2, #0x9000 str r1, [r0, #0x870] bx lr .align 2, 0 _02056314: .word TEAM_MEMBER_TABLE_PTR arm_func_end SetActiveTeam arm_func_start sub_02056318 sub_02056318: ; 0x02056318 ldr r1, _02056338 ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r1] add r1, r2, #0x9000 ldrb r1, [r1, #0x877] add r1, r2, r1 add r1, r1, #0x9000 strb r0, [r1, #0x874] bx lr .align 2, 0 _02056338: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056318 arm_func_start sub_0205633C sub_0205633C: ; 0x0205633C ldr r0, _0205635C ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r0] add r0, r1, #0x9000 ldrb r0, [r0, #0x877] add r0, r1, r0 add r0, r0, #0x9000 ldrb r0, [r0, #0x874] bx lr .align 2, 0 _0205635C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_0205633C arm_func_start sub_02056360 sub_02056360: ; 0x02056360 ldr r0, _02056388 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r1, [r0, #0x874] cmp r1, #0 ldreqb r0, [r0, #0x875] cmpeq r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _02056388: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056360 arm_func_start GetActiveTeamMember GetActiveTeamMember: ; 0x0205638C mvn r1, #0 cmp r0, r1 moveq r0, #0 bxeq lr ldr r1, _020563B8 ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x68 ldr r1, [r1] add r1, r1, #0x9000 ldr r1, [r1, #0x84c] smlabb r0, r0, r2, r1 bx lr .align 2, 0 _020563B8: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetActiveTeamMember arm_func_start GetActiveRosterIndex GetActiveRosterIndex: ; 0x020563BC mvn r1, #0 cmp r0, r1 beq _02056404 ldr r1, _0205640C ; =TEAM_MEMBER_TABLE_PTR mov ip, #0 ldr r1, [r1] add r1, r1, #0x9000 b _020563FC _020563DC: ldr r3, [r1, #0x870] mov r2, ip, lsl #1 ldrsh r2, [r3, r2] cmp r0, r2 moveq r0, ip, lsl #0x10 moveq r0, r0, asr #0x10 bxeq lr add ip, ip, #1 _020563FC: cmp ip, #4 blt _020563DC _02056404: mvn r0, #0 bx lr .align 2, 0 _0205640C: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetActiveRosterIndex arm_func_start sub_02056410 sub_02056410: ; 0x02056410 mvn r1, #0 cmp r0, r1 beq _02056454 ldr r1, _0205645C ; =TEAM_MEMBER_TABLE_PTR mov ip, #0 ldr r1, [r1] add r1, r1, #0x9000 b _0205644C _02056430: ldr r3, [r1, #0x870] mov r2, ip, lsl #1 ldrsh r2, [r3, r2] cmp r0, r2 moveq r0, #1 bxeq lr add ip, ip, #1 _0205644C: cmp ip, #4 blt _02056430 _02056454: mov r0, #0 bx lr .align 2, 0 _0205645C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056410 arm_func_start sub_02056460 sub_02056460: ; 0x02056460 mvn r2, #0 cmp r0, r2 beq _020564A4 ldr r2, _020564AC ; =TEAM_MEMBER_TABLE_PTR mov r3, #0 ldr r2, [r2] add r2, r2, r1, lsl #3 b _0205649C _02056480: add r1, r2, r3, lsl #1 add r1, r1, #0x9800 ldrsh r1, [r1, #0x56] cmp r0, r1 moveq r0, #1 bxeq lr add r3, r3, #1 _0205649C: cmp r3, #4 blt _02056480 _020564A4: mov r0, #0 bx lr .align 2, 0 _020564AC: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056460 arm_func_start sub_020564B0 sub_020564B0: ; 0x020564B0 mvn r3, #0 cmp r0, r3 beq _020564F8 ldr r1, _02056500 ; =TEAM_MEMBER_TABLE_PTR ldr ip, [r1] add r1, ip, #0x9000 ldrb r2, [r1, #0x877] add r2, ip, r2, lsl #1 add r2, r2, #0x9800 ldrsh ip, [r2, #0x50] cmp ip, r3 beq _020564F8 ldr r2, [r1, #0x870] mov r1, ip, lsl #1 ldrsh r1, [r2, r1] cmp r0, r1 moveq r0, #1 bxeq lr _020564F8: mov r0, #0 bx lr .align 2, 0 _02056500: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020564B0 arm_func_start sub_02056504 sub_02056504: ; 0x02056504 mvn r3, #0 cmp r0, r3 beq _02056548 ldr r2, _02056550 ; =TEAM_MEMBER_TABLE_PTR ldr ip, [r2] add r2, ip, r1, lsl #1 add r2, r2, #0x9800 ldrsh r2, [r2, #0x50] cmp r2, r3 beq _02056548 add r1, ip, r1, lsl #3 add r1, r1, r2, lsl #1 add r1, r1, #0x9800 ldrsh r1, [r1, #0x56] cmp r0, r1 moveq r0, #1 bxeq lr _02056548: mov r0, #0 bx lr .align 2, 0 _02056550: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056504 arm_func_start sub_02056554 sub_02056554: ; 0x02056554 stmdb sp!, {r4, lr} mvn r1, #0 cmp r0, r1 beq _020565E8 ldr r1, _020565F0 ; =TEAM_MEMBER_TABLE_PTR mov ip, #0 ldr lr, [r1] add r1, lr, #0x9000 b _02056598 _02056578: ldr r3, [r1, #0x870] mov r2, ip, lsl #1 ldrsh r2, [r3, r2] cmp r0, r2 moveq r0, ip, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r4, pc} add ip, ip, #1 _02056598: cmp ip, #4 blt _02056578 mov r4, #0 add r1, lr, #0x9000 mvn r2, #0 b _020565E0 _020565B0: ldr r3, [r1, #0x870] mov ip, r4, lsl #1 ldrsh r3, [r3, ip] cmp r3, r2 bne _020565DC add r1, lr, #0x9000 ldr r2, [r1, #0x870] mov r1, r4, lsl #0x10 strh r0, [r2, ip] mov r0, r1, asr #0x10 ldmia sp!, {r4, pc} _020565DC: add r4, r4, #1 _020565E0: cmp r4, #4 blt _020565B0 _020565E8: mvn r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _020565F0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056554 arm_func_start sub_020565F4 sub_020565F4: ; 0x020565F4 stmdb sp!, {r4, lr} mvn r2, #0 cmp r0, r2 beq _0205668C ldr r2, _02056694 ; =TEAM_MEMBER_TABLE_PTR mov ip, #0 ldr lr, [r2] add r3, lr, r1, lsl #3 b _02056638 _02056618: add r2, r3, ip, lsl #1 add r2, r2, #0x9800 ldrsh r2, [r2, #0x56] cmp r0, r2 moveq r0, ip, lsl #0x10 moveq r0, r0, asr #0x10 ldmeqia sp!, {r4, pc} add ip, ip, #1 _02056638: cmp ip, #4 blt _02056618 mov r4, #0 add ip, lr, r1, lsl #3 mvn r3, #0 b _02056684 _02056650: add r2, ip, r4, lsl #1 add r2, r2, #0x9800 ldrsh r2, [r2, #0x56] cmp r2, r3 bne _02056680 add r1, lr, r1, lsl #3 add r1, r1, r4, lsl #1 add r1, r1, #0x9800 mov r2, r4, lsl #0x10 strh r0, [r1, #0x56] mov r0, r2, asr #0x10 ldmia sp!, {r4, pc} _02056680: add r4, r4, #1 _02056684: cmp r4, #4 blt _02056650 _0205668C: mvn r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02056694: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020565F4 arm_func_start sub_02056698 sub_02056698: ; 0x02056698 mvn r2, #0 cmp r1, r2 bxeq lr ldr r2, _020566C0 ; =TEAM_MEMBER_TABLE_PTR mov r3, r0, lsl #1 ldr r0, [r2] add r0, r0, #0x9000 ldr r0, [r0, #0x870] strh r1, [r0, r3] bx lr .align 2, 0 _020566C0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056698 arm_func_start sub_020566C4 sub_020566C4: ; 0x020566C4 stmdb sp!, {r3, lr} mvn r1, #0 cmp r0, r1 beq _02056748 ldr r2, _02056750 ; =TEAM_MEMBER_TABLE_PTR mov r1, #0 ldr lr, [r2] add r2, lr, #0x9000 b _02056740 _020566E8: ldr r3, [r2, #0x870] mov ip, r1, lsl #1 ldrsh r3, [r3, ip] cmp r0, r3 bne _0205673C add r0, lr, #0x9000 ldr r2, [r0, #0x870] mvn r3, #0 ldr r0, _02056750 ; =TEAM_MEMBER_TABLE_PTR strh r3, [r2, ip] ldr r2, [r0] add r0, r2, #0x9000 ldrb r0, [r0, #0x877] add r0, r2, r0, lsl #1 add r0, r0, #0x9800 ldrsh r2, [r0, #0x50] cmp r1, r2 streqh r3, [r0, #0x50] mov r0, r1, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} _0205673C: add r1, r1, #1 _02056740: cmp r1, #4 blt _020566E8 _02056748: mvn r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02056750: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020566C4 arm_func_start sub_02056754 sub_02056754: ; 0x02056754 stmdb sp!, {r4, lr} mvn r1, #0 cmp r0, r1 beq _02056824 ldr r1, _0205682C ; =TEAM_MEMBER_TABLE_PTR mov ip, #0 ldr lr, [r1] add r1, lr, #0x9000 b _020567B8 _02056778: ldr r3, [r1, #0x870] mov r2, ip, lsl #1 ldrsh r2, [r3, r2] cmp r0, r2 bne _020567B4 ldr r1, _0205682C ; =TEAM_MEMBER_TABLE_PTR mov r0, ip, lsl #0x10 ldr r2, [r1] mov r0, r0, asr #0x10 add r1, r2, #0x9000 ldrb r1, [r1, #0x877] add r1, r2, r1, lsl #1 add r1, r1, #0x9800 strh r0, [r1, #0x50] ldmia sp!, {r4, pc} _020567B4: add ip, ip, #1 _020567B8: cmp ip, #4 blt _02056778 mov r4, #0 add r1, lr, #0x9000 mvn r2, #0 b _0205681C _020567D0: ldr r3, [r1, #0x870] mov ip, r4, lsl #1 ldrsh r3, [r3, ip] cmp r3, r2 bne _02056818 add r1, lr, #0x9000 ldr r2, [r1, #0x870] ldr r1, _0205682C ; =TEAM_MEMBER_TABLE_PTR strh r0, [r2, ip] ldr r2, [r1] mov r0, r4, lsl #0x10 add r1, r2, #0x9000 ldrb r1, [r1, #0x877] mov r0, r0, asr #0x10 add r1, r2, r1, lsl #1 add r1, r1, #0x9800 strh r0, [r1, #0x50] ldmia sp!, {r4, pc} _02056818: add r4, r4, #1 _0205681C: cmp r4, #4 blt _020567D0 _02056824: mvn r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0205682C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056754 arm_func_start sub_02056830 sub_02056830: ; 0x02056830 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, #0 mov r6, r7 mov r4, r7 mov r5, #1 _02056844: mov r0, r6 bl GetActiveTeamMember ldrb r0, [r0] tst r0, #1 movne r0, r5 moveq r0, r4 tst r0, #0xff add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 addeq r7, r7, #1 cmp r6, #4 blt _02056844 mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02056830 arm_func_start sub_02056880 sub_02056880: ; 0x02056880 ldr r0, _020568A0 ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r0] add r0, r1, #0x9000 ldrb r0, [r0, #0x877] add r0, r1, r0, lsl #1 add r0, r0, #0x9800 ldrsh r0, [r0, #0x50] bx lr .align 2, 0 _020568A0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056880 arm_func_start sub_020568A4 sub_020568A4: ; 0x020568A4 ldr r1, _020568D8 ; =TEAM_MEMBER_TABLE_PTR mvn r0, #0 ldr r3, [r1] add r1, r3, #0x9000 ldrb r2, [r1, #0x877] add r2, r3, r2, lsl #1 add r2, r2, #0x9800 ldrsh r2, [r2, #0x50] cmp r2, r0 ldrne r1, [r1, #0x870] movne r0, r2, lsl #1 ldrnesh r0, [r1, r0] bx lr .align 2, 0 _020568D8: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020568A4 arm_func_start sub_020568DC sub_020568DC: ; 0x020568DC ldr r1, _02056910 ; =TEAM_MEMBER_TABLE_PTR mvn r3, #0 ldr r2, [r1] add r1, r2, r0, lsl #1 add r1, r1, #0x9800 ldrsh r1, [r1, #0x50] cmp r1, r3 addne r0, r2, r0, lsl #3 addne r0, r0, r1, lsl #1 addne r0, r0, #0x9800 ldrnesh r3, [r0, #0x56] mov r0, r3 bx lr .align 2, 0 _02056910: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020568DC arm_func_start sub_02056914 sub_02056914: ; 0x02056914 ldr r0, _0205695C ; =TEAM_MEMBER_TABLE_PTR mvn r2, #0 ldr ip, [r0] add r0, ip, #0x9000 ldrb r1, [r0, #0x877] add r1, ip, r1, lsl #1 add r1, r1, #0x9800 ldrsh r3, [r1, #0x50] cmp r3, r2 ldrne r1, [r0, #0x870] movne r0, r3, lsl #1 ldrnesh r1, [r1, r0] cmpne r1, r2 moveq r0, #0 bxeq lr mov r0, #0x44 smlabb r0, r1, r0, ip bx lr .align 2, 0 _0205695C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056914 arm_func_start sub_02056960 sub_02056960: ; 0x02056960 stmdb sp!, {r3, r4, r5, lr} mov r0, #0 ldr r2, _020569C8 ; =TEAM_MEMBER_TABLE_PTR mov r5, r0 mvn ip, #0 mov r3, #1 _02056978: ldr r1, [r2] mov lr, r5, lsl #1 add r1, r1, #0x9000 ldr r4, [r1, #0x870] add r5, r5, #1 ldrsh r1, [r4, lr] cmp r1, ip movne r0, r3 strneh ip, [r4, lr] cmp r5, #4 blt _02056978 ldr r1, _020569C8 ; =TEAM_MEMBER_TABLE_PTR mvn r2, #0 ldr r3, [r1] add r1, r3, #0x9000 ldrb r1, [r1, #0x877] add r1, r3, r1, lsl #1 add r1, r1, #0x9800 strh r2, [r1, #0x50] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020569C8: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056960 arm_func_start SetTeamSetupHeroAndPartnerOnly SetTeamSetupHeroAndPartnerOnly: ; 0x020569CC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bl GetMainCharacter1MemberIdx mov r5, r0 bl GetMainCharacter2MemberIdx mov r6, r0 bl GetMainCharacter3MemberIdx mov r8, #0 ldr r1, _02056AAC ; =TEAM_MEMBER_TABLE_PTR mov r7, r0 ldr r1, [r1] mov sl, r8 add r0, r1, #0x9000 ldr sb, [r0, #0x84c] mov fp, r8 mov r4, #1 _02056A08: ldrb r0, [sb] tst r0, #1 movne r0, r4 moveq r0, fp tst r0, #0xff ldrnesh r0, [sb, #8] cmpne r0, r5 cmpne r0, r6 cmpne r0, r7 beq _02056A40 mov r0, sl, lsl #0x10 mov r0, r0, asr #0x10 mov r8, #1 bl sub_02058138 _02056A40: add sl, sl, #1 cmp sl, #4 add sb, sb, #0x68 blt _02056A08 bl sub_02056960 mvn r0, #0 cmp r5, r0 beq _02056A68 mov r0, r5 bl sub_02056754 _02056A68: mvn r0, #0 cmp r6, r0 beq _02056A7C mov r0, r6 bl sub_02056554 _02056A7C: mvn r0, #0 cmp r7, r0 beq _02056A90 mov r0, r7 bl sub_02056554 _02056A90: ldr r0, _02056AAC ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bl sub_02057464 mov r0, r8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02056AAC: .word TEAM_MEMBER_TABLE_PTR arm_func_end SetTeamSetupHeroAndPartnerOnly arm_func_start SetTeamSetupHeroOnly SetTeamSetupHeroOnly: ; 0x02056AB0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bl sub_020568A4 ldr r1, _02056B54 ; =TEAM_MEMBER_TABLE_PTR mov r7, r0 mov r8, #0 ldr r1, [r1] mov r6, #1 add r0, r1, #0x9000 ldr sb, [r0, #0x84c] mov sl, r8 mov r5, r8 mov r4, r6 _02056AE0: ldrb r0, [sb] tst r0, #1 movne r0, r6 moveq r0, r5 tst r0, #0xff ldrnesh r0, [sb, #8] cmpne r0, r7 beq _02056B10 mov r0, sl, lsl #0x10 mov r0, r0, asr #0x10 mov r8, r4 bl sub_02058138 _02056B10: add sl, sl, #1 cmp sl, #4 add sb, sb, #0x68 blt _02056AE0 bl sub_02056960 mvn r0, #0 cmp r7, r0 beq _02056B38 mov r0, r7 bl sub_02056754 _02056B38: ldr r0, _02056B54 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bl sub_02057464 mov r0, r8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02056B54: .word TEAM_MEMBER_TABLE_PTR arm_func_end SetTeamSetupHeroOnly arm_func_start sub_02056B58 sub_02056B58: ; 0x02056B58 stmdb sp!, {r3, lr} ldr r2, _02056BD0 ; =TEAM_MEMBER_TABLE_PTR ldr ip, [r2] add r0, ip, #0x9000 ldrb r3, [r0, #0x877] cmp r3, #2 ldmneia sp!, {r3, pc} add r0, ip, #0x9800 ldrsh r1, [r0, #0x50] add r0, ip, r3, lsl #1 add r0, r0, #0x9800 strh r1, [r0, #0x50] mov lr, #0 _02056B8C: ldr r1, [r2] mov ip, lr, lsl #1 add r0, r1, lr, lsl #1 add r0, r0, #0x9800 add r1, r1, #0x9000 ldrsh r3, [r0, #0x56] ldr r0, [r1, #0x870] add lr, lr, #1 strh r3, [r0, ip] cmp lr, #4 blt _02056B8C ldr r0, _02056BD0 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bl sub_02057464 ldmia sp!, {r3, pc} .align 2, 0 _02056BD0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056B58 arm_func_start sub_02056BD4 sub_02056BD4: ; 0x02056BD4 stmdb sp!, {r3, lr} ldr r0, _02056C1C ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] cmp r0, #2 ldmneia sp!, {r3, pc} bl sub_02056960 bl GetHeroMemberIdx bl sub_02056754 bl GetPartnerMemberIdx bl sub_02056554 ldr r0, _02056C1C ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bl sub_02057464 ldmia sp!, {r3, pc} .align 2, 0 _02056C1C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056BD4 arm_func_start GetPartyMembers GetPartyMembers: ; 0x02056C20 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 mov r5, r0 bl sub_020568A4 mov r6, r0 bl GetMainCharacter1MemberIdx mov r7, r0 bl GetMainCharacter2MemberIdx mov r8, r0 bl GetMainCharacter3MemberIdx mov sb, r0 cmp r5, #0 mvn r0, #0 addeq r5, sp, #0 cmp r6, r0 mov r4, #0 mvn r0, #0 strneh r6, [r5] addne r4, r4, #1 cmp r7, r0 beq _02056C90 mov r0, r7 bl sub_02056410 cmp r0, #0 cmpne r7, r6 movne r0, r4, lsl #1 strneh r7, [r5, r0] addne r4, r4, #1 _02056C90: mvn r0, #0 cmp r8, r0 beq _02056CB8 mov r0, r8 bl sub_02056410 cmp r0, #0 cmpne r8, r6 movne r0, r4, lsl #1 strneh r8, [r5, r0] addne r4, r4, #1 _02056CB8: mvn r0, #0 cmp sb, r0 beq _02056CE0 mov r0, sb bl sub_02056410 cmp r0, #0 cmpne sb, r6 movne r0, r4, lsl #1 strneh sb, [r5, r0] addne r4, r4, #1 _02056CE0: ldr r0, _02056D6C ; =TEAM_MEMBER_TABLE_PTR mov r8, #0 ldr r0, [r0] mov r6, r8 add r0, r0, #0x9000 ldr sb, [r0, #0x84c] mov r7, #1 b _02056D58 _02056D00: ldrb r0, [sb] tst r0, #2 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _02056D50 ldrsh sl, [sb, #8] mov r0, sl bl sub_020564B0 cmp r0, #0 bne _02056D50 mov r0, sl bl IsMainCharacter cmp r0, #0 bne _02056D50 mov r0, r4, lsl #1 add r4, r4, #1 strh sl, [r5, r0] cmp r4, #4 bge _02056D60 _02056D50: add r8, r8, #1 add sb, sb, #0x68 _02056D58: cmp r8, #4 blt _02056D00 _02056D60: mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02056D6C: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetPartyMembers arm_func_start sub_02056D70 sub_02056D70: ; 0x02056D70 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 movs sl, r0 ldr r0, _02056E00 ; =TEAM_MEMBER_TABLE_PTR mov r6, #0 ldr r0, [r0] mov sb, #0 add r0, r0, #0x9000 ldr r7, [r0, #0x84c] addeq sl, sp, #0 mov r4, r6 mov r5, #1 _02056DA0: ldrb r0, [r7] tst r0, #2 movne r0, r5 moveq r0, r4 tst r0, #0xff beq _02056DE4 ldrsh r8, [r7, #8] mov r0, r8 bl IsMonsterIdInNormalRange cmp r0, #0 beq _02056DE4 mov r0, r8 bl sub_020564B0 cmp r0, #0 moveq r0, sb, lsl #1 streqh r8, [sl, r0] addeq sb, sb, #1 _02056DE4: add r6, r6, #1 cmp r6, #4 add r7, r7, #0x68 blt _02056DA0 mov r0, sb add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02056E00: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056D70 arm_func_start sub_02056E04 sub_02056E04: ; 0x02056E04 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 movs sl, r0 ldr r0, _02056EB4 ; =TEAM_MEMBER_TABLE_PTR mov r6, #0 ldr r0, [r0] mov sb, #0 add r0, r0, #0x9000 ldr r7, [r0, #0x84c] addeq sl, sp, #0 mov r4, r6 mov r5, #1 _02056E34: ldrb r0, [r7] tst r0, #2 movne r0, r5 moveq r0, r4 tst r0, #0xff beq _02056E98 ldrsh r8, [r7, #8] mov r0, r8 bl IsMonsterIdInNormalRange cmp r0, #0 beq _02056E98 mov r0, r8 bl sub_02055410 cmp r0, #0 bne _02056E98 mov r0, r8 bl sub_02055474 cmp r0, #0 bne _02056E98 mov r0, r8 bl sub_020554D8 cmp r0, #0 moveq r0, sb, lsl #1 streqh r8, [sl, r0] addeq sb, sb, #1 _02056E98: add r6, r6, #1 cmp r6, #4 add r7, r7, #0x68 blt _02056E34 mov r0, sb add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02056EB4: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056E04 arm_func_start sub_02056EB8 sub_02056EB8: ; 0x02056EB8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r1, _02056F5C ; =TEAM_MEMBER_TABLE_PTR mov r5, #0 ldr r1, [r1] mov r8, r0 add r0, r1, #0x9000 ldr r4, [r0, #0x84c] mov r6, r5 mov r7, r5 mov sb, r5 mov sl, #1 _02056EE4: ldrb r0, [r4] tst r0, #1 movne r0, sl moveq r0, sb tst r0, #0xff beq _02056F1C ldrsh r0, [r4, #8] bl sub_02056410 cmp r0, #0 beq _02056F1C ldrsh r0, [r4, #0xc] bl GetBodySize add r6, r6, r0 add r5, r5, #1 _02056F1C: add r7, r7, #1 cmp r7, #4 add r4, r4, #0x68 blt _02056EE4 cmp r5, #4 movge r0, #0 ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} cmp r8, #0 beq _02056F4C mov r0, r8 bl GetBodySize add r6, r6, r0 _02056F4C: cmp r6, #6 movgt r0, #0 movle r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02056F5C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056EB8 arm_func_start sub_02056F60 sub_02056F60: ; 0x02056F60 stmdb sp!, {r3, lr} mvn r1, #0 cmp r0, r1 beq _02057000 ldr r1, _0205700C ; =TEAM_MEMBER_TABLE_PTR ldr r3, [r1] add r1, r3, #0x9000 ldrb r1, [r1, #0x877] cmp r1, #0 bne _02056FB8 mov r2, #0 b _02056FAC _02056F90: add r1, r3, r2, lsl #1 add r1, r1, #0x9800 ldrsh r1, [r1, #0x5e] cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} add r2, r2, #1 _02056FAC: cmp r2, #4 blt _02056F90 b _02056FEC _02056FB8: cmp r1, #1 bne _02056FEC mov r2, #0 b _02056FE4 _02056FC8: add r1, r3, r2, lsl #1 add r1, r1, #0x9800 ldrsh r1, [r1, #0x56] cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} add r2, r2, #1 _02056FE4: cmp r2, #4 blt _02056FC8 _02056FEC: mov r1, #0x44 smlabb r0, r0, r1, r3 ldrsh r0, [r0, #4] bl sub_02056EB8 ldmia sp!, {r3, pc} _02057000: mov r0, #0 bl sub_02056EB8 ldmia sp!, {r3, pc} .align 2, 0 _0205700C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02056F60 arm_func_start sub_02057010 sub_02057010: ; 0x02057010 ldr r1, _02057028 ; =TEAM_MEMBER_TABLE_PTR ldr ip, _0205702C ; =sub_02057030 ldr r1, [r1] add r1, r1, #0x9000 ldrb r1, [r1, #0x877] bx ip .align 2, 0 _02057028: .word TEAM_MEMBER_TABLE_PTR _0205702C: .word sub_02057030 arm_func_end sub_02057010 arm_func_start sub_02057030 sub_02057030: ; 0x02057030 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sb, r1 mov sl, r0 mov r0, sb bl sub_020568DC mov r4, r0 cmp sl, #0 mvn r0, #0 addeq sl, sp, #0 mov r8, #0 cmp r4, r0 beq _0205707C mov r0, r4 bl IsValidTeamMember cmp r0, #0 strneh r4, [sl] addne r8, r8, #1 mvneq r4, #0 _0205707C: mov r7, #0 mvn fp, #0 _02057084: ldr r0, _0205717C ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r0] add r0, r2, sb, lsl #3 add r0, r0, r7, lsl #1 add r0, r0, #0x9800 ldrsh r5, [r0, #0x56] cmp r5, fp cmpne r4, r5 beq _020570F8 mov r1, #0x44 mov r0, r5 smlabb r6, r5, r1, r2 bl sub_02055410 cmp r0, #0 bne _020570EC mov r0, r5 bl sub_02055474 cmp r0, #0 bne _020570EC mov r0, r5 bl sub_020554D8 cmp r0, #0 bne _020570EC ldrsh r0, [r6, #4] cmp r0, #0x214 bne _020570F8 _020570EC: mov r0, r8, lsl #1 strh r5, [sl, r0] add r8, r8, #1 _020570F8: add r7, r7, #1 cmp r7, #4 blt _02057084 mov r0, #0 ldr r3, _0205717C ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 mvn r2, #0 _02057114: ldr r1, [r3] add r1, r1, sb, lsl #3 add r1, r1, r0, lsl #1 add r1, r1, #0x9800 ldrsh r6, [r1, #0x56] cmp r6, r2 beq _02057164 mov r5, r4 b _0205714C _02057138: mov r1, r5, lsl #1 ldrsh r1, [sl, r1] cmp r6, r1 beq _02057154 add r5, r5, #1 _0205714C: cmp r5, r8 blt _02057138 _02057154: cmp r5, r8 movge r1, r8, lsl #1 strgeh r6, [sl, r1] addge r8, r8, #1 _02057164: add r0, r0, #1 cmp r0, #4 blt _02057114 mov r0, r8 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205717C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057030 arm_func_start sub_02057180 sub_02057180: ; 0x02057180 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x58 sub sp, sp, #0x400 add r0, sp, #0 bl sub_020559D8 mov r8, #0 ldr fp, _020572E0 ; =_020A3398 ldr r5, _020572E4 ; =TEAM_MEMBER_TABLE_PTR add r6, sp, #0 mov r7, r8 mvn r4, #0 _020571AC: mov sb, r7 _020571B0: ldr r0, [r5] add r0, r0, r8, lsl #3 add r0, r0, sb, lsl #1 add r0, r0, #0x9800 ldrsh sl, [r0, #0x56] cmp sl, r4 beq _02057200 mov r0, sl, lsl #1 ldrsh r3, [r6, r0] mov r0, fp mov r1, r8 mov r2, sl bl DebugPrint0 ldr r0, [r5] mov r1, sl, lsl #1 add r0, r0, r8, lsl #3 add r0, r0, sb, lsl #1 ldrsh r1, [r6, r1] add r0, r0, #0x9800 strh r1, [r0, #0x56] _02057200: add sb, sb, #1 cmp sb, #4 blt _020571B0 add r8, r8, #1 cmp r8, #3 blt _020571AC mov sb, #0 _0205721C: ldr r0, _020572E4 ; =TEAM_MEMBER_TABLE_PTR mov sl, #0 ldr r0, [r0] mov r1, #0x1a0 add r0, r0, #0x36c add r0, r0, #0x9000 mla r8, sb, r1, r0 mov fp, #1 add r7, sp, #0 mov r5, sl mov r6, sl mvn r4, #0 _0205724C: ldrb r0, [r8] tst r0, #1 movne r0, fp moveq r0, #0 tst r0, #0xff beq _020572B0 ldrsh r2, [r8, #8] ldr r0, _020572E8 ; =_020A33B8 mov r1, sb mov r3, r2, lsl #1 ldrsh r3, [r7, r3] bl DebugPrint0 ldrsh r0, [r8, #8] mov r1, r0, lsl #1 ldrsh r1, [r7, r1] cmp r1, r4 streqb r6, [r8] beq _020572B0 bl IsMonsterIdInNormalRange cmp r0, #0 ldrnesh r0, [r8, #8] movne r0, r0, lsl #1 ldrnesh r0, [r7, r0] strneh r0, [r8, #8] streqb r5, [r8] _020572B0: add sl, sl, #1 cmp sl, #4 add r8, r8, #0x68 blt _0205724C and r0, sb, #0xff bl sub_02057464 add sb, sb, #1 cmp sb, #3 blt _0205721C add sp, sp, #0x58 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020572E0: .word _020A3398 _020572E4: .word TEAM_MEMBER_TABLE_PTR _020572E8: .word _020A33B8 arm_func_end sub_02057180 arm_func_start sub_020572EC sub_020572EC: ; 0x020572EC ldr r0, _02057304 ; =TEAM_MEMBER_TABLE_PTR ldr ip, _02057308 ; =sub_0205730C ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bx ip .align 2, 0 _02057304: .word TEAM_MEMBER_TABLE_PTR _02057308: .word sub_0205730C arm_func_end sub_020572EC arm_func_start sub_0205730C sub_0205730C: ; 0x0205730C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _0205739C ; =TEAM_MEMBER_TABLE_PTR mov r4, r0 ldr r0, [r1] mov r8, #0 add r0, r0, #0x36c mov r1, #0x1a0 add r0, r0, #0x9000 mla r7, r4, r1, r0 mov r5, r8 mov r6, #1 _02057338: ldrb r0, [r7] tst r0, #1 movne r0, r6 moveq r0, r5 tst r0, #0xff beq _02057388 ldrsh r0, [r7, #8] bl IsMonsterIdInNormalRange cmp r0, #0 beq _02057388 ldrsh r0, [r7, #8] bl IsValidTeamMember cmp r0, #0 beq _02057388 ldrsh r1, [r7, #8] mov r2, r8, lsl #0x10 mov r0, r7 mov r3, r4 mov r2, r2, asr #0x10 bl sub_02053174 _02057388: add r8, r8, #1 cmp r8, #4 add r7, r7, #0x68 blt _02057338 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205739C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_0205730C arm_func_start sub_020573A0 sub_020573A0: ; 0x020573A0 ldr r0, _020573B8 ; =TEAM_MEMBER_TABLE_PTR ldr ip, _020573BC ; =sub_020573C0 ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bx ip .align 2, 0 _020573B8: .word TEAM_MEMBER_TABLE_PTR _020573BC: .word sub_020573C0 arm_func_end sub_020573A0 arm_func_start sub_020573C0 sub_020573C0: ; 0x020573C0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02057440 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 ldr r1, [r1] mov r2, #0x1a0 add r1, r1, #0x36c add r1, r1, #0x9000 mla r7, r0, r2, r1 mov r5, r4 mov r6, #1 _020573E8: ldrb r0, [r7] tst r0, #1 movne r0, r6 moveq r0, r5 tst r0, #0xff beq _0205742C ldrsh r0, [r7, #8] bl IsMonsterIdInNormalRange cmp r0, #0 beq _0205742C ldrsh r0, [r7, #8] bl IsValidTeamMember cmp r0, #0 beq _0205742C ldrsh r0, [r7, #8] mov r1, r7 bl sub_0205349C _0205742C: add r4, r4, #1 cmp r4, #4 add r7, r7, #0x68 blt _020573E8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02057440: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020573C0 arm_func_start sub_02057444 sub_02057444: ; 0x02057444 ldr r0, _0205745C ; =TEAM_MEMBER_TABLE_PTR ldr ip, _02057460 ; =sub_02057464 ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bx ip .align 2, 0 _0205745C: .word TEAM_MEMBER_TABLE_PTR _02057460: .word sub_02057464 arm_func_end sub_02057444 arm_func_start sub_02057464 sub_02057464: ; 0x02057464 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x8c ldr r1, _020577B4 ; =TEAM_MEMBER_TABLE_PTR mov sl, #0 ldr r2, [r1] mov r5, r0 add r0, r2, r5, lsl #1 add r0, r0, #0x9800 ldrsh r1, [r0, #0x50] mvn r4, #0 mov fp, sl cmp r1, r4 addne r0, r2, r5, lsl #3 addne r0, r0, r1, lsl #1 addne r0, r0, #0x9800 ldrnesh r4, [r0, #0x56] add r0, r2, #0x36c add r1, r0, #0x9000 mov r0, #0x1a0 mla sb, r5, r0, r1 mov r6, #1 add r7, sp, #0x1c mvn r8, #0 _020574C0: ldrb r0, [sb] mov r1, sl, lsl #1 strh r8, [r7, r1] tst r0, #1 movne r0, r6 moveq r0, fp tst r0, #0xff beq _02057514 ldrsh r0, [sb, #8] bl IsMonsterIdInNormalRange cmp r0, #0 beq _02057514 ldrsh r0, [sb, #8] bl IsValidTeamMember cmp r0, #0 ldrnesh r1, [sb, #8] movne r0, sl, lsl #1 strneh r1, [r7, r0] bne _02057514 ldrsh r0, [sb, #8] bl sub_020566C4 _02057514: add sl, sl, #1 cmp sl, #4 add sb, sb, #0x68 blt _020574C0 add r0, sp, #0x14 mov r1, r5 bl sub_02057030 str r0, [sp, #0xc] ldr r0, _020577B8 ; =_020A33D4 ldr r2, [sp, #0xc] mov r1, r5 bl DebugPrint0 mov r0, #0x1a0 ldr r1, _020577B4 ; =TEAM_MEMBER_TABLE_PTR mov r7, #0 mul r2, r5, r0 ldr r1, [r1] mov sl, r7 add r0, r1, #0x36c add r0, r0, #0x9000 add r8, r0, r2 add r0, r1, r2 str r0, [sp, #8] b _0205767C _02057574: add r0, sp, #0x14 mov r1, sl, lsl #1 ldrsh r0, [r0, r1] mov sb, r8 mov r6, #0 str r0, [sp] mov r0, r0 cmp r4, r0 moveq r0, sl, lsl #0x10 moveq r7, r0, asr #0x10 add r2, sp, #0x1c b _020575C0 _020575A4: mov r0, r6, lsl #1 ldrsh r1, [r2, r0] ldr r0, [sp] cmp r1, r0 beq _020575C8 add r6, r6, #1 add sb, sb, #0x68 _020575C0: cmp r6, #4 blt _020575A4 _020575C8: cmp r6, #4 bge _02057678 cmp sl, r6 beq _02057678 ldr r0, [sp, #8] mov r1, #0x68 mla r0, sl, r1, r0 str r0, [sp, #4] add r0, r0, #0x36c add ip, sp, #0x24 add lr, r0, #0x9000 mov fp, #6 _020575F8: subs fp, fp, #1 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} bne _020575F8 ldr r0, [sp, #4] add r2, r0, #0x36c ldmia lr, {r0, r1} stmia ip, {r0, r1} mov ip, sb add fp, r2, #0x9000 mov lr, #6 _02057624: ldmia ip!, {r0, r1, r2, r3} stmia fp!, {r0, r1, r2, r3} subs lr, lr, #1 bne _02057624 ldmia ip, {r0, r1} stmia fp, {r0, r1} add fp, sp, #0x24 mov ip, #6 _02057644: ldmia fp!, {r0, r1, r2, r3} stmia sb!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02057644 add r3, sp, #0x1c mov ip, sl, lsl #1 ldrsh r2, [r3, ip] mov r6, r6, lsl #1 ldmia fp, {r0, r1} stmia sb, {r0, r1} ldr r0, [sp] strh r2, [r3, r6] strh r0, [r3, ip] _02057678: add sl, sl, #1 _0205767C: ldr r0, [sp, #0xc] cmp sl, r0 blt _02057574 mov r1, #0 mov sl, r1 add r0, sp, #0x10 _02057694: strb sl, [r0, r1] add r1, r1, #1 cmp r1, #4 blt _02057694 add sb, sp, #0x14 add r6, sp, #0x1c add r4, sp, #0x10 mov fp, #1 b _0205774C _020576B8: ldr r0, _020577B4 ; =TEAM_MEMBER_TABLE_PTR ldr r1, [r0] mov r0, sl, lsl #1 add r1, r1, r5, lsl #3 add r1, r1, sl, lsl #1 ldrsh r3, [sb, r0] add r1, r1, #0x9800 ldrsh r2, [r6, r0] strh r3, [r1, #0x56] ldrsh r1, [sb, r0] cmp r2, r1 beq _020576FC mov r0, r8 mov r2, sl, lsl #0x10 mov r2, r2, asr #0x10 bl sub_020530D4 b _02057724 _020576FC: ldrb r0, [r8, #0x3e] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff addne r1, sl, #1 ldrneb r0, [r8, #0x3f] andne r1, r1, #0xff strneb r1, [r4, r0] strneb r1, [r8, #0x3f] _02057724: strh sl, [r8, #0xa] ldrb r0, [r8] cmp r7, sl add sl, sl, #1 orr r0, r0, #2 strb r0, [r8] streqb fp, [r8, #1] movne r0, #0 strneb r0, [r8, #1] add r8, r8, #0x68 _0205774C: ldr r0, [sp, #0xc] cmp sl, r0 blt _020576B8 mvn r3, #0 mov r2, #0 ldr r1, _020577B4 ; =TEAM_MEMBER_TABLE_PTR b _02057784 _02057768: ldr r0, [r1] add r0, r0, r5, lsl #3 add r0, r0, sl, lsl #1 add r0, r0, #0x9800 strh r3, [r0, #0x56] strb r2, [r8], #0x68 add sl, sl, #1 _02057784: cmp sl, #4 blt _02057768 ldr r1, _020577B4 ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0x10 ldr r2, [r1] mov r1, r5 add r2, r2, r5, lsl #1 add r2, r2, #0x9800 strh r7, [r2, #0x50] bl sub_0200FA0C add sp, sp, #0x8c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020577B4: .word TEAM_MEMBER_TABLE_PTR _020577B8: .word _020A33D4 arm_func_end sub_02057464 arm_func_start sub_020577BC sub_020577BC: ; 0x020577BC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x4c mov sl, r0 ldr r0, _02057A24 ; =_020A340C bl DebugPrint0 cmp sl, #0xff beq _02057904 mov r0, sl bl IsLevelResetDungeon cmp r0, #0 beq _020578E0 ldr r4, _02057A28 ; =TEAM_MEMBER_TABLE_PTR ldr r0, _02057A2C ; =_020A336C ldr r3, [r4] ldrb r2, [r0] ldrb r1, [r0, #1] add r0, r3, #0x9000 ldr r8, [r0, #0x84c] strb r2, [sp, #4] strb r1, [sp, #5] mov sb, #0 and r7, r2, #0xff and r6, r1, #0xff add r5, sp, #0x1c mov fp, #0x44 _02057820: ldrb r0, [r8] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _020578D0 strb r7, [sp, #6] strb r6, [sp, #7] mov r0, #0 str r0, [sp] ldrsh r1, [r8, #8] ldr ip, [r4] add r0, sp, #8 smlabb r1, r1, fp, ip ldrsh r1, [r1, #4] mov r2, #0 add r3, sp, #6 bl sub_02052E2C ldrb r0, [sp, #9] add r3, r8, #0x4c strb r0, [r8, #2] ldrsh r0, [sp, #0x10] strh r0, [r8, #6] ldrsh r0, [sp, #0x12] strh r0, [r8, #0xe] ldrsh r0, [sp, #0x12] strh r0, [r8, #0x10] ldrb r0, [sp, #0x14] strb r0, [r8, #0x12] ldrb r0, [sp, #0x15] strb r0, [r8, #0x13] ldrb r0, [sp, #0x16] strb r0, [r8, #0x14] ldrb r0, [sp, #0x17] strb r0, [r8, #0x15] ldr r0, [sp, #0x18] str r0, [r8, #0x18] ldmia r5, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrb r2, [sp, #0x28] add r0, r8, #0x1c add r1, sp, #0x2a strb r2, [r8, #0x58] bl GroundToDungeonMoveset _020578D0: add sb, sb, #1 cmp sb, #4 add r8, r8, #0x68 blt _02057820 _020578E0: ldr r0, _02057A28 ; =TEAM_MEMBER_TABLE_PTR mov r2, sb, lsl #1 ldr r1, [r0] ldr r0, _02057A30 ; =_020A343C add r1, r1, #0x9000 ldr r3, [r1, #0x870] mov r1, sb ldrsh r2, [r3, r2] bl DebugPrint0 _02057904: ldr r0, _02057A34 ; =_020A344C bl DebugPrint0 mov r0, sl bl GetMaxMembersAllowed mov r8, #0 ldr r1, _02057A28 ; =TEAM_MEMBER_TABLE_PTR mov r6, #1 ldr r1, [r1] mov r7, r0 add r0, r1, #0x9000 ldr sl, [r0, #0x84c] mov sb, r8 mov fp, sl mov r5, r8 mov r3, r8 mov r4, r6 mov r0, r8 mov r1, r6 b _020579A4 _02057950: ldrb r2, [fp] tst r2, #1 movne ip, r6 moveq ip, r5 tst ip, #0xff beq _0205799C tst r2, #2 movne r2, r4 moveq r2, r3 tst r2, #0xff beq _0205799C ldrb r2, [fp, #1] cmp r2, #0 movne r2, r1 moveq r2, r0 tst r2, #0xff movne r0, sb, lsl #0x10 movne r8, r0, asr #0x10 bne _020579AC _0205799C: add sb, sb, #1 add fp, fp, #0x68 _020579A4: cmp sb, #4 blt _02057950 _020579AC: mov sb, #0 mov r6, #1 mov fp, sb mov r5, r6 mov r4, sb _020579C0: ldrb r0, [sl] tst r0, #1 movne r1, r5 moveq r1, fp tst r1, #0xff beq _02057A08 tst r0, #2 movne r0, #1 moveq r0, #0 tst r0, #0xff cmpne r8, sb beq _02057A08 cmp r6, r7 addlt r6, r6, #1 blt _02057A08 strb r4, [sl] ldrsh r0, [sl, #8] bl sub_020566C4 _02057A08: add sb, sb, #1 cmp sb, #4 add sl, sl, #0x68 blt _020579C0 bl sub_02058064 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02057A24: .word _020A340C _02057A28: .word TEAM_MEMBER_TABLE_PTR _02057A2C: .word _020A336C _02057A30: .word _020A343C _02057A34: .word _020A344C arm_func_end sub_020577BC arm_func_start sub_02057A38 sub_02057A38: ; 0x02057A38 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mvn r0, #0 cmp r6, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl sub_020568A4 ldr r1, _02057AC0 ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x68 ldr r1, [r1] mov r4, r6, lsl #1 add r1, r1, #0x9000 ldr r5, [r1, #0x870] ldr r3, [r1, #0x84c] ldrsh r4, [r5, r4] sub r1, r2, #0x69 mla r5, r6, r2, r3 mov r7, r0 cmp r4, r1 beq _02057AB4 mov r0, r5 mov r1, r4 mov r2, r6 bl sub_020530D4 strh r6, [r5, #0xa] ldrb r0, [r5] cmp r4, r7 orr r0, r0, #2 strb r0, [r5] moveq r0, #1 streqb r0, [r5, #1] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02057AB4: mov r0, #0 strb r0, [r5] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02057AC0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057A38 arm_func_start sub_02057AC4 sub_02057AC4: ; 0x02057AC4 stmdb sp!, {r4, lr} mov r4, #0 _02057ACC: mov r0, r4 bl sub_02057A38 add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #4 blt _02057ACC ldmia sp!, {r4, pc} arm_func_end sub_02057AC4 arm_func_start sub_02057AEC sub_02057AEC: ; 0x02057AEC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, r0 bl IsLevelResetDungeon cmp r4, #0xff moveq sl, #0 beq _02057B10 mov r0, r4 bl IsLevelResetDungeon mov sl, r0 _02057B10: bl GetGameMode cmp r0, #5 movne r0, #1 moveq r0, #0 and r7, r0, #0xff bl sub_02057C40 bl sub_02056960 mov sb, #0 ldr r0, _02057C3C ; =TEAM_MEMBER_TABLE_PTR mov r6, #1 ldr r0, [r0] mov r5, sb add r0, r0, #0x9000 ldr r8, [r0, #0x84c] mov fp, sb mov r4, r6 _02057B50: ldrb r0, [r8] tst r0, #1 movne r0, r6 moveq r0, r5 tst r0, #0xff beq _02057C14 ldrsh r0, [r8, #8] bl sub_02056264 cmp r0, #0 bne _02057C14 ldrsh r0, [r8, #0xc] bl GetBaseFormCastformCherrimDeoxys strh r0, [r8, #0xc] ldrsh r0, [r8, #8] bl IsMonsterIdInNormalRange cmp r0, #0 beq _02057C14 ldrb r0, [r8, #1] cmp r0, #0 movne r0, r4 moveq r0, fp tst r0, #0xff ldrsh r0, [r8, #8] beq _02057BB8 bl sub_02056754 b _02057BBC _02057BB8: bl sub_02056554 _02057BBC: cmp sl, #0 beq _02057BE8 mov r0, sb, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02058138 mov r2, sb, lsl #0x10 ldrsh r1, [r8, #8] mov r0, r8 mov r2, r2, asr #0x10 bl sub_020530D4 b _02057C14 _02057BE8: cmp r7, #0 beq _02057C00 ldrsh r0, [r8, #8] mov r1, r8 bl sub_0205349C b _02057C14 _02057C00: ldrsh r1, [r8, #8] mov r2, sb, lsl #0x10 mov r0, r8 mov r2, r2, asr #0x10 bl sub_020530D4 _02057C14: add sb, sb, #1 cmp sb, #4 add r8, r8, #0x68 blt _02057B50 ldr r0, _02057C3C ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9000 ldrb r0, [r0, #0x877] bl sub_02057464 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02057C3C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057AEC arm_func_start sub_02057C40 sub_02057C40: ; 0x02057C40 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r0, _02057CE4 ; =TEAM_MEMBER_TABLE_PTR mov sb, #0 ldr r0, [r0] mov r7, #1 add r0, r0, #0x9000 ldr r8, [r0, #0x84c] mov r6, sb mov r4, sb mov r5, r7 _02057C68: ldrb r0, [r8] tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _02057CC8 ldrb r0, [r8, #0x3e] tst r0, #1 movne r0, r5 moveq r0, r4 tst r0, #0xff beq _02057CC8 ldrb r0, [r8, #0x3e] bic r0, r0, #8 strb r0, [r8, #0x3e] ldrsh r0, [r8, #0x42] cmp r0, #0xb7 bne _02057CC8 add r0, r8, #0x3e bl sub_0200D8AC bl AddMoneyCarried mov r0, sb, lsl #0x10 mov r0, r0, asr #0x10 bl sub_02058138 _02057CC8: add sb, sb, #1 cmp sb, #4 add r8, r8, #0x68 blt _02057C68 bl sub_0200F910 bl sub_0200FCAC ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02057CE4: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057C40 arm_func_start sub_02057CE8 sub_02057CE8: ; 0x02057CE8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, #0 mov r7, #1 mov r6, r8 mov r4, r8 mov r5, r7 _02057D00: mov r0, r8 bl GetActiveTeamMember ldrb r1, [r0] tst r1, #1 movne r1, r7 moveq r1, r6 tst r1, #0xff beq _02057D40 ldrb r1, [r0, #0x3e] tst r1, #1 movne r1, r5 moveq r1, r4 tst r1, #0xff ldrneb r1, [r0, #0x3e] bicne r1, r1, #8 strneb r1, [r0, #0x3e] _02057D40: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 cmp r8, #4 blt _02057D00 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02057CE8 arm_func_start RefillTeam RefillTeam: ; 0x02057D58 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r0, _02057DF8 ; =TEAM_MEMBER_TABLE_PTR mov r5, #0 ldr r0, [r0] add r0, r0, #0x9000 ldr r4, [r0, #0x84c] _02057D70: ldrb r0, [r4] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02057DE4 ldrsh r1, [r4, #0x10] mov r0, r4 strh r1, [r4, #0xe] bl sub_02058810 mov r6, #0 add r7, r4, #0x1c mov r8, r6 mov sb, #1 _02057DA8: add r0, r4, r6, lsl #3 ldrb r0, [r0, #0x1c] tst r0, #1 movne r0, sb moveq r0, r8 tst r0, #0xff beq _02057DD4 add r0, r7, r6, lsl #3 bl GetMaxPp add r1, r4, r6, lsl #3 strb r0, [r1, #0x22] _02057DD4: add r6, r6, #1 cmp r6, #4 blt _02057DA8 strh r5, [r4, #0xa] _02057DE4: add r5, r5, #1 cmp r5, #4 add r4, r4, #0x68 blt _02057D70 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02057DF8: .word TEAM_MEMBER_TABLE_PTR arm_func_end RefillTeam arm_func_start sub_02057DFC sub_02057DFC: ; 0x02057DFC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02057E8C ; =TEAM_MEMBER_TABLE_PTR mov r0, #0 ldr r1, [r1] mov ip, #1 add r1, r1, #0x9000 ldr r6, [r1, #0x84c] mov r3, r0 mov r4, r0 mov r5, ip mov lr, r0 _02057E28: ldrb r1, [r6] tst r1, #1 movne r1, r5 moveq r1, r4 tst r1, #0xff beq _02057E78 mov r7, lr _02057E44: add r1, r6, r7, lsl #3 ldrb r1, [r1, #0x1c] tst r1, #1 movne r1, ip moveq r1, r3 tst r1, #0xff addne r2, r6, r7, lsl #3 ldrneb r1, [r2, #0x1c] add r7, r7, #1 andne r1, r1, #0xf strneb r1, [r2, #0x1c] cmp r7, #4 blt _02057E44 _02057E78: add r0, r0, #1 cmp r0, #4 add r6, r6, #0x68 blt _02057E28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02057E8C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057DFC arm_func_start sub_02057E90 sub_02057E90: ; 0x02057E90 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _02057EF0 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 ldr r0, [r0] mov r6, r4 add r0, r0, #0x9000 ldr r8, [r0, #0x84c] mov r7, #1 mov r5, r4 _02057EB4: ldrb r0, [r8] tst r0, #1 movne r0, r7 moveq r0, r6 tst r0, #0xff beq _02057EDC ldrsh r0, [r8, #8] bl sub_02056264 cmp r0, #0 strneb r5, [r8] _02057EDC: add r4, r4, #1 cmp r4, #4 add r8, r8, #0x68 blt _02057EB4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02057EF0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057E90 arm_func_start sub_02057EF4 sub_02057EF4: ; 0x02057EF4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r0, _02058060 ; =TEAM_MEMBER_TABLE_PTR mov r8, #0 ldr r0, [r0] add r0, r0, #0x9000 ldr r7, [r0, #0x84c] _02057F0C: ldrb r0, [r7] tst r0, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff bne _02057F38 tst r0, #8 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0205804C _02057F38: ldrsh sb, [r7, #8] ldrsh r1, [r7, #0x10] mov r0, r7 strh r1, [r7, #0xe] bl sub_02058810 mov sl, #0 add r5, r7, #0x1c mov fp, sl mov r6, #1 mov r4, sl _02057F60: add r0, r7, sl, lsl #3 ldrb r0, [r0, #0x1c] tst r0, #1 movne r0, r6 moveq r0, fp tst r0, #0xff beq _02057F90 add r0, r5, sl, lsl #3 bl GetMaxPp add r1, r7, sl, lsl #3 strb r0, [r1, #0x22] strh r4, [r1, #0x1e] _02057F90: add sl, sl, #1 cmp sl, #4 blt _02057F60 strh r8, [r7, #0xa] ldrb r1, [r7] mov r0, sb bic r2, r1, #8 and r1, r2, #0xff orr r1, r1, #1 strb r1, [r7] bl sub_02056264 cmp r0, #0 mov r0, sb mov r1, #0 bne _02058048 bl sub_02056460 cmp r0, #0 beq _02057FE4 mov r0, sb mov r1, #0 bl sub_020565F4 _02057FE4: mov r0, sb mov r1, #2 bl sub_02056460 cmp r0, #0 beq _02058004 mov r0, sb mov r1, #2 bl sub_020565F4 _02058004: mov r0, sb mov r1, #0 bl sub_02056504 cmp r0, #0 beq _02058024 mov r0, sb mov r1, #0 bl sub_020565F4 _02058024: mov r0, sb mov r1, #2 bl sub_02056504 cmp r0, #0 beq _0205804C mov r0, sb mov r1, #2 bl sub_020565F4 b _0205804C _02058048: bl sub_020565F4 _0205804C: add r8, r8, #1 cmp r8, #4 add r7, r7, #0x68 blt _02057F0C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02058060: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02057EF4 arm_func_start sub_02058064 sub_02058064: ; 0x02058064 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r0, _020580C0 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 ldr r0, [r0] mov r5, r4 add r0, r0, #0x9000 ldr r7, [r0, #0x84c] mov r6, #1 _02058084: ldrb r0, [r7] tst r0, #1 movne r0, r6 moveq r0, r5 tst r0, #0xff beq _020580A4 add r0, r7, #0x5a bl ShuffleHiddenPower _020580A4: add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #4 add r7, r7, #0x68 blt _02058084 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020580C0: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02058064 arm_func_start sub_020580C4 sub_020580C4: ; 0x020580C4 stmdb sp!, {r4, r5, r6, lr} ldr r1, _02058134 ; =TEAM_MEMBER_TABLE_PTR mov r5, #0 ldr r1, [r1] add r2, r5, #1 add r1, r1, #0x9000 ldr r4, [r1, #0x84c] and r6, r2, #0xff strb r5, [r0] mov ip, r5 mov lr, #1 mov r3, r5 _020580F4: ldrb r1, [r4] add r4, r4, #0x68 tst r1, #1 movne r1, lr moveq r1, ip tst r1, #0xff addeq r1, r0, r5 streqb r3, [r1, #1] addne r1, r0, r5 addne r2, r6, #1 strneb r6, [r1, #1] add r5, r5, #1 andne r6, r2, #0xff cmp r5, #4 blt _020580F4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02058134: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020580C4 arm_func_start sub_02058138 sub_02058138: ; 0x02058138 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r2, _020581EC ; =TEAM_MEMBER_TABLE_PTR mov r1, #0x68 ldr r2, [r2] smulbb r1, r0, r1 add r0, r2, #0x9000 ldr r2, [r0, #0x84c] ldrb r0, [r2, r1] add r3, r2, r1 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _020581E0 ldrb r1, [r3, #0x3e] tst r1, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff ldrneb r0, [r3, #0x3f] cmpne r0, #0 beq _020581E0 tst r1, #8 movne r0, #1 moveq r0, #0 tst r0, #0xff bne _020581E0 ldrh r1, [r3, #0x3e] add r0, r3, #0x3e strh r1, [sp] ldrh r2, [r3, #0x40] ldrb r1, [sp] strh r2, [sp, #2] ldrh r2, [r3, #0x42] bic r1, r1, #0x10 strh r2, [sp, #4] strb r1, [sp] bl ItemZInit add r0, sp, #0 bl sub_0200FB54 b _020581E4 _020581E0: mov r0, #0 _020581E4: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _020581EC: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02058138 arm_func_start ClearItem ClearItem: ; 0x020581F0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 ldr r2, _020582DC ; =TEAM_MEMBER_TABLE_PTR cmp r0, #0 ldr r2, [r2] add r2, r2, #0x9000 ldr r2, [r2, #0x84c] beq _020582D0 mov r8, #0 mov r7, #1 mov r6, r8 mov r4, r8 mov r5, r7 mov r3, r8 mov ip, r7 b _020582C8 _02058230: ldrb lr, [r2] tst lr, #1 movne sb, r7 moveq sb, r6 tst sb, #0xff beq _020582C0 ldrb sb, [r2, #0x3e] tst sb, #1 movne lr, r5 moveq lr, r4 tst lr, #0xff beq _020582C0 ldrb lr, [r2, #0x3f] cmp lr, r0 bne _020582C0 cmp r1, #0 beq _02058288 tst sb, #8 movne sb, ip moveq sb, r3 tst sb, #0xff bne _020582C0 _02058288: ldrh r1, [r2, #0x3e] add r0, r2, #0x3e strh r1, [sp] ldrh r3, [r2, #0x40] ldrb r1, [sp] strh r3, [sp, #2] ldrh r2, [r2, #0x42] bic r1, r1, #0x10 strh r2, [sp, #4] strb r1, [sp] bl ItemZInit add r0, sp, #0 bl sub_0200FB54 b _020582D4 _020582C0: add r8, r8, #1 add r2, r2, #0x68 _020582C8: cmp r8, #4 blt _02058230 _020582D0: mov r0, #0 _020582D4: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _020582DC: .word TEAM_MEMBER_TABLE_PTR arm_func_end ClearItem arm_func_start sub_020582E0 sub_020582E0: ; 0x020582E0 ldr ip, _020582EC ; =ClearItem mov r1, #1 bx ip .align 2, 0 _020582EC: .word ClearItem arm_func_end sub_020582E0 arm_func_start sub_020582F0 sub_020582F0: ; 0x020582F0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr r3, _0205845C ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x68 ldr r3, [r3] smulbb r2, r0, r2 add r0, r3, #0x9000 ldr r3, [r0, #0x84c] mov r5, r1 ldrb r0, [r3, r2] add r4, r3, r2 tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02058450 mov r0, r5 bl GetItemAtIdx ldrb r2, [r4, #0x3e] mov r1, r0 tst r2, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _02058404 ldrb r0, [r4, #0x3f] cmp r0, #0 bne _02058374 tst r2, #8 movne r0, #1 moveq r0, #0 tst r0, #0xff bne _02058448 _02058374: ldrh r2, [r4, #0x3e] add r0, sp, #6 strh r2, [sp, #6] ldrh r3, [r4, #0x40] ldrb r2, [sp, #6] strh r3, [sp, #8] ldrh ip, [r4, #0x42] bic r3, r2, #0x10 strh ip, [sp, #0xa] ldrh r2, [r1] strh r2, [sp] ldrh ip, [r1, #2] ldrb r2, [sp] strh ip, [sp, #2] ldrh ip, [r1, #4] bic r1, r2, #0x10 strh ip, [sp, #4] ldrsh r2, [r4, #0xa] add r2, r2, #1 strb r2, [sp, #1] strb r1, [sp] strb r3, [sp, #6] bl sub_0200FB54 ldrh r2, [sp] add r1, sp, #0 mov r0, r5 strh r2, [r4, #0x3e] ldrh r2, [sp, #2] strh r2, [r4, #0x40] ldrh r2, [sp, #4] strh r2, [r4, #0x42] ldrsh r2, [r4, #0xa] add r2, r2, #1 and r2, r2, #0xff bl sub_0200FBE0 b _02058448 _02058404: ldrh r2, [r1] mov r0, r5 strh r2, [r4, #0x3e] ldrh r2, [r1, #2] strh r2, [r4, #0x40] ldrh r2, [r1, #4] strh r2, [r4, #0x42] ldrsh r2, [r4, #0xa] add r2, r2, #1 strb r2, [r4, #0x3f] ldrb r2, [r4, #0x3e] bic r2, r2, #0x10 strb r2, [r4, #0x3e] ldrsh r2, [r4, #0xa] add r2, r2, #1 and r2, r2, #0xff bl sub_0200FBE0 _02058448: mov r0, #1 b _02058454 _02058450: mov r0, #0 _02058454: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 _0205845C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020582F0 arm_func_start sub_02058460 sub_02058460: ; 0x02058460 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r2, r0 cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _020584F4 ; =TEAM_MEMBER_TABLE_PTR sub r1, r1, #1 mov ip, r1, lsl #0x10 ldr r1, [r0] mov r0, #0 add r1, r1, #0x9000 mov r4, r0 mov r5, #1 mov r3, #0x68 b _020584E4 _0205849C: smulbb r6, r0, r3 ldr r7, [r1, #0x84c] ldrb lr, [r7, r6] add r6, r7, r6 tst lr, #1 movne r7, r5 moveq r7, r4 tst r7, #0xff beq _020584D8 ldrsh lr, [r6, #0xa] cmp lr, ip, asr #16 bne _020584D8 mov r1, r2 bl sub_020582F0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020584D8: add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 _020584E4: cmp r0, #4 blt _0205849C mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020584F4: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02058460 arm_func_start sub_020584F8 sub_020584F8: ; 0x020584F8 bx lr arm_func_end sub_020584F8 arm_func_start sub_020584FC sub_020584FC: ; 0x020584FC stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 bl GetActiveTeamMember mov r1, r0 ldrb r0, [r1, #1] add r1, r1, #0x5e cmp r0, #0 movne r2, #1 moveq r2, #0 mov r0, r4 and r2, r2, #0xff bl sub_02054FA0 ldmia sp!, {r4, pc} arm_func_end sub_020584FC arm_func_start sub_02058534 sub_02058534: ; 0x02058534 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 mov r0, r1 bl GetActiveTeamMember mov r1, r0 cmp r4, #0x44 bne _02058578 ldrb r0, [r1, #1] add r1, r1, #0x5e cmp r0, #0 movne r2, #1 moveq r2, #0 mov r0, r5 and r2, r2, #0xff bl sub_02054FA0 ldmia sp!, {r3, r4, r5, pc} _02058578: mov r0, r5 mov r2, r4 add r1, r1, #0x5e bl sub_02054F44 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02058534 arm_func_start sub_0205858C sub_0205858C: ; 0x0205858C stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 bl GetActiveTeamMember mov r1, r0 mov r0, r4 add r1, r1, #0x5e mov r2, #0xa bl StrncpySimpleNoPadSafe ldmia sp!, {r4, pc} arm_func_end sub_0205858C arm_func_start sub_020585B4 sub_020585B4: ; 0x020585B4 ldrb r2, [r1, #1] ldr ip, _020585D4 ; =sub_02054FA0 add r1, r1, #0x5e cmp r2, #0 movne r2, #1 moveq r2, #0 and r2, r2, #0xff bx ip .align 2, 0 _020585D4: .word sub_02054FA0 arm_func_end sub_020585B4 arm_func_start ChangeGiratinaFormIfSkyDungeon ChangeGiratinaFormIfSkyDungeon: ; 0x020585D8 stmdb sp!, {r4, r5, r6, r7, r8, lr} bl IsSkyExclusiveDungeon cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r8, #0 ldr r4, _02058640 ; =0x00000211 mov r6, r8 mov r7, #1 mov r5, #0x218 _020585FC: mov r0, r8 bl GetActiveTeamMember ldrb r1, [r0] tst r1, #1 movne r1, r7 moveq r1, r6 tst r1, #0xff beq _02058628 ldrsh r1, [r0, #0xc] cmp r1, r4 streqh r5, [r0, #0xc] _02058628: add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 cmp r8, #4 blt _020585FC ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02058640: .word 0x00000211 arm_func_end ChangeGiratinaFormIfSkyDungeon arm_func_start sub_02058644 sub_02058644: ; 0x02058644 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, #0 _02058650: mov r0, r4 mov r1, r5 bl sub_02058674 add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #4 blt _02058650 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02058644 arm_func_start sub_02058674 sub_02058674: ; 0x02058674 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl CheckTeamMemberIdx cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl GetActiveTeamMember ldrb r1, [r0] tst r1, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff ldmeqia sp!, {r3, r4, r5, pc} tst r4, #2 beq _020586C8 ldrsh r1, [r0, #0xc] cmp r1, #0x218 ldreq r1, _020586E8 ; =0x00000211 streqh r1, [r0, #0xc] ldmeqia sp!, {r3, r4, r5, pc} _020586C8: tst r4, #1 ldmeqia sp!, {r3, r4, r5, pc} ldrsh r2, [r0, #0xc] ldr r1, _020586EC ; =0x00000217 cmp r2, r1 subeq r1, r1, #1 streqh r1, [r0, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020586E8: .word 0x00000211 _020586EC: .word 0x00000217 arm_func_end sub_02058674 arm_func_start sub_020586F0 sub_020586F0: ; 0x020586F0 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl GetActiveTeamMember mov r4, r0 ldrb r0, [r4] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0205878C mov r0, r5 bl GetItemMoveId16 mov ip, #0 mov r2, ip mov r3, #1 b _02058768 _02058730: add r1, r4, ip, lsl #3 ldrb r1, [r1, #0x1c] tst r1, #1 movne r1, r3 moveq r1, r2 tst r1, #0xff beq _0205875C add r1, r4, ip, lsl #3 ldrh r1, [r1, #0x20] cmp r0, r1 beq _02058770 _0205875C: add r1, ip, #1 mov r1, r1, lsl #0x10 mov ip, r1, asr #0x10 _02058768: cmp ip, #4 blt _02058730 _02058770: cmp ip, #4 blt _0205878C ldrsh r1, [r4, #0xc] bl sub_02053D1C cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _0205878C: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020586F0 arm_func_start sub_02058794 sub_02058794: ; 0x02058794 stmdb sp!, {r4, lr} mov r4, r0 bl sub_0204E584 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl GetActiveTeamMember mov r4, r0 ldrsh r0, [r4, #8] bl GetTeamMember mov r1, r4 bl sub_020534BC ldmia sp!, {r4, pc} arm_func_end sub_02058794 arm_func_start sub_020587C8 sub_020587C8: ; 0x020587C8 stmdb sp!, {r3, lr} bl sub_02057E90 mvn r0, #0 bl sub_02058644 bl RefillTeam ldmia sp!, {r3, pc} arm_func_end sub_020587C8 arm_func_start sub_020587E0 sub_020587E0: ; 0x020587E0 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02057DFC bl sub_02057E90 mvn r0, #0 bl sub_02058644 bl RefillTeam mov r0, r4 bl sub_02057AEC mov r0, #0 bl sub_02056318 ldmia sp!, {r4, pc} arm_func_end sub_020587E0 arm_func_start sub_02058810 sub_02058810: ; 0x02058810 mov r2, #0x64 strh r2, [r0, #0x48] mov r1, #0 strh r2, [r0, #0x44] strh r1, [r0, #0x4a] strh r1, [r0, #0x46] bx lr arm_func_end sub_02058810 arm_func_start sub_0205882C sub_0205882C: ; 0x0205882C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x30 ldr r1, _02058AA4 ; =0x000003E3 mov r4, r0 mov r3, #0 add r2, sp, #0x14 mov r0, #4 str r3, [sp, #0x1c] bl AllocAndLoadFileInPack ldr r1, [sp, #0x14] add r0, sp, #0x1c bl HandleSir0Translation mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 mov r1, #0 bl sub_02058ABC mov r0, r4, lsl #0x10 ldr r5, [sp, #0x1c] mov r0, r0, asr #0x10 mov r1, #0 bl sub_02058ABC add r1, r5, #4 mov r2, #0x40 mov r3, #9 bl sub_0201BFF0 add r0, r4, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r1, #0 bl sub_02058ABC add r1, r5, #0x24 mov r2, #0x80 mov r3, #9 bl sub_0201BFF0 add r0, r4, #2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r1, #0 bl sub_02058ABC add r1, r5, #0x64 mov r2, #0x100 mov r3, #9 bl sub_0201BFF0 add r0, sp, #0x14 bl UnloadFile mov lr, #0 _020588E4: ldr r3, _02058AA8 ; =_020A3468 ldr r5, _02058AAC ; =_022B578C add r2, r3, lr, lsl #4 ldr r1, [r2, #8] ldr r0, _02058AB0 ; =0x000003FF add r1, r4, r1 add r7, r5, lr, lsl #4 mov sb, #0x400 ldr r3, [r3, lr, lsl #4] and r8, r1, r0 ldr r2, [r2, #4] mov r1, r3, lsl #0x1e mov r5, #0 mov r0, r2, lsl #0x1e rsb sb, sb, #0 mov r2, r5 mov r3, #1 _02058928: mov ip, r5, lsl #3 ldrh sl, [r7, ip] add r6, r7, r5, lsl #3 cmp r5, #1 bic sl, sl, #0x100 strh sl, [r7, ip] ldrh sl, [r7, ip] add r5, r5, #1 bic sl, sl, #0x200 strh sl, [r7, ip] ldrh sl, [r6] moveq ip, r3 movne ip, r2 bic sl, sl, #0xc00 strh sl, [r6] ldrh sl, [r6] mov ip, ip, lsl #0x1e cmp r5, #2 orr sl, sl, ip, lsr #20 strh sl, [r6] ldrh ip, [r6] bic ip, ip, #0x1000 strh ip, [r6] ldrh ip, [r6] bic ip, ip, #0x2000 strh ip, [r6] ldrh ip, [r6] orr ip, ip, #0x2000 strh ip, [r6] ldrh ip, [r6] bic ip, ip, #0xc000 strh ip, [r6] ldrh ip, [r6] orr ip, ip, r1, lsr #16 strh ip, [r6] ldrh ip, [r6, #2] bic ip, ip, #0x3e00 strh ip, [r6, #2] ldrh ip, [r6, #2] bic ip, ip, #0xc000 strh ip, [r6, #2] ldrh ip, [r6, #2] orr ip, ip, r0, lsr #16 strh ip, [r6, #2] ldrh ip, [r6, #4] and ip, ip, sb strh ip, [r6, #4] ldrh ip, [r6, #4] orr ip, ip, r8 strh ip, [r6, #4] ldrh ip, [r6, #4] bic ip, ip, #0xc00 strh ip, [r6, #4] ldrh ip, [r6, #4] orr ip, ip, #0xc00 strh ip, [r6, #4] ldrh ip, [r6, #4] bic ip, ip, #0xf000 strh ip, [r6, #4] ldrh ip, [r6, #6] bic ip, ip, #1 strh ip, [r6, #6] ldrh ip, [r6, #6] bic ip, ip, #2 strh ip, [r6, #6] blt _02058928 add lr, lr, #1 cmp lr, #3 blt _020588E4 ldr r1, _02058AB4 ; =0x000003E5 add r2, sp, #0xc mov r0, #4 mov r3, #0 bl AllocAndLoadFileInPack ldr r1, [sp, #0xc] add r0, sp, #8 bl HandleSir0Translation mov r0, #0x90 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r1, [sp, #8] add r0, sp, #0x20 mov r2, #1 mov r3, #0x20 bl sub_0201F598 ldr r0, _02058AB8 ; =_020AFC4C add r1, sp, #0x20 ldr r0, [r0] mov r2, #0 bl sub_0201B43C add r0, sp, #0xc bl UnloadFile add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02058AA4: .word 0x000003E3 _02058AA8: .word _020A3468 _02058AAC: .word _022B578C _02058AB0: .word 0x000003FF _02058AB4: .word 0x000003E5 _02058AB8: .word _020AFC4C arm_func_end sub_0205882C arm_func_start sub_02058ABC sub_02058ABC: ; 0x02058ABC ldr r3, _02058AF4 ; =_020AFC4C mov r2, #0x70 ldr ip, [r3] ldr r3, _02058AF8 ; =_020AFC28 mla r2, r1, r2, ip ldrh r1, [r2, #0xc] ldr ip, [r2, #0x64] mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #30 add r1, r2, r1, ror #30 mov r1, r1, lsl #1 ldrsh r1, [r3, r1] smlabb r0, r0, r1, ip bx lr .align 2, 0 _02058AF4: .word _020AFC4C _02058AF8: .word _020AFC28 arm_func_end sub_02058ABC arm_func_start sub_02058AFC sub_02058AFC: ; 0x02058AFC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} cmp r0, #0x32 mov r6, r1 mov r5, r2 mov r4, r3 cmpne r0, #0x33 beq _02058B38 ldr r1, _02058C08 ; =0xFFFFFD76 add r1, r0, r1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #1 bhi _02058B40 _02058B38: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02058B40: bl GetShadowSize ldrb r1, [sp, #0x24] mov r7, #0x200 ldrsh lr, [r6] cmp r1, #0 ldr r1, _02058C0C ; =_022B578C movne r2, #1 moveq r2, #0 add r1, r1, r0, lsl #4 add r1, r1, r2, lsl #3 ldr sb, _02058C10 ; =_020A3450 ldrh r8, [r1, #2] ldrsh ip, [r5, #0x24] ldrsh r3, [r6, #2] ldrsh r2, [r5, #0x26] rsb r7, r7, #0 and r5, r8, r7 strh r5, [r1, #2] ldr r0, [sb, r0, lsl #2] add r5, lr, ip add r0, r5, r0 ldrh r5, [r1, #2] and r0, r0, r7, lsr #23 add r2, r3, r2 orr r0, r5, r0 strh r0, [r1, #2] sub r0, r2, #2 sub r2, r0, #2 mov r3, r2, lsl #0x14 ldrh r5, [r1, #6] ldr r0, _02058C14 ; =0xFFFF000F ldr r2, [sp, #0x20] and r0, r5, r0 strh r0, [r1, #6] ldrh r5, [r1, #6] ldr r0, _02058C18 ; =_020AFC4C orr r3, r5, r3, lsr #16 strh r3, [r1, #6] ldrh r5, [r1, #4] mov r3, r2, lsl #0x1e ldr r0, [r0] bic r2, r5, #0xc00 strh r2, [r1, #4] ldrh r5, [r1, #4] mov r2, r4 orr r3, r5, r3, lsr #20 strh r3, [r1, #4] bl sub_0201B9F8 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02058C08: .word 0xFFFFFD76 _02058C0C: .word _022B578C _02058C10: .word _020A3450 _02058C14: .word 0xFFFF000F _02058C18: .word _020AFC4C arm_func_end sub_02058AFC arm_func_start sub_02058C1C sub_02058C1C: ; 0x02058C1C add r0, r0, #0xe5 add r0, r0, #0x2600 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr arm_func_end sub_02058C1C arm_func_start sub_02058C30 sub_02058C30: ; 0x02058C30 ldr ip, _02058C38 ; =sub_0205A430 bx ip .align 2, 0 _02058C38: .word sub_0205A430 arm_func_end sub_02058C30 arm_func_start sub_02058C3C sub_02058C3C: ; 0x02058C3C ldr r1, _02058C48 ; =_020A190C ldrb r0, [r1, r0] bx lr .align 2, 0 _02058C48: .word _020A190C arm_func_end sub_02058C3C arm_func_start sub_02058C4C sub_02058C4C: ; 0x02058C4C stmdb sp!, {r3, lr} mov lr, #0 ldr r3, _02058C98 ; =TACTICS_UNLOCK_LEVEL_TABLE mov ip, lr _02058C5C: mov r2, ip, lsl #1 ldrsh r2, [r3, r2] cmp r2, r1 strleb ip, [r0, lr] add ip, ip, #1 addle lr, lr, #1 cmp ip, #0xc blt _02058C5C mov r1, #0xb b _02058C8C _02058C84: strb r1, [r0, lr] add lr, lr, #1 _02058C8C: cmp lr, #0xc blt _02058C84 ldmia sp!, {r3, pc} .align 2, 0 _02058C98: .word TACTICS_UNLOCK_LEVEL_TABLE arm_func_end sub_02058C4C arm_func_start sub_02058C9C sub_02058C9C: ; 0x02058C9C stmdb sp!, {r4, lr} mov r4, #0 ldr lr, _02058CD4 ; =TACTICS_UNLOCK_LEVEL_TABLE mov r2, r4 mov r3, #1 _02058CB0: mov ip, r4, lsl #1 ldrsh ip, [lr, ip] cmp ip, r1 strleb r3, [r0, r4] strgtb r2, [r0, r4] add r4, r4, #1 cmp r4, #0xc blt _02058CB0 ldmia sp!, {r4, pc} .align 2, 0 _02058CD4: .word TACTICS_UNLOCK_LEVEL_TABLE arm_func_end sub_02058C9C arm_func_start CanLearnIqSkill CanLearnIqSkill: ; 0x02058CD8 cmp r1, #0 moveq r0, #0 bxeq lr ldr r2, _02058D00 ; =IQ_SKILLS ldr r1, [r2, r1, lsl #2] cmp r1, r0 movle r0, #1 movgt r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02058D00: .word IQ_SKILLS arm_func_end CanLearnIqSkill arm_func_start GetLearnableIqSkills GetLearnableIqSkills: ; 0x02058D04 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r6, #0 mov sl, r0 mov sb, r1 mov r8, r2 mov r5, r6 ldr r4, _02058DA0 ; =IQ_GROUP_SKILLS mov fp, #0x19 b _02058D74 _02058D28: mov r0, sb bl GetIqGroup mla r1, r0, fp, r4 and r0, r5, #0xff ldrb r7, [r0, r1] cmp r7, #0xff beq _02058D7C cmp r7, #0x18 bne _02058D58 mov r0, #3 bl GetPerformanceFlagWithChecks b _02058D64 _02058D58: mov r0, r8 mov r1, r7 bl CanLearnIqSkill _02058D64: cmp r0, #0 strneb r7, [sl, r6] addne r6, r6, #1 add r5, r5, #1 _02058D74: cmp r5, #0x19 blt _02058D28 _02058D7C: mov r1, r6 mov r0, #0 b _02058D90 _02058D88: strb r0, [sl, r1] add r1, r1, #1 _02058D90: cmp r1, #0x45 blt _02058D88 mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02058DA0: .word IQ_GROUP_SKILLS arm_func_end GetLearnableIqSkills arm_func_start DisableIqSkill DisableIqSkill: ; 0x02058DA4 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl IqSkillFlagTest cmp r0, #0 beq _02058DE4 mov r0, r5, asr #4 add r0, r5, r0, lsr #27 mov r2, r0, asr #5 sub r0, r5, r2, lsl #5 mov r1, #1 mvn r0, r1, lsl r0 ldr r1, [r4, r2, lsl #2] and r0, r1, r0 str r0, [r4, r2, lsl #2] ldmia sp!, {r3, r4, r5, pc} _02058DE4: mov r0, r4 mov r1, r5 bl EnableIqSkill ldmia sp!, {r3, r4, r5, pc} arm_func_end DisableIqSkill arm_func_start EnableIqSkill EnableIqSkill: ; 0x02058DF4 stmdb sp!, {r4, r5, r6, lr} ldr r2, _02058E64 ; =IQ_SKILL_RESTRICTIONS mov r3, r1, lsl #1 ldrsh ip, [r2, r3] mov r3, #0 mov r4, #1 _02058E0C: mov r5, r3, lsl #1 ldrsh r5, [r2, r5] cmp ip, r5 bne _02058E3C mov lr, r3, asr #4 add lr, r3, lr, lsr #27 mov r6, lr, asr #5 sub lr, r3, r6, lsl #5 mvn lr, r4, lsl lr ldr r5, [r0, r6, lsl #2] and r5, r5, lr str r5, [r0, r6, lsl #2] _02058E3C: add r3, r3, #1 cmp r3, #0x45 blt _02058E0C mov ip, r1, lsr #5 ldr r3, [r0, ip, lsl #2] sub r1, r1, ip, lsl #5 mov r2, #1 orr r1, r3, r2, lsl r1 str r1, [r0, ip, lsl #2] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02058E64: .word IQ_SKILL_RESTRICTIONS arm_func_end EnableIqSkill arm_func_start GetSpeciesIqSkill GetSpeciesIqSkill: ; 0x02058E68 stmdb sp!, {r4, lr} mov r4, r1 bl GetIqGroup ldr r2, _02058E88 ; =IQ_GROUP_SKILLS mov r1, #0x19 mla r1, r0, r1, r2 ldrb r0, [r4, r1] ldmia sp!, {r4, pc} .align 2, 0 _02058E88: .word IQ_GROUP_SKILLS arm_func_end GetSpeciesIqSkill arm_func_start sub_02058E8C sub_02058E8C: ; 0x02058E8C mov r3, #0 mov r2, r3 _02058E94: add r1, r3, #1 mov r1, r1, lsl #0x10 str r2, [r0, r3, lsl #2] mov r3, r1, asr #0x10 cmp r3, #3 blt _02058E94 bx lr arm_func_end sub_02058E8C arm_func_start sub_02058EB0 sub_02058EB0: ; 0x02058EB0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 mov r6, r0 add r0, sp, #0 bl GetLearnableIqSkills mov r0, r6 bl sub_02058E8C mov r5, #0 add r4, sp, #0 b _02058EF4 _02058ED8: ldrb r0, [r4, r5] cmp r0, #0 beq _02058EFC ldrb r1, [r4, r5] mov r0, r6 bl EnableIqSkill add r5, r5, #1 _02058EF4: cmp r5, #0x45 blt _02058ED8 _02058EFC: add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02058EB0 arm_func_start IqSkillFlagTest IqSkillFlagTest: ; 0x02058F04 mov r3, r1, lsr #5 ldr r2, [r0, r3, lsl #2] sub r0, r1, r3, lsl #5 mov r1, #1 tst r2, r1, lsl r0 moveq r1, #0 and r0, r1, #0xff bx lr arm_func_end IqSkillFlagTest arm_func_start GetNextIqSkill GetNextIqSkill: ; 0x02058F24 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 bl GetIqGroup ldr r2, _02058F9C ; =IQ_GROUP_SKILLS mov r1, #0x19 mla lr, r0, r1, r2 mov r0, #0 mov r1, r0 mov r3, r0 ldr r2, _02058FA0 ; =IQ_SKILLS b _02058F90 _02058F50: ldrb ip, [lr], #1 cmp ip, #0xff ldmeqia sp!, {r3, r4, r5, pc} cmp ip, #0 beq _02058F8C ldr r5, [r2, ip, lsl #2] cmp r5, r4 ble _02058F8C cmp r1, #0 beq _02058F80 cmp r5, r1 bge _02058F8C _02058F80: mov r1, r5, lsl #0x10 mov r0, ip mov r1, r1, asr #0x10 _02058F8C: add r3, r3, #1 _02058F90: cmp r3, #0x19 blt _02058F50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02058F9C: .word IQ_GROUP_SKILLS _02058FA0: .word IQ_SKILLS arm_func_end GetNextIqSkill arm_func_start sub_02058FA4 sub_02058FA4: ; 0x02058FA4 ldr r0, _02058FC8 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r0, r0, #0x9800 ldrsh r0, [r0, #0x9c] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _02058FC8: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02058FA4 arm_func_start sub_02058FCC sub_02058FCC: ; 0x02058FCC stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r5, r0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r3, _0205905C ; =TEAM_MEMBER_TABLE_PTR ldrsb r2, [r5] ldr r0, [r3] add r1, r5, #2 add r0, r0, #0x9000 strb r2, [r0, #0x880] ldr r0, [r3] ldrb r4, [r5, #1] add r0, r0, #0x9000 mov r2, #0x14 strb r4, [r0, #0x881] ldr r0, [r3] add r0, r0, #0x82 add r0, r0, #0x9800 bl StrncpySimple add r8, r5, #0x18 ldr r7, _0205905C ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 mov r5, #0x44 mov r6, #0x4c _02059028: ldr r0, [r7] mla r1, r4, r6, r8 add r0, r0, #0x98 add r0, r0, #0x9800 mla r0, r4, r5, r0 bl sub_02055F04 add r4, r4, #1 cmp r4, #4 blt _02059028 mov r0, #0xbe mov r1, #1 bl sub_0204D018 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205905C: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02058FCC arm_func_start sub_02059060 sub_02059060: ; 0x02059060 stmdb sp!, {r3, r4, r5, lr} ldr r1, _020590B8 ; =TEAM_MEMBER_TABLE_PTR mov r5, r0 ldr r0, [r1] add r0, r0, #0x1880 add r4, r0, #0x8000 bl sub_02058FA4 cmp r0, #0 beq _020590A8 bl GetLanguageType ldrsb r1, [r4] cmp r1, r0 bne _020590A8 mov r0, r5 add r1, r4, #2 mov r2, #0xa bl StrncpySimpleNoPadSafe ldmia sp!, {r3, r4, r5, pc} _020590A8: ldr r1, _020590BC ; =0x00000235 mov r0, r5 bl GetStringFromFileVeneer ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020590B8: .word TEAM_MEMBER_TABLE_PTR _020590BC: .word 0x00000235 arm_func_end sub_02059060 arm_func_start sub_020590C0 sub_020590C0: ; 0x020590C0 ldr r0, _020590D8 ; =TEAM_MEMBER_TABLE_PTR ldr r0, [r0] add r1, r0, #0x9000 ldr r0, [r1, #0x878] ldr r1, [r1, #0x87c] bx lr .align 2, 0 _020590D8: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020590C0 arm_func_start sub_020590DC sub_020590DC: ; 0x020590DC ldr r2, _020590F4 ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r2] add r2, r2, #0x9000 str r0, [r2, #0x878] str r1, [r2, #0x87c] bx lr .align 2, 0 _020590F4: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_020590DC arm_func_start GetExplorerMazeMonster GetExplorerMazeMonster: ; 0x020590F8 ldr r1, _02059114 ; =TEAM_MEMBER_TABLE_PTR mov r2, #0x44 ldr r1, [r1] add r1, r1, #0x98 add r1, r1, #0x9800 smlabb r0, r0, r2, r1 bx lr .align 2, 0 _02059114: .word TEAM_MEMBER_TABLE_PTR arm_func_end GetExplorerMazeMonster arm_func_start WriteMonsterInfoToSave WriteMonsterInfoToSave: ; 0x02059118 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 ldr r6, _0205921C ; =TEAM_MEMBER_TABLE_PTR ldr r5, _02059220 ; =0x0000022B mov r8, #0 add r7, sp, #0 mov r4, #0x44 _02059148: ldr r1, [r6] mov r0, r7 mla r1, r8, r4, r1 bl WriteMonsterToSave add r8, r8, #1 cmp r8, r5 blt _02059148 ldr r1, _0205921C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #0x40 add r1, r1, #0x78 add r1, r1, #0x9800 bl CopyBitsTo ldr r1, _0205921C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #4 add r1, r1, #0x1880 add r1, r1, #0x8000 bl CopyBitsTo ldr r1, _0205921C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #4 add r1, r1, #0x81 add r1, r1, #0x9800 bl CopyBitsTo ldr r1, _0205921C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #0x50 add r1, r1, #0x82 add r1, r1, #0x9800 bl CopyBitsTo ldr r5, _0205921C ; =TEAM_MEMBER_TABLE_PTR mov r7, #0 add r6, sp, #0 mov r4, #0x44 _020591E4: ldr r1, [r5] mov r0, r6 add r1, r1, #0x98 add r1, r1, #0x9800 mla r1, r7, r4, r1 bl WriteMonsterToSave add r7, r7, #1 cmp r7, #4 blt _020591E4 add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205921C: .word TEAM_MEMBER_TABLE_PTR _02059220: .word 0x0000022B arm_func_end WriteMonsterInfoToSave arm_func_start ReadMonsterInfoFromSave ReadMonsterInfoFromSave: ; 0x02059224 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 ldr r6, _0205932C ; =TEAM_MEMBER_TABLE_PTR ldr r5, _02059330 ; =0x0000022B mov r8, #0 add r7, sp, #0 mov r4, #0x44 _02059254: ldr r1, [r6] mov r0, r7 mla r1, r8, r4, r1 bl ReadMonsterFromSave add r8, r8, #1 cmp r8, r5 blt _02059254 ldr r1, _0205932C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #0x40 add r1, r1, #0x78 add r1, r1, #0x9800 bl CopyBitsFrom ldr r1, _0205932C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #4 add r1, r1, #0x1880 add r1, r1, #0x8000 bl CopyBitsFrom ldr r1, _0205932C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #4 add r1, r1, #0x81 add r1, r1, #0x9800 bl CopyBitsFrom ldr r1, _0205932C ; =TEAM_MEMBER_TABLE_PTR add r0, sp, #0 ldr r1, [r1] mov r2, #0x50 add r1, r1, #0x82 add r1, r1, #0x9800 bl CopyBitsFrom ldr r5, _0205932C ; =TEAM_MEMBER_TABLE_PTR mov r7, #0 add r6, sp, #0 mov r4, #0x44 _020592F0: ldr r1, [r5] mov r0, r6 add r1, r1, #0x98 add r1, r1, #0x9800 mla r1, r7, r4, r1 bl ReadMonsterFromSave add r7, r7, #1 cmp r7, #4 blt _020592F0 add r0, sp, #0 bl sub_020509BC bl sub_0205523C ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205932C: .word TEAM_MEMBER_TABLE_PTR _02059330: .word 0x0000022B arm_func_end ReadMonsterInfoFromSave arm_func_start WriteMonsterToSave WriteMonsterToSave: ; 0x02059334 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #1 bl CopyBitsTo mov r0, r5 add r1, r4, #1 mov r2, #7 bl CopyBitsTo mov r0, r5 add r1, r4, #4 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #2 bl sub_020515C4 mov r0, r5 add r1, r4, #6 mov r2, #7 bl CopyBitsTo mov r0, r5 add r1, r4, #7 mov r2, #7 bl CopyBitsTo mov r0, r5 add r1, r4, #8 mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #0xa mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #0xc mov r2, #8 bl CopyBitsTo mov r0, r5 add r1, r4, #0xd mov r2, #8 bl CopyBitsTo mov r0, r5 add r1, r4, #0xe mov r2, #8 bl CopyBitsTo mov r0, r5 add r1, r4, #0xf mov r2, #8 bl CopyBitsTo mov r0, r5 add r1, r4, #0x10 mov r2, #0x18 bl CopyBitsTo mov r0, r5 add r1, r4, #0x14 mov r2, #0x45 bl CopyBitsTo mov r0, r5 add r1, r4, #0x20 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #0x22 bl CopyMovesetTo mov r0, r5 add r1, r4, #0x3a mov r2, #0x50 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end WriteMonsterToSave arm_func_start ReadMonsterFromSave ReadMonsterFromSave: ; 0x02059444 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r0, r4 mov r1, #0 mov r2, #0x44 bl memset mov r0, r5 mov r1, r4 mov r2, #1 bl CopyBitsFrom mov r0, r5 add r1, r4, #1 mov r2, #7 bl CopyBitsFrom mov r0, r5 add r1, r4, #4 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #2 bl Copy16BitsFrom mov r0, r5 add r1, r4, #6 mov r2, #7 bl CopyBitsFrom mov r0, r5 add r1, r4, #7 mov r2, #7 bl CopyBitsFrom mov r0, r5 add r1, r4, #8 mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #0xa mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #0xc mov r2, #8 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xd mov r2, #8 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xe mov r2, #8 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xf mov r2, #8 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x10 mov r2, #0x18 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x14 mov r2, #0x45 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x20 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x22 bl CopyMovesetFrom mov r0, r5 add r1, r4, #0x3a mov r2, #0x50 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end ReadMonsterFromSave arm_func_start sub_0205956C sub_0205956C: ; 0x0205956C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r2, _020597A4 ; =TEAM_MEMBER_TABLE_PTR mov r5, r1 ldr r1, [r2] mov r2, #1 add r1, r1, #0x74 add r1, r1, #0x9800 add r1, r1, r5 mov sl, r0 bl CopyBitsTo ldr r1, _020597A4 ; =TEAM_MEMBER_TABLE_PTR mov r0, sl ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x850 add r1, r1, #0x9000 add r1, r1, r5, lsl #1 bl CopyBitsTo ldr r6, _020597A4 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 mov r7, #0x10 _020595C0: ldr r1, [r6] mov r0, sl add r1, r1, #0x56 add r1, r1, #0x9800 add r1, r1, r5, lsl #3 mov r2, r7 add r1, r1, r4, lsl #1 bl CopyBitsTo add r4, r4, #1 cmp r4, #4 blt _020595C0 mov r0, #0x1a0 mul r8, r5, r0 ldr fp, _020597A8 ; =_020A3498 ldr r5, _020597A4 ; =TEAM_MEMBER_TABLE_PTR mov sb, #0 mov r6, #4 mov r4, #0x68 _02059608: ldr r1, [r5] mov r0, sl add r1, r1, #0x36c add r1, r1, #0x9000 add r1, r1, r8 mla r7, sb, r4, r1 mov r1, r7 mov r2, r6 bl CopyBitsTo ldrb r0, [r7, #1] mov r2, #1 cmp r0, #0 movne r1, fp ldreq r1, _020597AC ; =_020A3499 mov r0, sl bl CopyBitsTo mov r0, sl add r1, r7, #2 mov r2, #7 bl CopyBitsTo mov r0, sl add r1, r7, #3 bl sub_020515C4 mov r0, sl add r1, r7, #6 mov r2, #0xa bl CopyBitsTo mov r0, sl add r1, r7, #8 mov r2, #0x10 bl CopyBitsTo mov r0, sl add r1, r7, #0xa mov r2, #0x10 bl CopyBitsTo mov r0, sl add r1, r7, #0xc mov r2, #0xb bl CopyBitsTo mov r0, sl add r1, r7, #0xe mov r2, #0xa bl CopyBitsTo mov r0, sl add r1, r7, #0x10 mov r2, #0xa bl CopyBitsTo mov r0, sl add r1, r7, #0x12 mov r2, #8 bl CopyBitsTo mov r0, sl add r1, r7, #0x13 mov r2, #8 bl CopyBitsTo mov r0, sl add r1, r7, #0x14 mov r2, #8 bl CopyBitsTo mov r0, sl add r1, r7, #0x15 mov r2, #8 bl CopyBitsTo mov r0, sl add r1, r7, #0x18 mov r2, #0x18 bl CopyBitsTo mov r0, sl add r1, r7, #0x1c bl sub_02014B74 mov r0, sl add r1, r7, #0x3e bl sub_0200DF74 mov r0, sl add r1, r7, #0x44 bl sub_020510C0 mov r0, sl add r1, r7, #0x48 bl sub_020510C0 mov r0, sl add r1, r7, #0x4c mov r2, #0x45 bl CopyBitsTo mov r0, sl add r1, r7, #0x58 mov r2, #4 bl CopyBitsTo mov r0, sl add r1, r7, #0x5a mov r2, #0xa bl CopyBitsTo mov r0, sl add r1, r7, #0x5c mov r2, #5 bl CopyBitsTo add r1, r7, #0x5e mov r0, sl mov r2, #0x50 bl CopyBitsTo add sb, sb, #1 cmp sb, #4 blt _02059608 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020597A4: .word TEAM_MEMBER_TABLE_PTR _020597A8: .word _020A3498 _020597AC: .word _020A3499 arm_func_end sub_0205956C arm_func_start sub_020597B0 sub_020597B0: ; 0x020597B0 stmdb sp!, {r3, lr} sub sp, sp, #0x18 mov r3, r0 mov r2, r1 add r0, sp, #8 mov r1, r3 bl sub_02050990 add r0, sp, #8 mov r1, #0 bl sub_0205956C add r0, sp, #8 mov r1, #1 bl sub_0205956C add r0, sp, #8 mov r1, #2 bl sub_0205956C add r0, sp, #8 bl sub_020509BC ldr r1, _02059820 ; =_020A3498 add r0, sp, #0 ldr r2, [r1, #0x10] ldr r1, [r1, #0xc] str r2, [sp, #4] str r1, [sp] bl sub_020584F8 ldr r0, [sp, #0x10] add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 _02059820: .word _020A3498 arm_func_end sub_020597B0 arm_func_start sub_02059824 sub_02059824: ; 0x02059824 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r2, _02059A70 ; =TEAM_MEMBER_TABLE_PTR mov r5, r1 ldr r1, [r2] mov r2, #1 add r1, r1, #0x74 add r1, r1, #0x9800 add r1, r1, r5 mov sl, r0 bl CopyBitsFrom ldr r1, _02059A70 ; =TEAM_MEMBER_TABLE_PTR mov r0, sl ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x850 add r1, r1, #0x9000 add r1, r1, r5, lsl #1 bl CopyBitsFrom ldr r6, _02059A70 ; =TEAM_MEMBER_TABLE_PTR mov r4, #0 mov r7, #0x10 _02059878: ldr r1, [r6] mov r0, sl add r1, r1, #0x56 add r1, r1, #0x9800 add r1, r1, r5, lsl #3 mov r2, r7 add r1, r1, r4, lsl #1 bl CopyBitsFrom add r4, r4, #1 cmp r4, #4 blt _02059878 mov r0, #0x1a0 mul r8, r5, r0 mov sb, #0 ldr r4, _02059A70 ; =TEAM_MEMBER_TABLE_PTR mov r5, sb mov r6, #1 mov fp, #0x68 _020598C0: ldr r0, [r4] mov r1, #0 add r0, r0, #0x36c add r0, r0, #0x9000 add r0, r0, r8 mla r7, sb, fp, r0 mov r0, r7 mov r2, #0x68 bl memset mov r0, sl mov r1, r7 mov r2, #4 bl CopyBitsFrom mov r0, sl add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] add r1, r7, #2 mov r2, #7 tst r0, #1 strneb r6, [r7, #1] mov r0, sl streqb r5, [r7, #1] bl CopyBitsFrom mov r0, sl add r1, r7, #3 bl Copy16BitsFrom mov r0, sl add r1, r7, #6 mov r2, #0xa bl CopyBitsFrom mov r0, sl add r1, r7, #8 mov r2, #0x10 bl CopyBitsFrom mov r0, sl add r1, r7, #0xa mov r2, #0x10 bl CopyBitsFrom mov r0, sl add r1, r7, #0xc mov r2, #0xb bl CopyBitsFrom mov r0, sl add r1, r7, #0xe mov r2, #0xa bl CopyBitsFrom mov r0, sl add r1, r7, #0x10 mov r2, #0xa bl CopyBitsFrom mov r0, sl add r1, r7, #0x12 mov r2, #8 bl CopyBitsFrom mov r0, sl add r1, r7, #0x13 mov r2, #8 bl CopyBitsFrom mov r0, sl add r1, r7, #0x14 mov r2, #8 bl CopyBitsFrom mov r0, sl add r1, r7, #0x15 mov r2, #8 bl CopyBitsFrom mov r0, sl add r1, r7, #0x18 mov r2, #0x18 bl CopyBitsFrom mov r0, sl add r1, r7, #0x1c bl sub_02014C20 mov r0, sl add r1, r7, #0x3e bl sub_0200DF2C mov r0, sl add r1, r7, #0x44 bl sub_02051098 mov r0, sl add r1, r7, #0x48 bl sub_02051098 mov r0, sl add r1, r7, #0x4c mov r2, #0x45 bl CopyBitsFrom mov r0, sl add r1, r7, #0x58 mov r2, #4 bl CopyBitsFrom mov r0, sl add r1, r7, #0x5a mov r2, #0xa bl CopyBitsFrom mov r0, sl add r1, r7, #0x5c mov r2, #5 bl CopyBitsFrom add r1, r7, #0x5e mov r0, sl mov r2, #0x50 bl CopyBitsFrom add sb, sb, #1 cmp sb, #4 blt _020598C0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02059A70: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_02059824 arm_func_start sub_02059A74 sub_02059A74: ; 0x02059A74 stmdb sp!, {r3, lr} sub sp, sp, #0x18 mov r3, r0 mov r2, r1 add r0, sp, #8 mov r1, r3 bl sub_02050974 add r0, sp, #8 mov r1, #0 bl sub_02059824 add r0, sp, #8 mov r1, #1 bl sub_02059824 add r0, sp, #8 mov r1, #2 bl sub_02059824 add r0, sp, #8 bl sub_020509BC ldr r1, _02059AE4 ; =_020A3498 add r0, sp, #0 ldr r2, [r1, #8] ldr r1, [r1, #4] str r2, [sp, #4] str r1, [sp] bl sub_020584F8 ldr r0, [sp, #0x10] add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 _02059AE4: .word _020A3498 arm_func_end sub_02059A74 arm_func_start sub_02059AE8 sub_02059AE8: ; 0x02059AE8 ldr ip, _02059AF4 ; =CopyBitsFrom mov r2, #7 bx ip .align 2, 0 _02059AF4: .word CopyBitsFrom arm_func_end sub_02059AE8 arm_func_start sub_02059AF8 sub_02059AF8: ; 0x02059AF8 ldr ip, _02059B04 ; =CopyBitsTo mov r2, #7 bx ip .align 2, 0 _02059B04: .word CopyBitsTo arm_func_end sub_02059AF8 arm_func_start sub_02059B08 sub_02059B08: ; 0x02059B08 ldr ip, _02059B14 ; =GetPerformanceFlagWithChecks mov r0, #0xa bx ip .align 2, 0 _02059B14: .word GetPerformanceFlagWithChecks arm_func_end sub_02059B08 arm_func_start GetEvolutionPossibilities GetEvolutionPossibilities: ; 0x02059B18 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 mov sb, r0 ldrsh r6, [sb, #4] mov r8, r1 mov r5, #0 strh r5, [r8, #6] ldrsh r0, [sb, #4] cmp r6, #0x258 ldrlt r4, _0205A1DC ; =0x0000022A movlt r7, #1 ldr r2, _0205A1E0 ; =0x000001BF ldrge r7, _0205A1E4 ; =0x00000259 ldrge r4, _0205A1E8 ; =0x00000483 cmp r0, r2 blt _02059B64 add r1, r2, #2 cmp r0, r1 movle r6, r2 _02059B64: ldr r2, _0205A1EC ; =0x00000417 cmp r0, r2 blt _02059B84 add r1, r2, #2 cmp r0, r1 ldrle r4, _0205A1DC ; =0x0000022A suble r6, r2, #0x258 movle r7, #1 _02059B84: ldr r1, _0205A1F0 ; =0x000003E1 ldr r2, _0205A1F4 ; =0x000001CE cmp r0, r1 subeq r6, r1, #0x258 ldreq r4, _0205A1DC ; =0x0000022A ldr r1, _0205A1F8 ; =0x0000041E moveq r7, #1 cmp r0, r1 subeq r6, r1, #0x258 subeq r4, r1, #0x1f4 moveq r7, #1 cmp r0, r2 blt _02059BC4 add r1, r2, #1 cmp r0, r1 movle r6, r2 _02059BC4: ldr r2, _0205A1FC ; =0x00000426 cmp r0, r2 blt _02059BDC add r1, r2, #1 cmp r0, r1 movle r6, r2 _02059BDC: mov r2, #0 mov r1, r2 _02059BE4: add r0, r8, r2, lsl #1 strh r1, [r0, #0x1a] strh r1, [r0, #0x2a] add r2, r2, #1 strh r1, [r0, #0xa] cmp r2, #8 blt _02059BE4 strh r1, [r8, #8] ldrsh r0, [sb, #4] ldr r1, _0205A1F8 ; =0x0000041E cmp r0, r1 bne _02059C2C bl CanEvolve cmp r0, #0 bne _02059C44 mov r0, #4 strh r0, [r8, #6] b _0205A1D4 _02059C2C: mov r0, r6 bl CanEvolve cmp r0, #0 moveq r0, #4 streqh r0, [r8, #6] beq _0205A1D4 _02059C44: ldr r0, _0205A200 ; =0xFFFFFE3E add r0, r0, #0x34c str r0, [sp, #0x24] ldr r0, _0205A1F0 ; =0x000003E1 rsb fp, r0, #0x5a0 sub r0, r0, #0x258 str r0, [sp] ldr r0, _0205A200 ; =0xFFFFFE3E add r0, r0, #0x390 str r0, [sp, #8] ldr r0, _0205A1F0 ; =0x000003E1 rsb sl, r0, #0x5a0 ldr r0, _0205A200 ; =0xFFFFFE3E add r0, r0, #0x390 str r0, [sp, #4] ldr r0, _0205A1F0 ; =0x000003E1 add r0, r0, #0x45 str r0, [sp, #0xc] ldr r0, _0205A1F0 ; =0x000003E1 sub r0, r0, #0x220 str r0, [sp, #0x20] ldr r0, _0205A1F0 ; =0x000003E1 rsb r0, r0, #0x5a0 str r0, [sp, #0x1c] ldr r0, _0205A200 ; =0xFFFFFE3E sub r0, r0, #0x264 str r0, [sp, #0x18] ldr r0, _0205A204 ; =0xFFFFFBE9 sub r0, r0, #0x11 str r0, [sp, #0x14] ldr r0, _0205A200 ; =0xFFFFFE3E sub r0, r0, #0xc str r0, [sp, #0x10] b _02059E1C _02059CCC: mov r1, r7, lsl #0x10 add r0, sp, #0x28 mov r1, r1, asr #0x10 bl GetEvoParameters ldrh r0, [sp, #0x2a] cmp r0, #0 beq _02059E18 ldrsh r0, [sp, #0x28] cmp r6, r0 bne _02059E18 cmp r6, sl bgt _02059D14 cmp r6, fp bge _02059D8C ldr r0, [sp] cmp r6, r0 beq _02059DD8 b _02059E0C _02059D14: ldr r0, [sp, #4] cmp r6, r0 bgt _02059D30 ldr r0, [sp, #8] cmp r6, r0 beq _02059D40 b _02059E0C _02059D30: ldr r0, [sp, #0xc] cmp r6, r0 beq _02059D64 b _02059E0C _02059D40: ldrsh r2, [sb, #4] ldr r0, [sp, #0x10] sub r1, r7, #0x1d0 add r0, r2, r0 cmp r0, r1 addeq r0, r8, r5, lsl #1 streqh r7, [r0, #0xa] addeq r5, r5, #1 b _02059E18 _02059D64: ldr r0, [sp, #0x14] ldrsh r2, [sb, #4] add r1, r7, r0 ldr r0, [sp, #0x18] add r0, r2, r0 cmp r0, r1 addeq r0, r8, r5, lsl #1 streqh r7, [r0, #0xa] addeq r5, r5, #1 b _02059E18 _02059D8C: ldr r0, _0205A200 ; =0xFFFFFE3E ldrsh r2, [sb, #4] add r1, r7, r0 ldr r0, _0205A204 ; =0xFFFFFBE9 add r0, r2, r0 cmp r0, r1 addeq r0, r8, r5, lsl #1 streqh r7, [r0, #0xa] ldrsh r1, [sb, #4] ldr r0, [sp, #0x1c] addeq r5, r5, #1 cmp r1, r0 blt _02059E18 ldr r0, [sp, #0x20] cmp r1, r0 addle r0, r8, r5, lsl #1 strleh r7, [r0, #0xa] addle r5, r5, #1 b _02059E18 _02059DD8: ldrsh r1, [sb, #4] ldr r0, _0205A1F0 ; =0x000003E1 cmp r1, r0 ldreq r0, [sp, #0x24] cmpeq r7, r0 addeq r0, r8, r5, lsl #1 addeq r1, r7, #0x258 addeq r5, r5, #1 streqh r1, [r0, #0xa] addne r0, r8, r5, lsl #1 strneh r7, [r0, #0xa] addne r5, r5, #1 b _02059E18 _02059E0C: add r0, r8, r5, lsl #1 strh r7, [r0, #0xa] add r5, r5, #1 _02059E18: add r7, r7, #1 _02059E1C: cmp r7, r4 blt _02059CCC cmp r5, #0 moveq r0, #4 streqh r0, [r8, #6] beq _0205A1D4 mov r7, #0 b _0205A1CC _02059E3C: add r0, r8, r7, lsl #1 ldrsh sl, [r0, #0xa] add r0, sp, #0x28 mov r1, sl bl GetEvoParameters ldrh r0, [sp, #0x2a] mov r4, #0 cmp r0, #4 addls pc, pc, r0, lsl #2 b _02059F44 _02059E64: ; jump table b _02059F44 ; case 0 b _02059E78 ; case 1 b _02059E98 ; case 2 b _02059EB8 ; case 3 b _02059EE4 ; case 4 _02059E78: ldrb r1, [sb, #1] ldrsh r0, [sp, #0x2c] cmp r1, r0 ldrlth r0, [r8, #6] movlt r4, #1 orrlt r0, r0, #2 strlth r0, [r8, #6] b _02059F44 _02059E98: ldrsh r1, [sb, #8] ldrsh r0, [sp, #0x2c] cmp r1, r0 ldrlth r0, [r8, #6] movlt r4, #1 orrlt r0, r0, #0x10 strlth r0, [r8, #6] b _02059F44 _02059EB8: ldrsh r0, [sp, #0x2c] bl FindItemInInventory cmp r0, #0 ldrlth r0, [r8, #6] movlt r4, #1 orrlt r0, r0, #8 strlth r0, [r8, #6] ldrgesh r1, [sp, #0x2c] addge r0, r8, r7, lsl #1 strgeh r1, [r0, #0x1a] b _02059F44 _02059EE4: ldrsh r0, [sp, #0x2c] mov r1, #0x258 mov r6, r4 bl __divsi3 mov r0, r1, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r4 bl IsMonsterOnTeam cmp r0, #0 ldrsh r0, [sp, #0x2c] mov r1, #0x258 addne r6, r6, #1 bl __divsi3 mov r0, r1, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x258 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r1, #0 bl IsMonsterOnTeam cmp r0, #0 addne r6, r6, #1 cmp r6, #0 moveq r4, #1 _02059F44: ldrh r0, [sp, #0x2e] cmp r0, #0xf addls pc, pc, r0, lsl #2 b _0205A1A8 _02059F54: ; jump table b _0205A1A8 ; case 0 b _0205A08C ; case 1 b _0205A0B8 ; case 2 b _0205A0CC ; case 3 b _0205A0E0 ; case 4 b _0205A0F4 ; case 5 b _0205A120 ; case 6 b _0205A16C ; case 7 b _0205A14C ; case 8 b _0205A15C ; case 9 b _0205A18C ; case 10 b _0205A19C ; case 11 b _02059F94 ; case 12 b _02059FD0 ; case 13 b _0205A00C ; case 14 b _0205A04C ; case 15 _02059F94: mov r6, #0 mov r4, #1 mov r1, r6 mov r0, #6 _02059FA4: mla r3, r6, r0, sb ldrb r2, [r3, #0x22] tst r2, #1 beq _02059FC0 ldrh r2, [r3, #0x24] cmp r2, #0x5d moveq r4, r1 _02059FC0: add r6, r6, #1 cmp r6, #4 blt _02059FA4 b _0205A1A8 _02059FD0: mov r6, #0 mov r4, #1 mov r1, r6 mov r0, #6 _02059FE0: mla r3, r6, r0, sb ldrb r2, [r3, #0x22] tst r2, #1 beq _02059FFC ldrh r2, [r3, #0x24] cmp r2, #0x69 moveq r4, r1 _02059FFC: add r6, r6, #1 cmp r6, #4 blt _02059FE0 b _0205A1A8 _0205A00C: mov r0, #0 ldr r1, _0205A208 ; =0x000001E7 mov r4, #1 mov r3, r0 mov r2, #6 _0205A020: mla fp, r0, r2, sb ldrb r6, [fp, #0x22] tst r6, #1 beq _0205A03C ldrh r6, [fp, #0x24] cmp r6, r1 moveq r4, r3 _0205A03C: add r0, r0, #1 cmp r0, #4 blt _0205A020 b _0205A1A8 _0205A04C: mov r0, #0 ldr r1, _0205A20C ; =0x00000147 mov r4, #1 mov r3, r0 mov r2, #6 _0205A060: mla fp, r0, r2, sb ldrb r6, [fp, #0x22] tst r6, #1 beq _0205A07C ldrh r6, [fp, #0x24] cmp r6, r1 moveq r4, r3 _0205A07C: add r0, r0, #1 cmp r0, #4 blt _0205A060 b _0205A1A8 _0205A08C: mov r0, #0x97 bl FindItemInInventory cmp r0, #0 ldrlth r0, [r8, #6] movge r1, #0x97 movlt r4, #1 orrlt r0, r0, #8 strlth r0, [r8, #6] addge r0, r8, r7, lsl #1 strgeh r1, [r0, #0x2a] b _0205A1A8 _0205A0B8: ldrb r1, [sb, #0xc] ldrb r0, [sb, #0xe] cmp r1, r0 movls r4, #1 b _0205A1A8 _0205A0CC: ldrb r1, [sb, #0xc] ldrb r0, [sb, #0xe] cmp r1, r0 movhs r4, #1 b _0205A1A8 _0205A0E0: ldrb r1, [sb, #0xc] ldrb r0, [sb, #0xe] cmp r1, r0 movne r4, #1 b _0205A1A8 _0205A0F4: mov r0, #0x37 bl FindItemInInventory cmp r0, #0 ldrlth r0, [r8, #6] movge r1, #0x37 movlt r4, #1 orrlt r0, r0, #8 strlth r0, [r8, #6] addge r0, r8, r7, lsl #1 strgeh r1, [r0, #0x2a] b _0205A1A8 _0205A120: mov r0, #0x38 bl FindItemInInventory cmp r0, #0 ldrlth r0, [r8, #6] movge r1, #0x38 movlt r4, #1 orrlt r0, r0, #8 strlth r0, [r8, #6] addge r0, r8, r7, lsl #1 strgeh r1, [r0, #0x2a] b _0205A1A8 _0205A14C: ldrb r0, [r8, #4] tst r0, #1 movne r4, #1 b _0205A1A8 _0205A15C: ldrb r0, [r8, #4] tst r0, #1 moveq r4, #1 b _0205A1A8 _0205A16C: mov r0, #0x36 bl FindItemInInventory cmp r0, #0 addge r0, r8, r7, lsl #1 movge r1, #0x36 movlt r4, #1 strgeh r1, [r0, #0x2a] b _0205A1A8 _0205A18C: ldrsh r0, [sb, #4] cmp r0, #0x258 movge r4, #1 b _0205A1A8 _0205A19C: ldrsh r0, [sb, #4] cmp r0, #0x258 movlt r4, #1 _0205A1A8: cmp r4, #0 ldreqh r0, [r8, #6] movne r1, #0 orreq r0, r0, #1 streqh r0, [r8, #6] addne r0, r8, r7, lsl #1 streqh sl, [r8, #8] strneh r1, [r0, #0xa] add r7, r7, #1 _0205A1CC: cmp r7, r5 blt _02059E3C _0205A1D4: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205A1DC: .word 0x0000022A _0205A1E0: .word 0x000001BF _0205A1E4: .word 0x00000259 _0205A1E8: .word 0x00000483 _0205A1EC: .word 0x00000417 _0205A1F0: .word 0x000003E1 _0205A1F4: .word 0x000001CE _0205A1F8: .word 0x0000041E _0205A1FC: .word 0x00000426 _0205A200: .word 0xFFFFFE3E _0205A204: .word 0xFFFFFBE9 _0205A208: .word 0x000001E7 _0205A20C: .word 0x00000147 arm_func_end GetEvolutionPossibilities arm_func_start GetMonsterEvoStatus GetMonsterEvoStatus: ; 0x0205A210 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c add r1, sp, #0 mov r4, r0 bl GetEvolutionPossibilities ldrh r0, [sp, #6] tst r0, #1 beq _0205A274 ldrb r0, [r4, #2] cmp r0, #0xd6 moveq r1, #1 movne r1, #0 tst r1, #0xff bne _0205A254 bl JoinedAtRangeCheck2 cmp r0, #0 beq _0205A26C _0205A254: mov r0, #0xa bl GetPerformanceFlagWithChecks cmp r0, #0 movne r0, #1 moveq r0, #0 b _0205A280 _0205A26C: mov r0, #1 b _0205A280 _0205A274: tst r0, #4 movne r0, #2 moveq r0, #0 _0205A280: add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} arm_func_end GetMonsterEvoStatus arm_func_start sub_0205A288 sub_0205A288: ; 0x0205A288 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 mvn r2, #0 mov r6, r0 strh r2, [sp] ldrsh r0, [r6] mov r5, r1 bl GetTeamMember add lr, sp, #4 mov r4, r0 mov ip, #4 _0205A2B4: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0205A2B4 ldr r3, [r4] add r1, sp, #4 mov r0, r6 mov r2, r5 str r3, [lr] bl sub_0205A340 ldr r0, _0205A33C ; =0x0000013F cmp r5, r0 addne r0, r0, #0x258 cmpne r5, r0 bne _0205A330 mov r0, #0x140 bl GetNameString mov r1, r0 add r0, sp, #0x3e mov r2, #0xa bl sub_02025314 add r0, sp, #0 add r1, sp, #4 mov r2, #0x140 bl sub_0205A340 ldrsh r1, [sp] mvn r0, #0 cmp r1, r0 beq _0205A330 mov r0, #0x140 bl SetPokemonJoined _0205A330: mov r0, #1 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0205A33C: .word 0x0000013F arm_func_end sub_0205A288 arm_func_start sub_0205A340 sub_0205A340: ; 0x0205A340 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x90 add ip, sp, #0x4c mov r6, r0 mov lr, r1 mov r5, r2 mov r4, #4 _0205A35C: ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r4, r4, #1 bne _0205A35C ldr r1, [lr] add r0, sp, #0x40 str r1, [ip] ldrb r2, [sp, #0x4d] mov r1, r5 ldrsh r4, [sp, #0x50] bl GetLvlUpEntry ldrb r0, [sp, #0x52] ldr r1, [sp, #0x40] strh r5, [sp, #0x50] cmp r0, #0 ldreqb r0, [sp, #0x4d] str r1, [sp, #0x5c] streqb r0, [sp, #0x52] beq _0205A3B8 ldrb r0, [sp, #0x53] cmp r0, #0 ldreqb r0, [sp, #0x4d] streqb r0, [sp, #0x53] _0205A3B8: mov r0, r4 bl GetNameString mov r1, r0 add r0, sp, #0 bl SpecialStrcpy add r0, sp, #0 add r1, sp, #0x86 mov r2, #0xa bl StrncmpSimple cmp r0, #0 bne _0205A3FC mov r0, r5 bl GetNameString mov r1, r0 add r0, sp, #0x86 mov r2, #0xa bl sub_02025314 _0205A3FC: ldrsh r0, [r6] mvn r1, #0 cmp r0, r1 beq _0205A418 add r1, sp, #0x4c bl sub_02055D7C b _0205A424 _0205A418: add r0, sp, #0x4c bl sub_02055CCC strh r0, [r6] _0205A424: ldrsh r0, [r6] add sp, sp, #0x90 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0205A340 arm_func_start sub_0205A430 sub_0205A430: ; 0x0205A430 ldr r2, _0205A448 ; =TACTIC_NAME_STRING_IDS mov r1, r1, lsl #1 ldrh r1, [r2, r1] ldr ip, _0205A44C ; =CopyStringFromMessageId mov r2, #0x40 bx ip .align 2, 0 _0205A448: .word TACTIC_NAME_STRING_IDS _0205A44C: .word CopyStringFromMessageId arm_func_end sub_0205A430 arm_func_start sub_0205A450 sub_0205A450: ; 0x0205A450 stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldrb ip, [sp, #0x18] mov r4, r0 add r0, sp, #4 str ip, [sp] bl sub_0205B120 ldrb r1, [r4, #0x39] ldrsh r0, [sp, #6] add r0, r1, r0 strb r0, [r4, #0x39] ldrb r1, [r4, #0x3a] ldrsh r0, [sp, #8] add r0, r1, r0 strb r0, [r4, #0x3a] ldrb r1, [r4, #0x3b] ldrsh r0, [sp, #0xa] add r0, r1, r0 strb r0, [r4, #0x3b] ldrb r1, [r4, #0x3c] ldrsh r0, [sp, #0xc] add r0, r1, r0 strb r0, [r4, #0x3c] add sp, sp, #0x10 ldmia sp!, {r4, pc} arm_func_end sub_0205A450 arm_func_start sub_0205A4B4 sub_0205A4B4: ; 0x0205A4B4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x184 mov r6, r1 mov r5, r2 mov r4, r3 cmp r0, #5 mov r7, #0x10 addls pc, pc, r0, lsl #2 b _0205AD98 _0205A4D8: ; jump table b _0205AD98 ; case 0 b _0205A9D4 ; case 1 b _0205A4F0 ; case 2 b _0205A900 ; case 3 b _0205AAC8 ; case 4 b _0205AC0C ; case 5 _0205A4F0: ldr r0, [r6, #0x2c] ldr r2, _0205ADA0 ; =0x00000951 str r0, [sp, #0x90] ldr r1, [r6, #0x30] add r5, sp, #0x6c str r1, [sp, #0x94] add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, r7 bl sub_02026214 mov r3, r5 str r3, [sp] ldr r2, _0205ADA4 ; =0x00000952 add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 bl PreprocessStringFromMessageId mov r0, r4 mov r1, #4 mov r2, #0x1c add r3, sp, #0xbc bl sub_02026214 ldr r2, [r6, #0x2c] cmp r2, #0x64 bge _0205A5B8 ldrsh r1, [r6] add r0, sp, #0x18 add r2, r2, #1 bl GetLvlUpEntry ldr r1, [sp, #0x18] ldr r0, [r6, #0x30] ldr r2, _0205ADA8 ; =0x00000953 sub r0, r1, r0 str r0, [sp, #0x90] add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x28 bl sub_02026214 _0205A5B8: ldr r0, [r6, #0x24] ldr r2, _0205ADAC ; =0x00000954 str r0, [sp, #0x90] ldr r1, [r6, #0x28] add r5, sp, #0x6c str r1, [sp, #0x94] add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x36 bl sub_02026214 mov r3, r5 str r3, [sp] ldr r2, _0205ADB0 ; =0x00000955 add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 bl PreprocessStringFromMessageId mov r0, r4 mov r1, #4 mov r2, #0x42 add r3, sp, #0xbc bl sub_02026214 ldrb r1, [r6, #0x34] ldr r2, _0205ADB4 ; =0x00000957 add r5, sp, #0x6c str r1, [sp, #0x90] ldrb r0, [r6, #0x39] mov r3, #0 cmp r0, #0 addne r0, r1, r0 strne r0, [sp, #0x90] addne r2, r2, #1 add r0, sp, #0xbc mov r1, #0xc8 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x42 bl sub_02026214 ldrb r2, [r6, #0x3b] ldrb r1, [r6, #0x36] add r0, sp, #0xbc cmp r2, #0 mov r3, #0 beq _0205A6BC add r1, r1, r2 str r1, [sp, #0x90] ldr r2, _0205ADB8 ; =0x0000095C mov r1, #0xc8 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x42 bl sub_02026214 b _0205A6E4 _0205A6BC: ldr r2, _0205ADBC ; =0x0000095B str r1, [sp, #0x90] mov r1, #0xc8 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x42 bl sub_02026214 _0205A6E4: ldr r2, _0205ADC0 ; =0x00000956 add r5, sp, #0x6c add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x4e bl sub_02026214 ldrb r1, [r6, #0x35] ldr r2, _0205ADC4 ; =0x00000959 add r5, sp, #0x6c str r1, [sp, #0x90] ldrb r0, [r6, #0x3a] mov r3, #0 cmp r0, #0 addne r0, r1, r0 strne r0, [sp, #0x90] addne r2, r2, #1 add r0, sp, #0xbc mov r1, #0xc8 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x4e bl sub_02026214 ldrb r2, [r6, #0x3c] ldrb r1, [r6, #0x37] add r0, sp, #0xbc cmp r2, #0 mov r3, #0 beq _0205A7A8 add r1, r1, r2 str r1, [sp, #0x90] ldr r2, _0205ADC8 ; =0x0000095E mov r1, #0xc8 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x4e bl sub_02026214 b _0205A7D0 _0205A7A8: ldr r2, _0205ADCC ; =0x0000095D str r1, [sp, #0x90] mov r1, #0xc8 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x4e bl sub_02026214 _0205A7D0: ldrb r0, [r6, #0x1c] tst r0, #1 movne r0, #1 moveq r0, #0 tst r0, #0xff beq _0205A820 bl sub_02025888 ldr r2, _0205ADD0 ; =_020A34B8 add r1, r6, #0x1c mov r7, r0 bl sub_0200D670 add r5, sp, #0x6c str r7, [sp, #0xa4] add r0, sp, #0xbc mov r1, #0xc8 mov r2, #0x960 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId b _0205A83C _0205A820: ldr r2, _0205ADD4 ; =0x0000095F add r5, sp, #0x6c add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId _0205A83C: add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x5a bl sub_02026214 ldrsh r0, [r6, #0x3e] mov r1, #0xa str r0, [sp, #0x90] ldrsh r0, [r6, #0x3e] bl __divsi3 movs r1, r0 movmi r1, #0 cmp r1, #0x63 ldr r0, _0205ADD8 ; =_020A34D2 movge r1, #0x63 bl sub_0205B39C str r0, [sp, #0xa4] add r5, sp, #0x6c ldr r2, _0205ADDC ; =0x00000961 add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x68 bl sub_02026214 ldrb r0, [r6, #0x38] cmp r0, #0 bne _0205AD98 bl sub_02025888 ldrb r1, [r6, #0x54] mov r6, r0 bl sub_02058C30 str r6, [sp, #0xa4] ldr r2, _0205ADE0 ; =0x00000962 add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x74 bl sub_02026214 b _0205AD98 _0205A900: ldr r3, _0205ADE4 ; =0x00000972 mov r0, r4 mov r2, r7 mov r1, #4 bl sub_02026268 ldrb r0, [r6, #0x16] bl GetTypeStringId mov r3, r0 mov r0, r4 mov r1, #0x38 mov r2, r7 bl sub_02026268 ldrb r0, [r6, #0x17] cmp r0, #0 beq _0205A954 bl GetTypeStringId mov r3, r0 mov r0, r4 mov r1, #0x68 mov r2, r7 bl sub_02026268 _0205A954: ldr r3, _0205ADE8 ; =0x00000973 mov r0, r4 mov r1, #4 mov r2, #0x1c bl sub_02026268 ldrb r0, [r6, #0x18] bl GetAbilityDescStringId bl StringFromMessageId mov r1, #0 str r1, [sp] mov r1, #0xb str r1, [sp, #4] mov r3, r0 mov r0, r4 mov r1, #4 mov r2, #0x28 bl sub_02026358 ldrb r0, [r6, #0x19] cmp r0, #0 beq _0205AD98 bl GetAbilityDescStringId bl StringFromMessageId mov r1, #0 mov r3, r0 mov r0, r4 str r1, [sp] mov r4, #0xb mov r1, #4 mov r2, #0x49 str r4, [sp, #4] bl sub_02026358 b _0205AD98 _0205A9D4: ldrsh r0, [r6, #0x56] mov fp, #0 mov r1, fp sub r8, r0, #1 sub r7, r7, #0xc mov sl, fp _0205A9EC: add r0, r5, r1, lsl #2 add r1, r1, #1 str sl, [r0, #0xc] cmp r1, #0xa blt _0205A9EC b _0205AAA0 _0205AA04: cmp r8, #0 cmpge r7, #0x10 blt _0205AA94 cmp r8, #0x1e bge _0205AAA8 add sb, r6, r8 ldrb r0, [sb, #0x58] cmp r0, #0 beq _0205AA94 mov fp, #1 bl sub_02025888 ldrb r1, [sb, #0x58] str r0, [sp, #8] mov r2, #0x50 mov r3, r1, lsl #1 ldr r1, _0205ADEC ; =STATUS_NAME_STRING_IDS ldrh r1, [r1, r3] bl CopyStringFromMessageId ldr r0, [sp, #8] ldr r2, _0205ADF0 ; =_020A34FC str r0, [sp, #0xa8] add r0, sp, #0x6c str r0, [sp] add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 bl PreprocessString mov r0, r4 mov r1, #0xc mov r2, r7 add r3, sp, #0xbc bl sub_02026214 cmp sl, #1 ldrgeb r1, [sb, #0x58] addge r0, r5, sl, lsl #2 strge r1, [r0, #8] _0205AA94: add sl, sl, #1 add r8, r8, #1 add r7, r7, #0xc _0205AAA0: cmp sl, #0xa blt _0205AA04 _0205AAA8: cmp fp, #0 bne _0205AD98 ldr r3, _0205ADF4 ; =0x00000968 mov r0, r4 mov r1, #0xc mov r2, #0x10 bl sub_02026268 b _0205AD98 _0205AAC8: ldrsh r1, [r6] ldrsh r2, [r6, #0x3e] add r0, sp, #0x24 bl GetLearnableIqSkills ldrsh r0, [r6, #0x40] mov r1, #0 mov sb, r1 sub r8, r0, #1 _0205AAE8: strb sb, [r5, r1] add r1, r1, #1 cmp r1, #9 blt _0205AAE8 mov sl, sb sub r7, r7, #0xc add fp, sp, #0x24 b _0205ABE4 _0205AB08: cmp r8, #0 blt _0205ABD8 cmp r8, #0x45 bge _0205ABEC ldrb r0, [fp, r8] cmp r0, #0 beq _0205ABD8 mov sb, #1 bl sub_02025888 str r0, [sp, #0xc] ldrb r0, [fp, r8] bl sub_02058C1C mov r1, r0 ldr r0, [sp, #0xc] mov r2, #0x50 bl CopyStringFromMessageId ldr r0, [sp, #0xc] ldrb r1, [fp, r8] str r0, [sp, #0xa8] add r0, r6, #0x48 bl IqSkillFlagTest cmp r0, #0 beq _0205AB80 bl sub_02025888 ldr r1, _0205ADF8 ; =_020A3514 str r0, [sp, #0x10] bl strcpy ldr r0, [sp, #0x10] str r0, [sp, #0xa4] b _0205AB98 _0205AB80: bl sub_02025888 ldr r1, _0205ADFC ; =_020A351C str r0, [sp, #0x14] bl strcpy ldr r0, [sp, #0x14] str r0, [sp, #0xa4] _0205AB98: cmp sl, #1 ldrgeb r1, [fp, r8] addge r0, r5, sl ldr r2, _0205AE00 ; =_020A3524 strgeb r1, [r0, #-1] add r0, sp, #0x6c str r0, [sp] add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 bl PreprocessString mov r0, r4 mov r1, #0xc mov r2, r7 add r3, sp, #0xbc bl sub_02026214 _0205ABD8: add sl, sl, #1 add r8, r8, #1 add r7, r7, #0xc _0205ABE4: cmp sl, #0xa blt _0205AB08 _0205ABEC: cmp sb, #0 bne _0205AD98 ldr r3, _0205AE04 ; =0x00000969 mov r0, r4 mov r1, #0xc mov r2, #0x20 bl sub_02026268 b _0205AD98 _0205AC0C: bl sub_02025888 ldrsh r1, [r6] mov r5, r0 bl GetNameRaw str r5, [sp, #0xa4] ldrsh r0, [r6] str r0, [sp, #0x90] ldrsh r0, [r6] bl GetMonsterGenderVeneer cmp r0, #1 beq _0205AC48 cmp r0, #2 beq _0205AC50 cmp r0, #3 b _0205AC58 _0205AC48: ldr r2, _0205AE08 ; =0x00000963 b _0205AC5C _0205AC50: ldr r2, _0205AE0C ; =0x00000964 b _0205AC5C _0205AC58: ldr r2, _0205AE10 ; =0x00000965 _0205AC5C: add r5, sp, #0x6c add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x10 bl sub_02026214 ldr r3, _0205AE14 ; =0x00000967 mov r0, r4 mov r1, #4 mov r2, #0x1f bl sub_02026268 ldrb r2, [r6, #0x1a] mov r1, r5 add r0, sp, #0xbc str r2, [sp, #0x7c] str r1, [sp] ldr r2, _0205AE18 ; =0x0000096B mov r1, #0xc8 mov r3, #0 bl PreprocessStringFromMessageId mov r0, r4 mov r1, #4 mov r2, #0x2b add r3, sp, #0xbc bl sub_02026214 bl sub_02025888 mov r5, r0 ldrsh r0, [r6] bl GetCategoryString mov r1, r0 mov r0, r5 bl strcpy mov r0, #0x44 strb r0, [r5, #4] str r5, [sp, #0xa4] add r1, sp, #0x6c str r1, [sp] ldr r2, _0205AE1C ; =0x00000966 add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 bl PreprocessStringFromMessageId mov r0, r4 mov r1, #4 mov r2, #0x3a add r3, sp, #0xbc bl sub_02026214 ldrsh r0, [r6] bl GetBodySize mov r1, r0 ldr r0, _0205AE20 ; =_020A34C4 bl sub_0205B39C str r0, [sp, #0xa4] add r1, sp, #0x6c str r1, [sp] ldr r2, _0205AE24 ; =0x0000096A add r0, sp, #0xbc mov r1, #0xc8 mov r3, #0 bl PreprocessStringFromMessageId add r3, sp, #0xbc mov r0, r4 mov r1, #4 mov r2, #0x58 bl sub_02026214 ldrb r2, [r6, #0x44] mov r0, r4 mov r1, #4 add r2, r2, #0x16c add r2, r2, #0x800 mov r2, r2, lsl #0x10 mov r3, r2, lsr #0x10 mov r2, #0x67 bl sub_02026268 _0205AD98: add sp, sp, #0x184 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205ADA0: .word 0x00000951 _0205ADA4: .word 0x00000952 _0205ADA8: .word 0x00000953 _0205ADAC: .word 0x00000954 _0205ADB0: .word 0x00000955 _0205ADB4: .word 0x00000957 _0205ADB8: .word 0x0000095C _0205ADBC: .word 0x0000095B _0205ADC0: .word 0x00000956 _0205ADC4: .word 0x00000959 _0205ADC8: .word 0x0000095E _0205ADCC: .word 0x0000095D _0205ADD0: .word _020A34B8 _0205ADD4: .word 0x0000095F _0205ADD8: .word _020A34D2 _0205ADDC: .word 0x00000961 _0205ADE0: .word 0x00000962 _0205ADE4: .word 0x00000972 _0205ADE8: .word 0x00000973 _0205ADEC: .word STATUS_NAME_STRING_IDS _0205ADF0: .word _020A34FC _0205ADF4: .word 0x00000968 _0205ADF8: .word _020A3514 _0205ADFC: .word _020A351C _0205AE00: .word _020A3524 _0205AE04: .word 0x00000969 _0205AE08: .word 0x00000963 _0205AE0C: .word 0x00000964 _0205AE10: .word 0x00000965 _0205AE14: .word 0x00000967 _0205AE18: .word 0x0000096B _0205AE1C: .word 0x00000966 _0205AE20: .word _020A34C4 _0205AE24: .word 0x0000096A arm_func_end sub_0205A4B4 arm_func_start sub_0205AE28 sub_0205AE28: ; 0x0205AE28 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r8, r1 mov sb, r0 ldrsh r0, [r8, #8] mov r7, r2 bl GetTeamMember mov r4, r0 mov r1, r4 add r0, sb, #2 mov r2, #0x4e bl sub_02056084 ldrsh r0, [r8, #0xc] mov r5, #0 strh r0, [sb] ldrsh r0, [r8, #0xe] str r0, [sb, #0x24] ldrsh r0, [r8, #0xe] str r0, [sb, #0x28] ldrb r0, [r8, #2] str r0, [sb, #0x2c] ldr r0, [r8, #0x18] str r0, [sb, #0x30] _0205AE84: add r2, r8, r5 ldrb r0, [r2, #0x12] add r6, sb, r5 mov r1, r5 strb r0, [r6, #0x34] ldrb r0, [r2, #0x14] strb r0, [r6, #0x36] ldrsh r0, [r8, #0xc] bl GetType strb r0, [r6, #0x16] ldrsh r0, [r8, #0xc] mov r1, r5 bl GetAbility add r5, r5, #1 strb r0, [r6, #0x18] cmp r5, #2 blt _0205AE84 strb r7, [sb, #0x38] mov r0, #0 strb r0, [sb, #0x39] strb r0, [sb, #0x3a] strb r0, [sb, #0x3b] strb r0, [sb, #0x3c] strb r0, [sb, #0x45] ldrb r1, [r8, #0x58] add r0, r8, #0x4c add r3, sb, #0x48 strb r1, [sb, #0x54] ldrh r1, [r8, #0x3e] strh r1, [sb, #0x1c] ldrh r1, [r8, #0x40] strh r1, [sb, #0x1e] ldrh r1, [r8, #0x42] strh r1, [sb, #0x20] ldrsh r1, [r8, #6] strh r1, [sb, #0x3e] ldrb r1, [r8, #3] strb r1, [sb, #0x1a] ldrb r1, [r8, #4] strb r1, [sb, #0x1b] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, sb bl sub_0205B354 str r0, [sp] ldrsh r1, [sb] ldrsh r3, [sb, #0x3e] add r0, sp, #4 add r2, r8, #0x3e bl sub_0205B120 ldrb r2, [sb, #0x39] ldrsh r1, [sp, #6] ldr r0, _0205B004 ; =0x000003E7 add r1, r2, r1 strb r1, [sb, #0x39] ldrb r2, [sb, #0x3a] ldrsh r1, [sp, #8] add r1, r2, r1 strb r1, [sb, #0x3a] ldrb r2, [sb, #0x3b] ldrsh r1, [sp, #0xa] add r1, r2, r1 strb r1, [sb, #0x3b] ldrb r2, [sb, #0x3c] ldrsh r1, [sp, #0xc] add r1, r2, r1 strb r1, [sb, #0x3c] ldrsh r1, [sp, #4] ldr r2, [sb, #0x24] add r1, r2, r1 str r1, [sb, #0x24] cmp r1, r0 strgt r0, [sb, #0x24] ldr r1, [sb, #0x24] mov r0, #6 str r1, [sb, #0x28] ldrb r1, [r4, #6] strb r1, [sb, #0x42] ldrb r1, [r4, #7] strb r1, [sb, #0x43] bl GetPerformanceFlagWithChecks cmp r0, #0 moveq r0, #3 beq _0205AFDC mov r0, r4 bl GetMonsterEvoStatus _0205AFDC: mov r2, #0 strb r0, [sb, #0x44] mov r1, r2 _0205AFE8: add r0, sb, r2 add r2, r2, #1 strb r1, [r0, #0x58] cmp r2, #0x1f blt _0205AFE8 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0205B004: .word 0x000003E7 arm_func_end sub_0205AE28 arm_func_start sub_0205B008 sub_0205B008: ; 0x0205B008 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 bl sub_02055894 mov r1, r0 mov r0, r4 bl sub_0205B028 ldmia sp!, {r4, pc} arm_func_end sub_0205B008 arm_func_start sub_0205B028 sub_0205B028: ; 0x0205B028 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r5, r1 mov r6, r0 mov r0, r5 bl GetActiveRosterIndex mvn r1, #0 cmp r0, r1 bne _0205B078 add r0, sp, #0 mov r1, r5 mov r2, #0 bl sub_02053224 mov r0, r5 bl sub_020564B0 mov r2, r0 add r1, sp, #0 mov r0, r6 bl sub_0205AE28 b _0205B098 _0205B078: bl GetActiveTeamMember mov r4, r0 mov r0, r5 bl sub_020564B0 mov r2, r0 mov r0, r6 mov r1, r4 bl sub_0205AE28 _0205B098: add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0205B028 arm_func_start sub_0205B0A0 sub_0205B0A0: ; 0x0205B0A0 ldr ip, _0205B0B0 ; =sub_0205B39C mov r1, r0 ldr r0, _0205B0B4 ; =_020A34D2 bx ip .align 2, 0 _0205B0B0: .word sub_0205B39C _0205B0B4: .word _020A34D2 arm_func_end sub_0205B0A0 arm_func_start sub_0205B0B8 sub_0205B0B8: ; 0x0205B0B8 stmdb sp!, {r3, lr} ldrsh r1, [r0, #0x56] mov r2, #0x10 mov lr, #0 mov r3, lr sub ip, r1, #1 sub r2, r2, #0xc b _0205B110 _0205B0D8: cmp ip, #0 cmpge r2, #0x10 blt _0205B104 cmp ip, #0x1e bge _0205B118 add r1, r0, ip ldrb r1, [r1, #0x58] cmp r1, #0 beq _0205B104 cmp r3, #1 addge lr, lr, #1 _0205B104: add r3, r3, #1 add ip, ip, #1 add r2, r2, #0xc _0205B110: cmp r3, #0xa blt _0205B0D8 _0205B118: mov r0, lr ldmia sp!, {r3, pc} arm_func_end sub_0205B0B8 arm_func_start sub_0205B120 sub_0205B120: ; 0x0205B120 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x24 mov r5, r0 mov r6, #0 strh r6, [r5] strh r6, [r5, #2] strh r6, [r5, #4] mov r4, r2 strh r6, [r5, #6] add r0, sp, #0 mov r7, r1 mov r2, r3 strh r6, [r5, #8] bl sub_02058EB0 mov r0, r7 mov r1, r6 bl GetType mov r6, r0 mov r0, r7 mov r1, #1 bl GetType mov r3, r0 mov r1, r7 mov r2, r6 add r0, sp, #0xc bl sub_02011220 add r0, sp, #0xc bl sub_02011394 ldrsh r2, [r5] ldrb r1, [sp, #0x38] add r0, r2, r0 strh r0, [r5] cmp r1, #0 ldrsh r1, [r5, #2] ldrb r0, [sp, #0xc] add r0, r1, r0 strh r0, [r5, #2] ldrsh r1, [r5, #4] ldrb r0, [sp, #0xd] add r0, r1, r0 strh r0, [r5, #4] ldrsh r1, [r5, #6] ldrb r0, [sp, #0xe] add r0, r1, r0 strh r0, [r5, #6] ldrsh r1, [r5, #8] ldrb r0, [sp, #0xf] add r0, r1, r0 strh r0, [r5, #8] bne _0205B30C cmp r4, #0 beq _0205B30C ldrb r0, [r4] tst r0, #1 movne r1, #1 moveq r1, #0 tst r1, #0xff beq _0205B30C tst r0, #8 movne r0, #1 moveq r0, #0 tst r0, #0xff bne _0205B30C ldrsh r0, [r4, #4] cmp r0, #0x1a ldreq r0, _0205B338 ; =POWER_BAND_STAT_BOOST ldreqsh r1, [r5, #2] ldreqsh r0, [r0] addeq r0, r1, r0 streqh r0, [r5, #2] ldrsh r0, [r4, #4] cmp r0, #0x32 ldreq r0, _0205B33C ; =MUNCH_BELT_STAT_BOOST ldreqsh r1, [r5, #2] ldreqsh r0, [r0] addeq r0, r1, r0 streqh r0, [r5, #2] ldrsh r0, [r4, #4] cmp r0, #0x28 ldreq r0, _0205B340 ; =SPECIAL_BAND_STAT_BOOST ldreqsh r1, [r5, #4] ldreqsh r0, [r0] addeq r0, r1, r0 streqh r0, [r5, #4] ldrsh r0, [r4, #4] cmp r0, #0x32 ldreq r0, _0205B33C ; =MUNCH_BELT_STAT_BOOST ldreqsh r1, [r5, #4] ldreqsh r0, [r0] addeq r0, r1, r0 streqh r0, [r5, #4] ldrsh r0, [r4, #4] cmp r0, #0x25 ldreq r0, _0205B344 ; =DEF_SCARF_STAT_BOOST ldreqsh r1, [r5, #6] ldreqsh r0, [r0] addeq r0, r1, r0 streqh r0, [r5, #6] ldrsh r0, [r4, #4] cmp r0, #0x29 ldreq r0, _0205B348 ; =ZINC_BAND_STAT_BOOST ldreqsh r1, [r5, #8] ldreqsh r0, [r0] addeq r0, r1, r0 streqh r0, [r5, #8] ldrsh r0, [r4, #4] bl IsAuraBow cmp r0, #0 beq _0205B30C ldr r0, _0205B34C ; =AURA_BOW_STAT_BOOST ldrsh r1, [r5, #2] ldrsh r2, [r0] add r0, r1, r2 strh r0, [r5, #2] ldrsh r0, [r5, #4] add r0, r0, r2 strh r0, [r5, #4] ldrsh r0, [r5, #6] add r0, r0, r2 strh r0, [r5, #6] ldrsh r0, [r5, #8] add r0, r0, r2 strh r0, [r5, #8] _0205B30C: add r0, sp, #0 mov r1, #0x38 bl IqSkillFlagTest cmp r0, #0 ldrne r0, _0205B350 ; =_020A1870 ldrnesh r1, [r5] ldrnesh r0, [r0] addne r0, r1, r0 strneh r0, [r5] add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0205B338: .word POWER_BAND_STAT_BOOST _0205B33C: .word MUNCH_BELT_STAT_BOOST _0205B340: .word SPECIAL_BAND_STAT_BOOST _0205B344: .word DEF_SCARF_STAT_BOOST _0205B348: .word ZINC_BAND_STAT_BOOST _0205B34C: .word AURA_BOW_STAT_BOOST _0205B350: .word _020A1870 arm_func_end sub_0205B120 arm_func_start sub_0205B354 sub_0205B354: ; 0x0205B354 ldrb r1, [r0, #0x45] cmp r1, #0 movne r0, #0 bxne lr mov r2, #0 b _0205B38C _0205B36C: add r1, r0, r2 ldrb r1, [r1, #0x18] cmp r1, #0x6f moveq r0, #1 bxeq lr add r1, r2, #1 mov r1, r1, lsl #0x10 mov r2, r1, asr #0x10 _0205B38C: cmp r2, #2 blt _0205B36C mov r0, #0 bx lr arm_func_end sub_0205B354 arm_func_start sub_0205B39C sub_0205B39C: ; 0x0205B39C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 mov r5, r1 bl sub_02025888 mov r7, r0 b _0205B3C0 _0205B3B4: cmp r5, r0 bge _0205B3CC add r4, r4, #2 _0205B3C0: ldrsb r0, [r4] cmp r0, #0 bge _0205B3B4 _0205B3CC: mov r6, #0 strb r6, [r7] ldrsb r0, [r4, #1] cmp r0, #0 beq _0205B420 ldr r5, _0205B434 ; =_020A353C b _0205B3F8 _0205B3E8: mov r0, r7 mov r1, r5 bl strcat add r6, r6, #1 _0205B3F8: ldrsb r1, [r4, #1] add r0, r1, r1, lsr #31 cmp r6, r0, asr #1 blt _0205B3E8 tst r1, #1 beq _0205B42C ldr r1, _0205B438 ; =_020A3544 mov r0, r7 bl strcat b _0205B42C _0205B420: ldr r1, _0205B43C ; =_020A354C mov r0, r7 bl strcat _0205B42C: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0205B434: .word _020A353C _0205B438: .word _020A3544 _0205B43C: .word _020A354C arm_func_end sub_0205B39C arm_func_start sub_0205B440 sub_0205B440: ; 0x0205B440 ldr r0, _0205B448 ; =_020A3550 bx lr .align 2, 0 _0205B448: .word _020A3550 arm_func_end sub_0205B440 arm_func_start sub_0205B44C sub_0205B44C: ; 0x0205B44C ldr r1, _0205B468 ; =_022B5910 ldr r0, _0205B46C ; =_020B0A54 ldr r2, _0205B470 ; =_022B57C0 str r1, [r0] ldr r1, _0205B474 ; =_022B580C stmib r0, {r1, r2} bx lr .align 2, 0 _0205B468: .word _022B5910 _0205B46C: .word _020B0A54 _0205B470: .word _022B57C0 _0205B474: .word _022B580C arm_func_end sub_0205B44C arm_func_start sub_0205B478 sub_0205B478: ; 0x0205B478 stmdb sp!, {r3, lr} sub sp, sp, #8 add r0, sp, #0 bl sub_0204A198 ldrb r1, [sp, #3] ldr r0, _0205B54C ; =_020B0A54 ldrb r2, [sp, #2] mov r1, r1, lsl #0x10 ldrb r3, [sp, #4] orr r1, r1, r2, lsl #24 ldrb r2, [sp, #5] orr r1, r1, r3, lsl #8 ldr r0, [r0] orr ip, r2, r1 ldr r3, _0205B550 ; =_022B57BC mov r1, #0 mov r2, #0x1600 str ip, [r3] bl MemsetSimple ldr r0, _0205B54C ; =_020B0A54 mov r1, #0 ldr r0, [r0, #8] mov r2, #0x4c bl MemsetSimple mov lr, #0 ldr r2, _0205B54C ; =_020B0A54 mov r0, lr mov r1, #0xb0 _0205B4E8: mul ip, lr, r1 ldr r3, [r2] add lr, lr, #1 strb r0, [r3, ip] ldr r3, [r2] cmp lr, #0x20 add r3, r3, ip strh r0, [r3, #0xa2] blt _0205B4E8 ldr r1, _0205B54C ; =_020B0A54 mov ip, #0 ldr r2, [r1, #4] mvn r3, #0 str r0, [r2] _0205B520: ldr r2, [r1, #4] add r2, r2, r0, lsl #3 str ip, [r2, #4] ldr r2, [r1, #4] add r2, r2, r0, lsl #3 add r0, r0, #1 str r3, [r2, #8] cmp r0, #0x20 blt _0205B520 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _0205B54C: .word _020B0A54 _0205B550: .word _022B57BC arm_func_end sub_0205B478 arm_func_start sub_0205B554 sub_0205B554: ; 0x0205B554 ldr ip, _0205B55C ; =sub_0205B560 bx ip .align 2, 0 _0205B55C: .word sub_0205B560 arm_func_end sub_0205B554 arm_func_start sub_0205B560 sub_0205B560: ; 0x0205B560 ldr r3, [r0] ldr r2, [r1] cmp r3, r2 ldreq r2, [r0, #4] ldreq r0, [r1, #4] cmpeq r2, r0 moveq r0, #1 movne r0, #0 bx lr arm_func_end sub_0205B560 arm_func_start sub_0205B584 sub_0205B584: ; 0x0205B584 stmdb sp!, {r4, lr} ldr r1, _0205B5A4 ; =_022B57BC mov r4, r0 ldr r0, [r1] str r0, [r4] bl sub_02048C3C str r0, [r4, #4] ldmia sp!, {r4, pc} .align 2, 0 _0205B5A4: .word _022B57BC arm_func_end sub_0205B584 arm_func_start sub_0205B5A8 sub_0205B5A8: ; 0x0205B5A8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc4 ldr lr, _0205B688 ; =_020A3678 add ip, sp, #0x14 mov r4, r0 mov r8, r1 mov r7, r2 mov r6, r3 mov r5, #0xb _0205B5CC: ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0205B5CC strb r8, [sp, #0x18] strb r7, [sp, #0x19] bl GetLanguageType strb r0, [sp, #0x30] mov r0, #2 strb r6, [sp, #0xc0] bl RandInt orr r0, r0, #2 strb r0, [sp, #0xc2] bl sub_02063504 mov r5, r0 bl Rand16Bit orr r0, r0, r5, lsl #16 bl sub_020510E8 strb r4, [sp, #0x14] bl sub_02051134 str r0, [sp, #0x2c] bl sub_02051134 str r0, [sp, #0xbc] bl sub_02051134 bic r0, r0, #0xff000000 str r0, [sp, #0x1c] ldr r0, [sp, #0xbc] bl sub_020634F4 ldr r1, _0205B68C ; =0x000038C9 add r0, sp, #0 bl GetStringFromFileVeneer add r0, sp, #0x31 add r1, sp, #0 bl SpecialStrcpy cmp r4, #1 bne _0205B668 add r0, sp, #0x18 bl sub_0205BAB0 b _0205B680 _0205B668: cmp r4, #5 add r0, sp, #0x14 bne _0205B67C bl sub_0205B738 b _0205B680 _0205B67C: bl sub_0205B6EC _0205B680: add sp, sp, #0xc4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0205B688: .word _020A3678 _0205B68C: .word 0x000038C9 arm_func_end sub_0205B5A8 arm_func_start sub_0205B690 sub_0205B690: ; 0x0205B690 ldr r1, _0205B6C8 ; =_020B0A54 mov r0, #2 ldr r3, [r1] mov r1, #0xb0 b _0205B6B8 _0205B6A4: mul r2, r0, r1 ldrb r2, [r3, r2] cmp r2, #0 bxeq lr add r0, r0, #1 _0205B6B8: cmp r0, #0x20 blt _0205B6A4 mvn r0, #0 bx lr .align 2, 0 _0205B6C8: .word _020B0A54 arm_func_end sub_0205B690 arm_func_start sub_0205B6CC sub_0205B6CC: ; 0x0205B6CC ldr r1, [r0, #0x10] ldr r0, [r0, #0xc] cmp r1, #0 cmpeq r0, #2 mov r0, #0 movhs r0, #1 and r0, r0, #0xff bx lr arm_func_end sub_0205B6CC arm_func_start sub_0205B6EC sub_0205B6EC: ; 0x0205B6EC stmdb sp!, {r4, lr} mov r4, r0 bl sub_0205B690 mvn r1, #0 cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r2, _0205B734 ; =_020B0A54 mov r1, #0xb0 ldr r2, [r2] mov ip, #0xb mla lr, r0, r1, r2 _0205B71C: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0205B71C mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _0205B734: .word _020B0A54 arm_func_end sub_0205B6EC arm_func_start sub_0205B738 sub_0205B738: ; 0x0205B738 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0205B778 ; =_020B0A54 mov r5, r0 ldr r1, [r1] mov r4, #0 ldrb r0, [r1, #0xb0] add lr, r1, #0xb0 mov ip, #0xb cmp r0, #0 movne r4, #1 _0205B760: ldmia r5!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0205B760 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205B778: .word _020B0A54 arm_func_end sub_0205B738 arm_func_start sub_0205B77C sub_0205B77C: ; 0x0205B77C ldr r2, _0205B790 ; =_020B0A54 mov r1, #0xb0 ldr r2, [r2] mla r0, r1, r0, r2 bx lr .align 2, 0 _0205B790: .word _020B0A54 arm_func_end sub_0205B77C arm_func_start sub_0205B794 sub_0205B794: ; 0x0205B794 stmdb sp!, {r4, lr} ldr r3, _0205B7C4 ; =_020B0A54 mov r2, #0xb0 ldr r3, [r3] mov r4, r0 mla lr, r1, r2, r3 mov ip, #0xb _0205B7B0: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0205B7B0 ldmia sp!, {r4, pc} .align 2, 0 _0205B7C4: .word _020B0A54 arm_func_end sub_0205B794 arm_func_start sub_0205B7C8 sub_0205B7C8: ; 0x0205B7C8 stmdb sp!, {r4, lr} mov r2, #0xb0 mul r4, r0, r2 ldr r0, _0205B808 ; =_020B0A54 mov r1, #0 ldr r0, [r0] add r0, r0, r4 bl MemsetSimple ldr r0, _0205B808 ; =_020B0A54 mov r2, #0 ldr r1, [r0] strb r2, [r1, r4] ldr r0, [r0] add r0, r0, r4 strh r2, [r0, #0xa2] ldmia sp!, {r4, pc} .align 2, 0 _0205B808: .word _020B0A54 arm_func_end sub_0205B7C8 arm_func_start sub_0205B80C sub_0205B80C: ; 0x0205B80C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, #0 ldr r7, _0205B88C ; =_020B0A54 mov r8, sl mov sb, #1 mov r4, #0xb0 mov r6, sl mov r5, #2 _0205B82C: mov r0, sl, lsl #0x18 ldr r1, [r7] mov r0, r0, asr #0x18 mla r2, r0, r4, r1 ldr r0, [r2, #0x10] ldr r1, [r2, #0xc] cmp r0, r6 cmpeq r1, r5 movhs r0, sb movlo r0, r8 tst r0, #0xff ldrneb r0, [r2, #0xad] cmpne r0, #0 ldrneb r0, [r2] cmpne r0, #1 cmpne r0, #7 beq _0205B87C mov r0, sl, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205B7C8 _0205B87C: add sl, sl, #1 cmp sl, #0x20 blt _0205B82C ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0205B88C: .word _020B0A54 arm_func_end sub_0205B80C arm_func_start sub_0205B890 sub_0205B890: ; 0x0205B890 ldr r1, _0205B8C8 ; =_020B0A54 ldr r2, [r0] ldr r3, [r1, #4] ldr r0, [r0, #4] ldr r1, [r3] add r1, r3, r1, lsl #3 str r2, [r1, #4] str r0, [r1, #8] ldr r0, [r3] cmp r0, #0x1f addlt r0, r0, #1 movge r0, #0 str r0, [r3] bx lr .align 2, 0 _0205B8C8: .word _020B0A54 arm_func_end sub_0205B890 arm_func_start sub_0205B8CC sub_0205B8CC: ; 0x0205B8CC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #0 ldr r4, _0205B914 ; =_020B0A54 b _0205B904 _0205B8E0: ldr r0, [r4, #4] mov r1, r6 add r0, r0, #4 add r0, r0, r5, lsl #3 bl sub_0205B560 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} add r5, r5, #1 _0205B904: cmp r5, #0x20 blt _0205B8E0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0205B914: .word _020B0A54 arm_func_end sub_0205B8CC arm_func_start sub_0205B918 sub_0205B918: ; 0x0205B918 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 mov r5, r1 mov r4, #0 ldr r8, _0205B978 ; =_020B0A54 mov r7, #0xb0 b _0205B968 _0205B934: mul r1, r4, r7 ldr r2, [r8] ldrb r0, [r2, r1] add r2, r2, r1 cmp r6, r0 bne _0205B964 mov r1, r5 add r0, r2, #0x14 bl sub_0205B560 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _0205B964: add r4, r4, #1 _0205B968: cmp r4, #0x20 blt _0205B934 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205B978: .word _020B0A54 arm_func_end sub_0205B918 arm_func_start GetSosMailCount GetSosMailCount: ; 0x0205B97C stmdb sp!, {r3, lr} cmp r1, #0 ldr r1, _0205B9C4 ; =_020B0A54 mov r3, #0 movne lr, #2 ldr ip, [r1] moveq lr, r3 mov r1, #0xb0 b _0205B9B4 _0205B9A0: mul r2, lr, r1 ldrb r2, [ip, r2] add lr, lr, #1 cmp r0, r2 addeq r3, r3, #1 _0205B9B4: cmp lr, #0x20 blt _0205B9A0 mov r0, r3 ldmia sp!, {r3, pc} .align 2, 0 _0205B9C4: .word _020B0A54 arm_func_end GetSosMailCount arm_func_start sub_0205B9C8 sub_0205B9C8: ; 0x0205B9C8 ldr r1, _0205BA08 ; =_020B0A54 cmp r0, #0 ldr r3, [r1] mov r0, #0 movne ip, #2 moveq ip, r0 mov r1, #0xb0 b _0205B9FC _0205B9E8: mul r2, ip, r1 ldrb r2, [r3, r2] add ip, ip, #1 cmp r2, #0 addne r0, r0, #1 _0205B9FC: cmp ip, #0x20 blt _0205B9E8 bx lr .align 2, 0 _0205BA08: .word _020B0A54 arm_func_end sub_0205B9C8 arm_func_start sub_0205BA0C sub_0205BA0C: ; 0x0205BA0C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 mov r5, r1 mov r4, #0 ldr r8, _0205BA6C ; =_020B0A54 mov r7, #0xb0 b _0205BA5C _0205BA28: mul r1, r4, r7 ldr r2, [r8] ldrb r0, [r2, r1] add r2, r2, r1 cmp r6, r0 bne _0205BA58 mov r1, r5 add r0, r2, #0x14 bl sub_0205B560 cmp r0, #0 movne r0, r4 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _0205BA58: add r4, r4, #1 _0205BA5C: cmp r4, #0x20 blt _0205BA28 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205BA6C: .word _020B0A54 arm_func_end sub_0205BA0C arm_func_start sub_0205BA70 sub_0205BA70: ; 0x0205BA70 ldr r1, _0205BAAC ; =_020B0A54 mov r3, #0 ldr ip, [r1] mov r1, #0xb0 b _0205BA9C _0205BA84: mul r2, r3, r1 ldrb r2, [ip, r2] cmp r0, r2 moveq r0, r3 bxeq lr add r3, r3, #1 _0205BA9C: cmp r3, #0x20 blt _0205BA84 mvn r0, #0 bx lr .align 2, 0 _0205BAAC: .word _020B0A54 arm_func_end sub_0205BA70 arm_func_start sub_0205BAB0 sub_0205BAB0: ; 0x0205BAB0 stmdb sp!, {r4, lr} ldr r1, _0205BB74 ; =_020B0A54 mov r4, #1 ldr r3, [r1] mov r2, #0 strb r4, [r3] ldr r3, [r1] ldr r1, [r0] ldr r0, [r0, #4] str r1, [r3, #4] str r0, [r3, #8] str r2, [r3, #0xc] str r2, [r3, #0x10] bl sub_02063504 mov r4, r0 bl Rand16Bit orr r0, r0, r4, lsl #16 bl sub_020510E8 bl sub_02051134 ldr r1, _0205BB74 ; =_020B0A54 ldr r1, [r1] str r0, [r1, #0x18] bl sub_020634F4 ldr r1, _0205BB78 ; =_022B57BC ldr r0, _0205BB74 ; =_020B0A54 ldr r1, [r1] ldr r0, [r0] str r1, [r0, #0x14] bl GetLanguageType ldr r1, _0205BB74 ; =_020B0A54 ldr r2, [r1] strb r0, [r2, #0x1c] ldr r0, [r1] add r0, r0, #0x1d bl GetTeamNameCheck ldr r0, _0205BB74 ; =_020B0A54 ldr r0, [r0] ldrb r0, [r0, #4] bl GetMaxRescueAttempts ldr r1, _0205BB74 ; =_020B0A54 ldr r1, [r1] strb r0, [r1, #0xac] mov r0, #2 bl RandInt ldr r1, _0205BB74 ; =_020B0A54 orr r2, r0, #2 ldr r0, [r1] strb r2, [r0, #0xae] ldmia sp!, {r4, pc} .align 2, 0 _0205BB74: .word _020B0A54 _0205BB78: .word _022B57BC arm_func_end sub_0205BAB0 arm_func_start sub_0205BB7C sub_0205BB7C: ; 0x0205BB7C ldr r3, _0205BBA0 ; =_020B0A54 mov r2, #0xb0 ldr r3, [r3] mla r3, r1, r2, r3 ldr r2, [r3, #4] ldr r1, [r3, #8] str r2, [r0] str r1, [r0, #4] bx lr .align 2, 0 _0205BBA0: .word _020B0A54 arm_func_end sub_0205BB7C arm_func_start sub_0205BBA4 sub_0205BBA4: ; 0x0205BBA4 ldr r1, _0205BBF8 ; =_020B0A54 ldr r3, [r1] ldrb r1, [r3] cmp r1, #1 bne _0205BBF0 ldr r1, [r3, #0x10] ldr r2, [r3, #0xc] cmp r1, #0 mov r1, #0 cmpeq r2, #2 movhs r1, #1 tst r1, #0xff beq _0205BBF0 cmp r0, #0 addne r1, r3, #0xc ldmneia r1, {r2, r3} stmneia r0, {r2, r3} mov r0, #1 bx lr _0205BBF0: mov r0, #0 bx lr .align 2, 0 _0205BBF8: .word _020B0A54 arm_func_end sub_0205BBA4 arm_func_start sub_0205BBFC sub_0205BBFC: ; 0x0205BBFC stmdb sp!, {r4, lr} ldr r1, _0205BC2C ; =_020B0A54 mov r4, r0 ldr lr, [r1, #8] mov ip, #4 _0205BC10: ldmia lr!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0205BC10 ldr r0, [lr] str r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 _0205BC2C: .word _020B0A54 arm_func_end sub_0205BBFC arm_func_start sub_0205BC30 sub_0205BC30: ; 0x0205BC30 stmdb sp!, {r4, lr} mov r4, r1 cmp r0, #0 bne _0205BC58 ldr r0, _0205BC90 ; =_020B0A54 mov r1, #0 ldr r0, [r0, #8] mov r2, #0x44 bl MemsetSimple ldmia sp!, {r4, pc} _0205BC58: ldr r2, _0205BC90 ; =_020B0A54 mov r1, r0 ldr r0, [r2, #8] bl sub_02055F04 cmp r4, #0 ldmneia sp!, {r4, pc} ldr r0, _0205BC90 ; =_020B0A54 ldr r0, [r0, #8] ldrb r0, [r0, #2] bl sub_02051788 ldr r1, _0205BC90 ; =_020B0A54 ldr r1, [r1, #8] strb r0, [r1, #2] ldmia sp!, {r4, pc} .align 2, 0 _0205BC90: .word _020B0A54 arm_func_end sub_0205BC30 arm_func_start sub_0205BC94 sub_0205BC94: ; 0x0205BC94 ldr r1, _0205BCC0 ; =_020B0A54 mov r2, #1 ldr r3, [r1, #8] ldrh r1, [r3, #0x44] strh r1, [r0] ldrh r1, [r3, #0x46] strh r1, [r0, #2] ldrh r1, [r3, #0x48] strh r1, [r0, #4] strb r2, [r0] bx lr .align 2, 0 _0205BCC0: .word _020B0A54 arm_func_end sub_0205BC94 arm_func_start sub_0205BCC4 sub_0205BCC4: ; 0x0205BCC4 stmdb sp!, {r3, lr} cmp r0, #0 bne _0205BCEC ldr r0, _0205BD10 ; =_020B0A54 mov r1, #0 ldr r0, [r0, #8] mov r2, #6 add r0, r0, #0x44 bl MemsetSimple ldmia sp!, {r3, pc} _0205BCEC: ldr r1, _0205BD10 ; =_020B0A54 ldrh r2, [r0] ldr r3, [r1, #8] strh r2, [r3, #0x44] ldrh r1, [r0, #2] strh r1, [r3, #0x46] ldrh r0, [r0, #4] strh r0, [r3, #0x48] ldmia sp!, {r3, pc} .align 2, 0 _0205BD10: .word _020B0A54 arm_func_end sub_0205BCC4 arm_func_start sub_0205BD14 sub_0205BD14: ; 0x0205BD14 stmdb sp!, {r4, lr} ldr r3, _0205BD3C ; =_020B0A54 mov r2, #0xb0 ldr r3, [r3] mov r4, r0 mla r0, r1, r2, r3 ldrb r0, [r0, #0xae] bl sub_0205BD40 str r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 _0205BD3C: .word _020B0A54 arm_func_end sub_0205BD14 arm_func_start sub_0205BD40 sub_0205BD40: ; 0x0205BD40 tst r0, #2 movne r0, #0 bxne lr tst r0, #1 movne r0, #2 moveq r0, #1 bx lr arm_func_end sub_0205BD40 arm_func_start sub_0205BD5C sub_0205BD5C: ; 0x0205BD5C stmdb sp!, {r3, lr} bl sub_0205BD40 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0205BD5C arm_func_start sub_0205BD78 sub_0205BD78: ; 0x0205BD78 stmdb sp!, {r3, lr} mov r0, #2 bl RandInt orr r0, r0, #2 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_0205BD78 arm_func_start sub_0205BD90 sub_0205BD90: ; 0x0205BD90 and r0, r0, #1 orr r0, r0, #2 bx lr arm_func_end sub_0205BD90 arm_func_start sub_0205BD9C sub_0205BD9C: ; 0x0205BD9C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 ldr r1, _0205BFA8 ; =_022B57BC add r0, sp, #0 mov r2, #0x20 bl CopyBitsFrom ldr r5, _0205BFAC ; =_020B0A54 mov r7, #0 add r6, sp, #0 mov r4, #0xb0 _0205BDD8: ldr r1, [r5] mov r0, r6 mla r1, r7, r4, r1 bl sub_0205C19C add r7, r7, #1 cmp r7, #0x20 blt _0205BDD8 ldr r0, _0205BFAC ; =_020B0A54 mov r1, #0 ldr r4, [r0, #8] mov r2, #0x44 mov r0, r4 bl memset add r0, sp, #0 mov r1, r4 mov r2, #4 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #1 mov r2, #7 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #2 bl Copy16BitsFrom add r0, sp, #0 add r1, r4, #4 mov r2, #0xb bl CopyBitsFrom add r0, sp, #0 add r1, r4, #6 bl sub_02059AE8 add r0, sp, #0 add r1, r4, #7 bl sub_02059AE8 add r0, sp, #0 add r1, r4, #8 mov r2, #0xa bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0xa mov r2, #0xa bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0xc mov r2, #8 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0xd mov r2, #8 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0xe mov r2, #8 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0xf mov r2, #8 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0x10 mov r2, #0x18 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0x14 mov r2, #0x45 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0x20 mov r2, #4 bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0x22 bl CopyMovesetFrom add r0, sp, #0 add r1, r4, #0x3a mov r2, #0x50 bl CopyBitsFrom ldr r0, _0205BFAC ; =_020B0A54 mov r1, #0 ldr r4, [r0, #8] mov r2, #6 add r0, r4, #0x44 bl memset add r0, sp, #0 add r1, r4, #0x46 mov r2, #0xb bl CopyBitsFrom add r0, sp, #0 add r1, r4, #0x48 mov r2, #0xb bl CopyBitsFrom ldr r1, _0205BFAC ; =_020B0A54 add r0, sp, #0 ldr r1, [r1, #4] mov r2, #0x20 bl CopyBitsFrom ldr r4, _0205BFAC ; =_020B0A54 mov r7, #0 add r6, sp, #0 mov r5, #0x40 _0205BF68: ldr r1, [r4, #4] mov r0, r6 add r1, r1, #4 mov r2, r5 add r1, r1, r7, lsl #3 bl CopyBitsFrom add r7, r7, #1 cmp r7, #0x20 blt _0205BF68 add r0, sp, #0 bl sub_020509BC bl Rand16Bit bl sub_020634F4 ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0205BFA8: .word _022B57BC _0205BFAC: .word _020B0A54 arm_func_end sub_0205BD9C arm_func_start sub_0205BFB0 sub_0205BFB0: ; 0x0205BFB0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 ldr r1, _0205C194 ; =_022B57BC add r0, sp, #0 mov r2, #0x20 bl CopyBitsTo ldr r5, _0205C198 ; =_020B0A54 mov r7, #0 add r6, sp, #0 mov r4, #0xb0 _0205BFEC: ldr r1, [r5] mov r0, r6 mla r1, r7, r4, r1 bl sub_0205C440 add r7, r7, #1 cmp r7, #0x20 blt _0205BFEC ldr r1, _0205C198 ; =_020B0A54 add r0, sp, #0 ldr r4, [r1, #8] mov r2, #4 mov r1, r4 bl CopyBitsTo add r0, sp, #0 add r1, r4, #1 mov r2, #7 bl CopyBitsTo add r0, sp, #0 add r1, r4, #2 bl sub_020515C4 add r0, sp, #0 add r1, r4, #4 mov r2, #0xb bl CopyBitsTo add r0, sp, #0 add r1, r4, #6 bl sub_02059AF8 add r0, sp, #0 add r1, r4, #7 bl sub_02059AF8 add r0, sp, #0 add r1, r4, #8 mov r2, #0xa bl CopyBitsTo add r0, sp, #0 add r1, r4, #0xa mov r2, #0xa bl CopyBitsTo add r0, sp, #0 add r1, r4, #0xc mov r2, #8 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0xd mov r2, #8 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0xe mov r2, #8 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0xf mov r2, #8 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0x10 mov r2, #0x18 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0x14 mov r2, #0x45 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0x20 mov r2, #4 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0x22 bl CopyMovesetTo add r0, sp, #0 add r1, r4, #0x3a mov r2, #0x50 bl CopyBitsTo ldr r1, _0205C198 ; =_020B0A54 add r0, sp, #0 ldr r4, [r1, #8] mov r2, #0xb add r1, r4, #0x46 bl CopyBitsTo add r0, sp, #0 add r1, r4, #0x48 mov r2, #0xb bl CopyBitsTo ldr r1, _0205C198 ; =_020B0A54 add r0, sp, #0 ldr r1, [r1, #4] mov r2, #0x20 bl CopyBitsTo ldr r4, _0205C198 ; =_020B0A54 mov r7, #0 add r6, sp, #0 mov r5, #0x40 _0205C15C: ldr r1, [r4, #4] mov r0, r6 add r1, r1, #4 mov r2, r5 add r1, r1, r7, lsl #3 bl CopyBitsTo add r7, r7, #1 cmp r7, #0x20 blt _0205C15C add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0205C194: .word _022B57BC _0205C198: .word _020B0A54 arm_func_end sub_0205BFB0 arm_func_start sub_0205C19C sub_0205C19C: ; 0x0205C19C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #4 bl Copy16BitsFrom mov r0, r5 add r1, r4, #8 mov r2, #0x18 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xc mov r2, #0x40 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x14 mov r2, #0x40 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x1c mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x1d mov r2, #0x50 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x32 mov r2, #0x120 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x56 mov r2, #0x240 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xa0 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #0xa2 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #0xa4 mov r2, #0x40 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xac mov r2, #8 bl CopyBitsFrom mov r0, r5 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] add r1, r4, #0xae mov r2, #2 cmp r0, #0 movne r3, #1 moveq r3, #0 mov r0, r5 strb r3, [r4, #0xad] bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205C19C arm_func_start sub_0205C2A4 sub_0205C2A4: ; 0x0205C2A4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #4 bl sub_02051648 ldrb r0, [r4] cmp r0, #1 movne r0, #0 strne r0, [r4, #8] bne _0205C2EC mov r0, r5 add r1, r4, #8 mov r2, #0x18 bl CopyBitsFrom _0205C2EC: mov r3, #0 str r3, [r4, #0xc] mov r0, r5 add r1, r4, #0x14 mov r2, #0x40 str r3, [r4, #0x10] bl CopyBitsFrom mov r0, r5 add r1, r4, #0x1c mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x1d mov r2, #0x50 bl CopyBitsFrom ldrb r0, [r4] cmp r0, #1 moveq r0, #0 streqh r0, [r4, #0xa0] streqh r0, [r4, #0xa2] beq _0205C360 mov r0, r5 add r1, r4, #0xa0 mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #0xa2 mov r2, #0xa bl CopyBitsFrom _0205C360: mov r0, r5 add r1, r4, #0xa4 mov r2, #0x40 bl CopyBitsFrom ldrb r0, [r4, #4] bl GetMaxRescueAttempts strb r0, [r4, #0xac] mov r2, #1 add r1, sp, #0 mov r0, r5 strb r2, [r4, #0xad] bl CopyBitsFrom ldrb r0, [sp] add r1, sp, #0 cmp r0, #0 moveq r2, #0 movne r2, #1 strb r2, [r4, #0xae] mov r0, r5 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] cmp r0, #1 moveq r1, #2 ldrb r0, [r4, #0xae] movne r1, #0 orr r0, r0, r1 strb r0, [r4, #0xae] ldrb r0, [r4] cmp r0, #1 beq _0205C438 ldrb r0, [r4, #0xae] bl sub_0205BD40 cmp r0, #0 moveq r0, #1 movne r0, #0 tst r0, #0xff beq _0205C438 add r1, sp, #4 mov r0, r5 mov r2, #1 bl CopyBitsFrom add r1, sp, #2 mov r0, r5 mov r2, #1 bl CopyBitsFrom ldrh r1, [r4, #0xa0] ldrh r0, [sp, #4] orr r0, r1, r0, lsl #10 strh r0, [r4, #0xa0] ldrsh r1, [r4, #0xa2] ldrsh r0, [sp, #2] orr r0, r1, r0, lsl #10 strh r0, [r4, #0xa2] _0205C438: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205C2A4 arm_func_start sub_0205C440 sub_0205C440: ; 0x0205C440 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #4 bl sub_020515C4 mov r0, r5 add r1, r4, #8 mov r2, #0x18 bl CopyBitsTo mov r0, r5 add r1, r4, #0xc mov r2, #0x40 bl CopyBitsTo mov r0, r5 add r1, r4, #0x14 mov r2, #0x40 bl CopyBitsTo mov r0, r5 add r1, r4, #0x1c mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #0x1d mov r2, #0x50 bl CopyBitsTo mov r0, r5 add r1, r4, #0x32 mov r2, #0x120 bl CopyBitsTo mov r0, r5 add r1, r4, #0x56 mov r2, #0x240 bl CopyBitsTo mov r0, r5 add r1, r4, #0xa0 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #0xa2 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #0xa4 mov r2, #0x40 bl CopyBitsTo mov r0, r5 add r1, r4, #0xac mov r2, #8 bl CopyBitsTo ldrb r0, [r4, #0xad] mov r2, #1 cmp r0, #1 ldreq r1, _0205C540 ; =_020A3673 mov r0, r5 ldrne r1, _0205C544 ; =_020A3670 bl CopyBitsTo mov r0, r5 add r1, r4, #0xae mov r2, #2 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205C540: .word _020A3673 _0205C544: .word _020A3670 arm_func_end sub_0205C440 arm_func_start sub_0205C548 sub_0205C548: ; 0x0205C548 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #4 bl sub_02051620 ldrb r0, [r4] cmp r0, #1 bne _0205C584 mov r0, r5 add r1, r4, #8 mov r2, #0x18 bl CopyBitsTo _0205C584: mov r0, r5 add r1, r4, #0x14 mov r2, #0x40 bl CopyBitsTo mov r0, r5 add r1, r4, #0x1c mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #0x1d mov r2, #0x50 bl CopyBitsTo ldrb r0, [r4] cmp r0, #1 beq _0205C5E0 mov r0, r5 add r1, r4, #0xa0 mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #0xa2 mov r2, #0xa bl CopyBitsTo _0205C5E0: mov r0, r5 add r1, r4, #0xa4 mov r2, #0x40 bl CopyBitsTo ldrb r0, [r4, #0xae] mov r2, #1 tst r0, #1 ldreq r1, _0205C680 ; =_020A3671 mov r0, r5 ldrne r1, _0205C684 ; =_020A3672 bl CopyBitsTo ldr r1, _0205C684 ; =_020A3672 mov r0, r5 mov r2, #1 bl CopyBitsTo ldrb r0, [r4] cmp r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0xae] bl sub_0205BD40 cmp r0, #0 moveq r0, #1 movne r0, #0 tst r0, #0xff ldmeqia sp!, {r3, r4, r5, pc} ldrh r2, [r4, #0xa0] add r1, sp, #2 mov r0, r5 mov r2, r2, asr #0xa strh r2, [sp, #2] ldrsh r3, [r4, #0xa2] mov r2, #1 mov r3, r3, asr #0xa strh r3, [sp] bl CopyBitsTo add r1, sp, #0 mov r0, r5 mov r2, #1 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205C680: .word _020A3671 _0205C684: .word _020A3672 arm_func_end sub_0205C548 arm_func_start sub_0205C688 sub_0205C688: ; 0x0205C688 stmdb sp!, {r4, lr} mov r4, r1 bl sub_0205BD40 cmp r0, #0 moveq r0, #1 movne r0, #0 tst r0, #0xff bne _0205C6C4 mov r0, r4 bl sub_02054F18 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r4, pc} _0205C6C4: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end sub_0205C688 arm_func_start sub_0205C6CC sub_0205C6CC: ; 0x0205C6CC stmdb sp!, {r4, lr} mov r4, r1 bl sub_0205BD40 cmp r0, #0 moveq r0, #1 movne r0, #0 tst r0, #0xff mov r0, r4 bne _0205C6F8 bl IsMovesetValidInTimeDarkness ldmia sp!, {r4, pc} _0205C6F8: bl IsMovesetValid ldmia sp!, {r4, pc} arm_func_end sub_0205C6CC arm_func_start sub_0205C700 sub_0205C700: ; 0x0205C700 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 bl sub_0205C688 cmp r0, #0 beq _0205C72C mov r0, r5 mov r1, r4 bl sub_0205C6CC cmp r0, #0 bne _0205C734 _0205C72C: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205C734: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205C700 arm_func_start sub_0205C73C sub_0205C73C: ; 0x0205C73C ldr r1, _0205C750 ; =_022B6F10 ldr r0, _0205C754 ; =_020B0A60 ldr ip, _0205C758 ; =sub_020600CC str r1, [r0, #0x18] bx ip .align 2, 0 _0205C750: .word _022B6F10 _0205C754: .word _020B0A60 _0205C758: .word sub_020600CC arm_func_end sub_0205C73C arm_func_start sub_0205C75C sub_0205C75C: ; 0x0205C75C stmdb sp!, {r3, r4, r5, lr} ldr r4, _0205C850 ; =_020B0A60 mov r5, #0 _0205C768: ldr r1, [r4, #0x18] mov r0, r5, lsl #0x18 add r0, r1, r0, asr #19 bl ClearMissionData add r5, r5, #1 cmp r5, #8 blt _0205C768 ldr r4, _0205C850 ; =_020B0A60 mov r5, #0 _0205C78C: ldr r1, [r4, #0x18] mov r0, r5, lsl #0x18 add r1, r1, #0x100 add r0, r1, r0, asr #19 bl ClearMissionData add r5, r5, #1 cmp r5, #8 blt _0205C78C ldr r4, _0205C850 ; =_020B0A60 mov r5, #0 _0205C7B4: ldr r1, [r4, #0x18] mov r0, r5, lsl #0x18 add r1, r1, #0x200 add r0, r1, r0, asr #19 bl ClearMissionData add r5, r5, #1 cmp r5, #8 blt _0205C7B4 ldr r0, _0205C850 ; =_020B0A60 ldr r0, [r0, #0x18] add r0, r0, #0x300 bl ClearMissionData ldr r0, _0205C850 ; =_020B0A60 ldr r0, [r0, #0x18] add r0, r0, #0x320 bl ClearMissionData mov r0, #0 ldr r2, _0205C850 ; =_020B0A60 mov lr, #0xff mov ip, #1 mov r4, r0 mov r1, #0xc _0205C80C: mul r5, r0, r1 ldr r3, [r2, #0x18] add r0, r0, #1 add r3, r3, r5 strb lr, [r3, #0x340] ldr r3, [r2, #0x18] cmp r0, #0x10 add r3, r3, r5 strb ip, [r3, #0x341] ldr r3, [r2, #0x18] add r3, r3, r5 str r4, [r3, #0x344] ldr r3, [r2, #0x18] add r3, r3, r5 str r4, [r3, #0x348] blt _0205C80C ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205C850: .word _020B0A60 arm_func_end sub_0205C75C arm_func_start sub_0205C854 sub_0205C854: ; 0x0205C854 stmdb sp!, {r3, lr} ldrb r1, [r0] cmp r1, #4 movne r0, #0 ldmneia sp!, {r3, pc} bl IsMissionValid ldmia sp!, {r3, pc} arm_func_end sub_0205C854 arm_func_start sub_0205C870 sub_0205C870: ; 0x0205C870 cmp r0, #6 addls pc, pc, r0, lsl #2 b _0205C8D8 _0205C87C: ; jump table b _0205C898 ; case 0 b _0205C898 ; case 1 b _0205C898 ; case 2 b _0205C898 ; case 3 b _0205C898 ; case 4 b _0205C8B4 ; case 5 b _0205C8BC ; case 6 _0205C898: ldrsh r1, [r1] ldrsh r0, [r2] cmp r1, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr _0205C8B4: mov r0, #1 bx lr _0205C8BC: ldrsh r1, [r1] ldrsh r0, [r2] cmp r1, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr _0205C8D8: mov r0, #0 bx lr arm_func_end sub_0205C870 arm_func_start sub_0205C8E0 sub_0205C8E0: ; 0x0205C8E0 ldrb ip, [r0] ldrb r2, [r1] cmp ip, r2 movne r0, #0 bxne lr cmp ip, #0 bne _0205C910 ldrh r3, [r0, #2] ldrh r2, [r1, #2] cmp r3, r2 movne r0, #0 bxne lr _0205C910: cmp ip, #1 bne _0205C92C ldrsh r2, [r0, #2] ldrsh r0, [r1, #2] cmp r2, r0 movne r0, #0 bxne lr _0205C92C: mov r0, #1 bx lr arm_func_end sub_0205C8E0 arm_func_start sub_0205C934 sub_0205C934: ; 0x0205C934 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldrb r1, [r5, #1] ldrb r0, [r4, #1] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #2] ldrb r0, [r4, #2] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #5] ldrb r0, [r4, #5] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r5, #8] ldr r0, [r4, #8] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrsh r1, [r5, #0xe] ldrsh r0, [r4, #0xe] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrsh r1, [r5, #0x10] ldrsh r0, [r4, #0x10] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrsh r1, [r5, #0x12] ldrsh r0, [r4, #0x12] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrsh r1, [r5, #0x14] ldrsh r0, [r4, #0x14] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r5, #0x16] ldrb r1, [r4, #0x16] cmp r0, r1 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} add r1, r5, #0x18 add r2, r4, #0x18 bl sub_0205C870 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x1a add r1, r4, #0x1a bl sub_0205C8E0 cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205C934 arm_func_start IsMissionValid IsMissionValid: ; 0x0205CA40 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldrb r1, [r4, #1] cmp r1, #0xd blo _0205CA6C cmp r1, #0xe beq _0205CA6C ldr r0, _0205CF10 ; =_020A3728 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CA6C: cmp r1, #7 bne _0205CA94 ldrb r0, [r4, #4] bl GetMaxItemsAllowed cmp r0, #0 bne _0205CA94 ldr r0, _0205CF14 ; =_020A373C bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CA94: ldrb r2, [r4, #2] ldrb r1, [r4, #1] cmp r2, #0 moveq r0, #1 beq _0205CBC0 cmp r1, #0xe addls pc, pc, r1, lsl #2 b _0205CBB0 _0205CAB4: ; jump table b _0205CBB0 ; case 0 b _0205CAF0 ; case 1 b _0205CB04 ; case 2 b _0205CB18 ; case 3 b _0205CB2C ; case 4 b _0205CBB0 ; case 5 b _0205CB40 ; case 6 b _0205CBB0 ; case 7 b _0205CBB0 ; case 8 b _0205CB7C ; case 9 b _0205CB54 ; case 10 b _0205CB68 ; case 11 b _0205CBB0 ; case 12 b _0205CBB0 ; case 13 b _0205CB90 ; case 14 _0205CAF0: cmp r2, #4 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB04: cmp r2, #2 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB18: cmp r2, #4 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB2C: cmp r2, #1 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB40: cmp r2, #5 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB54: cmp r2, #8 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB68: cmp r2, #6 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB7C: cmp r2, #3 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CB90: cmp r2, #2 moveq r0, #0 beq _0205CBC0 cmp r2, #3 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff b _0205CBC0 _0205CBB0: cmp r2, #1 movlo r0, #1 movhs r0, #0 and r0, r0, #0xff _0205CBC0: cmp r0, #0 bne _0205CBD8 ldr r0, _0205CF18 ; =_020A3764 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CBD8: mov r0, r1 add r1, r4, #2 add r2, r4, #4 bl sub_0205CF58 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #1] ldrsh r2, [r4, #0xe] add r1, r4, #2 mov r3, #1 bl sub_0205D008 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #1] ldrsh r2, [r4, #0x10] add r1, r4, #2 mov r3, #0 bl sub_0205D008 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 bl sub_0205E1E8 cmp r0, #0 ldrnesh r2, [r4, #0xe] ldrnesh r1, [r4, #0x10] cmpne r1, r2 beq _0205CC60 ldr r0, _0205CF1C ; =_020A377C bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CC60: ldrb r0, [r4, #1] cmp r0, #0xb ldreqb r1, [r4, #2] cmpeq r1, #0 beq _0205CC84 cmp r0, #0xa ldreqb r1, [r4, #2] cmpeq r1, #6 bne _0205CCA4 _0205CC84: ldrsh r2, [r4, #0x12] add r1, r4, #2 mov r3, #0 bl sub_0205D008 cmp r0, #0 bne _0205CCC0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CCA4: ldrsh r1, [r4, #0x12] cmp r1, #0 beq _0205CCC0 ldr r0, _0205CF20 ; =_020A37A0 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CCC0: ldrb r0, [r4, #1] ldrsh r2, [r4, #0x14] add r1, r4, #2 bl sub_0205D11C cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r1, [r4, #0x16] cmp r1, #7 bne _0205CCF8 ldr r0, _0205CF24 ; =_020A37D0 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CCF8: cmp r1, #8 blo _0205CD10 ldr r0, _0205CF24 ; =_020A37D0 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CD10: cmp r1, #6 addls pc, pc, r1, lsl #2 b _0205CE1C _0205CD1C: ; jump table b _0205CE24 ; case 0 b _0205CD38 ; case 1 b _0205CD38 ; case 2 b _0205CD38 ; case 3 b _0205CD38 ; case 4 b _0205CE24 ; case 5 b _0205CD9C ; case 6 _0205CD38: ldrsh r1, [r4, #0x18] cmp r1, #0 bne _0205CD54 ldr r0, _0205CF28 ; =_020A37E8 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CD54: mov r0, r1 bl IsItemValidVeneer cmp r0, #0 bne _0205CD78 ldrsh r1, [r4, #0x18] ldr r0, _0205CF28 ; =_020A37E8 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CD78: ldrsh r0, [r4, #0x18] bl IsStorableItem cmp r0, #0 bne _0205CE24 ldrsh r1, [r4, #0x18] ldr r0, _0205CF2C ; =_020A3808 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CD9C: ldrsh r1, [r4, #0xe] cmp r1, #0 bne _0205CDB8 ldr r0, _0205CF30 ; =_020A3830 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CDB8: ldr r0, _0205CF34 ; =0x00000483 cmp r1, r0 blt _0205CDD4 ldr r0, _0205CF38 ; =_020A3854 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CDD4: ldrsh r0, [r4, #0x18] bl sub_02062B64 cmp r0, #0 beq _0205CDF8 ldrsh r1, [r4, #0x18] ldr r0, _0205CF3C ; =_020A387C bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CDF8: ldrb r0, [r4, #1] cmp r0, #0xb beq _0205CE24 ldrsh r0, [r4, #0x18] bl IsMonsterMissionAllowed cmp r0, #0 bne _0205CE24 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CE1C: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CE24: ldrb r1, [r4, #0x1a] cmp r1, #2 blo _0205CE40 ldr r0, _0205CF40 ; =_020A38B4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CE40: cmp r1, #0 bne _0205CE68 ldrh r2, [r4, #0x1c] cmp r2, #0x12 blo _0205CE68 ldr r0, _0205CF44 ; =_020A38D0 mov r1, r2 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CE68: cmp r1, #1 bne _0205CF08 ldrsh r0, [r4, #0x1c] ldr r1, _0205CF34 ; =0x00000483 cmp r0, r1 blt _0205CE90 ldr r0, _0205CF48 ; =_020A38F0 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CE90: bl sub_02062B64 cmp r0, #0 beq _0205CEB0 ldrsh r1, [r4, #0x1c] ldr r0, _0205CF4C ; =_020A3918 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CEB0: ldrsh r5, [r4, #0x1c] mov r0, r5 bl GetBaseForm cmp r5, r0 beq _0205CED8 ldr r0, _0205CF50 ; =_020A3954 mov r1, r5 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CED8: ldrb r0, [r4, #1] cmp r0, #0xe beq _0205CF08 mov r0, r5 bl IsMonsterMissionAllowed cmp r0, #0 bne _0205CF08 ldrsh r1, [r4, #0x1c] ldr r0, _0205CF54 ; =_020A3984 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205CF08: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205CF10: .word _020A3728 _0205CF14: .word _020A373C _0205CF18: .word _020A3764 _0205CF1C: .word _020A377C _0205CF20: .word _020A37A0 _0205CF24: .word _020A37D0 _0205CF28: .word _020A37E8 _0205CF2C: .word _020A3808 _0205CF30: .word _020A3830 _0205CF34: .word 0x00000483 _0205CF38: .word _020A3854 _0205CF3C: .word _020A387C _0205CF40: .word _020A38B4 _0205CF44: .word _020A38D0 _0205CF48: .word _020A38F0 _0205CF4C: .word _020A3918 _0205CF50: .word _020A3954 _0205CF54: .word _020A3984 arm_func_end IsMissionValid arm_func_start sub_0205CF58 sub_0205CF58: ; 0x0205CF58 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 cmp r7, #6 ldreqb r0, [r6] mov r5, r2 cmpeq r0, #4 beq _0205CFF4 cmp r7, #0xe beq _0205CFF4 ldrb r0, [r5] bl IsInvalidForMission cmp r0, #0 beq _0205CFA4 ldrb r1, [r5] ldr r0, _0205CFFC ; =_020A39C0 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0205CFA4: ldrb r4, [r5, #1] ldrb r2, [r5] mov r0, r7 mov r1, r6 bl sub_02063424 cmp r4, r0 ble _0205CFD4 ldr r0, _0205D000 ; =_020A39D4 mov r1, r4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0205CFD4: mov r0, r5 bl IsForbiddenFloor cmp r0, #0 beq _0205CFF4 ldr r0, _0205D004 ; =_020A39F0 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0205CFF4: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0205CFFC: .word _020A39C0 _0205D000: .word _020A39D4 _0205D004: .word _020A39F0 arm_func_end sub_0205CF58 arm_func_start sub_0205D008 sub_0205D008: ; 0x0205D008 stmdb sp!, {r4, r5, r6, lr} movs r4, r3 mov r6, r0 mov r5, r2 beq _0205D034 cmp r5, #0 bne _0205D034 ldr r0, _0205D104 ; =_020A3A08 bl DebugPrint0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0205D034: ldr r0, _0205D108 ; =0x00000483 cmp r5, r0 blt _0205D050 ldr r0, _0205D10C ; =_020A3A24 bl DebugPrint0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0205D050: mov r0, r5 bl GetBaseForm cmp r5, r0 beq _0205D074 ldr r0, _0205D110 ; =_020A3A44 mov r1, r5 bl DebugPrint0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0205D074: mov r0, r5 bl sub_02062B64 cmp r0, #0 beq _0205D098 ldr r0, _0205D114 ; =_020A3A6C mov r1, r5 bl DebugPrint0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0205D098: cmp r4, #0 beq _0205D0C4 add r0, r6, #0xfe and r0, r0, #0xff cmp r0, #3 bhi _0205D0C4 mov r0, r5 bl GetBodySize cmp r0, #1 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _0205D0C4: cmp r4, #0 cmpne r6, #0xa cmpne r6, #0xe cmpne r6, #0xb beq _0205D0FC mov r0, r5 bl IsMonsterMissionAllowed cmp r0, #0 bne _0205D0FC ldr r0, _0205D118 ; =_020A3AA0 mov r1, r5 bl DebugPrint0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0205D0FC: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0205D104: .word _020A3A08 _0205D108: .word 0x00000483 _0205D10C: .word _020A3A24 _0205D110: .word _020A3A44 _0205D114: .word _020A3A6C _0205D118: .word _020A3AA0 arm_func_end sub_0205D008 arm_func_start sub_0205D11C sub_0205D11C: ; 0x0205D11C stmdb sp!, {r3, r4, r5, lr} movs r4, r2 mov r5, r0 bne _0205D140 ldr r0, _0205D1E8 ; =_020A3AD4 mov r1, r4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205D140: mov r0, r4 bl IsValidTargetItem cmp r0, #0 beq _0205D164 ldr r0, _0205D1E8 ; =_020A3AD4 mov r1, r4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205D164: mov r0, r4 bl IsItemValidVeneer cmp r0, #0 bne _0205D188 ldr r0, _0205D1E8 ; =_020A3AD4 mov r1, r4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205D188: mov r0, r4 bl IsThrownItem cmp r0, #0 beq _0205D1C0 cmp r5, #4 bne _0205D1C0 cmp r4, #0xa cmpne r4, #9 beq _0205D1C0 ldr r0, _0205D1EC ; =_020A3AF4 mov r1, r4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0205D1C0: mov r0, r4 bl IsStorableItem cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0205D1F0 ; =_020A3B18 mov r1, r4 bl DebugPrint0 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205D1E8: .word _020A3AD4 _0205D1EC: .word _020A3AF4 _0205D1F0: .word _020A3B18 arm_func_end sub_0205D11C arm_func_start sub_0205D1F4 sub_0205D1F4: ; 0x0205D1F4 stmdb sp!, {r4, lr} mov r4, r0 bl IsMissionValid cmp r0, #0 beq _0205D214 ldrb r0, [r4] cmp r0, #9 blo _0205D21C _0205D214: mov r0, #0 ldmia sp!, {r4, pc} _0205D21C: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end sub_0205D1F4 arm_func_start GenerateMission GenerateMission: ; 0x0205D224 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov sb, r0 add r0, sp, #0x10 mov r8, r1 bl sub_0205F738 str r0, [sp] cmp r0, #0 bne _0205D258 mov r0, r8 bl ClearMissionData mov r0, #2 b _0205DF9C _0205D258: mov r0, #4 strb r0, [r8] ldrb r0, [sb, #0x20] strb r0, [r8, #1] ldrb r0, [sb, #0x21] strb r0, [r8, #2] ldrh r0, [sb, #8] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0205D414 _0205D280: ; jump table b _0205D298 ; case 0 b _0205D298 ; case 1 b _0205D414 ; case 2 b _0205D414 ; case 3 b _0205D414 ; case 4 b _0205D338 ; case 5 _0205D298: ldrh r0, [sb, #0xc] and r1, r0, #0xff strb r0, [sp, #4] strb r1, [sp, #5] ldrh r0, [sb, #8] cmp r0, #0 bne _0205D2C8 and r0, r1, #0xff bl sub_02062BB8 cmp r0, #0 moveq r5, #1 beq _0205D51C _0205D2C8: mov r0, r8 bl sub_0205E258 mov r3, r0 add r1, sp, #4 add r2, sp, #5 mov r0, #1 bl sub_02062C4C cmp r0, #0 bne _0205D304 mov r0, r8 bl sub_0205E258 cmp r0, #0 movne r5, #1 moveq r5, #2 b _0205D51C _0205D304: ldrb r0, [sb, #0x20] add r2, sp, #5 add r1, sb, #0x21 bl sub_0205CF58 cmp r0, #0 moveq r5, #1 beq _0205D51C ldrb r0, [sp, #5] mov r5, #0 strb r0, [r8, #4] ldrb r0, [sp, #6] strb r0, [r8, #5] b _0205D51C _0205D338: add r0, sp, #0xc bl sub_02062814 ldrb r1, [sb, #0x20] cmp r1, #3 ldreqb r1, [sb, #0x21] cmpeq r1, #3 movne r5, #1 bne _0205D51C mov r1, #0xf bl MemAlloc mov r7, r0 bl sub_0206282C movs r5, r0 bne _0205D380 mov r0, r7 bl MemFree mov r5, #1 b _0205D51C _0205D380: mov r0, r8 bl sub_0205E258 mov r3, r0 add r2, sp, #5 mov r0, r5 mov r1, r7 bl sub_02062C4C mov r6, r0 ldrb r0, [r8, #1] ldrb r2, [sp, #5] add r1, r8, #2 bl sub_02063424 strb r0, [sp, #6] add r5, sp, #5 b _0205D3D8 _0205D3BC: mov r0, r5 bl IsForbiddenFloor cmp r0, #0 beq _0205D3E4 ldrb r0, [sp, #6] sub r0, r0, #1 strb r0, [sp, #6] _0205D3D8: ldrb r0, [sp, #6] cmp r0, #0 bne _0205D3BC _0205D3E4: mov r0, r7 bl MemFree cmp r6, #0 ldrneb r0, [sp, #6] cmpne r0, #0 beq _0205D518 ldrb r0, [sp, #5] mov r5, #0 strb r0, [r8, #4] ldrb r0, [sp, #6] strb r0, [r8, #5] b _0205D51C _0205D414: ldr r0, _0205DFA4 ; =_020B0A60 mov r5, #1 ldr r6, [r0, #0xc] ldr r7, [r0, #8] cmp r6, #0 moveq r5, #2 beq _0205D51C mov r0, r8 bl sub_0205E258 mov r3, r0 add r2, sp, #5 mov r0, r6 mov r1, r7 bl sub_02062C4C cmp r0, #0 bne _0205D468 mov r0, r8 bl sub_0205E258 cmp r0, #0 moveq r5, #2 b _0205D51C _0205D468: ldrb r0, [r8, #1] cmp r0, #0xa addls pc, pc, r0, lsl #2 b _0205D4F8 _0205D478: ; jump table b _0205D4F8 ; case 0 b _0205D4F8 ; case 1 b _0205D4A4 ; case 2 b _0205D4A4 ; case 3 b _0205D4A4 ; case 4 b _0205D4A4 ; case 5 b _0205D4C8 ; case 6 b _0205D4B8 ; case 7 b _0205D4F8 ; case 8 b _0205D4F8 ; case 9 b _0205D4DC ; case 10 _0205D4A4: ldrb r0, [sp, #5] bl GetMaxMembersAllowed cmp r0, #4 movlt r5, #0 b _0205D4F8 _0205D4B8: ldrb r0, [sp, #5] bl GetMaxItemsAllowed cmp r0, #0 moveq r5, #0 _0205D4C8: add r0, sp, #5 bl sub_02062D40 cmp r0, #0 moveq r5, #0 b _0205D4F8 _0205D4DC: ldrb r0, [r8, #2] cmp r0, #4 bne _0205D4F8 ldrb r0, [sp, #5] bl GetMaxMembersAllowed cmp r0, #4 movlt r5, #0 _0205D4F8: cmp r5, #0 beq _0205D518 ldrb r0, [sp, #5] mov r5, #0 strb r0, [r8, #4] ldrb r0, [sp, #6] strb r0, [r8, #5] b _0205D51C _0205D518: mov r5, #1 _0205D51C: cmp r5, #0 beq _0205D534 mov r0, r8 bl ClearMissionData mov r0, r5 b _0205DF9C _0205D534: bl sub_02051134 bic r0, r0, #0xff000000 str r0, [r8, #8] mov r0, #0 str r0, [sp, #8] ldrh r0, [sb, #0xe] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0205D7E4 _0205D558: ; jump table b _0205D56C ; case 0 b _0205D56C ; case 1 b _0205D62C ; case 2 b _0205D6F8 ; case 3 b _0205D77C ; case 4 _0205D56C: ldrsh r5, [sb, #0x12] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r5 mov r3, #1 bl sub_0205D008 cmp r0, #0 moveq r4, #1 beq _0205DB40 ldrb r0, [sb, #0x20] cmp r0, #0xb ldreqb r0, [sb, #0x21] cmpeq r0, #0 bne _0205D5F0 ldr r0, _0205DFA8 ; =0x000001EA cmp r5, r0 addne r0, r0, #0x258 cmpne r5, r0 movne r1, #1 moveq r1, #0 mov r0, r5 and r1, r1, #0xff bl CanMonsterBeUsedForMission cmp r0, #0 moveq r4, #1 beq _0205DB40 strh r5, [r8, #0xe] ldrh r0, [sb, #0x18] mov r4, #0 strh r0, [r8, #0x10] ldrh r0, [sb, #0x1e] strh r0, [r8, #0x12] b _0205DB40 _0205D5F0: ldrh r0, [sb, #0xe] cmp r0, #0 mov r0, r5 bne _0205D614 bl CanMonsterBeUsedForMissionWrapper cmp r0, #0 bne _0205D624 mov r4, #1 b _0205DB40 _0205D614: bl sub_02062AD0 cmp r0, #0 moveq r4, #1 beq _0205DB40 _0205D624: strh r5, [r8, #0xe] b _0205D7E4 _0205D62C: add r0, sp, #8 add r1, sb, #0xe bl sub_0205DFAC movs r4, r0 bne _0205D658 ldr r0, [sp, #8] bl MemFree mov r0, #0 str r0, [sp, #8] mov r4, #1 b _0205DB40 _0205D658: bl RandInt mov r1, r0, lsl #1 ldr r2, [sp, #8] ldrb r0, [sb, #0x20] ldrsh r5, [r2, r1] add r1, sb, #0x21 mov r3, #1 mov r2, r5 bl sub_0205D008 cmp r0, #0 bne _0205D69C ldr r0, [sp, #8] bl MemFree mov r0, #0 str r0, [sp, #8] mov r4, #1 b _0205DB40 _0205D69C: ldrh r1, [sb, #0xe] ldrh r0, [sb, #0x14] cmp r1, r0 ldreqh r1, [sb, #0x10] ldreqh r0, [sb, #0x16] cmpeq r1, r0 ldreqh r1, [sb, #0x12] ldreqh r0, [sb, #0x18] cmpeq r1, r0 beq _0205D6D8 ldr r0, [sp, #8] mov r4, #0 bl MemFree mov r0, r4 str r0, [sp, #8] _0205D6D8: strh r5, [r8, #0xe] ldrb r0, [r8, #5] tst r0, #1 bne _0205D7E4 ldrsh r0, [r8, #0xe] bl GetSecondFormIfValid strh r0, [r8, #0xe] b _0205D7E4 _0205D6F8: ldrh r4, [sb, #0x10] bl sub_020627F4 ldrh r1, [sb, #0x12] add r1, r0, r1, lsl #1 mov r0, r4 str r1, [sp, #8] bl RandInt mov r1, r0, lsl #1 ldr r2, [sp, #8] ldrb r0, [sb, #0x20] ldrsh r4, [r2, r1] add r1, sb, #0x21 mov r3, #1 mov r2, r4 bl sub_0205D008 cmp r0, #0 moveq r4, #1 beq _0205DB40 mov r0, r4 bl sub_02062AD0 cmp r0, #0 moveq r4, #1 beq _0205DB40 strh r4, [r8, #0xe] ldrb r0, [r8, #5] tst r0, #1 bne _0205D770 ldrsh r0, [r8, #0xe] bl GetSecondFormIfValid strh r0, [r8, #0xe] _0205D770: mov r4, #0 str r4, [sp, #8] b _0205D7E4 _0205D77C: add r0, sp, #8 bl sub_0205F738 cmp r0, #0 moveq r4, #2 beq _0205DB40 bl RandIntSafe mov r1, r0, lsl #1 ldr r2, [sp, #8] ldrb r0, [sb, #0x20] ldrsh r4, [r2, r1] add r1, sb, #0x21 mov r3, #1 mov r2, r4 bl sub_0205D008 cmp r0, #0 moveq r4, #1 beq _0205DB40 strh r4, [r8, #0xe] ldrb r0, [r8, #5] tst r0, #1 bne _0205D7DC ldrsh r0, [r8, #0xe] bl GetSecondFormIfValid strh r0, [r8, #0xe] _0205D7DC: mov r4, #0 str r4, [sp, #8] _0205D7E4: mov r0, r8 bl sub_0205E1E8 cmp r0, #0 beq _0205D820 ldr r0, [sp, #8] cmp r0, #0 beq _0205D80C bl MemFree mov r0, #0 str r0, [sp, #8] _0205D80C: ldrsh r0, [r8, #0xe] mov r4, #0 strh r0, [r8, #0x10] strh r4, [r8, #0x12] b _0205DB40 _0205D820: ldrb r1, [r8, #1] cmp r1, #0xa ldreqb r0, [r8, #2] cmpeq r0, #6 beq _0205D844 cmp r1, #0xb ldreqb r0, [r8, #2] cmpeq r0, #0 bne _0205D84C _0205D844: mov sl, #2 b _0205D858 _0205D84C: mov r0, #0 strh r0, [r8, #0x12] mov sl, #1 _0205D858: mov r6, #0 add fp, sb, #0x14 b _0205DB34 _0205D864: mov r0, #6 mul r1, r6, r0 add r5, sb, r1 ldrh r0, [r5, #0x14] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0205DB30 _0205D880: ; jump table b _0205D89C ; case 0 b _0205D89C ; case 1 b _0205D938 ; case 2 b _0205DA30 ; case 3 b _0205DAC0 ; case 4 b _0205DB30 ; case 5 b _0205DAC0 ; case 6 _0205D89C: ldrsh r7, [r5, #0x18] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r7 mov r3, #0 bl sub_0205D008 cmp r0, #0 moveq r4, #1 beq _0205DB40 ldrb r0, [sb, #0x20] cmp r0, #0xa ldreqb r0, [sb, #0x21] cmpeq r0, #6 bne _0205D8F8 mov r0, r7 bl CanMonsterBeUsedForMissionWrapper cmp r0, #0 strneh r7, [r8, #0x10] ldrneh r0, [sb, #0x1e] moveq r4, #1 movne r4, #0 strneh r0, [r8, #0x12] b _0205DB40 _0205D8F8: ldrh r0, [r5, #0x14] cmp r0, #0 mov r0, r7 bne _0205D91C bl CanMonsterBeUsedForMissionWrapper cmp r0, #0 bne _0205D92C mov r4, #1 b _0205DB40 _0205D91C: bl sub_02062AD0 cmp r0, #0 moveq r4, #1 beq _0205DB40 _0205D92C: add r0, r8, r6, lsl #1 strh r7, [r0, #0x10] b _0205DB30 _0205D938: ldr r0, [sp, #8] cmp r0, #0 bne _0205D970 add r1, fp, r1 add r0, sp, #8 bl sub_0205DFAC movs r4, r0 bne _0205D970 ldr r0, [sp, #8] bl MemFree mov r0, #0 str r0, [sp, #8] mov r4, #1 b _0205DB40 _0205D970: mov r0, r4 bl RandInt ldr r1, [sp, #8] mov r0, r0, lsl #1 ldrsh r5, [r1, r0] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r5 mov r3, #0 bl sub_0205D008 cmp r0, #0 bne _0205D9B8 ldr r0, [sp, #8] bl MemFree mov r0, #0 str r0, [sp, #8] mov r4, #1 b _0205DB40 _0205D9B8: add r0, r6, #1 cmp r0, sl bge _0205D9F4 mov r0, #6 mla r0, r6, r0, sb ldrh r2, [r0, #0x14] ldrh r1, [r0, #0x1a] cmp r2, r1 ldreqh r2, [r0, #0x16] ldreqh r1, [r0, #0x1c] cmpeq r2, r1 ldreqh r1, [r0, #0x18] ldreqh r0, [r0, #0x1e] cmpeq r1, r0 beq _0205DA08 _0205D9F4: ldr r0, [sp, #8] mov r4, #0 bl MemFree mov r0, r4 str r0, [sp, #8] _0205DA08: add r1, r8, r6, lsl #1 strh r5, [r1, #0x10] ldrb r0, [r8, #5] tst r0, #1 bne _0205DB30 ldrsh r0, [r1, #0x10] bl GetSecondFormIfValid add r1, r8, r6, lsl #1 strh r0, [r1, #0x10] b _0205DB30 _0205DA30: ldrh r4, [r5, #0x16] bl sub_020627F4 ldrh r1, [r5, #0x18] add r0, r0, r1, lsl #1 str r0, [sp, #8] mov r0, r4 bl RandInt ldr r1, [sp, #8] mov r0, r0, lsl #1 ldrsh r4, [r1, r0] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r4 mov r3, #0 bl sub_0205D008 cmp r0, #0 moveq r4, #1 beq _0205DB40 mov r0, r4 bl sub_02062AD0 cmp r0, #0 moveq r4, #1 beq _0205DB40 add r1, r8, r6, lsl #1 strh r4, [r1, #0x10] ldrb r0, [r8, #5] tst r0, #1 bne _0205DAB0 ldrsh r0, [r1, #0x10] bl GetSecondFormIfValid add r1, r8, r6, lsl #1 strh r0, [r1, #0x10] _0205DAB0: mov r0, #0 str r0, [sp, #8] mov r4, r0 b _0205DB30 _0205DAC0: add r0, sp, #8 bl sub_0205F738 cmp r0, #0 moveq r4, #2 beq _0205DB40 bl RandIntSafe ldr r1, [sp, #8] mov r0, r0, lsl #1 ldrsh r5, [r1, r0] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r5 mov r3, #0 bl sub_0205D008 cmp r0, #0 moveq r4, #1 beq _0205DB40 add r1, r8, r6, lsl #1 strh r5, [r1, #0x10] ldrb r0, [r8, #5] tst r0, #1 bne _0205DB28 ldrsh r0, [r1, #0x10] bl GetSecondFormIfValid add r1, r8, r6, lsl #1 strh r0, [r1, #0x10] _0205DB28: mov r0, #0 str r0, [sp, #8] _0205DB30: add r6, r6, #1 _0205DB34: cmp r6, sl blt _0205D864 mov r4, #0 _0205DB40: cmp r4, #0 beq _0205DB58 mov r0, r8 bl ClearMissionData mov r0, r4 b _0205DF9C _0205DB58: ldrh r0, [sb, #2] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0205DD34 _0205DB68: ; jump table b _0205DB7C ; case 0 b _0205DB7C ; case 1 b _0205DBC4 ; case 2 b _0205DC74 ; case 3 b _0205DCB8 ; case 4 _0205DB7C: ldrsh r4, [sb, #6] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r4 bl sub_0205D11C cmp r0, #0 moveq r4, #1 beq _0205DD38 ldrh r0, [sb, #2] cmp r0, #0 bne _0205DBBC mov r0, r4 bl IsAvailableItem cmp r0, #0 moveq r4, #1 beq _0205DD38 _0205DBBC: strh r4, [r8, #0x14] b _0205DD34 _0205DBC4: ldrh r7, [sb, #4] ldrh sl, [sb, #6] mov r5, #0 bl sub_02062804 mov fp, r0 mov r0, r7, lsl #1 mov r1, #0xf bl MemAlloc mov r4, r0 mov r6, r5 add sl, fp, sl, lsl #1 b _0205DC18 _0205DBF4: mov r0, r6, lsl #1 ldrsh fp, [r0, sl] mov r0, fp bl IsAvailableItem cmp r0, #0 movne r0, r5, lsl #1 strneh fp, [r4, r0] addne r5, r5, #1 add r6, r6, #1 _0205DC18: cmp r6, r7 blt _0205DBF4 cmp r5, #0 bne _0205DC38 mov r0, r4 bl MemFree mov r4, #1 b _0205DD38 _0205DC38: mov r0, r5 bl RandIntSafe mov r1, r0, lsl #1 mov r0, r4 ldrsh r4, [r4, r1] bl MemFree ldrb r0, [sb, #0x20] mov r2, r4 add r1, sb, #0x21 bl sub_0205D11C cmp r0, #0 moveq r4, #1 beq _0205DD38 strh r4, [r8, #0x14] b _0205DD34 _0205DC74: ldrh r5, [sb, #4] ldrh r4, [sb, #6] bl sub_02062804 add r4, r0, r4, lsl #1 mov r0, r5 bl RandIntSafe mov r0, r0, lsl #1 ldrsh r4, [r4, r0] ldrb r0, [sb, #0x20] add r1, sb, #0x21 mov r2, r4 bl sub_0205D11C cmp r0, #0 moveq r4, #1 beq _0205DD38 strh r4, [r8, #0x14] b _0205DD34 _0205DCB8: ldr r1, _0205DFA4 ; =_020B0A60 ldr r0, [r1, #4] ldr r4, [r1] cmp r0, #0 moveq r0, #0x46 beq _0205DCDC bl RandIntSafe mov r0, r0, lsl #1 ldrsh r0, [r4, r0] _0205DCDC: strh r0, [r8, #0x14] ldrsh r0, [r8, #0x14] cmp r0, #0 bne _0205DD34 ldrb r0, [r8, #1] add r0, r0, #0xfa and r0, r0, #0xff cmp r0, #1 movls r4, #1 bls _0205DD38 _0205DD04: ldrb r1, [r8, #1] add r0, r8, #4 add r2, r8, #0x14 bl sub_020630A4 ldrsh r0, [r8, #0x14] bl IsThrownItem cmp r0, #0 bne _0205DD04 ldrsh r0, [r8, #0x14] bl IsStorableItem cmp r0, #0 beq _0205DD04 _0205DD34: mov r4, #0 _0205DD38: cmp r4, #0 beq _0205DD50 mov r0, r8 bl ClearMissionData mov r0, r4 b _0205DF9C _0205DD50: ldrb r0, [r8, #4] cmp r0, #0x26 cmpne r0, #0x29 beq _0205DD70 ldrb r0, [r8, #4] bl GetMaxMembersAllowed cmp r0, #4 bge _0205DD80 _0205DD70: mov r0, #0 strb r0, [r8, #0x1a] strh r0, [r8, #0x1c] b _0205DD98 _0205DD80: ldr r0, [sp] ldr r1, [sp, #0x10] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 add r2, r8, #0x1a bl sub_02062900 _0205DD98: mov r4, #0 strb r4, [r8, #0xc] ldrb r0, [r8, #1] cmp r0, #0xe addls pc, pc, r0, lsl #2 b _0205DF84 _0205DDB0: ; jump table b _0205DF84 ; case 0 b _0205DF84 ; case 1 b _0205DF84 ; case 2 b _0205DDEC ; case 3 b _0205DF84 ; case 4 b _0205DF84 ; case 5 b _0205DE20 ; case 6 b _0205DF84 ; case 7 b _0205DF84 ; case 8 b _0205DE7C ; case 9 b _0205DE98 ; case 10 b _0205DED4 ; case 11 b _0205DF48 ; case 12 b _0205DF84 ; case 13 b _0205DF64 ; case 14 _0205DDEC: ldrb r1, [r8, #2] cmp r1, #1 beq _0205DE08 cmp r1, #2 beq _0205DE14 cmp r1, #3 b _0205DF84 _0205DE08: bl sub_0205FF80 strb r0, [r8, #0xc] b _0205DF84 _0205DE14: bl sub_0205FF80 strb r0, [r8, #0xc] b _0205DF84 _0205DE20: ldrb r0, [r8, #2] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0205DF84 _0205DE30: ; jump table b _0205DF84 ; case 0 b _0205DF84 ; case 1 b _0205DF84 ; case 2 b _0205DF84 ; case 3 b _0205DE44 ; case 4 _0205DE44: ldrb r6, [r8, #4] ldrb r0, [r8, #1] add r1, r8, #2 mov r2, r6 bl sub_02063424 mov r5, r0 mov r0, r6 mov r1, r5 mov r2, #1 bl sub_0205E090 cmp r0, #0 movne r4, #1 streqb r5, [r8, #5] b _0205DF84 _0205DE7C: ldrsh r0, [r8, #0x14] cmp r0, #0x49 ldrnesh r1, [r8, #0xe] ldrnesh r0, [r8, #0x10] cmpne r1, r0 moveq r4, #1 b _0205DF84 _0205DE98: ldrb r1, [r8, #2] cmp r1, #7 addls pc, pc, r1, lsl #2 b _0205DF84 _0205DEA8: ; jump table b _0205DF84 ; case 0 b _0205DF84 ; case 1 b _0205DF84 ; case 2 b _0205DF84 ; case 3 b _0205DF84 ; case 4 b _0205DF84 ; case 5 b _0205DEC8 ; case 6 b _0205DF84 ; case 7 _0205DEC8: bl sub_0205FF80 strb r0, [r8, #0xc] b _0205DF84 _0205DED4: ldrb r0, [r8, #2] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0205DF34 _0205DEE4: ; jump table b _0205DF34 ; case 0 b _0205DF34 ; case 1 b _0205DF34 ; case 2 b _0205DF34 ; case 3 b _0205DF34 ; case 4 b _0205DEFC ; case 5 _0205DEFC: ldrb r6, [r8, #4] ldrb r0, [r8, #1] add r1, r8, #2 mov r2, r6 bl sub_02063424 mov r5, r0 mov r0, r6 mov r1, r5 mov r2, #1 bl sub_0205E090 cmp r0, #0 movne r4, #1 bne _0205DF84 strb r5, [r8, #5] _0205DF34: ldrb r0, [r8, #1] ldrb r1, [r8, #2] bl sub_0205FF80 strb r0, [r8, #0xc] b _0205DF84 _0205DF48: ldrb r1, [r8, #2] bl sub_0205FF80 strb r0, [r8, #0xc] mov r0, r4 strb r0, [r8, #0x1a] strh r0, [r8, #0x1c] b _0205DF84 _0205DF64: ldrb r0, [r8, #2] cmp r0, #1 beq _0205DF7C cmp r0, #2 moveq r4, #1 b _0205DF84 _0205DF7C: strb r4, [r8, #0x1a] strh r4, [r8, #0x1c] _0205DF84: cmp r4, #0 moveq r0, #0 beq _0205DF9C mov r0, r8 bl ClearMissionData mov r0, r4 _0205DF9C: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205DFA4: .word _020B0A60 _0205DFA8: .word 0x000001EA arm_func_end GenerateMission arm_func_start sub_0205DFAC sub_0205DFAC: ; 0x0205DFAC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrh r6, [r1, #2] ldrh r8, [r1, #4] mov sl, r0 mov r7, #0 bl sub_020627F4 mov r4, r0 mov r0, r6, lsl #1 mov r1, #0xf bl MemAlloc mov sb, r0 mov r5, r7 add r4, r4, r8, lsl #1 b _0205E008 _0205DFE4: mov r0, r5, lsl #1 ldrsh r8, [r0, r4] mov r0, r8 bl CanMonsterBeUsedForMissionWrapper cmp r0, #0 movne r0, r7, lsl #1 strneh r8, [sb, r0] addne r7, r7, #1 add r5, r5, #1 _0205E008: cmp r5, r6 blt _0205DFE4 mov r0, r7 str sb, [sl] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_0205DFAC arm_func_start sub_0205E01C sub_0205E01C: ; 0x0205E01C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldrb ip, [r7] mov r6, r1 mov r5, r2 cmp ip, #0 mov r4, r3 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r5, #0 blt _0205E05C bl sub_0205E258 cmp r0, #0 beq _0205E070 cmp r4, #1 bne _0205E070 _0205E05C: ldrb r0, [r7, #4] cmp r0, r6 bne _0205E088 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0205E070: ldrb r0, [r7, #4] cmp r0, r6 ldreqb r0, [r7, #5] cmpeq r0, r5 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _0205E088: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0205E01C arm_func_start sub_0205E090 sub_0205E090: ; 0x0205E090 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 mov r5, r1 mov r4, r2 mov r8, #0 ldr r7, _0205E1E4 ; =_020B0A60 b _0205E0D4 _0205E0AC: ldr r0, [r7, #0x18] mov r1, r6 mov r2, r5 mov r3, r4 add r0, r0, r8, lsl #5 bl sub_0205E01C cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r8, r8, #1 _0205E0D4: cmp r8, #8 blt _0205E0AC mov r8, #0 ldr r7, _0205E1E4 ; =_020B0A60 b _0205E114 _0205E0E8: ldr r0, [r7, #0x18] mov r1, r6 add r0, r0, #0x100 mov r2, r5 mov r3, r4 add r0, r0, r8, lsl #5 bl sub_0205E01C cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r8, r8, #1 _0205E114: cmp r8, #8 blt _0205E0E8 mov r8, #0 ldr r7, _0205E1E4 ; =_020B0A60 b _0205E154 _0205E128: ldr r0, [r7, #0x18] mov r1, r6 add r0, r0, #0x200 mov r2, r5 mov r3, r4 add r0, r0, r8, lsl #5 bl sub_0205E01C cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r8, r8, #1 _0205E154: cmp r8, #8 blt _0205E128 mov r8, #0 ldr r7, _0205E1E4 ; =_020B0A60 b _0205E194 _0205E168: ldr r0, [r7, #0x18] mov r1, r6 add r0, r0, #0x300 mov r2, r5 mov r3, r4 add r0, r0, r8, lsl #5 bl sub_0205E01C cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r8, r8, #1 _0205E194: cmp r8, #1 blt _0205E168 mov r8, #0 ldr r7, _0205E1E4 ; =_020B0A60 b _0205E1D4 _0205E1A8: ldr r0, [r7, #0x18] mov r1, r6 add r0, r0, #0x320 mov r2, r5 mov r3, r4 add r0, r0, r8, lsl #5 bl sub_0205E01C cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r8, r8, #1 _0205E1D4: cmp r8, #1 blt _0205E1A8 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205E1E4: .word _020B0A60 arm_func_end sub_0205E090 arm_func_start sub_0205E1E8 sub_0205E1E8: ; 0x0205E1E8 stmdb sp!, {r3, lr} ldrb lr, [r0, #1] mov r3, #0 mov ip, #1 add r1, lr, #0xff and r2, r1, #0xff cmp r2, #0xd bhi _0205E214 ldr r1, _0205E234 ; =0x00002383 tst r1, ip, lsl r2 movne ip, r3 _0205E214: cmp ip, #0 beq _0205E22C cmp lr, #0xb ldreqb r0, [r0, #2] cmpeq r0, #0 movne r3, #1 _0205E22C: and r0, r3, #0xff ldmia sp!, {r3, pc} .align 2, 0 _0205E234: .word 0x00002383 arm_func_end sub_0205E1E8 arm_func_start sub_0205E238 sub_0205E238: ; 0x0205E238 ldrb r1, [r0, #1] cmp r1, #0xe ldreqb r0, [r0, #2] cmpeq r0, #2 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_0205E238 arm_func_start sub_0205E258 sub_0205E258: ; 0x0205E258 ldrb r2, [r0, #1] mov r3, #1 add r1, r2, #0xfe and r1, r1, #0xff cmp r1, #3 bls _0205E280 cmp r2, #0xa ldreqb r0, [r0, #2] cmpeq r0, #4 movne r3, #0 _0205E280: and r0, r3, #0xff bx lr arm_func_end sub_0205E258 arm_func_start sub_0205E288 sub_0205E288: ; 0x0205E288 ldrb r3, [r0] cmp r3, #0 moveq r0, #0 bxeq lr ldrb r3, [r0, #1] cmp r3, r1 ldreqb r1, [r0, #2] ldreqb r0, [r2] cmpeq r1, r0 moveq r0, #1 movne r0, #0 bx lr arm_func_end sub_0205E288 arm_func_start sub_0205E2B8 sub_0205E2B8: ; 0x0205E2B8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, r1 mov r7, #0 ldr r6, _0205E3F4 ; =_020B0A60 b _0205E2F4 _0205E2D0: ldr r0, [r6, #0x18] mov r1, r5 mov r2, r4 add r0, r0, r7, lsl #5 bl sub_0205E288 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r7, r7, #1 _0205E2F4: cmp r7, #8 blt _0205E2D0 mov r7, #0 ldr r6, _0205E3F4 ; =_020B0A60 b _0205E330 _0205E308: ldr r0, [r6, #0x18] mov r1, r5 add r0, r0, #0x100 mov r2, r4 add r0, r0, r7, lsl #5 bl sub_0205E288 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r7, r7, #1 _0205E330: cmp r7, #8 blt _0205E308 mov r7, #0 ldr r6, _0205E3F4 ; =_020B0A60 b _0205E36C _0205E344: ldr r0, [r6, #0x18] mov r1, r5 add r0, r0, #0x200 mov r2, r4 add r0, r0, r7, lsl #5 bl sub_0205E288 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r7, r7, #1 _0205E36C: cmp r7, #8 blt _0205E344 mov r7, #0 ldr r6, _0205E3F4 ; =_020B0A60 b _0205E3A8 _0205E380: ldr r0, [r6, #0x18] mov r1, r5 add r0, r0, #0x300 mov r2, r4 add r0, r0, r7, lsl #5 bl sub_0205E288 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r7, r7, #1 _0205E3A8: cmp r7, #1 blt _0205E380 mov r7, #0 ldr r6, _0205E3F4 ; =_020B0A60 b _0205E3E4 _0205E3BC: ldr r0, [r6, #0x18] mov r1, r5 add r0, r0, #0x320 mov r2, r4 add r0, r0, r7, lsl #5 bl sub_0205E288 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r7, r7, #1 _0205E3E4: cmp r7, #1 blt _0205E3BC mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0205E3F4: .word _020B0A60 arm_func_end sub_0205E2B8 arm_func_start sub_0205E3F8 sub_0205E3F8: ; 0x0205E3F8 stmdb sp!, {r3, lr} mov lr, r0 mov ip, #0 b _0205E438 _0205E408: ldrb r0, [r2, ip, lsl #5] mov r3, ip, lsl #5 cmp r0, #0 bne _0205E434 add ip, r2, r3 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} mov r0, #0 ldmia sp!, {r3, pc} _0205E434: add ip, ip, #1 _0205E438: cmp ip, r1 blt _0205E408 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_0205E3F8 arm_func_start sub_0205E448 sub_0205E448: ; 0x0205E448 stmdb sp!, {r4, lr} mov lr, #0 mov r4, lr mov r2, lr mov r3, #1 b _0205E47C _0205E460: ldrb ip, [r1, r4, lsl #5] add r4, r4, #1 cmp ip, #0 moveq ip, r3 movne ip, r2 tst ip, #0xff addeq lr, lr, #1 _0205E47C: cmp r4, r0 blt _0205E460 mov r0, lr ldmia sp!, {r4, pc} arm_func_end sub_0205E448 arm_func_start sub_0205E48C sub_0205E48C: ; 0x0205E48C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 mov r7, r0 mov r6, r1 mov r5, r4 b _0205E4B4 _0205E4A4: ldrb r0, [r6, r4, lsl #5] cmp r0, #0 bne _0205E4BC add r4, r4, #1 _0205E4B4: cmp r4, r7 blt _0205E4A4 _0205E4BC: cmp r4, r7 beq _0205E4F0 cmp r4, r5 ble _0205E4E4 add lr, r6, r4, lsl #5 add ip, r6, r5, lsl #5 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} _0205E4E4: add r4, r4, #1 add r5, r5, #1 b _0205E4B4 _0205E4F0: mov r0, #0 b _0205E500 _0205E4F8: strb r0, [r6, r5, lsl #5] add r5, r5, #1 _0205E500: cmp r5, r7 blt _0205E4F8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0205E48C arm_func_start sub_0205E50C sub_0205E50C: ; 0x0205E50C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 mov r8, r0 mov r7, r1 mov fp, r2 mov r5, #0 b _0205E5BC _0205E528: add r6, r5, #1 mov r4, r5, lsl #5 b _0205E5B0 _0205E534: ldrb r0, [r7, r6, lsl #5] mov r1, r6, lsl #5 cmp r0, #0 beq _0205E5AC ldrb r0, [r7, r4] cmp r0, #0 beq _0205E564 add r0, r7, r4 add r1, r7, r1 blx fp cmp r0, #0 beq _0205E5AC _0205E564: add sb, sp, #0 add ip, r7, r4 mov sl, sb ldmia ip!, {r0, r1, r2, r3} stmia sb!, {r0, r1, r2, r3} ldmia ip, {r0, r1, r2, r3} stmia sb, {r0, r1, r2, r3} add sb, r7, r6, lsl #5 mov ip, sb add lr, r7, r4 ldmia sb!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} ldmia sb, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} ldmia sl!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia sl, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} _0205E5AC: add r6, r6, #1 _0205E5B0: cmp r6, r8 blt _0205E534 add r5, r5, #1 _0205E5BC: sub r0, r8, #1 cmp r5, r0 blt _0205E528 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0205E50C arm_func_start GenerateDailyMissions GenerateDailyMissions: ; 0x0205E5D0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r0, #4 mov r1, #8 bl RandRangeSafe mov r7, r0 mov r0, #4 mov r1, #8 bl RandRangeSafe mov r8, r0 mov r0, #3 bl GetPerformanceFlagWithChecks cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r2, #0 ldr r0, _0205E948 ; =_020B0A60 mov r3, r2 _0205E610: ldr r1, [r0, #0x18] strb r3, [r1, r2, lsl #5] add r2, r2, #1 cmp r2, #8 blt _0205E610 ldr r0, _0205E948 ; =_020B0A60 mov r2, #0 _0205E62C: ldr r1, [r0, #0x18] add r1, r1, r3, lsl #5 add r3, r3, #1 strb r2, [r1, #0x200] cmp r3, #8 blt _0205E62C ldr r0, _0205E948 ; =_020B0A60 ldr r1, [r0, #0x18] strb r2, [r1, #0x300] ldr r0, [r0, #0x18] strb r2, [r0, #0x320] bl sub_02063504 mov r4, r0 bl Rand16Bit orr r0, r0, r4, lsl #16 bl sub_020510E8 bl GenerateAllPossibleMonstersList bl GenerateAllPossibleDungeonsList bl GenerateAllPossibleDeliverList mov r0, #3 bl sub_02062290 cmp r0, #0 beq _0205E70C mov sl, #0 mov r6, #0x1e mov fp, sl mov r5, #1 ldr r4, _0205E948 ; =_020B0A60 b _0205E704 _0205E6A0: ldr r0, [r4, #0x18] add r0, r0, #0x320 add sb, r0, sl, lsl #5 bl sub_02062578 cmp r0, #0 moveq r0, r5 beq _0205E6DC mov r1, sb bl GenerateMission cmp r0, #0 bne _0205E6DC mov r0, sb mov r1, fp bl sub_0206315C mov r0, #0 _0205E6DC: cmp r0, #2 beq _0205E70C cmp r0, #1 bne _0205E6FC sub r6, r6, #1 cmp r6, #0 ble _0205E70C b _0205E704 _0205E6FC: mov r6, #0x1e add sl, sl, #1 _0205E704: cmp sl, #0 ble _0205E6A0 _0205E70C: bl sub_02062548 mov r0, #2 bl sub_02062290 cmp r0, #0 beq _0205E7AC mov fp, #1 mov sb, #0 mov sl, #0x1e mov r5, fp ldr r4, _0205E948 ; =_020B0A60 b _0205E7A4 _0205E738: ldr r0, [r4, #0x18] add r0, r0, #0x300 add r6, r0, sb, lsl #5 bl sub_02062578 cmp r0, #0 moveq r0, r5 beq _0205E77C mov r1, r6 bl GenerateMission cmp r0, #0 bne _0205E77C mov r0, r6 mov r1, fp bl sub_0206315C mov r0, r6 bl sub_0205EB5C mov r0, #0 _0205E77C: cmp r0, #2 beq _0205E7AC cmp r0, #1 bne _0205E79C sub sl, sl, #1 cmp sl, #0 ble _0205E7AC b _0205E7A4 _0205E79C: mov sl, #0x1e add sb, sb, #1 _0205E7A4: cmp sb, #0 ble _0205E738 _0205E7AC: bl sub_02062548 mov r0, #0 bl sub_02062290 cmp r0, #0 beq _0205E840 mov sb, #0 mov sl, #0x1e mov fp, sb mov r5, #1 ldr r4, _0205E948 ; =_020B0A60 b _0205E838 _0205E7D8: ldr r0, [r4, #0x18] add r6, r0, sb, lsl #5 bl sub_02062578 cmp r0, #0 moveq r0, r5 beq _0205E810 mov r1, r6 bl GenerateMission cmp r0, #0 bne _0205E810 mov r0, r6 mov r1, fp bl sub_0206315C mov r0, #0 _0205E810: cmp r0, #2 beq _0205E840 cmp r0, #1 bne _0205E830 sub sl, sl, #1 cmp sl, #0 ble _0205E840 b _0205E838 _0205E830: mov sl, #0x1e add sb, sb, #1 _0205E838: cmp sb, r7 ble _0205E7D8 _0205E840: bl sub_02062548 mov r0, #1 bl sub_02062290 cmp r0, #0 beq _0205E8DC mov sb, #0 mov sl, #0x1e mov r5, sb mov fp, sb mov r6, #1 ldr r4, _0205E948 ; =_020B0A60 b _0205E8D4 _0205E870: ldr r0, [r4, #0x18] add r0, r0, #0x200 add r7, r0, sb, lsl #5 bl sub_02062578 cmp r0, #0 moveq r0, r6 beq _0205E8AC mov r1, r7 bl GenerateMission cmp r0, #0 bne _0205E8AC mov r0, r7 mov r1, r5 bl sub_0206315C mov r0, fp _0205E8AC: cmp r0, #2 beq _0205E8DC cmp r0, #1 bne _0205E8CC sub sl, sl, #1 cmp sl, #0 ble _0205E8DC b _0205E8D4 _0205E8CC: mov sl, #0x1e add sb, sb, #1 _0205E8D4: cmp sb, r8 ble _0205E870 _0205E8DC: bl sub_02062548 bl DeleteAllPossibleMonstersList bl DeleteAllPossibleDungeonsList bl DeleteAllPossibleDeliverList ldr r1, _0205E948 ; =_020B0A60 mov r0, #8 ldr r1, [r1, #0x18] bl sub_0205E48C mov r0, #8 ldr r1, _0205E948 ; =_020B0A60 ldr r2, _0205E94C ; =sub_0205E9A8 ldr r1, [r1, #0x18] bl sub_0205E50C mov r0, #8 ldr r1, _0205E948 ; =_020B0A60 ldr r1, [r1, #0x18] add r1, r1, #0x200 bl sub_0205E48C mov r0, #8 ldr r1, _0205E948 ; =_020B0A60 ldr r2, _0205E950 ; =sub_0205EB28 ldr r1, [r1, #0x18] add r1, r1, #0x200 bl sub_0205E50C bl sub_02051134 bl sub_020634F4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205E948: .word _020B0A60 _0205E94C: .word sub_0205E9A8 _0205E950: .word sub_0205EB28 arm_func_end GenerateDailyMissions arm_func_start sub_0205E954 sub_0205E954: ; 0x0205E954 ldr r1, _0205E968 ; =_020B0A60 ldr ip, _0205E96C ; =sub_0205E448 mov r0, #8 ldr r1, [r1, #0x18] bx ip .align 2, 0 _0205E968: .word _020B0A60 _0205E96C: .word sub_0205E448 arm_func_end sub_0205E954 arm_func_start sub_0205E970 sub_0205E970: ; 0x0205E970 ldr r1, _0205E980 ; =_020B0A60 ldr r1, [r1, #0x18] add r0, r1, r0, lsl #5 bx lr .align 2, 0 _0205E980: .word _020B0A60 arm_func_end sub_0205E970 arm_func_start sub_0205E984 sub_0205E984: ; 0x0205E984 ldr r1, _0205E9A4 ; =_020B0A60 ldr r1, [r1, #0x18] ldrb r0, [r1, r0, lsl #5] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205E9A4: .word _020B0A60 arm_func_end sub_0205E984 arm_func_start sub_0205E9A8 sub_0205E9A8: ; 0x0205E9A8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r2, [r5, #1] mov r4, r1 cmp r2, #3 ldreqb r0, [r5, #2] cmpeq r0, #3 bne _0205E9FC ldrb r0, [r5, #4] bl DungeonSwapIdToIdx bl GetDungeonMode cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhs r0, #1 movlo r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205E9FC: ldrb r1, [r4, #1] cmp r1, #3 ldreqb r0, [r4, #2] cmpeq r0, #3 bne _0205EA44 ldrb r0, [r4, #4] bl DungeonSwapIdToIdx bl GetDungeonMode cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhi r0, #1 movls r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205EA44: cmp r2, #8 cmpne r2, #5 bne _0205EA6C ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhs r0, #1 movlo r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205EA6C: cmp r1, #8 cmpne r1, #5 bne _0205EA94 ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhi r0, #1 movls r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205EA94: ldrb r1, [r4, #4] ldrb r0, [r5, #4] mov r2, #1 cmp r0, r1 bhi _0205EAC0 bne _0205EABC ldrb r1, [r5, #5] ldrb r0, [r4, #5] cmp r1, r0 bhi _0205EAC0 _0205EABC: mov r2, #0 _0205EAC0: and r0, r2, #0xff ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205E9A8 arm_func_start sub_0205EAC8 sub_0205EAC8: ; 0x0205EAC8 ldr r1, _0205EAE0 ; =_020B0A60 ldr ip, _0205EAE4 ; =sub_0205E448 ldr r1, [r1, #0x18] mov r0, #8 add r1, r1, #0x200 bx ip .align 2, 0 _0205EAE0: .word _020B0A60 _0205EAE4: .word sub_0205E448 arm_func_end sub_0205EAC8 arm_func_start sub_0205EAE8 sub_0205EAE8: ; 0x0205EAE8 ldr r1, _0205EAFC ; =_020B0A60 ldr r1, [r1, #0x18] add r1, r1, #0x200 add r0, r1, r0, lsl #5 bx lr .align 2, 0 _0205EAFC: .word _020B0A60 arm_func_end sub_0205EAE8 arm_func_start sub_0205EB00 sub_0205EB00: ; 0x0205EB00 ldr r1, _0205EB24 ; =_020B0A60 ldr r1, [r1, #0x18] add r0, r1, r0, lsl #5 ldrb r0, [r0, #0x200] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205EB24: .word _020B0A60 arm_func_end sub_0205EB00 arm_func_start sub_0205EB28 sub_0205EB28: ; 0x0205EB28 ldrb r3, [r1, #4] ldrb r2, [r0, #4] mov ip, #1 cmp r2, r3 bhi _0205EB54 bne _0205EB50 ldrb r2, [r0, #5] ldrb r0, [r1, #5] cmp r2, r0 bhi _0205EB54 _0205EB50: mov ip, #0 _0205EB54: and r0, ip, #0xff bx lr arm_func_end sub_0205EB28 arm_func_start sub_0205EB5C sub_0205EB5C: ; 0x0205EB5C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldrb r0, [r4, #1] cmp r0, #0xb cmpne r0, #0xe bne _0205EBCC mov r1, #0 add r0, sp, #0 str r1, [sp] bl sub_0205F738 mov r5, r0 cmp r5, #0 ldmleia sp!, {r3, r4, r5, pc} _0205EB90: mov r0, r5 bl RandInt ldrb r1, [r4, #1] ldr r2, [sp] mov r0, r0, lsl #1 cmp r1, #0xb ldrsh r0, [r2, r0] ldreqsh r1, [r4, #0xe] cmpeq r1, r0 bne _0205EBC4 cmp r5, #1 ldmleia sp!, {r3, r4, r5, pc} b _0205EB90 _0205EBC4: bl sub_02065B94 ldmia sp!, {r3, r4, r5, pc} _0205EBCC: ldrsh r0, [r4, #0xe] bl sub_02065B94 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205EB5C arm_func_start sub_0205EBD8 sub_0205EBD8: ; 0x0205EBD8 ldr r1, _0205EBEC ; =_020B0A60 ldr r1, [r1, #0x18] add r1, r1, #0x300 add r0, r1, r0, lsl #5 bx lr .align 2, 0 _0205EBEC: .word _020B0A60 arm_func_end sub_0205EBD8 arm_func_start sub_0205EBF0 sub_0205EBF0: ; 0x0205EBF0 ldr r1, _0205EC14 ; =_020B0A60 ldr r1, [r1, #0x18] add r0, r1, r0, lsl #5 ldrb r0, [r0, #0x300] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205EC14: .word _020B0A60 arm_func_end sub_0205EBF0 arm_func_start sub_0205EC18 sub_0205EC18: ; 0x0205EC18 ldr r1, _0205EC30 ; =_020B0A60 ldr ip, _0205EC34 ; =ClearMissionData ldr r1, [r1, #0x18] add r1, r1, #0x300 add r0, r1, r0, lsl #5 bx ip .align 2, 0 _0205EC30: .word _020B0A60 _0205EC34: .word ClearMissionData arm_func_end sub_0205EC18 arm_func_start sub_0205EC38 sub_0205EC38: ; 0x0205EC38 ldr r1, _0205EC4C ; =_020B0A60 ldr r1, [r1, #0x18] add r1, r1, #0x320 add r0, r1, r0, lsl #5 bx lr .align 2, 0 _0205EC4C: .word _020B0A60 arm_func_end sub_0205EC38 arm_func_start sub_0205EC50 sub_0205EC50: ; 0x0205EC50 ldr r1, _0205EC74 ; =_020B0A60 ldr r1, [r1, #0x18] add r0, r1, r0, lsl #5 ldrb r0, [r0, #0x320] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205EC74: .word _020B0A60 arm_func_end sub_0205EC50 arm_func_start sub_0205EC78 sub_0205EC78: ; 0x0205EC78 ldr r1, _0205EC90 ; =_020B0A60 ldr ip, _0205EC94 ; =ClearMissionData ldr r1, [r1, #0x18] add r1, r1, #0x320 add r0, r1, r0, lsl #5 bx ip .align 2, 0 _0205EC90: .word _020B0A60 _0205EC94: .word ClearMissionData arm_func_end sub_0205EC78 arm_func_start sub_0205EC98 sub_0205EC98: ; 0x0205EC98 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #0 ldr r4, _0205ECF0 ; =_020B0A60 b _0205ECE0 _0205ECAC: ldr r0, [r4, #0x18] mov r1, r5, lsl #5 add r2, r0, #0x100 ldrb r0, [r2, r5, lsl #5] cmp r0, #0 beq _0205ECDC mov r0, r6 add r1, r2, r1 bl sub_0205C934 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} _0205ECDC: add r5, r5, #1 _0205ECE0: cmp r5, #8 blt _0205ECAC mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0205ECF0: .word _020B0A60 arm_func_end sub_0205EC98 arm_func_start sub_0205ECF4 sub_0205ECF4: ; 0x0205ECF4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 ldrb r5, [r4, #4] ldrb r6, [r4, #5] mov r7, #0 bl sub_0205C854 cmp r0, #0 moveq r0, r7 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r4 bl sub_0205E258 cmp r0, #0 movne r7, #1 mov r4, #0 ldr r8, _0205ED80 ; =_020B0A60 b _0205ED70 _0205ED34: ldr r1, [r8, #0x18] add r0, r1, r4, lsl #5 ldrb r0, [r0, #0x100] cmp r0, #5 bne _0205ED6C add r0, r1, #0x100 mov r1, r5 mov r2, r6 mov r3, r7 add r0, r0, r4, lsl #5 bl sub_0205E01C cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _0205ED6C: add r4, r4, #1 _0205ED70: cmp r4, #8 blt _0205ED34 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0205ED80: .word _020B0A60 arm_func_end sub_0205ECF4 arm_func_start sub_0205ED84 sub_0205ED84: ; 0x0205ED84 ldr r1, _0205ED9C ; =_020B0A60 ldr ip, _0205EDA0 ; =sub_0205E448 ldr r1, [r1, #0x18] mov r0, #8 add r1, r1, #0x100 bx ip .align 2, 0 _0205ED9C: .word _020B0A60 _0205EDA0: .word sub_0205E448 arm_func_end sub_0205ED84 arm_func_start DungeonRequestsDone DungeonRequestsDone: ; 0x0205EDA4 stmdb sp!, {r4, lr} ldr r2, _0205EE0C ; =_020B0A60 mov ip, #0 ldr r2, [r2, #0x18] mov lr, ip add r3, r2, #0x100 _0205EDBC: mov r2, lr, lsl #0x18 add r4, r3, r2, asr #19 ldrb r2, [r4, #4] cmp r2, r0 bne _0205EDF8 cmp r1, #0 beq _0205EDE4 ldrb r2, [r4, #1] cmp r2, #0xc beq _0205EDF8 _0205EDE4: ldrb r2, [r4] add r2, r2, #0xfb and r2, r2, #0xff cmp r2, #3 addls ip, ip, #1 _0205EDF8: add lr, lr, #1 cmp lr, #8 blt _0205EDBC mov r0, ip ldmia sp!, {r4, pc} .align 2, 0 _0205EE0C: .word _020B0A60 arm_func_end DungeonRequestsDone arm_func_start DungeonRequestsDoneWrapper DungeonRequestsDoneWrapper: ; 0x0205EE10 ldr ip, _0205EE1C ; =DungeonRequestsDone mov r1, #0 bx ip .align 2, 0 _0205EE1C: .word DungeonRequestsDone arm_func_end DungeonRequestsDoneWrapper arm_func_start AnyDungeonRequestsDone AnyDungeonRequestsDone: ; 0x0205EE20 stmdb sp!, {r3, lr} mov r1, #1 bl DungeonRequestsDone cmp r0, #0 movgt r0, #1 movle r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end AnyDungeonRequestsDone arm_func_start sub_0205EE40 sub_0205EE40: ; 0x0205EE40 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc str r0, [sp] mov sl, r1 mov sb, r2 bl GetMaxMembersAllowed cmp r0, #1 bne _0205EE80 bl sub_020568A4 strh r0, [sp, #4] ldrsh r0, [sp, #4] cmp r0, #0 movlt r0, #1 blt _0205EFFC mov r4, #1 b _0205EE98 _0205EE80: add r0, sp, #4 bl GetPartyMembers mov r4, r0 cmp r4, #1 movlt r0, #1 blt _0205EFFC _0205EE98: mov r5, #0 strh r5, [sl] strh r5, [sb] _0205EEA4: ldr r1, _0205F004 ; =_020B0A60 mov r0, r5, lsl #0x18 ldr r1, [r1, #0x18] add r1, r1, #0x100 add r2, r1, r0, asr #19 ldrb r1, [r2, #4] ldr r0, [sp] cmp r1, r0 ldreqb r0, [r2] cmpeq r0, #5 bne _0205EFD8 ldrb r0, [r2, #0x1a] cmp r0, #0 bne _0205EF54 ldrh r8, [r2, #0x1c] cmp r8, #0 beq _0205EFD8 mov r6, #0 add fp, sp, #4 b _0205EF40 _0205EEF4: mov r0, r6, lsl #1 ldrsh r2, [fp, r0] ldr r0, _0205F008 ; =TEAM_MEMBER_TABLE_PTR mov r1, #0 ldr r3, [r0] mov r0, #0x44 smlabb r7, r2, r0, r3 ldrsh r0, [r7, #4] bl GetType cmp r8, r0 beq _0205EF34 ldrsh r0, [r7, #4] mov r1, #1 bl GetType cmp r8, r0 bne _0205EF3C _0205EF34: mov r8, #0 b _0205EF48 _0205EF3C: add r6, r6, #1 _0205EF40: cmp r6, r4 blt _0205EEF4 _0205EF48: cmp r8, #0 strneh r8, [sl] b _0205EFD8 _0205EF54: cmp r0, #1 bne _0205EFD8 ldrsh r6, [r2, #0x1c] mov r0, r6 bl GetBaseFormBurmyWormadamShellosGastrodonCherrim mov r7, r0 bl FemaleToMaleForm mov fp, r0 mov r0, r7 bl GetSecondFormIfValid mov r7, r0 cmp r6, #0 beq _0205EFD8 mov r8, #0 b _0205EFC8 _0205EF90: mov r1, r8, lsl #1 add r0, sp, #4 ldrsh r1, [r0, r1] ldr r0, _0205F008 ; =TEAM_MEMBER_TABLE_PTR ldr r2, [r0] mov r0, #0x44 smlabb r0, r1, r0, r2 ldrsh r0, [r0, #4] bl GetBaseFormBurmyWormadamShellosGastrodonCherrim cmp r0, fp cmpne r0, r7 moveq r6, #0 beq _0205EFD0 add r8, r8, #1 _0205EFC8: cmp r8, r4 blt _0205EF90 _0205EFD0: cmp r6, #0 strneh r6, [sb] _0205EFD8: add r5, r5, #1 cmp r5, #8 blt _0205EEA4 ldrh r0, [sl] cmp r0, #0 ldreqsh r0, [sb] cmpeq r0, #0 movne r0, #1 moveq r0, #0 _0205EFFC: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0205F004: .word _020B0A60 _0205F008: .word TEAM_MEMBER_TABLE_PTR arm_func_end sub_0205EE40 arm_func_start sub_0205F00C sub_0205F00C: ; 0x0205F00C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r2, _0205F0B4 ; =_020B0A60 mov ip, #0 ldr r2, [r2, #0x18] add r3, r2, #0x100 b _0205F0A0 _0205F028: mov r2, ip, lsl #0x18 add r4, r3, r2, asr #19 ldrb r2, [r4, #4] cmp r2, r0 ldreqb r2, [r4] cmpeq r2, #5 bne _0205F09C ldrb r2, [r4, #1] cmp r2, #2 cmpne r2, #3 cmpne r2, #4 cmpne r2, #5 beq _0205F06C cmp r2, #0xa ldreqb r2, [r4, #2] cmpeq r2, #4 bne _0205F09C _0205F06C: mov r2, #0xfa mov r0, #1 strb r2, [sp, #4] strb r0, [sp, #5] mov r2, #0 str r2, [sp] mov r0, r1 ldrsh r1, [r4, #0xe] add r3, sp, #4 bl sub_02052E2C mov r0, r4 b _0205F0AC _0205F09C: add ip, ip, #1 _0205F0A0: cmp ip, #8 blt _0205F028 mov r0, #0 _0205F0AC: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0205F0B4: .word _020B0A60 arm_func_end sub_0205F00C arm_func_start sub_0205F0B8 sub_0205F0B8: ; 0x0205F0B8 ldr r2, _0205F0D0 ; =_020B0A60 ldr ip, _0205F0D4 ; =sub_0205E3F8 ldr r2, [r2, #0x18] mov r1, #8 add r2, r2, #0x100 bx ip .align 2, 0 _0205F0D0: .word _020B0A60 _0205F0D4: .word sub_0205E3F8 arm_func_end sub_0205F0B8 arm_func_start GetAcceptedMission GetAcceptedMission: ; 0x0205F0D8 ldr r1, _0205F0EC ; =_020B0A60 ldr r1, [r1, #0x18] add r1, r1, #0x100 add r0, r1, r0, lsl #5 bx lr .align 2, 0 _0205F0EC: .word _020B0A60 arm_func_end GetAcceptedMission arm_func_start sub_0205F0F0 sub_0205F0F0: ; 0x0205F0F0 ldr r1, _0205F114 ; =_020B0A60 ldr r1, [r1, #0x18] add r0, r1, r0, lsl #5 ldrb r0, [r0, #0x100] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr .align 2, 0 _0205F114: .word _020B0A60 arm_func_end sub_0205F0F0 arm_func_start sub_0205F118 sub_0205F118: ; 0x0205F118 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r3, #0 mov r5, r1 strb r3, [r6] ldrsh r0, [r5, #0xe] mov r4, r2 strh r0, [r6, #2] strh r3, [r6, #4] ldrb r0, [r5, #1] cmp r0, #0xc addls pc, pc, r0, lsl #2 b _0205F29C _0205F14C: ; jump table b _0205F204 ; case 0 b _0205F218 ; case 1 b _0205F218 ; case 2 b _0205F204 ; case 3 b _0205F1DC ; case 4 b _0205F204 ; case 5 b _0205F180 ; case 6 b _0205F204 ; case 7 b _0205F218 ; case 8 b _0205F234 ; case 9 b _0205F218 ; case 10 b _0205F260 ; case 11 b _0205F27C ; case 12 _0205F180: ldrb r0, [r5, #2] cmp r0, #4 ldrb r0, [r5] bne _0205F1B8 add r0, r0, #0xfb and r0, r0, #0xff cmp r0, #1 bhi _0205F29C ldrsh r0, [r5, #0x14] bl IsItemInBag cmp r0, #0 movne r0, #1 strneb r0, [r6] b _0205F29C _0205F1B8: cmp r0, #5 cmpne r0, #8 bne _0205F29C ldrsh r0, [r5, #0x14] bl IsItemInBag cmp r0, #0 movne r0, #1 strneb r0, [r6] b _0205F29C _0205F1DC: ldrb r0, [r5] cmp r0, #5 cmpne r0, #8 bne _0205F29C ldrsh r0, [r5, #0x14] bl IsItemInBag cmp r0, #0 movne r0, #1 strneb r0, [r6] b _0205F29C _0205F204: ldrb r0, [r5] cmp r0, #8 moveq r0, #1 streqb r0, [r6] b _0205F29C _0205F218: ldrsh r0, [r5, #0x10] strh r0, [r6, #4] ldrb r0, [r5] cmp r0, #8 moveq r0, #1 streqb r0, [r6] b _0205F29C _0205F234: ldrsh r0, [r5, #0x10] strh r0, [r6, #4] ldrb r0, [r5] cmp r0, #8 bne _0205F29C ldrsh r0, [r5, #0x14] bl IsItemInBag cmp r0, #0 movne r0, #1 strneb r0, [r6] b _0205F29C _0205F260: ldrsh r0, [r5, #0xe] strh r0, [r6, #4] ldrb r0, [r5] cmp r0, #8 moveq r0, #1 streqb r0, [r6] b _0205F29C _0205F27C: ldrb r0, [r5] cmp r0, #8 bne _0205F29C ldrsh r0, [r5, #0x14] bl IsItemInTreasureBoxes cmp r0, #0 movne r0, #1 strneb r0, [r6] _0205F29C: cmp r4, #0xff ldrneb r0, [r5, #4] cmpne r0, r4 movne r0, #0 strneb r0, [r6] ldrb r0, [r6] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0205F118 arm_func_start sub_0205F2B8 sub_0205F2B8: ; 0x0205F2B8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #1] cmp r0, #0xc addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _0205F2D0: ; jump table ldmia sp!, {r4, pc} ; case 0 ldmia sp!, {r4, pc} ; case 1 ldmia sp!, {r4, pc} ; case 2 ldmia sp!, {r4, pc} ; case 3 b _0205F360 ; case 4 ldmia sp!, {r4, pc} ; case 5 b _0205F304 ; case 6 ldmia sp!, {r4, pc} ; case 7 ldmia sp!, {r4, pc} ; case 8 b _0205F388 ; case 9 ldmia sp!, {r4, pc} ; case 10 ldmia sp!, {r4, pc} ; case 11 ldmia sp!, {r4, pc} ; case 12 _0205F304: ldrb r0, [r4, #2] cmp r0, #4 ldrb r0, [r4] bne _0205F33C add r0, r0, #0xfb and r0, r0, #0xff cmp r0, #1 ldmhiia sp!, {r4, pc} ldrsh r0, [r4, #0x14] bl RemoveFirstUnequippedItemOfType cmp r0, #0 movne r0, #8 strneb r0, [r4] ldmia sp!, {r4, pc} _0205F33C: cmp r0, #5 cmpne r0, #8 ldmneia sp!, {r4, pc} ldrsh r0, [r4, #0x14] bl RemoveFirstUnequippedItemOfType cmp r0, #0 movne r0, #8 strneb r0, [r4] ldmia sp!, {r4, pc} _0205F360: ldrb r0, [r4] cmp r0, #5 cmpne r0, #8 ldmneia sp!, {r4, pc} ldrsh r0, [r4, #0x14] bl IsItemInBag cmp r0, #0 movne r0, #8 strneb r0, [r4] ldmia sp!, {r4, pc} _0205F388: ldrb r0, [r4] cmp r0, #8 ldmneia sp!, {r4, pc} ldrsh r0, [r4, #0x14] bl RemoveFirstUnequippedItemOfType cmp r0, #0 movne r0, #8 strneb r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_0205F2B8 arm_func_start GetMissionByTypeAndDungeon GetMissionByTypeAndDungeon: ; 0x0205F3AC stmdb sp!, {r4, lr} ldr ip, _0205F460 ; =_020B0A60 ldr r4, [ip, #0x18] add r4, r4, #0x100 b _0205F450 _0205F3C0: mov ip, r0, lsl #0x18 add lr, r4, ip, asr #19 cmp r3, #0xff ldrneb ip, [lr, #4] cmpne ip, r3 bne _0205F44C ldrb ip, [lr, #1] cmp ip, r1 bne _0205F44C cmp ip, #0xc addls pc, pc, ip, lsl #2 b _0205F44C _0205F3F0: ; jump table b _0205F440 ; case 0 b _0205F440 ; case 1 b _0205F440 ; case 2 b _0205F440 ; case 3 b _0205F440 ; case 4 b _0205F440 ; case 5 b _0205F424 ; case 6 b _0205F440 ; case 7 b _0205F440 ; case 8 b _0205F424 ; case 9 b _0205F424 ; case 10 b _0205F424 ; case 11 b _0205F424 ; case 12 _0205F424: ldrb lr, [lr, #2] ldrb ip, [r2] cmp lr, ip bne _0205F44C mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r4, pc} _0205F440: mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r4, pc} _0205F44C: add r0, r0, #1 _0205F450: cmp r0, #8 blt _0205F3C0 mvn r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0205F460: .word _020B0A60 arm_func_end GetMissionByTypeAndDungeon arm_func_start sub_0205F464 sub_0205F464: ; 0x0205F464 stmdb sp!, {r3, lr} mov ip, r1 mov r3, r2 mov r1, r0 mov r2, ip mov r0, #0 bl GetMissionByTypeAndDungeon cmp r0, #0 ldrge r1, _0205F4A0 ; =_020B0A60 movlt r0, #0 ldrge r1, [r1, #0x18] movge r0, r0, lsl #0x18 addge r1, r1, #0x100 addge r0, r1, r0, asr #19 ldmia sp!, {r3, pc} .align 2, 0 _0205F4A0: .word _020B0A60 arm_func_end sub_0205F464 arm_func_start CheckAcceptedMissionByTypeAndDungeon CheckAcceptedMissionByTypeAndDungeon: ; 0x0205F4A4 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r7, _0205F500 ; =_020B0A60 mov r6, r0 mov r5, r1 mov r4, r2 mov r0, #0 _0205F4BC: mov r1, r6 mov r2, r5 mov r3, r4 bl GetMissionByTypeAndDungeon cmp r0, #0 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, pc} ldr r2, [r7, #0x18] mov r1, r0, lsl #0x18 add r2, r2, #0x100 mov r1, r1, asr #0x18 ldrb r1, [r2, r1, lsl #5] add r0, r0, #1 cmp r1, #5 bne _0205F4BC mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0205F500: .word _020B0A60 arm_func_end CheckAcceptedMissionByTypeAndDungeon arm_func_start sub_0205F504 sub_0205F504: ; 0x0205F504 stmdb sp!, {r4, r5, r6, lr} ldr r5, _0205F580 ; =_020B0A60 mov r4, #0 ldr r0, [r5, #0x18] add r6, r0, #0x100 _0205F518: ldrb r0, [r6] cmp r0, #6 cmpne r0, #7 cmpne r0, #8 bne _0205F540 ldr r1, [r5, #0x18] mov r0, r4, lsl #0x18 add r1, r1, #0x100 add r0, r1, r0, asr #19 bl ClearMissionData _0205F540: add r4, r4, #1 cmp r4, #8 add r6, r6, #0x20 blt _0205F518 ldr r1, _0205F580 ; =_020B0A60 mov r0, #8 ldr r1, [r1, #0x18] add r1, r1, #0x100 bl sub_0205E48C ldr r0, _0205F580 ; =_020B0A60 ldr r2, _0205F584 ; =sub_0205F5C8 ldr r1, [r0, #0x18] mov r0, #8 add r1, r1, #0x100 bl sub_0205E50C ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0205F580: .word _020B0A60 _0205F584: .word sub_0205F5C8 arm_func_end sub_0205F504 arm_func_start sub_0205F588 sub_0205F588: ; 0x0205F588 ldr r1, _0205F5A0 ; =_020B0A60 ldr ip, _0205F5A4 ; =ClearMissionData ldr r1, [r1, #0x18] add r1, r1, #0x100 add r0, r1, r0, lsl #5 bx ip .align 2, 0 _0205F5A0: .word _020B0A60 _0205F5A4: .word ClearMissionData arm_func_end sub_0205F588 arm_func_start sub_0205F5A8 sub_0205F5A8: ; 0x0205F5A8 ldr r1, _0205F5C0 ; =_020B0A60 ldr ip, _0205F5C4 ; =sub_0205E48C ldr r1, [r1, #0x18] mov r0, #8 add r1, r1, #0x100 bx ip .align 2, 0 _0205F5C0: .word _020B0A60 _0205F5C4: .word sub_0205E48C arm_func_end sub_0205F5A8 arm_func_start sub_0205F5C8 sub_0205F5C8: ; 0x0205F5C8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r2, [r5, #1] mov r4, r1 cmp r2, #3 ldreqb r0, [r5, #2] cmpeq r0, #3 beq _0205F5F8 cmp r2, #6 ldreqb r0, [r5, #2] cmpeq r0, #4 bne _0205F62C _0205F5F8: ldrb r0, [r5, #4] bl DungeonSwapIdToIdx bl GetDungeonMode cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhs r0, #1 movlo r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205F62C: ldrb r1, [r4, #1] cmp r1, #3 ldreqb r0, [r4, #2] cmpeq r0, #3 beq _0205F650 cmp r1, #6 ldreqb r0, [r4, #2] cmpeq r0, #4 bne _0205F684 _0205F650: ldrb r0, [r4, #4] bl DungeonSwapIdToIdx bl GetDungeonMode cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhi r0, #1 movls r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205F684: cmp r2, #8 cmpne r2, #5 cmpne r2, #0xe bne _0205F6B0 ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhs r0, #1 movlo r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205F6B0: cmp r1, #8 cmpne r1, #5 cmpne r1, #0xe bne _0205F6DC ldrb r1, [r5, #4] ldrb r0, [r4, #4] cmp r1, r0 movhi r0, #1 movls r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} _0205F6DC: ldrb r1, [r4, #4] ldrb r0, [r5, #4] mov r2, #1 cmp r0, r1 bhi _0205F708 bne _0205F704 ldrb r1, [r5, #5] ldrb r0, [r4, #5] cmp r1, r0 bhi _0205F708 _0205F704: mov r2, #0 _0205F708: and r0, r2, #0xff ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205F5C8 arm_func_start sub_0205F710 sub_0205F710: ; 0x0205F710 ldr r0, _0205F72C ; =_020B0A60 ldr ip, _0205F730 ; =sub_0205E50C ldr r1, [r0, #0x18] ldr r2, _0205F734 ; =sub_0205F5C8 mov r0, #8 add r1, r1, #0x100 bx ip .align 2, 0 _0205F72C: .word _020B0A60 _0205F730: .word sub_0205E50C _0205F734: .word sub_0205F5C8 arm_func_end sub_0205F710 arm_func_start sub_0205F738 sub_0205F738: ; 0x0205F738 cmp r0, #0 ldrne r1, _0205F754 ; =_020B0A60 ldrne r1, [r1, #0x10] strne r1, [r0] ldr r0, _0205F754 ; =_020B0A60 ldr r0, [r0, #0x14] bx lr .align 2, 0 _0205F754: .word _020B0A60 arm_func_end sub_0205F738 arm_func_start GenerateAllPossibleMonstersList GenerateAllPossibleMonstersList: ; 0x0205F758 stmdb sp!, {r4, r5, r6, lr} mov r0, #0x430 mov r1, #0xf bl MemAlloc mov r5, r0 mov r4, #0 mov r6, #1 _0205F774: mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 bl CanMonsterBeUsedForMissionWrapper cmp r0, #0 movne r0, r4, lsl #1 strneh r6, [r5, r0] add r6, r6, #1 addne r4, r4, #1 cmp r6, #0x218 blt _0205F774 cmp r4, #0 ldrne r0, _0205F7C0 ; =_020B0A60 strne r5, [r0, #0x10] strne r4, [r0, #0x14] bne _0205F7B8 mov r0, r5 bl MemFree _0205F7B8: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0205F7C0: .word _020B0A60 arm_func_end GenerateAllPossibleMonstersList arm_func_start DeleteAllPossibleMonstersList DeleteAllPossibleMonstersList: ; 0x0205F7C4 stmdb sp!, {r3, lr} ldr r0, _0205F7F0 ; =_020B0A60 ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _0205F7F0 ; =_020B0A60 mov r1, #0 str r1, [r0, #0x14] str r1, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 _0205F7F0: .word _020B0A60 arm_func_end DeleteAllPossibleMonstersList arm_func_start GenerateAllPossibleDungeonsList GenerateAllPossibleDungeonsList: ; 0x0205F7F4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xb4 mov r0, #0xb4 mov r1, #0xf bl MemAlloc mov r5, #0 mov r4, r0 mov r1, r5 mov r8, r5 add r0, sp, #0 _0205F81C: strb r8, [r0, r1] add r1, r1, #1 cmp r1, #0xb4 blt _0205F81C mov r7, #1 add r6, sp, #0 _0205F834: and r0, r8, #0xff bl sub_02062BB8 cmp r0, #0 strneb r7, [r6, r8] add r8, r8, #1 cmp r8, #0xb4 blt _0205F834 mov r2, #0 add r1, sp, #0 _0205F858: ldrb r0, [r1, r2] cmp r0, #0 strneb r2, [r4, r5] add r2, r2, #1 addne r5, r5, #1 cmp r2, #0xb4 blt _0205F858 cmp r5, #0 ldrne r0, _0205F89C ; =_020B0A60 strne r4, [r0, #8] strne r5, [r0, #0xc] bne _0205F890 mov r0, r4 bl MemFree _0205F890: mov r0, r5 add sp, sp, #0xb4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0205F89C: .word _020B0A60 arm_func_end GenerateAllPossibleDungeonsList arm_func_start DeleteAllPossibleDungeonsList DeleteAllPossibleDungeonsList: ; 0x0205F8A0 stmdb sp!, {r3, lr} ldr r0, _0205F8CC ; =_020B0A60 ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _0205F8CC ; =_020B0A60 mov r1, #0 str r1, [r0, #0xc] str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _0205F8CC: .word _020B0A60 arm_func_end DeleteAllPossibleDungeonsList arm_func_start GenerateAllPossibleDeliverList GenerateAllPossibleDeliverList: ; 0x0205F8D0 stmdb sp!, {r3, r4, r5, lr} mov r0, #0x2d8 mov r1, #0xf bl MemAlloc mov r4, r0 bl GetAvailableItemDeliveryList movs r5, r0 ldrne r0, _0205F908 ; =_020B0A60 stmneia r0, {r4, r5} bne _0205F900 mov r0, r4 bl MemFree _0205F900: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205F908: .word _020B0A60 arm_func_end GenerateAllPossibleDeliverList arm_func_start DeleteAllPossibleDeliverList DeleteAllPossibleDeliverList: ; 0x0205F90C stmdb sp!, {r3, lr} ldr r0, _0205F938 ; =_020B0A60 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _0205F938 ; =_020B0A60 mov r1, #0 str r1, [r0, #4] str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0205F938: .word _020B0A60 arm_func_end DeleteAllPossibleDeliverList arm_func_start sub_0205F93C sub_0205F93C: ; 0x0205F93C ldrb r2, [r0, #2] ldrb r1, [r0, #1] mov r3, #0 add r3, r3, r2, lsl #11 add r3, r3, r1 ldrb r2, [r0, #4] ldrb r1, [r0, #5] add r2, r3, r2 add ip, r2, r1 ldr r3, [r0, #8] ldrb r2, [r0, #0xc] add ip, ip, r3, lsl #8 ldrsh r3, [r0, #0xe] add ip, ip, r2, lsl #13 ldrb r1, [r0, #0x16] add ip, ip, r3, lsl #12 ldrsh r2, [r0, #0x10] ldrsh r3, [r0, #0x12] cmp r1, #5 add ip, ip, r2, lsl #16 ldrsh r2, [r0, #0x14] add r3, ip, r3, lsl #4 add r2, r3, r2, lsl #24 add r2, r2, r1, lsl #2 ldrneh r1, [r0, #0x18] addne r2, r2, r1, lsl #1 ldrb r1, [r0, #0x1a] ldrh r0, [r0, #0x1c] add r1, r2, r1, lsl #21 add r0, r1, r0, lsl #22 bx lr arm_func_end sub_0205F93C arm_func_start ClearMissionData ClearMissionData: ; 0x0205F9B8 mov r2, #0 strb r2, [r0] mov r1, #0xff strb r1, [r0, #4] strb r2, [r0, #5] strb r2, [r0, #0x16] bx lr arm_func_end ClearMissionData arm_func_start sub_0205F9D4 sub_0205F9D4: ; 0x0205F9D4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0205FA34 ; =_020B0A60 mov r5, r0 ldr r4, [r1, #0x18] mov lr, #0xf mov r3, #0xc _0205F9EC: mla r1, lr, r3, r4 add r0, r1, #0x334 sub lr, lr, #1 add ip, r1, #0x340 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} cmp lr, #0 bgt _0205F9EC ldr r2, [r5, #4] ldr r1, [r5, #8] mov r0, r5 str r2, [r4, #0x340] str r1, [r4, #0x344] bl sub_0205F93C ldr r1, _0205FA34 ; =_020B0A60 ldr r1, [r1, #0x18] str r0, [r1, #0x348] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205FA34: .word _020B0A60 arm_func_end sub_0205F9D4 arm_func_start sub_0205FA38 sub_0205FA38: ; 0x0205FA38 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl sub_0205F93C ldr r2, _0205FAAC ; =_020B0A60 mov r1, #0 ldr r2, [r2, #0x18] add r5, r2, #0x340 mov r2, #0xc b _0205FA9C _0205FA5C: mul lr, r1, r2 ldrb ip, [r5, lr] ldrb r3, [r4, #4] add lr, r5, lr cmp ip, r3 ldreqb ip, [lr, #1] ldreqb r3, [r4, #5] cmpeq ip, r3 ldreq ip, [lr, #4] ldreq r3, [r4, #8] cmpeq ip, r3 ldreq r3, [lr, #8] cmpeq r3, r0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} add r1, r1, #1 _0205FA9C: cmp r1, #0x10 blt _0205FA5C mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0205FAAC: .word _020B0A60 arm_func_end sub_0205FA38 arm_func_start sub_0205FAB0 sub_0205FAB0: ; 0x0205FAB0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050974 mov r7, #0 ldr r4, _0205FC1C ; =_020B0A60 add r6, sp, #0 mov r5, r7 _0205FADC: ldr r1, [r4, #0x18] mov r0, r6 mov r2, r5 add r1, r1, r7, lsl #5 bl sub_0205FD88 add r7, r7, #1 cmp r7, #8 blt _0205FADC mov r7, #0 ldr r4, _0205FC1C ; =_020B0A60 add r6, sp, #0 mov r5, r7 _0205FB0C: ldr r1, [r4, #0x18] mov r0, r6 add r1, r1, #0x100 mov r2, r5 add r1, r1, r7, lsl #5 bl sub_0205FD88 add r7, r7, #1 cmp r7, #8 blt _0205FB0C mov r7, #0 ldr r4, _0205FC1C ; =_020B0A60 add r6, sp, #0 mov r5, r7 _0205FB40: ldr r1, [r4, #0x18] mov r0, r6 add r1, r1, #0x200 mov r2, r5 add r1, r1, r7, lsl #5 bl sub_0205FD88 add r7, r7, #1 cmp r7, #8 blt _0205FB40 ldr r1, _0205FC1C ; =_020B0A60 add r0, sp, #0 ldr r1, [r1, #0x18] mov r2, #0 add r1, r1, #0x300 bl sub_0205FD88 ldr r1, _0205FC1C ; =_020B0A60 add r0, sp, #0 ldr r1, [r1, #0x18] mov r2, #0 add r1, r1, #0x320 bl sub_0205FD88 ldr sl, _0205FC1C ; =_020B0A60 mov r8, #0 add r6, sp, #0 mov r5, #0x20 mov r4, #0x18 mov sb, #0xc _0205FBAC: mul r7, r8, sb ldr r1, [sl, #0x18] mov r0, r6 add r1, r1, #0x348 mov r2, r5 add r1, r1, r7 bl CopyBitsFrom ldr r1, [sl, #0x18] mov r0, r6 add r1, r1, #0x344 mov r2, r4 add r1, r1, r7 bl CopyBitsFrom ldr r1, [sl, #0x18] mov r0, r6 add r1, r1, #0x340 add r1, r1, r7 bl Copy16BitsFrom add r8, r8, #1 cmp r8, #0x10 blt _0205FBAC add r0, sp, #0 bl sub_020509BC bl Rand16Bit bl sub_020634F4 ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0205FC1C: .word _020B0A60 arm_func_end sub_0205FAB0 arm_func_start sub_0205FC20 sub_0205FC20: ; 0x0205FC20 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x10 mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_02050990 mov r7, #0 ldr r4, _0205FD84 ; =_020B0A60 add r6, sp, #0 mov r5, r7 _0205FC4C: ldr r1, [r4, #0x18] mov r0, r6 mov r2, r5 add r1, r1, r7, lsl #5 bl sub_0205FE80 add r7, r7, #1 cmp r7, #8 blt _0205FC4C mov r7, #0 ldr r4, _0205FD84 ; =_020B0A60 add r6, sp, #0 mov r5, r7 _0205FC7C: ldr r1, [r4, #0x18] mov r0, r6 add r1, r1, #0x100 mov r2, r5 add r1, r1, r7, lsl #5 bl sub_0205FE80 add r7, r7, #1 cmp r7, #8 blt _0205FC7C mov r7, #0 ldr r4, _0205FD84 ; =_020B0A60 add r6, sp, #0 mov r5, r7 _0205FCB0: ldr r1, [r4, #0x18] mov r0, r6 add r1, r1, #0x200 mov r2, r5 add r1, r1, r7, lsl #5 bl sub_0205FE80 add r7, r7, #1 cmp r7, #8 blt _0205FCB0 ldr r1, _0205FD84 ; =_020B0A60 add r0, sp, #0 ldr r1, [r1, #0x18] mov r2, #0 add r1, r1, #0x300 bl sub_0205FE80 ldr r1, _0205FD84 ; =_020B0A60 add r0, sp, #0 ldr r1, [r1, #0x18] mov r2, #0 add r1, r1, #0x320 bl sub_0205FE80 ldr sl, _0205FD84 ; =_020B0A60 mov r8, #0 add r6, sp, #0 mov r5, #0x20 mov r4, #0x18 mov sb, #0xc _0205FD1C: mul r7, r8, sb ldr r1, [sl, #0x18] mov r0, r6 add r1, r1, #0x348 mov r2, r5 add r1, r1, r7 bl CopyBitsTo ldr r1, [sl, #0x18] mov r0, r6 add r1, r1, #0x344 mov r2, r4 add r1, r1, r7 bl CopyBitsTo ldr r1, [sl, #0x18] mov r0, r6 add r1, r1, #0x340 add r1, r1, r7 bl sub_020515C4 add r8, r8, #1 cmp r8, #0x10 blt _0205FD1C add r0, sp, #0 bl sub_020509BC ldr r0, [sp, #8] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0205FD84: .word _020B0A60 arm_func_end sub_0205FC20 arm_func_start sub_0205FD88 sub_0205FD88: ; 0x0205FD88 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #1 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #2 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #0xe mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #0x10 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #0x12 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, r4, #0x14 mov r2, #0xa bl CopyBitsFrom mov r0, r5 add r1, r4, #0x16 mov r2, #4 bl CopyBitsFrom mov r0, r5 add r1, r4, #0x18 mov r2, #0xb bl CopyBitsFrom mov r0, r5 add r1, sp, #0 mov r2, #1 bl CopyBitsFrom ldrb r0, [sp] add r1, r4, #0x1c mov r2, #0xb cmp r0, #0 movne r3, #1 moveq r3, #0 mov r0, r5 strb r3, [r4, #0x1a] bl CopyBitsFrom mov r0, r5 add r1, r4, #8 mov r2, #0x18 bl CopyBitsFrom mov r0, r5 add r1, r4, #4 bl Copy16BitsFrom mov r0, r5 add r1, r4, #0xc mov r2, #8 bl CopyBitsFrom ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205FD88 arm_func_start sub_0205FE80 sub_0205FE80: ; 0x0205FE80 stmdb sp!, {r3, r4, r5, lr} mov ip, #0xff mov r3, #0 mov r5, r0 mov r4, r1 mov r2, #4 strb ip, [sp, #1] strb r3, [sp] bl CopyBitsTo mov r0, r5 add r1, r4, #1 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #2 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #0xe mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #0x10 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #0x12 mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #0x14 mov r2, #0xa bl CopyBitsTo mov r0, r5 add r1, r4, #0x16 mov r2, #4 bl CopyBitsTo mov r0, r5 add r1, r4, #0x18 mov r2, #0xb bl CopyBitsTo ldrb r0, [r4, #0x1a] mov r2, #1 cmp r0, #1 addeq r1, sp, #1 addne r1, sp, #0 mov r0, r5 bl CopyBitsTo mov r0, r5 add r1, r4, #0x1c mov r2, #0xb bl CopyBitsTo mov r0, r5 add r1, r4, #8 mov r2, #0x18 bl CopyBitsTo mov r0, r5 add r1, r4, #4 bl sub_020515C4 mov r0, r5 add r1, r4, #0xc mov r2, #8 bl CopyBitsTo ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0205FE80 arm_func_start sub_0205FF80 sub_0205FF80: ; 0x0205FF80 stmdb sp!, {r3, lr} cmp r0, #3 mov r2, #0 bne _0205FFA8 cmp r1, #1 moveq r2, #0xa5 beq _02060070 cmp r1, #2 moveq r2, #0x6f b _02060070 _0205FFA8: cmp r0, #0xa bne _0205FFCC cmp r1, #6 bne _02060070 ldr r0, _02060078 ; =_020A18FC sub r1, r2, #1 bl sub_02060084 mov r2, r0 b _02060070 _0205FFCC: cmp r0, #0xb bne _02060034 cmp r1, #5 addls pc, pc, r1, lsl #2 b _02060070 _0205FFE0: ; jump table b _0205FFF8 ; case 0 b _0206000C ; case 1 b _02060014 ; case 2 b _0206001C ; case 3 b _02060024 ; case 4 b _0206002C ; case 5 _0205FFF8: ldr r0, _0206007C ; =_020A1904 sub r1, r2, #1 bl sub_02060084 mov r2, r0 b _02060070 _0206000C: mov r2, #0x91 b _02060070 _02060014: mov r2, #0x92 b _02060070 _0206001C: mov r2, #0x93 b _02060070 _02060024: mov r2, #0x94 b _02060070 _0206002C: mov r2, #0x95 b _02060070 _02060034: cmp r0, #0xc bne _02060070 mov r0, #9 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _02060060 ldr r0, _02060080 ; =_020A1958 mov r1, #0xf bl sub_02060084 mov r2, r0 b _02060070 _02060060: ldr r0, _02060080 ; =_020A1958 mvn r1, #0 bl sub_02060084 mov r2, r0 _02060070: mov r0, r2 ldmia sp!, {r3, pc} .align 2, 0 _02060078: .word _020A18FC _0206007C: .word _020A1904 _02060080: .word _020A1958 arm_func_end sub_0205FF80 arm_func_start sub_02060084 sub_02060084: ; 0x02060084 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r2, r5 mov r4, #0 b _0206009C _02060098: add r4, r4, #1 _0206009C: ldrb r0, [r2], #1 cmp r0, #0 bne _02060098 cmp r1, #0 blt _020600B8 cmp r4, r1 movgt r4, r1 _020600B8: bl Rand16Bit mov r1, r4 bl __divsi3 ldrb r0, [r5, r1] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02060084 arm_func_start sub_020600CC sub_020600CC: ; 0x020600CC stmdb sp!, {r3, lr} ldr r0, _02060144 ; =_020B0AD8 ldr r0, [r0, #0x24] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02060148 ; =_020B0AFC ldr r1, _0206014C ; =_020A462C mov r2, #1 bl LoadFileFromRom ldr r0, _02060144 ; =_020B0AD8 ldr r2, [r0, #0x24] ldr r1, [r2] add r1, r2, r1 str r1, [r0, #4] ldr r1, [r2, #4] add r1, r2, r1 str r1, [r0, #0x14] ldr r1, [r2, #8] add r1, r2, r1 str r1, [r0, #0x10] ldr r1, [r2, #0xc] add r1, r2, r1 str r1, [r0, #8] ldr r1, [r2, #0x10] add r1, r2, r1 str r1, [r0, #0x18] ldr r1, [r2, #0x14] add r1, r2, r1 str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _02060144: .word _020B0AD8 _02060148: .word _020B0AFC _0206014C: .word _020A462C arm_func_end sub_020600CC arm_func_start sub_02060150 sub_02060150: ; 0x02060150 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl sub_0205E238 cmp r0, #0 strne r5, [r4, #0x5c] ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 add r1, r4, #0x18 bl sub_02062E5C mov r0, r5 mov r1, r4 bl sub_02060274 mov r1, r5 bl sub_0206096C str r0, [r4, #0x60] add r0, r5, #4 str r0, [r4, #8] mov r1, #0 str r1, [r4, #0xc] ldrsh r0, [r5, #0xe] strh r0, [r4, #0x10] ldrsh r0, [r5, #0x10] strh r0, [r4, #0x12] ldrsh r0, [r5, #0x12] strh r0, [r4, #0x14] ldrsh r0, [r5, #0x14] strh r0, [r4, #0x16] ldrb r0, [r5, #0x1a] cmp r0, #0 streqb r1, [r4, #0x49] ldreqh r0, [r5, #0x1c] streqb r0, [r4, #0x4c] beq _020601EC cmp r0, #1 moveq r0, #1 streqb r0, [r4, #0x49] ldreqsh r0, [r5, #0x1c] streqh r0, [r4, #0x4a] _020601EC: ldrb r0, [r5] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02060258 _020601FC: ; jump table b _02060258 ; case 0 b _02060220 ; case 1 b _02060220 ; case 2 b _02060220 ; case 3 b _02060220 ; case 4 b _02060244 ; case 5 b _02060230 ; case 6 b _02060244 ; case 7 b _02060244 ; case 8 _02060220: mov r0, #1 strb r0, [r4, #0x47] strb r0, [r4, #0x48] b _02060264 _02060230: mov r0, #0 strb r0, [r4, #0x47] mov r0, #3 strb r0, [r4, #0x48] b _02060264 _02060244: mov r0, #3 strb r0, [r4, #0x47] mov r0, #2 strb r0, [r4, #0x48] b _02060264 _02060258: mov r0, #0 strb r0, [r4, #0x47] strb r0, [r4, #0x48] _02060264: str r5, [r4, #0x5c] mov r0, #0 str r0, [r4, #0x64] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02060150 arm_func_start sub_02060274 sub_02060274: ; 0x02060274 ldrb r3, [r0, #1] mov r2, #0 cmp r3, #0xe addls pc, pc, r3, lsl #2 b _02060634 _02060288: ; jump table b _020602C4 ; case 0 b _020602DC ; case 1 b _02060344 ; case 2 b _02060388 ; case 3 b _020603DC ; case 4 b _02060404 ; case 5 b _02060420 ; case 6 b _02060480 ; case 7 b _0206050C ; case 8 b _02060494 ; case 9 b _02060528 ; case 10 b _0206058C ; case 11 b _020605EC ; case 12 b _02060634 ; case 13 b _02060608 ; case 14 _020602C4: mov r0, #1 strb r0, [r1, #0x44] strb r0, [r1, #0x45] mov r0, #3 strb r0, [r1, #0x46] b _02060634 _020602DC: ldrb r0, [r0, #2] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02060338 _020602EC: ; jump table b _020602FC ; case 0 b _02060310 ; case 1 b _02060324 ; case 2 b _02060324 ; case 3 _020602FC: mov r0, #4 strb r0, [r1, #0x44] strb r0, [r1, #0x45] mov r2, #1 b _02060338 _02060310: mov r0, #1 strb r0, [r1, #0x44] strb r0, [r1, #0x45] mov r2, #5 b _02060338 _02060324: mov r0, #1 strb r0, [r1, #0x44] mov r0, #4 strb r0, [r1, #0x45] mov r2, #5 _02060338: mov r0, #4 strb r0, [r1, #0x46] b _02060634 _02060344: ldrb r0, [r0, #2] cmp r0, #0 beq _0206036C cmp r0, #1 moveq r0, #1 streqb r0, [r1, #0x44] moveq r0, #4 streqb r0, [r1, #0x45] moveq r2, #5 b _0206037C _0206036C: mov r0, #4 strb r0, [r1, #0x44] strb r0, [r1, #0x45] mov r2, #1 _0206037C: mov r0, #5 strb r0, [r1, #0x46] b _02060634 _02060388: ldrb r0, [r0, #2] cmp r0, #3 addls pc, pc, r0, lsl #2 b _020603CC _02060398: ; jump table b _020603A8 ; case 0 b _020603BC ; case 1 b _020603BC ; case 2 b _020603BC ; case 3 _020603A8: mov r0, #1 strb r0, [r1, #0x44] mov r0, #8 strb r0, [r1, #0x45] b _020603CC _020603BC: mov r0, #1 strb r0, [r1, #0x44] mov r0, #7 strb r0, [r1, #0x45] _020603CC: mov r0, #6 strb r0, [r1, #0x46] mov r2, #1 b _02060634 _020603DC: ldrb r0, [r0, #2] cmp r0, #0 moveq r0, #1 streqb r0, [r1, #0x44] moveq r0, #5 streqb r0, [r1, #0x45] mov r0, #7 moveq r2, #3 strb r0, [r1, #0x46] b _02060634 _02060404: mov r0, #5 strb r0, [r1, #0x44] mov r0, #7 strb r0, [r1, #0x45] mov r0, #8 strb r0, [r1, #0x46] b _02060634 _02060420: ldrb r0, [r0, #2] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02060474 _02060430: ; jump table b _02060444 ; case 0 b _02060454 ; case 1 b _02060444 ; case 2 b _02060444 ; case 3 b _02060468 ; case 4 _02060444: mov r0, #2 strb r0, [r1, #0x44] strb r0, [r1, #0x45] b _02060474 _02060454: mov r0, #1 strb r0, [r1, #0x44] mov r0, #2 strb r0, [r1, #0x45] b _02060474 _02060468: mov r0, #1 strb r0, [r1, #0x44] strb r0, [r1, #0x45] _02060474: mov r2, #1 strb r2, [r1, #0x46] b _02060634 _02060480: mov r0, #2 strb r0, [r1, #0x44] strb r0, [r1, #0x45] strb r0, [r1, #0x46] b _02060634 _02060494: ldrb r0, [r0, #2] cmp r0, #0 beq _020604B4 cmp r0, #1 beq _020604D0 cmp r0, #2 beq _020604EC b _02060504 _020604B4: mov r0, #1 strb r0, [r1, #0x44] mov r0, #5 strb r0, [r1, #0x45] mov r0, #0xa strb r0, [r1, #0x46] b _02060504 _020604D0: mov r0, #1 strb r0, [r1, #0x44] mov r0, #6 strb r0, [r1, #0x45] mov r0, #0xb strb r0, [r1, #0x46] b _02060504 _020604EC: mov r0, #1 strb r0, [r1, #0x44] mov r0, #5 strb r0, [r1, #0x45] mov r0, #0xb strb r0, [r1, #0x46] _02060504: mov r2, #1 b _02060634 _0206050C: mov r0, #1 strb r0, [r1, #0x44] mov r0, #4 strb r0, [r1, #0x45] mov r0, #0xc strb r0, [r1, #0x46] b _02060634 _02060528: ldrb r0, [r0, #2] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02060580 _02060538: ; jump table b _02060558 ; case 0 b _02060558 ; case 1 b _02060558 ; case 2 b _02060558 ; case 3 b _02060558 ; case 4 b _02060558 ; case 5 b _0206056C ; case 6 b _02060558 ; case 7 _02060558: mov r2, #4 strb r2, [r1, #0x44] mov r0, #1 strb r0, [r1, #0x45] b _02060580 _0206056C: mov r0, #4 strb r0, [r1, #0x44] mov r0, #1 strb r0, [r1, #0x45] mov r2, #6 _02060580: mov r0, #0xd strb r0, [r1, #0x46] b _02060634 _0206058C: ldrb r0, [r0, #2] cmp r0, #5 addls pc, pc, r0, lsl #2 b _020605E0 _0206059C: ; jump table b _020605B4 ; case 0 b _020605CC ; case 1 b _020605CC ; case 2 b _020605CC ; case 3 b _020605CC ; case 4 b _020605CC ; case 5 _020605B4: mov r0, #3 strb r0, [r1, #0x44] mov r0, #7 strb r0, [r1, #0x45] mov r2, #6 b _020605E0 _020605CC: mov r0, #3 strb r0, [r1, #0x44] mov r0, #7 strb r0, [r1, #0x45] mov r2, #4 _020605E0: mov r0, #0xe strb r0, [r1, #0x46] b _02060634 _020605EC: mov r0, #1 strb r0, [r1, #0x44] strb r0, [r1, #0x45] mov r0, #0xf strb r0, [r1, #0x46] mov r2, #7 b _02060634 _02060608: ldrb r0, [r0, #2] cmp r0, #1 bne _02060630 mov r0, #1 strb r0, [r1, #0x44] strb r0, [r1, #0x45] mov r0, #9 strb r0, [r1, #0x46] mov r0, #7 strb r0, [r1, #0x1a] _02060630: mov r2, #7 _02060634: mov r0, r2 bx lr arm_func_end sub_02060274 arm_func_start sub_0206063C sub_0206063C: ; 0x0206063C ldrb r2, [r0, #0x20] ldrb r0, [r1, #1] cmp r2, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_0206063C arm_func_start sub_02060658 sub_02060658: ; 0x02060658 ldrb r3, [r0, #0x20] ldrb r2, [r1, #1] cmp r3, r2 ldreqb r2, [r0, #0x21] ldreqb r0, [r1, #2] cmpeq r2, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_02060658 arm_func_start sub_02060680 sub_02060680: ; 0x02060680 stmdb sp!, {r3, lr} ldrb r3, [r0, #0x20] ldrb r2, [r1, #1] mov ip, #0 mov lr, ip cmp r3, r2 ldreqb r3, [r0, #0x21] ldreqb r2, [r1, #2] cmpeq r3, r2 bne _020606C4 ldrh r2, [r0, #2] cmp r2, #0 cmpne r2, #1 moveq r2, #1 movne r2, ip tst r2, #0xff movne lr, #1 _020606C4: cmp lr, #0 beq _020606DC ldrsh r2, [r0, #6] ldrsh r0, [r1, #0x14] cmp r2, r0 moveq ip, #1 _020606DC: and r0, ip, #0xff ldmia sp!, {r3, pc} arm_func_end sub_02060680 arm_func_start sub_020606E4 sub_020606E4: ; 0x020606E4 stmdb sp!, {r4, lr} ldrb r3, [r0, #0x20] ldrb r2, [r1, #1] mov r4, #0 mov ip, r4 cmp r3, r2 ldreqb r3, [r0, #0x21] ldreqb r2, [r1, #2] cmpeq r3, r2 bne _02060728 ldrh r2, [r0, #0xe] cmp r2, #0 cmpne r2, #1 moveq r2, #1 movne r2, r4 tst r2, #0xff movne ip, #1 _02060728: cmp ip, #0 beq _02060744 ldrsh r0, [r0, #0x12] ldrsh r1, [r1, #0xe] bl DexNumbersEqual cmp r0, #0 movne r4, #1 _02060744: and r0, r4, #0xff ldmia sp!, {r4, pc} arm_func_end sub_020606E4 arm_func_start sub_0206074C sub_0206074C: ; 0x0206074C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 ldrb r1, [r7, #0x20] ldrb r0, [r6, #1] mov r4, #0 mov r5, r4 cmp r1, r0 ldreqb r1, [r7, #0x21] ldreqb r0, [r6, #2] mov r2, r4 mov r3, r4 cmpeq r1, r0 bne _020607A0 ldrh r0, [r7, #0xe] cmp r0, #0 cmpne r0, #1 moveq r0, #1 movne r0, r4 tst r0, #0xff movne r3, #1 _020607A0: cmp r3, #0 beq _020607C4 ldrh r0, [r7, #0x14] cmp r0, #0 cmpne r0, #1 moveq r0, #1 movne r0, #0 tst r0, #0xff movne r2, #1 _020607C4: cmp r2, #0 beq _020607E0 ldrsh r0, [r7, #0x12] ldrsh r1, [r6, #0xe] bl DexNumbersEqual cmp r0, #0 movne r5, #1 _020607E0: cmp r5, #0 beq _020607FC ldrsh r0, [r7, #0x18] ldrsh r1, [r6, #0x10] bl DexNumbersEqual cmp r0, #0 movne r4, #1 _020607FC: and r0, r4, #0xff ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0206074C arm_func_start sub_02060804 sub_02060804: ; 0x02060804 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 ldrb r1, [r8, #0x20] ldrb r0, [r7, #1] mov r4, #0 mov r5, r4 cmp r1, r0 ldreqb r1, [r8, #0x21] ldreqb r0, [r7, #2] mov r6, r4 mov r2, r4 mov r3, r4 mov ip, r4 cmpeq r1, r0 bne _02060860 ldrh r0, [r8, #0xe] cmp r0, #0 cmpne r0, #1 moveq r0, #1 movne r0, r4 tst r0, #0xff movne ip, #1 _02060860: cmp ip, #0 beq _02060884 ldrh r0, [r8, #0x14] cmp r0, #0 cmpne r0, #1 moveq r0, #1 movne r0, #0 tst r0, #0xff movne r3, #1 _02060884: cmp r3, #0 beq _020608A8 ldrh r0, [r8, #0x1a] cmp r0, #0 cmpne r0, #1 moveq r0, #1 movne r0, #0 tst r0, #0xff movne r2, #1 _020608A8: cmp r2, #0 beq _020608C4 ldrsh r0, [r8, #0x12] ldrsh r1, [r7, #0xe] bl DexNumbersEqual cmp r0, #0 movne r6, #1 _020608C4: cmp r6, #0 beq _020608E0 ldrsh r0, [r8, #0x18] ldrsh r1, [r7, #0x10] bl DexNumbersEqual cmp r0, #0 movne r5, #1 _020608E0: cmp r5, #0 beq _020608FC ldrsh r0, [r8, #0x1e] ldrsh r1, [r7, #0x12] bl DexNumbersEqual cmp r0, #0 movne r4, #1 _020608FC: and r0, r4, #0xff ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02060804 arm_func_start sub_02060904 sub_02060904: ; 0x02060904 stmdb sp!, {r3, lr} ldrb r3, [r0, #0x20] ldrb r2, [r1, #1] mov ip, #0 mov lr, ip cmp r3, r2 ldreqb r3, [r0, #0x21] ldreqb r2, [r1, #2] cmpeq r3, r2 bne _02060948 ldrh r2, [r0, #8] cmp r2, #0 cmpne r2, #1 moveq r2, #1 movne r2, ip tst r2, #0xff movne lr, #1 _02060948: cmp lr, #0 beq _02060964 ldrh r2, [r0, #0xc] ldrb r0, [r1, #4] and r1, r2, #0xff cmp r1, r0 moveq ip, #1 _02060964: and r0, ip, #0xff ldmia sp!, {r3, pc} arm_func_end sub_02060904 arm_func_start sub_0206096C sub_0206096C: ; 0x0206096C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r2, _020609E0 ; =ARM9_UNKNOWN_FUNCTION_TABLE__NA_20A3CF4 mov r8, r0 mov r7, r1 ldr r5, [r2, r8, lsl #2] mov r4, #0 mov sb, #0x22 ldr sl, _020609E4 ; =_020B0AD8 b _020609BC _02060990: mul r6, r4, sb ldr r0, [sl, #0x18] mov r1, r7 add r0, r0, r6 blx r5 cmp r0, #0 ldrne r0, _020609E4 ; =_020B0AD8 ldrne r0, [r0, #0x18] addne r0, r0, r6 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r4, r4, #1 _020609BC: cmp r4, #0x258 blt _02060990 cmp r8, #3 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r1, r7 mov r0, #1 bl sub_0206096C ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _020609E0: .word ARM9_UNKNOWN_FUNCTION_TABLE__NA_20A3CF4 _020609E4: .word _020B0AD8 arm_func_end sub_0206096C arm_func_start SprintfStatic__020609E8 SprintfStatic__020609E8: ; 0x020609E8 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl vsprintf ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end SprintfStatic__020609E8 arm_func_start sub_02060A10 sub_02060A10: ; 0x02060A10 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov r6, r0 add r0, sp, #4 mov r7, r3 mov r5, r1 mov r4, r2 bl sub_020022C4 ldr r3, [r7, #8] ldr r1, _02060AEC ; =_020A4644 ldrb r0, [r3] ldr r2, [r3, #4] ldrb r3, [r3, #1] add r2, r2, r0 mov r0, r6 add r2, r3, r2 str r2, [sp, #4] ldr r2, [r7, #0x60] ldrh sl, [r2] bl strcat ldr fp, _02060AF0 ; =0x00000FFF ldr sb, _02060AF4 ; =MISSION_STRING_IDS add r7, fp, #0xf000 ldr r8, _02060AF8 ; =_020B0AD8 b _02060AD4 _02060A74: and r0, sl, fp mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldr r2, [r8, #4] mov r1, r0, lsl #2 ldrh r1, [r2, r1] add sl, r2, r0, lsl #2 add r0, sp, #4 bl sub_020022D0 ldrh r2, [sl, #2] mov r1, #0x100 mov r3, #0 add sl, r2, r0 mov r2, sl, lsl #1 ldrh r2, [sb, r2] mov r0, r5 str r4, [sp] bl PreprocessStringFromMessageId mov r0, r6 mov r1, r5 bl strcat ldr r1, [r8, #0x14] mov r0, sl, lsl #1 ldrh sl, [r1, r0] _02060AD4: cmp sl, r7 beq _02060AE4 tst sl, #0x1000 beq _02060A74 _02060AE4: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02060AEC: .word _020A4644 _02060AF0: .word 0x00000FFF _02060AF4: .word MISSION_STRING_IDS _02060AF8: .word _020B0AD8 arm_func_end sub_02060A10 arm_func_start sub_02060AFC sub_02060AFC: ; 0x02060AFC stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x80 mov r6, r0 mov r5, r1 mov r0, #0x400 mov r1, #0xf bl MemAlloc mov r4, r0 ldr r1, _02060DF4 ; =_020A4654 mov r0, r6 bl strcpy ldr r1, _02060DF8 ; =_020A4664 mov r0, r6 ldrb r7, [r5, #0x47] bl strcat ldr r1, _02060DFC ; =REMOTE_STRING_PTR_TABLE mov r0, r4 ldr r1, [r1, r7, lsl #2] bl SprintfStatic__020609E8 mov r0, r6 mov r1, r4 bl strcat add r0, sp, #0x30 bl InitPreprocessorArgs ldrb r0, [r5, #0x44] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02060D18 _02060B6C: ; jump table b _02060B88 ; case 0 b _02060C48 ; case 1 b _02060C60 ; case 2 b _02060C80 ; case 3 b _02060CA0 ; case 4 b _02060CC0 ; case 5 b _02060CE4 ; case 6 _02060B88: ldr r0, [r5, #0xc] cmp r0, #0 ldrneb r0, [r0] cmpne r0, #0 add r0, sp, #4 bne _02060BAC ldr r1, _02060E00 ; =0x000038C9 bl GetStringFromFileVeneer b _02060BC4 _02060BAC: mov r1, #0x2a bl MemZero ldr r1, [r5, #0xc] add r0, sp, #4 mov r2, #0xa bl StrncpySimpleNoPadSafe _02060BC4: add r0, sp, #4 str r0, [sp, #0x68] ldr r0, [r5, #0x64] ldrb r0, [r0] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02060C10 _02060BE0: ; jump table b _02060C10 ; case 0 b _02060C10 ; case 1 b _02060C10 ; case 2 b _02060C10 ; case 3 b _02060C10 ; case 4 b _02060C00 ; case 5 b _02060C08 ; case 6 b _02060C00 ; case 7 _02060C00: ldr r2, _02060E04 ; =0x000038CB b _02060C14 _02060C08: ldr r2, _02060E08 ; =0x000038CC b _02060C14 _02060C10: ldr r2, _02060E0C ; =0x000038CA _02060C14: add ip, sp, #0x30 mov r0, r4 mov r1, #0x100 mov r3, #0 str ip, [sp] bl PreprocessStringFromMessageId ldr r1, _02060E10 ; =_020A4644 mov r0, r6 bl strcat mov r0, r6 mov r1, r4 bl strcat b _02060D18 _02060C48: add r2, sp, #0x30 mov r0, r6 mov r1, r4 mov r3, r5 bl sub_02060A10 b _02060D18 _02060C60: ldrsh ip, [r5, #0x16] add r2, sp, #0x30 mov r0, r6 mov r1, r4 mov r3, r5 str ip, [sp, #0x40] bl sub_02060A10 b _02060D18 _02060C80: ldrsh ip, [r5, #0x10] add r2, sp, #0x30 mov r0, r6 mov r1, r4 mov r3, r5 str ip, [sp, #0x30] bl sub_02060A10 b _02060D18 _02060CA0: ldrsh ip, [r5, #0x12] add r2, sp, #0x30 mov r0, r6 mov r1, r4 mov r3, r5 str ip, [sp, #0x30] bl sub_02060A10 b _02060D18 _02060CC0: ldr r0, [r5, #8] add r2, sp, #0x30 ldrb ip, [r0] mov r0, r6 mov r1, r4 mov r3, r5 str ip, [sp, #0x40] bl sub_02060A10 b _02060D18 _02060CE4: ldr r1, [r5, #0x54] mov r0, r4 mov r2, #0x12 mov r3, #0 bl sub_0202568C mov r1, #0 strb r1, [r0] ldr r1, _02060E10 ; =_020A4644 mov r0, r6 bl strcat mov r0, r6 mov r1, r4 bl strcat _02060D18: ldr r1, _02060E14 ; =_020A4674 mov r0, r6 bl strcat mov r0, r5 mov r1, r4 mov r2, #0x100 bl sub_02061FDC ldr r1, _02060E10 ; =_020A4644 mov r0, r6 bl strcat mov r0, r6 mov r1, r4 bl strcat ldr r1, [r5, #0x5c] cmp r1, #0 beq _02060D9C ldrb r0, [r1, #1] cmp r0, #0xe bne _02060D9C ldr r2, _02060E18 ; =0x00003C2A add r5, sp, #0x30 mov r0, r4 mov r1, #0x100 mov r3, #0 str r5, [sp] bl PreprocessStringFromMessageId ldr r1, _02060E1C ; =_020A4678 mov r0, r6 bl strcat mov r0, r6 mov r1, r4 bl strcat b _02060DE4 _02060D9C: ldrb r0, [r5, #0x46] cmp r0, #0 bne _02060DB8 ldr r0, [r5, #8] mov r1, #0 bl sub_02062D9C b _02060DC4 _02060DB8: ldrb r1, [r1, #1] ldr r0, [r5, #8] bl sub_02062D9C _02060DC4: ldr r2, _02060E20 ; =RANK_STRING_PTR_TABLE ldr r1, _02060E1C ; =_020A4678 ldr r5, [r2, r0, lsl #2] mov r0, r6 bl strcat mov r0, r6 mov r1, r5 bl strcat _02060DE4: mov r0, r4 bl MemFree add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02060DF4: .word _020A4654 _02060DF8: .word _020A4664 _02060DFC: .word REMOTE_STRING_PTR_TABLE _02060E00: .word 0x000038C9 _02060E04: .word 0x000038CB _02060E08: .word 0x000038CC _02060E0C: .word 0x000038CA _02060E10: .word _020A4644 _02060E14: .word _020A4674 _02060E18: .word 0x00003C2A _02060E1C: .word _020A4678 _02060E20: .word RANK_STRING_PTR_TABLE arm_func_end sub_02060AFC arm_func_start sub_02060E24 sub_02060E24: ; 0x02060E24 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x400 mov r1, #0xf bl MemAlloc mov r4, r0 ldr r1, _02060EA0 ; =_020A4654 mov r0, r5 bl strcpy ldr r1, _02060EA4 ; =_020A4664 mov r0, r5 bl strcat ldr r1, _02060EA8 ; =REMOTE_STRING_PTR_TABLE mov r0, r4 ldr r1, [r1, #8] bl SprintfStatic__020609E8 mov r0, r5 mov r1, r4 bl strcat ldr r1, _02060EAC ; =_020A4644 mov r0, r5 bl strcat mov r0, r4 ldr r1, _02060EB0 ; =0x00003C4D bl GetStringFromFileVeneer mov r0, r5 mov r1, r4 bl strcat mov r0, r4 bl MemFree ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02060EA0: .word _020A4654 _02060EA4: .word _020A4664 _02060EA8: .word REMOTE_STRING_PTR_TABLE _02060EAC: .word _020A4644 _02060EB0: .word 0x00003C4D arm_func_end sub_02060E24 arm_func_start sub_02060EB4 sub_02060EB4: ; 0x02060EB4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 ldr r8, [sp, #0x34] mov r7, r0 add r0, sp, #4 mov r6, r1 mov r5, r2 mov fp, r3 ldr r4, [sp, #0x30] bl sub_020022C4 ldr r3, [r8, #8] mov r0, #0 ldrb r1, [r3] ldr r2, [r3, #4] ldrb r3, [r3, #1] add r1, r2, r1 ldr sb, _02060FCC ; =_020B0AD8 add r1, r3, r1 str r1, [sp, #4] ldr r1, [r8, #0x60] ldrh r1, [r1] strb r0, [r7] ldr r0, _02060FD0 ; =0x00000FFF add r8, r0, #0xf000 b _02060FA8 _02060F18: ldr r0, _02060FD0 ; =0x00000FFF ldr r2, [sb, #4] and r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 tst r1, #0x1000 mov r1, r0, lsl #2 add sl, r2, r0, lsl #2 ldrh r1, [r2, r1] add r0, sp, #4 bne _02060F60 bl sub_020022D0 ldrh r2, [sl, #2] ldr r1, [sb, #0x14] add r0, r2, r0 mov r0, r0, lsl #1 ldrh r1, [r1, r0] b _02060FA8 _02060F60: bl sub_020022D0 ldrh r2, [sl, #2] mov r1, #0x12c mov r3, #0 add sl, r2, r0 ldr r2, _02060FD4 ; =MISSION_STRING_IDS mov ip, sl, lsl #1 ldrh r2, [r2, ip] mov r0, r6 str r4, [sp] bl PreprocessStringFromMessageId mov r0, r7 mov r1, r6 mov r2, #0x400 bl strncat ldr r1, [sb, #0x14] mov r0, sl, lsl #1 ldrh r1, [r1, r0] _02060FA8: cmp r1, r8 bne _02060F18 mov r0, fp mov r2, r5 mov r3, r7 mov r1, #4 bl sub_02026214 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02060FCC: .word _020B0AD8 _02060FD0: .word 0x00000FFF _02060FD4: .word MISSION_STRING_IDS arm_func_end sub_02060EB4 arm_func_start sub_02060FD8 sub_02060FD8: ; 0x02060FD8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x14c mov sb, r0 mov r8, r1 mov r0, #0x12c mov r1, #0xf bl MemAlloc mov r4, r0 mov r0, #0x400 mov r1, #0xf bl MemAlloc ldr r1, [sb, #0x64] mov r5, r0 cmp r1, #0 mov r7, #0 beq _02061110 ldr r1, [sb, #0x54] cmp r1, #0 ldrneh r2, [r1] cmpne r2, #0 bne _020610E8 ldr r0, [sb, #0xc] cmp r0, #0 ldrneb r0, [r0] cmpne r0, #0 add r0, sp, #0x32 bne _02061050 ldr r1, _02061BD0 ; =0x000038C9 bl GetStringFromFileVeneer b _02061068 _02061050: mov r1, #0x2a bl MemZero ldr r1, [sb, #0xc] add r0, sp, #0x32 mov r2, #0xa bl StrncpySimpleNoPadSafe _02061068: add r0, sp, #0x32 str r0, [sp, #0x134] ldr r0, [sb, #0x64] ldrb r0, [r0] cmp r0, #7 addls pc, pc, r0, lsl #2 b _020610B4 _02061084: ; jump table b _020610B4 ; case 0 b _020610B4 ; case 1 b _020610B4 ; case 2 b _020610B4 ; case 3 b _020610B4 ; case 4 b _020610A4 ; case 5 b _020610AC ; case 6 b _020610A4 ; case 7 _020610A4: ldr r2, _02061BD4 ; =0x000038CB b _020610B8 _020610AC: ldr r2, _02061BD8 ; =0x000038CC b _020610B8 _020610B4: ldr r2, _02061BDC ; =0x000038CA _020610B8: add r6, sp, #0xfc mov r0, r5 mov r1, #0x100 mov r3, #0 str r6, [sp] bl PreprocessStringFromMessageId mov r0, r8 mov r3, r5 mov r1, #4 mov r2, #0 bl sub_02026214 b _02061124 _020610E8: mov r3, r7 mov r2, #0x12 bl sub_0202568C mov r2, r7 strb r2, [r0] mov r0, r8 mov r3, r5 mov r1, #4 bl sub_02026214 b _02061124 _02061110: ldr r3, _02061BE0 ; =0x00003C1E mov r0, r8 mov r2, r7 mov r1, #4 bl sub_02026268 _02061124: add r0, sp, #0xfc bl InitPreprocessorArgs ldrb r0, [sb, #0x45] cmp r0, #9 addls pc, pc, r0, lsl #2 b _020613D4 _0206113C: ; jump table b _02061164 ; case 0 b _020611C0 ; case 1 b _020611E4 ; case 2 b _02061210 ; case 3 b _0206123C ; case 4 b _02061268 ; case 5 b _0206129C ; case 6 b _020612EC ; case 7 b _0206131C ; case 8 b _02061370 ; case 9 _02061164: ldr r0, [sb, #0x64] ldrb r0, [r0] cmp r0, #7 addls pc, pc, r0, lsl #2 b _020611A8 _02061178: ; jump table b _020611A8 ; case 0 b _020611A8 ; case 1 b _020611A8 ; case 2 b _020611A8 ; case 3 b _020611A8 ; case 4 b _02061198 ; case 5 b _020611A0 ; case 6 b _02061198 ; case 7 _02061198: ldr r3, _02061BE4 ; =0x000038CE b _020611AC _020611A0: ldr r3, _02061BE8 ; =0x000038CF b _020611AC _020611A8: ldr r3, _02061BEC ; =0x000038CD _020611AC: mov r0, r8 mov r1, #4 mov r2, #0x11 bl sub_02026268 b _020613D4 _020611C0: add r1, sp, #0xfc str r1, [sp] mov r0, r5 mov r1, r4 mov r3, r8 mov r2, #0x11 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _020611E4: ldrsh r2, [sb, #0x16] add r1, sp, #0xfc mov r0, r5 str r2, [sp, #0x10c] str r1, [sp] mov r1, r4 mov r3, r8 mov r2, #0x11 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _02061210: ldrsh r2, [sb, #0x10] add r1, sp, #0xfc mov r0, r5 str r2, [sp, #0xfc] str r1, [sp] mov r1, r4 mov r3, r8 mov r2, #0x11 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _0206123C: ldrsh r2, [sb, #0x12] add r1, sp, #0xfc mov r0, r5 str r2, [sp, #0xfc] str r1, [sp] mov r1, r4 mov r3, r8 mov r2, #0x11 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _02061268: ldrsh r1, [sb, #0x12] add r2, sp, #0xfc mov r0, r5 str r1, [sp, #0xfc] ldrsh r6, [sb, #0x16] mov r1, r4 mov r3, r8 str r6, [sp, #0x10c] str r2, [sp] mov r2, #0x11 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _0206129C: ldrsh r0, [sb, #0x16] str r0, [sp, #0x10c] ldr r0, [sb, #8] ldrb r0, [r0] bl DungeonGoesUp cmp r0, #0 ldr r0, [sb, #8] mov r3, r8 ldrneb r1, [r0, #1] ldreqb r0, [r0, #1] mov r2, #0x11 rsbeq r1, r0, #0 str r1, [sp, #0x120] add r0, sp, #0xfc str r0, [sp] mov r0, r5 mov r1, r4 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _020612EC: ldr r0, [sb, #8] add r2, sp, #0xfc ldrb r3, [r0] mov r0, r5 mov r1, r4 str r3, [sp, #0x10c] str r2, [sp] mov r3, r8 mov r2, #0x11 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _0206131C: ldr r0, [sb, #8] ldrb r0, [r0] str r0, [sp, #0x10c] ldr r0, [sb, #8] ldrb r0, [r0] bl DungeonGoesUp cmp r0, #0 ldr r0, [sb, #8] mov r3, r8 ldrneb r1, [r0, #1] ldreqb r0, [r0, #1] mov r2, #0x11 rsbeq r1, r0, #0 str r1, [sp, #0x120] add r0, sp, #0xfc str r0, [sp] mov r0, r5 mov r1, r4 str sb, [sp, #4] bl sub_02060EB4 b _020613D4 _02061370: ldr r1, [sb, #0x58] mov r0, r5 mov r2, #0x12 mov r3, #0 bl sub_0202568C mov r1, #0 strb r1, [r0] mov r0, r8 mov r3, r5 mov r1, #4 mov r2, #0x11 bl sub_02026214 ldr r1, [sb, #0x58] mov r0, r5 add r1, r1, #0x24 mov r2, #0x12 mov r3, #0 bl sub_0202568C mov r1, #0 strb r1, [r0] mov r0, r8 mov r1, #4 mov r2, #0x1e mov r3, r5 bl sub_02026214 _020613D4: ldrb r1, [sb, #0x46] cmp r1, #0xf beq _02061518 ldr r0, [sb, #0x64] cmp r0, #0 beq _02061418 ldrb r0, [r0] cmp r0, #7 cmpne r0, #5 bne _02061418 mov r6, #0x2d ldr r3, _02061BF0 ; =0x00003C21 mov r0, r8 mov r2, r6 mov r1, #4 bl sub_02026268 b _0206144C _02061418: cmp r1, #0xe mov r6, #0x2d mov r1, #4 bne _0206143C ldr r3, _02061BF4 ; =0x00003C20 mov r0, r8 mov r2, r6 bl sub_02026268 b _0206144C _0206143C: ldr r3, _02061BF8 ; =0x00003C1F mov r0, r8 mov r2, r6 bl sub_02026268 _0206144C: ldrb r0, [sb, #0x46] cmp r0, #0 bne _020614BC ldr r0, [sb, #0xc] cmp r0, #0 ldrneb r0, [r0] cmpne r0, #0 add r0, sp, #8 bne _0206147C ldr r1, _02061BD0 ; =0x000038C9 bl GetStringFromFileVeneer b _02061494 _0206147C: mov r1, #0x2a bl MemZero ldr r1, [sb, #0xc] add r0, sp, #8 mov r2, #0xa bl StrncpySimpleNoPadSafe _02061494: ldr r1, _02061BFC ; =_020A4688 add r2, sp, #8 mov r0, r4 bl SprintfStatic__020609E8 mov r0, r8 mov r2, r6 mov r3, r4 mov r1, #0x42 bl sub_02026214 b _02061518 _020614BC: ldr r0, [sb, #0x5c] cmp r0, #0 beq _020614EC ldrb r0, [r0, #1] cmp r0, #0xe bne _020614EC ldr r3, _02061C00 ; =0x00003C37 mov r0, r8 mov r2, r6 mov r1, #0x42 bl sub_02026268 b _02061518 _020614EC: ldrsh r0, [sb, #0x10] bl GetNameString mov r2, r0 ldr r1, _02061C04 ; =_020A4698 mov r0, r4 bl SprintfStatic__020609E8 mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 _02061518: ldrb r2, [sb, #0x48] ldr r1, _02061C08 ; =MISSION_MENU_STRING_IDS_1 mov r0, r5 mov r2, r2, lsl #1 ldrh r1, [r1, r2] bl GetStringFromFileVeneer ldrb r0, [sb, #0x48] mov r3, r5 mov r2, #0x2d add r0, r0, #0xfc and r0, r0, #0xff cmp r0, #2 movls r1, #0x43 movhi r1, #0x40 mov r0, r8 add r1, r1, #0x6c bl sub_02026214 ldr r3, _02061C0C ; =_020A46A8 mov r0, r8 mov r1, #0x6c mov r2, #1 bl sub_02026214 ldr r3, _02061C10 ; =0x00003C22 mov r0, r8 mov r1, #4 mov r2, #0x3a bl sub_02026268 ldrb r2, [sb, #0x46] ldrsh r6, [sb, #0x16] mov r0, r4 cmp r2, #0xe ldreqsh r3, [sb, #0x10] mov r1, #0x12c ldrnesh r3, [sb, #0x12] str r6, [sp] bl sub_02061DC8 mov r0, r8 mov r3, r4 mov r1, #0x42 mov r2, #0x3a bl sub_02026214 add r7, r7, #0x47 ldr r3, _02061C14 ; =0x00003C23 mov r0, r8 mov r1, #4 mov r2, r7 bl sub_02026268 mov r0, sb mov r1, r4 mov r2, #0x100 bl sub_02061FDC mov r0, r8 mov r1, #0x42 mov r2, r7 mov r3, r4 bl sub_02026214 ldrb r0, [sb, #0x46] cmp r0, #0 beq _020616C8 add r7, r7, #0xd ldr r3, _02061C18 ; =0x00003C24 mov r0, r8 mov r2, r7 mov r1, #4 bl sub_02026268 add r0, sp, #0xfc bl InitPreprocessorArgs ldrb r0, [sb, #0x49] cmp r0, #0 bne _02061670 ldrb r0, [sb, #0x4c] cmp r0, #0 beq _02061660 ldr r2, _02061C1C ; =0x00003C26 str r0, [sp, #0x10c] add r6, sp, #0xfc mov r0, r4 mov r1, #0x100 mov r3, #0 str r6, [sp] bl PreprocessStringFromMessageId b _020616B4 _02061660: ldr r1, _02061C20 ; =0x00003C25 mov r0, r4 bl GetStringFromFileVeneer b _020616B4 _02061670: cmp r0, #1 bne _020616B4 ldrsh r0, [sb, #0x4a] cmp r0, #0 beq _020616A8 ldr r2, _02061C24 ; =0x00003C27 str r0, [sp, #0xfc] add r6, sp, #0xfc mov r0, r4 mov r1, #0x100 mov r3, #0 str r6, [sp] bl PreprocessStringFromMessageId b _020616B4 _020616A8: ldr r1, _02061C20 ; =0x00003C25 mov r0, r4 bl GetStringFromFileVeneer _020616B4: mov r0, r8 mov r2, r7 mov r3, r4 mov r1, #0x42 bl sub_02026214 _020616C8: ldr r1, [sb, #0x5c] cmp r1, #0 beq _02061710 ldrb r0, [r1, #1] cmp r0, #0xe bne _02061710 add r7, r7, #0xd ldr r3, _02061C28 ; =0x00003C28 mov r0, r8 mov r2, r7 mov r1, #4 bl sub_02026268 ldr r3, _02061C2C ; =0x00003C2A mov r0, r8 mov r2, r7 mov r1, #0x42 bl sub_02026268 b _020617D4 _02061710: ldrb r0, [sb, #0x46] cmp r0, #0 bne _02061740 ldr r0, [sb, #8] mov r1, #0 bl sub_02062D9C mov sl, r0 ldr r0, [sb, #8] mov r1, #0 bl sub_02062D5C ldr r1, _02061C30 ; =MISSION_RANK_POINTS b _02061764 _02061740: ldrb r1, [r1, #1] ldr r0, [sb, #8] bl sub_02062D9C ldr r1, [sb, #0x5c] mov sl, r0 ldrb r1, [r1, #1] ldr r0, [sb, #8] bl sub_02062D5C ldr r1, _02061C30 ; =MISSION_RANK_POINTS _02061764: add r7, r7, #0xd ldr r6, [r1, r0, lsl #2] ldr r3, _02061C28 ; =0x00003C28 mov r0, r8 mov r2, r7 mov r1, #4 bl sub_02026268 ldr r1, _02061C34 ; =RANK_STRING_PTR_TABLE mov r0, r8 ldr r3, [r1, sl, lsl #2] mov r2, r7 mov r1, #0x42 bl sub_02026214 add r0, sp, #0xfc bl InitPreprocessorArgs str r6, [sp, #0x120] add r1, sp, #0xfc str r1, [sp] ldr r2, _02061C38 ; =0x00003C29 mov r0, r4 mov r1, #0x100 mov r3, #0 bl PreprocessStringFromMessageId mov r0, r8 mov r1, #0x56 mov r2, r7 mov r3, r4 bl sub_02026214 _020617D4: ldr r1, [sb, #0x64] cmp r1, #0 bne _02061AAC ldrb r0, [sb, #0x46] cmp r0, #0xf beq _02061AAC cmp r0, #0xe add r6, r7, #0xd mov r1, #4 bne _02061810 ldr r3, _02061C3C ; =0x00003C2C mov r0, r8 mov r2, r6 bl sub_02026268 b _02061820 _02061810: ldr r3, _02061C40 ; =0x00003C2B mov r0, r8 mov r2, r6 bl sub_02026268 _02061820: ldrb r1, [sb, #0x1a] cmp r1, #7 addls pc, pc, r1, lsl #2 b _02061A88 _02061830: ; jump table b _02061850 ; case 0 b _020618A0 ; case 1 b _020618F0 ; case 2 b _02061940 ; case 3 b _02061990 ; case 4 b _020619E0 ; case 5 b _02061A0C ; case 6 b _02061A5C ; case 7 _02061850: ldr r1, [sb, #0x20] ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 str r1, [sp, #0xd0] ldrb r1, [sb, #0x1a] mov r1, r1, lsl #1 ldrh r0, [r0, r1] bl StringFromMessageId add r3, sp, #0xac mov r2, r0 str r3, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 b _02061BA4 _020618A0: ldr r1, [sb, #0x20] ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 str r1, [sp, #0xd0] ldrb r1, [sb, #0x1a] mov r1, r1, lsl #1 ldrh r0, [r0, r1] bl StringFromMessageId add r3, sp, #0xac mov r2, r0 str r3, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 b _02061BA4 _020618F0: ldrsh r1, [sb, #0x2c] ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 str r1, [sp, #0xbc] ldrb r1, [sb, #0x1a] mov r1, r1, lsl #1 ldrh r0, [r0, r1] bl StringFromMessageId add r3, sp, #0xac mov r2, r0 str r3, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 b _02061BA4 _02061940: ldrsh r1, [sb, #0x2c] ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 str r1, [sp, #0xbc] ldrb r1, [sb, #0x1a] mov r1, r1, lsl #1 ldrh r0, [r0, r1] bl StringFromMessageId add r3, sp, #0xac mov r2, r0 str r3, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 b _02061BA4 _02061990: ldrsh r1, [sb, #0x2c] ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 str r1, [sp, #0xbc] ldrb r1, [sb, #0x1a] mov r1, r1, lsl #1 ldrh r0, [r0, r1] bl StringFromMessageId add r3, sp, #0xac mov r2, r0 str r3, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 b _02061BA4 _020619E0: ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 mov r1, r1, lsl #1 ldrh r1, [r0, r1] mov r0, r5 bl GetStringFromFileVeneer mov r0, r8 mov r2, r6 mov r3, r5 mov r1, #0x42 bl sub_02026214 b _02061BA4 _02061A0C: ldrsh r1, [sb, #0x3c] ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 str r1, [sp, #0xac] ldrb r1, [sb, #0x1a] mov r1, r1, lsl #1 ldrh r0, [r0, r1] bl StringFromMessageId add r3, sp, #0xac mov r2, r0 str r3, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r2, r6 mov r0, r8 mov r1, #0x42 mov r3, r4 bl sub_02026214 b _02061BA4 _02061A5C: ldr r0, _02061C44 ; =MISSION_MENU_STRING_IDS_2 mov r1, r1, lsl #1 ldrh r1, [r0, r1] mov r0, r5 bl GetStringFromFileVeneer mov r0, r8 mov r2, r6 mov r3, r5 mov r1, #0x42 bl sub_02026214 b _02061BA4 _02061A88: ldr r1, _02061C48 ; =0x000038DF mov r0, r5 bl GetStringFromFileVeneer mov r0, r8 mov r2, r6 mov r3, r5 mov r1, #0x42 bl sub_02026214 b _02061BA4 _02061AAC: cmp r1, #0 beq _02061BA4 ldrb r0, [r1] cmp r0, #7 cmpne r0, #5 bne _02061BA4 add r0, sp, #0x5c bl InitPreprocessorArgs ldrb r0, [sb, #0x1a] cmp r0, #2 bne _02061B48 ldr r3, _02061C4C ; =0x00003C2D mov r0, r8 add r2, r7, #0xd mov r1, #4 bl sub_02026268 mov r6, #0 ldr r2, _02061C50 ; =_020A3CBC mov r0, r5 add r1, sb, #0x28 mov r3, #1 str r6, [sp] bl sub_0200D310 ldr r0, _02061C54 ; =0x00003C2E str r5, [sp, #0x94] bl StringFromMessageId add r1, sp, #0x5c mov r2, r0 str r1, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r0, r8 mov r1, #0x42 add r2, r7, #0xd mov r3, r4 bl sub_02026214 b _02061BA4 _02061B48: cmp r0, #6 bne _02061BA4 ldr r3, _02061C58 ; =0x00003C2F mov r0, r8 add r2, r7, #0xd mov r1, #4 bl sub_02026268 ldrsh r1, [sb, #0x3c] ldr r0, _02061C5C ; =0x00003C30 str r1, [sp, #0x5c] bl StringFromMessageId add r1, sp, #0x5c mov r2, r0 str r1, [sp] mov r0, r4 mov r1, #0x12c mov r3, #4 bl PreprocessString mov r0, r8 mov r1, #0x42 add r2, r7, #0xd mov r3, r4 bl sub_02026214 _02061BA4: ldrb r1, [sb, #0x45] ldr r2, [sb, #0x5c] mov r0, r8 add r3, r7, #0x1a bl sub_02061CC8 mov r0, r4 bl MemFree mov r0, r5 bl MemFree add sp, sp, #0x14c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02061BD0: .word 0x000038C9 _02061BD4: .word 0x000038CB _02061BD8: .word 0x000038CC _02061BDC: .word 0x000038CA _02061BE0: .word 0x00003C1E _02061BE4: .word 0x000038CE _02061BE8: .word 0x000038CF _02061BEC: .word 0x000038CD _02061BF0: .word 0x00003C21 _02061BF4: .word 0x00003C20 _02061BF8: .word 0x00003C1F _02061BFC: .word _020A4688 _02061C00: .word 0x00003C37 _02061C04: .word _020A4698 _02061C08: .word MISSION_MENU_STRING_IDS_1 _02061C0C: .word _020A46A8 _02061C10: .word 0x00003C22 _02061C14: .word 0x00003C23 _02061C18: .word 0x00003C24 _02061C1C: .word 0x00003C26 _02061C20: .word 0x00003C25 _02061C24: .word 0x00003C27 _02061C28: .word 0x00003C28 _02061C2C: .word 0x00003C2A _02061C30: .word MISSION_RANK_POINTS _02061C34: .word RANK_STRING_PTR_TABLE _02061C38: .word 0x00003C29 _02061C3C: .word 0x00003C2C _02061C40: .word 0x00003C2B _02061C44: .word MISSION_MENU_STRING_IDS_2 _02061C48: .word 0x000038DF _02061C4C: .word 0x00003C2D _02061C50: .word _020A3CBC _02061C54: .word 0x00003C2E _02061C58: .word 0x00003C2F _02061C5C: .word 0x00003C30 arm_func_end sub_02060FD8 arm_func_start sub_02061C60 sub_02061C60: ; 0x02061C60 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02061CBC ; =0x00003C1E mov r4, r1 mov r1, #4 mov r2, #0 mov r5, r0 bl sub_02026268 ldr r3, _02061CC0 ; =_020A46A8 mov r0, r5 mov r1, #0x6c mov r2, #1 bl sub_02026214 ldr r3, _02061CC4 ; =0x00003C4E mov r0, r5 mov r1, #4 mov r2, #0x11 bl sub_02026268 mov r0, r5 mov r2, r4 mov r1, #1 mov r3, #0x7b bl sub_02061CC8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02061CBC: .word 0x00003C1E _02061CC0: .word _020A46A8 _02061CC4: .word 0x00003C4E arm_func_end sub_02061C60 arm_func_start sub_02061CC8 sub_02061CC8: ; 0x02061CC8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x28 mov r4, r2 cmp r1, #9 cmpne r1, #0 mov sl, r0 mov sb, r3 cmpne r4, #0 beq _02061DB8 ldrb r1, [r4] cmp r1, #4 bne _02061DB8 ldr r3, _02061DC4 ; =0x00003C31 mov r2, sb mov r1, #4 bl sub_02026268 add r0, sp, #4 mov r1, r4 add sb, sb, #0xd bl sub_0204DE7C mov r7, #0 mov fp, #0x44 add r6, sp, #4 mov r4, #0xb b _02061DB0 _02061D2C: beq _02061DB8 cmp r7, #5 movlt r8, fp blt _02061D60 cmp r7, #0xc movlt r8, #0x43 blt _02061D60 cmp r7, #0x16 movlt r8, #0x44 blt _02061D60 cmp r7, #0x1d movlt r8, #0x43 movge r8, #0x44 _02061D60: ldrb r0, [r6, r7] bl sub_020251F0 mov r5, r0 mov r0, r7 mov r1, #0x11 bl __divsi3 mul r2, r1, r4 and r0, r8, #0xff str r0, [sp] add r1, r2, #0x13 mov r3, r5 mov r0, sl mov r2, sb bl sub_020264F8 add r0, r7, #1 mov r1, #0x11 bl __divsi3 cmp r1, #0 addeq sb, sb, #0xd add r7, r7, #1 _02061DB0: cmp r7, #0x22 blt _02061D2C _02061DB8: mov r0, sb add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02061DC4: .word 0x00003C31 arm_func_end sub_02061CC8 arm_func_start sub_02061DC8 sub_02061DC8: ; 0x02061DC8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x54 mov r5, r0 add r0, sp, #4 mov r7, r2 mov r4, r1 mov r6, r3 bl InitPreprocessorArgs cmp r7, #0xf addls pc, pc, r7, lsl #2 b _02061EE4 _02061DF4: ; jump table b _02061E34 ; case 0 b _02061E4C ; case 1 b _02061E3C ; case 2 b _02061E5C ; case 3 b _02061EAC ; case 4 b _02061E8C ; case 5 b _02061E68 ; case 6 b _02061E74 ; case 7 b _02061E80 ; case 8 b _02061EE4 ; case 9 b _02061E98 ; case 10 b _02061EA4 ; case 11 b _02061EB8 ; case 12 b _02061EC4 ; case 13 b _02061ED0 ; case 14 b _02061EDC ; case 15 _02061E34: ldr r2, _02061F08 ; =0x00003C38 b _02061EE8 _02061E3C: ldrsh r0, [sp, #0x68] ldr r2, _02061F0C ; =0x00003C3A str r0, [sp, #0x14] b _02061EE8 _02061E4C: ldrsh r0, [sp, #0x68] ldr r2, _02061F10 ; =0x00003C39 str r0, [sp, #0x14] b _02061EE8 _02061E5C: str r6, [sp, #4] ldr r2, _02061F14 ; =0x00003C3B b _02061EE8 _02061E68: str r6, [sp, #4] ldr r2, _02061F18 ; =0x00003C3E b _02061EE8 _02061E74: str r6, [sp, #4] ldr r2, _02061F1C ; =0x00003C3F b _02061EE8 _02061E80: str r6, [sp, #4] mov r2, #0x3c40 b _02061EE8 _02061E8C: str r6, [sp, #4] ldr r2, _02061F20 ; =0x00003C3D b _02061EE8 _02061E98: str r6, [sp, #4] ldr r2, _02061F24 ; =0x00003C42 b _02061EE8 _02061EA4: ldr r2, _02061F28 ; =0x00003C43 b _02061EE8 _02061EAC: str r6, [sp, #4] ldr r2, _02061F2C ; =0x00003C3C b _02061EE8 _02061EB8: str r6, [sp, #4] ldr r2, _02061F30 ; =0x00003C41 b _02061EE8 _02061EC4: str r6, [sp, #4] ldr r2, _02061F34 ; =0x00003C44 b _02061EE8 _02061ED0: str r6, [sp, #4] ldr r2, _02061F38 ; =0x00003C45 b _02061EE8 _02061EDC: ldr r2, _02061F3C ; =0x00003C47 b _02061EE8 _02061EE4: ldr r2, _02061F40 ; =0x00003C46 _02061EE8: add ip, sp, #4 mov r0, r5 mov r1, r4 mov r3, #0 str ip, [sp] bl PreprocessStringFromMessageId add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02061F08: .word 0x00003C38 _02061F0C: .word 0x00003C3A _02061F10: .word 0x00003C39 _02061F14: .word 0x00003C3B _02061F18: .word 0x00003C3E _02061F1C: .word 0x00003C3F _02061F20: .word 0x00003C3D _02061F24: .word 0x00003C42 _02061F28: .word 0x00003C43 _02061F2C: .word 0x00003C3C _02061F30: .word 0x00003C41 _02061F34: .word 0x00003C44 _02061F38: .word 0x00003C45 _02061F3C: .word 0x00003C47 _02061F40: .word 0x00003C46 arm_func_end sub_02061DC8 arm_func_start sub_02061F44 sub_02061F44: ; 0x02061F44 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x6c mov r4, r2 mov r5, r1 mov r6, r0 add r1, sp, #4 mov r0, r4 bl sub_02060274 ldrb r2, [sp, #0x4a] ldrsh ip, [r4, #0x14] mov r0, r6 cmp r2, #0xe ldreqsh r3, [r4, #0xe] mov r1, r5 ldrnesh r3, [r4, #0x10] str ip, [sp] bl sub_02061DC8 add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end sub_02061F44 arm_func_start sub_02061F90 sub_02061F90: ; 0x02061F90 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r4, r2 mov r5, r1 mov r6, r0 add r1, sp, #0 mov r0, r4 bl sub_02060274 add ip, r4, #4 mov r3, #0 add r0, sp, #0 mov r1, r6 mov r2, r5 str ip, [sp, #8] str r3, [sp, #0x64] str r4, [sp, #0x5c] bl sub_02061FDC add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02061F90 arm_func_start sub_02061FDC sub_02061FDC: ; 0x02061FDC stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x54 mov r7, r0 ldr r0, [r7, #8] mov r6, r1 ldrb r0, [r0] mov r5, r2 bl DungeonSwapIdToIdx mov r4, r0 add r0, sp, #4 bl InitPreprocessorArgs ldr r0, [r7, #0x64] cmp r0, #0 ldrneb r0, [r0] cmpne r0, #7 cmpne r0, #5 beq _0206205C mov r0, r4 bl GetDungeonMode cmp r0, #0 bne _0206205C ldr r0, [r7, #8] ldr r2, _020621FC ; =0x00003C35 ldrb r1, [r0] add r4, sp, #4 mov r0, r6 str r1, [sp, #0x14] mov r1, r5 mov r3, #0 str r4, [sp] bl PreprocessStringFromMessageId b _020621F4 _0206205C: ldrb r0, [r7, #0x46] cmp r0, #0xf bne _020620AC ldr r0, [r7, #8] ldrb r0, [r0] bl DungeonGoesUp cmp r0, #0 ldr r0, [r7, #8] ldr r2, _02062200 ; =0x00003C34 ldrneb r0, [r0, #1] add r4, sp, #4 mov r1, r5 ldreqb r0, [r0, #1] mov r3, #0 rsbeq r0, r0, #0 str r0, [sp, #0x28] mov r0, r6 str r4, [sp] bl PreprocessStringFromMessageId b _020621F4 _020620AC: ldr r1, [r7, #0x5c] cmp r1, #0 beq _020620F8 ldrb r0, [r1, #1] cmp r0, #0xb ldreqb r0, [r1, #2] cmpeq r0, #5 bne _020620F8 ldr r0, [r7, #8] ldr r2, _02062204 ; =0x00003C36 ldrb r1, [r0] add r4, sp, #4 mov r0, r6 str r1, [sp, #0x14] mov r1, r5 mov r3, #0 str r4, [sp] bl PreprocessStringFromMessageId b _020621F4 _020620F8: cmp r1, #0 beq _02062150 ldrb r0, [r1, #1] cmp r0, #6 ldreqb r0, [r1, #2] cmpeq r0, #4 beq _02062150 mov r0, r4 bl GetDungeonMode cmp r0, #0 bne _02062150 ldr r0, [r7, #8] ldr r2, _020621FC ; =0x00003C35 ldrb r1, [r0] add r4, sp, #4 mov r0, r6 str r1, [sp, #0x14] mov r1, r5 mov r3, #0 str r4, [sp] bl PreprocessStringFromMessageId b _020621F4 _02062150: ldrb r0, [r7, #0x46] mov r1, #0x20000 cmp r0, #0xc beq _020621A0 ldr r2, [r7, #0x5c] cmp r2, #0 beq _020621A4 ldrb r3, [r2, #1] cmp r3, #0xe beq _020621A0 cmp r3, #6 ldreqb r0, [r2, #2] cmpeq r0, #4 beq _020621A0 cmp r3, #3 ldreqb r0, [r2, #2] cmpeq r0, #3 beq _020621A0 cmp r3, #5 bne _020621A4 _020621A0: mov r1, #0 _020621A4: ldr r0, [r7, #8] ldrb r0, [r0] orr r0, r0, r1 str r0, [sp, #0x14] ldr r0, [r7, #8] ldrb r0, [r0] bl DungeonGoesUp cmp r0, #0 ldr r0, [r7, #8] ldr r2, _02062208 ; =0x00003C32 ldrneb r0, [r0, #1] add r4, sp, #4 mov r1, r5 ldreqb r0, [r0, #1] mov r3, #0 rsbeq r0, r0, #0 str r0, [sp, #0x28] mov r0, r6 str r4, [sp] bl PreprocessStringFromMessageId _020621F4: add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _020621FC: .word 0x00003C35 _02062200: .word 0x00003C34 _02062204: .word 0x00003C36 _02062208: .word 0x00003C32 arm_func_end sub_02061FDC arm_func_start sub_0206220C sub_0206220C: ; 0x0206220C stmdb sp!, {r3, lr} mov ip, r0 mov r0, #0 mov r2, r1 mov r3, r0 b _02062234 _02062224: mov r1, r3, lsl #1 ldrh r1, [r2, r1] add r3, r3, #1 add r0, r0, r1 _02062234: cmp r3, ip blo _02062224 mov r1, ip bl sub_02062248 ldmia sp!, {r3, pc} arm_func_end sub_0206220C arm_func_start sub_02062248 sub_02062248: ; 0x02062248 stmdb sp!, {r4, r5, r6, lr} mov r4, #0 mov r6, r1 mov r5, r2 bl RandIntSafe mov r2, r4 b _02062280 _02062264: mov r1, r2, lsl #1 ldrh r1, [r5, r1] add r4, r4, r1 cmp r0, r4 movlo r0, r2 ldmloia sp!, {r4, r5, r6, pc} add r2, r2, #1 _02062280: cmp r2, r6 blo _02062264 mvn r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02062248 arm_func_start sub_02062290 sub_02062290: ; 0x02062290 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, r0 mov r0, #0x4e mov r1, #0xf mov r6, #0 bl MemAlloc mov r7, r0 cmp r4, #3 addls pc, pc, r4, lsl #2 b _02062524 _020622B8: ; jump table b _020622C8 ; case 0 b _02062360 ; case 1 b _020623F8 ; case 2 b _02062490 ; case 3 _020622C8: bl GetRank mov r8, r0 bl GetScenarioBalance ldr r4, _02062544 ; =_020B0AD8 mov sb, r0 mov sl, r6 mov fp, #0x16 mov r5, r6 _020622E8: ldr r0, [r4, #0xc] add r1, r0, sl, lsl #4 ldrb r0, [r1, #8] cmp r8, r0 blo _0206233C ldrb r0, [r1, #9] cmp sb, r0 blt _0206233C ldrh r0, [r1, #0xa] cmp r0, #0 beq _02062324 mov r0, fp bl GetPerformanceFlagWithChecks cmp r0, #0 beq _0206233C _02062324: ldr r1, [r4, #0xc] mov r0, sl, lsl #4 ldrh r1, [r1, r0] mov r0, sl, lsl #1 strh r1, [r7, r0] b _02062344 _0206233C: mov r0, sl, lsl #1 strh r5, [r7, r0] _02062344: mov r0, sl, lsl #1 ldrh r0, [r7, r0] add sl, sl, #1 cmp sl, #0x27 add r6, r6, r0 blt _020622E8 b _02062524 _02062360: bl GetRank mov r8, r0 bl GetScenarioBalance ldr r4, _02062544 ; =_020B0AD8 mov sb, r0 mov sl, r6 mov fp, #0x16 mov r5, r6 _02062380: ldr r0, [r4, #0xc] add r1, r0, sl, lsl #4 ldrb r0, [r1, #8] cmp r8, r0 blo _020623D4 ldrb r0, [r1, #9] cmp sb, r0 blt _020623D4 ldrh r0, [r1, #0xa] cmp r0, #0 beq _020623BC mov r0, fp bl GetPerformanceFlagWithChecks cmp r0, #0 beq _020623D4 _020623BC: ldr r1, [r4, #0xc] mov r0, sl, lsl #1 add r1, r1, sl, lsl #4 ldrh r1, [r1, #2] strh r1, [r7, r0] b _020623DC _020623D4: mov r0, sl, lsl #1 strh r5, [r7, r0] _020623DC: mov r0, sl, lsl #1 ldrh r0, [r7, r0] add sl, sl, #1 cmp sl, #0x27 add r6, r6, r0 blt _02062380 b _02062524 _020623F8: bl GetRank mov r8, r0 bl GetScenarioBalance ldr r4, _02062544 ; =_020B0AD8 mov sb, r0 mov sl, r6 mov fp, #0x16 mov r5, r6 _02062418: ldr r0, [r4, #0xc] add r1, r0, sl, lsl #4 ldrb r0, [r1, #8] cmp r8, r0 blo _0206246C ldrb r0, [r1, #9] cmp sb, r0 blt _0206246C ldrh r0, [r1, #0xa] cmp r0, #0 beq _02062454 mov r0, fp bl GetPerformanceFlagWithChecks cmp r0, #0 beq _0206246C _02062454: ldr r1, [r4, #0xc] mov r0, sl, lsl #1 add r1, r1, sl, lsl #4 ldrh r1, [r1, #4] strh r1, [r7, r0] b _02062474 _0206246C: mov r0, sl, lsl #1 strh r5, [r7, r0] _02062474: mov r0, sl, lsl #1 ldrh r0, [r7, r0] add sl, sl, #1 cmp sl, #0x27 add r6, r6, r0 blt _02062418 b _02062524 _02062490: bl GetRank mov r8, r0 bl GetScenarioBalance ldr r4, _02062544 ; =_020B0AD8 mov sb, r0 mov sl, r6 mov fp, #0x16 mov r5, r6 _020624B0: ldr r0, [r4, #0xc] add r1, r0, sl, lsl #4 ldrb r0, [r1, #8] cmp r8, r0 blo _02062504 ldrb r0, [r1, #9] cmp sb, r0 blt _02062504 ldrh r0, [r1, #0xa] cmp r0, #0 beq _020624EC mov r0, fp bl GetPerformanceFlagWithChecks cmp r0, #0 beq _02062504 _020624EC: ldr r1, [r4, #0xc] mov r0, sl, lsl #1 add r1, r1, sl, lsl #4 ldrh r1, [r1, #6] strh r1, [r7, r0] b _0206250C _02062504: mov r0, sl, lsl #1 strh r5, [r7, r0] _0206250C: mov r0, sl, lsl #1 ldrh r0, [r7, r0] add sl, sl, #1 cmp sl, #0x27 add r6, r6, r0 blt _020624B0 _02062524: ldr r0, _02062544 ; =_020B0AD8 cmp r6, #0 str r6, [r0, #0x20] str r7, [r0, #0x1c] movne r0, #1 moveq r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02062544: .word _020B0AD8 arm_func_end sub_02062290 arm_func_start sub_02062548 sub_02062548: ; 0x02062548 stmdb sp!, {r3, lr} ldr r0, _02062574 ; =_020B0AD8 ldr r0, [r0, #0x1c] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _02062574 ; =_020B0AD8 mov r1, #0 str r1, [r0, #0x1c] str r1, [r0, #0x20] ldmia sp!, {r3, pc} .align 2, 0 _02062574: .word _020B0AD8 arm_func_end sub_02062548 arm_func_start sub_02062578 sub_02062578: ; 0x02062578 stmdb sp!, {r4, lr} ldr r2, _02062768 ; =_020B0AD8 mov r1, #0x258 ldr r0, [r2, #0x20] ldr r2, [r2, #0x1c] bl sub_02062248 movs r4, r0 bmi _02062760 ldr r0, _02062768 ; =_020B0AD8 ldr r0, [r0, #0xc] add r0, r0, r4, lsl #4 ldrh r0, [r0, #0xc] bl RandInt ldr r2, _02062768 ; =_020B0AD8 mov r1, #0x22 ldr r3, [r2, #0xc] ldr r2, [r2, #0x18] add r3, r3, r4, lsl #4 ldrh r3, [r3, #0xe] add r0, r3, r0 mla r4, r0, r1, r2 ldrb r0, [r4, #0x20] cmp r0, #0xe addls pc, pc, r0, lsl #2 b _02062750 _020625DC: ; jump table b _02062750 ; case 0 b _02062750 ; case 1 b _02062750 ; case 2 b _02062660 ; case 3 b _02062750 ; case 4 b _02062750 ; case 5 b _02062618 ; case 6 b _02062750 ; case 7 b _02062750 ; case 8 b _02062750 ; case 9 b _02062750 ; case 10 b _02062684 ; case 11 b _02062750 ; case 12 b _02062750 ; case 13 b _020626F4 ; case 14 _02062618: ldrb r0, [r4, #0x21] cmp r0, #2 bne _02062638 mov r0, #6 bl GetPerformanceFlagWithChecks cmp r0, #0 moveq r0, #0 beq _02062754 _02062638: ldrb r0, [r4, #0x21] cmp r0, #4 bne _02062750 ldrh r0, [r4, #0xc] and r0, r0, #0xff bl sub_02063394 cmp r0, #0 beq _02062750 mov r0, #0 b _02062754 _02062660: ldrb r0, [r4, #0x21] cmp r0, #2 bne _02062750 mov r0, #9 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _02062750 mov r0, #0 b _02062754 _02062684: ldrb r0, [r4, #0x21] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02062750 _02062694: ; jump table b _02062750 ; case 0 b _020626C0 ; case 1 b _020626C0 ; case 2 b _020626C0 ; case 3 b _020626C0 ; case 4 b _020626AC ; case 5 _020626AC: mov r0, #0 bl sub_0204CA1C cmp r0, #0 moveq r0, #0 beq _02062754 _020626C0: ldrsh r0, [r4, #0x12] bl sub_020558F4 mvn r1, #0 cmp r0, r1 movne r0, #0 bne _02062754 ldrb r0, [r4, #0x20] add r1, r4, #0x21 bl sub_0205E2B8 cmp r0, #0 beq _02062750 mov r0, #0 b _02062754 _020626F4: ldrb r0, [r4, #0x21] cmp r0, #1 bne _02062750 ldrh r0, [r4, #0xc] and r0, r0, #0xff bl DungeonSwapIdToIdx bl GetDungeonMode cmp r0, #3 moveq r0, #0 beq _02062754 ldrb r0, [r4, #0x20] add r1, r4, #0x21 bl sub_0205E2B8 cmp r0, #0 beq _02062750 ldrh r0, [r4, #0xc] mvn r1, #0 mov r2, #0 and r0, r0, #0xff bl sub_0205E090 cmp r0, #0 movne r0, #0 bne _02062754 _02062750: mov r0, #1 _02062754: cmp r0, #0 movne r0, r4 ldmneia sp!, {r4, pc} _02062760: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02062768: .word _020B0AD8 arm_func_end sub_02062578 arm_func_start sub_0206276C sub_0206276C: ; 0x0206276C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r5, _020627F0 ; =_020B0AD8 mov ip, #0 ldr r4, [r5, #0xc] ldr r5, [r5, #0x18] mov r6, #0x22 b _020627E0 _02062788: add lr, r4, ip, lsl #4 ldrh r7, [lr, #0xe] mla r8, r7, r6, r5 ldrb r7, [r8, #0x20] cmp r7, r0 ldreqb r8, [r8, #0x21] ldreqb r7, [r1] cmpeq r8, r7 bne _020627DC cmp r2, #0 ldrneb r0, [lr, #8] ldr r1, [sp, #0x18] strneb r0, [r2] cmp r3, #0 ldrneb r0, [lr, #9] strne r0, [r3] cmp r1, #0 ldrneh r0, [lr, #0xa] strne r0, [r1] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020627DC: add ip, ip, #1 _020627E0: cmp ip, #0x27 blt _02062788 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020627F0: .word _020B0AD8 arm_func_end sub_0206276C arm_func_start sub_020627F4 sub_020627F4: ; 0x020627F4 ldr r0, _02062800 ; =_020B0AD8 ldr r0, [r0, #8] bx lr .align 2, 0 _02062800: .word _020B0AD8 arm_func_end sub_020627F4 arm_func_start sub_02062804 sub_02062804: ; 0x02062804 ldr r0, _02062810 ; =_020B0AD8 ldr r0, [r0, #0x10] bx lr .align 2, 0 _02062810: .word _020B0AD8 arm_func_end sub_02062804 arm_func_start sub_02062814 sub_02062814: ; 0x02062814 cmp r0, #0 ldrne r1, _02062828 ; =MISSION_DUNGEON_UNLOCK_TABLE strne r1, [r0] mov r0, #3 bx lr .align 2, 0 _02062828: .word MISSION_DUNGEON_UNLOCK_TABLE arm_func_end sub_02062814 arm_func_start sub_0206282C sub_0206282C: ; 0x0206282C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r5, #0 ldr r4, _020628FC ; =MISSION_DUNGEON_UNLOCK_TABLE mov sb, r0 mov r8, r5 _02062840: ldrb r0, [r4, r8, lsl #1] bl DungeonSwapIdToIdx bl GetDungeonMode cmp r0, #0 bne _020628E8 bl GetScenarioBalance add r1, r4, r8, lsl #1 ldrb r1, [r1, #1] mov r2, r8, lsl #1 cmp r1, r0 bhi _020628E8 ldrb r0, [r4, r2] bl GetMaxReachedFloor cmp r0, #0 bne _020628E8 ldrb r0, [r4, r8, lsl #1] cmp r0, #0x5b beq _020628E8 mov r7, #1 mov r6, #0 b _020628C8 _02062894: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission ldrb r1, [r0, #1] cmp r1, #3 ldreqb r1, [r0, #2] cmpeq r1, #3 ldreqb r1, [r0, #4] ldreqb r0, [r4, r8, lsl #1] cmpeq r1, r0 moveq r7, #0 beq _020628D0 add r6, r6, #1 _020628C8: cmp r6, #8 blt _02062894 _020628D0: cmp r7, #0 beq _020628E8 cmp sb, #0 ldrneb r0, [r4, r8, lsl #1] strneb r0, [sb, r5] add r5, r5, #1 _020628E8: add r8, r8, #1 cmp r8, #3 blt _02062840 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _020628FC: .word MISSION_DUNGEON_UNLOCK_TABLE arm_func_end sub_0206282C arm_func_start sub_02062900 sub_02062900: ; 0x02062900 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r5, r1 mov r6, r0 mov r4, r2 ldr r1, _02062940 ; =_020A3CA0 add r0, sp, #0 mov r2, #6 bl MemcpySimple add r3, sp, #0 mov r0, r6 mov r1, r5 mov r2, r4 bl sub_02062944 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02062940: .word _020A3CA0 arm_func_end sub_02062900 arm_func_start sub_02062944 sub_02062944: ; 0x02062944 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r0, #0x12 mov r8, r1 mov r5, r2 mov r4, r3 bl RandIntSafe mov r0, r0, lsl #0x10 cmp sb, #0 mov r6, r0, lsr #0x10 mov r7, #0 beq _02062984 mov r0, sb bl RandIntSafe mov r0, r0, lsl #1 ldrsh r7, [r8, r0] _02062984: bl GetRank cmp r0, #3 movhs r0, #1 movlo r0, #0 tst r0, #0xff cmpne r6, #0 moveq r0, #0 streqh r0, [r4, #2] bl GetRank cmp r0, #4 movhs r0, #1 movlo r0, #0 tst r0, #0xff cmpne r7, #0 moveq r0, #0 streqh r0, [r4, #4] mov r1, r4 mov r0, #3 bl sub_0206220C cmp r0, #0 beq _020629F4 cmp r0, #1 beq _02062A04 cmp r0, #2 moveq r0, #1 streqb r0, [r5] streqh r7, [r5, #2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _020629F4: mov r0, #0 strb r0, [r5] strh r0, [r5, #2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02062A04: mov r0, #0 strb r0, [r5] strh r6, [r5, #2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02062944 arm_func_start IsMonsterMissionAllowed IsMonsterMissionAllowed: ; 0x02062A14 stmdb sp!, {r4, lr} mov r4, #0 bl GetBaseForm bl FemaleToMaleForm ldr r1, _02062A54 ; =MISSION_BANNED_MONSTERS b _02062A3C _02062A2C: cmp r0, r2 moveq r0, #0 ldmeqia sp!, {r4, pc} add r4, r4, #1 _02062A3C: mov r2, r4, lsl #1 ldrsh r2, [r1, r2] cmp r2, #0 bne _02062A2C mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _02062A54: .word MISSION_BANNED_MONSTERS arm_func_end IsMonsterMissionAllowed arm_func_start CanMonsterBeUsedForMissionWrapper CanMonsterBeUsedForMissionWrapper: ; 0x02062A58 ldr ip, _02062A64 ; =CanMonsterBeUsedForMission mov r1, #1 bx ip .align 2, 0 _02062A64: .word CanMonsterBeUsedForMission arm_func_end CanMonsterBeUsedForMissionWrapper arm_func_start CanMonsterBeUsedForMission CanMonsterBeUsedForMission: ; 0x02062A68 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl FemaleToMaleForm mov r4, r0 bl HasMonsterBeenAttackedInDungeons cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 bl GetBaseForm cmp r4, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} cmp r5, #0 beq _02062AB8 mov r0, r4 bl IsMonsterMissionAllowed cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _02062AB8: mov r0, r4 bl IsMonsterMissionAllowedStory cmp r0, #0 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end CanMonsterBeUsedForMission arm_func_start sub_02062AD0 sub_02062AD0: ; 0x02062AD0 stmdb sp!, {r3, lr} bl GetBaseForm bl FemaleToMaleForm bl IsMonsterMissionAllowedStory ldmia sp!, {r3, pc} arm_func_end sub_02062AD0 arm_func_start IsMonsterMissionAllowedStory IsMonsterMissionAllowedStory: ; 0x02062AE4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #9 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _02062B58 mov r2, #0 ldr r0, _02062B60 ; =MISSION_BANNED_STORY_MONSTERS b _02062B18 _02062B08: cmp r4, r1 moveq r0, #0 ldmeqia sp!, {r4, pc} add r2, r2, #1 _02062B18: mov r1, r2, lsl #1 ldrsh r1, [r0, r1] cmp r1, #0 bne _02062B08 bl GetHero ldrsh r0, [r0, #4] bl FemaleToMaleForm cmp r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} bl GetPartner ldrsh r0, [r0, #4] bl FemaleToMaleForm cmp r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02062B58: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _02062B60: .word MISSION_BANNED_STORY_MONSTERS arm_func_end IsMonsterMissionAllowedStory arm_func_start sub_02062B64 sub_02062B64: ; 0x02062B64 stmdb sp!, {r4, lr} mov r4, r0 bl IsMonsterValid cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r0, _02062BB0 ; =0x00000217 cmp r4, r0 blt _02062B90 cmp r4, #0x228 ble _02062BA0 _02062B90: cmp r4, #0x180 ldrne r0, _02062BB4 ; =0x00000117 cmpne r4, r0 bne _02062BA8 _02062BA0: mov r0, #1 ldmia sp!, {r4, pc} _02062BA8: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02062BB0: .word 0x00000217 _02062BB4: .word 0x00000117 arm_func_end sub_02062B64 arm_func_start sub_02062BB8 sub_02062BB8: ; 0x02062BB8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl DungeonSwapIdToIdx cmp r5, #0x36 mov r4, r0 cmpne r5, #0x68 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} cmp r5, #0x7b blo _02062BEC cmp r5, #0xa3 movls r0, #0 ldmlsia sp!, {r3, r4, r5, pc} _02062BEC: cmp r5, #0xaf movhs r0, #0 ldmhsia sp!, {r3, r4, r5, pc} add r0, r5, #0xe8 and r0, r0, #0xff cmp r0, #1 bhi _02062C1C mov r0, #9 bl GetPerformanceFlagWithChecks cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _02062C1C: mvn r0, #0 cmp r4, r0 beq _02062C44 cmp r4, #0xb4 bge _02062C44 mov r0, r4 bl GetDungeonMode cmp r0, #3 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _02062C44: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02062BB8 arm_func_start sub_02062C4C sub_02062C4C: ; 0x02062C4C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov sl, r0 cmp sl, #0 mov sb, r1 mov r8, r2 str r3, [sp] movle r0, #0 ble _02062D38 bl RandIntSafe mov r6, r0 mov fp, r6 _02062C7C: ldrb r4, [sb, r6] mov r0, r4 bl GetNbFloors mov r7, r0 cmp r4, #0xae addne r7, r7, #1 add r0, r7, r7, lsr #31 mov r0, r0, asr #1 mov r1, r7 str r0, [sp, #8] bl RandRangeSafe mov r5, r0 str r5, [sp, #4] _02062CB0: strb r4, [sp, #0x10] strb r5, [sp, #0x11] mov r0, #1 str r0, [sp, #0xc] add r0, sp, #0x10 bl IsForbiddenFloor cmp r0, #0 movne r0, #0 strne r0, [sp, #0xc] ldr r2, [sp] mov r0, r4 mov r1, r5 bl sub_0205E090 cmp r0, #0 movne r0, #0 strne r0, [sp, #0xc] ldr r0, [sp, #0xc] cmp r0, #0 strneb r4, [r8] strneb r5, [r8, #1] movne r0, #1 bne _02062D38 add r5, r5, #1 cmp r5, r7 ldrge r5, [sp, #8] ldr r0, [sp, #4] cmp r5, r0 bne _02062CB0 add r6, r6, #1 cmp r6, sl moveq r6, #0 cmp r6, fp bne _02062C7C mov r0, #0 _02062D38: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02062C4C arm_func_start sub_02062D40 sub_02062D40: ; 0x02062D40 stmdb sp!, {r3, lr} bl sub_0204F7A8 cmp r0, #7 movle r0, #1 movgt r0, #0 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end sub_02062D40 arm_func_start sub_02062D5C sub_02062D5C: ; 0x02062D5C stmdb sp!, {r4, lr} mov r4, r1 bl sub_0204F7A8 cmp r4, #2 cmpne r4, #3 cmpne r4, #4 cmpne r4, #5 beq _02062D8C add r1, r4, #0xf7 and r1, r1, #0xff cmp r1, #1 bhi _02062D90 _02062D8C: add r0, r0, #1 _02062D90: cmp r0, #0xf movgt r0, #0xf ldmia sp!, {r4, pc} arm_func_end sub_02062D5C arm_func_start sub_02062D9C sub_02062D9C: ; 0x02062D9C stmdb sp!, {r3, lr} bl sub_02062D5C and r0, r0, #0xff cmp r0, #0x10 movhs r0, #0xf ldmia sp!, {r3, pc} arm_func_end sub_02062D9C arm_func_start sub_02062DB4 sub_02062DB4: ; 0x02062DB4 ldr r1, _02062DC0 ; =RANK_STRING_PTR_TABLE ldr r0, [r1, r0, lsl #2] bx lr .align 2, 0 _02062DC0: .word RANK_STRING_PTR_TABLE arm_func_end sub_02062DB4 arm_func_start sub_02062DC4 sub_02062DC4: ; 0x02062DC4 stmdb sp!, {r3, lr} bl sub_02062D5C ldr r1, _02062DD8 ; =MISSION_RANK_POINTS ldr r0, [r1, r0, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 _02062DD8: .word MISSION_RANK_POINTS arm_func_end sub_02062DC4 arm_func_start CanSendItem CanSendItem: ; 0x02062DDC stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 bne _02062DFC bl IsItemInTimeDarkness cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02062DFC: mov r2, #0 ldr r0, _02062E30 ; =NO_SEND_ITEM_TABLE b _02062E18 _02062E08: cmp r4, r1 moveq r0, #0 ldmeqia sp!, {r4, pc} add r2, r2, #1 _02062E18: mov r1, r2, lsl #1 ldrsh r1, [r0, r1] cmp r1, #0 bne _02062E08 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _02062E30: .word NO_SEND_ITEM_TABLE arm_func_end CanSendItem arm_func_start sub_02062E34 sub_02062E34: ; 0x02062E34 stmdb sp!, {r4, lr} cmp r1, #0 ldrnesh r4, [r0, #0xa0] ldreqsh r4, [r0, #0xa2] ldrb r0, [r0, #0xae] bl sub_0205BD5C mov r1, r0 mov r0, r4 bl CanSendItem ldmia sp!, {r4, pc} arm_func_end sub_02062E34 arm_func_start sub_02062E5C sub_02062E5C: ; 0x02062E5C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldrb r1, [r5, #1] add r0, r5, #4 bl sub_02062D9C mov ip, #0 str ip, [r4, #8] mov r3, ip mov r1, #6 _02062E84: mla r2, ip, r1, r4 add ip, ip, #1 strh r3, [r2, #0x14] cmp ip, #3 blt _02062E84 add r1, r0, #1 mov r0, #0x32 mul r0, r1, r0 str r0, [r4, #8] ldrb r0, [r5, #0x16] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0206305C _02062EB8: ; jump table b _02062ED4 ; case 0 b _02062EE4 ; case 1 b _02062F04 ; case 2 b _02062F38 ; case 3 b _02062FD8 ; case 4 b _0206300C ; case 5 b _02063038 ; case 6 _02062ED4: strb r3, [r4, #2] mov r0, #1 str r0, [r4, #0xc] b _02063074 _02062EE4: mov r2, #1 strb r2, [r4, #2] ldrsh r1, [r5, #0x18] mov r0, #0xa strh r1, [r4, #0x14] strh r0, [r4, #0x12] str r2, [r4, #0xc] b _02063074 _02062F04: mov r0, #2 strb r0, [r4, #2] ldrsh r2, [r5, #0x18] mov r0, #1 mov r1, #0xa strh r2, [r4, #0x14] strh r1, [r4, #0x12] str r0, [r4, #0xc] ldr r1, [r4, #8] sub r0, r0, #2 mul r0, r1, r0 str r0, [r4, #8] b _02063074 _02062F38: mov r0, #3 strb r0, [r4, #2] ldrsh r1, [r5, #0x18] mov r0, #0xa strh r1, [r4, #0x14] strh r0, [r4, #0x12] _02062F50: ldrb r1, [r5, #1] add r0, r5, #4 add r2, r4, #0x1a bl sub_020630A4 ldrsh r1, [r4, #0x14] ldrsh r0, [r4, #0x1a] cmp r1, r0 beq _02062F50 mov r0, #0xa strh r0, [r4, #0x18] mov r0, #2 str r0, [r4, #0xc] bl RandInt cmp r0, #0 beq _02062FC4 _02062F8C: ldrb r1, [r5, #1] add r0, r5, #4 add r2, r4, #0x20 bl sub_020630A4 ldrsh r1, [r4, #0x20] ldrsh r0, [r4, #0x14] cmp r0, r1 ldrnesh r0, [r4, #0x1a] cmpne r0, r1 beq _02062F8C mov r0, #0xa strh r0, [r4, #0x1e] mov r0, #3 str r0, [r4, #0xc] _02062FC4: ldr r1, [r4, #8] mvn r0, #0 mul r0, r1, r0 str r0, [r4, #8] b _02063074 _02062FD8: mov r0, #4 strb r0, [r4, #2] ldrsh r2, [r5, #0x18] mov r0, #1 mov r1, #0xa strh r2, [r4, #0x14] strh r1, [r4, #0x12] str r0, [r4, #0xc] ldr r1, [r4, #8] sub r0, r0, #2 mul r0, r1, r0 str r0, [r4, #8] b _02063074 _0206300C: mov r1, #5 mov r0, #1 strb r1, [r4, #2] strb r0, [r4, #0x22] ldrsh r1, [r5, #0x18] sub r0, r0, #2 strh r1, [r4, #0x24] ldr r1, [r4, #8] mul r0, r1, r0 str r0, [r4, #8] b _02063074 _02063038: mov r0, #6 strb r0, [r4, #2] ldrsh r1, [r5, #0x18] sub r0, r0, #7 strh r1, [r4, #0x24] ldr r1, [r4, #8] mul r0, r1, r0 str r0, [r4, #8] b _02063074 _0206305C: mov r0, #7 strb r0, [r4, #2] ldr r1, [r4, #8] sub r0, r0, #8 mul r0, r1, r0 str r0, [r4, #8] _02063074: ldrsh r1, [r5, #0xe] add r0, r5, #4 strh r1, [r4] ldrb r1, [r5, #1] bl sub_02062D5C ldr r1, _02063098 ; =MISSION_RANK_POINTS ldr r0, [r1, r0, lsl #2] str r0, [r4, #0x28] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02063098: .word MISSION_RANK_POINTS arm_func_end sub_02062E5C arm_func_start sub_0206309C sub_0206309C: ; 0x0206309C mov r0, #0xa bx lr arm_func_end sub_0206309C arm_func_start sub_020630A4 sub_020630A4: ; 0x020630A4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r2 mov r5, #1 bl sub_02062D5C mov r6, r0 mov r0, r8 mov r1, r6 bl RetrieveFromItemList2 mov r4, #0 b _020630E0 _020630D0: mov r0, r8 mov r1, r6 mov r5, r4 bl RetrieveFromItemList2 _020630E0: cmp r5, #0 bne _020630D0 strh r0, [r7] ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_020630A4 arm_func_start sub_020630F0 sub_020630F0: ; 0x020630F0 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r4, r0 mov r1, #0 bl GetExclusiveItem mov r5, r0 mov r0, r4 mov r1, #1 bl GetExclusiveItem mov r4, r0 cmp r5, #0 cmpeq r4, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r5, #0 streqh r4, [r6] beq _02063154 cmp r4, #0 streqh r5, [r6] beq _02063154 mov r0, #2 bl RandInt cmp r0, #0 moveq r5, r4 strh r5, [r6] _02063154: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020630F0 arm_func_start sub_0206315C sub_0206315C: ; 0x0206315C stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 ldrb r0, [r4, #1] cmp r0, #6 beq _020631D8 cmp r0, #0xa beq _02063188 cmp r0, #0xb beq _020631B4 b _020631F4 _02063188: ldr r1, _02063230 ; =_020A3CD6 add r0, sp, #0 mov r2, #0xe bl MemcpySimple mov r0, #0 strh r0, [sp, #0xc] ldrsh r2, [r4, #0x10] add r1, sp, #0 mov r0, r4 bl sub_02063240 b _02063228 _020631B4: ldrb r0, [r4, #2] cmp r0, #1 blo _020631D8 cmp r0, #5 movls r0, #6 strlsb r0, [r4, #0x16] ldrlssh r0, [r4, #0xe] strlsh r0, [r4, #0x18] bls _02063228 _020631D8: ldrb r0, [r4, #2] cmp r0, #4 moveq r1, #4 ldreq r0, _02063234 ; =0x0000031E streqb r1, [r4, #0x16] streqh r0, [r4, #0x18] beq _02063228 _020631F4: cmp r1, #0 add r0, sp, #0 mov r2, #0xe beq _02063210 ldr r1, _02063238 ; =ARM9_UNKNOWN_TABLE__NA_20A3CE4 bl MemcpySimple b _02063218 _02063210: ldr r1, _0206323C ; =ARM9_UNKNOWN_TABLE__NA_20A3CC8 bl MemcpySimple _02063218: ldrsh r2, [r4, #0xe] add r1, sp, #0 mov r0, r4 bl sub_02063240 _02063228: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 _02063230: .word _020A3CD6 _02063234: .word 0x0000031E _02063238: .word ARM9_UNKNOWN_TABLE__NA_20A3CE4 _0206323C: .word ARM9_UNKNOWN_TABLE__NA_20A3CC8 arm_func_end sub_0206315C arm_func_start sub_02063240 sub_02063240: ; 0x02063240 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r0 mov r6, r1 mov r5, r2 mov r0, #3 mov r1, #0xc mov r2, #0 bl sub_0204C6C8 cmp r0, #0 movne r0, #0 strneh r0, [r6, #0xa] mov r0, #3 mov r1, #6 mov r2, #0 bl sub_0204C6C8 cmp r0, #0 movne r0, #0 strneh r0, [r6, #0xc] mov r0, #3 mov r1, #8 mov r2, #0 bl sub_0204C6C8 cmp r0, #0 bne _020632B8 ldrb r1, [r4, #1] add r0, r4, #4 bl sub_02062D9C cmp r0, #0xb bge _020632C0 _020632B8: mov r0, #0 strh r0, [r6, #8] _020632C0: mov r1, r6 mov r0, #7 bl sub_0206220C and r1, r0, #0xff strb r0, [r4, #0x16] cmp r1, #6 ldreqsh r0, [r4, #0xe] streqh r0, [r4, #0x18] beq _0206338C cmp r1, #4 bne _0206336C add r1, sp, #0 mov r0, r5 bl sub_020630F0 cmp r0, #0 bne _02063360 mov r0, r5 mov r1, #0 bl GetType mov r6, r0 mov r0, r5 mov r1, #1 bl GetType movs r5, r0 beq _02063334 mov r0, #2 bl RandInt cmp r0, #0 beq _0206334C _02063334: sub r0, r6, #1 mov r0, r0, lsl #2 add r0, r0, #0xfb add r0, r0, #0x100 strh r0, [sp] b _02063360 _0206334C: sub r0, r5, #1 mov r0, r0, lsl #2 add r0, r0, #0xfb add r0, r0, #0x100 strh r0, [sp] _02063360: ldrsh r0, [sp] strh r0, [r4, #0x18] b _0206338C _0206336C: ldrb r1, [r4, #1] add r0, r4, #4 add r2, r4, #0x18 bl sub_020630A4 ldrsh r1, [r4, #0x14] ldrsh r0, [r4, #0x18] cmp r1, r0 beq _0206336C _0206338C: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end sub_02063240 arm_func_start sub_02063394 sub_02063394: ; 0x02063394 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 bl DungeonSwapIdToIdx mov r5, r0 mov r4, #0 ldr r1, _0206341C ; =MISSION_DUNGEON_UNLOCK_TABLE b _0206340C _020633B0: ldrb r0, [r1, r4, lsl #1] cmp r6, r0 bne _02063408 bl GetScenarioBalance ldr r1, _02063420 ; =_020A3CAD ldrb r1, [r1, r4, lsl #1] cmp r1, r0 movhi r0, #1 ldmhiia sp!, {r4, r5, r6, pc} mov r0, r5 bl GetDungeonMode cmp r0, #0 bne _020633F8 ldr r0, _0206341C ; =MISSION_DUNGEON_UNLOCK_TABLE ldrb r0, [r0, r4, lsl #1] bl GetMaxReachedFloor cmp r0, #0 beq _02063400 _020633F8: mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _02063400: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02063408: add r4, r4, #1 _0206340C: cmp r4, #3 blt _020633B0 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206341C: .word MISSION_DUNGEON_UNLOCK_TABLE _02063420: .word _020A3CAD arm_func_end sub_02063394 arm_func_start sub_02063424 sub_02063424: ; 0x02063424 stmdb sp!, {r4, lr} cmp r0, #0xb ldreqb r0, [r1] mov r4, r2 cmpeq r0, #5 mov r0, r4 bne _02063448 bl GetNbFloors ldmia sp!, {r4, pc} _02063448: bl GetNbFloors cmp r4, #0xae addne r0, r0, #1 sub r0, r0, #1 ldmia sp!, {r4, pc} arm_func_end sub_02063424 arm_func_start IsAvailableItem IsAvailableItem: ; 0x0206345C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, #0 b _02063498 _0206346C: and r0, r4, #0xff bl GetMaxReachedFloor cmp r0, #0 beq _02063494 mov r1, r5 and r0, r4, #0xff bl IsItemAvailableInDungeonGroup cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _02063494: add r4, r4, #1 _02063498: cmp r4, #0xb4 blt _0206346C mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end IsAvailableItem arm_func_start GetAvailableItemDeliveryList GetAvailableItemDeliveryList: ; 0x020634A8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, #0 ldr r4, _020634F0 ; =ITEM_DELIVERY_TABLE mov r8, r0 mov r5, r6 _020634BC: mov r0, r5, lsl #1 ldrsh r7, [r4, r0] mov r0, r7 bl IsAvailableItem cmp r0, #0 movne r0, r6, lsl #1 add r5, r5, #1 strneh r7, [r8, r0] addne r6, r6, #1 cmp r5, #0x16 blt _020634BC mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020634F0: .word ITEM_DELIVERY_TABLE arm_func_end GetAvailableItemDeliveryList arm_func_start sub_020634F4 sub_020634F4: ; 0x020634F4 ldr r1, _02063500 ; =_020B0AD8 str r0, [r1] bx lr .align 2, 0 _02063500: .word _020B0AD8 arm_func_end sub_020634F4 arm_func_start sub_02063504 sub_02063504: ; 0x02063504 ldr r0, _02063518 ; =_020B0AD8 ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr .align 2, 0 _02063518: .word _020B0AD8 arm_func_end sub_02063504 arm_func_start sub_0206351C sub_0206351C: ; 0x0206351C mov ip, #0 strh ip, [r0] str ip, [r0, #8] str ip, [r0, #0xc] mov r3, ip mov r1, #6 _02063534: mla r2, ip, r1, r0 add ip, ip, #1 strh r3, [r2, #0x14] cmp ip, #3 blt _02063534 strb r3, [r0, #0x22] strh r3, [r0, #0x24] str r3, [r0, #0x28] mov r1, #1 str r1, [r0, #4] bx lr arm_func_end sub_0206351C arm_func_start sub_02063560 sub_02063560: ; 0x02063560 stmdb sp!, {r3, lr} ldrsh r2, [r1] cmp r2, #0 beq _020635BC mov r2, #0x8000 strh r2, [r0] ldrsh r2, [r1, #2] add ip, r1, #4 add r3, r0, #0x14 strh r2, [r0, #4] ldrsh lr, [r1, #2] mov r2, #4 strh lr, [r0, #2] str ip, [r0, #8] str ip, [r0, #0xc] ldrsh r1, [r1] add r1, ip, r1, lsl #2 str r1, [r0, #0x10] _020635A8: ldrb r0, [ip], #1 subs r2, r2, #1 strb r0, [r3], #1 bne _020635A8 ldmia sp!, {r3, pc} _020635BC: mov r1, #0 strh r1, [r0] ldmia sp!, {r3, pc} arm_func_end sub_02063560 arm_func_start sub_020635C8 sub_020635C8: ; 0x020635C8 ldr ip, _020635D4 ; =MemZero mov r1, #0xc bx ip .align 2, 0 _020635D4: .word MemZero arm_func_end sub_020635C8 arm_func_start sub_020635D8 sub_020635D8: ; 0x020635D8 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4] cmp r1, #0 ldmeqia sp!, {r4, pc} bl UnloadFile mov r0, r4 mov r1, #0xc bl MemZero ldmia sp!, {r4, pc} arm_func_end sub_020635D8 arm_func_start sub_02063600 sub_02063600: ; 0x02063600 ldr ip, _0206360C ; =MemZero mov r1, #0x18 bx ip .align 2, 0 _0206360C: .word MemZero arm_func_end sub_02063600 arm_func_start sub_02063610 sub_02063610: ; 0x02063610 ldr r0, [r0, #8] cmp r0, #0 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_02063610 arm_func_start sub_02063628 sub_02063628: ; 0x02063628 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r1, #0x18 mov r7, r0 mov r5, r2 bl MemZero mov r0, #0x18 mul r4, r5, r0 mov r0, r4 mov r1, #0 str r5, [r7, #0xc] bl MemAlloc mov r1, r4 str r0, [r7, #8] bl MemZero mov r0, r7 str r6, [r7, #4] bl sub_020636A8 mov r0, #0x1f str r0, [r7, #0x10] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02063628 arm_func_start sub_0206367C sub_0206367C: ; 0x0206367C stmdb sp!, {r4, lr} mov r4, r0 bl sub_02063610 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] bl MemFree mov r0, r4 mov r1, #0x18 bl MemZero ldmia sp!, {r4, pc} arm_func_end sub_0206367C arm_func_start sub_020636A8 sub_020636A8: ; 0x020636A8 ldr r1, [r0] cmp r1, #0 beq _020636F0 ldr r1, [r1] cmp r1, #4 addls pc, pc, r1, lsl #2 bx lr _020636C4: ; jump table b _020636D8 ; case 0 b _020636E4 ; case 1 b _020636E4 ; case 2 b _020636E4 ; case 3 b _020636E4 ; case 4 _020636D8: mov r1, #0 strb r1, [r0, #0x14] bx lr _020636E4: mov r1, #1 strb r1, [r0, #0x14] bx lr _020636F0: ldr r1, [r0, #4] ldr r1, [r1] ldr r1, [r1] cmp r1, #4 addls pc, pc, r1, lsl #2 bx lr _02063708: ; jump table b _0206371C ; case 0 b _02063728 ; case 1 b _02063728 ; case 2 b _02063728 ; case 3 b _02063728 ; case 4 _0206371C: mov r1, #0 strb r1, [r0, #0x14] bx lr _02063728: mov r1, #1 strb r1, [r0, #0x14] bx lr arm_func_end sub_020636A8 arm_func_start sub_02063734 sub_02063734: ; 0x02063734 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, #0 mov r4, #0x18 b _02063764 _02063750: ldr r0, [r8, #8] ldr r1, [r7, r5, lsl #2] mla r0, r5, r4, r0 bl sub_02063560 add r5, r5, #1 _02063764: cmp r5, r6 blt _02063750 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02063734 arm_func_start sub_02063770 sub_02063770: ; 0x02063770 ldrb r0, [r0, #0x15] bx lr arm_func_end sub_02063770 arm_func_start sub_02063778 sub_02063778: ; 0x02063778 mov r2, #0x18 mul r2, r1, r2 ldr r0, [r0, #8] ldrh r0, [r0, r2] tst r0, #0x8000 movne r0, #1 moveq r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_02063778 arm_func_start sub_0206379C sub_0206379C: ; 0x0206379C mov r2, #0x18 mul r2, r1, r2 ldr r0, [r0, #8] ldrh r0, [r0, r2] tst r0, #0x8000 beq _020637C0 tst r0, #0x2000 movne r0, #1 bxne lr _020637C0: mov r0, #0 bx lr arm_func_end sub_0206379C arm_func_start sub_020637C8 sub_020637C8: ; 0x020637C8 stmdb sp!, {r4, lr} ldrb ip, [sp, #8] mov r4, r0 mov r0, r4 cmp ip, #0 addne r3, r3, r2, lsl #8 mov r3, r3, lsl #0x10 mov r2, r1 mov r1, r3, lsr #0x10 bl sub_0200A29C mov r0, r4 bl sub_0200A174 ldmia sp!, {r4, pc} arm_func_end sub_020637C8 arm_func_start sub_020637FC sub_020637FC: ; 0x020637FC stmdb sp!, {r4, lr} ldrb ip, [sp, #8] mov r4, r0 mov r0, r4 cmp ip, #0 addne r3, r3, r2, lsl #8 mov r3, r3, lsl #0x10 mov r2, r1 mov r1, r3, lsr #0x10 bl sub_0200A590 mov r0, r4 bl sub_0200A504 ldmia sp!, {r4, pc} arm_func_end sub_020637FC arm_func_start sub_02063830 sub_02063830: ; 0x02063830 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r6, #0 mov sl, r0 mov sb, r1 mov r8, r2 mov fp, r3 mov r5, r6 ldr r7, [sp, #0x28] b _0206394C _02063854: mov r0, sl mov r1, r5 bl sub_02063778 cmp r0, #0 beq _02063948 mov r0, sl mov r1, r5 bl sub_0206379C cmp r0, #0 bne _02063948 ldr r1, [sl, #8] mov r0, #0x18 mla r4, r5, r0, r1 mov r0, #0 strb r0, [sl, #0x15] ldrsh r0, [r4, #4] sub r0, r0, #1 strh r0, [r4, #4] ldrsh r0, [r4, #4] cmp r0, #0 bgt _020638F4 ldrsh r0, [r4, #2] add r2, r4, #0x14 strh r0, [r4, #4] ldr r1, [r4, #0xc] ldr r0, [r4, #0x10] cmp r1, r0 ldrhs r1, [r4, #8] movhs r0, #1 strhs r1, [r4, #0xc] strhsb r0, [sl, #0x15] ldr r3, [r4, #0xc] mov r1, #4 add r0, r3, #4 str r0, [r4, #0xc] _020638E0: ldrb r0, [r3], #1 subs r1, r1, #1 strb r0, [r2], #1 bne _020638E0 mov r6, #1 _020638F4: cmp r7, #0 cmpeq r6, #0 beq _02063948 ldr r0, [sl] cmp r0, #0 beq _02063924 ldrb ip, [sl, #0x14] mov r2, sb add r1, r4, #0x14 add r3, r8, r5 str ip, [sp] bl sub_020637C8 _02063924: ldr r0, [sl, #4] cmp r0, #0 beq _02063948 ldrb ip, [sl, #0x14] mov r2, sb add r1, r4, #0x14 add r3, r8, r5 str ip, [sp] bl sub_020637FC _02063948: add r5, r5, #1 _0206394C: cmp r5, fp blt _02063854 mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02063830 arm_func_start sub_0206395C sub_0206395C: ; 0x0206395C stmdb sp!, {r3, lr} ldr r0, _020639AC ; =0x00000668 mov r1, #0 bl MemAlloc ldr r2, _020639B0 ; =_020B0B04 ldr r1, _020639AC ; =0x00000668 str r0, [r2] bl MemZero ldr r0, _020639B0 ; =_020B0B04 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x664] ldr r0, [r0] add r0, r0, #0x58 bl sub_02064AB0 ldr r0, _020639B0 ; =_020B0B04 ldr r0, [r0] add r0, r0, #0x58 bl sub_02064ADC ldmia sp!, {r3, pc} .align 2, 0 _020639AC: .word 0x00000668 _020639B0: .word _020B0B04 arm_func_end sub_0206395C arm_func_start sub_020639B4 sub_020639B4: ; 0x020639B4 stmdb sp!, {r4, lr} ldr ip, _020639E4 ; =_020B0B04 mov r4, r0 ldr r0, [ip] mov lr, r1 mov ip, r2 add r0, r0, r3, lsl #5 mov r1, r4 mov r2, lr mov r3, ip bl sub_020646CC ldmia sp!, {r4, pc} .align 2, 0 _020639E4: .word _020B0B04 arm_func_end sub_020639B4 arm_func_start sub_020639E8 sub_020639E8: ; 0x020639E8 ldr r2, _02063A04 ; =_020B0B04 ldr ip, _02063A08 ; =sub_02064C18 ldr r3, [r2] mov r2, r1 mov r1, r0 add r0, r3, #0x40 bx ip .align 2, 0 _02063A04: .word _020B0B04 _02063A08: .word sub_02064C18 arm_func_end sub_020639E8 arm_func_start sub_02063A0C sub_02063A0C: ; 0x02063A0C ldr r1, _02063A1C ; =_020B0B04 ldr r1, [r1] strb r0, [r1, #0x664] bx lr .align 2, 0 _02063A1C: .word _020B0B04 arm_func_end sub_02063A0C arm_func_start sub_02063A20 sub_02063A20: ; 0x02063A20 ldr r0, _02063A30 ; =_020B0B04 ldr r0, [r0] ldrb r0, [r0, #0x664] bx lr .align 2, 0 _02063A30: .word _020B0B04 arm_func_end sub_02063A20 arm_func_start sub_02063A34 sub_02063A34: ; 0x02063A34 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, r1 bl sub_02063BB8 movs r4, r0 mov r0, #0 bne _02063B20 cmp r5, #1 bne _02063A98 mov r2, r4 mov r1, #2 bl sub_020090A0 mov r2, r4 mov r0, #1 mov r1, #0 bl sub_020090A0 mov r2, r4 mov r0, #2 mov r1, #1 bl sub_020090A0 mov r0, #3 mov r1, r0 mov r2, r4 bl sub_020090A0 b _02063BA0 _02063A98: cmp r5, #2 bne _02063AE0 mov r1, r0 mov r2, r4 bl sub_020090A0 mov r0, #1 mov r1, r0 mov r2, r4 bl sub_020090A0 mov r0, #2 mov r1, r0 mov r2, r4 bl sub_020090A0 mov r0, #3 mov r1, r0 mov r2, r4 bl sub_020090A0 b _02063BA0 _02063AE0: mov r2, r4 mov r1, #1 bl sub_020090A0 mov r2, r4 mov r0, #1 mov r1, #0 bl sub_020090A0 mov r0, #2 mov r1, r0 mov r2, r4 bl sub_020090A0 mov r0, #3 mov r1, r0 mov r2, r4 bl sub_020090A0 b _02063BA0 _02063B20: cmp r5, #1 mov r2, r4 bne _02063B68 mov r1, #2 bl sub_020090A0 mov r2, r4 mov r0, #1 mov r1, #0 bl sub_020090A0 mov r2, r4 mov r0, #2 mov r1, #1 bl sub_020090A0 mov r0, #3 mov r1, r0 mov r2, r4 bl sub_020090A0 b _02063BA0 _02063B68: mov r1, #1 bl sub_020090A0 mov r2, r4 mov r0, #1 mov r1, #0 bl sub_020090A0 mov r0, #2 mov r1, r0 mov r2, r4 bl sub_020090A0 mov r0, #3 mov r1, r0 mov r2, r4 bl sub_020090A0 _02063BA0: ldr r0, _02063BB4 ; =_020B0B04 ldr r0, [r0] add r0, r0, r4 strb r5, [r0, #0x660] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02063BB4: .word _020B0B04 arm_func_end sub_02063A34 arm_func_start sub_02063BB8 sub_02063BB8: ; 0x02063BB8 cmp r0, #0 cmpne r0, #2 moveq r0, #0 movne r0, #1 bx lr arm_func_end sub_02063BB8 arm_func_start sub_02063BCC sub_02063BCC: ; 0x02063BCC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, r1 bl sub_02063BB8 mov r4, r0 cmp r5, #1 beq _02063BFC cmp r5, #2 beq _02063C60 cmp r5, #3 beq _02063CB4 b _02063D18 _02063BFC: mov r2, r4 mov r0, #0 mov r1, #1 bl sub_02009454 mov r2, r4 mov r0, #1 mov r1, #2 bl sub_02009454 mov r0, #2 mov r1, r0 mov r2, r4 bl sub_02009454 mov r2, r4 mov r0, #3 mov r1, #2 bl sub_02009454 mov r0, #4 mov r1, #2 mov r2, r4 bl sub_02009454 mov r0, #0xff mov r1, #0 mov r2, r4 bl sub_020094C4 b _02063DCC _02063C60: mov r2, r4 mov r0, #0 mov r1, #2 bl sub_02009454 mov r2, r4 mov r0, #1 mov r1, #2 bl sub_02009454 mov r2, r4 mov r0, #2 mov r1, #1 bl sub_02009454 mov r2, r4 mov r0, #3 mov r1, #2 bl sub_02009454 mov r0, #4 mov r1, #2 mov r2, r4 bl sub_02009454 b _02063DCC _02063CB4: mov r2, r4 mov r0, #0 mov r1, #2 bl sub_02009454 mov r0, #1 mov r1, r0 mov r2, r4 bl sub_02009454 mov r2, r4 mov r0, #2 mov r1, #1 bl sub_02009454 mov r2, r4 mov r0, #3 mov r1, #2 bl sub_02009454 mov r0, #4 mov r1, #2 mov r2, r4 bl sub_02009454 mov r0, #0xff mov r1, #0 mov r2, r4 bl sub_020094C4 b _02063DCC _02063D18: cmp r4, #0 mov r2, r4 mov r0, #0 bne _02063D74 mov r1, #1 bl sub_02009454 mov r2, r4 mov r0, #1 mov r1, #2 bl sub_02009454 mov r0, #2 mov r1, r0 mov r2, r4 bl sub_02009454 mov r2, r4 mov r0, #3 mov r1, #2 bl sub_02009454 mov r0, #4 mov r1, #2 mov r2, r4 bl sub_02009454 b _02063DBC _02063D74: mov r1, #2 bl sub_02009454 mov r2, r4 mov r0, #1 mov r1, #2 bl sub_02009454 mov r0, #2 mov r1, r0 mov r2, r4 bl sub_02009454 mov r2, r4 mov r0, #3 mov r1, #2 bl sub_02009454 mov r0, #4 mov r1, #2 mov r2, r4 bl sub_02009454 _02063DBC: mov r0, #0x40 mov r1, r0 mov r2, r4 bl sub_020094C4 _02063DCC: ldr r0, _02063DE0 ; =_020B0B04 ldr r0, [r0] add r0, r0, r4 strb r5, [r0, #0x662] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02063DE0: .word _020B0B04 arm_func_end sub_02063BCC arm_func_start sub_02063DE4 sub_02063DE4: ; 0x02063DE4 stmdb sp!, {r3, lr} ldr r0, _02063E1C ; =_020B0B04 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x58 bl sub_02064AFC ldr r0, _02063E1C ; =_020B0B04 ldr r0, [r0] bl MemFree ldr r0, _02063E1C ; =_020B0B04 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02063E1C: .word _020B0B04 arm_func_end sub_02063DE4 arm_func_start sub_02063E20 sub_02063E20: ; 0x02063E20 ldr r2, _02063E3C ; =_020B0B04 mov r3, r0 ldr r0, [r2] ldr ip, _02063E40 ; =sub_02064664 add r0, r0, r1, lsl #5 mov r1, r3 bx ip .align 2, 0 _02063E3C: .word _020B0B04 _02063E40: .word sub_02064664 arm_func_end sub_02063E20 arm_func_start sub_02063E44 sub_02063E44: ; 0x02063E44 stmdb sp!, {r3, lr} cmp r0, #2 ldmeqia sp!, {r3, pc} ldr r1, _02063E64 ; =_020B0B04 ldr r1, [r1] add r0, r1, r0, lsl #5 bl sub_0206466C ldmia sp!, {r3, pc} .align 2, 0 _02063E64: .word _020B0B04 arm_func_end sub_02063E44 arm_func_start sub_02063E68 sub_02063E68: ; 0x02063E68 cmp r0, #1 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr arm_func_end sub_02063E68 arm_func_start sub_02063E7C sub_02063E7C: ; 0x02063E7C ldr r1, _02063E90 ; =_020B0B04 ldr ip, _02063E94 ; =sub_020646E0 ldr r1, [r1] add r0, r1, r0, lsl #5 bx ip .align 2, 0 _02063E90: .word _020B0B04 _02063E94: .word sub_020646E0 arm_func_end sub_02063E7C arm_func_start sub_02063E98 sub_02063E98: ; 0x02063E98 ldr r1, _02063EAC ; =_020B0B04 ldr ip, _02063EB0 ; =sub_020646E8 ldr r1, [r1] add r0, r1, r0, lsl #5 bx ip .align 2, 0 _02063EAC: .word _020B0B04 _02063EB0: .word sub_020646E8 arm_func_end sub_02063E98 arm_func_start sub_02063EB4 sub_02063EB4: ; 0x02063EB4 stmdb sp!, {r3, lr} ldr r3, _02063EDC ; =_020B0B04 mov ip, r0 ldr r0, [r3] mov r3, r1 add r0, r0, r2, lsl #5 mov r1, ip mov r2, r3 bl sub_02064758 ldmia sp!, {r3, pc} .align 2, 0 _02063EDC: .word _020B0B04 arm_func_end sub_02063EB4 arm_func_start sub_02063EE0 sub_02063EE0: ; 0x02063EE0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr ip, _02063F2C ; =_020B0B04 ldrb r4, [sp, #0x18] ldr r5, [ip] mov ip, #0x60 str r3, [sp] mov r3, r2 mov r2, r1 ldr r1, [sp, #0x1c] str r4, [sp, #4] smlabb r0, r0, ip, r5 str r1, [sp, #8] ldr lr, [sp, #0x20] ldr r1, [r0, #0xb0] add r0, r5, lr, lsl #5 bl sub_0206478C add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 _02063F2C: .word _020B0B04 arm_func_end sub_02063EE0 arm_func_start sub_02063F30 sub_02063F30: ; 0x02063F30 stmdb sp!, {r4, r5, r6, lr} ldr ip, _02063F74 ; =_020B0B04 mov r5, r1 ldr ip, [ip] mov r6, r0 mov r1, r3 add r0, ip, #0x40 mov r4, r2 bl sub_02064C58 ldr r0, _02063F74 ; =_020B0B04 mov r1, r6 ldr r0, [r0] mov r2, r5 mov r3, r4 add r0, r0, #0x40 bl sub_02064CC8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02063F74: .word _020B0B04 arm_func_end sub_02063F30 arm_func_start sub_02063F78 sub_02063F78: ; 0x02063F78 stmdb sp!, {r3, lr} ldr r3, _02063FA0 ; =_020B0B04 mov lr, r1 ldr ip, [r3] mov r3, r2 mov r1, r0 mov r2, lr add r0, ip, #0x40 bl sub_02064C60 ldmia sp!, {r3, pc} .align 2, 0 _02063FA0: .word _020B0B04 arm_func_end sub_02063F78 arm_func_start sub_02063FA4 sub_02063FA4: ; 0x02063FA4 ldr r2, _02063FC0 ; =_020B0B04 ldr ip, _02063FC4 ; =sub_02064C90 ldr r3, [r2] mov r2, r1 mov r1, r0 add r0, r3, #0x40 bx ip .align 2, 0 _02063FC0: .word _020B0B04 _02063FC4: .word sub_02064C90 arm_func_end sub_02063FA4 arm_func_start sub_02063FC8 sub_02063FC8: ; 0x02063FC8 stmdb sp!, {r3, lr} ldr r3, _02063FF0 ; =_020B0B04 mov lr, r1 ldr ip, [r3] mov r3, r2 mov r1, r0 mov r2, lr add r0, ip, #0x58 bl sub_02064B0C ldmia sp!, {r3, pc} .align 2, 0 _02063FF0: .word _020B0B04 arm_func_end sub_02063FC8 arm_func_start sub_02063FF4 sub_02063FF4: ; 0x02063FF4 ldr r2, _0206400C ; =_020B0B04 mov r1, r0 ldr r0, [r2] ldr ip, _02064010 ; =sub_02064C0C add r0, r0, #0x58 bx ip .align 2, 0 _0206400C: .word _020B0B04 _02064010: .word sub_02064C0C arm_func_end sub_02063FF4 arm_func_start sub_02064014 sub_02064014: ; 0x02064014 stmdb sp!, {r3, lr} ldr ip, _02064048 ; =_020B0B04 mov r3, #0x60 ldr ip, [ip] mov lr, r1 smlabb r0, r0, r3, ip ldr r3, [r0, #0xb0] add r0, ip, r2, lsl #5 ldr r1, [r3, #0xc] ldr r3, [r3, #8] mov r2, lr bl sub_020646F0 ldmia sp!, {r3, pc} .align 2, 0 _02064048: .word _020B0B04 arm_func_end sub_02064014 arm_func_start sub_0206404C sub_0206404C: ; 0x0206404C ldr r2, _02064074 ; =_020B0B04 ldr ip, _02064078 ; =sub_020648FC ldr r3, [r2] mov r2, #0x60 smlabb r0, r0, r2, r3 ldr r2, [r0, #0xb0] add r0, r3, r1, lsl #5 ldr r1, [r2, #0x10] mov r2, #0x10 bx ip .align 2, 0 _02064074: .word _020B0B04 _02064078: .word sub_020648FC arm_func_end sub_0206404C arm_func_start sub_0206407C sub_0206407C: ; 0x0206407C ldr r2, _02064094 ; =_020B0B04 mov r1, r0 ldr r0, [r2] ldr ip, _02064098 ; =sub_02064FE4 add r0, r0, #0x40 bx ip .align 2, 0 _02064094: .word _020B0B04 _02064098: .word sub_02064FE4 arm_func_end sub_0206407C arm_func_start sub_0206409C sub_0206409C: ; 0x0206409C ldr r2, _020640B8 ; =_020B0B04 mov r1, #0x60 ldr r2, [r2] add r2, r2, #0x58 smlabb r0, r0, r1, r2 add r0, r0, #0x50 bx lr .align 2, 0 _020640B8: .word _020B0B04 arm_func_end sub_0206409C arm_func_start sub_020640BC sub_020640BC: ; 0x020640BC ldr ip, _020640C8 ; =MemZero mov r1, #0x40 bx ip .align 2, 0 _020640C8: .word MemZero arm_func_end sub_020640BC arm_func_start sub_020640CC sub_020640CC: ; 0x020640CC strh r1, [r0] bx lr arm_func_end sub_020640CC arm_func_start sub_020640D4 sub_020640D4: ; 0x020640D4 strb r1, [r0, #0x3c] bx lr arm_func_end sub_020640D4 arm_func_start sub_020640DC sub_020640DC: ; 0x020640DC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 str r5, [r6, #0xc] mov r0, #1 strb r0, [r6, #0x3d] mov r0, #0 strb r0, [r6, #0x3e] str r0, [r6, #0x10] ldrsh r0, [r6] bl sub_0206409C mov r4, r0 mov r0, r5 bl sub_02064228 mov r1, r0 add r0, r6, #0x2c bl sub_02009498 mov r0, r5 bl sub_02064228 mov r2, r0 add r0, r6, #0x32 add r1, r6, #0x34 bl sub_020094E8 mov r0, r5 bl sub_02064228 mov r1, r0 add r0, r6, #0x28 bl sub_020090F4 ldr r0, [r4, #8] cmp r0, #0 beq _020641E4 mov r0, r5 bl sub_02063E98 ldr r2, [r0, #4] mov r1, #0 strh r2, [r6, #0x38] ldr r2, [r0, #8] strh r2, [r6, #0x3a] str r1, [r0, #4] str r1, [r0, #8] ldr r0, [r4, #8] stmib r6, {r0, r1} bl sub_02063A20 cmp r0, #0 mov r0, #0 beq _020641A0 mov r1, r5 bl sub_02063A34 b _020641C8 _020641A0: mov r2, r0 mov r1, #1 bl sub_02009454 mov r0, #2 mov r1, #1 mov r2, #0 bl sub_02009454 mov r1, r5 mov r0, #1 bl sub_02063A34 _020641C8: ldrsh r0, [r6] mov r1, r5 bl sub_0206404C mov r1, r5 mov r0, #0 bl sub_02063E20 b _02064220 _020641E4: mov r0, #0 str r0, [r6, #4] ldr r0, [r4, #0xc] str r0, [r6, #8] ldr r1, [r6, #0x10] bl sub_02063FA4 ldr r0, [r6, #8] bl sub_0206407C mov r0, #0 mov r1, #2 bl sub_02063E20 ldr r0, [r6, #8] ldr r1, [r6, #0x10] add r2, r6, #0x14 bl sub_02063F78 _02064220: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020640DC arm_func_start sub_02064228 sub_02064228: ; 0x02064228 cmp r0, #0 cmpne r0, #2 moveq r0, #0 movne r0, #1 bx lr arm_func_end sub_02064228 arm_func_start sub_0206423C sub_0206423C: ; 0x0206423C stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0xc] cmp r0, #2 beq _02064264 bl sub_02063E98 ldrsh r1, [r4, #0x38] str r1, [r0, #4] ldrsh r1, [r4, #0x3a] str r1, [r0, #8] _02064264: ldr r0, [r4, #0xc] bl sub_02064228 mov r1, r0 add r0, r4, #0x2c bl sub_0200946C ldr r0, [r4, #0xc] bl sub_02064228 mov r2, r0 ldrsh r0, [r4, #0x32] ldrsh r1, [r4, #0x34] bl sub_020094C4 ldr r0, [r4, #0xc] bl sub_02064228 mov r1, r0 add r0, r4, #0x28 bl sub_020090C0 ldmia sp!, {r4, pc} arm_func_end sub_0206423C arm_func_start sub_020642A8 sub_020642A8: ; 0x020642A8 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x14 mov r5, r0 ldr r1, [r5, #4] cmp r1, #0 beq _020645C0 ldrb r1, [r5, #0x3e] ldr r4, [r5, #0xc] cmp r1, #0 beq _020642DC bl sub_0206423C mov r0, #0 b _02064658 _020642DC: ldrb r0, [r5, #0x3c] cmp r0, #0 movne r0, #1 bne _02064658 ldr r0, [r5, #0x14] cmp r0, #0 bne _02064484 mov r0, #1 str r0, [sp] add r0, r5, #0x14 stmib sp, {r0, r4} mov r2, #0 ldrsh r0, [r5] mov r3, r2 add r1, r5, #0x10 bl sub_02063EE0 mov r6, r0 ldr r2, [r5, #0xc] add r0, sp, #0xc mov r1, #4 bl sub_02063EB4 cmp r6, #0 beq _02064464 ldrsh r0, [sp, #0xc] cmp r0, #0 movne r0, #1 strneb r0, [r5, #0x1c] movne r0, #0 strne r0, [r5, #0x20] strne r0, [r5, #0x24] ldrsh r1, [sp, #0xe] cmp r1, #0 beq _020643A4 cmp r1, #0x63 ldreq r1, _02064660 ; =0x00000C1C moveq r0, #0 streq r1, [r5, #0x20] streq r0, [r5, #0x24] beq _020643A4 cmp r1, #0 ldr r0, _02064660 ; =0x00000C1C ble _02064394 bl __divsi3 str r0, [r5, #0x24] str r0, [r5, #0x20] b _020643A4 _02064394: str r0, [r5, #0x20] ldrsh r1, [sp, #0xe] bl __divsi3 str r0, [r5, #0x24] _020643A4: ldrb r0, [r5, #0x1c] cmp r0, #0 beq _02064478 ldr r1, [r5, #4] ldr r0, [r5, #0x20] ldr r2, [r1, #0x10] mov r1, #0x64 add sb, r2, #0x380 bl __divsi3 mov r8, #0 mov r7, r0 mov r6, r8 _020643D4: mov r0, r4 bl sub_02063E7C add r1, r8, #0xe0 mov r2, r1, lsl #0x10 mov r1, sb mov r3, r7 mov r2, r2, asr #0x10 str r6, [sp] bl sub_0200C020 add r8, r8, #1 cmp r8, #0x10 add sb, sb, #4 blt _020643D4 mov r0, r4 bl sub_02063E7C bl sub_0200A504 mov r1, r4 mov r0, #3 bl sub_02063BCC mov r0, r4 bl sub_02063E68 mov r2, r0 mov r0, #0x50 mov r1, r0 bl sub_020094C4 ldr r1, [r5, #0x20] ldr r0, [r5, #0x24] adds r1, r1, r0 str r1, [r5, #0x20] movmi r0, #0 strmi r0, [r5, #0x20] bmi _02064478 ldr r0, _02064660 ; =0x00000C1C cmp r1, r0 strgt r0, [r5, #0x20] b _02064478 _02064464: mov r0, r4 bl sub_02063E44 mov r0, #1 strb r0, [r5, #0x3e] b _02064658 _02064478: ldr r0, [r5, #0x10] add r0, r0, #1 str r0, [r5, #0x10] _02064484: ldrb r0, [r5, #0x1c] cmp r0, #0 bne _020645AC ldrsh r0, [r5] bl sub_0206409C ldr r1, [r5, #0x10] mov r8, #0xff subs r2, r1, #1 ldr r1, [r0, #8] movmi r2, #0 cmp r1, #0 beq _020645AC ldmia r1, {r0, r1} sub r0, r0, #1 cmp r2, r0 ldr r7, [r1, r2, lsl #2] bne _02064504 ldr r1, [r7, #0x1c] mov r0, r4 mov r1, r1, asr #8 mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #24 add r8, r2, r1, ror #24 bl sub_02063E68 rsb r1, r8, #0xff mov r3, r1, lsl #0x10 mov r1, r8, lsl #0x10 mov r2, r0 mov r0, r1, asr #0x10 mov r1, r3, asr #0x10 bl sub_020094C4 b _0206458C _02064504: ldrsh r0, [r7, #0xc] add r1, r1, r2, lsl #2 ldr r6, [r1, #4] cmp r0, #0 bne _0206458C ldr r0, [r7, #0x1c] cmp r0, #0xff00 beq _0206458C ldrsh r1, [r7, #8] ldr r0, [r5, #0x14] sub r0, r1, r0 mov r0, r0, lsl #8 mov r1, r1, lsl #8 bl sub_02001AB0 ldr r7, [r7, #0x1c] ldr r1, [r6, #0x1c] sub r1, r1, r7 bl MultiplyByFixedPoint add r0, r0, r7 mov r0, r0, asr #8 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #24 add r8, r1, r0, ror #24 add r1, r8, r8, lsr #31 mov r0, r4 mov r6, r1, asr #1 bl sub_02063E68 rsb r1, r6, #0x80 mov r3, r1, lsl #0x10 mov r1, r6, lsl #0x10 mov r2, r0 mov r0, r1, asr #0x10 mov r1, r3, asr #0x10 bl sub_020094C4 _0206458C: cmp r8, #0xff mov r1, r4 bne _020645A4 mov r0, #0 bl sub_02063BCC b _020645AC _020645A4: mov r0, #2 bl sub_02063BCC _020645AC: ldr r1, [r5, #0x14] mov r0, #1 sub r1, r1, #1 str r1, [r5, #0x14] b _02064658 _020645C0: ldr r0, [r5, #8] cmp r0, #0 beq _02064654 ldr r0, [r5, #0x14] cmp r0, #0 bne _0206460C ldr r0, [r5, #0x10] add r2, r5, #0x14 add r1, r0, #1 str r1, [r5, #0x10] ldr r0, [r5, #8] bl sub_02063F78 cmp r0, #0 bne _0206460C mov r1, #0 str r1, [r5, #0x10] ldr r0, [r5, #8] add r2, r5, #0x14 bl sub_02063F78 _0206460C: ldrb r0, [r5, #0x3c] ldr r1, [r5, #0x10] cmp r0, #0 ldr r0, [r5, #8] beq _02064634 ldr r2, [r5, #0x14] mov r3, #1 bl sub_02063F30 mov r0, #1 b _02064658 _02064634: ldr r2, [r5, #0x14] mov r3, #0 bl sub_02063F30 ldr r1, [r5, #0x14] mov r0, #1 sub r1, r1, #1 str r1, [r5, #0x14] b _02064658 _02064654: mov r0, #0 _02064658: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02064660: .word 0x00000C1C arm_func_end sub_020642A8 arm_func_start sub_02064664 sub_02064664: ; 0x02064664 strh r1, [r0, #0x14] bx lr arm_func_end sub_02064664 arm_func_start sub_0206466C sub_0206466C: ; 0x0206466C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r8, #0 mov sb, r0 add r5, sp, #0 mov r4, r8 mov r6, r8 _02064688: mov r7, r6 _0206468C: str r8, [sp, #4] str r7, [sp] ldr r0, [sb, #8] mov r1, r5 mov r2, r4 bl sub_0200B3FC add r7, r7, #1 cmp r7, #0x40 blt _0206468C add r8, r8, #1 cmp r8, #0x20 blt _02064688 ldr r0, [sb, #8] bl sub_0200B330 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0206466C arm_func_start sub_020646CC sub_020646CC: ; 0x020646CC stmib r0, {r1, r2} mov r1, #0 str r1, [r0, #0xc] str r3, [r0, #0x10] bx lr arm_func_end sub_020646CC arm_func_start sub_020646E0 sub_020646E0: ; 0x020646E0 ldr r0, [r0, #0x10] bx lr arm_func_end sub_020646E0 arm_func_start sub_020646E8 sub_020646E8: ; 0x020646E8 ldr r0, [r0, #8] bx lr arm_func_end sub_020646E8 arm_func_start sub_020646F0 sub_020646F0: ; 0x020646F0 ldr r0, [r0, #4] mov ip, #0 add r2, r0, r2 b _0206474C _02064700: ldr r0, [r1] add ip, ip, #1 str r0, [r2] ldr r0, [r1, #4] str r0, [r2, #4] ldr r0, [r1, #8] str r0, [r2, #8] ldr r0, [r1, #0xc] str r0, [r2, #0xc] ldr r0, [r1, #0x10] str r0, [r2, #0x10] ldr r0, [r1, #0x14] str r0, [r2, #0x14] ldr r0, [r1, #0x18] str r0, [r2, #0x18] ldr r0, [r1, #0x1c] add r1, r1, #0x20 str r0, [r2, #0x1c] add r2, r2, #0x20 _0206474C: cmp ip, r3 bls _02064700 bx lr arm_func_end sub_020646F0 arm_func_start sub_02064758 sub_02064758: ; 0x02064758 stmdb sp!, {r3, lr} mov lr, #0 b _02064780 _02064764: add r3, r0, lr, lsl #1 ldrsh ip, [r3, #0x16] add r3, lr, #1 mov lr, lr, lsl #1 mov r3, r3, lsl #0x10 strh ip, [r1, lr] mov lr, r3, lsr #0x10 _02064780: cmp lr, r2 blo _02064764 ldmia sp!, {r3, pc} arm_func_end sub_02064758 arm_func_start sub_0206478C sub_0206478C: ; 0x0206478C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 ldrb r6, [sp, #0x3c] mov sl, r0 mov r5, r1 mov r4, r2 str r3, [sp] cmp r6, #0 beq _020647B4 bl sub_0206466C _020647B4: ldr r2, [r5, #0x14] ldrb r0, [r2, #8] cmp r0, #0 beq _020647DC ldrb r0, [r2, #0xa] ldr r1, [r4] cmp r1, r0 ldrgeb r0, [r2, #9] strge r0, [r4] b _020647F0 _020647DC: ldr r1, [r4] ldr r0, [r5] cmp r1, r0 movge r0, #0 bge _020648F0 _020647F0: ldr r2, [r5, #4] ldr r0, [r4] ldr r1, [sp, #0x40] ldr r2, [r2, r0, lsl #2] mov sb, #0 ldrsh r0, [r2, #6] cmp r1, #0 ldrsh r8, [r2, #4] str r0, [sp, #4] ldrnesh r0, [r2, #8] mov r5, sb add fp, r2, #0x24 strne r0, [r1] ldrsh r0, [r2, #0xc] ldrsh r7, [sp, #0x38] strh r0, [sl, #0x16] ldrsh r0, [r2, #0xe] strh r0, [sl, #0x18] ldrsh r0, [r2, #0x10] strh r0, [sl, #0x1a] ldrsh r0, [r2, #0x12] strh r0, [sl, #0x1c] b _020648D8 _0206484C: cmp r7, #0x18 bge _020648E4 ldr r6, [sp] mov r4, #0 cmp r8, #0 ble _020648D0 b _020648C8 _02064868: cmp sb, #0 bne _02064888 ldrh r2, [fp], #2 tst r2, #0xf000 ldreq r0, _020648F8 ; =0x000003FF andeq sb, r2, r0 moveq r2, #0 b _0206488C _02064888: mov r2, #0 _0206488C: cmp sb, #0 subne sb, sb, #1 cmp r6, #0 blt _020648C0 cmp r6, #0x20 bge _020648C0 cmp r7, #0 blt _020648C0 str r6, [sp, #8] str r7, [sp, #0xc] ldr r0, [sl, #8] add r1, sp, #8 bl sub_0200B3FC _020648C0: add r4, r4, #1 add r6, r6, #1 _020648C8: cmp r4, r8 blt _02064868 _020648D0: add r5, r5, #1 add r7, r7, #1 _020648D8: ldr r0, [sp, #4] cmp r5, r0 blt _0206484C _020648E4: ldr r0, [sl, #8] bl sub_0200B330 mov r0, #1 _020648F0: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020648F8: .word 0x000003FF arm_func_end sub_0206478C arm_func_start sub_020648FC sub_020648FC: ; 0x020648FC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r0, [r7, #0x10] mov r6, r1 mov r5, r2 cmp r0, #0 beq _02064930 mov r2, r6 mov r3, r5 mov r1, #0xe0 bl sub_0200A5B0 ldr r0, [r7, #0x10] bl sub_0200A504 _02064930: ldr r0, [r7, #0xc] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r4, #0 b _02064960 _02064944: add r0, r4, #0xe0 mov r1, r0, lsl #0x10 ldr r0, [r7, #0xc] mov r1, r1, lsr #0x10 add r2, r6, r4, lsl #2 bl sub_0200A29C add r4, r4, #1 _02064960: cmp r4, r5 blt _02064944 ldr r0, [r7, #0xc] bl sub_0200A174 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020648FC arm_func_start sub_02064974 sub_02064974: ; 0x02064974 stmdb sp!, {r4, lr} mov r2, #0x60 smlabb r4, r1, r2, r0 ldrb r0, [r4, #0x40] cmp r0, #0 beq _0206499C mov r0, r4 mov r1, r2 bl MemZero ldmia sp!, {r4, pc} _0206499C: ldr r0, [r4, #0x50] cmp r0, #0 ldmeqia sp!, {r4, pc} ldrb r1, [r4, #0x41] cmp r1, #2 bne _020649CC bl MemFree ldr r1, [r4, #0x44] ldr r2, [r4, #0x48] ldr r0, _020649EC ; =_020A46B0 bl DebugPrint0 b _020649DC _020649CC: bl MemFree ldr r0, _020649F0 ; =_020A46D0 mov r1, r4 bl DebugPrint0 _020649DC: mov r0, r4 mov r1, #0x60 bl MemZero ldmia sp!, {r4, pc} .align 2, 0 _020649EC: .word _020A46B0 _020649F0: .word _020A46D0 arm_func_end sub_02064974 arm_func_start sub_020649F4 sub_020649F4: ; 0x020649F4 stmdb sp!, {r3, r4, r5, lr} add r1, r0, #0x600 mov lr, #1 ldrsh r4, [r1, #2] ldrsh r5, [r1] mov ip, lr mov r3, #0x60 b _02064A6C _02064A14: cmp r4, r5 movge r4, ip smlabb r1, r4, r3, r0 ldr r1, [r1, #0x50] cmp r1, #0 bne _02064A54 add r1, r4, #1 add r0, r0, #0x600 strh r1, [r0, #2] ldrsh r2, [r0, #2] ldrsh r1, [r0] cmp r2, r1 movge r1, #1 strgeh r1, [r0, #2] mov r0, r4 ldmia sp!, {r3, r4, r5, pc} _02064A54: add r1, lr, #1 add r2, r4, #1 mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 mov lr, r1, asr #0x10 mov r4, r2, asr #0x10 _02064A6C: cmp lr, r5 blt _02064A14 mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020649F4 arm_func_start sub_02064A7C sub_02064A7C: ; 0x02064A7C stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r1 ldr r1, [r0, #0x50] add r0, sp, #0 bl HandleSir0TranslationVeneer cmp r0, #0 moveq r0, #1 movne r0, #0 strb r0, [r4] ldr r0, [sp] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_02064A7C arm_func_start sub_02064AB0 sub_02064AB0: ; 0x02064AB0 stmdb sp!, {r4, lr} ldr r1, _02064AD8 ; =0x00000608 mov r4, r0 bl MemZero add r0, r4, #0x600 mov r1, #1 strh r1, [r0, #2] strb r1, [r4, #0x604] strh r1, [r0, #2] ldmia sp!, {r4, pc} .align 2, 0 _02064AD8: .word 0x00000608 arm_func_end sub_02064AB0 arm_func_start sub_02064ADC sub_02064ADC: ; 0x02064ADC stmdb sp!, {r4, lr} mov r1, #0x600 mov r4, r0 bl MemZero add r0, r4, #0x600 mov r1, #0x10 strh r1, [r0] ldmia sp!, {r4, pc} arm_func_end sub_02064ADC arm_func_start sub_02064AFC sub_02064AFC: ; 0x02064AFC add r0, r0, #0x600 mov r1, #0 strh r1, [r0] bx lr arm_func_end sub_02064AFC arm_func_start sub_02064B0C sub_02064B0C: ; 0x02064B0C stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r5, r0 add r0, r5, #0x600 mov r8, r1 ldrsh r4, [r0] mov r7, r2 mov r6, r3 mov r0, #1 mov r1, #0x60 b _02064B64 _02064B38: smlabb r3, r0, r1, r5 ldrb r2, [r3, #0x41] cmp r2, #2 ldreq r2, [r3, #0x44] cmpeq r8, r2 ldreq r2, [r3, #0x48] cmpeq r7, r2 beq _02064B70 add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 _02064B64: cmp r0, r4 blt _02064B38 mvn r0, #0 _02064B70: mvn r1, #0 cmp r0, r1 beq _02064B94 mov r1, #0x60 smlabb r2, r0, r1, r5 ldrsh r1, [r2, #0x4c] add r1, r1, #1 strh r1, [r2, #0x4c] b _02064C04 _02064B94: mov r0, r5 bl sub_020649F4 mov r4, r0 mov r0, #0x60 smlabb r5, r4, r0, r5 mov r0, #2 strb r0, [r5, #0x41] str r8, [r5, #0x44] mov r0, r8 mov r1, r7 mov r3, r6 str r7, [r5, #0x48] add r2, r5, #0x50 bl AllocAndLoadFileInPack ldrsh r2, [r5, #0x4c] add r1, sp, #0 mov r0, r5 add r2, r2, #1 strh r2, [r5, #0x4c] bl sub_02064A7C ldrb r1, [sp] cmp r1, #0 movne r1, #0 strne r1, [r5, #0x58] streq r0, [r5, #0x58] moveq r0, #0 str r0, [r5, #0x5c] mov r0, r4 _02064C04: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end sub_02064B0C arm_func_start sub_02064C0C sub_02064C0C: ; 0x02064C0C ldr ip, _02064C14 ; =sub_02064974 bx ip .align 2, 0 _02064C14: .word sub_02064974 arm_func_end sub_02064C0C arm_func_start sub_02064C18 sub_02064C18: ; 0x02064C18 str r1, [r0, #4] strh r2, [r0, #8] bx lr arm_func_end sub_02064C18 arm_func_start sub_02064C24 sub_02064C24: ; 0x02064C24 stmdb sp!, {r4, lr} mov lr, r1 ldr ip, [lr, #0x10] ldr r1, [lr, #0x18] add ip, lr, ip mov r4, r0 mla r0, r1, r3, ip ldr r1, [r4, #4] mov r3, #0 add r1, r1, r2 ldr r2, [lr, #0x14] bl sub_0201E050 ldmia sp!, {r4, pc} arm_func_end sub_02064C24 arm_func_start sub_02064C58 sub_02064C58: ; 0x02064C58 strb r1, [r0, #0x16] bx lr arm_func_end sub_02064C58 arm_func_start sub_02064C60 sub_02064C60: ; 0x02064C60 ldr r0, [r1, #0xc] cmp r2, r0 movhs r0, #0 bxhs lr ldr ip, [r1, #8] mov r0, #0x2c add r1, r1, ip mla r0, r2, r0, r1 ldrsh r1, [r0, #8] mov r0, #1 str r1, [r3] bx lr arm_func_end sub_02064C60 arm_func_start sub_02064C90 sub_02064C90: ; 0x02064C90 stmdb sp!, {r3, lr} ldr r3, [r1, #0xc] cmp r2, r3 movhs r0, #0 ldmhsia sp!, {r3, pc} ldr ip, [r1, #8] mov r3, #0x2c add ip, r1, ip mla r3, r2, r3, ip ldrsh r3, [r3, #0x18] mov r2, #0 bl sub_02064C24 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_02064C90 arm_func_start sub_02064CC8 sub_02064CC8: ; 0x02064CC8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x44 ldr r4, [r1, #0xc] mov sl, r0 cmp r2, r4 movhs r0, #0 bhs _02064F84 ldr r0, [r1, #0x28] ldr r4, _02064F8C ; =_020AFC70 ldr r6, [r1, #8] ldr r5, [sl, #4] ldr r7, [r4] str r5, [sp, #0x14] add r5, r1, r6 mov r4, #0x2c mla r4, r2, r4, r5 ldrsh r6, [sl, #8] ldr r7, [r7, #0xe0] add r0, r1, r0 add r6, r7, r6, lsl #9 str r6, [sp, #0x18] ldrsh r8, [r4, #0x18] add r7, sp, #0x1c mov r6, #4 add r8, r0, r8, lsl #3 _02064D2C: ldrh r0, [r8], #2 subs r6, r6, #1 strh r0, [r7], #2 bne _02064D2C ldrh r0, [r1, #4] ldr r8, _02064F90 ; =0x00007FFF mov r7, #0 bic sb, r0, #0x1800 mov r6, #0x39 mov r0, #0x21 strh sb, [sp, #0x24] strh r8, [sp, #0x36] strh r8, [sp, #0x38] strh r8, [sp, #0x3a] strh r8, [sp, #0x3c] strh r7, [sp, #0x3e] strh r6, [sp, #0x12] strb r7, [sp, #0x42] strb r0, [sp, #0x40] ldr r0, [r1, #0xc] sub r0, r0, #1 cmp r2, r0 bne _02064DA0 ldrh r0, [r4, #0xa] mov r0, r0, asr #8 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #24 add r1, r1, r0, ror #24 b _02064DEC _02064DA0: add r2, r2, #1 mov r0, #0x2c mla r5, r2, r0, r5 ldrh r0, [r5, #0xa] cmp r0, #0 beq _02064DEC ldrsh r1, [r5, #8] sub r0, r1, r3 mov r0, r0, lsl #8 mov r1, r1, lsl #8 bl sub_02001AB0 ldrh r5, [r5, #0xa] mov r1, r7 bl MultiplyByFixedPoint add r0, r0, r5 mov r0, r0, asr #8 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #24 add r1, r1, r0, ror #24 _02064DEC: ldrsh r6, [sp, #0x20] and r0, r1, #0xf8 mov r2, r0, asr #3 mov r1, r6 mov r0, #0x100 strb r2, [sp, #0x41] ldrsh r7, [sp, #0x22] bl __divsi3 cmp r1, #0 movne r5, #1 moveq r5, #0 mov r1, r6 mov r0, #0x100 bl __divsi3 add r0, r0, r5 mov r2, r0, lsl #0x10 mov r1, r7 mov r0, #0xc0 mov r5, r2, asr #0x10 bl __divsi3 add r2, r5, #1 cmp r1, #0 str r2, [sp] ldrsh r2, [sl, #0x14] movne sb, #1 moveq sb, #0 mov r1, r7 mov r0, #0xc0 ldrsh r5, [sl, #0x12] str r2, [sp, #4] mvn r8, #0 bl __divsi3 add r0, r0, sb mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add fp, r0, #1 b _02064F2C _02064E80: ldr r0, [sp, #4] add r1, r8, #1 mla r2, r8, r7, r0 mla r1, r7, r1, r0 mov r0, r2, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r1, lsl #0x10 str r0, [sp, #8] mov r0, r1, asr #0x10 mvn sb, #0 str r0, [sp, #0xc] b _02064F14 _02064EB0: add r0, sb, #1 mla r0, r6, r0, r5 strh r0, [sp, #0x2a] mla r0, sb, r6, r5 strh r0, [sp, #0x26] ldr r0, [sp, #8] ldrsh r1, [sp, #0x26] strh r0, [sp, #0x28] ldr r0, [sp, #0xc] ldrsh r2, [sp, #0x28] strh r0, [sp, #0x30] ldrb r0, [sp, #0x40] strh r2, [sp, #0x2c] strh r1, [sp, #0x2e] ldrsh r2, [sp, #0x2a] ldrsh r1, [sp, #0x30] add r0, r0, #1 strb r0, [sp, #0x40] add r0, sp, #0x10 strh r2, [sp, #0x32] strh r1, [sp, #0x34] bl sub_01FF8CDC add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, asr #0x10 _02064F14: ldr r0, [sp] cmp sb, r0 blt _02064EB0 add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _02064F2C: cmp r8, fp blt _02064E80 ldrb r0, [sl, #0x16] cmp r0, #0 bne _02064F80 ldrsh r2, [sl, #0x12] ldrsh r0, [r4, #0x14] mov r1, r6 add r0, r2, r0 strh r0, [sl, #0x12] ldrsh r2, [sl, #0x14] ldrsh r0, [r4, #0x16] add r0, r2, r0 strh r0, [sl, #0x14] ldrsh r0, [sl, #0x12] bl __divsi3 strh r1, [sl, #0x12] ldrsh r0, [sl, #0x14] mov r1, r7 bl __divsi3 strh r1, [sl, #0x14] _02064F80: mov r0, #1 _02064F84: add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02064F8C: .word _020AFC70 _02064F90: .word 0x00007FFF arm_func_end sub_02064CC8 arm_func_start sub_02064F94 sub_02064F94: ; 0x02064F94 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, #0 ldr r4, _02064FE0 ; =_020AFC70 b _02064FD4 _02064FB0: ldr r0, [r4] mov r3, r5, lsl #0x10 ldrsh r2, [r8, #8] mov r1, r7 add r0, r0, #0xcc mov r3, r3, asr #0x10 bl sub_0201E380 add r5, r5, #1 add r7, r7, #4 _02064FD4: cmp r5, r6 blt _02064FB0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02064FE0: .word _020AFC70 arm_func_end sub_02064F94 arm_func_start sub_02064FE4 sub_02064FE4: ; 0x02064FE4 ldr r3, [r1, #0x20] ldr ip, _02064FF8 ; =sub_02064F94 ldr r2, [r1, #0x24] add r1, r1, r3 bx ip .align 2, 0 _02064FF8: .word sub_02064F94 arm_func_end sub_02064FE4 arm_func_start sub_02064FFC sub_02064FFC: ; 0x02064FFC mov r1, #0xc smulbb r1, r0, r1 ldr r0, _02065010 ; =_020A5490 ldr r0, [r0, r1] bx lr .align 2, 0 _02065010: .word _020A5490 arm_func_end sub_02064FFC arm_func_start sub_02065014 sub_02065014: ; 0x02065014 mvn r1, #0 cmp r0, r1 beq _02065044 mov r1, #0xc smulbb r1, r0, r1 ldr r0, _0206504C ; =EVENTS ldrsh r0, [r0, r1] cmp r0, #5 cmpne r0, #6 cmpne r0, #8 moveq r0, #0 bxeq lr _02065044: mov r0, #1 bx lr .align 2, 0 _0206504C: .word EVENTS arm_func_end sub_02065014 arm_func_start sub_02065050 sub_02065050: ; 0x02065050 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r5, r0 ldrsh r0, [r5] mvn r4, #0 cmp r0, #0x2e ldreq r0, _02065494 ; =_020B0B08 ldreqsh r0, [r0, #0x18] streqh r0, [r5] beq _020650B0 cmp r0, #0x2f ldreq r0, _02065494 ; =_020B0B08 ldreqsh r0, [r0, #0x16] streqh r0, [r5] beq _020650B0 cmp r0, #0x30 ldreq r0, _02065494 ; =_020B0B08 ldreqsh r0, [r0, #0x14] streqh r0, [r5] beq _020650B0 cmp r0, #0x31 ldreq r0, _02065494 ; =_020B0B08 ldreqsh r0, [r0, #0x12] streqh r0, [r5] _020650B0: ldrsh r2, [r5] mvn r0, #0 cmp r2, r0 beq _0206548C mov r0, #0xc smulbb r1, r2, r0 ldr r0, _02065498 ; =ENTITIES ldrsh r0, [r0, r1] cmp r0, #1 bne _020651AC cmp r2, #0 bne _020651A4 mov r0, #0 mov r1, #0x34 bl LoadScriptVariableValue cmp r0, #8 addls pc, pc, r0, lsl #2 b _02065198 _020650F8: ; jump table b _0206511C ; case 0 b _02065128 ; case 1 b _02065198 ; case 2 b _02065134 ; case 3 b _02065180 ; case 4 b _02065180 ; case 5 b _02065180 ; case 6 b _02065180 ; case 7 b _02065180 ; case 8 _0206511C: mov r0, #1 strh r0, [r5] b _020651A4 _02065128: mov r0, #2 strh r0, [r5] b _020651A4 _02065134: bl sub_020568A4 mov r4, r0 mvn r0, #0 cmp r4, r0 moveq r0, #1 streqh r0, [r5] beq _020651A4 bl GetMainCharacter1MemberIdx cmp r4, r0 moveq r0, #1 streqh r0, [r5] beq _020651A4 bl GetMainCharacter2MemberIdx cmp r4, r0 moveq r0, #2 streqh r0, [r5] movne r0, #4 strneh r0, [r5] b _020651A4 _02065180: mov r0, #0 mov r1, #0x34 bl LoadScriptVariableValue add r0, r0, #1 strh r0, [r5] b _020651A4 _02065198: mvn r0, #0 strh r0, [r5] b _0206548C _020651A4: mov r4, #0 b _02065488 _020651AC: cmp r0, #2 bne _02065330 mov r0, #0 mov r1, #0x35 bl LoadScriptVariableValue mov r4, r0 mov r0, #0 mov r1, #0x36 bl LoadScriptVariableValue ldrsh r2, [r5] sub r1, r2, #0xa mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #1 bhi _020652D0 cmp r2, #0xa bne _02065204 cmp r4, #0 moveq r4, r0 b _02065210 _02065204: cmp r4, #0 moveq r0, #0 mov r4, r0 _02065210: cmp r4, #0xa addls pc, pc, r4, lsl #2 b _020652C4 _0206521C: ; jump table b _020652C4 ; case 0 b _02065248 ; case 1 b _02065254 ; case 2 b _020652C4 ; case 3 b _02065260 ; case 4 b _020652AC ; case 5 b _020652AC ; case 6 b _020652AC ; case 7 b _020652AC ; case 8 b _020652AC ; case 9 b _020652B8 ; case 10 _02065248: mov r0, #0xc strh r0, [r5] b _020652D0 _02065254: mov r0, #0xd strh r0, [r5] b _020652D0 _02065260: bl sub_020568A4 mov r4, r0 mvn r0, #0 cmp r4, r0 moveq r0, #0xc streqh r0, [r5] beq _020652D0 bl GetMainCharacter1MemberIdx cmp r4, r0 moveq r0, #0xc streqh r0, [r5] beq _020652D0 bl GetMainCharacter2MemberIdx cmp r4, r0 moveq r0, #0xd streqh r0, [r5] movne r0, #0xf strneh r0, [r5] b _020652D0 _020652AC: add r0, r4, #0xb strh r0, [r5] b _020652D0 _020652B8: mov r0, #0x15 strh r0, [r5] b _020652D0 _020652C4: mvn r0, #0 strh r0, [r5] b _0206548C _020652D0: ldrsh r0, [r5] sub r0, r0, #0xc cmp r0, #9 addls pc, pc, r0, lsl #2 b _02065324 _020652E4: ; jump table b _0206530C ; case 0 b _02065314 ; case 1 b _02065324 ; case 2 b _0206531C ; case 3 b _02065324 ; case 4 b _02065324 ; case 5 b _02065324 ; case 6 b _02065324 ; case 7 b _02065324 ; case 8 b _0206531C ; case 9 _0206530C: mov r4, #2 b _02065488 _02065314: mov r4, #1 b _02065488 _0206531C: mov r4, #2 b _02065488 _02065324: mvn r0, #0 strh r0, [r5] b _0206548C _02065330: cmp r0, #3 bne _02065420 cmp r2, #0x16 blt _020653A8 cmp r2, #0x19 bgt _020653A8 mov r0, #0xd sub r4, r2, #0x16 bl OverlayIsLoaded cmp r0, #0 beq _0206536C bl ov11_022E96E4 cmp r0, #0 mvnne r0, #0 bne _0206548C _0206536C: mov r0, #5 bl GetDebugFlag cmp r0, #0 beq _02065390 ldrsh r0, [r5] cmp r0, #0x17 bgt _02065414 mvn r0, #0 b _0206548C _02065390: add r0, sp, #8 bl sub_02056E04 cmp r4, r0 bge _02065414 mvn r0, #0 b _0206548C _020653A8: cmp r2, #0x1a blt _02065414 cmp r2, #0x1d bgt _02065414 mov r0, #0xd sub r4, r2, #0x1a bl OverlayIsLoaded cmp r0, #0 beq _020653DC bl ov11_022E96E4 cmp r0, #0 mvnne r0, #0 bne _0206548C _020653DC: mov r0, #5 bl GetDebugFlag cmp r0, #0 beq _02065400 ldrsh r0, [r5] cmp r0, #0x1c bgt _02065414 mvn r0, #0 b _0206548C _02065400: add r0, sp, #0 bl sub_02056D70 cmp r4, r0 mvnlt r0, #0 blt _0206548C _02065414: mvn r0, #0 strh r0, [r5] b _0206548C _02065420: bl sub_020568A4 ldrsh r1, [r5] mov r6, r0 cmp r1, #0x3f bne _02065488 mvn r1, #0 cmp r6, r1 moveq r0, #0x3c streqh r0, [r5] beq _02065488 bl sub_02055410 cmp r0, #0 movne r0, #0x3c strneh r0, [r5] bne _02065488 mov r0, r6 bl sub_02055474 cmp r0, #0 movne r0, #0x3d strneh r0, [r5] bne _02065488 mov r0, r6 bl sub_020554D8 cmp r0, #0 movne r0, #0x3e strneh r0, [r5] _02065488: mov r0, r4 _0206548C: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02065494: .word _020B0B08 _02065498: .word ENTITIES arm_func_end sub_02065050 arm_func_start sub_0206549C sub_0206549C: ; 0x0206549C stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r6, r0 mov r5, r1 bl sub_02065050 mov r4, r0 mov r0, #0 strh r0, [r5] ldrsh lr, [r6] sub r1, r0, #1 cmp lr, r1 subeq r0, r0, #1 beq _0206595C mov r1, #0xc smulbb r3, lr, r1 ldr ip, _02065964 ; =ENTITIES ldrsh r2, [ip, r3] add r3, ip, r3 cmp r2, #3 bne _020656B4 cmp lr, #0x16 blt _020655BC cmp lr, #0x19 bgt _020655BC mov r0, #0xd sub r4, lr, #0x16 bl OverlayIsLoaded cmp r0, #0 beq _02065540 bl ov11_022E96E4 cmp r0, #0 beq _02065540 ldr r0, _02065968 ; =ARM9_UNKNOWN_TABLE__NA_20A68BC mov r1, r4, lsl #1 ldrsh r0, [r0, r1] strh r0, [r5] cmp r0, #0 mvneq r0, #0 streqh r0, [r6] mvn r0, #0 b _0206595C _02065540: mov r0, #5 bl GetDebugFlag cmp r0, #0 beq _02065580 ldrsh r0, [r6] cmp r0, #0x16 moveq r0, #0x5f streqh r0, [r5] subeq r0, r0, #0x60 beq _0206595C cmp r0, #0x17 bne _020656A8 mov r0, #0x22 strh r0, [r5] sub r0, r0, #0x23 b _0206595C _02065580: add r0, sp, #8 bl sub_02056E04 cmp r4, r0 bge _020656A8 ldr r0, _0206596C ; =TEAM_MEMBER_TABLE_PTR add r1, sp, #8 mov r2, r4, lsl #1 ldrsh r2, [r1, r2] ldr r3, [r0] mov r1, #0x44 sub r0, r1, #0x45 smlabb r1, r2, r1, r3 ldrsh r1, [r1, #4] strh r1, [r5] b _0206595C _020655BC: cmp lr, #0x1a blt _020656A8 cmp lr, #0x1d bgt _020656A8 mov r0, #0xd sub r4, lr, #0x1a bl OverlayIsLoaded cmp r0, #0 beq _02065610 bl ov11_022E96E4 cmp r0, #0 beq _02065610 ldr r0, _02065968 ; =ARM9_UNKNOWN_TABLE__NA_20A68BC mov r1, r4, lsl #1 ldrsh r0, [r0, r1] strh r0, [r5] cmp r0, #0 mvneq r0, #0 streqh r0, [r6] mvn r0, #0 b _0206595C _02065610: mov r0, #5 bl GetDebugFlag cmp r0, #0 beq _0206566C ldrsh r0, [r6] cmp r0, #0x1a bne _02065640 bl GetPartner ldrsh r1, [r0, #4] mvn r0, #0 strh r1, [r5] b _0206595C _02065640: cmp r0, #0x1b moveq r0, #0x5f streqh r0, [r5] subeq r0, r0, #0x60 beq _0206595C cmp r0, #0x1c bne _020656A8 mov r0, #0x22 strh r0, [r5] sub r0, r0, #0x23 b _0206595C _0206566C: add r0, sp, #0 bl sub_02056D70 cmp r4, r0 bge _020656A8 ldr r0, _0206596C ; =TEAM_MEMBER_TABLE_PTR add r1, sp, #0 mov r2, r4, lsl #1 ldrsh r2, [r1, r2] ldr r3, [r0] mov r1, #0x44 sub r0, r1, #0x45 smlabb r1, r2, r1, r3 ldrsh r1, [r1, #4] strh r1, [r5] b _0206595C _020656A8: mvn r0, #0 strh r0, [r6] b _0206595C _020656B4: cmp lr, #0x35 bgt _02065734 bge _020658A0 cmp lr, #0x32 bgt _02065718 bge _02065860 cmp lr, #0xf addls pc, pc, lr, lsl #2 b _02065948 _020656D8: ; jump table b _02065948 ; case 0 b _02065798 ; case 1 b _020657A8 ; case 2 b _020657B8 ; case 3 b _020657C8 ; case 4 b _02065948 ; case 5 b _02065948 ; case 6 b _02065948 ; case 7 b _02065948 ; case 8 b _02065948 ; case 9 b _02065948 ; case 10 b _02065948 ; case 11 b _02065798 ; case 12 b _020657A8 ; case 13 b _020657B8 ; case 14 b _020657C8 ; case 15 _02065718: cmp lr, #0x33 bgt _02065728 beq _02065880 b _02065948 _02065728: cmp lr, #0x34 beq _02065920 b _02065948 _02065734: cmp lr, #0x37 bgt _0206574C bge _020658E0 cmp lr, #0x36 beq _020658C0 b _02065948 _0206574C: cmp lr, #0x38 bgt _0206575C beq _02065900 b _02065948 _0206575C: sub r2, lr, #0x39 cmp r2, #0xa addls pc, pc, r2, lsl #2 b _02065948 _0206576C: ; jump table b _02065840 ; case 0 b _02065818 ; case 1 b _0206582C ; case 2 b _02065798 ; case 3 b _020657A8 ; case 4 b _020657B8 ; case 5 b _020657C8 ; case 6 b _020657D8 ; case 7 b _020657E8 ; case 8 b _020657F8 ; case 9 b _02065808 ; case 10 _02065798: bl GetMainCharacter1 ldrsh r0, [r0, #4] strh r0, [r5] b _02065958 _020657A8: bl GetMainCharacter2 ldrsh r0, [r0, #4] strh r0, [r5] b _02065958 _020657B8: bl GetMainCharacter3 ldrsh r0, [r0, #4] strh r0, [r5] b _02065958 _020657C8: bl sub_02056914 ldrsh r0, [r0, #4] strh r0, [r5] b _02065958 _020657D8: bl GetHero ldrsh r0, [r0, #4] strh r0, [r5] b _02065958 _020657E8: bl GetPartner ldrsh r0, [r0, #4] strh r0, [r5] b _02065958 _020657F8: mov r1, #0x3e bl LoadScriptVariableValue strh r0, [r5] b _02065958 _02065808: mov r1, #0x40 bl LoadScriptVariableValue strh r0, [r5] b _02065958 _02065818: ldr r2, _02065970 ; =_020B0B08 sub r0, r1, #0xd ldrsh r1, [r2, #0xa] strh r1, [r5] b _0206595C _0206582C: ldr r2, _02065970 ; =_020B0B08 sub r0, r1, #0xd ldrsh r1, [r2, #4] strh r1, [r5] b _0206595C _02065840: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0, #0xc] cmp r0, #0 strneh r0, [r5] subeq r0, r1, #0xd streqh r0, [r6] mvn r0, #0 b _0206595C _02065860: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0, #0x10] strh r0, [r5] cmp r0, #0 subeq r0, r1, #0xd streqh r0, [r6] mvn r0, #0 b _0206595C _02065880: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0, #0xe] strh r0, [r5] cmp r0, #0 mvneq r0, #0 streqh r0, [r6] mvn r0, #0 b _0206595C _020658A0: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0, #2] strh r0, [r5] cmp r0, #0 subeq r0, r1, #0xd streqh r0, [r6] mvn r0, #0 b _0206595C _020658C0: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0] strh r0, [r5] cmp r0, #0 subeq r0, r1, #0xd streqh r0, [r6] mvn r0, #0 b _0206595C _020658E0: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0, #8] strh r0, [r5] cmp r0, #0 subeq r0, r1, #0xd streqh r0, [r6] mvn r0, #0 b _0206595C _02065900: ldr r0, _02065970 ; =_020B0B08 ldrsh r0, [r0, #6] strh r0, [r5] cmp r0, #0 subeq r0, r1, #0xd streqh r0, [r6] mvn r0, #0 b _0206595C _02065920: mov r0, #0 mov r1, #0x44 bl LoadScriptVariableValue strh r0, [r5] ldrsh r0, [r5] cmp r0, #0 mvneq r0, #0 streqh r0, [r6] mvn r0, #0 b _0206595C _02065948: ldrsh r0, [r5] cmp r0, #0 ldreqsh r0, [r3, #2] streqh r0, [r5] _02065958: mov r0, r4 _0206595C: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02065964: .word ENTITIES _02065968: .word ARM9_UNKNOWN_TABLE__NA_20A68BC _0206596C: .word TEAM_MEMBER_TABLE_PTR _02065970: .word _020B0B08 arm_func_end sub_0206549C arm_func_start sub_02065974 sub_02065974: ; 0x02065974 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r0, sp, #8 add r1, sp, #0 bl sub_0206549C ldrsh r0, [sp] ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end sub_02065974 arm_func_start GetActorMatchingStorageId GetActorMatchingStorageId: ; 0x02065998 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} sub sp, sp, #0x10 add r0, sp, #0x18 bl sub_02065050 ldrsh r1, [sp, #0x18] cmp r1, #1 cmpne r1, #0xc cmpne r1, #0x3c bne _020659C8 bl GetMainCharacter1MemberIdx b _02065B04 _020659C8: cmp r1, #2 cmpne r1, #0xd cmpne r1, #0x3d bne _020659E0 bl GetMainCharacter2MemberIdx b _02065B04 _020659E0: cmp r1, #3 cmpne r1, #0xe cmpne r1, #0x3e bne _020659F8 bl GetMainCharacter3MemberIdx b _02065B04 _020659F8: cmp r1, #4 cmpne r1, #0xf cmpne r1, #0x3f bne _02065A10 bl sub_020568A4 b _02065B04 _02065A10: cmp r1, #0x40 bne _02065A20 bl GetHeroMemberIdx b _02065B04 _02065A20: cmp r1, #0x41 bne _02065A30 bl GetPartnerMemberIdx b _02065B04 _02065A30: cmp r1, #0x16 blt _02065A84 cmp r1, #0x19 bgt _02065A84 mov r0, #0xd sub r4, r1, #0x16 bl OverlayIsLoaded cmp r0, #0 beq _02065A64 bl ov11_022E96E4 cmp r0, #0 mvnne r0, #0 bne _02065B04 _02065A64: add r0, sp, #8 bl sub_02056E04 cmp r4, r0 bge _02065B00 add r0, sp, #8 mov r1, r4, lsl #1 ldrsh r0, [r0, r1] b _02065B04 _02065A84: cmp r1, #0x1a blt _02065AD8 cmp r1, #0x1d bgt _02065AD8 mov r0, #0xd sub r4, r1, #0x1a bl OverlayIsLoaded cmp r0, #0 beq _02065AB8 bl ov11_022E96E4 cmp r0, #0 mvnne r0, #0 bne _02065B04 _02065AB8: add r0, sp, #0 bl sub_02056D70 cmp r4, r0 bge _02065B00 add r0, sp, #0 mov r1, r4, lsl #1 ldrsh r0, [r0, r1] b _02065B04 _02065AD8: cmp r1, #0x1e blt _02065AE8 cmp r1, #0x2d ble _02065B00 _02065AE8: cmp r1, #0x99 bne _02065B00 mov r0, #0x214 mov r1, #0 bl sub_020555D0 b _02065B04 _02065B00: mvn r0, #0 _02065B04: add sp, sp, #0x10 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr arm_func_end GetActorMatchingStorageId arm_func_start sub_02065B14 sub_02065B14: ; 0x02065B14 mvn r1, #0 cmp r0, r1 moveq r0, #0 bxeq lr ldr r2, _02065B38 ; =ENTITIES mov r1, #0xc smlabb r0, r0, r1, r2 ldrh r0, [r0, #8] bx lr .align 2, 0 _02065B38: .word ENTITIES arm_func_end sub_02065B14 arm_func_start sub_02065B3C sub_02065B3C: ; 0x02065B3C ldr r2, _02065B4C ; =_020B0B08 strh r0, [r2, #0x18] strh r1, [r2, #0x16] bx lr .align 2, 0 _02065B4C: .word _020B0B08 arm_func_end sub_02065B3C arm_func_start ScriptSpecialProcess0x3D ScriptSpecialProcess0x3D: ; 0x02065B50 ldr r1, _02065B5C ; =_020B0B08 strh r0, [r1, #0x18] bx lr .align 2, 0 _02065B5C: .word _020B0B08 arm_func_end ScriptSpecialProcess0x3D arm_func_start ScriptSpecialProcess0x3E ScriptSpecialProcess0x3E: ; 0x02065B60 ldr r1, _02065B6C ; =_020B0B08 strh r0, [r1, #0x16] bx lr .align 2, 0 _02065B6C: .word _020B0B08 arm_func_end ScriptSpecialProcess0x3E arm_func_start sub_02065B70 sub_02065B70: ; 0x02065B70 ldr r1, _02065B7C ; =_020B0B08 strh r0, [r1, #0x14] bx lr .align 2, 0 _02065B7C: .word _020B0B08 arm_func_end sub_02065B70 arm_func_start sub_02065B80 sub_02065B80: ; 0x02065B80 ldr r2, _02065B90 ; =_020B0B08 strh r0, [r2, #0x10] strh r1, [r2, #0xe] bx lr .align 2, 0 _02065B90: .word _020B0B08 arm_func_end sub_02065B80 arm_func_start sub_02065B94 sub_02065B94: ; 0x02065B94 ldr ip, _02065BA8 ; =SaveScriptVariableValue mov r2, r0 mov r0, #0 mov r1, #0x44 bx ip .align 2, 0 _02065BA8: .word SaveScriptVariableValue arm_func_end sub_02065B94 arm_func_start sub_02065BAC sub_02065BAC: ; 0x02065BAC ldr ip, _02065BC4 ; =_020B0B08 strh r0, [ip, #2] strh r1, [ip] strh r2, [ip, #8] strh r3, [ip, #6] bx lr .align 2, 0 _02065BC4: .word _020B0B08 arm_func_end sub_02065BAC arm_func_start sub_02065BC8 sub_02065BC8: ; 0x02065BC8 ldr r1, _02065BD4 ; =_020B0B08 strh r0, [r1, #0xc] bx lr .align 2, 0 _02065BD4: .word _020B0B08 arm_func_end sub_02065BC8 arm_func_start sub_02065BD8 sub_02065BD8: ; 0x02065BD8 ldr ip, _02065BE8 ; =StrncpySimple mov r2, r1 ldr r1, _02065BEC ; =_022B7310 bx ip .align 2, 0 _02065BE8: .word StrncpySimple _02065BEC: .word _022B7310 arm_func_end sub_02065BD8 arm_func_start sub_02065BF0 sub_02065BF0: ; 0x02065BF0 ldr ip, _02065C00 ; =StrncpySimpleNoPadSafe ldr r1, _02065C04 ; =_022B7310 mov r2, #0xa bx ip .align 2, 0 _02065C00: .word StrncpySimpleNoPadSafe _02065C04: .word _022B7310 arm_func_end sub_02065BF0 arm_func_start sub_02065C08 sub_02065C08: ; 0x02065C08 ldr ip, _02065C44 ; =_022B7310 mov r3, #0 b _02065C20 _02065C14: ldrb r2, [r0], #1 add r3, r3, #1 strb r2, [ip], #1 _02065C20: cmp r3, r1 blt _02065C14 mov r0, #0 b _02065C38 _02065C30: strb r0, [ip], #1 add r3, r3, #1 _02065C38: cmp r3, #0x10 blt _02065C30 bx lr .align 2, 0 _02065C44: .word _022B7310 arm_func_end sub_02065C08 arm_func_start ScriptSpecialProcess0x17 ScriptSpecialProcess0x17: ; 0x02065C48 stmdb sp!, {r3, lr} mov r0, #0x12 bl RandInt ldr r2, _02065C78 ; =DEMO_TEAMS mov r3, r0, lsl #2 ldr r1, _02065C7C ; =_020A68CA ldrsh r2, [r2, r3] ldr r0, _02065C80 ; =_020B0B08 ldrsh r1, [r1, r3] strh r2, [r0, #0xa] strh r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _02065C78: .word DEMO_TEAMS _02065C7C: .word _020A68CA _02065C80: .word _020B0B08 arm_func_end ScriptSpecialProcess0x17 arm_func_start sub_02065C84 sub_02065C84: ; 0x02065C84 mov r2, #0 ldr r1, _02065CAC ; =_022B7320 mov r0, r2 _02065C90: strh r0, [r1] add r2, r2, #1 strh r0, [r1, #2] cmp r2, #4 add r1, r1, #4 blt _02065C90 bx lr .align 2, 0 _02065CAC: .word _022B7320 arm_func_end sub_02065C84 arm_func_start sub_02065CB0 sub_02065CB0: ; 0x02065CB0 bx lr arm_func_end sub_02065CB0 arm_func_start sub_02065CB4 sub_02065CB4: ; 0x02065CB4 ldrh r2, [r1] ldr r3, _02065CD4 ; =_022B7320 mov ip, r0, lsl #2 strh r2, [r3, ip] ldrh r1, [r1, #2] add r0, r3, r0, lsl #2 strh r1, [r0, #2] bx lr .align 2, 0 _02065CD4: .word _022B7320 arm_func_end sub_02065CB4 arm_func_start sub_02065CD8 sub_02065CD8: ; 0x02065CD8 ldr r2, _02065CF0 ; =_022B7320 mov r3, r0 mov r0, r1 ldr ip, _02065CF4 ; =sub_0200CFF0 add r1, r2, r3, lsl #2 bx ip .align 2, 0 _02065CF0: .word _022B7320 _02065CF4: .word sub_0200CFF0 arm_func_end sub_02065CD8 arm_func_start ItemAtTableIdx ItemAtTableIdx: ; 0x02065CF8 ldr r3, _02065D18 ; =_022B7320 mov r2, r0, lsl #2 ldrh r2, [r3, r2] add r0, r3, r0, lsl #2 strh r2, [r1] ldrh r0, [r0, #2] strh r0, [r1, #2] bx lr .align 2, 0 _02065D18: .word _022B7320 arm_func_end ItemAtTableIdx arm_func_start MainLoop MainLoop: ; 0x02065D1C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 bl sub_020024A0 mov r7, r0 mov r8, #1 bl sub_02065C84 bl sub_020205E4 bl LoadTblTalk bl sub_0201DD90 bl sub_0201BB3C bl sub_0201D7A8 ldr r0, _02066374 ; =WAN_TABLE mov r1, #0x80 ldr r0, [r0] bl InitWanTable bl sub_0201F208 bl OpenAllPackFiles bl sub_0204AB18 bl InitKaomadoStream bl sub_02025AD8 bl sub_02026E78 bl sub_020346C0 mov r0, #0 bl sub_0204B018 mov r0, #2 bl SetBothScreensWindowsColor bl sub_0204A1A4 bl sub_02048420 bl KeyWaitInit add r0, sp, #4 bl ReadSaveHeader cmp r0, #1 bne _02065DF0 mov r0, #2 bl LoadOverlay mov r0, #0xf bl LoadOverlay mov r0, r8 bl ExplorersOfSkyMain mov r0, #0xf bl UnloadOverlay mov r0, #2 bl UnloadOverlay mov r0, #2 bl LoadOverlay mov r0, #0xf bl LoadOverlay mov r0, #4 bl ExplorersOfSkyMain mov r0, #0xf bl UnloadOverlay mov r0, #2 bl UnloadOverlay _02065DF0: cmp r7, #0 cmpne r7, #5 mov r0, #2 bne _02065E2C mov r4, #1 bl LoadOverlay mov r0, #0xf bl LoadOverlay mov r0, #2 bl ExplorersOfSkyMain mov r0, #0xf bl UnloadOverlay mov r0, #2 bl UnloadOverlay b _02065E54 _02065E2C: mov r4, #0 bl LoadOverlay mov r0, #0xf bl LoadOverlay mov r0, #1 bl ExplorersOfSkyMain mov r0, #0xf bl UnloadOverlay mov r0, #2 bl UnloadOverlay _02065E54: bl SetAdventureLogStructLocation bl sub_0204F9B8 bl GlobalProgressAlloc bl sub_02052C3C bl LoadWazaP bl sub_0200CA8C bl sub_0205C73C bl sub_0205B44C bl KeyWaitInit bl InitScriptVariableValues cmp r4, #0 beq _02065EE0 mov r0, #2 bl LoadOverlay mov r0, #0xf bl LoadOverlay mov r0, #3 bl ExplorersOfSkyMain mov r0, #0xf bl UnloadOverlay mov r0, #2 bl UnloadOverlay mov r0, #0 mov r1, #0x5c bl ZinitScriptVariable mov r0, #2 bl LoadOverlay mov r0, #0xd bl LoadOverlay mov r0, #0 bl ov11_022E82CC mov r0, #0xd bl UnloadOverlay mov r0, #2 bl UnloadOverlay _02065EE0: mov r0, #1 bl LoadOverlay mov r0, #4 bl LoadOverlay mov r0, #4 bl ov00_022BE0C8 mov r0, #4 bl UnloadOverlay mov r0, #1 bl UnloadOverlay bl sub_02048430 mov r4, #0xf mov r5, #2 mov sl, #4 mov fp, r4 mov r6, #0 _02065F20: mov r0, r6 bl sub_0204B018 bl sub_02048624 cmp r8, #0 beq _02065FE0 bl NoteLoadBase movs sb, r0 beq _02065FCC cmp sb, #1 bne _02065F70 mov r0, r5 bl LoadOverlay mov r0, r4 bl LoadOverlay mov r0, sl bl ExplorersOfSkyMain mov r0, fp bl UnloadOverlay mov r0, #2 bl UnloadOverlay _02065F70: mov r0, #1 bl LoadOverlay mov r0, #4 bl LoadOverlay mov r0, #3 bl ov00_022BE0C8 mov r0, #4 bl UnloadOverlay mov r0, #1 bl UnloadOverlay bl sub_02048454 cmp sb, #5 beq _02065FCC mov r0, #2 bl LoadOverlay mov r0, #0xf bl LoadOverlay mov r0, #6 bl ExplorersOfSkyMain mov r0, #0xf bl UnloadOverlay mov r0, #2 bl UnloadOverlay _02065FCC: add r0, sp, #0 bl sub_0204AF98 ldrb r0, [sp] bl sub_02027180 bl sub_020205F8 _02065FE0: sub r0, r7, #6 cmp r0, #0xf addls pc, pc, r0, lsl #2 b _020660B0 _02065FF0: ; jump table b _02066030 ; case 0 b _02066040 ; case 1 b _02066038 ; case 2 b _02066048 ; case 3 b _02066050 ; case 4 b _02066058 ; case 5 b _02066060 ; case 6 b _02066068 ; case 7 b _02066070 ; case 8 b _02066078 ; case 9 b _02066080 ; case 10 b _02066088 ; case 11 b _02066090 ; case 12 b _02066098 ; case 13 b _020660A0 ; case 14 b _020660A8 ; case 15 _02066030: mov sb, #4 b _020660FC _02066038: mov sb, #6 b _020660FC _02066040: mov sb, #5 b _020660FC _02066048: mov sb, #7 b _020660FC _02066050: mov sb, #9 b _020660FC _02066058: mov sb, #0xa b _020660FC _02066060: mov sb, #0xb b _020660FC _02066068: mov sb, #0xc b _020660FC _02066070: mov sb, #0xd b _020660FC _02066078: mov sb, #0xe b _020660FC _02066080: mov sb, #0xf b _020660FC _02066088: mov sb, #0x10 b _020660FC _02066090: mov sb, #0x10 b _020660FC _02066098: mov sb, #0x12 b _020660FC _020660A0: mov sb, #0x13 b _020660FC _020660A8: mov sb, #0x14 b _020660FC _020660B0: cmp r7, #2 moveq r7, #1 beq _020660C8 cmp r7, #3 moveq r7, #2 movne r7, #0 _020660C8: mov r0, #0 bl sub_0204B018 mov r0, #1 bl LoadOverlay mov r0, #4 bl LoadOverlay mov r0, r7 bl ov00_022BE0C8 mov sb, r0 mov r0, #4 bl UnloadOverlay mov r0, #1 bl UnloadOverlay _020660FC: cmp sb, #6 mov r7, #1 bne _02066134 mov r0, r7 mov r1, #0 bl GetSosMailCount cmp r0, #0 movne sb, #0xa bne _02066134 mov r0, #7 mov r1, #0 bl GetSosMailCount cmp r0, #0 movne sb, #9 _02066134: bl GetSpecialEpisodeType mov r1, r0 ldr r0, _02066378 ; =_020A9208 bl DebugPrint0 sub r0, sb, #4 cmp r0, #9 addls pc, pc, r0, lsl #2 b _02065F20 _02066154: ; jump table b _0206617C ; case 0 b _020661B0 ; case 1 b _020661FC ; case 2 b _0206622C ; case 3 b _02065F20 ; case 4 b _0206625C ; case 5 b _0206628C ; case 6 b _020662BC ; case 7 b _02066300 ; case 8 b _02066330 ; case 9 _0206617C: mov r0, #2 bl sub_0204B018 bl sub_020484C0 bl sub_02048644 mov r0, #2 bl LoadOverlay mov r0, #0 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _020661B0: bl sub_0204C918 bl sub_0204C900 mov r0, #3 bl sub_0204B018 bl sub_02048644 bl sub_020484E8 mov r0, #2 mov r1, #0x36 mov r2, #0 bl SetScenarioScriptVar mov r0, #2 bl LoadOverlay mov r0, #0 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _020661FC: mov r0, #2 bl sub_0204B018 bl sub_02048644 mov r0, #2 bl LoadOverlay mov r0, #1 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _0206622C: mov r0, #3 bl sub_0204B018 bl sub_02048644 mov r0, #2 bl LoadOverlay mov r0, #1 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _0206625C: mov r0, #2 bl sub_0204B018 bl sub_02048644 mov r0, #2 bl LoadOverlay mov r0, #2 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _0206628C: mov r0, #2 bl sub_0204B018 bl sub_02048644 mov r0, #2 bl LoadOverlay mov r0, #3 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _020662BC: mov r0, #4 bl sub_0204B018 bl sub_02048644 bl sub_020485C4 mov r0, #2 mov r1, #0x33 mov r2, #0 bl SetScenarioScriptVar mov r0, #2 bl LoadOverlay mov r0, #1 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _02066300: mov r0, #4 bl sub_0204B018 bl sub_02048644 mov r0, #2 bl LoadOverlay mov r0, #1 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 _02066330: mov r0, #5 bl sub_0204B018 bl sub_02048644 bl sub_020485D8 mov r0, #2 mov r1, #0x34 mov r2, #0 bl SetScenarioScriptVar mov r0, #2 bl LoadOverlay mov r0, #1 bl MainGame mov r8, r0 mov r0, #2 bl UnloadOverlay bl sub_0204872C b _02065F20 .align 2, 0 _02066374: .word WAN_TABLE _02066378: .word _020A9208 arm_func_end MainLoop arm_func_start sub_0206637C sub_0206637C: ; 0x0206637C stmdb sp!, {r3, lr} mov r0, #1 bl OverlayIsLoaded cmp r0, #0 beq _0206639C mov r0, #3 bl ov00_022BE0C8 ldmia sp!, {r3, pc} _0206639C: mov r0, #1 bl LoadOverlay mov r0, #4 bl LoadOverlay mov r0, #3 bl ov00_022BE0C8 mov r0, #4 bl UnloadOverlay mov r0, #1 bl UnloadOverlay ldmia sp!, {r3, pc} arm_func_end sub_0206637C arm_func_start sub_020663C8 sub_020663C8: ; 0x020663C8 stmdb sp!, {r3, lr} ldrsb ip, [sp, #8] str ip, [sp] bl sub_02046A9C ldmia sp!, {r3, pc} arm_func_end sub_020663C8 arm_func_start sub_020663DC sub_020663DC: ; 0x020663DC stmdb sp!, {lr} sub sp, sp, #0xc ldr ip, [sp, #0x10] ldrh lr, [sp, #0x14] str ip, [sp] mov ip, #0 str lr, [sp, #4] str ip, [sp, #8] bl sub_02046A20 add sp, sp, #0xc ldmia sp!, {pc} arm_func_end sub_020663DC arm_func_start sub_02066408 sub_02066408: ; 0x02066408 stmdb sp!, {lr} sub sp, sp, #0xc ldr ip, [sp, #0x10] ldrh lr, [sp, #0x14] str ip, [sp] ldr ip, [sp, #0x18] str lr, [sp, #4] str ip, [sp, #8] bl sub_02046A20 add sp, sp, #0xc ldmia sp!, {pc} arm_func_end sub_02066408 arm_func_start sub_02066434 sub_02066434: ; 0x02066434 stmdb sp!, {r3, lr} bl sub_02046B04 mvn r1, #1 cmp r0, r1 moveq r0, #0x1f ldmeqia sp!, {r3, pc} add r1, r1, #1 cmp r0, r1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02066434 arm_func_start sub_0206645C sub_0206645C: ; 0x0206645C ldr ip, _02066464 ; =sub_02046BA0 bx ip .align 2, 0 _02066464: .word sub_02046BA0 arm_func_end sub_0206645C arm_func_start sub_02066468 sub_02066468: ; 0x02066468 ldr ip, _02066474 ; =sub_02046BE8 mov r2, #0 bx ip .align 2, 0 _02066474: .word sub_02046BE8 arm_func_end sub_02066468 arm_func_start sub_02066478 sub_02066478: ; 0x02066478 ldr ip, _02066484 ; =sub_02046C30 mov r2, #0 bx ip .align 2, 0 _02066484: .word sub_02046C30 arm_func_end sub_02066478 arm_func_start sub_02066488 sub_02066488: ; 0x02066488 ldr ip, _02066490 ; =sub_02046BE8 bx ip .align 2, 0 _02066490: .word sub_02046BE8 arm_func_end sub_02066488 arm_func_start sub_02066494 sub_02066494: ; 0x02066494 stmdb sp!, {r3, lr} bl sub_02046C78 cmp r0, #0 movne r0, #0x1f moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02066494 arm_func_start sub_020664AC sub_020664AC: ; 0x020664AC ldr ip, _020664B4 ; =sub_02046D20 bx ip .align 2, 0 _020664B4: .word sub_02046D20 arm_func_end sub_020664AC arm_func_start sub_020664B8 sub_020664B8: ; 0x020664B8 stmdb sp!, {r4, lr} mov r4, r0 bl sub_020676AC ldr r2, _0206650C ; =_020B0B24 mov r3, #0 mov r0, #0xa8 mov r1, #8 strb r3, [r2] bl MemAlloc ldr r2, _0206650C ; =_020B0B24 mov r1, #0xa8 str r0, [r2, #4] bl MemZero ldr r1, _0206650C ; =_020B0B24 mov r2, #0 ldr r3, [r1, #4] mov r0, #1 str r4, [r3, #8] ldr r1, [r1, #4] str r2, [r1] ldmia sp!, {r4, pc} .align 2, 0 _0206650C: .word _020B0B24 arm_func_end sub_020664B8 arm_func_start sub_02066510 sub_02066510: ; 0x02066510 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r0, _02066874 ; =_020B0B24 ldr r1, [r0, #4] ldr r0, [r1] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02066868 _02066530: ; jump table b _02066544 ; case 0 b _02066640 ; case 1 b _02066700 ; case 2 b _02066708 ; case 3 b _02066724 ; case 4 _02066544: mov r2, #0 add r1, r1, #0xa4 mov r0, r2 _02066550: strb r0, [r1, r2] add r2, r2, #1 cmp r2, #4 blt _02066550 ldr r0, _02066874 ; =_020B0B24 mov r1, #0x98 ldr r0, [r0, #4] add r0, r0, #0xc bl MemZero ldr r0, _02066874 ; =_020B0B24 ldr r2, [r0, #4] add r1, r2, #0xa4 str r1, [r2, #0x6c] ldr r0, [r0, #4] ldr r0, [r0, #8] cmp r0, #0 bne _020665B4 ldr r4, _02066878 ; =JOB_MENU_1 bl sub_0205E954 cmp r0, #0 ldreq r0, _02066874 ; =_020B0B24 moveq r1, #3 ldreq r0, [r0, #4] streqb r1, [r0, #0xa4] b _020665D8 _020665B4: cmp r0, #1 bne _020665D8 ldr r4, _0206687C ; =JOB_MENU_2 bl sub_0205EAC8 cmp r0, #0 ldreq r0, _02066874 ; =_020B0B24 moveq r1, #3 ldreq r0, [r0, #4] streqb r1, [r0, #0xa4] _020665D8: bl sub_0205ED84 cmp r0, #0 ldreq r0, _02066874 ; =_020B0B24 moveq r1, #3 ldreq r0, [r0, #4] ldr r3, _02066874 ; =_020B0B24 streqb r1, [r0, #0xa5] ldrsb r2, [r3] ldr ip, [r3, #4] mov r1, #0 add r2, r4, r2, lsl #3 ldr lr, [r2, #4] ldr r0, _02066880 ; =JOB_D_BOX_LAYOUT_1 str lr, [ip, #0xc] str r4, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr r3, [r3, #4] ldr r2, _02066884 ; =0x00000233 add r3, r3, #0xc bl sub_02046A20 ldr r0, _02066874 ; =_020B0B24 mov r1, #1 ldr r0, [r0, #4] str r1, [r0] b _02066868 _02066640: bl sub_02046B04 mov r4, r0 mvn r1, #1 cmp r4, r1 moveq r4, #4 beq _02066674 sub r0, r1, #1 cmp r4, r0 moveq r4, #4 beq _02066674 add r0, r1, #1 cmp r4, r0 moveq r4, #0 _02066674: bl sub_02046BA0 ldr r1, _02066874 ; =_020B0B24 cmp r4, #1 strb r0, [r1] bne _020666A4 ldr r0, [r1, #4] mov r2, #0xa str r2, [r0, #4] ldr r0, [r1, #4] mov r1, #3 str r1, [r0] b _02066868 _020666A4: cmp r4, #2 bne _020666C8 ldr r0, [r1, #4] mov r2, #0xb str r2, [r0, #4] ldr r0, [r1, #4] mov r1, #3 str r1, [r0] b _02066868 _020666C8: cmp r4, #3 bne _020666EC ldr r0, [r1, #4] mov r2, #0xe str r2, [r0, #4] ldr r0, [r1, #4] mov r1, #3 str r1, [r0] b _02066868 _020666EC: cmp r4, #4 ldreq r0, [r1, #4] moveq r1, #2 streq r1, [r0] b _02066868 _02066700: mov r0, #1 b _0206686C _02066708: ldr r0, [r1, #4] bl sub_020668B4 ldr r0, _02066874 ; =_020B0B24 mov r1, #4 ldr r0, [r0, #4] str r1, [r0] b _02066868 _02066724: bl sub_02066A44 movs r4, r0 beq _02066868 bl sub_02067664 add r0, r4, #1 cmp r0, #0x17 addls pc, pc, r0, lsl #2 b _02066868 _02066744: ; jump table b _02066858 ; case 0 b _02066868 ; case 1 b _020667A4 ; case 2 b _02066868 ; case 3 b _020667B8 ; case 4 b _020667C0 ; case 5 b _020667C8 ; case 6 b _020667D0 ; case 7 b _020667D8 ; case 8 b _020667E0 ; case 9 b _020667E8 ; case 10 b _020667F0 ; case 11 b _020667F8 ; case 12 b _02066800 ; case 13 b _02066808 ; case 14 b _02066810 ; case 15 b _02066818 ; case 16 b _02066820 ; case 17 b _02066828 ; case 18 b _02066830 ; case 19 b _02066838 ; case 20 b _02066840 ; case 21 b _02066848 ; case 22 b _02066850 ; case 23 _020667A4: ldr r0, _02066874 ; =_020B0B24 mov r1, #0 ldr r0, [r0, #4] str r1, [r0] b _02066868 _020667B8: mov r0, #2 b _0206686C _020667C0: mov r0, #3 b _0206686C _020667C8: mov r0, #4 b _0206686C _020667D0: mov r0, #5 b _0206686C _020667D8: mov r0, #6 b _0206686C _020667E0: mov r0, #7 b _0206686C _020667E8: mov r0, #8 b _0206686C _020667F0: mov r0, #9 b _0206686C _020667F8: mov r0, #0xa b _0206686C _02066800: mov r0, #0xb b _0206686C _02066808: mov r0, #0xc b _0206686C _02066810: mov r0, #0xd b _0206686C _02066818: mov r0, #0xe b _0206686C _02066820: mov r0, #0xf b _0206686C _02066828: mov r0, #0x10 b _0206686C _02066830: mov r0, #0x11 b _0206686C _02066838: mov r0, #0x12 b _0206686C _02066840: mov r0, #0x13 b _0206686C _02066848: mov r0, #0x14 b _0206686C _02066850: mov r0, #0x15 b _0206686C _02066858: ldr r0, _02066874 ; =_020B0B24 mov r1, #0 ldr r0, [r0, #4] str r1, [r0] _02066868: mov r0, #0 _0206686C: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 _02066874: .word _020B0B24 _02066878: .word JOB_MENU_1 _0206687C: .word JOB_MENU_2 _02066880: .word JOB_D_BOX_LAYOUT_1 _02066884: .word 0x00000233 arm_func_end sub_02066510 arm_func_start sub_02066888 sub_02066888: ; 0x02066888 stmdb sp!, {r3, lr} ldr r0, _020668B0 ; =_020B0B24 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _020668B0 ; =_020B0B24 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _020668B0: .word _020B0B24 arm_func_end sub_02066888 arm_func_start sub_020668B4 sub_020668B4: ; 0x020668B4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 sub r0, r5, #0x13 cmp r0, #2 movls r0, #0 ldmlsia sp!, {r3, r4, r5, pc} ldr r0, _02066988 ; =0x00000EF8 mov r1, #8 bl MemAlloc ldr r2, _0206698C ; =_020B0B2C ldr r1, _02066988 ; =0x00000EF8 str r0, [r2, #0x14] bl MemZero ldr r0, _0206698C ; =_020B0B2C mov r2, #0 ldr r4, [r0, #0x14] mov r1, r2 _020668F8: add r0, r4, r2 add r2, r2, #1 strb r1, [r0, #0x4c] cmp r2, #0x20 blt _020668F8 ldr r0, _0206698C ; =_020B0B2C ldr r0, [r0, #0x14] str r5, [r0, #4] str r1, [r4, #8] str r1, [r4, #0xef0] bl sub_020686F4 mov r2, #0 str r2, [r4, #0x74] sub r1, r2, #1 str r1, [r4, #0x78] cmp r0, #0 bne _0206695C bl sub_020692B4 ldr r0, _0206698C ; =_020B0B2C ldr r0, [r0, #0x14] bl MemFree ldr r1, _0206698C ; =_020B0B2C mov r0, #0 str r0, [r1, #0x14] ldmia sp!, {r3, r4, r5, pc} _0206695C: sub r0, r2, #2 strb r0, [r4, #0x7d] bl sub_020692FC mvn r1, #1 ldr r0, _0206698C ; =_020B0B2C strb r1, [r4, #0xd85] ldr r0, [r0, #0x14] mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02066988: .word 0x00000EF8 _0206698C: .word _020B0B2C arm_func_end sub_020668B4 arm_func_start sub_02066990 sub_02066990: ; 0x02066990 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 ldr r0, _02066A3C ; =0x00000EF8 mov r1, #8 mov r6, r2 mov r5, r3 bl MemAlloc ldr r2, _02066A40 ; =_020B0B2C ldr r1, _02066A3C ; =0x00000EF8 str r0, [r2, #0x14] bl MemZero ldr r0, _02066A40 ; =_020B0B2C mov r1, #0 ldr r4, [r0, #0x14] str r8, [r4, #4] str r7, [r4, #0x74] str r6, [r4, #0x6c] str r5, [r4, #0x78] str r1, [r4, #8] str r1, [r4, #0xef0] bl sub_020686F4 cmp r0, #0 bne _02066A10 bl sub_020692B4 ldr r0, _02066A40 ; =_020B0B2C ldr r0, [r0, #0x14] bl MemFree ldr r1, _02066A40 ; =_020B0B2C mov r0, #0 str r0, [r1, #0x14] ldmia sp!, {r4, r5, r6, r7, r8, pc} _02066A10: mvn r0, #1 strb r0, [r4, #0x7d] bl sub_020692FC mvn r1, #1 ldr r0, _02066A40 ; =_020B0B2C strb r1, [r4, #0xd85] ldr r0, [r0, #0x14] mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02066A3C: .word 0x00000EF8 _02066A40: .word _020B0B2C arm_func_end sub_02066990 arm_func_start sub_02066A44 sub_02066A44: ; 0x02066A44 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldr r0, _020674A0 ; =_020B0B2C ldr r6, [r0, #0x14] ldr r0, [r6] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02067494 _02066A64: ; jump table b _02066A80 ; case 0 b _02066B08 ; case 1 b _02066DA4 ; case 2 b _02066DAC ; case 3 b _020672F4 ; case 4 b _02067374 ; case 5 b _02067474 ; case 6 _02066A80: bl sub_020691B8 ldr r0, _020674A0 ; =_020B0B2C mov r2, #1 ldr r1, [r0, #0x14] str r2, [r1] ldr r1, [r6, #0xee4] cmp r1, #0 bne _02066AF4 ldr r1, [r0, #0x14] ldr r0, [r1, #4] sub r0, r0, #0xa cmp r0, #3 bhi _02066AC8 add r0, r1, #0x2e4 ldr r1, _020674A4 ; =_020A92A8 ldr r2, _020674A8 ; =sub_020696E8 add r0, r0, #0xc00 bl sub_0204707C _02066AC8: ldr r0, _020674A0 ; =_020B0B2C ldr r1, [r0, #0x14] ldr r0, [r1, #4] cmp r0, #0xe bne _02067494 add r0, r1, #0x2e4 ldr r1, _020674A4 ; =_020A92A8 ldr r2, _020674AC ; =sub_02069750 add r0, r0, #0xc00 bl sub_0204707C b _02067494 _02066AF4: ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047188 b _02067494 _02066B08: ldrsb r0, [r6, #0x7d] bl sub_0202C748 ldr r1, [r6, #0xef0] mov r4, r0 cmp r1, #0 strneb r4, [r1] ldrsb r0, [r6, #0x7d] bl sub_0202C728 cmp r0, #0 bne _02066D68 ldrsb r0, [r6, #0x7d] bl sub_0202C75C movs r5, r0 bpl _02066BAC mov r2, #0 mov r1, r2 b _02066B58 _02066B4C: add r0, r6, r2 strb r1, [r0, #0x4c] add r2, r2, #1 _02066B58: ldr r0, [r6, #0x6c] cmp r2, r0 blt _02066B4C mvn r0, #0 str r0, [r6, #8] bl sub_020692B4 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r0, [r0, #4] sub r0, r0, #0xa cmp r0, #3 bhi _02066BA4 bl sub_0205F5A8 bl sub_0205F710 _02066BA4: mvn r0, #0 b _02067498 _02066BAC: bl sub_020674E8 cmp r0, #0 beq _02066BE8 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r0, [r0, #4] sub r0, r0, #0x12 cmp r0, #1 bhi _02066D68 bl sub_020692B4 ldr r0, _020674A0 ; =_020B0B2C mov r1, #2 ldr r0, [r0, #0x14] str r1, [r0] b _02066D68 _02066BE8: ldr r3, [r6, #8] cmp r3, r5 bne _02066D64 ldr r0, _020674A0 ; =_020B0B2C ldr r1, [r0, #0x14] ldr r2, [r1, #4] cmp r2, #0xe cmpne r2, #0xf cmpne r2, #0x11 moveq r0, #2 streq r0, [r1] beq _02066D68 sub r1, r2, #0xa cmp r1, #3 bhi _02066CF4 bl sub_0205ED84 cmp r0, #8 bge _02066CEC ldr r1, _020674A0 ; =_020B0B2C mov r0, #0 ldr r1, [r1, #0x14] ldr r1, [r1, #4] sub r1, r1, #0xa cmp r1, #3 addls pc, pc, r1, lsl #2 b _02066CCC _02066C50: ; jump table b _02066C60 ; case 0 b _02066C7C ; case 1 b _02066C98 ; case 2 b _02066CB4 ; case 3 _02066C60: ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205E970 b _02066CCC _02066C7C: ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EAE8 b _02066CCC _02066C98: ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EBD8 b _02066CCC _02066CB4: ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EC38 _02066CCC: bl sub_0205F0B8 bl sub_020686F4 bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047188 _02066CEC: bl sub_020691B8 b _02066D68 _02066CF4: cmp r2, #0x10 bne _02066D04 bl sub_020691B8 b _02066D68 _02066D04: sub r1, r2, #0x12 cmp r1, #1 bhi _02066D30 add r1, r6, r3 mov r2, #1 strb r2, [r1, #0x4c] ldr r0, [r0, #0x14] mov r1, #2 str r1, [r0] bl sub_020692B4 b _02066D68 _02066D30: cmp r2, #9 cmpne r2, #0x14 cmpne r2, #4 bne _02066D58 bl sub_020692B4 ldr r0, _020674A0 ; =_020B0B2C mov r1, #2 ldr r0, [r0, #0x14] str r1, [r0] b _02066D68 _02066D58: bl sub_020692B4 mov r0, #1 b _02067498 _02066D64: bl sub_020691B8 _02066D68: bl sub_020698B8 cmp r0, #0 beq _02066D90 cmp r4, #0 blt _02066D90 ldr r0, [r6, #8] cmp r0, r4 beq _02066D90 str r4, [r6, #8] bl sub_0206937C _02066D90: ldr r0, [r6, #0xee4] cmp r0, #0 beq _02067494 bl sub_020470D0 b _02067494 _02066DA4: bl sub_02067708 b _02067494 _02066DAC: bl sub_02046B04 bl sub_02068308 ldr r1, [r6, #0xef4] mov r4, r0 cmp r1, #0 beq _02066DD0 bl sub_02046BA0 ldr r1, [r6, #0xef4] strb r0, [r1] _02066DD0: cmp r4, #1 bne _02066E00 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r0, [r0, #4] cmp r0, #9 bne _02066DF4 bl sub_0206955C bl sub_02046D20 _02066DF4: bl sub_020692B4 mov r0, #1 b _02067498 _02066E00: cmp r4, #2 bne _02066EDC ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r0, [r0, #4] cmp r0, #0xa bne _02066E3C ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205E970 bl sub_0205F0B8 b _02066EC0 _02066E3C: cmp r0, #0xb bne _02066E64 ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EAE8 bl sub_0205F0B8 b _02066EC0 _02066E64: cmp r0, #0xc bne _02066E8C ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EBD8 bl sub_0205F0B8 b _02066EC0 _02066E8C: cmp r0, #0xd bne _02066EB4 ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EC38 bl sub_0205F0B8 b _02066EC0 _02066EB4: cmp r0, #0x14 moveq r0, #1 beq _02067498 _02066EC0: bl sub_020686F4 bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02066EDC: cmp r4, #3 bne _02066EF4 bl sub_02067C8C cmp r0, #0 beq _02067494 b _02067498 _02066EF4: cmp r4, #4 bne _02066F44 bl sub_02046BB4 mov r0, #6 bl sub_02017CCC ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission mov r1, #4 strb r1, [r0] bl sub_020686F4 bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02066F44: cmp r4, #5 bne _02067020 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r0, [r0, #4] cmp r0, #0x11 bne _02066F84 ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205F588 bl sub_0205F5A8 mov r0, #1 b _02067498 _02066F84: cmp r0, #0x12 moveq r0, #1 beq _02067498 cmp r0, #0xe bne _02066FB4 mov r0, #0 bl sub_02017CCC ldr r0, _020674A0 ; =_020B0B2C mov r1, #4 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02066FB4: ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205F588 bl sub_0205F5A8 bl sub_0205ED84 cmp r0, #0 bne _02066FFC bl sub_020692B4 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 mvn r0, #0 b _02067498 _02066FFC: bl sub_020686F4 bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C mov r2, #0 ldr r1, [r0, #0x14] mov r0, #1 str r2, [r1] strb r0, [r6, #0xd84] b _02067494 _02067020: cmp r4, #6 bne _020670F4 ldr r3, [r6, #0x70] mov r1, #1 add r0, r6, r3 strb r1, [r0, #0x4c] add r2, r3, #1 ldr r1, [r6, #0x6c] b _0206705C _02067044: add r0, r6, r2 ldrb r0, [r0, #0x4c] cmp r0, #0 strne r2, [r6, #0x70] bne _02067064 add r2, r2, #1 _0206705C: cmp r2, r1 blt _02067044 _02067064: ldr r0, [r6, #0x70] cmp r0, r3 bne _020670A0 bl sub_020674E8 cmp r0, #0 bne _02067098 bl sub_02046D20 mov r1, #0 ldr r0, _020674A0 ; =_020B0B2C str r1, [r6, #8] ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02067098: mov r0, #2 b _02067498 _020670A0: str r0, [r6, #8] bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C ldr r1, _020674B0 ; =_020A937C ldrsb r3, [r0, #0xd] ldr r0, _020674B4 ; =_020B0B39 ldr r2, _020674B8 ; =JOB_MENU_11 ldr r1, [r1, r3, lsl #3] add r3, r6, #0x248 str r1, [r6, #0xe48] str r0, [r6, #0xef4] mov r0, #0 ldr r1, _020674BC ; =0x00003878 str r2, [sp] str r1, [sp, #4] ldr r2, _020674C0 ; =0x00000233 mov r1, r0 add r3, r3, #0xc00 str r0, [sp, #8] bl sub_02046A20 b _02067494 _020670F4: sub r0, r4, #7 cmp r0, #1 bhi _02067494 ldr r0, _020674A0 ; =_020B0B2C ldr r1, [r0, #0x14] ldr r0, [r1, #4] cmp r0, #0x11 bne _02067134 bl sub_02046D20 ldr r1, [r6, #8] ldr r0, _020674A0 ; =_020B0B2C str r1, [r6, #0xd88] ldr r0, [r0, #0x14] mov r1, #0 str r1, [r0] b _02067494 _02067134: cmp r0, #0x13 bne _02067210 ldr r3, [r6, #0x70] mov r1, #0 add r0, r6, r3 strb r1, [r0, #0x4c] mov r2, r3 ldr r1, [r6, #0x6c] b _02067170 _02067158: add r0, r6, r2 ldrb r0, [r0, #0x4c] cmp r0, #0 strne r2, [r6, #0x70] bne _02067178 add r2, r2, #1 _02067170: cmp r2, r1 blt _02067158 _02067178: ldr r0, [r6, #0x70] cmp r0, r3 bne _020671BC bl sub_020674E8 cmp r0, #0 bne _020671B4 bl sub_02046D20 mov r0, #0 str r0, [r6, #8] bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _020671B4: mov r0, #2 b _02067498 _020671BC: str r0, [r6, #8] bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C ldr r1, _020674B0 ; =_020A937C ldrsb r3, [r0, #0xd] ldr r0, _020674B4 ; =_020B0B39 ldr r2, _020674B8 ; =JOB_MENU_11 ldr r1, [r1, r3, lsl #3] add r3, r6, #0x248 str r1, [r6, #0xe48] str r0, [r6, #0xef4] mov r0, #0 ldr r1, _020674BC ; =0x00003878 str r2, [sp] str r1, [sp, #4] ldr r2, _020674C0 ; =0x00000233 mov r1, r0 add r3, r3, #0xc00 str r0, [sp, #8] bl sub_02046A20 b _02067494 _02067210: cmp r0, #9 bne _02067234 bl sub_0206955C bl sub_02046D20 ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02067234: cmp r0, #4 bne _02067254 bl sub_02046D20 ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02067254: cmp r0, #0x12 bne _02067298 mov r2, #0 mov r1, r2 b _02067274 _02067268: add r0, r6, r2 strb r1, [r0, #0x4c] add r2, r2, #1 _02067274: ldr r0, [r6, #0x6c] cmp r2, r0 blt _02067268 bl sub_02046D20 ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02067298: cmp r0, #0x14 bne _020672B8 bl sub_02046D20 ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _020672B8: cmp r0, #0xe bne _020672E8 bl sub_02046BB4 cmp r4, #7 bne _020672D4 mov r0, #0 bl sub_02017CCC _020672D4: ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _020672E8: mov r0, #0 str r0, [r1] b _02067494 _020672F4: mov r0, #0 ldr r5, _020674C4 ; =_020A9268 bl sub_02046D2C str r0, [r6, #0xee8] mov r0, #0 bl sub_020474A0 str r0, [r6, #0xeec] bl sub_020469BC bl sub_02068338 ldr r0, _020674A0 ; =_020B0B2C add r3, r6, #0x248 ldr r0, [r0, #0x14] mov r1, #0 ldr r0, [r0, #4] ldr r2, _020674C0 ; =0x00000233 cmp r0, #0xe moveq r0, #7 streq r0, [r6, #0xe48] moveq r0, #0 streq r0, [r6, #0xef4] ldreq r4, _020674C8 ; =JOB_MENU_4 mov r0, r5 str r4, [sp] str r1, [sp, #4] add r3, r3, #0xc00 str r1, [sp, #8] bl sub_02046A20 ldr r0, _020674A0 ; =_020B0B2C mov r1, #5 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02067374: bl sub_02046B04 bl sub_02068308 ldr r1, [r6, #0xef4] mov r4, r0 cmp r1, #0 beq _02067398 bl sub_02046BA0 ldr r1, [r6, #0xef4] strb r0, [r1] _02067398: cmp r4, #5 bne _02067430 bl sub_020469E8 ldr r0, [r6, #0xee8] bl sub_02046D2C ldr r0, [r6, #0xeec] bl sub_020474A0 mov r0, #0 str r0, [r6, #0xee8] str r0, [r6, #0xeec] bl sub_02046BB4 ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205F588 bl sub_0205F5A8 bl sub_0205ED84 cmp r0, #0 bne _0206740C bl sub_020692B4 ldr r0, _020674A0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 mvn r0, #0 b _02067498 _0206740C: bl sub_020686F4 bl sub_0206937C ldr r0, _020674A0 ; =_020B0B2C mov r2, #0 ldr r1, [r0, #0x14] mov r0, #1 str r2, [r1] strb r0, [r6, #0xd84] b _02067494 _02067430: sub r0, r4, #7 cmp r0, #1 bhi _02067494 bl sub_020469E8 ldr r0, [r6, #0xee8] bl sub_02046D2C ldr r0, [r6, #0xeec] bl sub_020474A0 mov r0, #0 str r0, [r6, #0xee8] str r0, [r6, #0xeec] bl sub_02046BB4 ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] b _02067494 _02067474: bl sub_02046C78 cmp r0, #0 beq _02067494 bl sub_02046D20 ldr r0, _020674A0 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] str r1, [r0] _02067494: mov r0, #0 _02067498: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020674A0: .word _020B0B2C _020674A4: .word _020A92A8 _020674A8: .word sub_020696E8 _020674AC: .word sub_02069750 _020674B0: .word _020A937C _020674B4: .word _020B0B39 _020674B8: .word JOB_MENU_11 _020674BC: .word 0x00003878 _020674C0: .word 0x00000233 _020674C4: .word _020A9268 _020674C8: .word JOB_MENU_4 arm_func_end sub_02066A44 arm_func_start sub_020674CC sub_020674CC: ; 0x020674CC ldr r0, _020674E4 ; =_020B0B2C ldr r1, [r0, #0x14] ldr r0, [r1, #8] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0xc] bx lr .align 2, 0 _020674E4: .word _020B0B2C arm_func_end sub_020674CC arm_func_start sub_020674E8 sub_020674E8: ; 0x020674E8 ldr r0, _02067520 ; =_020B0B2C mov ip, #0 ldr r2, [r0, #0x14] mov r0, ip ldr r3, [r2, #0x6c] b _02067514 _02067500: add r1, r2, ip ldrb r1, [r1, #0x4c] add ip, ip, #1 cmp r1, #0 addne r0, r0, #1 _02067514: cmp ip, r3 blt _02067500 bx lr .align 2, 0 _02067520: .word _020B0B2C arm_func_end sub_020674E8 arm_func_start sub_02067524 sub_02067524: ; 0x02067524 stmdb sp!, {r4, lr} mov lr, #0 mov r4, lr ldr r2, _02067580 ; =_020B0B2C b _02067568 _02067538: cmp lr, r1 movge r0, #0 ldmgeia sp!, {r4, pc} add r3, ip, r4 ldrb r3, [r3, #0x4c] cmp r3, #0 addne r3, ip, r4, lsl #1 ldrnesh ip, [r3, #0xc] movne r3, lr, lsl #1 addne lr, lr, #1 strneh ip, [r0, r3] add r4, r4, #1 _02067568: ldr ip, [r2, #0x14] ldr r3, [ip, #0x6c] cmp r4, r3 blt _02067538 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _02067580: .word _020B0B2C arm_func_end sub_02067524 arm_func_start sub_02067584 sub_02067584: ; 0x02067584 stmdb sp!, {r4, lr} sub sp, sp, #0x40 cmp r0, #0x13 addls pc, pc, r0, lsl #2 b _02067658 _02067598: ; jump table b _020675E8 ; case 0 b _020675E8 ; case 1 b _020675E8 ; case 2 b _020675E8 ; case 3 b _020675E8 ; case 4 b _020675E8 ; case 5 b _020675E8 ; case 6 b _020675E8 ; case 7 b _02067658 ; case 8 b _020675E8 ; case 9 b _020675E8 ; case 10 b _020675E8 ; case 11 b _020675E8 ; case 12 b _020675E8 ; case 13 b _02067638 ; case 14 b _02067638 ; case 15 b _02067638 ; case 16 b _02067604 ; case 17 b _020675E8 ; case 18 b _02067650 ; case 19 _020675E8: add r1, sp, #0 bl sub_02068390 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _0206765C _02067604: bl sub_0204E210 cmp r0, #1 bne _02067638 bl sub_0205ED84 mov r4, r0 bl GetAdventureLogDungeonFloor ldrb r0, [r0] bl DungeonRequestsDoneWrapper subs r0, r4, r0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _0206765C _02067638: bl sub_0205ED84 cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff b _0206765C _02067650: mov r0, #0 b _0206765C _02067658: mov r0, #1 _0206765C: add sp, sp, #0x40 ldmia sp!, {r4, pc} arm_func_end sub_02067584 arm_func_start sub_02067664 sub_02067664: ; 0x02067664 stmdb sp!, {r3, lr} ldr r0, _020676A8 ; =_020B0B2C ldr r0, [r0, #0x14] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 bl sub_02069904 bl sub_020692B4 ldr r0, _020676A8 ; =_020B0B2C ldr r0, [r0, #0x14] bl MemFree ldr r0, _020676A8 ; =_020B0B2C mov r1, #0 str r1, [r0, #0x14] ldmia sp!, {r3, pc} .align 2, 0 _020676A8: .word _020B0B2C arm_func_end sub_02067664 arm_func_start sub_020676AC sub_020676AC: ; 0x020676AC ldr r0, _02067704 ; =_020B0B2C mov r1, #0 strb r1, [r0, #0x10] strb r1, [r0, #0xe] strb r1, [r0, #9] strb r1, [r0, #8] strb r1, [r0, #6] strb r1, [r0, #0xb] strb r1, [r0, #4] strb r1, [r0, #0xd] strb r1, [r0, #7] strb r1, [r0, #3] strb r1, [r0, #2] strb r1, [r0, #5] strb r1, [r0, #1] strb r1, [r0] strb r1, [r0, #0x13] strb r1, [r0, #0x12] strb r1, [r0, #0x11] strb r1, [r0, #0xa] strb r1, [r0, #0xf] bx lr .align 2, 0 _02067704: .word _020B0B2C arm_func_end sub_020676AC arm_func_start sub_02067708 sub_02067708: ; 0x02067708 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x5c ldr r1, _02067C00 ; =_020B0B2C mov r6, #0 add r0, sp, #0xc mov sb, r6 ldr r4, [r1, #0x14] ldr r7, _02067C04 ; =_020A9298 ldr r8, _02067C08 ; =0x00000233 bl InitPreprocessorArgs bl sub_02068338 ldr r1, _02067C00 ; =_020B0B2C ldr r0, [r1, #0x14] ldr r2, [r0, #4] sub r2, r2, #4 cmp r2, #0x10 addls pc, pc, r2, lsl #2 b _02067BC4 _02067750: ; jump table b _02067AF8 ; case 0 b _02067BC4 ; case 1 b _02067BC4 ; case 2 b _02067BC4 ; case 3 b _02067BC4 ; case 4 b _02067A80 ; case 5 b _02067794 ; case 6 b _020677F0 ; case 7 b _0206784C ; case 8 b _020678A8 ; case 9 b _02067904 ; case 10 b _020679E0 ; case 11 b _02067BC4 ; case 12 b _02067A50 ; case 13 b _02067B20 ; case 14 b _02067B3C ; case 15 b _02067BA0 ; case 16 _02067794: ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205E970 bl sub_0205EC98 cmp r0, #0 bne _020677C4 bl sub_0205ED84 cmp r0, #8 blt _020677CC _020677C4: mov r0, #3 strb r0, [r4, #0xee0] _020677CC: ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C0C ; =_020A9364 ldrsb r2, [r0, #0x10] ldr r0, _02067C10 ; =_020B0B3C ldr r5, _02067C14 ; =JOB_MENU_10 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _020677F0: ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EAE8 bl sub_0205EC98 cmp r0, #0 bne _02067820 bl sub_0205ED84 cmp r0, #8 blt _02067828 _02067820: mov r0, #3 strb r0, [r4, #0xee0] _02067828: ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C0C ; =_020A9364 ldrsb r2, [r0, #0xe] ldr r0, _02067C18 ; =_020B0B3A ldr r5, _02067C14 ; =JOB_MENU_10 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _0206784C: ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EBD8 bl sub_0205EC98 cmp r0, #0 bne _0206787C bl sub_0205ED84 cmp r0, #8 blt _02067884 _0206787C: mov r0, #3 strb r0, [r4, #0xee0] _02067884: ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C0C ; =_020A9364 ldrsb r2, [r0, #9] ldr r0, _02067C1C ; =_020B0B35 ldr r5, _02067C14 ; =JOB_MENU_10 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _020678A8: ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EC38 bl sub_0205EC98 cmp r0, #0 bne _020678D8 bl sub_0205ED84 cmp r0, #8 blt _020678E0 _020678D8: mov r0, #3 strb r0, [r4, #0xee0] _020678E0: ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C0C ; =_020A9364 ldrsb r2, [r0, #8] ldr r0, _02067C20 ; =_020B0B34 ldr r5, _02067C14 ; =JOB_MENU_10 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _02067904: ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission mov r5, r0 ldrb r0, [r5, #4] bl DungeonSwapIdToIdx ldrb r0, [r5] orr r8, r8, #0x400000 orr r8, r8, #0x80000000 cmp r0, #4 addls pc, pc, r0, lsl #2 b _0206798C _02067940: ; jump table b _0206798C ; case 0 b _02067954 ; case 1 b _02067954 ; case 2 b _02067954 ; case 3 b _02067954 ; case 4 _02067954: mov r0, r5 bl sub_0205ECF4 cmp r0, #0 movne r0, #3 strneb r0, [r4, #0xee0] ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C24 ; =_020A9394 ldrsb r2, [r0, #6] ldr r0, _02067C28 ; =_020B0B32 ldr r5, _02067C2C ; =JOB_MENU_12 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _0206798C: ldrb r1, [r5, #1] cmp r1, #3 ldreqb r0, [r5, #2] cmpeq r0, #3 moveq r0, #3 streqb r0, [r4, #0xee0] beq _020679BC cmp r1, #6 ldreqb r0, [r5, #2] cmpeq r0, #4 moveq r0, #3 streqb r0, [r4, #0xee0] _020679BC: ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C30 ; =_020A93B4 ldrsb r2, [r0, #6] ldr r0, _02067C28 ; =_020B0B32 ldr r5, _02067C34 ; =JOB_MENU_13 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _020679E0: ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission ldrb r0, [r0] cmp r0, #4 beq _02067A2C ldr r0, [r4, #8] add r0, r4, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission ldrb r0, [r0] cmp r0, #1 movne r0, #3 strneb r0, [r4, #0xee0] _02067A2C: ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C38 ; =_020A92EC ldrsb r2, [r0, #0xb] ldr r0, _02067C3C ; =_020B0B37 ldr r5, _02067C40 ; =JOB_MENU_5 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _02067A50: ldr r5, _02067C44 ; =JOB_MENU_7 ldr r6, _02067C48 ; =0x000037B0 mov r7, sb bl sub_020692B4 ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C4C ; =_020A931C ldrsb r2, [r0, #4] ldr r0, _02067C50 ; =_020B0B30 ldr r1, [r1, r2, lsl #3] str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _02067A80: sub r1, r8, #0x100 str r1, [sp, #0xc] add r1, r0, #0xd00 mov r7, r6 ldrsb r2, [r1, #0x85] sub r1, r7, #2 ldr r5, _02067C54 ; =JOB_MENU_3 cmp r2, r1 ldreq r0, [r0, #4] ldr r6, _02067C58 ; =0x0000380C mov sb, #0x1000 cmpeq r0, #9 bne _02067AE4 mov r0, r7 mov r1, #3 mov r2, #1 bl CreatePortraitBox ldr r2, _02067C00 ; =_020B0B2C ldr r1, _02067C5C ; =_020A9278 ldr r3, [r2, #0x14] strb r0, [r3, #0xd85] ldr r0, [r2, #0x14] add r0, r0, #0xd00 ldrsb r0, [r0, #0x85] bl ShowPortraitBox _02067AE4: ldr r1, [r5, #0xc] mov r0, #0 str r1, [r4, #0xe48] str r0, [r4, #0xef4] b _02067BC4 _02067AF8: ldrsb r2, [r1, #0xc] ldr r1, _02067C60 ; =_020A9304 ldr r0, _02067C64 ; =_020B0B38 ldr r1, [r1, r2, lsl #3] ldr r5, _02067C68 ; =JOB_MENU_6 str r1, [r4, #0xe48] str r0, [r4, #0xef4] rsb r6, r8, #0x3a40 mov r7, sb b _02067BC4 _02067B20: mov r0, #7 mov r7, r6 str r0, [r4, #0xe48] str r7, [r4, #0xef4] ldr r5, _02067C6C ; =JOB_MENU_9 ldr r6, _02067C70 ; =0x000038BF b _02067BC4 _02067B3C: ldr r1, [r4, #0x6c] ldr r5, _02067C74 ; =JOB_MENU_11 ldr r6, _02067C78 ; =0x00003878 mov r2, sb b _02067B68 _02067B50: add r0, r4, r2 ldrb r0, [r0, #0x4c] cmp r0, #0 strne r2, [r4, #0x70] bne _02067B70 add r2, r2, #1 _02067B68: cmp r2, r1 blt _02067B50 _02067B70: ldr r0, [r4, #0x70] mov r7, #0 str r0, [r4, #8] bl sub_0206937C ldr r0, _02067C00 ; =_020B0B2C ldr r1, _02067C7C ; =_020B0B39 ldrsb r0, [r0, #0xd] add r0, r5, r0, lsl #3 ldr r0, [r0, #4] str r0, [r4, #0xe48] str r1, [r4, #0xef4] b _02067BC4 _02067BA0: ldrsb r2, [r1, #7] ldr r1, _02067C80 ; =_020A9334 ldr r0, _02067C84 ; =_020B0B33 ldr r1, [r1, r2, lsl #3] ldr r5, _02067C88 ; =JOB_MENU_8 str r1, [r4, #0xe48] add r6, r8, #0x3580 str r0, [r4, #0xef4] mov r7, sb _02067BC4: add r3, r4, #0x248 stmia sp, {r5, r6} add r4, sp, #0xc mov r0, r7 mov r1, sb mov r2, r8 add r3, r3, #0xc00 str r4, [sp, #8] bl sub_02046A20 ldr r0, _02067C00 ; =_020B0B2C mov r1, #3 ldr r0, [r0, #0x14] str r1, [r0] add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02067C00: .word _020B0B2C _02067C04: .word _020A9298 _02067C08: .word 0x00000233 _02067C0C: .word _020A9364 _02067C10: .word _020B0B3C _02067C14: .word JOB_MENU_10 _02067C18: .word _020B0B3A _02067C1C: .word _020B0B35 _02067C20: .word _020B0B34 _02067C24: .word _020A9394 _02067C28: .word _020B0B32 _02067C2C: .word JOB_MENU_12 _02067C30: .word _020A93B4 _02067C34: .word JOB_MENU_13 _02067C38: .word _020A92EC _02067C3C: .word _020B0B37 _02067C40: .word JOB_MENU_5 _02067C44: .word JOB_MENU_7 _02067C48: .word 0x000037B0 _02067C4C: .word _020A931C _02067C50: .word _020B0B30 _02067C54: .word JOB_MENU_3 _02067C58: .word 0x0000380C _02067C5C: .word _020A9278 _02067C60: .word _020A9304 _02067C64: .word _020B0B38 _02067C68: .word JOB_MENU_6 _02067C6C: .word JOB_MENU_9 _02067C70: .word 0x000038BF _02067C74: .word JOB_MENU_11 _02067C78: .word 0x00003878 _02067C7C: .word _020B0B39 _02067C80: .word _020A9334 _02067C84: .word _020B0B33 _02067C88: .word JOB_MENU_8 arm_func_end sub_02067708 arm_func_start sub_02067C8C sub_02067C8C: ; 0x02067C8C stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x60 ldr r0, _020682E0 ; =_020B0B2C ldr r6, [r0, #0x14] bl sub_02046BB4 mov r0, #6 bl sub_02017CCC ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission mov r4, r0 ldrb r0, [r4, #4] bl DungeonSwapIdToIdx mov r5, r0 add r0, sp, #8 str r0, [sp] ldrb r0, [r4, #1] add r1, r4, #2 add r2, sp, #4 add r3, sp, #0xc bl sub_0206276C ldrb r1, [r4, #1] cmp r1, #0xe ldreqb r0, [r4, #2] cmpeq r0, #1 bne _02067E70 bl GetRank ldrb r1, [sp, #4] cmp r1, r0 bhi _02067D3C bl GetScenarioBalance ldr r1, [sp, #0xc] cmp r1, r0 bgt _02067D3C ldr r0, [sp, #8] cmp r0, #0 beq _02067D7C mov r0, #0x16 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _02067D7C _02067D3C: bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682E4 ; =0x0000381F mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _02067D7C: mov r0, r5 bl GetDungeonMode cmp r0, #3 bne _02067DCC bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682E8 ; =0x00003820 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _02067DCC: ldrb r0, [r4, #4] mov r4, #0 sub r0, r0, #0x49 cmp r0, #0xc addls pc, pc, r0, lsl #2 b _02067E4C _02067DE4: ; jump table b _02067E30 ; case 0 b _02067E4C ; case 1 b _02067E28 ; case 2 b _02067E4C ; case 3 b _02067E18 ; case 4 b _02067E4C ; case 5 b _02067E20 ; case 6 b _02067E4C ; case 7 b _02067E38 ; case 8 b _02067E4C ; case 9 b _02067E48 ; case 10 b _02067E4C ; case 11 b _02067E40 ; case 12 _02067E18: mov r4, #3 b _02067E4C _02067E20: mov r4, #4 b _02067E4C _02067E28: mov r4, #5 b _02067E4C _02067E30: mov r4, #6 b _02067E4C _02067E38: mov r4, #7 b _02067E4C _02067E40: mov r4, #8 b _02067E4C _02067E48: mov r4, #9 _02067E4C: ldr r0, [r6, #8] add r0, r6, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205F588 bl sub_0205F5A8 mov r0, r4 b _020682D8 _02067E70: cmp r1, #3 ldreqb r0, [r4, #2] cmpeq r0, #3 bne _02067FE0 ldrb r0, [r4, #4] bl sub_02063394 cmp r0, #1 bne _02067ED0 bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 mov r0, #0x1c rsb r1, r0, #0x3840 mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _02067ED0: cmp r0, #0 beq _02067F28 add r0, sp, #0x10 bl InitPreprocessorArgs ldrb r0, [r4, #4] str r0, [sp, #0x20] bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682EC ; =0x00003825 add r2, sp, #0x10 mov r0, #0x1c bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _02067F28: mov r0, r5 mov r1, #3 bl sub_0204D018 mov r0, #5 strb r0, [r4] ldrb r0, [r4, #4] sub r0, r0, #0x57 cmp r0, #0xb addls pc, pc, r0, lsl #2 b _02067FE0 _02067F50: ; jump table b _02067F80 ; case 0 b _02067F88 ; case 1 b _02067F90 ; case 2 b _02067F98 ; case 3 b _02067FA0 ; case 4 b _02067FA8 ; case 5 b _02067FB0 ; case 6 b _02067FB8 ; case 7 b _02067FC0 ; case 8 b _02067FC8 ; case 9 b _02067FD0 ; case 10 b _02067FD8 ; case 11 _02067F80: mov r0, #0xa b _020682D8 _02067F88: mov r0, #0xb b _020682D8 _02067F90: mov r0, #0xc b _020682D8 _02067F98: mov r0, #0xd b _020682D8 _02067FA0: mov r0, #0xe b _020682D8 _02067FA8: mov r0, #0xf b _020682D8 _02067FB0: mov r0, #0x10 b _020682D8 _02067FB8: mov r0, #0x11 b _020682D8 _02067FC0: mov r0, #0x12 b _020682D8 _02067FC8: mov r0, #0x13 b _020682D8 _02067FD0: mov r0, #0x14 b _020682D8 _02067FD8: mov r0, #0x15 b _020682D8 _02067FE0: ldrb r0, [r4, #1] cmp r0, #0xb bne _02068158 ldrb r1, [r4, #2] cmp r1, #1 blo _02068158 cmp r1, #5 bhi _02068158 add r1, r4, #2 mov r2, #0xff bl CheckAcceptedMissionByTypeAndDungeon cmp r0, #0 beq _02068054 bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682F0 ; =0x00003821 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _02068054: bl GetRank ldrb r1, [sp, #4] cmp r1, r0 bhi _02068090 bl GetScenarioBalance ldr r1, [sp, #0xc] cmp r1, r0 bgt _02068090 ldr r0, [sp, #8] cmp r0, #0 beq _020680D0 mov r0, #0x16 bl GetPerformanceFlagWithChecks cmp r0, #0 bne _020680D0 _02068090: bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682F4 ; =0x00003822 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _020680D0: ldrb r0, [r4, #2] cmp r0, #5 bne _02068158 mov r0, #0 bl sub_0204CA1C cmp r0, #0 bne _0206812C bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682F8 ; =0x00003823 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _0206812C: mov r0, r5 bl GetDungeonMode cmp r0, #3 beq _02068158 mov r0, r5 mov r1, #3 bl sub_0204D018 mov r0, #5 strb r0, [r4] mov r0, #0x16 b _020682D8 _02068158: ldrb r1, [r4, #1] cmp r1, #6 ldreqb r0, [r4, #2] cmpeq r0, #4 bne _02068260 ldrb r0, [r4, #4] bl sub_02063394 mov r6, r0 bl GetRank ldrb r1, [sp, #4] cmp r1, r0 bhi _020681BC bl GetScenarioBalance ldr r1, [sp, #0xc] cmp r1, r0 bgt _020681BC ldr r0, [sp, #8] cmp r0, #0 beq _020681B4 mov r0, #0x16 bl GetPerformanceFlagWithChecks cmp r0, #0 beq _020681BC _020681B4: cmp r6, #1 bne _020681FC _020681BC: bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _020682FC ; =0x00003826 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _020681FC: cmp r6, #0 beq _02068244 bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _02068300 ; =0x00003827 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _02068244: mov r2, #5 mov r0, r5 mov r1, #3 strb r2, [r4] bl sub_0204D018 mov r0, #0xe b _020682D8 _02068260: cmp r1, #0xc beq _020682B8 ldrb r0, [r4, #4] bl sub_02062BB8 cmp r0, #0 bne _020682B8 bl sub_020692B4 ldr r0, _020682E0 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, #0x2e4 add r0, r0, #0xc00 bl sub_02047150 ldr r1, _02068304 ; =0x00003828 mov r0, #0x1c mov r2, #0 bl sub_02046BE8 ldr r0, _020682E0 ; =_020B0B2C mov r2, #6 ldr r1, [r0, #0x14] mov r0, #0 str r2, [r1] b _020682D8 _020682B8: mov r0, #5 strb r0, [r4] bl sub_020686F4 bl sub_0206937C ldr r1, _020682E0 ; =_020B0B2C mov r0, #0 ldr r1, [r1, #0x14] str r0, [r1] _020682D8: add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020682E0: .word _020B0B2C _020682E4: .word 0x0000381F _020682E8: .word 0x00003820 _020682EC: .word 0x00003825 _020682F0: .word 0x00003821 _020682F4: .word 0x00003822 _020682F8: .word 0x00003823 _020682FC: .word 0x00003826 _02068300: .word 0x00003827 _02068304: .word 0x00003828 arm_func_end sub_02067C8C arm_func_start sub_02068308 sub_02068308: ; 0x02068308 mvn r2, #1 cmp r0, r2 moveq r0, #8 bxeq lr sub r1, r2, #1 cmp r0, r1 moveq r0, #8 bxeq lr add r1, r2, #1 cmp r0, r1 moveq r0, #0 bx lr arm_func_end sub_02068308 arm_func_start sub_02068338 sub_02068338: ; 0x02068338 stmdb sp!, {r3, lr} ldr r0, _0206838C ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] add r2, r0, #0xee0 mov r0, r1 _02068350: strb r0, [r2, r1] add r1, r1, #1 cmp r1, #4 blt _02068350 ldr r0, _0206838C ; =_020B0B2C mov r1, #0x98 ldr r0, [r0, #0x14] add r0, r0, #0x248 add r0, r0, #0xc00 bl MemZero ldr r0, _0206838C ; =_020B0B2C ldr r1, [r0, #0x14] add r0, r1, #0xee0 str r0, [r1, #0xea8] ldmia sp!, {r3, pc} .align 2, 0 _0206838C: .word _020B0B2C arm_func_end sub_02068338 arm_func_start sub_02068390 sub_02068390: ; 0x02068390 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r5, r1 cmp r0, #0x12 mov r4, #0 addls pc, pc, r0, lsl #2 b _020686E4 _020683AC: ; jump table b _020683F8 ; case 0 b _02068468 ; case 1 b _020684A0 ; case 2 b _02068510 ; case 3 b _020684D8 ; case 4 b _02068548 ; case 5 b _02068430 ; case 6 b _02068580 ; case 7 b _020686E4 ; case 8 b _020684A0 ; case 9 b _020685B8 ; case 10 b _020685E8 ; case 11 b _02068618 ; case 12 b _02068634 ; case 13 b _02068650 ; case 14 b _020686E4 ; case 15 b _020686E4 ; case 16 b _020686E4 ; case 17 b _02068680 ; case 18 _020683F8: ldr r1, _020686F0 ; =_020B0A54 mov ip, r4 mov r0, #0xb0 _02068404: mul r2, ip, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #0 movne r2, r4, lsl #1 strneh ip, [r5, r2] add ip, ip, #1 addne r4, r4, #1 cmp ip, #0x20 blt _02068404 b _020686E4 _02068430: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _0206843C: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #6 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _0206843C b _020686E4 _02068468: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _02068474: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #1 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _02068474 b _020686E4 _020684A0: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _020684AC: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #2 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _020684AC b _020686E4 _020684D8: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _020684E4: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #4 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _020684E4 b _020686E4 _02068510: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _0206851C: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #3 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _0206851C b _020686E4 _02068548: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _02068554: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #5 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _02068554 b _020686E4 _02068580: ldr r1, _020686F0 ; =_020B0A54 mov r6, r4 mov r0, #0xb0 _0206858C: mul r2, r6, r0 ldr r3, [r1] ldrb r2, [r3, r2] cmp r2, #7 moveq r2, r4, lsl #1 streqh r6, [r5, r2] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #0x20 blt _0206858C b _020686E4 _020685B8: mov r6, r4 _020685BC: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205E984 cmp r0, #0 moveq r0, r4, lsl #1 streqh r6, [r5, r0] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #8 blt _020685BC b _020686E4 _020685E8: mov r6, r4 _020685EC: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EB00 cmp r0, #0 moveq r0, r4, lsl #1 streqh r6, [r5, r0] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #8 blt _020685EC b _020686E4 _02068618: mov r0, r4 bl sub_0205EBF0 cmp r0, #0 moveq r0, r4 streqh r0, [r5] addeq r4, r4, #1 b _020686E4 _02068634: mov r0, r4 bl sub_0205EC50 cmp r0, #0 moveq r0, r4 streqh r0, [r5] addeq r4, r4, #1 b _020686E4 _02068650: mov r6, r4 _02068654: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205F0F0 cmp r0, #0 moveq r0, r4, lsl #1 streqh r6, [r5, r0] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #8 blt _02068654 b _020686E4 _02068680: sub r0, r4, #1 strb r0, [sp] bl sub_0204E210 cmp r0, #2 bne _020686A8 add r0, sp, #0 bl sub_0204F1B4 cmp r0, #0 mvneq r0, #0 streqb r0, [sp] _020686A8: ldrsb ip, [sp] ldr r1, _020686F0 ; =_020B0A54 mov lr, #2 mov r0, #0xb0 _020686B8: cmp ip, lr mulne r2, lr, r0 ldrne r3, [r1] ldrneb r2, [r3, r2] cmpne r2, #0 movne r2, r4, lsl #1 strneh lr, [r5, r2] add lr, lr, #1 addne r4, r4, #1 cmp lr, #0x20 blt _020686B8 _020686E4: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020686F0: .word _020B0A54 arm_func_end sub_02068390 arm_func_start sub_020686F4 sub_020686F4: ; 0x020686F4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x68 ldr r0, _02068E14 ; =_020B0B2C mov r4, #0 ldr r7, [r0, #0x14] ldr r5, [r7, #4] cmp r5, #0x15 addls pc, pc, r5, lsl #2 b _02068E08 _02068718: ; jump table b _02068770 ; case 0 b _02068770 ; case 1 b _02068770 ; case 2 b _02068770 ; case 3 b _02068770 ; case 4 b _02068770 ; case 5 b _02068770 ; case 6 b _02068770 ; case 7 b _02068770 ; case 8 b _02068770 ; case 9 b _020688D0 ; case 10 b _02068960 ; case 11 b _020689F0 ; case 12 b _02068A6C ; case 13 b _02068AE8 ; case 14 b _02068AE8 ; case 15 b _02068AE8 ; case 16 b _02068AE8 ; case 17 b _02068770 ; case 18 b _02068C48 ; case 19 b _02068CA4 ; case 20 b _02068D00 ; case 21 _02068770: add r1, r7, #0x188 mov r0, r5 add r4, r1, #0xc00 bl sub_02067584 cmp r0, #0 movne r4, #0 bne _02068E08 ldr r0, _02068E14 ; =_020B0B2C add r1, r7, #0xc ldr r0, [r0, #0x14] ldr r0, [r0, #4] bl sub_02068390 str r0, [r7, #0x6c] mov r0, #0 bl sub_0205B77C bl sub_02068E7C mov r1, #0 ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] cmp r5, #9 bgt _02068800 cmp r5, #0 addge pc, pc, r5, lsl #2 b _020688C0 _020687D8: ; jump table b _020688C0 ; case 0 b _020688C0 ; case 1 b _02068838 ; case 2 b _0206880C ; case 3 b _0206880C ; case 4 b _0206882C ; case 5 b _020688C0 ; case 6 b _020688C0 ; case 7 b _020688C0 ; case 8 b _02068838 ; case 9 _02068800: cmp r5, #0x12 beq _02068858 b _020688C0 _0206880C: ldr r0, _02068E14 ; =_020B0B2C ldr r1, _02068E1C ; =_020B0B2E ldrsb r2, [r0, #2] ldr r0, _02068E20 ; =0x00003815 str r2, [r7, #8] str r1, [r7, #0xef0] strh r0, [r4, #8] b _020688C8 _0206882C: ldr r0, _02068E24 ; =0x00003817 strh r0, [r4, #8] b _020688C8 _02068838: ldr r1, _02068E28 ; =0x00003816 ldr r0, _02068E14 ; =_020B0B2C strh r1, [r4, #8] ldrsb r1, [r0, #5] ldr r0, _02068E2C ; =_020B0B31 str r1, [r7, #8] str r0, [r7, #0xef0] b _020688C8 _02068858: ldr r1, _02068E30 ; =0x00003818 ldr r0, _02068E34 ; =sub_02069598 strh r1, [r4, #8] str r0, [r7, #0xe40] mov r1, #1 ldr r0, _02068E14 ; =_020B0B2C strb r1, [r7, #0x7c] ldrsb r1, [r0, #1] ldr r0, _02068E38 ; =_020B0B2D str r1, [r7, #8] str r0, [r7, #0xef0] b _020688A4 _02068888: bl sub_020693EC ldrb r0, [r0] cmp r0, #0 bne _020688B0 ldr r0, [r7, #8] sub r0, r0, #1 str r0, [r7, #8] _020688A4: ldr r0, [r7, #8] cmp r0, #0 bgt _02068888 _020688B0: ldr r1, [r7, #8] ldr r0, _02068E14 ; =_020B0B2C strb r1, [r0, #1] b _020688C8 _020688C0: ldr r0, _02068E3C ; =0x00003F1E strh r0, [r4, #8] _020688C8: mov r4, #1 b _02068E08 _020688D0: add r0, r7, #0x188 mov r6, r4 add r5, r0, #0xc00 _020688DC: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205E984 cmp r0, #0 addeq r0, r7, r4, lsl #1 streqh r6, [r0, #0xc] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #8 blt _020688DC str r4, [r7, #0x6c] cmp r4, #0 moveq r4, #0 beq _02068E08 mov r0, #0 bl sub_0205E970 ldr r1, _02068E40 ; =sub_02069074 mov r2, #0 bl sub_020690D8 ldr r1, _02068E44 ; =0x00003819 ldr r0, _02068E14 ; =_020B0B2C strh r1, [r5, #8] ldrsb r2, [r0, #0x12] ldr r0, _02068E48 ; =_020B0B3E mov r1, #0 str r2, [r7, #8] str r0, [r7, #0xef0] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] mov r4, #1 b _02068E08 _02068960: add r0, r7, #0x188 mov r6, r4 add r5, r0, #0xc00 _0206896C: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EB00 cmp r0, #0 addeq r0, r7, r4, lsl #1 streqh r6, [r0, #0xc] add r6, r6, #1 addeq r4, r4, #1 cmp r6, #8 blt _0206896C str r4, [r7, #0x6c] cmp r4, #0 moveq r4, #0 beq _02068E08 mov r0, #0 bl sub_0205EAE8 ldr r1, _02068E40 ; =sub_02069074 mov r2, #0 bl sub_020690D8 ldr r1, _02068E4C ; =0x0000381A ldr r0, _02068E14 ; =_020B0B2C strh r1, [r5, #8] ldrsb r2, [r0, #0x11] ldr r0, _02068E50 ; =_020B0B3D mov r1, #0 str r2, [r7, #8] str r0, [r7, #0xef0] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] mov r4, #1 b _02068E08 _020689F0: add r1, r7, #0x188 mov r0, r4 add r5, r1, #0xc00 bl sub_0205EBF0 cmp r0, #0 moveq r0, r4 streqh r0, [r7, #0xc] addeq r4, r4, #1 str r4, [r7, #0x6c] cmp r4, #0 moveq r4, #0 beq _02068E08 mov r0, #0 bl sub_0205EBD8 ldr r1, _02068E40 ; =sub_02069074 mov r2, #0 bl sub_020690D8 ldr r1, _02068E54 ; =0x0000381B ldr r0, _02068E14 ; =_020B0B2C strh r1, [r5, #8] ldrsb r2, [r0, #0xa] ldr r0, _02068E58 ; =_020B0B36 mov r1, #0 str r2, [r7, #8] str r0, [r7, #0xef0] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] mov r4, #1 b _02068E08 _02068A6C: add r1, r7, #0x188 mov r0, r4 add r5, r1, #0xc00 bl sub_0205EC50 cmp r0, #0 moveq r0, r4 streqh r0, [r7, #0xc] addeq r4, r4, #1 str r4, [r7, #0x6c] cmp r4, #0 moveq r4, #0 beq _02068E08 mov r0, #0 bl sub_0205EC38 ldr r1, _02068E40 ; =sub_02069074 mov r2, #0 bl sub_020690D8 ldr r1, _02068E5C ; =0x0000381C ldr r0, _02068E14 ; =_020B0B2C strh r1, [r5, #8] ldrsb r2, [r0, #0xf] ldr r0, _02068E60 ; =_020B0B3B mov r1, #0 str r2, [r7, #8] str r0, [r7, #0xef0] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] mov r4, #1 b _02068E08 _02068AE8: add r0, r7, #0x188 cmp r5, #0x11 add r8, r0, #0xc00 bne _02068B74 bl sub_0204E210 cmp r0, #1 bne _02068B74 mov r6, r4 _02068B08: mov r0, r6, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission mov r1, r6, lsl #0x18 mov r5, r0 mov r0, r1, asr #0x18 bl sub_0205F0F0 cmp r0, #0 bne _02068B64 bl GetAdventureLogDungeonFloor ldrb r1, [r5, #4] ldrb r0, [r0] cmp r1, r0 bne _02068B58 ldrb r0, [r5] cmp r0, #5 cmpne r0, #6 cmpne r0, #7 cmpne r0, #8 beq _02068B64 _02068B58: add r0, r7, r4, lsl #1 strh r6, [r0, #0xc] add r4, r4, #1 _02068B64: add r6, r6, #1 cmp r6, #8 blt _02068B08 b _02068BA0 _02068B74: mov r5, #0 _02068B78: mov r0, r5, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205F0F0 cmp r0, #0 addeq r0, r7, r4, lsl #1 streqh r5, [r0, #0xc] add r5, r5, #1 addeq r4, r4, #1 cmp r5, #8 blt _02068B78 _02068BA0: str r4, [r7, #0x6c] cmp r4, #0 moveq r4, #0 beq _02068E08 mov r0, #0 bl GetAcceptedMission mov r1, #0 mov r2, #1 bl sub_020690D8 ldr r0, _02068E14 ; =_020B0B2C ldr r1, [r0, #0x14] ldr r1, [r1, #4] cmp r1, #0xe bne _02068BF4 ldr r2, _02068E64 ; =0x0000381D ldr r1, _02068E68 ; =_020B0B2C strh r2, [r8, #8] ldrsb r0, [r0] str r0, [r7, #8] str r1, [r7, #0xef0] b _02068C18 _02068BF4: sub r1, r1, #0xf cmp r1, #2 bhi _02068C18 ldr r2, _02068E6C ; =0x0000381E ldr r1, _02068E70 ; =_020B0B3F strh r2, [r8, #8] ldrsb r0, [r0, #0x13] str r0, [r7, #8] str r1, [r7, #0xef0] _02068C18: ldr r1, [r7, #0x6c] ldr r0, [r7, #8] mov r4, #1 cmp r0, r1 subge r0, r1, #1 strge r0, [r7, #8] mov r1, #0 ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] b _02068E08 _02068C48: add r0, r7, #0x188 add r5, r0, #0xc00 ldr r0, [r7, #0x74] mov r2, r4 b _02068C70 _02068C5C: add r1, r7, r4, lsl #1 strh r4, [r1, #0xc] add r1, r7, r4 strb r2, [r1, #0x4c] add r4, r4, #1 _02068C70: ldr r1, [r7, #0x6c] cmp r4, r1 blt _02068C5C bl sub_02068E7C ldr r0, _02068E28 ; =0x00003816 ldr r1, _02068E34 ; =sub_02069598 strh r0, [r5, #8] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] mov r4, #1 strb r4, [r7, #0x7c] b _02068E08 _02068CA4: add r0, r7, #0x188 add r5, r0, #0xc00 b _02068CBC _02068CB0: add r0, r7, r4, lsl #1 strh r4, [r0, #0xc] add r4, r4, #1 _02068CBC: ldr r0, [r7, #0x6c] cmp r4, r0 blt _02068CB0 bl sub_0206901C ldr r0, [r7, #0x74] ldr r1, _02068E74 ; =sub_020690A4 mov r2, #0 bl sub_020690D8 ldr r0, _02068E6C ; =0x0000381E mov r1, #0 strh r0, [r5, #8] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] strb r1, [r7, #0x7c] mov r4, #1 b _02068E08 _02068D00: add r0, r7, #0x188 add r6, r0, #0xc00 b _02068D18 _02068D0C: add r0, r7, r4, lsl #1 strh r4, [r0, #0xc] add r4, r4, #1 _02068D18: ldr r0, [r7, #0x6c] cmp r4, r0 blt _02068D0C mov r8, #0 str r8, [r7, #0x80] add r5, sp, #0 add r4, sp, #0x47 add fp, sp, #0x48 mov sb, #0x68 b _02068DB0 _02068D40: add r0, r7, r8, lsl #1 ldrsh r0, [r0, #0xc] ldr r2, [r7, #0x74] mov r1, r5 add sl, r2, r0, lsl #5 mov r0, sl bl sub_02060150 mov r0, sl mov r1, r4 mov r2, fp mov r3, #0 bl sub_02069958 str sl, [sp, #0x5c] ldr r1, [r7, #0x80] add sl, sp, #0 mla r0, r1, sb, r7 add lr, r0, #0x84 mov ip, #6 _02068D88: ldmia sl!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02068D88 ldmia sl, {r0, r1} stmia lr, {r0, r1} ldr r0, [r7, #0x80] add r8, r8, #1 add r0, r0, #1 str r0, [r7, #0x80] _02068DB0: ldr r0, [r7, #0x6c] cmp r8, r0 blt _02068D40 bl sub_0206901C mov r1, #0 ldr r0, _02068E6C ; =0x0000381E str r1, [r6] strh r0, [r6, #8] mov r0, #0x10 str r0, [r6, #0xc] mov r0, #0x1a str r0, [r6, #4] ldr r0, _02068E18 ; =sub_02069660 str r1, [r7, #0xe40] str r0, [r7, #0xe44] ldr r0, _02068E14 ; =_020B0B2C strb r1, [r7, #0x7c] ldrsb r1, [r0, #3] ldr r0, _02068E78 ; =_020B0B2F mov r4, #1 str r1, [r7, #8] str r0, [r7, #0xef0] _02068E08: mov r0, r4 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02068E14: .word _020B0B2C _02068E18: .word sub_02069660 _02068E1C: .word _020B0B2E _02068E20: .word 0x00003815 _02068E24: .word 0x00003817 _02068E28: .word 0x00003816 _02068E2C: .word _020B0B31 _02068E30: .word 0x00003818 _02068E34: .word sub_02069598 _02068E38: .word _020B0B2D _02068E3C: .word 0x00003F1E _02068E40: .word sub_02069074 _02068E44: .word 0x00003819 _02068E48: .word _020B0B3E _02068E4C: .word 0x0000381A _02068E50: .word _020B0B3D _02068E54: .word 0x0000381B _02068E58: .word _020B0B36 _02068E5C: .word 0x0000381C _02068E60: .word _020B0B3B _02068E64: .word 0x0000381D _02068E68: .word _020B0B2C _02068E6C: .word 0x0000381E _02068E70: .word _020B0B3F _02068E74: .word sub_020690A4 _02068E78: .word _020B0B2F arm_func_end sub_020686F4 arm_func_start sub_02068E7C sub_02068E7C: ; 0x02068E7C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x68 ldr r1, _02069018 ; =_020B0B2C mov r8, r0 ldr r7, [r1, #0x14] add r4, r7, #0x188 bl sub_0206901C mov r5, #0 str r5, [r7, #0xd88] mov r0, #0x10 str r0, [r4, #0xc0c] str r5, [r7, #0x80] b _02068FF4 _02068EB0: add r0, r7, r5, lsl #1 ldrsh r0, [r0, #0xc] mov r2, #0 mov r1, #7 mov r0, r0, lsl #0x18 mov r3, r0, asr #0x18 mov r0, #0xb0 mla r6, r3, r0, r8 add r0, r6, #4 strb r2, [sp, #0x46] strb r2, [sp, #0x48] str r0, [sp, #8] strh r2, [sp, #0x10] strh r2, [sp, #0x12] strh r2, [sp, #0x14] strh r2, [sp, #0x16] strb r1, [sp, #0x1a] str r2, [sp, #0x5c] str r6, [sp, #0x64] bl GetLanguageType ldrsb r1, [r6, #0x1c] cmp r1, r0 movne r0, #0 strne r0, [sp, #0xc] strne r0, [sp, #0x54] strne r0, [sp, #0x58] bne _02068F34 add r2, r6, #0x1d add r1, r6, #0x32 add r0, r6, #0x56 str r2, [sp, #0xc] str r1, [sp, #0x54] str r0, [sp, #0x58] _02068F34: ldr r0, [sp, #0x54] mov r1, #1 cmp r0, #0 ldrneh r0, [r0] cmpne r0, #0 movne r1, #0 cmp r1, #0 movne r1, #0 moveq r1, #6 ldrb r0, [r6] strb r1, [sp, #0x44] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02068FAC _02068F6C: ; jump table b _02068FAC ; case 0 b _02068FA0 ; case 1 b _02068FA0 ; case 2 b _02068FAC ; case 3 b _02068F88 ; case 4 b _02068F94 ; case 5 b _02068F94 ; case 6 _02068F88: mov r0, #3 strb r0, [sp, #0x47] b _02068FB4 _02068F94: mov r0, #4 strb r0, [sp, #0x47] b _02068FB4 _02068FA0: mov r0, #1 strb r0, [sp, #0x47] b _02068FB4 _02068FAC: mov r0, #2 strb r0, [sp, #0x47] _02068FB4: ldr r1, [r7, #0x80] mov r0, #0x68 mla r0, r1, r0, r7 add lr, sp, #0 add ip, r0, #0x84 mov r6, #6 _02068FCC: ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r6, r6, #1 bne _02068FCC ldmia lr, {r0, r1} stmia ip, {r0, r1} ldr r0, [r7, #0x80] add r5, r5, #1 add r0, r0, #1 str r0, [r7, #0x80] _02068FF4: ldr r0, [r7, #0x6c] cmp r5, r0 blt _02068EB0 mov r0, #0x10 str r0, [r4, #0xc0c] mov r0, #0x1a str r0, [r4, #0xc04] add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02069018: .word _020B0B2C arm_func_end sub_02068E7C arm_func_start sub_0206901C sub_0206901C: ; 0x0206901C stmdb sp!, {r3, lr} ldr r0, _02069070 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] add r2, r0, #0xe20 mov r0, r1 _02069034: strb r0, [r2, r1] add r1, r1, #1 cmp r1, #0x20 blt _02069034 ldr r0, _02069070 ; =_020B0B2C mov r1, #0x98 ldr r0, [r0, #0x14] add r0, r0, #0x188 add r0, r0, #0xc00 bl MemZero ldr r0, _02069070 ; =_020B0B2C ldr r1, [r0, #0x14] add r0, r1, #0xe20 str r0, [r1, #0xde8] ldmia sp!, {r3, pc} .align 2, 0 _02069070: .word _020B0B2C arm_func_end sub_0206901C arm_func_start sub_02069074 sub_02069074: ; 0x02069074 stmdb sp!, {r4, lr} mov r4, r1 bl sub_0205EC98 cmp r0, #0 movne r0, #3 strneb r0, [r4] bl sub_0205ED84 cmp r0, #8 ldrgeb r0, [r4] orrge r0, r0, #1 strgeb r0, [r4] ldmia sp!, {r4, pc} arm_func_end sub_02069074 arm_func_start sub_020690A4 sub_020690A4: ; 0x020690A4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl sub_0205EC98 cmp r0, #0 bne _020690CC mov r0, r5 bl sub_0205FA38 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _020690CC: mov r0, #3 strb r0, [r4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020690A4 arm_func_start sub_020690D8 sub_020690D8: ; 0x020690D8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x68 ldr r3, _020691B4 ; =_020B0B2C mov sb, r0 ldr r6, [r3, #0x14] mov r8, r1 mov r7, r2 bl sub_0206901C mov r5, #0 str r5, [r6, #0x80] add r4, r6, #0xe20 mov fp, #0x68 b _02069188 _0206910C: add r0, r6, r5, lsl #1 ldrsh r0, [r0, #0xc] add r1, sp, #0 add sl, sb, r0, lsl #5 mov r0, sl bl sub_02060150 mov r0, sl add r1, sp, #0x47 add r2, sp, #0x48 mov r3, r7 bl sub_02069958 cmp r8, #0 beq _0206914C mov r0, sl add r1, r4, r5 blx r8 _0206914C: ldr r1, [r6, #0x80] add sl, sp, #0 mla r0, r1, fp, r6 add lr, r0, #0x84 mov ip, #6 _02069160: ldmia sl!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02069160 ldmia sl, {r0, r1} stmia lr, {r0, r1} ldr r0, [r6, #0x80] add r5, r5, #1 add r0, r0, #1 str r0, [r6, #0x80] _02069188: ldr r0, [r6, #0x6c] cmp r5, r0 blt _0206910C mov r0, #0 str r0, [r6, #0xd88] mov r0, #0x10 str r0, [r6, #0xd94] mov r0, #0x1a str r0, [r6, #0xd8c] add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020691B4: .word _020B0B2C arm_func_end sub_020690D8 arm_func_start sub_020691B8 sub_020691B8: ; 0x020691B8 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _020692A8 ; =_020B0B2C mvn r1, #1 ldr ip, [r2, #0x14] ldrsb r0, [ip, #0x7d] cmp r0, r1 bne _0206926C ldr r0, [ip, #8] mov r3, #4 str r0, [ip, #0xd88] ldr lr, [r2, #0x14] ldr r0, _020692AC ; =_020A9288 ldr r1, [lr, #0xe40] add r2, lr, #0x188 str r1, [sp] ldr ip, [lr, #0x80] ldr r1, _020692B0 ; =0x00441E33 str ip, [sp, #4] str r3, [sp, #8] ldr r3, [lr, #0xe44] add r2, r2, #0xc00 bl sub_0202C3A8 ldr r3, _020692A8 ; =_020B0B2C mov r1, #0 ldr ip, [r3, #0x14] mov r2, #0xc strb r0, [ip, #0x7d] ldr r0, [r3, #0x14] ldrsb r0, [r0, #0x7d] bl sub_0202C6F0 ldr r0, _020692A8 ; =_020B0B2C mov r1, #1 ldr r0, [r0, #0x14] ldrsb r0, [r0, #0x7d] bl sub_0202D0D8 ldr r0, _020692A8 ; =_020B0B2C ldr r1, [r0, #0x14] ldrb r0, [r1, #0x7c] cmp r0, #0 bne _02069290 ldrsb r0, [r1, #0x7d] mov r1, #1 bl sub_0202D07C b _02069290 _0206926C: ldrb r1, [ip, #0xd84] cmp r1, #0 beq _0206928C ldr r1, [ip, #0x80] mov r2, #4 mov r3, #0 bl sub_0202C654 b _02069290 _0206928C: bl sub_0202C620 _02069290: ldr r0, _020692A8 ; =_020B0B2C mov r1, #0 ldr r0, [r0, #0x14] strb r1, [r0, #0xd84] add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _020692A8: .word _020B0B2C _020692AC: .word _020A9288 _020692B0: .word 0x00441E33 arm_func_end sub_020691B8 arm_func_start sub_020692B4 sub_020692B4: ; 0x020692B4 stmdb sp!, {r3, lr} ldr r0, _020692F8 ; =_020B0B2C mvn r1, #1 ldr r0, [r0, #0x14] ldrsb r0, [r0, #0x7d] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202836C ldr r0, _020692F8 ; =_020B0B2C ldr r0, [r0, #0x14] ldrsb r0, [r0, #0x7d] bl sub_0202C70C ldr r0, _020692F8 ; =_020B0B2C mvn r1, #1 ldr r0, [r0, #0x14] strb r1, [r0, #0x7d] ldmia sp!, {r3, pc} .align 2, 0 _020692F8: .word _020B0B2C arm_func_end sub_020692B4 arm_func_start sub_020692FC sub_020692FC: ; 0x020692FC stmdb sp!, {r3, lr} ldr r0, _02069378 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r1, [r0, #4] sub r0, r1, #0xe cmp r0, #3 bhi _02069328 bl sub_02069444 mov r1, #1 bl sub_02069800 ldmia sp!, {r3, pc} _02069328: cmp r1, #0xa cmpne r1, #0xb cmpne r1, #0xc cmpne r1, #0xd beq _02069348 sub r0, r1, #0x14 cmp r0, #1 bhi _02069358 _02069348: bl sub_02069444 mov r1, #0 bl sub_02069800 ldmia sp!, {r3, pc} _02069358: cmp r1, #0x13 bne _0206936C bl sub_0206941C bl sub_02069790 ldmia sp!, {r3, pc} _0206936C: bl sub_020693EC bl sub_02069790 ldmia sp!, {r3, pc} .align 2, 0 _02069378: .word _020B0B2C arm_func_end sub_020692FC arm_func_start sub_0206937C sub_0206937C: ; 0x0206937C stmdb sp!, {r3, lr} ldr r0, _020693E8 ; =_020B0B2C ldr r0, [r0, #0x14] ldr r1, [r0, #4] cmp r1, #0xa cmpne r1, #0xb cmpne r1, #0xc cmpne r1, #0xd cmpne r1, #0xe cmpne r1, #0xf cmpne r1, #0x10 cmpne r1, #0x11 beq _020693BC sub r0, r1, #0x14 cmp r0, #1 bhi _020693C8 _020693BC: bl sub_02069444 bl sub_02069894 ldmia sp!, {r3, pc} _020693C8: cmp r1, #0x13 bne _020693DC bl sub_0206941C bl sub_02069870 ldmia sp!, {r3, pc} _020693DC: bl sub_020693EC bl sub_02069870 ldmia sp!, {r3, pc} .align 2, 0 _020693E8: .word _020B0B2C arm_func_end sub_0206937C arm_func_start sub_020693EC sub_020693EC: ; 0x020693EC ldr r1, _02069414 ; =_020B0B2C ldr r0, _02069418 ; =_020B0A54 ldr r3, [r1, #0x14] ldr r2, [r0] ldr r1, [r3, #8] mov r0, #0xb0 add r1, r3, r1, lsl #1 ldrsh r1, [r1, #0xc] smlabb r0, r1, r0, r2 bx lr .align 2, 0 _02069414: .word _020B0B2C _02069418: .word _020B0A54 arm_func_end sub_020693EC arm_func_start sub_0206941C sub_0206941C: ; 0x0206941C ldr r1, _02069440 ; =_020B0B2C mov r0, #0xb0 ldr r3, [r1, #0x14] ldr r1, [r3, #8] ldr r2, [r3, #0x74] add r1, r3, r1, lsl #1 ldrsh r1, [r1, #0xc] smlabb r0, r1, r0, r2 bx lr .align 2, 0 _02069440: .word _020B0B2C arm_func_end sub_0206941C arm_func_start sub_02069444 sub_02069444: ; 0x02069444 stmdb sp!, {r3, lr} ldr r0, _02069558 ; =_020B0B2C ldr r2, [r0, #0x14] ldr r0, [r2, #4] sub r0, r0, #0xa cmp r0, #0xb addls pc, pc, r0, lsl #2 b _02069550 _02069464: ; jump table b _02069494 ; case 0 b _020694B0 ; case 1 b _020694CC ; case 2 b _020694E8 ; case 3 b _02069504 ; case 4 b _02069504 ; case 5 b _02069504 ; case 6 b _02069504 ; case 7 b _02069550 ; case 8 b _02069550 ; case 9 b _02069520 ; case 10 b _02069538 ; case 11 _02069494: ldr r0, [r2, #8] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205E970 ldmia sp!, {r3, pc} _020694B0: ldr r0, [r2, #8] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EAE8 ldmia sp!, {r3, pc} _020694CC: ldr r0, [r2, #8] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EBD8 ldmia sp!, {r3, pc} _020694E8: ldr r0, [r2, #8] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl sub_0205EC38 ldmia sp!, {r3, pc} _02069504: ldr r0, [r2, #8] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission ldmia sp!, {r3, pc} _02069520: ldr r0, [r2, #8] ldr r1, [r2, #0x74] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] add r0, r1, r0, lsl #5 ldmia sp!, {r3, pc} _02069538: ldr r0, [r2, #8] ldr r1, [r2, #0x74] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] add r0, r1, r0, lsl #5 ldmia sp!, {r3, pc} _02069550: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02069558: .word _020B0B2C arm_func_end sub_02069444 arm_func_start sub_0206955C sub_0206955C: ; 0x0206955C stmdb sp!, {r3, lr} ldr r0, _02069594 ; =_020B0B2C mvn r1, #1 ldr r0, [r0, #0x14] add r0, r0, #0xd00 ldrsb r0, [r0, #0x85] cmp r0, r1 ldmeqia sp!, {r3, pc} bl FreePortraitBox ldr r0, _02069594 ; =_020B0B2C mvn r1, #1 ldr r0, [r0, #0x14] strb r1, [r0, #0xd85] ldmia sp!, {r3, pc} .align 2, 0 _02069594: .word _020B0B2C arm_func_end sub_0206955C arm_func_start sub_02069598 sub_02069598: ; 0x02069598 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0206965C ; =_020B0B2C tst r0, #0x400 ldr r5, [r1, #0x14] beq _02069654 ldrsb r0, [r5, #0x7d] ldr r6, [r5, #8] bl sub_0202C748 ldr r1, [r5, #8] cmp r1, r0 bne _0206964C add r4, r5, #0x4c ldrb r0, [r4, r6] cmp r0, #0 beq _02069600 mov r0, #6 bl sub_02017CCC mov r0, #0 strb r0, [r4, r6] bl sub_020674E8 cmp r0, #0 bne _02069644 ldrsb r0, [r5, #0x7d] mov r1, #0 bl sub_0202D07C b _02069644 _02069600: ldr r0, [r5, #0x78] cmp r0, #0 blt _0206961C bl sub_020674E8 ldr r1, [r5, #0x78] cmp r0, r1 bhs _0206963C _0206961C: mov r0, #6 bl sub_02017CCC ldrsb r0, [r5, #0x7d] mov r1, #1 bl sub_0202D07C mov r0, #1 strb r0, [r4, r6] b _02069644 _0206963C: mov r0, #2 bl sub_02017CCC _02069644: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0206964C: mov r0, #3 bl sub_02017CCC _02069654: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206965C: .word _020B0B2C arm_func_end sub_02069598 arm_func_start sub_02069660 sub_02069660: ; 0x02069660 stmdb sp!, {r3, r4, r5, lr} ldr r3, _020696E4 ; =_020B0B2C mov r5, r0 ldr r0, [r3, #0x14] add r0, r0, r1 ldrb r0, [r0, #0x4c] cmp r0, #0 movne r0, #1 moveq r0, #0 str r0, [r2] mov r0, #0x68 mul r4, r1, r0 ldr r0, _020696E4 ; =_020B0B2C ldr r0, [r0, #0x14] add r0, r0, r4 ldr r0, [r0, #0xe0] cmp r0, #0 beq _020696C4 bl sub_0205E238 cmp r0, #0 beq _020696C4 mov r0, r5 bl sub_02060E24 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _020696C4: ldr r1, _020696E4 ; =_020B0B2C mov r0, r5 ldr r1, [r1, #0x14] add r1, r1, #0x84 add r1, r1, r4 bl sub_02060AFC mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020696E4: .word _020B0B2C arm_func_end sub_02069660 arm_func_start sub_020696E8 sub_020696E8: ; 0x020696E8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x154 mov r4, r0 add r0, sp, #0x104 bl InitPreprocessorArgs bl sub_0205ED84 str r0, [sp, #0x128] mov r0, #8 str r0, [sp, #0x12c] add r3, sp, #0x104 str r3, [sp] ldr r2, _0206974C ; =0x00003813 add r0, sp, #4 mov r1, #0x100 mov r3, #0 bl PreprocessStringFromMessageId mov r0, r4 mov r1, #0 mov r2, #3 add r3, sp, #4 bl sub_02026214 mov r0, r4 bl sub_02027AF0 add sp, sp, #0x154 ldmia sp!, {r3, r4, pc} .align 2, 0 _0206974C: .word 0x00003813 arm_func_end sub_020696E8 arm_func_start sub_02069750 sub_02069750: ; 0x02069750 stmdb sp!, {r4, lr} sub sp, sp, #0x100 ldr r1, _0206978C ; =0x00003814 mov r4, r0 add r0, sp, #0 bl GetStringFromFileVeneer add r3, sp, #0 mov r0, r4 mov r1, #0 mov r2, #3 bl sub_02026214 mov r0, r4 bl sub_02027AF0 add sp, sp, #0x100 ldmia sp!, {r4, pc} .align 2, 0 _0206978C: .word 0x00003814 arm_func_end sub_02069750 arm_func_start sub_02069790 sub_02069790: ; 0x02069790 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x14 mov r1, #8 bl MemAlloc ldr r2, _020697F4 ; =_020B0B44 mov r1, #0x14 str r0, [r2] bl MemZero ldr r0, _020697F4 ; =_020B0B44 mov ip, #0 ldr r2, [r0] ldr r1, _020697F8 ; =JOB_D_BOX_LAYOUT_2 str r4, [r2] ldr r3, [r0] ldr r2, _020697FC ; =sub_02069AEC strh ip, [r3, #8] ldr r0, [r0] add r0, r0, #0xc bl sub_0204707C ldr r0, _020697F4 ; =_020B0B44 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x10] ldmia sp!, {r4, pc} .align 2, 0 _020697F4: .word _020B0B44 _020697F8: .word JOB_D_BOX_LAYOUT_2 _020697FC: .word sub_02069AEC arm_func_end sub_02069790 arm_func_start sub_02069800 sub_02069800: ; 0x02069800 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r0, #0x14 mov r1, #8 bl MemAlloc ldr r2, _02069864 ; =_020B0B44 mov r1, #0x14 str r0, [r2] bl MemZero ldr r0, _02069864 ; =_020B0B44 mov ip, #0 ldr r2, [r0] ldr r1, _02069868 ; =JOB_D_BOX_LAYOUT_2 str r5, [r2, #4] ldr r3, [r0] ldr r2, _0206986C ; =sub_02069CC0 strh ip, [r3, #8] ldr r0, [r0] add r0, r0, #0xc bl sub_0204707C ldr r0, _02069864 ; =_020B0B44 ldr r0, [r0] strb r4, [r0, #0x10] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02069864: .word _020B0B44 _02069868: .word JOB_D_BOX_LAYOUT_2 _0206986C: .word sub_02069CC0 arm_func_end sub_02069800 arm_func_start sub_02069870 sub_02069870: ; 0x02069870 ldr r1, _0206988C ; =_020B0B44 ldr ip, _02069890 ; =sub_02047188 ldr r2, [r1] str r0, [r2] ldr r0, [r1] add r0, r0, #0xc bx ip .align 2, 0 _0206988C: .word _020B0B44 _02069890: .word sub_02047188 arm_func_end sub_02069870 arm_func_start sub_02069894 sub_02069894: ; 0x02069894 ldr r1, _020698B0 ; =_020B0B44 ldr ip, _020698B4 ; =sub_02047188 ldr r2, [r1] str r0, [r2, #4] ldr r0, [r1] add r0, r0, #0xc bx ip .align 2, 0 _020698B0: .word _020B0B44 _020698B4: .word sub_02047188 arm_func_end sub_02069894 arm_func_start sub_020698B8 sub_020698B8: ; 0x020698B8 stmdb sp!, {r3, lr} ldr r0, _02069900 ; =_020B0B44 ldr r0, [r0] cmp r0, #0 ldrne r0, [r0, #0xc] cmpne r0, #0 beq _020698F8 bl sub_020470D0 ldr r0, _02069900 ; =_020B0B44 ldr r0, [r0] ldr r0, [r0, #0xc] bl sub_02047148 mvn r1, #0 cmp r0, r1 moveq r0, #1 ldmeqia sp!, {r3, pc} _020698F8: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02069900: .word _020B0B44 arm_func_end sub_020698B8 arm_func_start sub_02069904 sub_02069904: ; 0x02069904 stmdb sp!, {r3, lr} ldr r0, _0206993C ; =_020B0B44 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0xc bl sub_02047150 ldr r0, _0206993C ; =_020B0B44 ldr r0, [r0] bl MemFree ldr r0, _0206993C ; =_020B0B44 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0206993C: .word _020B0B44 arm_func_end sub_02069904 arm_func_start sub_02069940 sub_02069940: ; 0x02069940 ldr r1, _02069954 ; =_020B0B44 ldr r1, [r1] cmp r1, #0 strneh r0, [r1, #8] bx lr .align 2, 0 _02069954: .word _020B0B44 arm_func_end sub_02069940 arm_func_start sub_02069958 sub_02069958: ; 0x02069958 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r8, r1 mov r7, r2 mov r6, r3 mov r5, #0 b _02069AD0 _02069974: mov r0, r5, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission mov r4, r0 ldrb r0, [r4] cmp r0, #0 beq _02069ACC ldrb r1, [sb, #1] ldrb r0, [r4, #1] cmp r1, r0 ldreqb r1, [sb, #2] ldreqb r0, [r4, #2] cmpeq r1, r0 ldreqb r1, [sb, #4] ldreqb r0, [r4, #4] cmpeq r1, r0 ldreqb r1, [sb, #5] ldreqb r0, [r4, #5] cmpeq r1, r0 ldreq r1, [sb, #8] ldreq r0, [r4, #8] cmpeq r1, r0 ldreqsh r1, [sb, #0xe] ldreqsh r0, [r4, #0xe] cmpeq r1, r0 ldreqsh r1, [sb, #0x10] ldreqsh r0, [r4, #0x10] cmpeq r1, r0 ldreqsh r1, [sb, #0x12] ldreqsh r0, [r4, #0x12] cmpeq r1, r0 ldreqsh r1, [sb, #0x14] ldreqsh r0, [r4, #0x14] cmpeq r1, r0 ldreqb r0, [sb, #0x16] ldreqb r1, [r4, #0x16] cmpeq r0, r1 bne _02069ACC add r1, sb, #0x18 add r2, r4, #0x18 bl sub_0205C870 cmp r0, #0 beq _02069ACC add r0, sb, #0x1a add r1, r4, #0x1a bl sub_0205C8E0 cmp r0, #0 beq _02069ACC ldrb r0, [r4] sub r0, r0, #4 cmp r0, #4 addls pc, pc, r0, lsl #2 b _02069AA4 _02069A48: ; jump table b _02069A5C ; case 0 b _02069A6C ; case 1 b _02069A88 ; case 2 b _02069A6C ; case 3 b _02069A6C ; case 4 _02069A5C: mov r0, #1 strb r0, [r8] strb r0, [r7] b _02069ABC _02069A6C: cmp r6, #0 movne r0, #3 moveq r0, #1 strb r0, [r8] mov r0, #2 strb r0, [r7] b _02069ABC _02069A88: cmp r6, #0 movne r0, #0 moveq r0, #1 strb r0, [r8] mov r0, #3 strb r0, [r7] b _02069ABC _02069AA4: cmp r6, #0 movne r0, #0 moveq r0, #1 strb r0, [r8] mov r0, #0 strb r0, [r7] _02069ABC: cmp r6, #0 moveq r0, #0 streqb r0, [r7] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02069ACC: add r5, r5, #1 _02069AD0: cmp r5, #8 blt _02069974 mov r0, #2 strb r0, [r8] mov r0, #0 strb r0, [r7] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02069958 arm_func_start sub_02069AEC sub_02069AEC: ; 0x02069AEC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x68 ldr r1, _02069CBC ; =_020B0B44 mov r2, #0 ldr r1, [r1] mov r5, r0 ldr r4, [r1] add r0, r4, #4 strb r2, [sp, #0x46] strh r2, [sp, #0x10] strh r2, [sp, #0x12] strh r2, [sp, #0x14] strh r2, [sp, #0x16] str r2, [sp, #0x5c] str r4, [sp, #0x64] str r0, [sp, #8] ldrsh r0, [r4, #0xa2] cmp r0, #0 moveq r0, #7 streqb r0, [sp, #0x1a] beq _02069B60 mov r0, #2 strb r0, [sp, #0x1a] ldrh r0, [r4, #0x9e] strh r0, [sp, #0x28] ldrh r0, [r4, #0xa0] strh r0, [sp, #0x2a] ldrh r0, [r4, #0xa2] strh r0, [sp, #0x2c] _02069B60: bl GetLanguageType ldrsb r1, [r4, #0x1c] cmp r1, r0 movne r0, #0 strne r0, [sp, #0xc] strne r0, [sp, #0x54] strne r0, [sp, #0x58] bne _02069B98 add r2, r4, #0x1d add r1, r4, #0x32 add r0, r4, #0x56 str r2, [sp, #0xc] str r1, [sp, #0x54] str r0, [sp, #0x58] _02069B98: ldrb r0, [r4] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02069C00 _02069BA8: ; jump table b _02069C00 ; case 0 b _02069C00 ; case 1 b _02069C00 ; case 2 b _02069C00 ; case 3 b _02069C00 ; case 4 b _02069BC8 ; case 5 b _02069BF4 ; case 6 b _02069BC8 ; case 7 _02069BC8: ldr r0, _02069CBC ; =_020B0B44 ldr r1, [r0] ldrsh r0, [r1, #8] cmp r0, #0 movne r0, #6 strneb r0, [sp, #0x1a] ldrnesh r0, [r1, #8] strneh r0, [sp, #0x3c] mov r0, #0 strb r0, [sp, #0x48] b _02069C50 _02069BF4: mov r0, #0 strb r0, [sp, #0x48] b _02069C50 _02069C00: ldrb r0, [r4, #0xae] bl sub_0205BD40 cmp r0, #0 beq _02069C24 cmp r0, #1 beq _02069C30 cmp r0, #2 beq _02069C3C b _02069C48 _02069C24: mov r0, #6 strb r0, [sp, #0x48] b _02069C50 _02069C30: mov r0, #4 strb r0, [sp, #0x48] b _02069C50 _02069C3C: mov r0, #5 strb r0, [sp, #0x48] b _02069C50 _02069C48: mov r0, #0 strb r0, [sp, #0x48] _02069C50: ldr r0, [sp, #0x54] mov r1, #1 cmp r0, #0 ldrneh r0, [r0] cmpne r0, #0 movne r1, #0 cmp r1, #0 movne r1, #0 moveq r1, #6 ldr r0, [sp, #0x58] strb r1, [sp, #0x44] cmp r0, #0 ldrneh r0, [r0] mov r1, #1 cmpne r0, #0 movne r1, #0 cmp r1, #0 movne r2, #0 moveq r2, #9 add r0, sp, #0 mov r1, r5 strb r2, [sp, #0x45] bl sub_02060FD8 mov r0, r5 bl sub_02027AF0 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02069CBC: .word _020B0B44 arm_func_end sub_02069AEC arm_func_start sub_02069CC0 sub_02069CC0: ; 0x02069CC0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 ldr r1, _02069D3C ; =_020B0B44 mov r6, r0 ldr r0, [r1] ldr r4, [r0, #4] ldrb r5, [r0, #0x10] mov r0, r4 bl sub_0205E238 cmp r0, #0 beq _02069CFC mov r0, r6 mov r1, r4 bl sub_02061C60 b _02069D2C _02069CFC: add r1, sp, #0 mov r0, r4 bl sub_02060150 add r1, sp, #0x47 add r2, sp, #0x48 mov r0, r4 mov r3, r5 bl sub_02069958 add r0, sp, #0 mov r1, r6 str r4, [sp, #0x5c] bl sub_02060FD8 _02069D2C: mov r0, r6 bl sub_02027AF0 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02069D3C: .word _020B0B44 arm_func_end sub_02069CC0 arm_func_start sub_02069D40 sub_02069D40: ; 0x02069D40 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0xc4 mov r1, #8 bl MemAlloc ldr r2, _02069D90 ; =_020B0B48 mov r1, #0xc4 str r0, [r2] bl MemZero ldr r0, _02069D90 ; =_020B0B48 mov r2, #0 ldr r1, [r0] str r2, [r1] ldr r1, [r0] strh r4, [r1, #0xc0] ldr r1, [r0] add r0, r1, #0x37 bic r0, r0, #0x1f str r0, [r1, #0x14] ldmia sp!, {r4, pc} .align 2, 0 _02069D90: .word _020B0B48 arm_func_end sub_02069D40 arm_func_start sub_02069D94 sub_02069D94: ; 0x02069D94 stmdb sp!, {r3, lr} ldr r0, _02069DBC ; =_020B0B48 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _02069DBC ; =_020B0B48 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02069DBC: .word _020B0B48 arm_func_end sub_02069D94 arm_func_start sub_02069DC0 sub_02069DC0: ; 0x02069DC0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20c ldr r0, _0206A5E0 ; =_020B0B48 ldr r5, [r0] ldr r1, [r5] cmp r1, #0x3000 bgt _02069E30 bge _0206A388 ldr r0, _0206A5E4 ; =0x00001001 cmp r1, r0 bgt _02069E10 cmp r1, #0x1000 blt _02069E04 beq _0206A0AC cmp r1, r0 beq _0206A104 b _0206A5D4 _02069E04: cmp r1, #0 beq _02069E84 b _0206A5D4 _02069E10: cmp r1, #0x2000 bgt _02069E20 beq _0206A464 b _0206A5D4 _02069E20: add r0, r0, #0x1000 cmp r1, r0 beq _0206A490 b _0206A5D4 _02069E30: cmp r1, #0x4000 bgt _02069E4C bge _0206A4A4 ldr r0, _0206A5E8 ; =0x00003001 cmp r1, r0 beq _0206A3A0 b _0206A5D4 _02069E4C: ldr r0, _0206A5EC ; =0x00004004 cmp r1, r0 bgt _02069E78 sub r0, r0, #3 subs r0, r1, r0 addpl pc, pc, r0, lsl #2 b _0206A5D4 _02069E68: ; jump table b _0206A4F8 ; case 0 b _0206A4C4 ; case 1 b _0206A584 ; case 2 b _0206A5B0 ; case 3 _02069E78: cmp r1, #0x8000 beq _0206A5C4 b _0206A5D4 _02069E84: add r4, r5, #0x58 add r5, r5, #0x90 bl ov29_0233CAA8 cmp r0, #1 bne _02069F90 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, [r0] cmp r1, #0 movne r0, #1 strne r0, [r1, #0xc] mov r0, r4 mov r1, #0x38 bl MemZero mov r0, r5 mov r1, #0x18 bl MemZero ldr r1, _0206A5E0 ; =_020B0B48 mov r2, #0x18 ldr r0, [r1] mov r6, #0x38 str r2, [r0, #0xa8] ldr r0, [r1] ldr r3, _0206A5F0 ; =sub_0206A628 str r5, [r0, #0xac] ldr r2, [r1] mov r0, #0 str r6, [r2, #0xb0] ldr r2, [r1] mov r8, #1 str r4, [r2, #0xb4] ldr r2, [r1] mov r7, #9 str r3, [r2, #0xb8] ldr r2, [r1] mov r3, #0x12 strb r0, [r2, #0xbc] ldr r6, [r1] mov r2, #0x11 strb r8, [r6, #0x10] ldr r6, [r1] ldr r6, [r6, #0x14] strb r7, [r6] ldr r1, [r1] ldr r1, [r1, #0x14] strb r0, [r1, #1] strb r3, [r4] strb r2, [r5] bl GetLanguageType strb r0, [r5, #2] ldrsb r1, [r5, #2] add r0, r5, #4 strb r1, [r4, #2] bl GetTeamNameCheck ldrb r0, [r5, #4] cmp r0, #0 bne _02069F6C add r0, r5, #4 bl SetQuestionMarks _02069F6C: add r0, r5, #4 mov r1, #0x14 bl ov29_02337B3C ldr r1, _0206A5E0 ; =_020B0B48 strb r0, [r5, #3] ldr r0, [r1] mov r1, #0x1000 str r1, [r0] b _0206A5D4 _02069F90: bl ov29_0233CAA8 cmp r0, #0 bne _0206A5D4 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, [r0] cmp r1, #0 movne r0, #0 strne r0, [r1, #0xc] mov r0, r4 mov r1, #0x38 bl MemZero mov r0, r5 mov r1, #0x18 bl MemZero ldr r0, _0206A5E0 ; =_020B0B48 ldr r0, [r0] ldrsh r0, [r0, #0xc0] mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bl GetAcceptedMission mov sl, r0 add sb, r4, #0x18 ldmia sl!, {r0, r1, r2, r3} stmia sb!, {r0, r1, r2, r3} ldmia sl, {r0, r1, r2, r3} ldr ip, _0206A5E0 ; =_020B0B48 stmia sb, {r0, r1, r2, r3} ldr r0, [ip] mov r8, #0x38 str r8, [r0, #0xa8] ldr r0, [ip] mov r7, #0x18 str r4, [r0, #0xac] ldr r0, [ip] ldr r6, _0206A5F4 ; =_02337B68 str r7, [r0, #0xb0] ldr r0, [ip] mov lr, #0 str r5, [r0, #0xb4] ldr r0, [ip] mov fp, #9 str r6, [r0, #0xb8] ldr r0, [ip] strb lr, [r0, #0xbc] ldr r0, [ip] strb lr, [r0, #0x10] ldr r0, [ip] ldr r0, [r0, #0x14] strb fp, [r0] ldr r0, [ip] ldr r0, [r0, #0x14] strb lr, [r0, #1] mov r0, #0x12 strb r0, [r4] mov r0, #0x11 strb r0, [r5] bl GetLanguageType strb r0, [r5, #2] ldrsb r1, [r5, #2] add r0, r4, #4 strb r1, [r4, #2] bl GetTeamNameCheck add r0, r4, #4 mov r1, #0x34 bl ov29_02337B3C strb r0, [r4, #3] ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x1000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A0AC: add r0, r5, #0xa8 mov r4, #1 str r0, [sp, #0xac] str r4, [sp, #0xa8] ldr r1, [r5, #0xc] add r0, sp, #0xa8 str r1, [sp, #0xb8] ldrb r3, [r5, #0x10] mov r2, #0x20 mov r1, #0 strb r3, [sp, #0xbc] ldr r3, [r5, #0x14] str r3, [sp, #0xc0] strh r2, [sp, #0xc4] strb r1, [sp, #0xc6] str r4, [sp, #0xc8] bl ov29_02337BA0 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A5E4 ; =0x00001001 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A104: bl ov29_02337E0C movs r4, r0 beq _0206A5D4 bl ov29_02337C54 cmp r4, #0xe addls pc, pc, r4, lsl #2 b _0206A5D4 _0206A120: ; jump table b _0206A5D4 ; case 0 b _0206A380 ; case 1 b _0206A5D4 ; case 2 b _0206A5D4 ; case 3 b _0206A15C ; case 4 b _0206A380 ; case 5 b _0206A380 ; case 6 b _0206A380 ; case 7 b _0206A380 ; case 8 b _0206A380 ; case 9 b _0206A380 ; case 10 b _0206A380 ; case 11 b _0206A380 ; case 12 b _0206A380 ; case 13 b _0206A380 ; case 14 _0206A15C: bl ov29_0233CAA8 cmp r0, #1 bne _0206A300 ldr r0, _0206A5E0 ; =_020B0B48 ldr r0, [r0] add r0, r0, #0x70 bl sub_0205E238 cmp r0, #0 beq _0206A244 mov r0, #2 bl sub_0204C94C cmp r0, #0 beq _0206A1B0 ldr r1, _0206A5F8 ; =0x000037A8 mov r0, #0x1c bl ov29_0233CDC8 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A5FC ; =0x00002001 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A1B0: add r0, sp, #0x1bc bl InitPreprocessorArgs mov r0, #2 mov r1, #1 bl sub_0204C978 add r0, sp, #0x7e mov r1, #0x2a bl MemZero ldr r0, _0206A5E0 ; =_020B0B48 ldr r4, [r0] bl GetLanguageType ldrsb r1, [r4, #0x5a] cmp r1, r0 add r0, sp, #0x7e bne _0206A1FC add r1, r4, #0x5c mov r2, #0x14 bl StrncpySimpleNoPadSafe b _0206A204 _0206A1FC: ldr r1, _0206A600 ; =0x000038C9 bl GetStringFromFileVeneer _0206A204: ldr r1, _0206A604 ; =0x0000379F add r3, sp, #0x7e add r2, sp, #0x1bc mov r0, #0x1c str r3, [sp, #0x1f4] bl ov29_0233CDD8 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0 ldr r0, [r0] add r0, r0, #0x70 bl sub_02069800 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x2000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A244: ldr r0, _0206A5E0 ; =_020B0B48 ldr r0, [r0] add r0, r0, #0x70 bl sub_0205F0B8 cmp r0, #0 bne _0206A2EC bl sub_0205F5A8 bl sub_0205F710 add r0, sp, #0x16c bl InitPreprocessorArgs add r0, sp, #0x54 mov r1, #0x2a bl MemZero ldr r0, _0206A5E0 ; =_020B0B48 ldr r4, [r0] bl GetLanguageType ldrsb r1, [r4, #0x5a] cmp r1, r0 add r0, sp, #0x54 bne _0206A2A4 add r1, r4, #0x5c mov r2, #0x14 bl StrncpySimpleNoPadSafe b _0206A2AC _0206A2A4: ldr r1, _0206A600 ; =0x000038C9 bl GetStringFromFileVeneer _0206A2AC: ldr r1, _0206A604 ; =0x0000379F add r3, sp, #0x54 add r2, sp, #0x16c mov r0, #0x1c str r3, [sp, #0x1a4] bl ov29_0233CDD8 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0 ldr r0, [r0] add r0, r0, #0x70 bl sub_02069800 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x2000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A2EC: ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x3000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A300: bl ov29_0233CAA8 cmp r0, #0 bne _0206A5D4 add r0, sp, #0x11c bl InitPreprocessorArgs add r0, sp, #0x2a mov r1, #0x2a bl MemZero ldr r0, _0206A5E0 ; =_020B0B48 ldr r4, [r0] bl GetLanguageType ldrsb r1, [r4, #0x92] cmp r1, r0 add r0, sp, #0x2a bne _0206A34C add r1, r4, #0x94 mov r2, #0x14 bl StrncpySimpleNoPadSafe b _0206A354 _0206A34C: ldr r1, _0206A600 ; =0x000038C9 bl GetStringFromFileVeneer _0206A354: ldr r1, _0206A608 ; =0x00003793 add r3, sp, #0x2a add r2, sp, #0x11c mov r0, #0x1c str r3, [sp, #0x154] bl ov29_0233CDD8 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x8000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A380: mov r0, #1 b _0206A5D8 _0206A388: bl ov29_0233CAD8 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A5E8 ; =0x00003001 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A3A0: bl ov29_0233CB3C cmp r0, #2 bne _0206A450 bl ov29_0233CB10 add r0, sp, #0xcc bl InitPreprocessorArgs ldr r0, _0206A5E0 ; =_020B0B48 ldr r0, [r0] add r0, r0, #0x70 bl sub_0205F0B8 bl sub_0205F5A8 bl sub_0205F710 add r0, sp, #0 mov r1, #0x2a bl MemZero ldr r0, _0206A5E0 ; =_020B0B48 ldr r4, [r0] bl GetLanguageType ldrsb r1, [r4, #0x5a] cmp r1, r0 add r0, sp, #0 bne _0206A408 add r1, r4, #0x5c mov r2, #0x14 bl StrncpySimpleNoPadSafe b _0206A410 _0206A408: ldr r1, _0206A600 ; =0x000038C9 bl GetStringFromFileVeneer _0206A410: ldr r1, _0206A604 ; =0x0000379F add r3, sp, #0 add r2, sp, #0xcc mov r0, #0x1c str r3, [sp, #0x104] bl ov29_0233CDD8 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0 ldr r0, [r0] add r0, r0, #0x70 bl sub_02069800 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x2000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A450: cmp r0, #1 bne _0206A5D4 bl ov29_0233CB10 mov r0, #1 b _0206A5D8 _0206A464: bl ov29_0233CDE4 mov r4, r0 bl sub_020698B8 cmp r4, #0x12 bne _0206A5D4 bl sub_02069904 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x4000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A490: bl ov29_0233CDE4 cmp r0, #0x12 bne _0206A5D4 mov r0, #1 b _0206A5D8 _0206A4A4: ldr r1, _0206A60C ; =0x0000023B mov r0, #0 bl ov29_0233CDC8 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A610 ; =0x00004002 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A4C4: bl ov29_0233CDE4 cmp r0, #0x12 bne _0206A5D4 mov r0, #0xe0 mov r1, #0x88 mov r2, #1 bl sub_02029F88 bl sub_02003B94 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A614 ; =0x00004001 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A4F8: mov r0, #3 bl NoteSaveBase mov r4, r0 bl sub_02003BC8 bl sub_02029FBC cmp r4, #0 bne _0206A558 ldr r0, _0206A5E0 ; =_020B0B48 ldr r0, [r0] add r0, r0, #0x70 bl sub_0205E238 cmp r0, #0 mov r0, #0x1c beq _0206A53C ldr r1, _0206A618 ; =0x0000379E bl ov29_0233CDC8 b _0206A544 _0206A53C: mov r1, #0x23c bl ov29_0233CDC8 _0206A544: ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A61C ; =0x00004003 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A558: cmp r4, #1 moveq r0, #3 beq _0206A5D8 ldr r1, _0206A620 ; =0x00000239 mov r0, #0x1c bl ov29_0233CDC8 ldr r0, _0206A5E0 ; =_020B0B48 ldr r1, _0206A5EC ; =0x00004004 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A584: bl ov29_0233CDE4 cmp r0, #0x12 bne _0206A5D4 ldr r1, _0206A624 ; =0x000037A0 mov r0, #0x1c bl ov29_0233CDC8 ldr r0, _0206A5E0 ; =_020B0B48 mov r1, #0x8000 ldr r0, [r0] str r1, [r0] b _0206A5D4 _0206A5B0: bl ov29_0233CDE4 cmp r0, #0x12 bne _0206A5D4 mov r0, #1 b _0206A5D8 _0206A5C4: bl ov29_0233CDE4 cmp r0, #0x12 moveq r0, #2 beq _0206A5D8 _0206A5D4: mov r0, #0 _0206A5D8: add sp, sp, #0x20c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206A5E0: .word _020B0B48 _0206A5E4: .word 0x00001001 _0206A5E8: .word 0x00003001 _0206A5EC: .word 0x00004004 _0206A5F0: .word sub_0206A628 _0206A5F4: .word PositionHasMonster _0206A5F8: .word 0x000037A8 _0206A5FC: .word 0x00002001 _0206A600: .word 0x000038C9 _0206A604: .word 0x0000379F _0206A608: .word 0x00003793 _0206A60C: .word 0x0000023B _0206A610: .word 0x00004002 _0206A614: .word 0x00004001 _0206A618: .word 0x0000379E _0206A61C: .word 0x00004003 _0206A620: .word 0x00000239 _0206A624: .word 0x000037A0 arm_func_end sub_02069DC0 arm_func_start sub_0206A628 sub_0206A628: ; 0x0206A628 stmdb sp!, {r4, lr} mov r4, r0 bl ov29_0233CAA8 cmp r0, #1 bne _0206A70C add r0, r4, #4 mov r1, #0x34 bl ov29_02337B3C ldrb r1, [r4, #3] cmp r0, r1 movne r0, #3 ldmneia sp!, {r4, pc} ldrb r0, [r4] cmp r0, #0x12 movne r0, #2 ldmneia sp!, {r4, pc} add r0, r4, #0x18 bl sub_0205E238 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} add r0, r4, #0x18 bl sub_0205D1F4 cmp r0, #0 moveq r0, #6 ldmeqia sp!, {r4, pc} ldrsh r0, [r4, #0x2c] mov r1, #1 bl CanSendItem cmp r0, #0 moveq r0, #6 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0x2e] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0206A6E4 _0206A6B8: ; jump table b _0206A6E4 ; case 0 b _0206A6CC ; case 1 b _0206A6CC ; case 2 b _0206A6CC ; case 3 b _0206A6CC ; case 4 _0206A6CC: ldrsh r0, [r4, #0x30] mov r1, #1 bl CanSendItem cmp r0, #0 moveq r0, #6 ldmeqia sp!, {r4, pc} _0206A6E4: add r0, r4, #0x18 bl sub_0205EC98 cmp r0, #0 movne r0, #4 ldmneia sp!, {r4, pc} add r0, r4, #0x18 bl sub_0205FA38 cmp r0, #0 movne r0, #4 ldmneia sp!, {r4, pc} _0206A70C: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end sub_0206A628 arm_func_start DungeonSwapIdToIdx DungeonSwapIdToIdx: ; 0x0206A714 mov ip, #0 ldr r3, _0206A74C ; =DUNGEON_SWAP_ID_TABLE b _0206A73C _0206A720: mov r1, ip, lsl #0x10 ldrb r2, [r3, r1, asr #16] mov r1, r1, asr #0x10 cmp r2, r0 moveq r0, r1 bxeq lr add ip, ip, #1 _0206A73C: cmp ip, #0xd5 blt _0206A720 mvn r0, #0 bx lr .align 2, 0 _0206A74C: .word DUNGEON_SWAP_ID_TABLE arm_func_end DungeonSwapIdToIdx arm_func_start DungeonSwapIdxToId DungeonSwapIdxToId: ; 0x0206A750 mvn r1, #0 cmp r0, r1 ldrne r1, _0206A768 ; =DUNGEON_SWAP_ID_TABLE moveq r0, #0xff ldrneb r0, [r1, r0] bx lr .align 2, 0 _0206A768: .word DUNGEON_SWAP_ID_TABLE arm_func_end DungeonSwapIdxToId arm_func_start GetDungeonModeSpecial GetDungeonModeSpecial: ; 0x0206A76C stmdb sp!, {r3, lr} cmp r0, #0xd6 moveq r0, #4 ldmeqia sp!, {r3, pc} cmp r0, #0xb4 blt _0206A790 cmp r0, #0xd3 movle r0, #3 ldmleia sp!, {r3, pc} _0206A790: cmp r0, #0xd7 moveq r0, #2 ldmeqia sp!, {r3, pc} cmp r0, #0xd8 moveq r0, #3 ldmeqia sp!, {r3, pc} bl GetDungeonMode cmp r0, #1 moveq r0, #1 ldmeqia sp!, {r3, pc} sub r0, r0, #2 cmp r0, #1 movls r0, #2 movhi r0, #1 ldmia sp!, {r3, pc} arm_func_end GetDungeonModeSpecial arm_func_start sub_0206A7CC sub_0206A7CC: ; 0x0206A7CC stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0x3e8 bne _0206A7F4 mov r0, #0 mov r1, #0x20 bl LoadScriptVariableValue mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 b _0206A82C _0206A7F4: ldr r0, _0206A848 ; =0x000003E9 cmp r4, r0 bne _0206A82C bl sub_0204E6FC cmp r0, #2 bne _0206A814 bl sub_0204E780 b _0206A818 _0206A814: bl sub_0204E770 _0206A818: cmp r0, #0xff addne r0, r0, #1 mvneq r4, #0 movne r0, r0, lsl #0x10 movne r4, r0, asr #0x10 _0206A82C: cmp r4, #0xd1 bne _0206A840 bl GetExecuteSpecialEpisodeType cmp r0, #4 moveq r4, #0xd2 _0206A840: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0206A848: .word 0x000003E9 arm_func_end sub_0206A7CC arm_func_start sub_0206A84C sub_0206A84C: ; 0x0206A84C cmp r0, #0xb4 addlo r0, r0, #1 movlo r0, r0, lsl #0x10 movlo r0, r0, asr #0x10 bxlo lr blo _0206A870 cmp r0, #0xd3 movls r0, #0xb8 bxls lr _0206A870: mvn r0, #0 bx lr arm_func_end sub_0206A84C arm_func_start sub_0206A878 sub_0206A878: ; 0x0206A878 stmdb sp!, {r3, lr} bl sub_0206A7CC mvn r1, #0 cmp r0, r1 ldrne r1, _0206A89C ; =MAP_MARKER_PLACEMENTS movne r0, r0, lsl #3 ldrnesh r1, [r1, r0] mov r0, r1 ldmia sp!, {r3, pc} .align 2, 0 _0206A89C: .word MAP_MARKER_PLACEMENTS arm_func_end sub_0206A878 arm_func_start sub_0206A8A0 sub_0206A8A0: ; 0x0206A8A0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 bl sub_0206A7CC mov r5, r0 mov r0, r4 bl sub_0206A7CC mvn r1, #0 cmp r5, r1 mov r4, r0 ldrne r0, _0206A908 ; =_020A94D2 movne r2, r5, lsl #3 ldrnesh r0, [r0, r2] cmpne r0, r1 movne r5, r0 mvn r0, #0 cmp r4, r0 ldrne r1, _0206A908 ; =_020A94D2 movne r2, r4, lsl #3 ldrnesh r1, [r1, r2] cmpne r1, r0 movne r4, r1 cmp r5, r4 moveq r0, #1 movne r0, #0 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0206A908: .word _020A94D2 arm_func_end sub_0206A8A0 arm_func_start sub_0206A90C sub_0206A90C: ; 0x0206A90C stmdb sp!, {r3, lr} bl sub_0206A7CC mvn r1, #0 cmp r0, r1 ldreq r0, _0206A964 ; =0x0000403A ldmeqia sp!, {r3, pc} cmp r0, #0 ldreq r0, _0206A968 ; =0x00004033 ldmeqia sp!, {r3, pc} cmp r0, #1 blt _0206A950 cmp r0, #0xb4 bgt _0206A950 sub r0, r0, #1 and r0, r0, #0xff bl sub_02024934 ldmia sp!, {r3, pc} _0206A950: add r0, r0, #0x7f add r0, r0, #0x3f00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r3, pc} .align 2, 0 _0206A964: .word 0x0000403A _0206A968: .word 0x00004033 arm_func_end sub_0206A90C arm_func_start sub_0206A96C sub_0206A96C: ; 0x0206A96C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 bl sub_0206A7CC mvn r2, #0 cmp r0, r2 moveq r0, r2 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _0206A9D8 ; =MAP_MARKER_PLACEMENTS cmp r5, r2 add r3, r1, r0, lsl #3 ldrnesh r1, [r3] cmpne r1, r5 movne r0, r2 ldmneia sp!, {r3, r4, r5, pc} ldrsh r2, [r3, #2] cmp r2, r0 mvnne r1, #0 cmpne r2, r1 ldrne r1, _0206A9D8 ; =MAP_MARKER_PLACEMENTS movne r0, r2 addne r3, r1, r2, lsl #3 ldrsh r1, [r3, #4] str r1, [r4] ldrsh r1, [r3, #6] str r1, [r4, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0206A9D8: .word MAP_MARKER_PLACEMENTS arm_func_end sub_0206A96C arm_func_start sub_0206A9DC sub_0206A9DC: ; 0x0206A9DC stmdb sp!, {r4, lr} bl GetExecuteSpecialEpisodeType mov r4, r0 cmp r4, #4 bne _0206AA24 mov r0, #0x3e8 bl sub_0206A7CC ldr r1, _0206AA34 ; =MAP_MARKER_PLACEMENTS mov r0, r0, lsl #3 ldrsh r0, [r1, r0] ldr r1, _0206AA38 ; =0xFFFFFED2 add r1, r0, r1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #1 ldmlsia sp!, {r4, pc} _0206AA24: ldr r0, _0206AA3C ; =_020A94C6 mov r1, r4, lsl #1 ldrsh r0, [r0, r1] ldmia sp!, {r4, pc} .align 2, 0 _0206AA34: .word MAP_MARKER_PLACEMENTS _0206AA38: .word 0xFFFFFED2 _0206AA3C: .word _020A94C6 arm_func_end sub_0206A9DC arm_func_start sub_0206AA40 sub_0206AA40: ; 0x0206AA40 stmdb sp!, {r3, lr} bl GetExecuteSpecialEpisodeType ldr r1, _0206AA58 ; =_020A94BC mov r0, r0, lsl #1 ldrsh r0, [r1, r0] ldmia sp!, {r3, pc} .align 2, 0 _0206AA58: .word _020A94BC arm_func_end sub_0206AA40 arm_func_start sub_0206AA5C sub_0206AA5C: ; 0x0206AA5C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r5, r0 mov r0, #0x40 mov r1, #1 bl MemAlloc ldr r2, _0206AB90 ; =_020B0B4C mov r1, #0x40 str r0, [r2, #8] bl MemZero ldr r0, _0206AB90 ; =_020B0B4C mov r1, #0x20 ldr r4, [r0, #8] add r0, r4, #4 bl MemZero mov r1, #0 str r1, [r4, #0x20] ldr r0, _0206AB90 ; =_020B0B4C strh r1, [r4, #0x1c] ldr r1, [r0, #8] str r5, [r1] ldr r2, [r0, #8] ldr r0, [r2] cmp r0, #1 bne _0206AB3C ldr r0, _0206AB94 ; =0x00001F64 mov r1, #6 add r4, r2, #4 bl MemAlloc ldr r1, _0206AB94 ; =0x00001F64 mov r5, r0 bl MemZero mov r8, #0x58 mov sl, #0 mvn r7, #0 mov r6, r8 _0206AAE8: mul sb, sl, r6 mov r1, r8 add r0, r5, sb bl MemZero add sl, sl, #1 strh r7, [r5, sb] cmp sl, #0x50 blt _0206AAE8 add r0, r5, #0x1000 ldr r2, _0206AB90 ; =_020B0B4C str r4, [r0, #0xf5c] ldr r0, [r2, #8] mov r1, #5 str r5, [r0, #0x28] ldr r0, [r2, #8] add r0, r0, #4 bl sub_0206BBE0 ldr r1, _0206AB90 ; =_020B0B4C ldr r1, [r1, #8] str r0, [r1, #0x24] b _0206AB5C _0206AB3C: cmp r0, #2 bne _0206AB5C add r0, r2, #4 mov r1, #4 bl sub_0206BBE0 ldr r1, _0206AB90 ; =_020B0B4C ldr r1, [r1, #8] str r0, [r1, #0x24] _0206AB5C: ldr r1, _0206AB90 ; =_020B0B4C mov r3, #0 ldr r2, [r1, #8] mov r0, #0x80 str r3, [r2, #0x2c] ldr r2, [r1, #8] strb r3, [r2, #0x30] ldr r2, [r1, #8] str r3, [r2, #0x34] ldr r1, [r1, #8] strb r3, [r1, #0x31] bl ov00_022C2340 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0206AB90: .word _020B0B4C _0206AB94: .word 0x00001F64 arm_func_end sub_0206AA5C arm_func_start sub_0206AB98 sub_0206AB98: ; 0x0206AB98 ldr r0, _0206ABAC ; =_020B0B4C mov r1, #1 ldr r0, [r0, #8] strb r1, [r0, #0x30] bx lr .align 2, 0 _0206ABAC: .word _020B0B4C arm_func_end sub_0206AB98 arm_func_start sub_0206ABB0 sub_0206ABB0: ; 0x0206ABB0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 ldr r0, _0206AD28 ; =_020B0B4C ldr r4, [r0, #8] cmp r4, #0 ldrneb r0, [r4, #0x30] cmpne r0, #0 beq _0206AD1C ldr r0, [r4] ldr r1, _0206AD2C ; =_020B0B5C cmp r0, #1 movne r5, #1 moveq r5, #0 ldr r1, [r1, r5, lsl #3] add r0, sp, #8 mov r2, #6 bl LoadWteFromRom ldr r0, _0206AD30 ; =_020B0B60 mov r1, #0 ldr r0, [r0, r5, lsl #3] bl sub_0201DF38 str r0, [r4, #0x14] mov r2, #0 ldr r1, [r4, #0x20] add r0, sp, #8 mov r3, r2 bl sub_0201E12C add r0, sp, #8 bl sub_0201E13C ldr r1, [r4, #0x20] add r0, sp, #0x10 str r1, [r4, #0x18] ldr r2, [r4, #0x20] ldr r1, _0206AD34 ; =_020A9F34 add r2, r2, #0x8000 str r2, [r4, #0x20] mov r2, #6 bl LoadWteFromRom ldr r0, _0206AD38 ; =_020A9F48 mov r1, #0 bl sub_0201DF38 str r0, [r4, #4] ldr r1, [r4, #0x20] add r0, sp, #0x10 mov r2, #1 mov r3, #0 bl sub_0201E12C add r0, sp, #0x10 bl sub_0201E13C ldr r1, [r4, #0x20] add r0, sp, #0x10 str r1, [r4, #8] ldr r2, [r4, #0x20] ldr r1, _0206AD3C ; =_020A9F5C add r2, r2, #0x2000 str r2, [r4, #0x20] mov r2, #6 bl LoadWteFromRom ldr r0, _0206AD40 ; =_020A9F70 mov r1, #0 bl sub_0201DF38 str r0, [r4, #0xc] ldr r1, [r4, #0x20] add r0, sp, #0x10 mov r2, #2 mov r3, #0 bl sub_0201E12C add r0, sp, #0x10 bl sub_0201E13C ldr r0, [r4, #0x20] mov r2, #0 str r0, [r4, #0x10] ldr r1, [r4, #0x20] ldr r0, _0206AD44 ; =WAN_TABLE add r1, r1, #0x4000 str r1, [r4, #0x20] ldr r0, [r0] ldr r1, _0206AD48 ; =_020A9F84 bl LoadWanTableEntry strh r0, [r4, #0x1c] mov r3, #1 str r3, [sp] mov r2, #0 str r2, [sp, #4] ldrsh r0, [r4, #0x1c] mov r1, #0x2c0 bl sub_0201D9C8 ldr r0, _0206AD28 ; =_020B0B4C mov r1, #0 ldr r0, [r0, #8] strb r1, [r0, #0x30] _0206AD1C: mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0206AD28: .word _020B0B4C _0206AD2C: .word _020B0B5C _0206AD30: .word _020B0B60 _0206AD34: .word _020A9F34 _0206AD38: .word _020A9F48 _0206AD3C: .word _020A9F5C _0206AD40: .word _020A9F70 _0206AD44: .word WAN_TABLE _0206AD48: .word _020A9F84 arm_func_end sub_0206ABB0 arm_func_start sub_0206AD4C sub_0206AD4C: ; 0x0206AD4C ldr r0, _0206AD7C ; =_020B0B4C ldr r0, [r0, #8] cmp r0, #0 beq _0206AD74 ldrb r0, [r0, #0x31] cmp r0, #0 moveq r0, #1 movne r0, #0 and r0, r0, #0xff bx lr _0206AD74: mov r0, #0 bx lr .align 2, 0 _0206AD7C: .word _020B0B4C arm_func_end sub_0206AD4C arm_func_start sub_0206AD80 sub_0206AD80: ; 0x0206AD80 ldr r0, _0206AD9C ; =_020B0B4C ldr r1, [r0, #8] cmp r1, #0 ldrne r0, [r1, #0x34] addne r0, r0, #1 strne r0, [r1, #0x34] bx lr .align 2, 0 _0206AD9C: .word _020B0B4C arm_func_end sub_0206AD80 arm_func_start sub_0206ADA0 sub_0206ADA0: ; 0x0206ADA0 ldr r1, _0206ADB4 ; =_020B0B4C ldr r1, [r1, #8] cmp r1, #0 strne r0, [r1, #0x38] bx lr .align 2, 0 _0206ADB4: .word _020B0B4C arm_func_end sub_0206ADA0 arm_func_start sub_0206ADB8 sub_0206ADB8: ; 0x0206ADB8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x4c ldr r0, _0206B9BC ; =_020B0B4C ldr r0, [r0, #8] cmp r0, #0 moveq r0, #0 beq _0206B9B4 bl ov00_022C23EC ldr r0, _0206B9BC ; =_020B0B4C ldr r8, [r0, #8] ldrb r0, [r8, #0x30] cmp r0, #0 bne _0206B9B0 ldr r0, [r8, #0x2c] cmp r0, #0 beq _0206AE00 cmp r0, #1 b _0206B99C _0206AE00: ldr r0, [r8, #0x38] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r8, #0x38] bgt _0206B99C ldr r0, [r8] cmp r0, #1 bne _0206B678 ldr r7, [r8, #0x24] ldr sb, [r8, #0x28] ldr r0, [r7, #0xc] cmp r0, #0 beq _0206AE48 cmp r0, #1 beq _0206AF78 cmp r0, #2 beq _0206B1D4 b _0206B670 _0206AE48: ldr r1, [r7, #0x2d4] mov r0, #0xc0 ldr fp, [r7, #0x2d8] mov r6, #0 bl __divsi3 mov sb, r0, lsl #8 mov r0, #0x14000 rsb r0, r0, #0 str r0, [sp, #0x2c] b _0206AF50 _0206AE70: mul r0, r6, sb ands r5, r6, #1 movne r4, #0x14000 ldr r1, _0206B9BC ; =_020B0B4C ldreq r4, [sp, #0x2c] str r0, [sp, #0x18] ldr r1, [r1, #4] rsb r0, r4, #0 bl __divsi3 str r0, [sp, #0x1c] str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0xe0 str r0, [sp, #8] mov r0, #0x58 mul sl, r6, r0 mov r0, r6, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] ldr r0, [r7] ldr r3, [sp, #0x18] mov r1, fp add r0, r0, sl mov r2, r4 bl sub_0206BC3C cmp r5, #0 movne r0, #0 moveq r0, #0x10000 add r2, r4, r0 ldr r5, [r7, #4] ldr r0, [sp, #0x1c] ldr r3, [sp, #0x18] str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0x70 str r0, [sp, #8] mov r0, #3 str r0, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] add r0, r5, sl mov r1, fp bl sub_0206BD04 ldrsh r0, [r5, sl] bl sub_0201F324 ldrsh r1, [r0, #0x1a] add r6, r6, #1 add r1, r1, r1, lsr #31 mov r1, r1, asr #1 strh r1, [r0, #8] mov r1, #0 strh r1, [r0, #0xa] _0206AF50: ldr r0, [r7, #0x2d4] cmp r6, r0 blt _0206AE70 ldr r0, _0206B9BC ; =_020B0B4C ldr r0, [r0, #4] str r0, [r7, #8] ldr r0, [r7, #0xc] add r0, r0, #1 str r0, [r7, #0xc] b _0206B670 _0206AF78: mov r4, #0 mov fp, #0x58 b _0206B04C _0206AF84: mul r5, r4, fp ldr r6, [r7] add sl, r6, r5 ldr r1, [sl, #8] ldr r0, [sl, #0x18] add r0, r1, r0 str r0, [sl, #8] ldr r1, [sl, #0xc] ldr r0, [sl, #0x1c] add r0, r1, r0 str r0, [sl, #0xc] ldrsh r0, [r6, r5] bl sub_0201F324 ldr r2, [sl, #8] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0] ldrsh r0, [r6, r5] bl sub_0201F324 ldr r2, [sl, #0xc] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0, #2] ldr r6, [r7, #4] add sl, r6, r5 ldr r1, [sl, #8] ldr r0, [sl, #0x18] add r0, r1, r0 str r0, [sl, #8] ldr r1, [sl, #0xc] ldr r0, [sl, #0x1c] add r0, r1, r0 str r0, [sl, #0xc] ldrsh r0, [r6, r5] bl sub_0201F324 ldr r2, [sl, #8] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0] ldrsh r0, [r6, r5] bl sub_0201F324 ldr r2, [sl, #0xc] add r4, r4, #1 mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0, #2] _0206B04C: ldr r0, [r7, #0x2d4] cmp r4, r0 blt _0206AF84 ldr r0, [r7, #8] cmp r0, #0 bne _0206B0E0 mov r6, #0 mov fp, r6 b _0206B0D0 _0206B070: mov r0, #0x58 mul r4, r6, r0 ldr r5, [r7] ldrsh r0, [r5, r4] add sl, r5, r4 bl sub_0201F324 str fp, [sl, #8] str fp, [sl, #0x18] str fp, [sl, #0x1c] ldrsh r0, [r5, r4] bl sub_0201F324 ldr r2, [sl, #8] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0] ldrsh r0, [r5, r4] bl sub_0201F324 ldr r2, [sl, #0xc] add r6, r6, #1 mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0, #2] _0206B0D0: ldr r0, [r7, #0x2d4] cmp r6, r0 blt _0206B070 b _0206B0E8 _0206B0E0: sub r0, r0, #1 str r0, [r7, #8] _0206B0E8: ldr r0, [r7, #4] ldr r0, [r0, #8] cmp r0, #0x11000 ble _0206B670 add r0, sb, #0x1000 ldr r5, [r0, #0xf5c] mov r1, #0x8000 str r1, [r0, #0xb8c] mov r1, #0x6000 str r1, [r0, #0xb90] bl sub_0201F36C add r1, sb, #0x1b00 strh r0, [r1, #0x84] ldrsh r0, [r1, #0x84] bl sub_0201F324 mov r4, r0 mov r2, #0 strb r2, [r4, #0x3c] mov r1, #0x80 strh r1, [r4, #0x2a] add r3, sb, #0x1000 ldr sl, [r3, #0xb8c] mov r6, #2 mov r1, sl, asr #7 add r1, sl, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r4] ldr r3, [r3, #0xb90] mov r1, r3, asr #7 add r1, r3, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r4, #2] str r6, [sp] str r2, [sp, #4] ldr r1, [r5, #8] ldr r3, [r5, #0xc] bl sub_0201E7D8 ldrsh r0, [r4, #0x1a] mov r5, #0 mov r1, #0x28 add r0, r0, r0, lsr #31 mov r0, r0, asr #1 strh r0, [r4, #8] ldrsh r2, [r4, #0x1c] add r3, sb, #0x1000 mov r0, #0x1000 add r2, r2, r2, lsr #31 mov r2, r2, asr #1 strh r2, [r4, #0xa] strh r5, [r4, #0x10] strh r5, [r4, #0x12] str r1, [r3, #0xbd4] bl __divsi3 add r1, sb, #0x1b00 strh r0, [r1, #0xcc] ldr r0, [r7, #0xc] add r0, r0, #1 str r0, [r7, #0xc] b _0206B670 _0206B1D4: add r0, sb, #0x1b00 ldrsh r3, [r0, #0x84] add r0, sb, #0x1000 add r1, sb, #0x384 mvn r2, #0 cmp r3, r2 add r6, r1, #0x1800 ldr r7, [r0, #0xf5c] beq _0206B2D4 ldrsh r0, [r6] bl sub_0201F324 ldr r1, [r6, #4] mov r5, r0 cmp r1, #2 ldrh r4, [r5, #0x10] bge _0206B298 ldr r0, [r6, #0x4c] add r1, r0, #1 str r1, [r6, #0x4c] ldr r0, [r6, #0x50] cmp r1, r0 ble _0206B298 ldr r0, [r6, #4] add r0, r0, #1 str r0, [r6, #4] cmp r0, #2 bne _0206B278 ldr r1, [r6, #0x50] mov r0, #0xc00 bl __divsi3 strh r0, [r6, #0x48] add r0, sb, #0x1000 mov r1, #1 str r1, [r0, #0xbf0] mov r1, #8 str r1, [r0, #0xbe8] ldr r1, [r0, #0xbec] str r1, [r0, #0xbe0] ldr r1, [r0, #0xbf0] str r1, [r0, #0xbe4] b _0206B290 _0206B278: cmp r0, #1 bne _0206B290 ldr r1, [r6, #0x50] mov r0, #0xc00 bl __divsi3 strh r0, [r6, #0x48] _0206B290: mov r0, #0 str r0, [r6, #0x4c] _0206B298: ldrsh r0, [r6, #0x48] ldr r1, [r6, #4] cmp r1, #1 subeq r4, r4, r0 beq _0206B2C8 cmp r1, #2 add r4, r4, r0 bne _0206B2C8 add r0, r0, #0x20 cmp r4, #0x4000 strh r0, [r6, #0x48] movge r4, #0x4000 _0206B2C8: strh r4, [r5, #0x10] ldrh r0, [r5, #0x10] strh r0, [r5, #0x12] _0206B2D4: add r0, sb, #0x1000 ldr r1, [r0, #0xbf4] cmp r1, #0 beq _0206B2F0 cmp r1, #1 beq _0206B3C4 b _0206B670 _0206B2F0: mov r5, #0 mov r2, #1 str r5, [r0, #0xbdc] mov r1, #0x10 str r2, [r0, #0xbe0] str r1, [r0, #0xbec] str r1, [r0, #0xbe8] mov r1, #8 str r1, [r0, #0xbf0] rsb r1, r2, #0x3e8 str r1, [r0, #0xbe4] ldr r4, [r0, #0xf5c] add r0, sb, #0x3f8 add fp, r0, #0x1800 _0206B328: mov r0, #0x7c mla r6, r5, r0, fp mov r0, r6 bl sub_0201C0B0 ldrsh r1, [r4, #0x18] mov r0, r6 bl SetSpriteIdForAnimationControl mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r0, #0xc mul r1, r5, r0 ldr r0, _0206B9C0 ; =_020A9EE0 mov r2, #0 add sl, r0, r1 ldr r1, [r0, r1] mov r0, r6 mov r3, #0x2c0 bl SetAnimationForAnimationControl ldr r1, [sl, #4] mov r0, r6 strh r1, [r6, #0x1c] ldr r2, [sl, #8] mov r1, #0 strh r2, [r6, #0x1e] bl sub_0201D12C add r5, r5, #1 cmp r5, #7 blt _0206B328 add r0, sb, #0x1000 mov r1, #1 strb r1, [r0, #0xf60] ldr r1, [r0, #0xbf4] add r1, r1, #1 str r1, [r0, #0xbf4] _0206B3C4: add r0, sb, #0x1000 ldr r2, [r0, #0xbe0] add r1, r2, #1 str r1, [r0, #0xbe0] ldr r0, [r0, #0xbec] cmp r2, r0 ble _0206B54C bl Rand16Bit mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #31 add r0, r1, r0, ror #31 add r4, r0, #3 ldr r0, _0206B9C4 ; =0x000001FF mov r5, #0 add r0, r0, #0xe00 str r0, [sp, #0x34] b _0206B51C _0206B408: bl Rand16Bit bl Rand16Bit ldr r1, _0206B9BC ; =_020B0B4C ldr r2, [r1, #0xc] ldr r1, _0206B9C4 ; =0x000001FF and r0, r0, r1 add r0, r2, r0 str r0, [sp, #0x14] bl Rand16Bit ldr r1, _0206B9BC ; =_020B0B4C and r0, r0, #0xf ldr r1, [r1] add fp, r1, r0 bl Rand16Bit ldr r1, [r7] ldr r1, [r1] ldr r1, [r1, #4] sub r1, r1, #1 bl __divsi3 add r0, r1, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 bl Rand16Bit mov r1, #0xd0 bl __divsi3 add sl, r1, #0x10 bl Rand16Bit str sl, [sp] str r6, [sp, #4] mov r1, #0 str r1, [sp, #8] ldr r1, [sp, #0x34] mov r2, #0x8000 and sl, r0, r1 mov r0, sb mov r1, r7 mov r3, #0x6000 bl sub_0206BDF4 movs r6, r0 beq _0206B510 ldrsh r0, [r6] bl sub_0201F324 ldrsh r2, [r0, #0x1a] mov r1, r6 add r2, r2, r2, lsr #31 mov r2, r2, asr #1 strh r2, [r0, #8] ldrsh r2, [r0, #0x1c] add r2, r2, r2, lsr #31 mov r2, r2, asr #1 strh r2, [r0, #0xa] mov r2, #0x800 strh r2, [r0, #0x10] strh r2, [r0, #0x12] ldr r0, _0206B9C8 ; =sub_0206BFA8 bl ov00_022C2450 mov r0, #0x8000 str r0, [r6, #0x30] mov r0, #0x6000 str r0, [r6, #0x34] mov r0, #0 str r0, [r6, #0x24] str sl, [r6, #0x20] ldr r0, [sp, #0x14] str fp, [r6, #0x38] str r0, [r6, #0x3c] _0206B510: cmp r6, #0 beq _0206B524 add r5, r5, #1 _0206B51C: cmp r5, r4 blt _0206B408 _0206B524: bl Rand16Bit add r2, sb, #0x1000 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #29 ldr r3, [r2, #0xbe8] add r0, r1, r0, ror #29 add r0, r3, r0 str r0, [r2, #0xbec] mov r0, #0 str r0, [r2, #0xbe0] _0206B54C: add r0, sb, #0x1000 ldr r1, [r0, #0xbe4] add r1, r1, #1 str r1, [r0, #0xbe4] ldr r0, [r0, #0xbf0] cmp r1, r0 ble _0206B670 bl Rand16Bit ldr r1, _0206B9CC ; =0x00000FFF mov r4, #0 and r0, r0, r1 mov r5, r0, lsl #0x10 sub fp, r1, #0xe00 _0206B580: bl Rand16Bit ldr r1, [r7] ldr r1, [r1] ldr r1, [r1, #4] sub r1, r1, #1 bl __divsi3 add r0, r1, #1 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 bl Rand16Bit mov r1, #0xd0 bl __divsi3 add sl, r1, #0x10 bl Rand16Bit str sl, [sp] and sl, r0, fp str r6, [sp, #4] mov r1, #0 str r1, [sp, #8] mov r0, sb mov r1, r7 mov r2, #0x8000 mov r3, #0x6000 bl sub_0206BDF4 movs r6, r0 beq _0206B658 ldrsh r0, [r6] bl sub_0201F324 mov r1, #0 strh r1, [r0, #0x12] mov r2, r1 ldr r1, _0206B9D0 ; =0x00005555 strh r2, [r0, #0x10] mul r1, r4, r1 add r0, r1, r5, lsr #16 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 str r0, [r6, #0x20] mov r0, r4, lsl #1 str r0, [r6, #0x40] ldr r0, [r6, #0x20] bl sub_02001980 add r1, sl, #0x300 bl MultiplyByFixedPoint str r0, [r6, #0x18] ldr r0, [r6, #0x20] bl sub_020018D0 add r1, sl, #0x300 rsb r0, r0, #0 bl MultiplyByFixedPoint str r0, [r6, #0x1c] ldr r0, _0206B9D4 ; =sub_0206BEAC mov r1, r6 bl ov00_022C2450 _0206B658: add r4, r4, #1 cmp r4, #3 blt _0206B580 add r0, sb, #0x1000 mov r1, #0 str r1, [r0, #0xbe4] _0206B670: mov r4, #0 b _0206B990 _0206B678: cmp r0, #2 bne _0206B990 ldr r5, [r8, #0x24] ldr r0, [r5, #0xc] cmp r0, #0 beq _0206B6A4 cmp r0, #1 beq _0206B838 cmp r0, #2 beq _0206B984 b _0206B98C _0206B6A4: ldr r0, _0206B9D8 ; =_020A9E80 add r4, sp, #0x3c ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r0, [r5, #0x2d8] mov r6, #0 str r0, [sp, #0x20] mov r0, #0x14000 rsb r0, r0, #0 str r0, [sp, #0x30] mov r0, r0, asr #0x11 str r0, [sp, #0x38] b _0206B810 _0206B6D8: add r0, sp, #0x3c ldr r0, [r0, r6, lsl #2] tst r6, #1 mov r0, r0, lsl #8 add r0, r0, #0x800 movne sb, #0x2000 moveq sb, #0 str r0, [sp, #0x24] cmp r6, #2 movlt r0, #1 movge r0, #0 ands r4, r0, #0xff ldreq r0, [sp, #0x38] ldr r1, _0206B9BC ; =_020B0B4C muleq r0, sb, r0 moveq sb, r0 cmp r4, #0 ldrne sl, [sp, #0x30] ldr r1, [r1, #4] moveq sl, #0x14000 rsb r0, sl, #0 bl __divsi3 str r0, [sp, #0x28] mov r0, #0x58 mul r7, r6, r0 mov r0, r6, lsl #0x10 mov r1, r0, asr #0x10 ldr fp, [r5] ldr r0, [sp, #0x28] ldr r3, [sp, #0x24] str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0xe0 str r0, [sp, #8] str r1, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] ldr r1, [sp, #0x20] add r0, fp, r7 add r2, sl, sb bl sub_0206BC3C ldrsh r0, [fp, r7] bl sub_0201F324 ldrsh r1, [r0, #0x1c] cmp r1, #0x28 moveq r3, #3 beq _0206B7A4 cmp r1, #0x20 moveq r3, #2 movne r3, #1 _0206B7A4: cmp r4, #0 movne r0, #0x10000 moveq r0, #0 add r0, sl, r0 add r2, r0, sb ldr r4, [r5, #4] ldr r0, [sp, #0x28] add r1, r1, r1, lsr #31 str r0, [sp] mov r0, r3, lsl #0x10 mov sb, r0, asr #0x10 ldr r0, [sp, #0x24] mov r1, r1, asr #1 add r3, r0, r1, lsl #8 mov r0, #0 str r0, [sp, #4] mov r0, #0x70 str r0, [sp, #8] str sb, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] ldr r1, [sp, #0x20] add r0, r4, r7 bl sub_0206BD04 ldrsh r0, [r4, r7] bl sub_0201F324 add r6, r6, #1 _0206B810: ldr r0, [r5, #0x2d4] cmp r6, r0 blt _0206B6D8 ldr r0, _0206B9BC ; =_020B0B4C ldr r0, [r0, #4] str r0, [r5, #8] ldr r0, [r5, #0xc] add r0, r0, #1 str r0, [r5, #0xc] b _0206B98C _0206B838: mov sb, #0 mov r6, #1 mov fp, sb b _0206B95C _0206B848: mov r0, #0x58 mul sl, sb, r0 ldr r0, [r5] add r4, r0, sl ldr r0, [r4, #4] cmp r0, #0 bne _0206B8F8 ldr r1, [r4, #8] ldr r0, [r4, #0x18] add r0, r1, r0 str r0, [r4, #8] ldr r1, [r4, #0xc] ldr r0, [r4, #0x1c] add r0, r1, r0 str r0, [r4, #0xc] ldr r1, [r4, #0x18] cmp r1, #0 ble _0206B8A0 ldr r0, [r4, #8] cmp r0, #0 stmgeib r4, {r6, fp} bge _0206B8C0 _0206B8A0: cmp r1, #0 bge _0206B8C0 ldr r0, [r4, #8] cmp r0, #0 movle r0, #0 strle r0, [r4, #8] movle r0, #1 strle r0, [r4, #4] _0206B8C0: ldrsh r0, [r4] bl sub_0201F324 ldr r2, [r4, #8] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0] ldrsh r0, [r4] bl sub_0201F324 ldr r2, [r4, #0xc] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0, #2] _0206B8F8: ldr r4, [r5, #4] add r7, r4, sl ldr r1, [r7, #8] ldr r0, [r7, #0x18] add r0, r1, r0 str r0, [r7, #8] ldr r1, [r7, #0xc] ldr r0, [r7, #0x1c] add r0, r1, r0 str r0, [r7, #0xc] ldrsh r0, [r4, sl] bl sub_0201F324 ldr r2, [r7, #8] mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0] ldrsh r0, [r4, sl] bl sub_0201F324 ldr r2, [r7, #0xc] add sb, sb, #1 mov r1, r2, asr #7 add r1, r2, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r0, #2] _0206B95C: ldr r0, [r5, #0x2d4] cmp sb, r0 blt _0206B848 ldr r0, [r5, #4] ldr r0, [r0, #8] cmp r0, #0x11000 ldrgt r0, [r5, #0xc] addgt r0, r0, #1 strgt r0, [r5, #0xc] b _0206B98C _0206B984: mov r4, #1 b _0206B990 _0206B98C: mov r4, #0 _0206B990: cmp r4, #0 movne r0, #1 strneb r0, [r8, #0x31] _0206B99C: ldr r0, _0206B9BC ; =_020B0B4C ldr r1, [r0, #8] ldr r0, [r1, #0x3c] add r0, r0, #1 str r0, [r1, #0x3c] _0206B9B0: mov r0, #1 _0206B9B4: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206B9BC: .word _020B0B4C _0206B9C0: .word _020A9EE0 _0206B9C4: .word 0x000001FF _0206B9C8: .word sub_0206BFA8 _0206B9CC: .word 0x00000FFF _0206B9D0: .word 0x00005555 _0206B9D4: .word sub_0206BEAC _0206B9D8: .word _020A9E80 arm_func_end sub_0206ADB8 arm_func_start sub_0206B9DC sub_0206B9DC: ; 0x0206B9DC stmdb sp!, {r4, r5, r6, lr} ldr r0, _0206BA58 ; =_020B0B4C ldr r1, [r0, #8] cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldrb r0, [r1, #0x30] cmp r0, #0 bne _0206BA50 ldr r0, [r1, #0x2c] cmp r0, #0 beq _0206BA14 cmp r0, #1 b _0206BA50 _0206BA14: ldr r1, [r1, #0x28] cmp r1, #0 addne r0, r1, #0x1000 ldrneb r0, [r0, #0xf60] cmpne r0, #0 beq _0206BA50 add r0, r1, #0x3f8 mov r6, #0 add r5, r0, #0x1800 mov r4, #0x7c _0206BA3C: mla r0, r6, r4, r5 bl sub_0201CF5C add r6, r6, #1 cmp r6, #7 blt _0206BA3C _0206BA50: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206BA58: .word _020B0B4C arm_func_end sub_0206B9DC arm_func_start sub_0206BA5C sub_0206BA5C: ; 0x0206BA5C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _0206BB8C ; =_020B0B4C ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} bl ov00_022C23B0 ldr r0, _0206BB8C ; =_020B0B4C ldr r5, [r0, #8] cmp r5, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r7, [r5, #0x24] cmp r7, #0 beq _0206BAE8 mov r6, #0 mov r4, #0x58 b _0206BABC _0206BA9C: mul r8, r6, r4 ldr r0, [r7] add r0, r0, r8 bl sub_0206BB94 ldr r0, [r7, #4] add r0, r0, r8 bl sub_0206BB94 add r6, r6, #1 _0206BABC: ldr r0, [r7, #0x2d4] cmp r6, r0 blt _0206BA9C ldr r0, [r7] bl MemFree ldr r0, [r7, #4] bl MemFree ldr r0, [r5, #0x24] bl MemFree mov r0, #0 str r0, [r5, #0x24] _0206BAE8: ldr r0, _0206BB8C ; =_020B0B4C ldr r5, [r0, #8] ldr r0, [r5, #0x28] cmp r0, #0 beq _0206BB3C mov r6, #0 mov r4, #0x58 _0206BB04: ldr r0, [r5, #0x28] mla r0, r6, r4, r0 bl sub_0206BB94 add r6, r6, #1 cmp r6, #0x50 blt _0206BB04 ldr r0, [r5, #0x28] add r0, r0, #0x384 add r0, r0, #0x1800 bl sub_0206BB94 ldr r0, [r5, #0x28] bl MemFree mov r0, #0 str r0, [r5, #0x28] _0206BB3C: ldr r0, _0206BB8C ; =_020B0B4C ldr r4, [r0, #8] add r0, r4, #0x14 bl sub_0201E020 add r0, r4, #4 bl sub_0201E020 add r0, r4, #0xc bl sub_0201E020 ldr r0, _0206BB90 ; =WAN_TABLE ldrsh r1, [r4, #0x1c] ldr r0, [r0] bl DeleteWanTableEntryVeneer ldr r0, _0206BB8C ; =_020B0B4C ldr r0, [r0, #8] bl MemFree ldr r0, _0206BB8C ; =_020B0B4C mov r1, #0 str r1, [r0, #8] bl sub_0201F248 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206BB8C: .word _020B0B4C _0206BB90: .word WAN_TABLE arm_func_end sub_0206BA5C arm_func_start sub_0206BB94 sub_0206BB94: ; 0x0206BB94 stmdb sp!, {r4, lr} mov r4, r0 ldrsh r1, [r4] mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} cmp r1, #0 bne _0206BBBC ldr r0, _0206BBDC ; =_020A9F98 bl DebugPrint0 _0206BBBC: ldrsh r0, [r4] bl sub_0201F2AC mov r0, r4 mov r1, #0x58 bl MemZero mvn r0, #0 strh r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 _0206BBDC: .word _020A9F98 arm_func_end sub_0206BB94 arm_func_start sub_0206BBE0 sub_0206BBE0: ; 0x0206BBE0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r0, #0x2dc mov r1, #6 bl MemAlloc mov r1, #0x2dc mov r4, r0 bl MemZero mov r0, #0x58 mul r5, r6, r0 mov r0, r5 str r7, [r4, #0x2d8] mov r1, #6 bl MemAlloc str r0, [r4] mov r0, r5 mov r1, #6 bl MemAlloc str r0, [r4, #4] mov r0, r4 str r6, [r4, #0x2d4] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0206BBE0 arm_func_start sub_0206BC3C sub_0206BC3C: ; 0x0206BC3C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r4, r1 mov r1, #0x58 mov r5, r0 mov r7, r2 mov r6, r3 bl MemZero mvn r0, #0 strh r0, [r5] bl sub_0201F36C strh r0, [r5] ldrsh r1, [r5] mvn r0, #0 cmp r1, r0 beq _0206BCF8 str r7, [r5, #8] ldr r1, [sp, #0x20] str r6, [r5, #0xc] ldr r0, [sp, #0x24] str r1, [r5, #0x18] str r0, [r5, #0x1c] ldrsh r0, [r5] bl sub_0201F324 mov r1, #0 ldr r2, [sp, #0x28] strb r1, [r0, #0x3c] strh r2, [r0, #0x2a] ldr ip, [r5, #8] ldrsh r3, [sp, #0x30] mov r2, ip, asr #7 add r2, ip, r2, lsr #24 mov r2, r2, asr #8 strh r2, [r0] ldr r5, [r5, #0xc] mov r3, r3, lsl #0x14 mov r2, r5, asr #7 add r2, r5, r2, lsr #24 mov r2, r2, asr #8 strh r2, [r0, #2] str r1, [sp] mov r1, r3, asr #0x10 str r1, [sp, #4] ldrsh r2, [sp, #0x2c] ldr r1, [r4, #0x10] ldr r3, [r4, #0x14] bl sub_0201E7D8 _0206BCF8: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0206BC3C arm_func_start sub_0206BD04 sub_0206BD04: ; 0x0206BD04 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r5, r1 mov r1, #0x58 mov r6, r0 mov r7, r2 mov r4, r3 bl MemZero mvn r0, #0 strh r0, [r6] bl sub_0201F36C strh r0, [r6] ldrsh r1, [r6] mvn r0, #0 cmp r1, r0 moveq r0, #0 beq _0206BDEC str r7, [r6, #8] ldr r1, [sp, #0x20] str r4, [r6, #0xc] ldr r0, [sp, #0x24] str r1, [r6, #0x18] str r0, [r6, #0x1c] ldrsh r0, [r6] bl sub_0201F324 mov r4, r0 mov r2, #0 strb r2, [r4, #0x3c] ldr r1, [sp, #0x28] ldrsh r2, [sp, #0x30] strh r1, [r4, #0x2a] ldr r3, [r6, #8] mov r2, r2, lsl #0x14 mov r1, r3, asr #7 add r1, r3, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r4] ldr r3, [r6, #0xc] mov r1, r3, asr #7 add r1, r3, r1, lsr #24 mov r1, r1, asr #8 strh r1, [r4, #2] mov r1, #1 str r1, [sp] mov r1, r2, asr #0x10 str r1, [sp, #4] ldrsh r2, [sp, #0x2c] ldmia r5, {r1, r3} bl sub_0201E7D8 ldrsh r1, [r4, #0x1a] mov r0, #1 add r1, r1, r1, lsr #31 mov r1, r1, asr #1 strh r1, [r4, #8] ldrsh r1, [r4, #0x1c] add r1, r1, r1, lsr #31 mov r1, r1, asr #1 strh r1, [r4, #0xa] _0206BDEC: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0206BD04 arm_func_start sub_0206BDF4 sub_0206BDF4: ; 0x0206BDF4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x14 mov ip, #0 mov r4, r0 mov r8, ip mov r0, ip mov r5, #0x58 mvn r6, #0 b _0206BE48 _0206BE18: cmp ip, #0x50 movge ip, r0 mul r7, ip, r5 ldrsh r7, [r4, r7] cmp r7, r6 beq _0206BE54 add r7, r8, #1 add lr, ip, #1 mov ip, r7, lsl #0x10 mov lr, lr, lsl #0x10 mov r8, ip, asr #0x10 mov ip, lr, asr #0x10 _0206BE48: cmp r8, #0x50 blt _0206BE18 mvn ip, #0 _0206BE54: cmp ip, #0 movlt r0, #0 blt _0206BEA4 mov r0, #0x58 mla r6, ip, r0, r4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r5, [sp, #0x30] ldrsh r0, [sp, #0x34] str r5, [sp, #8] ldrsh r5, [sp, #0x38] str r0, [sp, #0xc] mov r0, r6 str r5, [sp, #0x10] bl sub_0206BD04 cmp r0, #0 moveq r0, #0 movne r0, r6 strne r4, [r6, #0x54] _0206BEA4: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end sub_0206BDF4 arm_func_start sub_0206BEAC sub_0206BEAC: ; 0x0206BEAC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6, #4] ldrsh r0, [r4] bl sub_0201F324 ldr r1, [r4, #0x40] mov r5, r0 cmp r1, #0 ble _0206BEEC ldrsh r0, [r4] mov r1, #0 bl sub_0201F348 ldr r0, [r4, #0x40] sub r0, r0, #1 str r0, [r4, #0x40] ldmia sp!, {r4, r5, r6, pc} _0206BEEC: ldrh r0, [r5, #0x10] cmp r0, #0x1000 beq _0206BF10 add r0, r0, #0x100 cmp r0, #0x1000 movge r0, #0x1000 strh r0, [r5, #0x12] ldrh r0, [r5, #0x12] strh r0, [r5, #0x10] _0206BF10: ldrsh r0, [r4] mov r1, #1 bl sub_0201F348 ldr r2, [r4, #8] ldr r1, [r4, #0x18] mvn r0, #0x3f add r1, r2, r1 str r1, [r4, #8] ldr r2, [r4, #0xc] ldr r1, [r4, #0x1c] add r1, r2, r1 str r1, [r4, #0xc] ldrsh r1, [r5] cmp r1, r0 blt _0206BF68 cmp r1, #0x140 bgt _0206BF68 ldrsh r1, [r5, #2] cmp r1, r0 blt _0206BF68 cmp r1, #0x100 ble _0206BF7C _0206BF68: mov r0, r4 bl sub_0206BB94 mov r0, r6 bl ov00_022C24DC ldmia sp!, {r4, r5, r6, pc} _0206BF7C: ldr r1, [r4, #8] mov r0, r1, asr #7 add r0, r1, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r5] ldr r1, [r4, #0xc] mov r0, r1, asr #7 add r0, r1, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r5, #2] ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0206BEAC arm_func_start sub_0206BFA8 sub_0206BFA8: ; 0x0206BFA8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 ldr r4, [r6, #4] ldrsh r0, [r4] bl sub_0201F324 mov r5, r0 ldr r0, [r4, #0x20] bl sub_02001980 ldr r1, [r4, #0x24] bl MultiplyByFixedPoint ldr r1, [r4, #0x30] add r7, r1, r0 ldr r0, [r4, #0x20] bl sub_020018D0 ldr r1, [r4, #0x24] rsb r0, r0, #0 bl MultiplyByFixedPoint ldr r2, [r4, #0x34] ldr r1, _0206C0D4 ; =0x00000FFF add r0, r2, r0 str r7, [r4, #8] str r0, [r4, #0xc] ldr r2, [r4, #0x20] ldr r0, [r4, #0x38] add r2, r2, r0 and r0, r2, r1 str r0, [r4, #0x20] ldr r1, [r4, #0x24] ldr r0, [r4, #0x3c] add r0, r1, r0 str r0, [r4, #0x24] ldrh r0, [r5, #0x10] cmp r0, #0x1000 addlo r0, r0, #0x80 strloh r0, [r5, #0x10] ldrloh r0, [r5, #0x12] addlo r0, r0, #0x80 strloh r0, [r5, #0x12] ldr r1, [r4, #0x3c] mvn r0, #0x3f add r1, r1, #8 str r1, [r4, #0x3c] ldrsh r1, [r5] cmp r1, r0 blt _0206C078 cmp r1, #0x140 bgt _0206C078 ldrsh r1, [r5, #2] cmp r1, r0 blt _0206C078 cmp r1, #0x140 ble _0206C08C _0206C078: mov r0, r4 bl sub_0206BB94 mov r0, r6 bl ov00_022C24DC ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206C08C: ldr r0, [r4, #0x38] cmp r0, #0 ldr r0, [r4, #0x20] movlt r0, r0, lsl #4 movge r0, r0, lsl #4 rsbge r0, r0, #0x10000 strh r0, [r5, #0x28] ldr r1, [r4, #8] mov r0, r1, asr #7 add r0, r1, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r5] ldr r1, [r4, #0xc] mov r0, r1, asr #7 add r0, r1, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r5, #2] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206C0D4: .word 0x00000FFF arm_func_end sub_0206BFA8 arm_func_start sub_0206C0D8 sub_0206C0D8: ; 0x0206C0D8 ldr r1, _0206C0E8 ; =_020B0B6C ldrsh r1, [r1] strh r1, [r0] bx lr .align 2, 0 _0206C0E8: .word _020B0B6C arm_func_end sub_0206C0D8 arm_func_start sub_0206C0EC sub_0206C0EC: ; 0x0206C0EC ldr r1, _0206C0F8 ; =_020B0B6C strh r0, [r1] bx lr .align 2, 0 _0206C0F8: .word _020B0B6C arm_func_end sub_0206C0EC arm_func_start sub_0206C0FC sub_0206C0FC: ; 0x0206C0FC ldr r1, _0206C10C ; =_020B0B70 ldrsh r1, [r1, #2] strh r1, [r0] bx lr .align 2, 0 _0206C10C: .word _020B0B70 arm_func_end sub_0206C0FC arm_func_start sub_0206C110 sub_0206C110: ; 0x0206C110 ldr r1, _0206C11C ; =_020B0B70 strh r0, [r1, #2] bx lr .align 2, 0 _0206C11C: .word _020B0B70 arm_func_end sub_0206C110 arm_func_start sub_0206C120 sub_0206C120: ; 0x0206C120 ldr r1, _0206C130 ; =_020B0B70 ldrsh r1, [r1] strh r1, [r0] bx lr .align 2, 0 _0206C130: .word _020B0B70 arm_func_end sub_0206C120 arm_func_start sub_0206C134 sub_0206C134: ; 0x0206C134 ldr r1, _0206C140 ; =_020B0B70 strh r0, [r1] bx lr .align 2, 0 _0206C140: .word _020B0B70 arm_func_end sub_0206C134 arm_func_start sub_0206C144 sub_0206C144: ; 0x0206C144 ldr r3, _0206C160 ; =_020B0B74 mov r2, #8 _0206C14C: ldrb r1, [r3], #1 subs r2, r2, #1 strb r1, [r0], #1 bne _0206C14C bx lr .align 2, 0 _0206C160: .word _020B0B74 arm_func_end sub_0206C144 arm_func_start sub_0206C164 sub_0206C164: ; 0x0206C164 ldr r3, _0206C180 ; =_020B0B74 mov r2, #8 _0206C16C: ldrb r1, [r0], #1 subs r2, r2, #1 strb r1, [r3], #1 bne _0206C16C bx lr .align 2, 0 _0206C180: .word _020B0B74 arm_func_end sub_0206C164 arm_func_start sub_0206C184 sub_0206C184: ; 0x0206C184 ldr ip, _0206C198 ; =sub_0207A7EC mov r0, #0 mov r2, r1 sub r1, r0, #1 bx ip .align 2, 0 _0206C198: .word sub_0207A7EC arm_func_end sub_0206C184 arm_func_start sub_0206C19C sub_0206C19C: ; 0x0206C19C stmdb sp!, {r4, lr} mov r4, r1 mov r0, #0 mov r2, r4 sub r1, r0, #1 bl sub_0207A8F4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end sub_0206C19C arm_func_start sub_0206C1BC sub_0206C1BC: ; 0x0206C1BC bx lr arm_func_end sub_0206C1BC arm_func_start sub_0206C1C0 sub_0206C1C0: ; 0x0206C1C0 stmdb sp!, {r4, lr} ldr r1, _0206C248 ; =_022B7330 mov r2, #1 movs r4, r0 strb r2, [r1, #0x3d] subeq r0, r2, #0x100 ldmeqia sp!, {r4, pc} mov r1, #0x40 bl sub_0206CCBC mov r0, #0 str r0, [r4, #4] str r0, [r4, #8] str r0, [r4, #0xc] mov r1, #8 strb r1, [r4, #0x10] strb r0, [r4, #0x11] strh r0, [r4, #0x14] mov r1, #0xf strh r1, [r4, #0x16] mov r1, #0x14 strb r1, [r4, #0x12] mov r1, #4 strh r1, [r4, #0x18] ldr r2, _0206C24C ; =_0206C184 strh r1, [r4, #0x1a] ldr r1, _0206C250 ; =_0206C19C str r2, [r4, #0x1c] str r1, [r4, #0x20] ldr r1, _0206C254 ; =sub_0206C1BC str r0, [r4, #0x24] str r1, [r4, #0x28] str r1, [r4, #0x2c] str r0, [r4, #0x30] ldmia sp!, {r4, pc} .align 2, 0 _0206C248: .word _022B7330 _0206C24C: .word sub_0206C184 _0206C250: .word sub_0206C19C _0206C254: .word sub_0206C1BC arm_func_end sub_0206C1C0 arm_func_start sub_0206C258 sub_0206C258: ; 0x0206C258 stmdb sp!, {r3, r4, r5, lr} movs r4, r0 bne _0206C27C mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _0206C27C: tst r4, #3 beq _0206C29C mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _0206C29C: ldr r0, [r4, #8] mov r5, #0 cmp r0, #0 beq _0206C2B4 tst r0, #0xf beq _0206C2B8 _0206C2B4: orr r5, r5, #4 _0206C2B8: ldr r0, [r4, #0xc] cmp r0, #0 beq _0206C2CC tst r0, #0xf beq _0206C2D0 _0206C2CC: orr r5, r5, #8 _0206C2D0: ldrb r0, [r4, #0x11] ldrb r1, [r4, #0x10] cmp r0, #0 cmpne r0, #1 orrne r5, r5, #0x100 cmp r1, #4 ldrb r0, [r4, #0x12] orrlo r5, r5, #0x200 cmp r0, r1 ldrsh r1, [r4, #0x14] orrls r5, r5, #0x400 ldrsh r0, [r4, #0x16] cmp r1, #0 orrne r5, r5, #0x4000 cmp r0, #0x10 orrge r5, r5, #0x8000 cmp r1, r0 orrgt r5, r5, #0xc000 cmp r5, #0 beq _0206C330 mov r1, r5 mvn r0, #0x17 mov r2, #0 bl sub_0206C854 _0206C330: mov r0, r5 str r5, [r4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0206C258 arm_func_start sub_0206C33C sub_0206C33C: ; 0x0206C33C stmdb sp!, {r3, lr} cmp r0, #0 strne r1, [r0, #8] strne r2, [r0, #0xc] movne r0, #0 ldmneia sp!, {r3, pc} mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r3, pc} arm_func_end sub_0206C33C arm_func_start sub_0206C36C sub_0206C36C: ; 0x0206C36C stmdb sp!, {r3, lr} cmp r0, #0 strneb r1, [r0, #0x11] strneb r2, [r0, #0x10] movne r0, #0 ldmneia sp!, {r3, pc} mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r3, pc} arm_func_end sub_0206C36C arm_func_start sub_0206C39C sub_0206C39C: ; 0x0206C39C stmdb sp!, {r3, lr} cmp r0, #0 bne _0206C3C0 mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r3, pc} _0206C3C0: cmp r1, #0 movlt r1, #0 cmp r2, #0 strh r1, [r0, #0x14] movlt r2, #0xf strh r2, [r0, #0x16] mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0206C39C arm_func_start sub_0206C3E0 sub_0206C3E0: ; 0x0206C3E0 stmdb sp!, {r4, lr} ldr r1, _0206C5F8 ; =_022B7330 mov r4, r0 ldrsb r1, [r1] cmp r1, #1 bne _0206C410 mov r1, #0 mov r2, r1 mvn r0, #0xbf bl sub_0206C854 mvn r0, #0xbf ldmia sp!, {r4, pc} _0206C410: bl sub_0206C258 movs r1, r0 beq _0206C430 mvn r0, #0x1d mov r2, #0 bl sub_0206C854 mvn r0, #0x1d ldmia sp!, {r4, pc} _0206C430: bl sub_0207AD54 mov r0, #0 mov r1, r0 bl sub_0207AEF4 bl sub_0207AFF0 ldr r0, _0206C5F8 ; =_022B7330 mov r3, #0 strh r3, [r0, #2] str r3, [r0, #4] str r3, [r0, #0x10] mov r2, #0xff mov r1, #1 strb r2, [r0, #0x3c] strb r1, [r0, #0x3d] rsb r1, r1, #0x1000 strh r1, [r0, #0x3e] str r3, [r0, #0x2c] ldrb r1, [r4, #0x11] cmp r1, #0 ldreq r2, _0206C5FC ; =0x00002710 moveq r1, #0x64 ldrne r2, _0206C600 ; =0x0000414B movne r1, #0x3c strh r2, [r0, #0x28] str r1, [r0, #0x30] ldr r2, _0206C604 ; =0x00BC614E ldr r1, _0206C5F8 ; =_022B7330 ldr r0, _0206C608 ; =_022B8330 str r2, [r1, #0x34] ldrb r1, [r4, #0x11] strb r1, [r0, #0xdd8] bl sub_0206C814 ldr r1, _0206C5F8 ; =_022B7330 mov r0, #1 strb r0, [r1, #0x38] mov r3, #2 ldr r2, _0206C60C ; =_020B1290 ldr r0, _0206C608 ; =_022B8330 strb r3, [r1, #0x39] str r2, [r0, #0xed4] mov r2, #0 str r2, [r1, #0x71c] str r2, [r1, #0x720] str r2, [r1, #0x724] str r2, [r1, #0x728] ldrb r1, [r4, #0x10] ldr ip, _0206C610 ; =_022B7330 mov r3, r2 strb r1, [r0, #0xd10] _0206C4F4: add r2, r2, #1 strb r3, [ip, #0x674] cmp r2, #0x80 add ip, ip, #1 blt _0206C4F4 ldr ip, _0206C5F8 ; =_022B7330 mov r0, #0x64 strb r0, [ip, #0x67b] mov r0, #0x7f strb r0, [ip, #0x67f] mov r0, #0x40 strb r0, [ip, #0x67e] add r0, r4, #0x28 ldr lr, _0206C614 ; =_022B734C ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} ldrsh ip, [ip, #0x28] ldr r1, _0206C608 ; =_022B8330 mov r2, #1 str r3, [r1, #0xec8] str r2, [r1, #0xecc] str r3, [r1, #0xebc] ldr r0, _0206C618 ; =_022B9130 str r3, [r1, #0xec0] sub r2, r2, #2 strh r2, [r0, #0xc4] strh ip, [r0, #0xc6] strb r3, [r1, #0xed0] ldr r0, [r4, #8] ldr r1, [r4, #0xc] add r2, r4, #0x1c bl sub_0206C91C ldrsh r0, [r4, #0x16] add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl sub_020743DC bl sub_02074338 bl sub_02070124 bl sub_02075600 bl sub_020729A4 ldr r1, _0206C61C ; =_022B7331 mov r2, #1 mov r0, #0x7f _0206C5A4: add r2, r2, #1 strb r0, [r1, #0x40] cmp r2, #0x10 add r1, r1, #1 blt _0206C5A4 ldr r0, _0206C5F8 ; =_022B7330 mov r1, #0 strb r1, [r0, #0x40] bl sub_02070E0C ldrb r0, [r4, #0x12] bl sub_0206CD9C ldr r0, _0206C5F8 ; =_022B7330 mov r1, #1 strb r1, [r0] mov r1, #0 strb r1, [r0, #1] ldrh r0, [r4, #0x18] ldrh r1, [r4, #0x1a] bl sub_0206E920 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0206C5F8: .word _022B7330 _0206C5FC: .word 0x00002710 _0206C600: .word 0x0000414B _0206C604: .word 0x00BC614E _0206C608: .word _022B8330 _0206C60C: .word _020B1290 _0206C610: .word _022B7330 _0206C614: .word _022B734C _0206C618: .word _022B9130 _0206C61C: .word _022B7331 arm_func_end sub_0206C3E0 arm_func_start sub_0206C620 sub_0206C620: ; 0x0206C620 stmdb sp!, {r3, lr} ldr r0, _0206C684 ; =_022B7330 ldrsb r0, [r0] cmp r0, #0 mvneq r0, #0xc0 ldmeqia sp!, {r3, pc} bl sub_0206CE28 mov r0, #0 bl sub_0206C7F4 bl sub_020756E8 bl sub_02070158 bl sub_02070148 bl sub_02070EA0 bl sub_02074338 bl sub_0206C98C bl sub_0206C814 ldr r1, _0206C684 ; =_022B7330 mov r0, #0 strb r0, [r1] strb r0, [r1, #1] str r0, [r1, #0x2c] str r0, [r1, #4] str r0, [r1, #0x10] strh r0, [r1, #2] ldmia sp!, {r3, pc} .align 2, 0 _0206C684: .word _022B7330 arm_func_end sub_0206C620 arm_func_start sub_0206C688 sub_0206C688: ; 0x0206C688 stmdb sp!, {r3, lr} ldr r0, _0206C6B8 ; =_022B7330 ldrsb r1, [r0] cmp r1, #0 ldrnesb r0, [r0, #1] ldmneia sp!, {r3, pc} mov r1, #0 mov r2, r1 mvn r0, #0xc0 bl sub_0206C854 mvn r0, #0xc0 ldmia sp!, {r3, pc} .align 2, 0 _0206C6B8: .word _022B7330 arm_func_end sub_0206C688 arm_func_start sub_0206C6BC sub_0206C6BC: ; 0x0206C6BC stmdb sp!, {r3, lr} ldr r0, _0206C750 ; =_022B7330 ldrsb r1, [r0] cmp r1, #0 bne _0206C6E8 mov r1, #0 mov r2, r1 mvn r0, #0xc0 bl sub_0206C854 mvn r0, #0xc0 ldmia sp!, {r3, pc} _0206C6E8: ldrsb r1, [r0, #1] cmp r1, #1 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r1, #1 strb r1, [r0, #1] bl sub_02070F4C ldr r0, _0206C750 ; =_022B7330 mov r1, #0 ldr r0, [r0, #0x664] bl sub_0206DC0C ldr r0, _0206C750 ; =_022B7330 mov r1, #0 ldr r0, [r0, #0x668] bl sub_0206DC0C mov r0, #0 bl sub_0206F6FC mov r0, #0 bl sub_02070188 mov r0, #0 bl sub_020743DC ldr r0, _0206C750 ; =_022B7330 mov r1, #2 strb r1, [r0, #0x38] mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0206C750: .word _022B7330 arm_func_end sub_0206C6BC arm_func_start sub_0206C754 sub_0206C754: ; 0x0206C754 stmdb sp!, {r4, lr} ldr r1, _0206C7F0 ; =_022B7330 mov r4, r0 ldrsb r0, [r1, #1] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r2, #1 strb r2, [r1, #0x38] ldrh r0, [r1, #0x3e] mov r1, r4 tst r0, #0xf ldr r0, _0206C7F0 ; =_022B7330 moveq r2, #0 mov r2, r2, lsl #0x18 ldr r0, [r0, #0x664] mov r2, r2, asr #0x18 bl sub_0206DC78 ldr r0, _0206C7F0 ; =_022B7330 ldrh r0, [r0, #0x3e] tst r0, #0xf0 movne r1, #1 ldr r0, _0206C7F0 ; =_022B7330 moveq r1, #0 mov r2, r1, lsl #0x18 ldr r0, [r0, #0x668] mov r1, r4 mov r2, r2, asr #0x18 bl sub_0206DC78 mov r0, r4 bl sub_0206F774 mov r0, r4 bl sub_020701B0 ldr r0, _0206C7F0 ; =_022B7330 mov r1, #0 strb r1, [r0, #1] bl sub_02070EDC mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0206C7F0: .word _022B7330 arm_func_end sub_0206C754 arm_func_start sub_0206C7F4 sub_0206C7F4: ; 0x0206C7F4 stmdb sp!, {r4, lr} mov r4, r0 bl sub_0206DADC mov r0, r4 bl sub_0206F4E0 mov r0, r4 bl sub_0206F9A4 ldmia sp!, {r4, pc} arm_func_end sub_0206C7F4 arm_func_start sub_0206C814 sub_0206C814: ; 0x0206C814 ldr r1, _0206C848 ; =_022B7330 mov r2, #0 str r2, [r1, #0x654] str r2, [r1, #0x658] ldr r0, _0206C84C ; =_022B8330 str r2, [r1, #0x65c] str r2, [r0, #0xddc] str r2, [r1, #0x660] str r2, [r1, #0x664] str r2, [r1, #0x668] ldr ip, _0206C850 ; =sub_0206E8AC str r2, [r1, #0x66c] bx ip .align 2, 0 _0206C848: .word _022B7330 _0206C84C: .word _022B8330 _0206C850: .word sub_0206E8AC arm_func_end sub_0206C814 arm_func_start sub_0206C854 sub_0206C854: ; 0x0206C854 stmdb sp!, {r3, lr} ldr r3, _0206C880 ; =_022B7330 stmib r3, {r0, r1, r2} ldr ip, [r3, #0x1c] cmp ip, #0 ldmeqia sp!, {r3, pc} mov r1, #0 ldr r2, _0206C884 ; =_022B7334 mov r3, r1 blx ip ldmia sp!, {r3, pc} .align 2, 0 _0206C880: .word _022B7330 _0206C884: .word _022B7334 arm_func_end sub_0206C854 arm_func_start sub_0206C888 sub_0206C888: ; 0x0206C888 stmdb sp!, {r3, lr} ldr r3, _0206C8BC ; =_022B7330 str r0, [r3, #0x10] str r1, [r3, #0x14] str r2, [r3, #0x18] ldr ip, [r3, #0x20] cmp ip, #0 ldmeqia sp!, {r3, pc} mov r1, #0 ldr r2, _0206C8C0 ; =_022B7340 mov r3, r1 blx ip ldmia sp!, {r3, pc} .align 2, 0 _0206C8BC: .word _022B7330 _0206C8C0: .word _022B7340 arm_func_end sub_0206C888 arm_func_start sub_0206C8C4 sub_0206C8C4: ; 0x0206C8C4 mov r3, r0, lsr #0x18 mov r2, r0, lsr #8 mov r1, r0, lsl #8 mov r0, r0, lsl #0x18 and r3, r3, #0xff and r2, r2, #0xff00 orr r2, r3, r2 and r1, r1, #0xff0000 orr r1, r2, r1 and r0, r0, #0xff000000 orr r0, r1, r0 bx lr arm_func_end sub_0206C8C4 arm_func_start sub_0206C8F4 sub_0206C8F4: ; 0x0206C8F4 ldr r1, _0206C914 ; =_022B7330 ldr r0, _0206C918 ; =0x00007FFF ldr r2, [r1, #0x34] eor r2, r2, r2, lsl #17 eor r2, r2, r2, asr #15 str r2, [r1, #0x34] and r0, r2, r0 bx lr .align 2, 0 _0206C914: .word _022B7330 _0206C918: .word 0x00007FFF arm_func_end sub_0206C8F4 arm_func_start sub_0206C91C sub_0206C91C: ; 0x0206C91C mov ip, r1 tst r0, #0xf bicne r0, r0, #0xf ldr r1, _0206C980 ; =_022B7330 addne r0, r0, #0x10 subne ip, ip, #0x10 add r3, r0, ip str r0, [r1, #0x6f4] str r3, [r1, #0x6f8] str ip, [r1, #0x6fc] ldr r3, _0206C984 ; =0x74647373 mov r1, #0x82 str r3, [r0] strb r1, [r0, #4] mov r3, #0 strb r3, [r0, #5] add r1, r0, #0x10 str r1, [r0, #8] str r3, [r0, #0xc] strb r3, [r0, #6] ldr r3, _0206C988 ; =_022B7A30 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, ip bx lr .align 2, 0 _0206C980: .word _022B7330 _0206C984: .word 0x74647373 _0206C988: .word _022B7A30 arm_func_end sub_0206C91C arm_func_start sub_0206C98C sub_0206C98C: ; 0x0206C98C ldr r0, _0206C9A4 ; =_022B7330 mov r1, #0 str r1, [r0, #0x6f4] str r1, [r0, #0x6f8] str r1, [r0, #0x6fc] bx lr .align 2, 0 _0206C9A4: .word _022B7330 arm_func_end sub_0206C98C arm_func_start sub_0206C9A8 sub_0206C9A8: ; 0x0206C9A8 ldr ip, _0206C9B4 ; =sub_0206C9BC ldr r2, _0206C9B8 ; =0x72657375 bx ip .align 2, 0 _0206C9B4: .word sub_0206C9BC _0206C9B8: .word 0x72657375 arm_func_end sub_0206C9A8 arm_func_start sub_0206C9BC sub_0206C9BC: ; 0x0206C9BC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _0206CAC4 ; =_022B7330 mov lr, r0 ldr r0, [r3, #0x6f4] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r4, _0206CAC8 ; =0x04000208 cmp r1, #0 ldrh ip, [r4] moveq r1, #0x10 mov r0, #0 sub r5, r1, #1 strh r0, [r4] ldr r3, _0206CAC4 ; =_022B7330 mvn r0, r5 add r4, lr, r5 and r4, r0, r4 ldr r3, [r3, #0x6f4] add r6, r4, #0x10 _0206CA0C: ldr r4, [r3, #0xc] cmp r4, #0 bne _0206CA2C ldr r4, _0206CAC4 ; =_022B7330 ldr r7, [r3, #8] ldr r4, [r4, #0x6f8] sub r5, r4, r7 b _0206CA40 _0206CA2C: ldr r7, [r3, #8] sub r5, r4, r7 cmp r5, r6 movlt r3, r4 blt _0206CA0C _0206CA40: cmp r5, r6 bge _0206CA5C ldr r2, _0206CAC8 ; =0x04000208 mov r0, #0 ldrh r1, [r2] strh ip, [r2] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206CA5C: add r4, r7, #0x10 sub r1, r1, #1 add r1, r4, r1 and r1, r0, r1 sub r6, r1, #0x10 add r4, r6, #0x10 add r0, r4, lr str r0, [r6, #8] str r2, [r1, #-0x10] mov r0, #2 strb r0, [r6, #4] mov r0, #0 strb r0, [r6, #5] ldr r1, [r3, #0xc] ldr r5, _0206CAC8 ; =0x04000208 str r1, [r6, #0xc] str r6, [r3, #0xc] strb r0, [r6, #6] strb r0, [r3, #6] ldrh r1, [r5] mov r1, r4 mov r2, lr strh ip, [r5] bl ArrayFill32Fast mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206CAC4: .word _022B7330 _0206CAC8: .word 0x04000208 arm_func_end sub_0206C9BC arm_func_start sub_0206CACC sub_0206CACC: ; 0x0206CACC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r3, _0206CC0C ; =_022B7330 mov r6, r0 ldr r0, [r3, #0x6f4] mov r5, r1 cmp r0, #0 bne _0206CB00 mov r1, r6 mov r2, r5 mvn r0, #0xc1 bl sub_0206C854 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0206CB00: ldr r3, _0206CC10 ; =0x04000208 cmp r5, #0 ldrh ip, [r3] moveq r5, #0x10 sub r4, r5, #1 mov r1, #0 strh r1, [r3] ldr r0, _0206CC0C ; =_022B7330 mvn lr, r4 add r3, r6, r4 and r3, lr, r3 ldr r0, [r0, #0x6f4] mov r4, r1 add r3, r3, #0x10 _0206CB38: ldr r8, [r0, #0xc] cmp r8, #0 bne _0206CB64 ldr r7, _0206CC0C ; =_022B7330 ldr r8, [r0, #8] ldr sb, [r7, #0x6f8] sub r7, sb, r8 cmp r7, r3 movge r1, r0 movge r4, sb b _0206CB80 _0206CB64: ldr r7, [r0, #8] sub r7, r8, r7 cmp r7, r3 movge r1, r0 movge r4, r8 mov r0, r8 b _0206CB38 _0206CB80: cmp r1, #0 bne _0206CB9C ldr r2, _0206CC10 ; =0x04000208 mov r0, #0 ldrh r1, [r2] strh ip, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0206CB9C: sub r0, r4, r3 add r3, r0, #0x10 sub r0, r5, #1 add r0, r3, r0 and r0, lr, r0 str r2, [r0, #-0x10] sub r7, r0, #0x10 add r4, r7, #0x10 mov r0, #0x22 strb r0, [r7, #4] mov r0, #0 strb r0, [r7, #5] strb r5, [r7, #7] add r2, r4, r6 str r2, [r7, #8] ldr r2, [r1, #0xc] ldr r3, _0206CC10 ; =0x04000208 str r2, [r7, #0xc] str r7, [r1, #0xc] strb r0, [r7, #6] strb r0, [r1, #6] ldrh r1, [r3] mov r1, r4 mov r2, r6 strh ip, [r3] bl ArrayFill32Fast mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0206CC0C: .word _022B7330 _0206CC10: .word 0x04000208 arm_func_end sub_0206CACC arm_func_start sub_0206CC14 sub_0206CC14: ; 0x0206CC14 stmdb sp!, {r3, lr} ldr r2, _0206CCB4 ; =_022B7330 mov r1, r0 ldr r0, [r2, #0x6f4] cmp r0, #0 bne _0206CC40 mvn r0, #0xc1 mov r2, #0 bl sub_0206C854 mvn r0, #0xc1 ldmia sp!, {r3, pc} _0206CC40: ldr r0, _0206CCB8 ; =0x04000208 mov ip, #0 ldrh r3, [r0] sub lr, r1, #0x10 strh ip, [r0] ldr r0, [r2, #0x6f4] cmp r0, lr beq _0206CC70 _0206CC60: mov ip, r0 ldr r0, [r0, #0xc] cmp r0, lr bne _0206CC60 _0206CC70: cmp ip, #0 beq _0206CC94 ldr r0, [lr, #0xc] ldr r1, _0206CCB8 ; =0x04000208 str r0, [ip, #0xc] ldrh r0, [r1] mov r0, #0 strh r3, [r1] ldmia sp!, {r3, pc} _0206CC94: ldr ip, _0206CCB8 ; =0x04000208 mvn r0, #0x8b ldrh r2, [ip] mov r2, #0 strh r3, [ip] bl sub_0206C854 mvn r0, #0x8b ldmia sp!, {r3, pc} .align 2, 0 _0206CCB4: .word _022B7330 _0206CCB8: .word 0x04000208 arm_func_end sub_0206CC14 arm_func_start sub_0206CCBC sub_0206CCBC: ; 0x0206CCBC cmp r1, #0x10 blt _0206CCE4 mov r2, #0 _0206CCC8: str r2, [r0, #0xc] str r2, [r0, #8] sub r1, r1, #0x10 str r2, [r0, #4] cmp r1, #0x10 str r2, [r0], #0x10 bge _0206CCC8 _0206CCE4: cmp r1, #4 blt _0206CD00 mov r2, #0 _0206CCF0: sub r1, r1, #4 cmp r1, #4 str r2, [r0], #4 bge _0206CCF0 _0206CD00: cmp r1, #0 bxle lr mov r2, #0 _0206CD0C: strb r2, [r0], #1 subs r1, r1, #1 bne _0206CD0C bx lr arm_func_end sub_0206CCBC arm_func_start sub_0206CD1C sub_0206CD1C: ; 0x0206CD1C stmdb sp!, {r4, r5, r6, lr} ldr r3, _0206CD98 ; =_022B7330 mov r6, r0 ldrsb r0, [r3] mov r4, r2 mov r5, r1 cmp r0, #0 mvneq r4, #0xc0 beq _0206CD80 cmp r6, #0 mvneq r4, #0x17 beq _0206CD80 beq _0206CD80 ldr r0, [r6] bl sub_0206C8C4 cmp r5, r0 mvnne r4, #0x10 bne _0206CD80 cmp r4, #0 ldrneh r0, [r6, #0xc] cmpne r0, r4 mvnne r4, #0x12 bne _0206CD80 ldrh r0, [r6, #0xe] ldmia sp!, {r4, r5, r6, pc} _0206CD80: mov r0, r4 mov r1, r6 mov r2, #0 bl sub_0206C854 mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206CD98: .word _022B7330 arm_func_end sub_0206CD1C arm_func_start sub_0206CD9C sub_0206CD9C: ; 0x0206CD9C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r3, _0206CE18 ; =_022B8330 mov r1, #0x4000 str r1, [r3, #0xde0] mov ip, #0 str ip, [r3, #0xde4] mov r4, r0 str ip, [r3, #0xde8] strb r4, [r3, #0xdec] strb ip, [r3, #0xded] strb ip, [r3, #0xdee] ldr r2, _0206CE1C ; =0x72727473 mov r0, #0x800 mov r1, #0x10 strb ip, [r3, #0xdef] bl sub_0206CACC ldr r1, _0206CE18 ; =_022B8330 mov r2, #0x800 str r0, [r1, #0xeb0] stmia sp, {r2, r4} ldr r2, [r1, #0xeb0] ldr r0, _0206CE20 ; =_022B9120 add r3, r2, #0x800 ldr r1, _0206CE24 ; =sub_0206CE68 mov r2, #0 bl sub_02079560 ldr r0, _0206CE20 ; =_022B9120 bl sub_02079940 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0206CE18: .word _022B8330 _0206CE1C: .word 0x72727473 _0206CE20: .word _022B9120 _0206CE24: .word sub_0206CE68 arm_func_end sub_0206CD9C arm_func_start sub_0206CE28 sub_0206CE28: ; 0x0206CE28 stmdb sp!, {r3, lr} ldr r1, _0206CE60 ; =_022B8330 mov r2, #0 ldr r0, _0206CE64 ; =_022B9120 strb r2, [r1, #0xded] mov r2, #1 strb r2, [r1, #0xdee] bl sub_02079940 ldr r0, _0206CE64 ; =_022B9120 bl sub_02079800 ldr r0, _0206CE60 ; =_022B8330 ldr r0, [r0, #0xeb0] bl sub_0206CC14 ldmia sp!, {r3, pc} .align 2, 0 _0206CE60: .word _022B8330 _0206CE64: .word _022B9120 arm_func_end sub_0206CE28 arm_func_start sub_0206CE68 sub_0206CE68: ; 0x0206CE68 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r5, _0206CEC4 ; =_022B8330 mov r6, #0 add r4, r5, #0xd00 mov sb, #1 mov r8, r6 mov r7, r6 _0206CE84: mov r0, r8 strb sb, [r5, #0xdef] bl sub_02079888 strb r7, [r5, #0xdef] ldrsb r0, [r4, #0xee] cmp r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, [r5, #0xeb4] cmp r0, #0 beq _0206CE84 ldr r1, [r5, #0xeb8] bl sub_0206D3D8 str r6, [r5, #0xeb4] str r6, [r5, #0xeb8] b _0206CE84 _0206CEC0: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0206CEC4: .word _022B8330 arm_func_end sub_0206CE68 arm_func_start sub_0206CEC8 sub_0206CEC8: ; 0x0206CEC8 mov r0, #0 bx lr arm_func_end sub_0206CEC8 arm_func_start sub_0206CED0 sub_0206CED0: ; 0x0206CED0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xb4 movs r5, r0 bne _0206CEFC mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 add sp, sp, #0xb4 mvn r0, #0x17 ldmia sp!, {r3, r4, r5, r6, pc} _0206CEFC: ldr r4, _0206D0E8 ; =_022B8330 cmp r1, #0 moveq r1, #0x4000 cmp r2, #0 ldreq r2, _0206D0EC ; =sub_0206CEC8 str r1, [r4, #0xde0] str r2, [r4, #0xde4] add r0, sp, #0x1c str r3, [r4, #0xde8] bl sub_0206D6F0 add r0, sp, #0x1c mov r1, r5 bl sub_0206D700 cmp r0, #0 addlt sp, sp, #0xb4 ldmltia sp!, {r3, r4, r5, r6, pc} mov r2, #0x50 mov r3, #0 mov r6, #1 add r4, sp, #4 add r0, sp, #0x1c add r1, sp, #0x64 str r2, [sp, #4] str r2, [sp, #8] str r3, [sp, #0xc] str r3, [sp, #0x10] str r6, [sp, #0x14] str r6, [sp, #0x18] str r4, [sp] bl sub_0206D73C ldr r1, _0206D0F0 ; =0x7377646C ldr r2, _0206D0F4 ; =0x00000415 add r0, sp, #0x64 mov r3, #4 bl sub_0206CD1C movs r4, r0 bpl _0206CFA4 add r0, sp, #0x1c bl sub_0206D72C add sp, sp, #0xb4 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, pc} _0206CFA4: ldrh r0, [sp, #0x72] bl sub_0206D650 cmp r0, #0 beq _0206CFD8 add r0, sp, #0x1c bl sub_0206D72C mov r1, r4 mvn r0, #0x47 mov r2, #0 bl sub_0206C854 add sp, sp, #0xb4 mvn r0, #0x47 ldmia sp!, {r3, r4, r5, r6, pc} _0206CFD8: ldr r6, [sp, #0xb0] ldr r2, _0206D0F8 ; =0x66767772 add r0, r6, #0x60 mov r1, #0x10 bl sub_0206C9BC movs r4, r0 bne _0206D018 add r0, sp, #0x1c bl sub_0206D72C mov r1, #0 mov r2, r1 mvn r0, #0x7f bl sub_0206C854 add sp, sp, #0xb4 mvn r0, #0x7f ldmia sp!, {r3, r4, r5, r6, pc} _0206D018: ldrh r0, [sp, #0x72] add r3, r6, #0x70 add r2, sp, #4 strh r0, [r4] ldrsh ip, [sp, #0xaa] add r0, sp, #0x1c add r1, r4, #0x60 strh ip, [r4, #2] str r3, [r4, #4] ldr ip, [sp, #0xb0] mov r3, #0x50 str ip, [sp, #4] str ip, [sp, #8] str r2, [sp] add r2, ip, #0x10 bl sub_0206D73C ldr r0, [r4, #0x60] bl sub_0206C8C4 ldr r1, _0206D0FC ; =0x77617669 cmp r0, r1 addne sp, sp, #0xb4 mvnne r0, #0 ldmneia sp!, {r3, r4, r5, r6, pc} add r1, r4, #0x70 add r0, sp, #0x1c str r1, [r4, #8] bl sub_0206D72C mov r1, #0 ldr r0, _0206D100 ; =0x04000208 str r1, [r4, #0x5c] ldrh r3, [r0] ldr r2, _0206D104 ; =_022B910C strh r1, [r0] ldr r0, [r2] cmp r0, #0 beq _0206D0B8 _0206D0A8: add r2, r0, #0x5c ldr r0, [r0, #0x5c] cmp r0, #0 bne _0206D0A8 _0206D0B8: ldr r1, _0206D100 ; =0x04000208 str r4, [r2] ldrh r0, [r1] add r0, r4, #0x14 strh r3, [r1] bl sub_0206D6F0 mov r1, r5 add r0, r4, #0x14 bl sub_0206D700 ldrh r0, [r4] add sp, sp, #0xb4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0206D0E8: .word _022B8330 _0206D0EC: .word sub_0206CEC8 _0206D0F0: .word 0x7377646C _0206D0F4: .word 0x00000415 _0206D0F8: .word 0x66767772 _0206D0FC: .word 0x77617669 _0206D100: .word 0x04000208 _0206D104: .word _022B910C arm_func_end sub_0206CED0 arm_func_start sub_0206D108 sub_0206D108: ; 0x0206D108 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} str r2, [sp] ldr r1, _0206D2E4 ; =0x7377646C ldr r2, _0206D2E8 ; =0x00000415 mov r3, #4 mov sl, r0 bl sub_0206CD1C movs r4, r0 ldmmiia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206D6A0 cmp r0, #0 beq _0206D158 mov r1, r4 mvn r0, #0x47 mov r2, #0 bl sub_0206C854 mvn r0, #0x47 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206D158: ldr r2, _0206D2EC ; =0x69766177 mov r0, #0x28 mov r1, #0x10 bl sub_0206C9BC movs sb, r0 mov r1, #0 bne _0206D188 mov r2, r1 mvn r0, #0x7f bl sub_0206C854 mvn r0, #0x7f ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206D188: str sl, [sb] strh r4, [sb, #4] strh r1, [sb, #6] ldrsh r0, [sl, #0x46] add r8, sl, #0x50 strh r0, [sb, #8] ldrsh r0, [sl, #0x48] strh r0, [sb, #0xa] ldrb r0, [sl, #0x4a] strb r0, [sb, #0xc] ldrb r0, [sl, #0x4b] strb r0, [sb, #0xd] str r1, [sb, #0x10] str r1, [sb, #0x14] str r1, [sb, #0x18] str r1, [sb, #0x1c] str r1, [sb, #0x20] str r1, [sb, #0x24] ldr r0, [sl, #0x50] bl sub_0206C8C4 ldr r7, _0206D2F0 ; =0x656F6420 cmp r0, r7 beq _0206D270 ldr fp, _0206D2F4 ; =0x77617669 ldr r4, _0206D2F8 ; =0x70726769 ldr r6, _0206D2FC ; =0x70636D64 ldr r5, _0206D300 ; =0x6B677270 _0206D1F4: ldr r0, [r8] bl sub_0206C8C4 cmp r0, r6 bhi _0206D218 bhs _0206D23C cmp r0, r5 addeq r0, r8, #0x10 streq r0, [sb, #0x18] b _0206D244 _0206D218: cmp r0, r4 bhi _0206D22C addeq r0, r8, #0x10 streq r0, [sb, #0x14] b _0206D244 _0206D22C: cmp r0, fp addeq r0, r8, #0x10 streq r0, [sb, #0x10] b _0206D244 _0206D23C: add r0, r8, #0x10 str r0, [sb, #0x1c] _0206D244: ldrb r1, [r8, #8] ldr r0, [r8, #0xc] sub r2, r1, #1 add r0, r0, #0x10 mvn r1, r2 add r0, r0, r2 and r0, r1, r0 ldr r0, [r8, r0]! bl sub_0206C8C4 cmp r0, r7 bne _0206D1F4 _0206D270: ldr r1, _0206D304 ; =0x04000208 mov r0, #0 ldrh r3, [r1] ldr r2, _0206D308 ; =_022B7990 strh r0, [r1] ldr r0, [r2] cmp r0, #0 beq _0206D2A0 _0206D290: add r2, r0, #0x24 ldr r0, [r0, #0x24] cmp r0, #0 bne _0206D290 _0206D2A0: ldr r1, _0206D304 ; =0x04000208 str sb, [r2] ldrh r0, [r1] strh r3, [r1] ldrb r0, [sl, #0x4b] cmp r0, #2 bne _0206D2DC ldrh r1, [sl, #0x40] ldr r0, [sp] cmp r0, #0 strh r1, [sb, #6] beq _0206D2DC ldrh r0, [sb, #4] ldr r1, [sp] bl sub_0206D328 _0206D2DC: ldrh r0, [sb, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206D2E4: .word 0x7377646C _0206D2E8: .word 0x00000415 _0206D2EC: .word 0x69766177 _0206D2F0: .word 0x656F6420 _0206D2F4: .word 0x77617669 _0206D2F8: .word 0x70726769 _0206D2FC: .word 0x70636D64 _0206D300: .word 0x6B677270 _0206D304: .word 0x04000208 _0206D308: .word _022B7990 arm_func_end sub_0206D108 arm_func_start sub_0206D30C sub_0206D30C: ; 0x0206D30C ldr r0, _0206D324 ; =_022B8330 ldr r0, [r0, #0xeb4] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _0206D324: .word _022B8330 arm_func_end sub_0206D30C arm_func_start sub_0206D328 sub_0206D328: ; 0x0206D328 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r6, r1 bl sub_0206D6A0 movs r4, r0 bne _0206D358 mov r1, r5 mvn r0, #0x40 mov r2, #0 bl sub_0206C854 mvn r0, #0x40 ldmia sp!, {r4, r5, r6, pc} _0206D358: ldrb r0, [r4, #0xd] cmp r0, #2 mvnne r0, #0x4c ldmneia sp!, {r4, r5, r6, pc} ldrh r0, [r4, #6] bl sub_0206D650 cmp r0, #0 bne _0206D390 mov r1, #0 mov r2, r1 mvn r0, #0x4b bl sub_0206C854 mvn r0, #0x4b ldmia sp!, {r4, r5, r6, pc} _0206D390: ldr r5, [r4, #0x20] cmp r5, #0 bne _0206D3AC mov r0, r4 mov r1, #0 bl sub_0206D3D8 mov r5, r0 _0206D3AC: cmp r6, #0 beq _0206D3C8 ldr r1, _0206D3D0 ; =_022B8330 ldr r0, _0206D3D4 ; =_022B9120 str r4, [r1, #0xeb4] str r6, [r1, #0xeb8] bl sub_02079940 _0206D3C8: mov r0, r5 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206D3D0: .word _022B8330 _0206D3D4: .word _022B9120 arm_func_end sub_0206D328 arm_func_start sub_0206D3D8 sub_0206D3D8: ; 0x0206D3D8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c mov sl, r0 ldrh r0, [sl, #6] mov sb, r1 bl sub_0206D650 movs r4, r0 bne _0206D414 mov r1, #0 mov r2, r1 mvn r0, #0x4b bl sub_0206C854 add sp, sp, #0x1c mvn r0, #0x4b ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206D414: mov r6, #0 str r6, [sp, #8] ldr r0, [sl, #0x20] mov r5, sb str r0, [sp, #4] ldrsh r0, [sl, #8] mov r7, r6 str r0, [sp, #0x14] ldrsh r0, [sl, #8] cmp r0, #0 ble _0206D4D4 add fp, sp, #4 _0206D444: mov r1, r7, lsl #0x10 mov r0, sl mov r1, r1, asr #0x10 bl sub_0206D558 cmp r0, #0 beq _0206D4C4 str r5, [r0, #0x24] ldr r2, [r4, #8] mov r1, r7, lsl #1 ldrh r1, [r2, r1] cmp r1, #0 beq _0206D4C4 add r2, r7, #1 str r2, [sp, #0x18] ldr r2, [r0, #0x2c] ldr r0, [r0, #0x28] cmp sb, #0 add r0, r2, r0 mov r8, r0, lsl #2 beq _0206D4BC str fp, [sp] ldr r0, [r4, #8] ldr r3, [r4, #4] add r0, r0, r1 ldr ip, [r0, #0x24] mov r1, r5 mov r2, r8 add r0, r4, #0x14 add r3, ip, r3 bl sub_0206D73C _0206D4BC: add r6, r6, r8 add r5, r5, r8 _0206D4C4: ldrsh r0, [sl, #8] add r7, r7, #1 cmp r7, r0 blt _0206D444 _0206D4D4: mov r0, r6 str r6, [sl, #0x20] add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0206D3D8 arm_func_start sub_0206D4E4 sub_0206D4E4: ; 0x0206D4E4 stmdb sp!, {r4, lr} ldr r2, _0206D550 ; =0x04000208 mov r1, #0 ldrh ip, [r2] mov r4, r0 ldr r3, _0206D554 ; =_022B7990 strh r1, [r2] b _0206D508 _0206D504: add r3, r0, #0x24 _0206D508: ldr r0, [r3] cmp r0, #0 ldrneh r1, [r0, #4] cmpne r1, r4 bne _0206D504 ldr r2, _0206D550 ; =0x04000208 cmp r0, #0 ldreqh r1, [r2] mvneq r0, #0x40 streqh ip, [r2] ldmeqia sp!, {r4, pc} ldr r1, [r0, #0x24] str r1, [r3] ldrh r1, [r2] strh ip, [r2] bl sub_0206CC14 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0206D550: .word 0x04000208 _0206D554: .word _022B7990 arm_func_end sub_0206D4E4 arm_func_start sub_0206D558 sub_0206D558: ; 0x0206D558 ldr r2, [r0, #0x10] cmp r2, #0 moveq r0, #0 bxeq lr ldrsh r0, [r0, #8] cmp r0, r1 movle r0, #0 bxle lr mov r0, r1, lsl #1 ldrh r0, [r2, r0] cmp r0, #0 moveq r0, #0 addne r0, r2, r0 bx lr arm_func_end sub_0206D558 arm_func_start sub_0206D590 sub_0206D590: ; 0x0206D590 ldr r2, [r0, #0x14] cmp r2, #0 moveq r0, #0 bxeq lr ldrsh r0, [r0, #0xa] cmp r0, r1 movle r0, #0 bxle lr mov r0, r1, lsl #1 ldrh r0, [r2, r0] cmp r0, #0 moveq r0, #0 addne r0, r2, r0 bx lr arm_func_end sub_0206D590 arm_func_start sub_0206D5C8 sub_0206D5C8: ; 0x0206D5C8 stmdb sp!, {r3, lr} ldrb lr, [r0, #2] cmp lr, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} cmp r1, #0 addeq r1, r0, #0x60 beq _0206D600 ldrb ip, [r1, #1] sub r0, lr, #1 cmp ip, r0 movge r0, #0 ldmgeia sp!, {r3, pc} add r1, r1, #0x30 _0206D600: sub r0, lr, #1 _0206D604: ldrb ip, [r1, #4] cmp r2, ip blo _0206D638 ldrb ip, [r1, #5] cmp r2, ip bhi _0206D638 ldrb ip, [r1, #8] cmp r3, ip blt _0206D638 ldrb ip, [r1, #9] cmp r3, ip movle r0, r1 ldmleia sp!, {r3, pc} _0206D638: ldrb ip, [r1, #1] cmp ip, r0 addlt r1, r1, #0x30 blt _0206D604 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0206D5C8 arm_func_start sub_0206D650 sub_0206D650: ; 0x0206D650 ldr r3, _0206D698 ; =0x04000208 mov r2, #0 ldrh ip, [r3] ldr r1, _0206D69C ; =_022B8330 strh r2, [r3] ldr r3, [r1, #0xddc] cmp r3, #0 beq _0206D684 _0206D670: ldrh r1, [r3] cmp r1, r0 ldrne r3, [r3, #0x5c] cmpne r3, #0 bne _0206D670 _0206D684: ldr r2, _0206D698 ; =0x04000208 mov r0, r3 ldrh r1, [r2] strh ip, [r2] bx lr .align 2, 0 _0206D698: .word 0x04000208 _0206D69C: .word _022B8330 arm_func_end sub_0206D650 arm_func_start sub_0206D6A0 sub_0206D6A0: ; 0x0206D6A0 ldr r3, _0206D6E8 ; =0x04000208 mov r2, #0 ldrh ip, [r3] ldr r1, _0206D6EC ; =_022B7330 strh r2, [r3] ldr r3, [r1, #0x660] cmp r3, #0 beq _0206D6D4 _0206D6C0: ldrh r1, [r3, #4] cmp r1, r0 ldrne r3, [r3, #0x24] cmpne r3, #0 bne _0206D6C0 _0206D6D4: ldr r2, _0206D6E8 ; =0x04000208 mov r0, r3 ldrh r1, [r2] strh ip, [r2] bx lr .align 2, 0 _0206D6E8: .word 0x04000208 _0206D6EC: .word _022B7330 arm_func_end sub_0206D6A0 arm_func_start sub_0206D6F0 sub_0206D6F0: ; 0x0206D6F0 stmdb sp!, {r3, lr} bl FileInit mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0206D6F0 arm_func_start sub_0206D700 sub_0206D700: ; 0x0206D700 stmdb sp!, {r3, lr} bl sub_0207F6C4 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} mov r1, #0 mov r2, r1 mvn r0, #0x27 bl sub_0206C854 mvn r0, #0x27 ldmia sp!, {r3, pc} arm_func_end sub_0206D700 arm_func_start sub_0206D72C sub_0206D72C: ; 0x0206D72C stmdb sp!, {r3, lr} bl sub_0207F70C mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0206D72C arm_func_start sub_0206D73C sub_0206D73C: ; 0x0206D73C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r7, [sp, #0x28] mov sb, r1 mov r8, r2 mov r1, r3 mov r2, #0 mov sl, r0 bl sub_0207F828 str r8, [r7, #8] mov r0, #0 str r0, [r7, #0xc] cmp r8, #0 ble _0206D7F0 ldr r5, _0206D7F8 ; =0x04000006 ldr fp, _0206D7FC ; =_022B8330 mov r4, #2 _0206D77C: ldr r6, [fp, #0xde0] cmp r8, r6 movlt r6, r8 _0206D788: ldrh r0, [r5] cmp r0, #0xb4 blt _0206D7A0 mov r0, r4 bl sub_02079B14 b _0206D788 _0206D7A0: mov r0, sl mov r1, sb mov r2, r6 bl sub_0207F808 mov r0, sl bl sub_0207F748 ldr r1, [r7, #0xc] mov r0, r7 add r1, r1, r6 str r1, [r7, #0xc] ldr r1, [r7, #4] sub r8, r8, r6 add r1, r1, r6 str r1, [r7, #4] add sb, sb, r6 ldr r1, [fp, #0xde8] ldr r2, [fp, #0xde4] blx r2 cmp r8, #0 bgt _0206D77C _0206D7F0: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206D7F8: .word 0x04000006 _0206D7FC: .word _022B8330 arm_func_end sub_0206D73C arm_func_start sub_0206D800 sub_0206D800: ; 0x0206D800 mov r0, #0 bx lr arm_func_end sub_0206D800 arm_func_start sub_0206D808 sub_0206D808: ; 0x0206D808 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0206D8F8 ; =0x736D646C ldr r2, _0206D8FC ; =0x00000415 mov r3, #4 mov r7, r0 bl sub_0206CD1C cmp r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, pc} add r6, r0, #0x10000 mov r0, r6 bl sub_0206E654 cmp r0, #0 beq _0206D854 mov r1, r6 mvn r0, #0x48 mov r2, #0 bl sub_0206C854 mvn r0, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206D854: mov r0, r7 mov r1, #1 bl sub_0206E4E8 movs r5, r0 bne _0206D880 mov r1, r7 mvn r0, #0x42 mov r2, #0 bl sub_0206C854 mvn r0, #0x42 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206D880: ldrb r0, [r5, #6] ldrb r1, [r5, #7] ldr r2, _0206D900 ; =0x7165736D bl sub_0206E6A0 movs r4, r0 mvneq r0, #0x7f ldmeqia sp!, {r3, r4, r5, r6, r7, pc} str r6, [r4, #0x28] mov r1, r5 str r7, [r4, #0x1c] bl sub_0206E554 mov r1, #0 ldr r0, _0206D904 ; =0x04000208 strb r1, [r4, #0xa] ldrh r3, [r0] ldr r2, _0206D908 ; =_022B7994 strh r1, [r0] ldr r0, [r2] cmp r0, #0 beq _0206D8E0 _0206D8D0: add r2, r0, #0xa4 ldr r0, [r0, #0xa4] cmp r0, #0 bne _0206D8D0 _0206D8E0: ldr r1, _0206D904 ; =0x04000208 str r4, [r2] ldrh r0, [r1] strh r3, [r1] ldr r0, [r4, #0x28] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206D8F8: .word 0x736D646C _0206D8FC: .word 0x00000415 _0206D900: .word 0x7165736D _0206D904: .word 0x04000208 _0206D908: .word _022B7994 arm_func_end sub_0206D808 arm_func_start sub_0206D90C sub_0206D90C: ; 0x0206D90C stmdb sp!, {r4, lr} mov r4, r0 bl sub_0206E654 cmp r0, #0 bne _0206D938 mov r1, r4 mvn r0, #0x41 mov r2, #0 bl sub_0206C854 mvn r0, #0x41 ldmia sp!, {r4, pc} _0206D938: bl sub_0206E7D8 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end sub_0206D90C arm_func_start sub_0206D944 sub_0206D944: ; 0x0206D944 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_0206E654 cmp r0, #0 bne _0206D978 mov r1, r6 mvn r0, #0x41 mov r2, #0 bl sub_0206C854 mvn r0, #0x41 ldmia sp!, {r4, r5, r6, pc} _0206D978: cmp r5, #0 strne r5, [r0, #0x9c] strne r4, [r0, #0xa0] bne _0206D998 ldr r2, _0206D9A0 ; =sub_0206D800 mov r1, #0 str r2, [r0, #0x9c] str r1, [r0, #0xa0] _0206D998: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206D9A0: .word sub_0206D800 arm_func_end sub_0206D944 arm_func_start sub_0206D9A4 sub_0206D9A4: ; 0x0206D9A4 stmdb sp!, {r3, lr} bl sub_0206E654 cmp r0, #0 mvneq r0, #0x41 ldrnesb r0, [r0, #4] ldmia sp!, {r3, pc} arm_func_end sub_0206D9A4 arm_func_start ResumeBgm ResumeBgm: ; 0x0206D9BC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r4, r1 mov r6, r2 bl sub_0206E654 movs r5, r0 bne _0206D9F0 mov r1, r7 mvn r0, #0x41 mov r2, #0 bl sub_0206C854 mvn r0, #0x41 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206D9F0: ldrsb r0, [r5, #1] cmp r0, #1 bne _0206DA14 mov r1, r7 mvn r0, #0x3d mov r2, #0 bl sub_0206C854 mvn r0, #0x3d ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206DA14: ldrsb r0, [r5] cmp r0, #0 moveq r6, #1 cmp r6, #1 bne _0206DA50 ldrsb r0, [r5, #4] cmp r0, #1 bne _0206DA40 mov r0, r7 mov r1, #0 bl sub_0206DA9C _0206DA40: mov r0, r5 bl sub_0206E26C cmp r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, pc} _0206DA50: mov r0, #0 str r0, [r5, #0x68] strh r0, [r5, #0x74] strb r6, [r5, #2] bl sub_0206C688 cmp r0, #0 ldrnesb r0, [r5, #9] mov r1, #0 mov r2, r1 cmpne r0, #0 movne ip, #1 moveq ip, #0 mov r0, r5 mov r3, r4 strb ip, [r5, #8] bl sub_0206DB7C cmp r0, #0 movge r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end ResumeBgm arm_func_start sub_0206DA9C sub_0206DA9C: ; 0x0206DA9C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl sub_0206E654 cmp r0, #0 mov r2, #0 bne _0206DACC mov r1, r5 mvn r0, #0x41 bl sub_0206C854 mvn r0, #0x41 ldmia sp!, {r3, r4, r5, pc} _0206DACC: mov r1, r4 bl sub_0206E3C4 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0206DA9C arm_func_start sub_0206DADC sub_0206DADC: ; 0x0206DADC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _0206DB34 ; =0x04000208 mov r2, #0 ldrh r4, [r3] ldr r1, _0206DB38 ; =_022B7330 mov r7, r0 strh r2, [r3] ldr r6, [r1, #0x664] cmp r6, #0 beq _0206DB24 mov r5, r2 _0206DB08: mov r0, r6 mov r1, r7 mov r2, r5 bl sub_0206E3C4 ldr r6, [r6, #0xa4] cmp r6, #0 bne _0206DB08 _0206DB24: ldr r1, _0206DB34 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206DB34: .word 0x04000208 _0206DB38: .word _022B7330 arm_func_end sub_0206DADC arm_func_start sub_0206DB3C sub_0206DB3C: ; 0x0206DB3C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl sub_0206E654 cmp r0, #0 bne _0206DB6C mov r1, r5 mvn r0, #0x41 mov r2, #0 bl sub_0206C854 mvn r0, #0x41 ldmia sp!, {r3, r4, r5, pc} _0206DB6C: mov r1, r4 bl sub_0206DD70 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0206DB3C arm_func_start sub_0206DB7C sub_0206DB7C: ; 0x0206DB7C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 strh r1, [r4, #0x2c] mov r5, r3 strb r2, [r4, #0x14] ldrsh r2, [r5, #2] cmp r2, #0 mvnlt r0, #0 blt _0206DBB4 ldr r1, _0206DC08 ; =_022B7330 mov r0, #0x3e8 ldrsh r1, [r1, #0x28] smulbb r0, r2, r0 bl __divsi3 _0206DBB4: strh r0, [r4, #0x1a] mov r2, #0 strb r2, [r4, #2] mov r0, r4 mov r1, r5 strb r2, [r4, #7] bl sub_0206DD70 ldrsb r0, [r4, #8] cmp r0, #0 bne _0206DBF8 ldrsb r0, [r4, #2] cmp r0, #0 bne _0206DBF0 ldr r0, [r4, #0x24] bl sub_02073504 _0206DBF0: mov r0, #1 strb r0, [r4, #5] _0206DBF8: mov r0, #1 strb r0, [r4, #4] mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0206DC08: .word _022B7330 arm_func_end sub_0206DB7C arm_func_start sub_0206DC0C sub_0206DC0C: ; 0x0206DC0C stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r4, r0 beq _0206DC6C ldr r7, _0206DC74 ; =0x04000208 mov r8, #0 mov r5, #1 _0206DC24: ldrsb r0, [r4, #4] cmp r0, #1 ldreqsb r0, [r4, #6] cmpeq r0, #0 ldreqsb r0, [r4, #9] cmpeq r0, #1 bne _0206DC60 strb r8, [r4, #5] ldrh r6, [r7] strh r8, [r7] ldr r0, [r4, #0x24] bl sub_02073480 ldrh r0, [r7] strh r6, [r7] strb r5, [r4, #8] _0206DC60: ldr r4, [r4, #0xa4] cmp r4, #0 bne _0206DC24 _0206DC6C: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206DC74: .word 0x04000208 arm_func_end sub_0206DC0C arm_func_start sub_0206DC78 sub_0206DC78: ; 0x0206DC78 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} movs sl, r0 mov sb, r1 mov r8, r2 beq _0206DD64 mov r0, #0x3e8 mul r7, sb, r0 mov fp, #1 _0206DC98: ldrsb r0, [sl, #8] cmp r0, #1 bne _0206DD58 cmp r8, #1 bne _0206DCC8 mov r0, #0 str r0, [sl, #0x68] strh r0, [sl, #0x74] strb r0, [sl, #6] ldr r0, [sl, #0x24] mov r1, #0 bl sub_020734AC _0206DCC8: cmp sb, #0 ldrsb r4, [sl, #0x98] moveq r6, #0 beq _0206DCF4 ldr r0, _0206DD6C ; =_022B7330 ldrsh r1, [r0, #0x28] mov r0, r7 bl __udivsi3 mov r0, r0, lsl #0x10 movs r6, r0, lsr #0x10 moveq r6, #1 _0206DCF4: mov r1, r4, lsl #0x10 str r1, [sl, #0x70] cmp r6, #0 mov r5, r6 streq r1, [sl, #0x68] beq _0206DD28 ldr r0, [sl, #0x68] subs r0, r1, r0 moveq r5, #0 beq _0206DD28 mov r1, r6 bl __divsi3 str r0, [sl, #0x6c] _0206DD28: strh r5, [sl, #0x74] cmp r6, #0 ldrneb r0, [sl, #0xc] orrne r0, r0, #4 strneb r0, [sl, #0xc] bne _0206DD4C ldr r0, [sl, #0x24] mov r1, r4 bl sub_020736E8 _0206DD4C: strb fp, [sl, #5] mov r0, #0 strb r0, [sl, #8] _0206DD58: ldr sl, [sl, #0xa4] cmp sl, #0 bne _0206DC98 _0206DD64: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206DD6C: .word _022B7330 arm_func_end sub_0206DC78 arm_func_start sub_0206DD70 sub_0206DD70: ; 0x0206DD70 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r1 ldrb r1, [r6] mov r7, r0 tst r1, #1 beq _0206DE38 ldrsh r4, [r6, #4] ldrh r1, [r6, #6] cmp r4, #0 moveq r4, #0x100 cmp r1, #0 moveq r5, #0 beq _0206DDC4 mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _0206E05C ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r5, r0, lsr #0x10 moveq r5, #1 _0206DDC4: mov r1, r4, lsl #0x10 str r1, [r7, #0x50] cmp r5, #0 mov r4, r5 streq r1, [r7, #0x48] beq _0206DDF8 ldr r0, [r7, #0x48] subs r0, r1, r0 moveq r4, #0 beq _0206DDF8 mov r1, r5 bl __divsi3 str r0, [r7, #0x4c] _0206DDF8: strh r4, [r7, #0x54] cmp r5, #0 bne _0206DE2C ldr r1, [r7, #0x48] ldrb r0, [r7, #0x17] mov r1, r1, asr #0x10 smulbb r0, r1, r0 movs r1, r0, lsr #8 ldr r0, _0206E060 ; =0x03938700 moveq r1, #1 bl __udivsi3 str r0, [r7, #0x44] b _0206DE38 _0206DE2C: ldrb r0, [r7, #0xc] orr r0, r0, #1 strb r0, [r7, #0xc] _0206DE38: ldrb r0, [r6] tst r0, #2 beq _0206DEDC ldrh r1, [r6, #0xa] ldrsh r4, [r6, #8] cmp r1, #0 moveq r5, #0 beq _0206DE78 mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _0206E05C ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r5, r0, lsr #0x10 moveq r5, #1 _0206DE78: mov r1, r4, lsl #0x10 str r1, [r7, #0x60] cmp r5, #0 mov r4, r5 streq r1, [r7, #0x58] beq _0206DEAC ldr r0, [r7, #0x58] subs r0, r1, r0 moveq r4, #0 beq _0206DEAC mov r1, r5 bl __divsi3 str r0, [r7, #0x5c] _0206DEAC: strh r4, [r7, #0x64] cmp r5, #0 ldrneb r0, [r7, #0xc] orrne r0, r0, #2 strneb r0, [r7, #0xc] bne _0206DEDC ldr r1, [r7, #0x58] ldr r0, [r7, #0x24] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl sub_02073654 _0206DEDC: ldrb r0, [r6] tst r0, #4 beq _0206DF98 ldrsh r4, [r6, #0xc] ldrsh r1, [r6, #0xe] strb r4, [r7, #0x98] ldrsb r0, [r7, #8] cmp r0, #1 moveq r4, #0 moveq r1, r4 mov r0, r1, lsl #0x10 movs r1, r0, lsr #0x10 moveq r5, #0 beq _0206DF34 mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _0206E05C ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r5, r0, lsr #0x10 moveq r5, #1 _0206DF34: mov r0, r4, lsl #0x18 mov r0, r0, asr #0x18 mov r1, r0, lsl #0x10 str r1, [r7, #0x70] cmp r5, #0 mov r8, r5 streq r1, [r7, #0x68] beq _0206DF70 ldr r0, [r7, #0x68] subs r0, r1, r0 moveq r8, #0 beq _0206DF70 mov r1, r5 bl __divsi3 str r0, [r7, #0x6c] _0206DF70: strh r8, [r7, #0x74] cmp r5, #0 ldrneb r0, [r7, #0xc] orrne r0, r0, #4 strneb r0, [r7, #0xc] bne _0206DF98 mov r1, r4, lsl #0x18 ldr r0, [r7, #0x24] mov r1, r1, asr #0x18 bl sub_020736E8 _0206DF98: ldrb r0, [r6] tst r0, #8 beq _0206E048 ldrh r0, [r6, #0x10] ldrh r1, [r6, #0x12] mov r0, r0, lsl #0x18 cmp r1, #0 mov r4, r0, asr #0x18 moveq r5, #0 beq _0206DFE0 mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _0206E05C ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r5, r0, lsr #0x10 moveq r5, #1 _0206DFE0: mov r1, r4, lsl #0x10 str r1, [r7, #0x80] cmp r5, #0 mov r4, r5 streq r1, [r7, #0x78] beq _0206E014 ldr r0, [r7, #0x78] subs r0, r1, r0 moveq r4, #0 beq _0206E014 mov r1, r5 bl __divsi3 str r0, [r7, #0x7c] _0206E014: strh r4, [r7, #0x84] cmp r5, #0 ldrneb r0, [r7, #0xc] orrne r0, r0, #0x10 strneb r0, [r7, #0xc] bne _0206E048 ldr r1, [r7, #0x78] ldr r0, [r7, #0x24] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 and r1, r1, #0xff bl sub_020737B8 _0206E048: ldrsh r0, [r7, #0x1a] cmp r0, #0 movlt r0, #0 strlth r0, [r7, #0x1a] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206E05C: .word _022B7330 _0206E060: .word 0x03938700 arm_func_end sub_0206DD70 arm_func_start sub_0206E064 sub_0206E064: ; 0x0206E064 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 bl sub_0206E654 movs r4, r0 bne _0206E098 mov r1, r8 mvn r0, #0x41 mov r2, #0 bl sub_0206C854 mvn r0, #0x41 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0206E098: cmp r6, #0 bne _0206E0B8 mov r1, r8 mvn r0, #0x17 mov r2, #0 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0206E0B8: cmp r7, #0x12 mov r5, #0 addls pc, pc, r7, lsl #2 b _0206E1F8 _0206E0C8: ; jump table b _0206E1F8 ; case 0 b _0206E114 ; case 1 b _0206E174 ; case 2 b _0206E180 ; case 3 b _0206E18C ; case 4 b _0206E1F8 ; case 5 b _0206E1F8 ; case 6 b _0206E1F8 ; case 7 b _0206E1C4 ; case 8 b _0206E1A4 ; case 9 b _0206E198 ; case 10 b _0206E1D0 ; case 11 b _0206E1EC ; case 12 b _0206E1F8 ; case 13 b _0206E1F8 ; case 14 b _0206E1F8 ; case 15 b _0206E1F8 ; case 16 b _0206E1F8 ; case 17 b _0206E1DC ; case 18 _0206E114: ldrsb r2, [r4, #4] mov r0, #0x3e8 ldr r1, _0206E214 ; =_022B7330 strb r2, [r6] ldrsb r2, [r4, #6] strb r2, [r6, #1] ldrsb r2, [r4, #1] strb r2, [r6, #2] strb r5, [r6, #3] ldr r2, [r4, #0x34] ldr r1, [r1, #0x30] mul r0, r2, r0 bl __udivsi3 str r0, [r6, #4] ldr r1, [r4, #0x38] mov r0, r4 str r1, [r6, #8] bl sub_0206E218 strh r0, [r6, #0xc] ldrb r0, [r4, #0x17] strb r0, [r6, #0xf] ldrb r0, [r4, #0x16] strb r0, [r6, #0xe] b _0206E20C _0206E174: ldrsb r0, [r4, #4] str r0, [r6] b _0206E20C _0206E180: ldrb r0, [r4, #0x17] str r0, [r6] b _0206E20C _0206E18C: ldrsb r0, [r4, #1] str r0, [r6] b _0206E20C _0206E198: bl sub_0206E218 str r0, [r6] b _0206E20C _0206E1A4: ldr r1, [r4, #0x34] mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _0206E214 ; =_022B7330 ldr r1, [r1, #0x30] bl __udivsi3 str r0, [r6] b _0206E20C _0206E1C4: ldr r0, [r4, #0x38] str r0, [r6] b _0206E20C _0206E1D0: ldrb r0, [r4, #0x16] str r0, [r6] b _0206E20C _0206E1DC: ldr r0, [r4, #0x68] mov r0, r0, asr #0x10 str r0, [r6] b _0206E20C _0206E1EC: ldrb r0, [r4, #0x17] str r0, [r6] b _0206E20C _0206E1F8: mov r1, r8 mvn r0, #0x17 mov r2, #0 bl sub_0206C854 mvn r5, #0x17 _0206E20C: mov r0, r5 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206E214: .word _022B7330 arm_func_end sub_0206E064 arm_func_start sub_0206E218 sub_0206E218: ; 0x0206E218 ldrb ip, [r0, #0xf] add r2, r0, #0xa8 ldr r0, _0206E268 ; =0x0000FFFF cmp ip, #0 mov r3, #0 ble _0206E258 _0206E230: ldrsb r1, [r2, #2] cmp r1, #1 bne _0206E248 ldrh r1, [r2, #0xa] cmp r0, r1 movhi r0, r1 _0206E248: add r3, r3, #1 cmp r3, ip add r2, r2, #0x5c blt _0206E230 _0206E258: ldr r1, _0206E268 ; =0x0000FFFF cmp r0, r1 moveq r0, #0 bx lr .align 2, 0 _0206E268: .word 0x0000FFFF arm_func_end sub_0206E218 arm_func_start sub_0206E26C sub_0206E26C: ; 0x0206E26C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r0, [r4, #0x24] ldr r2, [r4, #0x28] mov r1, #0 bl sub_02073458 ldrb r1, [r4, #0x13] ldr r0, [r4, #0x24] mov r2, #0 bl sub_0207356C mov lr, #0 str lr, [r4, #4] strb lr, [r4, #3] mov r0, #1 strb r0, [r4, #9] ldr r0, _0206E3BC ; =_022B7330 strb lr, [r4, #0xd] ldr r2, [r0, #0x2c] mov r1, #0x78 str r2, [r4, #0x30] str lr, [r4, #0x34] str lr, [r4, #0x38] strb r1, [r4, #0x17] str lr, [r4, #0x3c] ldrb r2, [r4, #0x15] ldrsh r1, [r0, #0x28] ldr r0, _0206E3C0 ; =0x0007A120 mov r2, r2, lsl #3 mul r1, r2, r1 str r1, [r4, #0x40] str r0, [r4, #0x44] strb lr, [r4, #0xc] mov r0, #0x1000000 str r0, [r4, #0x48] strh lr, [r4, #0x54] str lr, [r4, #0x58] strh lr, [r4, #0x64] mov r0, #0x7f0000 str r0, [r4, #0x68] strh lr, [r4, #0x74] mov r0, #0x400000 str r0, [r4, #0x78] strh lr, [r4, #0x84] mov r0, #0x7f strb r0, [r4, #0x98] ldrb r0, [r4, #0xf] add ip, r4, #0xa8 cmp r0, #0 ble _0206E3AC mov r3, #1 mov r2, lr mov r1, #0x7f mov r0, #4 mov r5, #0xc8 _0206E344: ldr r6, [ip, #0x18] cmp r6, #0 beq _0206E38C strb r3, [ip, #2] strh r2, [ip, #0xa] ldr r6, [ip, #0x18] str r6, [ip, #0x1c] str r2, [ip, #0xc] str r2, [ip, #0x14] strb r1, [ip, #5] strb r0, [ip, #4] strb r2, [ip, #6] str r2, [ip, #0x20] ldr r7, [r4, #0x24] ldrb r6, [ip, #3] add r7, r7, #0x10 mla r7, r6, r5, r7 str r7, [ip, #0x54] _0206E38C: ldrb r6, [r4, #0xd] add lr, lr, #1 add ip, ip, #0x5c add r6, r6, #1 strb r6, [r4, #0xd] ldrb r6, [r4, #0xf] cmp lr, r6 blt _0206E344 _0206E3AC: mov r0, #1 strb r0, [r4] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206E3BC: .word _022B7330 _0206E3C0: .word 0x0007A120 arm_func_end sub_0206E26C arm_func_start sub_0206E3C4 sub_0206E3C4: ; 0x0206E3C4 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrsb r0, [r5, #1] mov r4, r2 cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldrsb r0, [r5, #4] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r1, #0 beq _0206E49C ldr r0, [r5, #0x68] movs r0, r0, asr #0x10 beq _0206E49C mov r0, #1 strb r0, [r5, #7] mov r6, #0 strb r6, [r5, #0x98] cmp r1, #0 beq _0206E43C mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _0206E4E0 ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r6, r0, lsr #0x10 moveq r6, #1 _0206E43C: mov r1, #0 str r1, [r5, #0x70] cmp r6, #0 mov r4, r6 streq r1, [r5, #0x68] beq _0206E470 ldr r0, [r5, #0x68] rsbs r0, r0, #0 moveq r4, r1 beq _0206E470 mov r1, r6 bl __divsi3 str r0, [r5, #0x6c] _0206E470: strh r4, [r5, #0x74] cmp r6, #0 bne _0206E48C ldr r0, [r5, #0x24] mov r1, #0 bl sub_020736E8 b _0206E4D8 _0206E48C: ldrb r0, [r5, #0xc] orr r0, r0, #4 strb r0, [r5, #0xc] b _0206E4D8 _0206E49C: mov r1, #0 str r1, [r5, #4] ldr r0, _0206E4E4 ; =0x04000208 strb r1, [r5, #8] ldrh r6, [r0] strh r1, [r0] ldr r0, [r5, #0x24] bl sub_02073480 cmp r4, #1 bne _0206E4CC ldr r0, [r5, #0x24] bl sub_020733BC _0206E4CC: ldr r1, _0206E4E4 ; =0x04000208 ldrh r0, [r1] strh r6, [r1] _0206E4D8: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206E4E0: .word _022B7330 _0206E4E4: .word 0x04000208 arm_func_end sub_0206E3C4 arm_func_start sub_0206E4E8 sub_0206E4E8: ; 0x0206E4E8 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r6, _0206E54C ; =0x736F6E67 ldr r7, _0206E550 ; =0x656F6420 mov r5, r1 add r4, r0, #0x40 _0206E4FC: ldr r0, [r4] bl sub_0206C8C4 cmp r0, r7 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r0, r6 ldreqsh r1, [r4, #0x10] addeq r0, r4, #0x10 cmpeq r1, r5 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r1, [r4, #8] ldr r0, [r4, #0xc] sub r2, r1, #1 add r0, r0, #0x10 mvn r1, r2 add r0, r0, r2 and r0, r1, r0 add r4, r4, r0 b _0206E4FC _0206E548: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206E54C: .word 0x736F6E67 _0206E550: .word 0x656F6420 arm_func_end sub_0206E4E8 arm_func_start sub_0206E554 sub_0206E554: ; 0x0206E554 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r7, r0 mov r6, r1 ldrb r1, [r6, #6] ldrb r0, [r7, #0xe] cmp r1, r0 mvnhi r0, #0 ldmhiia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrh r0, [r6, #2] add r4, r6, #0x30 add r5, r7, #0xa8 mov r0, r0, asr #3 strb r0, [r7, #0x15] ldrb r0, [r6, #4] strb r0, [r7, #0x11] ldrb r0, [r6, #6] strb r0, [r7, #0xf] ldrb r0, [r6, #7] strb r0, [r7, #0x10] ldrb r0, [r6, #0x1b] strb r0, [r7, #0x12] ldrb r0, [r6, #0x19] strb r0, [r7, #0x13] ldrb r0, [r6, #0x1a] strb r0, [r7, #0x14] ldrb r0, [r6, #0x18] tst r0, #0x80 movne r0, #1 moveq r0, #0 strb r0, [r7, #0xb] ldr r0, [r6, #0x30] bl sub_0206C8C4 ldr sb, _0206E648 ; =0x74726B20 ldr sl, _0206E64C ; =0x626E6B6C ldr r8, _0206E650 ; =0x656F6320 b _0206E634 _0206E5E4: cmp r0, sl beq _0206E610 cmp r0, sb bne _0206E610 add r0, r4, #0x14 str r0, [r5, #0x18] ldrb r0, [r4, #0x10] strh r0, [r5] ldrb r0, [r4, #0x11] strb r0, [r5, #3] add r5, r5, #0x5c _0206E610: ldrb r1, [r4, #8] ldr r0, [r4, #0xc] sub r2, r1, #1 add r0, r0, #0x10 mvn r1, r2 add r0, r0, r2 and r0, r1, r0 ldr r0, [r4, r0]! bl sub_0206C8C4 _0206E634: cmp r0, r8 bne _0206E5E4 str r6, [r7, #0x20] mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0206E648: .word 0x74726B20 _0206E64C: .word 0x626E6B6C _0206E650: .word 0x656F6320 arm_func_end sub_0206E554 arm_func_start sub_0206E654 sub_0206E654: ; 0x0206E654 ldr r3, _0206E698 ; =0x04000208 ldr r1, _0206E69C ; =_022B7330 ldrh ip, [r3] mov r2, #0 strh r2, [r3] ldr r3, [r1, #0x664] b _0206E674 _0206E670: ldr r3, [r3, #0xa4] _0206E674: cmp r3, #0 ldrne r1, [r3, #0x28] cmpne r1, r0 bne _0206E670 ldr r2, _0206E698 ; =0x04000208 mov r0, r3 ldrh r1, [r2] strh ip, [r2] bx lr .align 2, 0 _0206E698: .word 0x04000208 _0206E69C: .word _022B7330 arm_func_end sub_0206E654 arm_func_start sub_0206E6A0 sub_0206E6A0: ; 0x0206E6A0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #0x5c mul r0, r7, r0 mov r6, r1 add r0, r0, #0xa8 mov r1, #0x10 mov r5, r2 bl sub_0206C9BC movs r4, r0 bne _0206E6E4 mov r1, #0 mov r2, r1 mvn r0, #0x83 bl sub_0206C854 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206E6E4: mov r3, #0 str r3, [r4] str r3, [r4, #4] str r3, [r4, #8] strb r3, [r4, #0x16] strb r3, [r4, #0xd] str r3, [r4, #0x30] str r3, [r4, #0x28] strh r3, [r4, #0x2c] mov r0, #6 strb r0, [r4, #0x15] strb r3, [r4, #0xd] and r0, r7, #0xff strb r0, [r4, #0xe] strb r0, [r4, #0xf] strb r6, [r4, #0x10] strb r3, [r4, #0x11] strb r3, [r4, #0x12] strb r3, [r4, #0x13] str r3, [r4, #0x1c] ldr r1, _0206E7C8 ; =0x76656400 and r2, r5, #0xff mov r0, r6 orr r1, r2, r1 str r3, [r4, #0x20] bl sub_02073280 str r0, [r4, #0x24] cmp r0, #0 bne _0206E778 mov r0, r4 bl sub_0206CC14 mov r1, #0 mov r2, r1 mvn r0, #0x85 bl sub_0206C854 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0206E778: mov r0, #0x78 strb r0, [r4, #0x17] mov r3, #0 str r3, [r4, #0x3c] ldr r0, _0206E7CC ; =_022B7330 ldrb r2, [r4, #0x15] ldrsh r0, [r0, #0x28] ldr r1, _0206E7D0 ; =0x0007A120 mov r2, r2, lsl #3 mul r0, r2, r0 str r0, [r4, #0x40] ldr r0, _0206E7D4 ; =sub_0206D800 str r1, [r4, #0x44] str r0, [r4, #0x9c] str r3, [r4, #0xa0] mov r0, r4 str r3, [r4, #0xa4] bl sub_0206E85C mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206E7C8: .word 0x76656400 _0206E7CC: .word _022B7330 _0206E7D0: .word 0x0007A120 _0206E7D4: .word sub_0206D800 arm_func_end sub_0206E6A0 arm_func_start sub_0206E7D8 sub_0206E7D8: ; 0x0206E7D8 stmdb sp!, {r4, lr} mov r4, r0 ldrsb r1, [r4, #4] cmp r1, #1 bne _0206E7F8 mov r1, #0 mov r2, r1 bl sub_0206E3C4 _0206E7F8: ldr r1, _0206E854 ; =0x04000208 mov r0, #0 ldrh r3, [r1] ldr r2, _0206E858 ; =_022B7994 strh r0, [r1] b _0206E814 _0206E810: add r2, r0, #0xa4 _0206E814: ldr r0, [r2] cmp r0, #0 cmpne r0, r4 bne _0206E810 cmp r0, #0 ldrne r0, [r4, #0xa4] ldr r1, _0206E854 ; =0x04000208 strne r0, [r2] ldrh r0, [r1] strh r3, [r1] ldr r0, [r4, #0x24] bl sub_02073350 mov r0, r4 bl sub_0206CC14 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0206E854: .word 0x04000208 _0206E858: .word _022B7994 arm_func_end sub_0206E7D8 arm_func_start sub_0206E85C sub_0206E85C: ; 0x0206E85C ldrb r1, [r0, #0xf] add r3, r0, #0xa8 mov ip, #0 cmp r1, #0 bxle lr mov r2, ip _0206E874: strb r2, [r3, #2] strh ip, [r3] strb ip, [r3, #3] strh r2, [r3, #0xa] str r2, [r3, #0x18] str r2, [r3, #0x1c] str r2, [r3, #0x20] str r2, [r3, #0x54] ldrb r1, [r0, #0xf] add ip, ip, #1 add r3, r3, #0x5c cmp ip, r1 blt _0206E874 bx lr arm_func_end sub_0206E85C arm_func_start sub_0206E8AC sub_0206E8AC: ; 0x0206E8AC stmdb sp!, {r3, lr} ldr r2, _0206E914 ; =_022B7330 mov r1, #0 mvn r0, #0 _0206E8BC: add r1, r1, #1 str r0, [r2, #0x54] cmp r1, #0x80 add r2, r2, #0xc blt _0206E8BC ldr r2, _0206E914 ; =_022B7330 ldr ip, _0206E918 ; =_022B7380 mov lr, #0 mov r0, #0xc _0206E8E0: add lr, lr, #1 mul r3, lr, r0 add r1, ip, r3 str r1, [r2, #0x58] cmp lr, #0x7f add r2, r2, #0xc blt _0206E8E0 ldr r1, _0206E91C ; =_022B7388 mov r2, #0 ldr r0, _0206E914 ; =_022B7330 str r2, [r1, r3] str ip, [r0, #0x650] ldmia sp!, {r3, pc} .align 2, 0 _0206E914: .word _022B7330 _0206E918: .word _022B7380 _0206E91C: .word _022B7388 arm_func_end sub_0206E8AC arm_func_start sub_0206E920 sub_0206E920: ; 0x0206E920 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r2, _0206EA08 ; =_022B7330 mov sb, r0 ldrsb r0, [r2] mov r8, r1 mov r1, #0 cmp r0, #0 bne _0206E954 mov r2, r1 mvn r0, #0xc0 bl sub_0206C854 mvn r0, #0xc0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0206E954: ldr r4, [r2, #0x668] ldr r0, _0206EA0C ; =0x04000208 str r1, [r2, #0x668] ldrh r5, [r0] cmp r4, #0 strh r1, [r0] beq _0206E984 _0206E970: mov r0, r4 ldr r4, [r4, #0xa4] bl sub_0206E7D8 cmp r4, #0 bne _0206E970 _0206E984: ldr r1, _0206EA0C ; =0x04000208 mov r6, #0 ldrh r0, [r1] ldr r0, _0206EA08 ; =_022B7330 mov r4, r6 strh r5, [r1] strb sb, [r0, #0x3a] strb r8, [r0, #0x3b] ldrh r7, [r1] cmp sb, #0 ldr r5, _0206EA10 ; =_022B7998 strh r6, [r1] ble _0206E9F4 mov r0, r8, lsl #0x10 ldr r8, _0206EA14 ; =0x71657365 mov sl, r0, lsr #0x10 _0206E9C4: mov r0, sl mov r1, sl mov r2, r8 bl sub_0206E6A0 cmp r0, #0 mvneq r6, #0x83 beq _0206E9F4 add r4, r4, #1 str r0, [r5] cmp r4, sb add r5, r0, #0xa4 blt _0206E9C4 _0206E9F4: ldr r2, _0206EA0C ; =0x04000208 mov r0, r6 ldrh r1, [r2] strh r7, [r2] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0206EA08: .word _022B7330 _0206EA0C: .word 0x04000208 _0206EA10: .word _022B7998 _0206EA14: .word 0x71657365 arm_func_end sub_0206E920 arm_func_start sub_0206EA18 sub_0206EA18: ; 0x0206EA18 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r1, _0206EBA8 ; =0x7365646C ldr r2, _0206EBAC ; =0x00000415 mov r3, #4 mov r4, r0 bl sub_0206CD1C movs r5, r0 ldmmiia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_0206F340 cmp r0, #0 beq _0206EA64 mov r1, r5 mvn r0, #0x49 mov r2, #0 bl sub_0206C854 mvn r0, #0x49 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206EA64: ldr r2, _0206EBB0 ; =0x66646573 mov r0, #0x1c mov r1, #0x10 bl sub_0206C9BC movs sl, r0 bne _0206EA94 mov r1, r5 mvn r0, #0x7f mov r2, #0 bl sub_0206C854 mvn r0, #0x7f ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206EA94: str r4, [sl] ldrsh r2, [r4, #0x30] mov r1, #0 mov r0, #1 strh r2, [sl, #4] strh r5, [sl, #6] str r1, [sl, #8] str r1, [sl, #0xc] str r1, [sl, #0x10] str r1, [sl, #0x14] strb r0, [sl, #0x18] ldrb r0, [r4, #0x35] cmp r0, #0 beq _0206EB60 add r8, r4, #0x40 ldr r4, _0206EBB4 ; =0x73657120 ldr r7, _0206EBB8 ; =0x656F6420 ldr r6, _0206EBBC ; =0x626E6B6C ldr r5, _0206EBC0 ; =0x6D63726C mov fp, r1 _0206EAE4: ldr r0, [r8] mov sb, fp bl sub_0206C8C4 cmp r0, r7 bhi _0206EB0C bhs _0206EB30 cmp r0, r6 addeq r0, r8, #0x10 streq r0, [sl, #0x14] b _0206EB34 _0206EB0C: cmp r0, r5 bhi _0206EB20 addeq r0, r8, #0x10 streq r0, [sl, #0x10] b _0206EB34 _0206EB20: cmp r0, r4 addeq r0, r8, #0x10 streq r0, [sl, #0xc] b _0206EB34 _0206EB30: mov sb, #1 _0206EB34: cmp sb, #1 beq _0206EB60 ldrb r1, [r8, #8] ldr r0, [r8, #0xc] sub r2, r1, #1 add r0, r0, #0x10 mvn r1, r2 add r0, r0, r2 and r0, r1, r0 add r8, r8, r0 b _0206EAE4 _0206EB60: ldr r1, _0206EBC4 ; =0x04000208 mov r0, #0 ldrh r3, [r1] ldr r2, _0206EBC8 ; =_022B799C strh r0, [r1] ldr r0, [r2] cmp r0, #0 beq _0206EB90 _0206EB80: add r2, r0, #8 ldr r0, [r0, #8] cmp r0, #0 bne _0206EB80 _0206EB90: ldr r1, _0206EBC4 ; =0x04000208 str sl, [r2] ldrh r0, [r1] strh r3, [r1] ldrh r0, [sl, #6] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206EBA8: .word 0x7365646C _0206EBAC: .word 0x00000415 _0206EBB0: .word 0x66646573 _0206EBB4: .word 0x73657120 _0206EBB8: .word 0x656F6420 _0206EBBC: .word 0x626E6B6C _0206EBC0: .word 0x6D63726C _0206EBC4: .word 0x04000208 _0206EBC8: .word _022B799C arm_func_end sub_0206EA18 arm_func_start sub_0206EBCC sub_0206EBCC: ; 0x0206EBCC stmdb sp!, {r4, lr} mov r4, r0 bl sub_0206F54C ldr r1, _0206EC54 ; =0x04000208 mov r0, #0 ldrh ip, [r1] ldr r3, _0206EC58 ; =_022B799C strh r0, [r1] b _0206EBF4 _0206EBF0: add r3, r0, #8 _0206EBF4: ldr r0, [r3] cmp r0, #0 ldrneh r1, [r0, #6] cmpne r1, r4 bne _0206EBF0 cmp r0, #0 bne _0206EC34 ldr r3, _0206EC54 ; =0x04000208 mov r1, r4 ldrh r0, [r3] mov r2, #0 mvn r0, #0x43 strh ip, [r3] bl sub_0206C854 mvn r0, #0x43 ldmia sp!, {r4, pc} _0206EC34: ldr r1, [r0, #8] ldr r2, _0206EC54 ; =0x04000208 str r1, [r3] ldrh r1, [r2] strh ip, [r2] bl sub_0206CC14 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0206EC54: .word 0x04000208 _0206EC58: .word _022B799C arm_func_end sub_0206EBCC arm_func_start sub_0206EC5C sub_0206EC5C: ; 0x0206EC5C stmdb sp!, {r4, r5, r6, lr} movs r4, r1 mov r6, r0 beq _0206EC74 cmp r2, #0 bgt _0206EC8C _0206EC74: mov r1, r6 mvn r0, #0x17 mov r2, #0 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r4, r5, r6, pc} _0206EC8C: mov r0, r6, lsl #0x10 mov r5, r0, lsr #0x10 mov r0, r5 bl sub_0206F340 cmp r0, #0 bne _0206ECBC mov r1, r5 mvn r0, #0x43 mov r2, #0 bl sub_0206C854 mvn r0, #0x43 ldmia sp!, {r4, r5, r6, pc} _0206ECBC: ldr r2, [r0, #0x14] cmp r2, #0 bne _0206ECE0 mov r1, r5 mvn r0, #0x4d mov r2, #0 bl sub_0206C854 mvn r0, #0x4d ldmia sp!, {r4, r5, r6, pc} _0206ECE0: mov r0, r6, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, asr #0xf ldrh r1, [r2, r0] cmp r1, #0 mvneq r0, #0x44 ldmeqia sp!, {r4, r5, r6, pc} ldrb r0, [r2, r1] add r1, r2, r1 add r3, r1, #4 cmp r0, #0 mov r2, #0 ldmleia sp!, {r4, r5, r6, pc} _0206ED14: ldrh r0, [r3], #2 add r2, r2, #1 strh r0, [r4], #2 ldrb r0, [r1] cmp r2, r0 blt _0206ED14 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0206EC5C arm_func_start sub_0206ED30 sub_0206ED30: ; 0x0206ED30 mvn r2, #0 cmp r0, r2 beq _0206EDAC ldr r2, _0206EDF8 ; =_022B7330 ldr r3, [r2, #0x668] cmp r3, #0 beq _0206EDF0 _0206ED4C: ldrsb r2, [r3, #4] cmp r2, #1 ldreq r2, [r3, #0x28] cmpeq r2, r0 bne _0206ED9C cmp r1, #0 bne _0206ED7C ldrsb r0, [r3, #6] cmp r0, #0 moveq r0, #1 movne r0, #2 bx lr _0206ED7C: ldrh r2, [r3, #0x2c] cmp r2, r1 bne _0206ED9C ldrsb r0, [r3, #6] cmp r0, #0 moveq r0, #1 movne r0, #2 bx lr _0206ED9C: ldr r3, [r3, #0xa4] cmp r3, #0 bne _0206ED4C b _0206EDF0 _0206EDAC: ldr r0, _0206EDF8 ; =_022B7330 ldr r2, [r0, #0x668] cmp r2, #0 beq _0206EDF0 _0206EDBC: ldrsb r0, [r2, #4] cmp r0, #1 ldreqh r0, [r2, #0x2c] cmpeq r0, r1 bne _0206EDE4 ldrsb r0, [r2, #6] cmp r0, #0 moveq r0, #1 movne r0, #2 bx lr _0206EDE4: ldr r2, [r2, #0xa4] cmp r2, #0 bne _0206EDBC _0206EDF0: mov r0, #0 bx lr .align 2, 0 _0206EDF8: .word _022B7330 arm_func_end sub_0206ED30 arm_func_start sub_0206EDFC sub_0206EDFC: ; 0x0206EDFC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r0, sl, lsl #0x10 mov r5, r0, lsr #0x10 mov r0, r5 mov fp, r1 mov sb, r2 bl sub_0206F340 movs r4, r0 bne _0206EE3C mov r1, r5 mvn r0, #0x43 mov r2, #0 bl sub_0206C854 mvn r0, #0x43 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206EE3C: mov r0, sl, asr #0x10 mov r1, r0, lsl #0x10 ldr r5, [r4] ldr r2, [r4, #0xc] mov r0, r5 mov r1, r1, asr #0x10 bl sub_0206EFB0 movs r6, r0 bne _0206EE78 mov r1, sl mvn r0, #0x44 mov r2, #0 bl sub_0206C888 mvn r0, #0x44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206EE78: ldrb r0, [r6, #0x18] ldrb r1, [sb] ldrb r8, [r6, #0x1a] tst r0, #1 moveq r0, #1 movne r0, #0 mov r0, r0, lsl #0x18 mov r2, r0, asr #0x18 tst r1, #0x40 bne _0206EECC cmp r8, #0 ldrb r1, [r6, #0x1c] bne _0206EEBC mov r0, sl bl sub_0206EFF8 and r0, r0, #0xff b _0206EEDC _0206EEBC: mov r0, r8 bl sub_0206F100 and r0, r0, #0xff b _0206EEDC _0206EECC: mov r0, fp mov r1, r2 bl sub_0206F208 and r0, r0, #0xff _0206EEDC: cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r0, [r6, #0x1b] ldrb r1, [r6, #0x19] ldrb r2, [r6, #0x1c] bl sub_0206F2C4 movs r7, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrsb r1, [r7, #4] cmp r1, #1 bne _0206EF1C mov r1, #0 mov r2, #1 bl sub_0206E3C4 _0206EF1C: str sl, [r7, #0x28] mov r0, r7 str r5, [r7, #0x1c] bl sub_0206E85C mov r0, r7 mov r1, r6 bl sub_0206E554 movs r1, r0 bpl _0206EF54 mov r2, sl mvn r0, #0x4e bl sub_0206C854 mvn r0, #0x4e ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0206EF54: mov r0, r7 bl sub_0206E26C mov r0, #0 str r0, [r7, #0x68] strh r0, [r7, #0x74] mov r0, #1 strb r0, [r7, #2] ldrsb r0, [r4, #0x18] strb r0, [r7, #9] bl sub_0206C688 ldrsb r3, [r4, #0x18] mov r1, fp mov r2, r8 and r3, r3, r0 strb r3, [r7, #8] mov r3, #1 strb r3, [r7, #0xa] mov r0, r7 mov r3, sb bl sub_0206DB7C cmp r0, #0 movge r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0206EDFC arm_func_start sub_0206EFB0 sub_0206EFB0: ; 0x0206EFB0 cmp r1, #0 movlt r0, #0 bxlt lr ldrsh r3, [r0, #0x30] cmp r3, r1 movle r0, #0 bxle lr ldrb r3, [r0, #0x35] cmp r3, #0 moveq r2, r0 addeq r3, r0, #0x40 movne r3, r2 mov r0, r1, lsl #1 ldrh r0, [r3, r0] cmp r0, #0 moveq r0, #0 addne r0, r2, r0 bx lr arm_func_end sub_0206EFB0 arm_func_start sub_0206EFF8 sub_0206EFF8: ; 0x0206EFF8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 movs sb, r1 mov r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r3, _0206F0F8 ; =0x04000208 cmp r2, #1 ldrh r1, [r3] str r1, [sp] strh r0, [r3] bne _0206F0AC ldr r4, _0206F0FC ; =_022B7330 mov fp, r0 mov r6, r0 mvn r5, #0x80000000 _0206F034: ldr r1, [r4, #0x668] mov r7, r6 mov r2, r5 cmp r1, #0 beq _0206F07C _0206F048: ldrsb r0, [r1, #4] cmp r0, #1 ldreq r0, [r1, #0x28] cmpeq r0, sl bne _0206F070 ldr r0, [r1, #0x30] add r7, r7, #1 cmp r2, r0 movhi r2, r0 movhi r8, r1 _0206F070: ldr r1, [r1, #0xa4] cmp r1, #0 bne _0206F048 _0206F07C: cmp r7, sb blt _0206F09C cmp r8, #0 beq _0206F09C mov r0, r8 mov r1, fp mov r2, #1 bl sub_0206E3C4 _0206F09C: cmp r7, sb bgt _0206F034 mov r0, #0 b _0206F0E4 _0206F0AC: ldr r1, _0206F0FC ; =_022B7330 ldr r2, [r1, #0x668] cmp r2, #0 beq _0206F0DC _0206F0BC: ldrsb r1, [r2, #4] cmp r1, #1 ldreq r1, [r2, #0x28] ldr r2, [r2, #0xa4] cmpeq r1, sl addeq r0, r0, #1 cmp r2, #0 bne _0206F0BC _0206F0DC: cmp r0, sb movlt r0, #0 _0206F0E4: ldr r2, _0206F0F8 ; =0x04000208 ldrh r1, [r2] ldr r1, [sp] strh r1, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206F0F8: .word 0x04000208 _0206F0FC: .word _022B7330 arm_func_end sub_0206EFF8 arm_func_start sub_0206F100 sub_0206F100: ; 0x0206F100 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 movs sb, r1 mov r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r3, _0206F200 ; =0x04000208 cmp r2, #1 ldrh r1, [r3] str r1, [sp] strh r0, [r3] bne _0206F1B4 ldr r4, _0206F204 ; =_022B7330 mov fp, r0 mov r6, r0 mvn r5, #0x80000000 _0206F13C: ldr r1, [r4, #0x668] mov r7, r6 mov r2, r5 cmp r1, #0 beq _0206F184 _0206F150: ldrsb r0, [r1, #4] cmp r0, #1 ldreqb r0, [r1, #0x14] cmpeq r0, sl bne _0206F178 ldr r0, [r1, #0x30] add r7, r7, #1 cmp r2, r0 movhi r2, r0 movhi r8, r1 _0206F178: ldr r1, [r1, #0xa4] cmp r1, #0 bne _0206F150 _0206F184: cmp r7, sb blt _0206F1A4 cmp r8, #0 beq _0206F1A4 mov r0, r8 mov r1, fp mov r2, #1 bl sub_0206E3C4 _0206F1A4: cmp r7, sb bgt _0206F13C mov r0, #0 b _0206F1EC _0206F1B4: ldr r1, _0206F204 ; =_022B7330 ldr r2, [r1, #0x668] cmp r2, #0 beq _0206F1E4 _0206F1C4: ldrsb r1, [r2, #4] cmp r1, #1 ldreqb r1, [r2, #0x14] ldr r2, [r2, #0xa4] cmpeq r1, sl addeq r0, r0, #1 cmp r2, #0 bne _0206F1C4 _0206F1E4: cmp r0, sb movlt r0, #0 _0206F1EC: ldr r2, _0206F200 ; =0x04000208 ldrh r1, [r2] ldr r1, [sp] strh r1, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0206F200: .word 0x04000208 _0206F204: .word _022B7330 arm_func_end sub_0206F100 arm_func_start sub_0206F208 sub_0206F208: ; 0x0206F208 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r2, _0206F2BC ; =0x04000208 mov r4, #0 ldrh r6, [r2] mov r7, r0 cmp r1, #1 strh r4, [r2] bne _0206F274 ldr r0, _0206F2C0 ; =_022B7330 ldr r5, [r0, #0x668] cmp r5, #0 beq _0206F2A8 mov sb, r4 mov r8, #1 _0206F240: ldrsb r0, [r5, #4] cmp r0, #1 ldreqh r0, [r5, #0x2c] cmpeq r0, r7 bne _0206F264 mov r0, r5 mov r1, sb mov r2, r8 bl sub_0206E3C4 _0206F264: ldr r5, [r5, #0xa4] cmp r5, #0 bne _0206F240 b _0206F2A8 _0206F274: ldr r0, _0206F2C0 ; =_022B7330 ldr r1, [r0, #0x668] cmp r1, #0 beq _0206F2A8 _0206F284: ldrsb r0, [r1, #4] cmp r0, #1 ldreqh r0, [r1, #0x2c] cmpeq r0, r7 moveq r4, #1 beq _0206F2A8 ldr r1, [r1, #0xa4] cmp r1, #0 bne _0206F284 _0206F2A8: ldr r2, _0206F2BC ; =0x04000208 mov r0, r4 ldrh r1, [r2] strh r6, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0206F2BC: .word 0x04000208 _0206F2C0: .word _022B7330 arm_func_end sub_0206F208 arm_func_start sub_0206F2C4 sub_0206F2C4: ; 0x0206F2C4 stmdb sp!, {r3, lr} ldr r2, _0206F338 ; =0x04000208 mov r3, #0 ldrh lr, [r2] ldr r1, _0206F33C ; =_022B7330 sub ip, r3, #1 strh r3, [r2] ldr r2, [r1, #0x668] cmp r2, #0 beq _0206F324 _0206F2EC: ldrsb r1, [r2, #4] cmp r1, #0 moveq r3, r2 beq _0206F324 ldrb r1, [r2, #0x12] cmp r1, r0 blo _0206F318 ldr r1, [r2, #0x30] cmp ip, r1 movhi ip, r1 movhi r3, r2 _0206F318: ldr r2, [r2, #0xa4] cmp r2, #0 bne _0206F2EC _0206F324: ldr r2, _0206F338 ; =0x04000208 mov r0, r3 ldrh r1, [r2] strh lr, [r2] ldmia sp!, {r3, pc} .align 2, 0 _0206F338: .word 0x04000208 _0206F33C: .word _022B7330 arm_func_end sub_0206F2C4 arm_func_start sub_0206F340 sub_0206F340: ; 0x0206F340 ldr r3, _0206F384 ; =0x04000208 ldr r1, _0206F388 ; =_022B7330 ldrh ip, [r3] mov r2, #0 strh r2, [r3] ldr r3, [r1, #0x66c] b _0206F360 _0206F35C: ldr r3, [r3, #8] _0206F360: cmp r3, #0 ldrneh r1, [r3, #6] cmpne r1, r0 bne _0206F35C ldr r2, _0206F384 ; =0x04000208 mov r0, r3 ldrh r1, [r2] strh ip, [r2] bx lr .align 2, 0 _0206F384: .word 0x04000208 _0206F388: .word _022B7330 arm_func_end sub_0206F340 arm_func_start sub_0206F38C sub_0206F38C: ; 0x0206F38C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 mvn r0, #0 mov r7, r1 mov r6, r2 cmp r8, r0 ldr r2, _0206F4D8 ; =0x04000208 mov r1, #0 beq _0206F478 cmp r7, #0 bne _0206F414 ldrh r4, [r2] ldr r0, _0206F4DC ; =_022B7330 strh r1, [r2] ldr r7, [r0, #0x668] cmp r7, #0 beq _0206F404 mov r5, #1 _0206F3D4: ldrsb r0, [r7, #4] cmp r0, #1 ldreq r0, [r7, #0x28] cmpeq r0, r8 bne _0206F3F8 mov r0, r7 mov r1, r6 mov r2, r5 bl sub_0206E3C4 _0206F3F8: ldr r7, [r7, #0xa4] cmp r7, #0 bne _0206F3D4 _0206F404: ldr r1, _0206F4D8 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] b _0206F4D0 _0206F414: ldrh r4, [r2] ldr r0, _0206F4DC ; =_022B7330 strh r1, [r2] ldr r5, [r0, #0x668] cmp r5, #0 beq _0206F468 mov sb, #1 _0206F430: ldrsb r0, [r5, #4] cmp r0, #1 ldreq r0, [r5, #0x28] cmpeq r0, r8 ldreqh r0, [r5, #0x2c] cmpeq r0, r7 bne _0206F45C mov r0, r5 mov r1, r6 mov r2, sb bl sub_0206E3C4 _0206F45C: ldr r5, [r5, #0xa4] cmp r5, #0 bne _0206F430 _0206F468: ldr r1, _0206F4D8 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] b _0206F4D0 _0206F478: ldrh r4, [r2] ldr r0, _0206F4DC ; =_022B7330 strh r1, [r2] ldr r8, [r0, #0x668] cmp r8, #0 beq _0206F4C4 mov r5, #1 _0206F494: ldrsb r0, [r8, #4] cmp r0, #1 ldreqh r0, [r8, #0x2c] cmpeq r0, r7 bne _0206F4B8 mov r0, r8 mov r1, r6 mov r2, r5 bl sub_0206E3C4 _0206F4B8: ldr r8, [r8, #0xa4] cmp r8, #0 bne _0206F494 _0206F4C4: ldr r1, _0206F4D8 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] _0206F4D0: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0206F4D8: .word 0x04000208 _0206F4DC: .word _022B7330 arm_func_end sub_0206F38C arm_func_start sub_0206F4E0 sub_0206F4E0: ; 0x0206F4E0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _0206F544 ; =0x04000208 mov r2, #0 ldrh r4, [r3] ldr r1, _0206F548 ; =_022B7330 mov r5, r0 strh r2, [r3] ldr r7, [r1, #0x668] cmp r7, #0 beq _0206F534 mov r6, #1 _0206F50C: ldrsb r0, [r7, #4] cmp r0, #1 bne _0206F528 mov r0, r7 mov r1, r5 mov r2, r6 bl sub_0206E3C4 _0206F528: ldr r7, [r7, #0xa4] cmp r7, #0 bne _0206F50C _0206F534: ldr r1, _0206F544 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0206F544: .word 0x04000208 _0206F548: .word _022B7330 arm_func_end sub_0206F4E0 arm_func_start sub_0206F54C sub_0206F54C: ; 0x0206F54C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r3, _0206F5C0 ; =0x04000208 mov r2, #0 ldrh r5, [r3] ldr r1, _0206F5C4 ; =_022B7330 mov r6, r0 strh r2, [r3] ldr r4, [r1, #0x668] cmp r4, #0 beq _0206F5B0 mov r8, r2 mov r7, #1 _0206F57C: ldrsb r0, [r4, #4] cmp r0, #1 ldreq r0, [r4, #0x28] moveq r0, r0, lsl #0x10 cmpeq r6, r0, lsr #16 bne _0206F5A4 mov r0, r4 mov r1, r8 mov r2, r7 bl sub_0206E3C4 _0206F5A4: ldr r4, [r4, #0xa4] cmp r4, #0 bne _0206F57C _0206F5B0: ldr r1, _0206F5C0 ; =0x04000208 ldrh r0, [r1] strh r5, [r1] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206F5C0: .word 0x04000208 _0206F5C4: .word _022B7330 arm_func_end sub_0206F54C arm_func_start sub_0206F5C8 sub_0206F5C8: ; 0x0206F5C8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 mvn r0, #0 mov r6, r1 mov r5, r2 cmp r7, r0 ldr r2, _0206F6F4 ; =0x04000208 mov r1, #0 beq _0206F69C cmp r6, #0 bne _0206F648 ldrh r4, [r2] ldr r0, _0206F6F8 ; =_022B7330 strh r1, [r2] ldr r6, [r0, #0x668] cmp r6, #0 beq _0206F638 _0206F60C: ldrsb r0, [r6, #4] cmp r0, #1 ldreq r0, [r6, #0x28] cmpeq r0, r7 bne _0206F62C mov r0, r6 mov r1, r5 bl sub_0206DD70 _0206F62C: ldr r6, [r6, #0xa4] cmp r6, #0 bne _0206F60C _0206F638: ldr r1, _0206F6F4 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] b _0206F6EC _0206F648: ldrh r4, [r2] ldr r0, _0206F6F8 ; =_022B7330 strh r1, [r2] ldr r8, [r0, #0x668] cmp r8, #0 beq _0206F68C _0206F660: ldr r0, [r8, #0x28] cmp r0, r7 ldreqh r0, [r8, #0x2c] cmpeq r0, r6 bne _0206F680 mov r0, r8 mov r1, r5 bl sub_0206DD70 _0206F680: ldr r8, [r8, #0xa4] cmp r8, #0 bne _0206F660 _0206F68C: ldr r1, _0206F6F4 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] b _0206F6EC _0206F69C: ldrh r4, [r2] ldr r0, _0206F6F8 ; =_022B7330 strh r1, [r2] ldr r7, [r0, #0x668] cmp r7, #0 beq _0206F6E0 _0206F6B4: ldrsb r0, [r7, #4] cmp r0, #1 ldreqh r0, [r7, #0x2c] cmpeq r0, r6 bne _0206F6D4 mov r0, r7 mov r1, r5 bl sub_0206DD70 _0206F6D4: ldr r7, [r7, #0xa4] cmp r7, #0 bne _0206F6B4 _0206F6E0: ldr r1, _0206F6F4 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] _0206F6EC: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206F6F4: .word 0x04000208 _0206F6F8: .word _022B7330 arm_func_end sub_0206F5C8 arm_func_start sub_0206F6FC sub_0206F6FC: ; 0x0206F6FC stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r2, _0206F76C ; =0x04000208 ldr r1, _0206F770 ; =_022B9208 ldrh r5, [r2] ldr r4, [r1, #0x1cc] mov r1, #0 mov r6, r0 strh r1, [r2] cmp r4, #0 beq _0206F758 mov r8, #1 mov r7, r8 _0206F72C: ldrsb r0, [r4, #0xa] cmp r0, #1 bne _0206F74C mov r0, r4 mov r1, r8 mov r2, r6 bl sub_0206FAE8 strb r7, [r4, #0x13] _0206F74C: ldr r4, [r4, #0x500] cmp r4, #0 bne _0206F72C _0206F758: ldr r2, _0206F76C ; =0x04000208 mov r0, #0 ldrh r1, [r2] strh r5, [r2] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206F76C: .word 0x04000208 _0206F770: .word _022B9208 arm_func_end sub_0206F6FC arm_func_start sub_0206F774 sub_0206F774: ; 0x0206F774 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0206F7C4 ; =_022B9208 mov r6, r0 ldr r5, [r1, #0x1cc] cmp r5, #0 beq _0206F7BC mov r4, #0 _0206F790: ldrsb r0, [r5, #0x13] cmp r0, #1 bne _0206F7B0 mov r0, r5 mov r1, r4 mov r2, r6 strb r4, [r5, #0x13] bl sub_0206FAE8 _0206F7B0: ldr r5, [r5, #0x500] cmp r5, #0 bne _0206F790 _0206F7BC: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206F7C4: .word _022B9208 arm_func_end sub_0206F774 arm_func_start sub_0206F7C8 sub_0206F7C8: ; 0x0206F7C8 stmdb sp!, {r3, lr} ldr r1, _0206F804 ; =_022B9208 ldrsb r1, [r1, #4] cmp r1, #0 mvneq r0, #0x59 ldmeqia sp!, {r3, pc} bl sub_0206FD2C cmp r0, #0 mvneq r0, #0xb0 ldmeqia sp!, {r3, pc} ldrsb r1, [r0, #4] cmp r1, #0 moveq r0, #0 ldrne r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0206F804: .word _022B9208 arm_func_end sub_0206F7C8 arm_func_start sub_0206F808 sub_0206F808: ; 0x0206F808 stmdb sp!, {r4, lr} ldr r0, _0206F83C ; =_022B9208 ldr r4, [r0, #0x1cc] cmp r4, #0 ldmeqia sp!, {r4, pc} _0206F81C: ldr r0, [r4] cmp r0, #0 ble _0206F82C bl sub_0206F840 _0206F82C: ldr r4, [r4, #0x500] cmp r4, #0 bne _0206F81C ldmia sp!, {r4, pc} .align 2, 0 _0206F83C: .word _022B9208 arm_func_end sub_0206F808 arm_func_start sub_0206F840 sub_0206F840: ; 0x0206F840 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0206F96C ; =_022B9208 mov r5, r0 ldrsb r1, [r1, #4] cmp r1, #0 mvneq r0, #0x59 ldmeqia sp!, {r4, r5, r6, pc} bl sub_0206FD2C movs r4, r0 bne _0206F880 mov r1, r5 mvn r0, #0x3f mov r2, #0 bl sub_0206C854 mvn r0, #0x3f ldmia sp!, {r4, r5, r6, pc} _0206F880: mov r1, #0 strb r1, [r4, #0x2b] ldr r0, _0206F970 ; =0x04000208 strb r1, [r4, #9] ldrh r3, [r0] strh r1, [r0] ldrsb r2, [r4, #6] ldr r1, _0206F970 ; =0x04000208 cmp r2, #0 moveq r0, #1 streqb r0, [r4, #6] ldrh r0, [r1] cmp r2, #0 strh r3, [r1] bne _0206F964 mov r1, #0 strb r1, [r4, #0x14] ldrsb r0, [r4, #0xa] cmp r0, #1 bne _0206F904 mov r0, r5 bl sub_0206F9EC mov r0, r5 bl sub_0206F974 cmp r0, #0 ble _0206F904 mov r6, #4 _0206F8EC: mov r0, r6 bl sub_02079B14 mov r0, r5 bl sub_0206F974 cmp r0, #0 bgt _0206F8EC _0206F904: ldrsb r0, [r4, #0x12] cmp r0, #1 bne _0206F918 mov r0, r4 bl sub_0207009C _0206F918: mov r1, #1 strb r1, [r4, #5] strb r1, [r4, #0x10] mov r0, #0 strb r0, [r4, #0x13] ldrb r0, [r4, #0x1a] cmp r0, #2 mov r0, r5 streqb r1, [r4, #7] bl sub_0206F7C8 cmp r0, #0 blt _0206F964 mov r4, #4 _0206F94C: mov r0, r4 bl sub_02079B14 mov r0, r5 bl sub_0206F7C8 cmp r0, #0 bge _0206F94C _0206F964: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206F96C: .word _022B9208 _0206F970: .word 0x04000208 arm_func_end sub_0206F840 arm_func_start sub_0206F974 sub_0206F974: ; 0x0206F974 stmdb sp!, {r3, lr} ldr r1, _0206F9A0 ; =_022B9208 ldrsb r1, [r1, #4] cmp r1, #0 mvneq r0, #0x59 ldmeqia sp!, {r3, pc} bl sub_0206FD2C cmp r0, #0 mvneq r0, #0x3f ldrnesb r0, [r0, #0xa] ldmia sp!, {r3, pc} .align 2, 0 _0206F9A0: .word _022B9208 arm_func_end sub_0206F974 arm_func_start sub_0206F9A4 sub_0206F9A4: ; 0x0206F9A4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0206F9E8 ; =_022B9208 mov r5, r0 ldr r4, [r1, #0x1cc] cmp r4, #0 beq _0206F9E0 _0206F9BC: ldrsb r0, [r4, #0xa] cmp r0, #1 bne _0206F9D4 ldr r0, [r4] mov r1, r5 bl sub_0206F9EC _0206F9D4: ldr r4, [r4, #0x500] cmp r4, #0 bne _0206F9BC _0206F9E0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0206F9E8: .word _022B9208 arm_func_end sub_0206F9A4 arm_func_start sub_0206F9EC sub_0206F9EC: ; 0x0206F9EC stmdb sp!, {r4, r5, r6, lr} ldr r2, _0206FAE0 ; =_022B9208 mov r5, r0 ldrsb r2, [r2, #4] mov r6, r1 cmp r2, #0 mvneq r0, #0x59 ldmeqia sp!, {r4, r5, r6, pc} bl sub_0206FD2C movs r4, r0 bne _0206FA30 mov r1, r5 mvn r0, #0x3f mov r2, #0 bl sub_0206C854 mvn r0, #0x3f ldmia sp!, {r4, r5, r6, pc} _0206FA30: mov r5, #0 strb r5, [r4, #0x2a] cmp r6, #0 beq _0206FA60 mov r0, #0x3e8 mul r0, r6, r0 ldr r1, _0206FAE4 ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r5, r0, lsr #0x10 moveq r5, #1 _0206FA60: cmp r5, #0 mov r1, #0 bne _0206FAA4 strb r1, [r4, #0x14] strb r1, [r4, #0xa] mov r0, r4 strb r1, [r4, #0xd] bl sub_0207009C mov r2, #0 str r2, [r4, #0x2c] strh r2, [r4, #0x38] ldr r0, [r4] ldr r3, [r4, #0x1fc] ldr r4, [r4, #0x1f8] mov r1, #9 blx r4 b _0206FAD8 _0206FAA4: mov r0, #1 strb r0, [r4, #0x14] str r1, [r4, #0x34] streq r1, [r4, #0x2c] beq _0206FAD4 ldr r0, [r4, #0x2c] rsbs r0, r0, #0 moveq r5, r1 beq _0206FAD4 mov r1, r5 bl __divsi3 str r0, [r4, #0x30] _0206FAD4: strh r5, [r4, #0x38] _0206FAD8: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206FAE0: .word _022B9208 _0206FAE4: .word _022B7330 arm_func_end sub_0206F9EC arm_func_start sub_0206FAE8 sub_0206FAE8: ; 0x0206FAE8 stmdb sp!, {r3, r4, r5, lr} mov r3, #0x3e8 mov r4, r0 mul r0, r2, r3 ldr r2, _0206FBC4 ; =_022B7330 mov r5, r1 ldrsh r1, [r2, #0x28] bl __divsi3 ldrsb r1, [r4, #0x13] cmp r1, #1 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} cmp r5, #1 bne _0206FB9C cmp r0, #0 bne _0206FB58 ldrsb r0, [r4, #8] cmp r0, #1 bne _0206FBBC mov r0, r4 bl sub_0207009C ldr r0, [r4] ldr r3, [r4, #0x1fc] ldr r4, [r4, #0x1f8] mov r1, #9 mov r2, #0 blx r4 b _0206FBBC _0206FB58: mov r1, #1 strb r1, [r4, #0x14] mov r1, #0 mov r0, r0, lsl #0x10 str r1, [r4, #0x34] movs r5, r0, lsr #0x10 streq r1, [r4, #0x2c] beq _0206FB94 ldr r0, [r4, #0x2c] rsbs r0, r0, #0 moveq r5, r1 beq _0206FB94 mov r1, r5 bl __divsi3 str r0, [r4, #0x30] _0206FB94: strh r5, [r4, #0x38] b _0206FBBC _0206FB9C: mov r1, #1 strb r1, [r4, #0xa] ldrsb r0, [r4, #8] cmp r0, #1 bne _0206FBBC mov r0, r4 strb r1, [r4, #0x15] bl sub_0206FE5C _0206FBBC: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0206FBC4: .word _022B7330 arm_func_end sub_0206FAE8 arm_func_start sub_0206FBC8 sub_0206FBC8: ; 0x0206FBC8 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _0206FC80 ; =_022B9208 ldr r4, [r0, #0x1cc] cmp r4, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r7, #0 mov r6, #9 mov r5, r7 _0206FBE8: ldrsb r0, [r4, #0xa] cmp r0, #0 ldrnesb r0, [r4, #8] cmpne r0, #0 ldrneh r0, [r4, #0x38] cmpne r0, #0 beq _0206FC70 sub r0, r0, #1 strh r0, [r4, #0x38] ldrh r0, [r4, #0x38] cmp r0, #0 ldreq r0, [r4, #0x34] beq _0206FC28 ldr r1, [r4, #0x2c] ldr r0, [r4, #0x30] add r0, r1, r0 _0206FC28: str r0, [r4, #0x2c] ldrh r8, [r4, #0x38] mov r0, r4 bl sub_0206FC84 cmp r8, #0 ldreqsb r0, [r4, #0x14] cmpeq r0, #1 bne _0206FC70 strb r7, [r4, #0xa] mov r0, r4 strb r7, [r4, #0x14] bl sub_0207009C ldr r0, [r4] ldr r3, [r4, #0x1fc] ldr ip, [r4, #0x1f8] mov r1, r6 mov r2, r5 blx ip _0206FC70: ldr r4, [r4, #0x500] cmp r4, #0 bne _0206FBE8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0206FC80: .word _022B9208 arm_func_end sub_0206FBC8 arm_func_start sub_0206FC84 sub_0206FC84: ; 0x0206FC84 stmdb sp!, {r4, r5, r6, lr} ldr r1, [r0, #0x2c] ldrb r2, [r0, #0xbc] mov r1, r1, asr #0x10 ldr r4, _0206FD20 ; =0x04000208 mul r1, r2, r1 ldrb r5, [r0, #0x22] ldr r3, _0206FD24 ; =0x82061029 ldrh r2, [r4] mul ip, r5, r1 smull r1, lr, r3, ip mov r1, #0 strh r1, [r4] ldrb r4, [r0, #0x1f] add lr, ip, lr mov r3, ip, lsr #0x1f add lr, r3, lr, asr #13 mul r5, lr, lr ldr lr, _0206FD28 ; =0x81020409 mov r3, r5, lsr #0x1f smull ip, r6, lr, r5 add r6, r5, r6 cmp r4, #0 add r6, r3, r6, asr #6 ble _0206FD10 _0206FCE8: add r3, r0, r1, lsl #2 ldr ip, [r3, #0x1d8] add r1, r1, #1 str r6, [ip, #0x140] ldrh r3, [ip, #6] orr r3, r3, #0x20 strh r3, [ip, #6] ldrb r3, [r0, #0x1f] cmp r1, r3 blt _0206FCE8 _0206FD10: ldr r1, _0206FD20 ; =0x04000208 ldrh r0, [r1] strh r2, [r1] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0206FD20: .word 0x04000208 _0206FD24: .word 0x82061029 _0206FD28: .word 0x81020409 arm_func_end sub_0206FC84 arm_func_start sub_0206FD2C sub_0206FD2C: ; 0x0206FD2C cmp r0, #0 moveq r0, #0 bxeq lr ldr r3, _0206FD80 ; =0x04000208 mov r2, #0 ldrh ip, [r3] ldr r1, _0206FD84 ; =_022B9208 strh r2, [r3] ldr r3, [r1, #0x1cc] cmp r3, #0 beq _0206FD6C _0206FD58: ldr r1, [r3] cmp r1, r0 ldrne r3, [r3, #0x500] cmpne r3, #0 bne _0206FD58 _0206FD6C: ldr r2, _0206FD80 ; =0x04000208 mov r0, r3 ldrh r1, [r2] strh ip, [r2] bx lr .align 2, 0 _0206FD80: .word 0x04000208 _0206FD84: .word _022B9208 arm_func_end sub_0206FD2C arm_func_start sub_0206FD88 sub_0206FD88: ; 0x0206FD88 stmdb sp!, {r4, lr} ldr r1, _0206FDAC ; =_022B9208 mov r4, r0 ldr r0, [r1, #0x1c8] ldr r2, [r1, #0x1c4] sub r1, r4, #0x10 blx r2 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0206FDAC: .word _022B9208 arm_func_end sub_0206FD88 arm_func_start sub_0206FDB0 sub_0206FDB0: ; 0x0206FDB0 stmdb sp!, {r3, lr} ldr r0, _0206FDD8 ; =_022B9208 ldrsb r1, [r0, #0x2a] cmp r1, #1 ldrnesb r0, [r0, #0xf5] cmpne r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _0206FDDC ; =_022B9234 bl sub_02079940 ldmia sp!, {r3, pc} .align 2, 0 _0206FDD8: .word _022B9208 _0206FDDC: .word _022B9234 arm_func_end sub_0206FDB0 arm_func_start sub_0206FDE0 sub_0206FDE0: ; 0x0206FDE0 stmdb sp!, {r3, lr} ldr r2, _0206FE4C ; =_022B7330 ldr r1, _0206FE50 ; =_022B9208 ldrb ip, [r2, #0x738] mov r3, #0 ldr r0, _0206FE54 ; =_022B9234 bic ip, ip, #6 strb ip, [r2, #0x738] ldrb ip, [r2, #0x739] strb r3, [r1, #0x29] mov r3, #1 orr ip, ip, #6 strb ip, [r2, #0x739] strb r3, [r1, #0x2a] bl sub_02079940 ldr r0, _0206FE54 ; =_022B9234 bl sub_02079800 ldr r1, _0206FE50 ; =_022B9208 mov r2, #0 ldr r0, _0206FE58 ; =_022B9300 strb r2, [r1, #0xf5] mov r2, #1 strb r2, [r1, #0xf6] bl sub_02079940 ldr r0, _0206FE58 ; =_022B9300 bl sub_02079800 ldmia sp!, {r3, pc} .align 2, 0 _0206FE4C: .word _022B7330 _0206FE50: .word _022B9208 _0206FE54: .word _022B9234 _0206FE58: .word _022B9300 arm_func_end sub_0206FDE0 arm_func_start sub_0206FE5C sub_0206FE5C: ; 0x0206FE5C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 ldrsb r0, [sl, #0x12] cmp r0, #1 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrsb r0, [sl, #0x15] add r5, sl, #0x1b8 cmp r0, #1 bne _0206FEB0 ldr r1, [r5, #0xc] ldr r2, [r5] mov r0, #0 bl ArrayFill32Fast ldr r0, [r5, #0xc] ldr r1, [r5] bl sub_0207A2DC mov r0, #0 strb r0, [sl, #0x15] _0206FEB0: mov r0, #0 strb r0, [r5, #0x2c] ldr r1, [sl, #0x3c] ldr r0, _02070080 ; =0x00FFB0FF bl __udivsi3 mov r4, r0 ldr r1, [r5, #8] ldr r0, _02070084 ; =_022B9208 mul r1, r4, r1 mov r1, r1, lsr #6 str r0, [sp] ldr r3, _02070088 ; =sub_0206FDB0 mov r2, r1 mov r0, #2 bl sub_0207C984 ldr r0, [sl, #0x2c] ldrb r1, [sl, #0xbc] mov r0, r0, asr #0x10 ldrb r2, [sl, #0x22] mul r0, r1, r0 mul r6, r2, r0 ldr r2, _0207008C ; =0x82061029 ldr r0, _02070090 ; =0x04000208 smull r1, r7, r2, r6 ldr r3, [r5, #4] add r7, r6, r7 mov r1, r6, lsr #0x1f add r7, r1, r7, asr #13 ldrh r1, [r0] mul r6, r7, r7 ldr r2, _02070094 ; =0x81020409 str r1, [sp, #4] smull r1, sb, r2, r6 add sb, r6, sb mov r1, r6, lsr #0x1f mov r6, #0 strh r6, [r0] ldrb r0, [sl, #0x1f] mov r8, r3, lsr #2 add sb, r1, sb, asr #6 cmp r0, #0 ble _0207000C mvn fp, #0xc0000000 _0206FF5C: add r0, r5, r6, lsl #2 ldr r7, [r0, #0x20] mov r0, #0x1000 strh r0, [r7, #4] mov r0, #1 strb r0, [r7, #0xc] strb r0, [r7, #0x1f] ldrb r0, [sl, #0x1e] cmp r0, #1 moveq r0, #0 movne r0, r6 add r0, r5, r0, lsl #2 ldr r0, [r0, #0x10] str r0, [r7, #0x30] mov r0, #0 str r0, [r7, #0x34] str r8, [r7, #0x38] mov r0, #1 strb r0, [r7, #0x21] str r4, [r7, #0x13c] str sb, [r7, #0x140] ldrb r0, [sl, #0x1e] cmp r0, #1 ldrne r0, _02070098 ; =_022B7330 ldrneb r0, [r0, #0x39] cmpne r0, #1 moveq r0, #0x40 streq r0, [r7, #0x144] beq _0206FFE0 tst r6, #1 moveq r0, #0 movne r0, #0x7f str r0, [r7, #0x144] _0206FFE0: add r0, r7, #0x3c mov r1, fp bl sub_02074F1C add r0, r7, #0x5c bl sub_0207509C mov r0, #1 strh r0, [r7, #6] ldrb r0, [sl, #0x1f] add r6, r6, #1 cmp r6, r0 blt _0206FF5C _0207000C: ldr r1, _02070098 ; =_022B7330 ldr r3, _02070090 ; =0x04000208 ldrb r4, [r1, #0x739] mov r2, #1 mov r0, #0 bic r4, r4, #4 strb r4, [r1, #0x739] ldrb r4, [r1, #0x738] orr r4, r4, #4 strb r4, [r1, #0x738] ldrh r1, [r3] ldr r1, [sp, #4] strh r1, [r3] strb r2, [sl, #0x12] ldrb r1, [sl, #0x1e] cmp r1, #0 ble _02070074 mov r2, r0 _02070054: add r1, sl, r0, lsl #2 add r1, r1, #0x200 strh r2, [r1, #0x10] strh r2, [r1, #0x12] ldrb r1, [sl, #0x1e] add r0, r0, #1 cmp r0, r1 blt _02070054 _02070074: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02070080: .word 0x00FFB0FF _02070084: .word _022B9208 _02070088: .word sub_0206FDB0 _0207008C: .word 0x82061029 _02070090: .word 0x04000208 _02070094: .word 0x81020409 _02070098: .word _022B7330 arm_func_end sub_0206FE5C arm_func_start sub_0207009C sub_0207009C: ; 0x0207009C ldr r3, _0207011C ; =0x04000208 mov ip, #0 ldrh r1, [r3] strh ip, [r3] ldrsb r2, [r0, #0x12] cmp r2, #0 bne _020700C8 ldrh r0, [r3] mov r0, ip strh r1, [r3] bx lr _020700C8: strb ip, [r0, #0x12] ldrb r2, [r0, #0x1f] cmp r2, #0 ble _020700F8 mov r3, #2 _020700DC: add r2, r0, ip, lsl #2 ldr r2, [r2, #0x1d8] add ip, ip, #1 strh r3, [r2, #6] ldrb r2, [r0, #0x1f] cmp ip, r2 blt _020700DC _020700F8: ldr r2, _02070120 ; =_022B7330 ldr r3, _0207011C ; =0x04000208 ldrb ip, [r2, #0x739] mov r0, #0 orr ip, ip, #4 strb ip, [r2, #0x739] ldrh r2, [r3] strh r1, [r3] bx lr .align 2, 0 _0207011C: .word 0x04000208 _02070120: .word _022B7330 arm_func_end sub_0207009C arm_func_start sub_02070124 sub_02070124: ; 0x02070124 stmdb sp!, {r3, lr} ldr r0, _02070144 ; =_022B7A30 mov r1, #0 strh r1, [r0, #0xe] strh r1, [r0, #0x10] bl sub_020701F8 mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02070144: .word _022B7A30 arm_func_end sub_02070124 arm_func_start sub_02070148 sub_02070148: ; 0x02070148 stmdb sp!, {r3, lr} bl sub_0207028C mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02070148 arm_func_start sub_02070158 sub_02070158: ; 0x02070158 stmdb sp!, {r3, lr} ldr r0, _02070184 ; =_022B7A30 ldrh r0, [r0, #0xe] cmp r0, #0 beq _0207017C mov r0, #0 mov r1, r0 mov r2, r0 bl sub_020702F8 _0207017C: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02070184: .word _022B7A30 arm_func_end sub_02070158 arm_func_start sub_02070188 sub_02070188: ; 0x02070188 stmdb sp!, {r3, lr} ldr r0, _020701A8 ; =_022B9484 ldrsb r0, [r0, #0x24] cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _020701AC ; =_022B9484 bl sub_020708F4 ldmia sp!, {r3, pc} .align 2, 0 _020701A8: .word _022B9484 _020701AC: .word _022B9484 arm_func_end sub_02070188 arm_func_start sub_020701B0 sub_020701B0: ; 0x020701B0 stmdb sp!, {r3, lr} ldr r0, _020701F0 ; =_022B9484 ldrsb r0, [r0, #0x24] cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _020701F4 ; =_022B9484 mov r1, #0 mov r2, #1 bl FlushChannels ldr r0, _020701F4 ; =_022B9484 mov r1, #1 mov r2, #3 bl FlushChannels ldr r0, _020701F4 ; =_022B9484 bl sub_020706E8 ldmia sp!, {r3, pc} .align 2, 0 _020701F0: .word _022B9484 _020701F4: .word _022B9484 arm_func_end sub_020701B0 arm_func_start sub_020701F8 sub_020701F8: ; 0x020701F8 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r3, _02070278 ; =_022B9484 mov ip, #0 str ip, [r3] str ip, [r3, #8] strb ip, [r3, #0x24] strb ip, [r3, #0x25] ldr r2, _0207027C ; =0x78667473 mov r0, #0x400 mov r1, #0x10 strb ip, [r3, #0x26] bl sub_0206CACC ldr r2, _02070278 ; =_022B9484 mov r1, #0x400 str r0, [r2, #0x34] ldr r0, _02070280 ; =_022B8330 str r1, [sp] ldrb r3, [r0, #0xd10] ldr r0, _02070284 ; =_022B94BC ldr r1, _02070288 ; =sub_020709A0 add r3, r3, #1 str r3, [sp, #4] ldr r3, [r2, #0x34] mov r2, #0 add r3, r3, #0x400 bl sub_02079560 ldr r0, _02070284 ; =_022B94BC bl sub_02079940 mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02070278: .word _022B9484 _0207027C: .word 0x78667473 _02070280: .word _022B8330 _02070284: .word _022B94BC _02070288: .word sub_020709A0 arm_func_end sub_020701F8 arm_func_start sub_0207028C sub_0207028C: ; 0x0207028C stmdb sp!, {r4, lr} mov r0, #0 mov r1, r0 mov r2, r0 bl sub_020702F8 ldr r0, _020702EC ; =_022B9484 mov r1, #1 ldr r2, _020702F0 ; =0x04000208 strb r1, [r0, #0x26] ldrh r4, [r2] mov r1, #0 ldr r0, _020702F4 ; =_022B94BC strh r1, [r2] bl sub_02079940 ldr r2, _020702F0 ; =0x04000208 ldr r0, _020702F4 ; =_022B94BC ldrh r1, [r2] strh r4, [r2] bl sub_02079800 ldr r0, _020702EC ; =_022B9484 ldr r0, [r0, #0x34] bl sub_0206CC14 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _020702EC: .word _022B9484 _020702F0: .word 0x04000208 _020702F4: .word _022B94BC arm_func_end sub_0207028C arm_func_start sub_020702F8 sub_020702F8: ; 0x020702F8 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r3, _02070648 ; =0x0000FFFF mov r8, r1 cmp r8, r3 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r8, #0 ldreq r1, _0207064C ; =_022B9484 ldreqh r1, [r1, #0x1c] cmpeq r1, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r8, #0 beq _02070370 cmp r0, #1 blo _02070350 mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02070350: tst r8, #0xff00 bne _02070370 mov r1, #0 mov r2, r1 mvn r0, #0x17 bl sub_0206C854 mvn r0, #0x17 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02070370: cmp r2, #0 moveq r7, #0 moveq r6, r7 moveq r5, r7 beq _02070390 ldrb r5, [r2] ldrb r6, [r2, #1] ldrb r7, [r2, #2] _02070390: mov r1, #0xc mul r1, r0, r1 ldr r2, _02070650 ; =_022B7A3E ldr r0, _02070654 ; =_022B9484 strh r8, [r2, r1] add r1, r2, r1 strh r5, [r1, #2] strh r6, [r1, #8] strh r7, [r1, #0xa] bl sub_020708F4 ldr r0, _0207064C ; =_022B9484 mov r1, #0 strb r1, [r0, #0x24] ldr r0, [r0] cmp r0, #0 beq _020703E0 bl sub_0206CC14 ldr r0, _0207064C ; =_022B9484 mov r1, #0 str r1, [r0] _020703E0: ldr r0, _0207064C ; =_022B9484 ldr r0, [r0, #8] cmp r0, #0 beq _02070400 bl sub_0206CC14 ldr r0, _0207064C ; =_022B9484 mov r1, #0 str r1, [r0, #8] _02070400: cmp r8, #0 bgt _02070410 beq _0207051C b _02070514 _02070410: sub r0, r8, #0x300 cmp r0, #5 addls pc, pc, r0, lsl #2 b _02070514 _02070420: ; jump table b _02070438 ; case 0 b _02070458 ; case 1 b _02070480 ; case 2 b _020704A8 ; case 3 b _020704C4 ; case 4 b _020704EC ; case 5 _02070438: ldr r0, _0207064C ; =_022B9484 ldr r1, _02070658 ; =_02070A44 strb r5, [r0, #0x1e] cmp r6, #0 moveq r8, #0 str r1, [r0, #0x30] mov r4, #0 b _0207051C _02070458: ldr r0, _0207064C ; =_022B9484 mov r1, #0x7f strb r1, [r0, #0x1e] ldr r1, _0207065C ; =sub_02070A9C strb r5, [r0, #0x21] cmp r6, #0 moveq r8, #0 str r1, [r0, #0x30] mov r4, #1 b _0207051C _02070480: ldr r0, _0207064C ; =_022B9484 mov r1, #0x7f strb r1, [r0, #0x1e] ldr r1, _02070660 ; =sub_02070B74 strb r5, [r0, #0x21] cmp r6, #0 moveq r8, #0 str r1, [r0, #0x30] mov r4, #1 b _0207051C _020704A8: ldr r0, _0207064C ; =_022B9484 mov r2, #0x7f ldr r1, _02070664 ; =sub_02070C30 strb r2, [r0, #0x1e] str r1, [r0, #0x30] mov r4, #0 b _0207051C _020704C4: ldr r0, _0207064C ; =_022B9484 mov r1, #0x7f strb r1, [r0, #0x1e] ldr r1, _02070668 ; =sub_02070C58 strb r5, [r0, #0x21] cmp r6, #0 moveq r8, #0 str r1, [r0, #0x30] mov r4, #1 b _0207051C _020704EC: ldr r0, _0207064C ; =_022B9484 mov r1, #0x7f strb r1, [r0, #0x1e] ldr r1, _0207066C ; =sub_02070D44 strb r5, [r0, #0x21] cmp r6, #0 moveq r8, #0 str r1, [r0, #0x30] mov r4, #1 b _0207051C _02070514: mvn r0, #0x5f ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207051C: cmp r8, #0 beq _02070640 mov r0, #0xc0 mul r5, r7, r0 mov r0, r6, lsl #8 add r1, r0, r0, lsr #31 ldr r3, _0207064C ; =_022B9484 mov r6, r1, asr #1 str r0, [r3, #0x10] add r1, r6, r6, lsr #31 ldr r2, _02070670 ; =0x81020409 str r6, [r3, #0x14] mov r1, r1, asr #1 str r1, [r3, #0x18] smull r1, r6, r2, r5 strh r8, [r3, #0x1c] add r6, r5, r6 mov r1, r5, lsr #0x1f add r6, r1, r6, asr #6 strb r7, [r3, #0x1f] add r1, r6, #0x40 strh r1, [r3, #0x22] ldr r2, [r3] cmp r2, #0 bne _0207059C mov r1, #0x20 bl sub_0206C9A8 movs r2, r0 ldr r0, _0207064C ; =_022B9484 str r2, [r0] mvneq r0, #0x7f ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _0207059C: ldr r0, _0207064C ; =_022B9484 cmp r4, #1 ldr r1, [r0, #0x14] add r1, r2, r1 str r1, [r0, #4] bne _02070604 ldr r0, [r0, #0x10] mov r1, #0x20 bl sub_0206C9A8 ldr r1, _0207064C ; =_022B9484 cmp r0, #0 str r0, [r1, #8] bne _020705F8 ldr r0, [r1] bl sub_0206CC14 mov r1, #0 ldr r3, _0207064C ; =_022B9484 mov r2, r1 sub r0, r1, #0x80 str r1, [r3] bl sub_0206C854 mvn r0, #0x7f ldmia sp!, {r4, r5, r6, r7, r8, pc} _020705F8: ldr r2, [r1, #0x14] add r0, r0, r2 str r0, [r1, #0xc] _02070604: ldr r3, _0207064C ; =_022B9484 mov r1, #0 ldr r0, _02070654 ; =_022B9484 mov r2, #1 strb r1, [r3, #0x20] bl FlushChannels ldr r0, _02070654 ; =_022B9484 mov r1, #1 mov r2, #3 bl FlushChannels ldr r0, _02070654 ; =_022B9484 bl sub_020706E8 ldr r0, _0207064C ; =_022B9484 mov r1, #1 strb r1, [r0, #0x24] _02070640: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02070648: .word 0x0000FFFF _0207064C: .word _022B9484 _02070650: .word _022B7A3E _02070654: .word _022B9484 _02070658: .word sub_02070A44 _0207065C: .word sub_02070A9C _02070660: .word sub_02070B74 _02070664: .word sub_02070C30 _02070668: .word sub_02070C58 _0207066C: .word sub_02070D44 _02070670: .word 0x81020409 arm_func_end sub_020702F8 arm_func_start FlushChannels FlushChannels: ; 0x02070674 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r4, _020706E0 ; =_022B7A6C mov r3, #0x15c mla r5, r2, r3, r4 ldr r3, _020706E4 ; =0x04000208 mov r7, r0 ldrh r4, [r3] mov r2, #0 mov r0, r5 mov r6, r1 strh r2, [r3] bl sub_020748A0 add r0, r5, #0x3c mvn r1, #0xc0000000 bl sub_02074F1C add r0, r5, #0x5c bl sub_0207509C mov r0, #0 strh r0, [r5, #6] mov r0, #0x10 strb r0, [r5, #0x14e] add r0, r7, r6, lsl #2 ldr r1, _020706E4 ; =0x04000208 str r5, [r0, #0x28] ldrh r0, [r1] strh r4, [r1] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020706E0: .word _022B7A6C _020706E4: .word 0x04000208 arm_func_end FlushChannels arm_func_start sub_020706E8 sub_020706E8: ; 0x020706E8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r4, r0 ldr r6, [r4, #0x18] mov r7, #0 strb r7, [r4, #0x20] ldrh r3, [r4, #0x1c] add r5, r6, #0x20 mov r6, r6, lsr #1 sub r3, r3, #0x300 mov r5, r5, lsr #1 mov r8, r6, lsl #9 mov r6, r5, lsl #9 cmp r3, #7 mov r5, r8, lsr #5 mov r6, r6, lsr #5 addls pc, pc, r3, lsl #2 b _0207077C _02070730: ; jump table b _02070750 ; case 0 b _02070760 ; case 1 b _02070760 ; case 2 b _02070770 ; case 3 b _02070770 ; case 4 b _02070770 ; case 5 b _02070770 ; case 6 b _02070770 ; case 7 _02070750: mov r0, r7 mov r1, r7 mov r2, r7 b _0207077C _02070760: mov r0, #1 mov r2, r0 mov r1, #2 b _0207077C _02070770: mov r0, #1 mov r2, r0 mov r1, #2 _0207077C: mov r3, r2 bl sub_0207CB54 mov r1, #1 mov r0, #0 str r1, [sp] str r0, [sp, #4] str r0, [sp, #8] ldr r3, [r4, #0x14] ldr r2, [r4] mov r1, r0 mov r3, r3, lsr #2 bl sub_0207C944 mov r0, #1 str r0, [sp] mov r1, #0 str r1, [sp, #4] str r1, [sp, #8] ldr r3, [r4, #0x14] ldr r2, [r4, #4] mov r3, r3, lsr #2 bl sub_0207C944 ldr r3, _020708E4 ; =sub_0207098C mov r1, r6 mov r2, r5 mov r0, #4 str r4, [sp] bl sub_0207C984 ldr r1, _020708E8 ; =0x04000208 mov sb, #0 ldrh r0, [r1] str r0, [sp, #0xc] strh sb, [r1] mov r5, #1 mov r7, sb mvn r6, #0xc0000000 mov r8, #0x1000 mov fp, r5 _02070810: add r0, r4, sb, lsl #2 ldr sl, [r0, #0x28] cmp sb, #0 strh r8, [sl, #4] strb fp, [sl, #0xc] strb fp, [sl, #0x1f] ldreq r0, [r4] mov r1, r6 ldrne r0, [r4, #4] tst sb, #1 str r0, [sl, #0x30] str r7, [sl, #0x34] ldr r0, [r4, #0x14] mov r0, r0, lsr #2 str r0, [sl, #0x38] mov r0, #1 strb r0, [sl, #0x21] mov r0, #0x200 str r0, [sl, #0x13c] ldrb r0, [r4, #0x1e] str r0, [sl, #0x140] moveq r0, r7 movne r0, #0x7f str r0, [sl, #0x144] add r0, sl, #0x3c bl sub_02074F1C add r0, sl, #0x5c bl sub_0207509C add sb, sb, #1 strh r5, [sl, #6] cmp sb, #2 blt _02070810 ldr r1, _020708EC ; =_022B7330 ldr r0, _020708F0 ; =_022B9484 ldrb r3, [r1, #0x739] strb r5, [r0, #0x25] ldr r2, _020708E8 ; =0x04000208 bic r0, r3, #0x10 strb r0, [r1, #0x739] ldrb r0, [r1, #0x73b] bic r0, r0, #3 strb r0, [r1, #0x73b] ldrb r0, [r1, #0x738] orr r0, r0, #0x10 strb r0, [r1, #0x738] ldrb r0, [r1, #0x73a] orr r0, r0, #3 strb r0, [r1, #0x73a] ldrh r0, [r2] ldr r0, [sp, #0xc] strh r0, [r2] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020708E4: .word sub_0207098C _020708E8: .word 0x04000208 _020708EC: .word _022B7330 _020708F0: .word _022B9484 arm_func_end sub_020706E8 arm_func_start sub_020708F4 sub_020708F4: ; 0x020708F4 stmdb sp!, {r4, r5, r6, lr} ldr r1, _02070980 ; =_022B9484 mov r6, r0 ldrsb r0, [r1, #0x25] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r5, #0 ldr r0, _02070984 ; =0x04000208 strb r5, [r1, #0x25] ldrh r4, [r0] strh r5, [r0] _02070920: add r0, r6, r5, lsl #2 ldr r0, [r0, #0x28] cmp r0, #0 beq _02070934 bl sub_020748A0 _02070934: add r5, r5, #1 cmp r5, #2 blt _02070920 ldr ip, _02070988 ; =_022B7330 mov r0, #0 ldrb r2, [ip, #0x739] ldr lr, _02070984 ; =0x04000208 mov r1, r0 orr r2, r2, #0x10 strb r2, [ip, #0x739] ldrb r5, [ip, #0x73b] mov r2, r0 mov r3, r0 orr r5, r5, #3 strb r5, [ip, #0x73b] ldrh ip, [lr] strh r4, [lr] bl sub_0207CB54 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02070980: .word _022B9484 _02070984: .word 0x04000208 _02070988: .word _022B7330 arm_func_end sub_020708F4 arm_func_start sub_0207098C sub_0207098C: ; 0x0207098C ldr ip, _02070998 ; =sub_02079940 ldr r0, _0207099C ; =_022B94BC bx ip .align 2, 0 _02070998: .word sub_02079940 _0207099C: .word _022B94BC arm_func_end sub_0207098C arm_func_start sub_020709A0 sub_020709A0: ; 0x020709A0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r5, _02070A3C ; =_022B9484 ldr r4, _02070A40 ; =_022B9484 mov fp, #1 mov r6, #0 _020709B4: mov r0, r6 bl sub_02079888 ldrsb r0, [r4, #0x26] cmp r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrsb r0, [r4, #0x25] cmp r0, #1 bne _020709B4 ldrb r7, [r4, #0x20] ldr sl, [r4, #0x18] ldr sb, [r4] cmp r7, #1 ldr r8, [r4, #4] addeq sb, sb, sl addeq r8, r8, sl ldr ip, [r4, #0x30] mov r0, r5 mov r1, sb mov r2, r8 mov r3, sl blx ip mov r0, sb mov r1, sl bl sub_0207A2DC mov r0, r8 mov r1, sl bl sub_0207A2DC bl sub_0207A300 cmp r7, #0 moveq r0, fp movne r0, #0 strb r0, [r4, #0x20] b _020709B4 _02070A38: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02070A3C: .word _022B9484 _02070A40: .word _022B9484 arm_func_end sub_020709A0 arm_func_start sub_02070A44 sub_02070A44: ; 0x02070A44 stmdb sp!, {r3, lr} ldrb r0, [r0, #0x1f] mov ip, r3, asr #1 cmp ip, #0 add lr, r0, #0x80 ldmleia sp!, {r3, pc} _02070A5C: ldrsh r0, [r1] sub ip, ip, #1 cmp ip, #0 mul r3, r0, lr mov r0, r3, asr #7 add r0, r3, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r1], #2 ldrsh r0, [r2] mul r3, r0, lr mov r0, r3, asr #7 add r0, r3, r0, lsr #24 mov r0, r0, asr #8 strh r0, [r2], #2 bgt _02070A5C ldmia sp!, {r3, pc} arm_func_end sub_02070A44 arm_func_start sub_02070A9C sub_02070A9C: ; 0x02070A9C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrb r5, [r0, #0x20] ldr lr, [r0, #8] ldr r4, [r0, #0xc] cmp r5, #1 biceq r5, r3, #1 ldrh r6, [r0, #0x22] ldrb r7, [r0, #0x21] addeq lr, lr, r5 addeq r4, r4, r5 mov r5, r3, asr #1 cmp r5, #0 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r3, #0x8000 rsb r3, r3, #0 mov ip, r3, lsr #0x11 _02070ADC: ldrsh r8, [lr] ldrsh r0, [r1] sub r5, r5, #1 mul sl, r8, r6 mul sb, sl, r7 mov r8, sl, asr #7 add r8, sl, r8, lsr #24 mov r8, r8, asr #8 add r8, r8, r0, asr #8 add r0, r0, sb, asr #7 cmp r0, r3, lsr #17 strh r8, [lr] movgt r0, ip bgt _02070B1C cmp r0, r3 movlt r0, r3 _02070B1C: strh r0, [r1], #2 ldrsh r8, [r4] ldrsh r0, [r2] add lr, lr, #2 mul sl, r8, r6 mul sb, sl, r7 mov r8, sl, asr #7 add r8, sl, r8, lsr #24 mov r8, r8, asr #8 add r8, r8, r0, asr #8 add r0, r0, sb, asr #7 cmp r0, r3, lsr #17 strh r8, [r4] movgt r0, ip bgt _02070B60 cmp r0, r3 movlt r0, r3 _02070B60: cmp r5, #0 strh r0, [r2], #2 add r4, r4, #2 bgt _02070ADC ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02070A9C arm_func_start sub_02070B74 sub_02070B74: ; 0x02070B74 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrb r4, [r0, #0x20] ldr lr, [r0, #8] ldrh r5, [r0, #0x22] cmp r4, #1 biceq r4, r3, #1 addeq lr, lr, r4 mov r4, r3, asr #1 ldrb r6, [r0, #0x21] cmp r4, #0 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r0, #0x8000 rsb r0, r0, #0 mov r3, r0, lsr #0x11 _02070BAC: ldrsh r8, [lr] ldrsh ip, [r1] ldrsh r7, [r2] mul sb, r8, r5 mul sl, sb, r6 mov r8, sb, asr #7 add sb, sb, r8, lsr #24 mov r8, sl, asr #6 add sl, sl, r8, lsr #25 add r8, ip, sl, asr #7 cmp r8, r0, lsr #17 add ip, ip, r7 mov sb, sb, asr #8 add sb, sb, ip, asr #9 strh sb, [lr] sub r4, r4, #1 movgt r8, r3 bgt _02070BFC cmp r8, r0 movlt r8, r0 _02070BFC: add r7, r7, sl, asr #7 cmp r7, r0, lsr #17 strh r8, [r1] movgt r7, r3 bgt _02070C18 cmp r7, r0 movlt r7, r0 _02070C18: cmp r4, #0 strh r7, [r2], #2 add r1, r1, #2 add lr, lr, #2 bgt _02070BAC ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02070B74 arm_func_start sub_02070C30 sub_02070C30: ; 0x02070C30 mov r2, r3, asr #1 cmp r2, #0 bxle lr _02070C3C: ldrsh r0, [r1] sub r2, r2, #1 cmp r2, #0 rsb r0, r0, #0 strh r0, [r1], #2 bgt _02070C3C bx lr arm_func_end sub_02070C30 arm_func_start sub_02070C58 sub_02070C58: ; 0x02070C58 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrb r5, [r0, #0x20] ldr lr, [r0, #8] ldr r4, [r0, #0xc] cmp r5, #1 biceq r5, r3, #1 ldrh r6, [r0, #0x22] ldrb r7, [r0, #0x21] addeq lr, lr, r5 addeq r4, r4, r5 mov r5, r3, asr #1 cmp r5, #0 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r3, #0x8000 rsb r3, r3, #0 mov ip, r3, lsr #0x11 _02070C98: ldrsh r8, [lr] ldrsh r0, [r1] sub r5, r5, #1 mul sl, r8, r6 mul sb, sl, r7 mov r8, sl, asr #7 add r8, sl, r8, lsr #24 mov r8, r8, asr #8 add r8, r8, r0, asr #8 add r0, r0, sb, asr #7 cmp r0, r3, lsr #17 strh r8, [lr] movgt r0, ip bgt _02070CD8 cmp r0, r3 movlt r0, r3 _02070CD8: strh r0, [r1], #2 ldrsh r8, [r4] ldrsh r0, [r2] add lr, lr, #2 mul sl, r8, r6 mul sb, sl, r7 mov r8, sl, asr #7 add r8, sl, r8, lsr #24 mov r8, r8, asr #8 add r8, r8, r0, asr #8 add r0, r0, sb, asr #7 cmp r0, r3, lsr #17 strh r8, [r4] movgt r0, ip bgt _02070D1C cmp r0, r3 movlt r0, r3 _02070D1C: mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 rsb r0, r0, #0 cmp r5, #0 strh r0, [r2], #2 add r4, r4, #2 bgt _02070C98 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02070C58 arm_func_start sub_02070D44 sub_02070D44: ; 0x02070D44 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrb r4, [r0, #0x20] ldr lr, [r0, #8] ldrh r5, [r0, #0x22] cmp r4, #1 biceq r4, r3, #1 addeq lr, lr, r4 mov r4, r3, asr #1 ldrb r6, [r0, #0x21] cmp r4, #0 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r0, #0x8000 rsb r0, r0, #0 mov r3, r0, lsr #0x11 _02070D7C: ldrsh r8, [lr] ldrsh ip, [r1] ldrsh r7, [r2] mul sb, r8, r5 mul sl, sb, r6 mov r8, sb, asr #7 add sb, sb, r8, lsr #24 add r8, ip, sl, asr #7 cmp r8, r0, lsr #17 add ip, ip, r7 mov sb, sb, asr #8 add sb, sb, ip, asr #9 strh sb, [lr] sub r4, r4, #1 movgt r8, r3 bgt _02070DC4 cmp r8, r0 movlt r8, r0 _02070DC4: add r7, r7, sl, asr #7 cmp r7, r0, lsr #17 strh r8, [r1] movgt r7, r3 bgt _02070DE0 cmp r7, r0 movlt r7, r0 _02070DE0: mov r7, r7, lsl #0x10 mov r7, r7, lsr #0x10 mov r7, r7, lsl #0x10 mov r7, r7, asr #0x10 rsb r7, r7, #0 cmp r4, #0 strh r7, [r2], #2 add lr, lr, #2 add r1, r1, #2 bgt _02070D7C ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_02070D44 arm_func_start sub_02070E0C sub_02070E0C: ; 0x02070E0C stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r3, _02070E90 ; =_022B8330 ldrb r0, [r3, #0xd10] cmp r0, #0 beq _02070E84 mov ip, #0 strb ip, [r3, #0xd12] mov r0, #1 strb r0, [r3, #0xd11] ldr r2, _02070E94 ; =0x72637473 mov r0, #0x800 mov r1, #0x10 strb ip, [r3, #0xd13] bl sub_0206CACC ldr r2, _02070E90 ; =_022B8330 mov r1, #0x800 str r0, [r2, #0xdd4] str r1, [sp] ldrb r3, [r2, #0xd10] ldr r0, _02070E98 ; =_022B9044 ldr r1, _02070E9C ; =sub_02071014 str r3, [sp, #4] ldr r3, [r2, #0xdd4] mov r2, #0 add r3, r3, #0x800 bl sub_02079560 ldr r0, _02070E98 ; =_022B9044 bl sub_02079940 bl sub_02070EDC _02070E84: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02070E90: .word _022B8330 _02070E94: .word 0x72637473 _02070E98: .word _022B9044 _02070E9C: .word sub_02071014 arm_func_end sub_02070E0C arm_func_start sub_02070EA0 sub_02070EA0: ; 0x02070EA0 stmdb sp!, {r3, lr} bl sub_02070F4C ldr r1, _02070ED4 ; =_022B8330 mov r2, #0 ldr r0, _02070ED8 ; =_022B9044 strb r2, [r1, #0xd11] bl sub_02079940 ldr r0, _02070ED8 ; =_022B9044 bl sub_02079800 ldr r0, _02070ED4 ; =_022B8330 ldr r0, [r0, #0xdd4] bl sub_0206CC14 ldmia sp!, {r3, pc} .align 2, 0 _02070ED4: .word _022B8330 _02070ED8: .word _022B9044 arm_func_end sub_02070EA0 arm_func_start sub_02070EDC sub_02070EDC: ; 0x02070EDC stmdb sp!, {r3, lr} ldr r0, _02070F3C ; =_022B8330 add r0, r0, #0xd00 ldrsb r0, [r0, #0xd8] cmp r0, #0 bne _02070F34 ldr r1, _02070F40 ; =0x00001474 ldr ip, _02070F44 ; =_022B7330 ldr r3, _02070F48 ; =sub_02070FD4 mov r2, r1 mov r0, #0 str ip, [sp] bl sub_0207C984 mov r0, #0 mov r1, r0 mov r3, r0 mov r2, #1 bl sub_0207C8B8 mov r0, #1 bl sub_0207CF14 mov r0, #1 bl sub_0207CD44 _02070F34: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _02070F3C: .word _022B8330 _02070F40: .word 0x00001474 _02070F44: .word _022B7330 _02070F48: .word sub_02070FD4 arm_func_end sub_02070EDC arm_func_start sub_02070F4C sub_02070F4C: ; 0x02070F4C stmdb sp!, {r3, lr} mov r1, #0 ldr r0, _02070FC4 ; =0x0000FFFF mov r3, r1 mov r2, #1 bl sub_0207C8E0 ldr r0, _02070FC8 ; =_022B8330 add r0, r0, #0xd00 ldrsb r0, [r0, #0xd8] cmp r0, #0 bne _02070F90 mov r0, #0 mov r1, r0 mov r2, r0 mov r3, r0 str r0, [sp] bl sub_0207C984 _02070F90: mov r0, #1 bl sub_0207CF14 mov r0, #1 bl sub_0207CD44 ldr r2, _02070FCC ; =_022B7A30 mov r0, #0 strh r0, [r2, #0x30] strh r0, [r2, #0x34] ldr r1, _02070FD0 ; =_022B7330 strh r0, [r2, #0x32] strb r0, [r1, #0x739] strb r0, [r1, #0x738] ldmia sp!, {r3, pc} .align 2, 0 _02070FC4: .word 0x0000FFFF _02070FC8: .word _022B8330 _02070FCC: .word _022B7A30 _02070FD0: .word _022B7330 arm_func_end sub_02070F4C arm_func_start sub_02070FD4 sub_02070FD4: ; 0x02070FD4 stmdb sp!, {r3, lr} ldr r1, _0207100C ; =_022B8330 add r0, r1, #0xd00 ldrsb r2, [r0, #0x11] cmp r2, #0 ldmeqia sp!, {r3, pc} ldrsb r0, [r0, #0x13] cmp r0, #1 ldmneia sp!, {r3, pc} ldr r0, _02071010 ; =_022B9044 mov r2, #0 strb r2, [r1, #0xd13] bl sub_02079940 ldmia sp!, {r3, pc} .align 2, 0 _0207100C: .word _022B8330 _02071010: .word _022B9044 arm_func_end sub_02070FD4 arm_func_start sub_02071014 sub_02071014: ; 0x02071014 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r8, _0207114C ; =_022B8330 ldr r7, _02071150 ; =_022B9130 ldr r6, _02071154 ; =_022B7330 add r4, r8, #0xd00 add r5, r8, #0xe00 mov fp, #1 _02071030: mov r0, #0 strb fp, [r8, #0xd13] bl sub_02079888 ldrsb r0, [r5, #0xd0] cmp r0, #1 bne _020710D0 bl sub_0207AEE4 ldr r2, [r8, #0xec8] ldr r1, [r8, #0xecc] sub sl, r0, r2 cmp r1, r2 sub r1, r1, r2 addlo r1, r1, #0x10000 str r0, [r8, #0xec8] mov r0, r1 bl __floatunsisf mov sb, r0 mov r0, sl bl __floatunsisf mov r1, r0 mov r0, sb bl __divsf3 mov r1, r0 ldr r0, _02071158 ; =0x42C80000 bl __mulsf3 mov sb, r0 ldrsh r0, [r7, #0xc4] mov r1, sb cmp r0, #0 movlt r0, #0 strlt r0, [r8, #0xec0] str sb, [r8, #0xebc] ldr r0, [r8, #0xec0] bl sub_0208F1CC strlo sb, [r8, #0xec0] movlo r0, #0x64 strloh r0, [r7, #0xc4] ldrsh r0, [r7, #0xc4] sub r0, r0, #1 strh r0, [r7, #0xc4] _020710D0: ldrsb r0, [r4, #0x11] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #0 bl sub_0207CD44 ldr r0, [r6, #0x2c] add r0, r0, #1 str r0, [r6, #0x2c] ldr r0, [r6, #0x664] bl UpdateSequencerTracks ldr r0, [r6, #0x668] bl UpdateSequencerTracks bl sub_0206FBC8 ldr r0, _0207115C ; =_022B9584 ldr r0, [r0] cmp r0, #0 beq _02071118 bl sub_02072BB8 _02071118: bl UpdateChannels bl sub_02074194 bl sub_02074A58 bl sub_0207457C mov r0, #0 bl sub_0207CF14 ldrsb r0, [r5, #0xd0] cmp r0, #1 bne _02071030 bl sub_0207AEE4 str r0, [r8, #0xecc] b _02071030 _02071148: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0207114C: .word _022B8330 _02071150: .word _022B9130 _02071154: .word _022B7330 _02071158: .word 0x42C80000 _0207115C: .word _022B9584 arm_func_end sub_02071014 arm_func_start sub_02071160 sub_02071160: ; 0x02071160 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r1, [r0, #0x24] ldrb r0, [r1, #1] add r7, r1, #0x10 str r0, [sp] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov fp, #0 mvn r6, #0 mov r5, fp _02071188: ldr r8, [r7, #0xb8] add sl, r7, #0xb8 cmp r8, #0 beq _02071200 ldr r4, _02071220 ; =_022B7330 _0207119C: ldmib r8, {r0, sb} sub r1, r0, #1 cmp r1, #0 bgt _020711E0 ldrb r0, [r7, #4] tst r0, #3 movne r1, fp bne _020711E0 mov r0, r7 mov r1, r8 bl sub_02074150 ldr r0, [r4, #0x650] mov r1, r6 str r0, [r8, #8] str r8, [r4, #0x650] str r6, [r8, #4] strb r5, [r8, #1] _020711E0: str r1, [r8, #4] cmp r1, #0 strge r1, [r8, #4] strge r8, [sl] addge sl, r8, #8 mov r8, sb cmp sb, #0 bne _0207119C _02071200: mov r0, #0 str r0, [sl] ldr r0, [sp] add r7, r7, #0xc8 subs r0, r0, #1 str r0, [sp] bne _02071188 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02071220: .word _022B7330 arm_func_end sub_02071160 arm_func_start ParseDseEvents ParseDseEvents: ; 0x02071224 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r6, r1 ldr r1, [r6, #0xc] mov r7, r0 cmp r1, #0 ldr r5, [r6, #0x1c] ldr r4, [r6, #0x54] bne _020713C4 _02071248: ldrb r3, [r5] add r0, r5, #1 mov r5, r0 cmp r3, #0x80 blo _020712A0 cmp r3, #0x90 blo _02071288 ldr r2, _020713DC ; =SMD_EVENTS_FUN_TABLE mov r1, r7 add r2, r2, r3, lsl #2 ldr r5, [r2, #-0x240] mov r2, r6 mov r3, r4 blx r5 mov r5, r0 b _020713AC _02071288: ldr r0, _020713E0 ; =_020B0B7C add r0, r0, r3 ldrb r0, [r0, #-0x80] str r0, [r6, #0x10] str r0, [r6, #0xc] b _020713AC _020712A0: strb r3, [sp, #3] ldrb r1, [r0] ldrb r5, [r6, #4] mov r3, #0xc mov r2, r1, lsl #0x14 mov r2, r2, asr #0x18 and r2, r2, #3 sub r2, r2, #2 mov r2, r2, lsl #0x18 add r2, r5, r2, asr #24 mov r2, r2, lsl #0x18 mov r5, r2, asr #0x18 and r2, r1, #0xf smlabb r2, r5, r3, r2 strb r2, [sp, #2] mov r1, r1, asr #6 strb r5, [r6, #4] ands r1, r1, #0xff add r5, r0, #1 ldreq r3, [r6, #0x14] beq _02071318 cmp r1, #0 mov r3, #0 beq _02071314 _02071300: ldrb r0, [r5], #1 sub r1, r1, #1 ands r1, r1, #0xff add r3, r0, r3, lsl #8 bne _02071300 _02071314: str r3, [r6, #0x14] _02071318: ldrb r2, [r6, #5] mov r1, #0 ldr r0, _020713E4 ; =0x02040811 mul r2, r3, r2 umull r0, r3, r2, r0 sub r0, r2, r3 add r3, r3, r0, lsr #1 mov r3, r3, lsr #6 str r3, [sp, #4] strb r1, [sp] ldrsb r0, [r6, #8] cmp r0, #0 bne _02071398 ldrb r0, [r4, #4] add r1, sp, #0 tst r0, #2 beq _0207136C ldrb r2, [r6, #7] mov r0, r4 bl sub_02073E10 b _02071398 _0207136C: mov r0, r4 bl sub_02073EA0 mov r2, #0 add r1, sp, #0 mov r0, r4 str r2, [r4, #0x1c] bl sub_02073CD8 movs r1, r0 beq _02071398 mov r0, r4 bl sub_02073EDC _02071398: ldrb r0, [sp, #2] strb r0, [r6, #7] ldrb r0, [r4, #4] bic r0, r0, #2 strb r0, [r4, #4] _020713AC: ldrsb r0, [r6, #2] cmp r0, #0 beq _020713C4 ldr r0, [r6, #0xc] cmp r0, #0 beq _02071248 _020713C4: ldr r0, [r6, #0xc] sub r0, r0, #1 str r0, [r6, #0xc] str r5, [r6, #0x1c] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020713DC: .word SMD_EVENTS_FUN_TABLE _020713E0: .word _020B0B7C _020713E4: .word 0x02040811 arm_func_end ParseDseEvents arm_func_start UpdateSequencerTracks UpdateSequencerTracks: ; 0x020713E8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} movs sl, r0 cmpne sl, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _020713F8: ldrsb r0, [sl, #5] cmp r0, #1 bne _0207176C ldrsh r0, [sl, #0x1a] cmp r0, #0 beq _0207141C subgt r0, r0, #1 strgth r0, [sl, #0x1a] b _0207176C _0207141C: ldr r0, [sl, #0x34] add r0, r0, #1 str r0, [sl, #0x34] ldrb r0, [sl, #0xc] cmp r0, #0 beq _0207143C mov r0, sl bl sub_02071784 _0207143C: ldr r1, [sl, #0x3c] ldr r0, [sl, #0x40] add r1, r1, r0 str r1, [sl, #0x3c] ldr r0, [sl, #0x44] cmp r1, r0 ble _020716B0 mov r6, #0 ldr r7, _0207177C ; =0x04000208 ldr fp, _02071780 ; =0x82061029 mov r5, r6 mov r4, r6 _0207146C: mov r0, sl bl sub_02071160 ldr r2, [sl, #0x24] ldrb r0, [r2, #1] add r1, r2, #0x10 cmp r0, #0 beq _0207162C _02071488: ldrh r3, [r1, #0x28] sub r0, r0, #1 cmp r3, #0 beq _0207150C sub r3, r3, #1 strh r3, [r1, #0x28] ldrh r3, [r1, #0x28] cmp r3, #0 ldreq r3, [r1, #0x24] beq _020714BC ldr r8, [r1, #0x1c] ldr r3, [r1, #0x20] add r3, r8, r3 _020714BC: str r3, [r1, #0x1c] ldrsh r3, [r1, #0x54] ldr r8, [r1, #0x1c] ldrsh sb, [r2, #4] add r3, r3, r8, asr #16 add r3, sb, r3 strh r3, [r1, #0x16] ldrh r3, [r7] strh r6, [r7] ldr sb, [r1, #0xb4] cmp sb, #0 beq _02071504 _020714EC: ldrh r8, [sb, #6] orr r8, r8, #0x10 strh r8, [sb, #6] ldr sb, [sb, #0x154] cmp sb, #0 bne _020714EC _02071504: ldrh r8, [r7] strh r3, [r7] _0207150C: ldrh r3, [r1, #0x38] cmp r3, #0 beq _020715A0 sub r3, r3, #1 strh r3, [r1, #0x38] ldrh r3, [r1, #0x38] cmp r3, #0 ldreq r3, [r1, #0x34] beq _0207153C ldr r8, [r1, #0x2c] ldr r3, [r1, #0x30] add r3, r8, r3 _0207153C: str r3, [r1, #0x2c] ldr r8, [r1, #0x2c] ldrb r3, [r1, #0x50] mov r8, r8, asr #0x10 ldrsb sb, [r2, #8] mul r3, r8, r3 mul r8, sb, r3 smull r3, sb, fp, r8 add sb, r8, sb mov r3, r8, lsr #0x1f add sb, r3, sb, asr #13 strh sb, [r1, #0x18] ldrh r3, [r7] strh r5, [r7] ldr sb, [r1, #0xb4] cmp sb, #0 beq _02071598 _02071580: ldrh r8, [sb, #6] orr r8, r8, #0x20 strh r8, [sb, #6] ldr sb, [sb, #0x154] cmp sb, #0 bne _02071580 _02071598: ldrh r8, [r7] strh r3, [r7] _020715A0: ldrh r3, [r1, #0x48] cmp r3, #0 beq _02071620 sub r3, r3, #1 strh r3, [r1, #0x48] ldrh r3, [r1, #0x48] cmp r3, #0 ldreq r3, [r1, #0x44] beq _020715D0 ldr r8, [r1, #0x3c] ldr r3, [r1, #0x40] add r3, r8, r3 _020715D0: str r3, [r1, #0x3c] ldr r3, [r1, #0xc4] ldr r8, [r1, #0x3c] ldrsb r3, [r3, #7] sub r3, r3, #0x40 add r3, r3, r8, asr #16 strh r3, [r1, #0x1a] ldrh r3, [r7] strh r4, [r7] ldr sb, [r1, #0xb4] cmp sb, #0 beq _02071618 _02071600: ldrh r8, [sb, #6] orr r8, r8, #0x40 strh r8, [sb, #6] ldr sb, [sb, #0x154] cmp sb, #0 bne _02071600 _02071618: ldrh r8, [r7] strh r3, [r7] _02071620: cmp r0, #0 add r1, r1, #0xc8 bne _02071488 _0207162C: mov r0, #0 strb r0, [sl, #0xd] ldrb r0, [sl, #0xf] mov sb, #0 add r8, sl, #0xa8 cmp r0, #0 ble _02071688 _02071648: ldrsb r0, [r8, #2] cmp r0, #1 bne _02071674 mov r0, sl mov r1, r8 bl ParseDseEvents ldrsb r0, [r8, #2] cmp r0, #1 ldreqb r0, [sl, #0xd] addeq r0, r0, #1 streqb r0, [sl, #0xd] _02071674: ldrb r0, [sl, #0xf] add sb, sb, #1 add r8, r8, #0x5c cmp sb, r0 blt _02071648 _02071688: ldr r0, [sl, #0x38] add r0, r0, #1 str r0, [sl, #0x38] ldr r1, [sl, #0x3c] ldr r0, [sl, #0x44] sub r1, r1, r0 str r1, [sl, #0x3c] ldr r0, [sl, #0x44] cmp r1, r0 bgt _0207146C _020716B0: ldrb r0, [sl, #0xd] cmp r0, #0 bne _020716E8 mov r0, #0 str r0, [sl, #4] ldr r0, [sl, #0x24] bl sub_020733BC ldr r0, [sl, #0x28] ldr r3, [sl, #0xa0] ldr r4, [sl, #0x9c] mov r1, #1 mov r2, #0 blx r4 b _0207176C _020716E8: ldrsb r1, [sl, #7] cmp r1, #0 beq _0207176C ldr r0, [sl, #0x68] cmp r0, #0 bne _0207176C cmp r1, #1 bne _02071744 mov r0, #0 str r0, [sl, #4] ldr r0, [sl, #0x24] bl sub_02073480 ldr r0, [sl, #0x28] ldr r3, [sl, #0xa0] ldr r4, [sl, #0x9c] mov r1, #2 mov r2, #0 blx r4 ldrsb r0, [sl, #0xa] cmp r0, #1 moveq r0, #0 streqb r0, [sl, #0xd] b _0207176C _02071744: mov r1, #1 strb r1, [sl, #6] ldr r0, [sl, #0x24] bl sub_020734AC ldr r0, [sl, #0x28] ldr r3, [sl, #0xa0] ldr r4, [sl, #0x9c] mov r1, #3 mov r2, #0 blx r4 _0207176C: ldr sl, [sl, #0xa4] cmp sl, #0 bne _020713F8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0207177C: .word 0x04000208 _02071780: .word 0x82061029 arm_func_end UpdateSequencerTracks arm_func_start sub_02071784 sub_02071784: ; 0x02071784 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x54] cmp r0, #0 beq _020717F8 sub r0, r0, #1 strh r0, [r4, #0x54] ldrh r0, [r4, #0x54] cmp r0, #0 ldreq r0, [r4, #0x50] beq _020717BC ldr r1, [r4, #0x48] ldr r0, [r4, #0x4c] add r0, r1, r0 _020717BC: str r0, [r4, #0x48] ldr r1, [r4, #0x48] ldrb r0, [r4, #0x17] mov r1, r1, asr #0x10 mul r0, r1, r0 movs r1, r0, lsr #8 ldr r0, _02071918 ; =0x03938700 moveq r1, #1 bl __udivsi3 str r0, [r4, #0x44] ldrh r0, [r4, #0x54] cmp r0, #0 ldreqb r0, [r4, #0xc] biceq r0, r0, #1 streqb r0, [r4, #0xc] _020717F8: ldrh r0, [r4, #0x64] cmp r0, #0 beq _02071858 sub r0, r0, #1 strh r0, [r4, #0x64] ldrh r0, [r4, #0x64] cmp r0, #0 ldreq r0, [r4, #0x60] beq _02071828 ldr r1, [r4, #0x58] ldr r0, [r4, #0x5c] add r0, r1, r0 _02071828: str r0, [r4, #0x58] ldr r1, [r4, #0x58] ldr r0, [r4, #0x24] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl sub_02073654 ldrh r0, [r4, #0x64] cmp r0, #0 ldreqb r0, [r4, #0xc] biceq r0, r0, #2 streqb r0, [r4, #0xc] _02071858: ldrh r0, [r4, #0x74] cmp r0, #0 beq _020718B8 sub r0, r0, #1 strh r0, [r4, #0x74] ldrh r0, [r4, #0x74] cmp r0, #0 ldreq r0, [r4, #0x70] beq _02071888 ldr r1, [r4, #0x68] ldr r0, [r4, #0x6c] add r0, r1, r0 _02071888: str r0, [r4, #0x68] ldr r1, [r4, #0x68] ldr r0, [r4, #0x24] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 bl sub_020736E8 ldrh r0, [r4, #0x74] cmp r0, #0 ldreqb r0, [r4, #0xc] biceq r0, r0, #4 streqb r0, [r4, #0xc] _020718B8: ldrh r0, [r4, #0x84] cmp r0, #0 ldmeqia sp!, {r4, pc} sub r0, r0, #1 strh r0, [r4, #0x84] ldrh r0, [r4, #0x84] cmp r0, #0 ldreq r0, [r4, #0x80] beq _020718E8 ldr r1, [r4, #0x78] ldr r0, [r4, #0x7c] add r0, r1, r0 _020718E8: str r0, [r4, #0x78] ldr r1, [r4, #0x78] ldr r0, [r4, #0x24] mov r1, r1, asr #0x10 and r1, r1, #0xff bl sub_020737B8 ldrh r0, [r4, #0x84] cmp r0, #0 ldreqb r0, [r4, #0xc] biceq r0, r0, #0x10 streqb r0, [r4, #0xc] ldmia sp!, {r4, pc} .align 2, 0 _02071918: .word 0x03938700 arm_func_end sub_02071784 arm_func_start sub_0207191C sub_0207191C: ; 0x0207191C mov r1, #0 strb r1, [r2, #2] bx lr arm_func_end sub_0207191C arm_func_start sub_02071928 sub_02071928: ; 0x02071928 ldr r1, [r2, #0x10] str r1, [r2, #0xc] bx lr arm_func_end sub_02071928 arm_func_start sub_02071934 sub_02071934: ; 0x02071934 ldrsb r1, [r0], #1 ldr r3, [r2, #0x10] add r1, r3, r1 str r1, [r2, #0x10] str r1, [r2, #0xc] bx lr arm_func_end sub_02071934 arm_func_start sub_0207194C sub_0207194C: ; 0x0207194C ldrb r1, [r0], #1 str r1, [r2, #0x10] str r1, [r2, #0xc] bx lr arm_func_end sub_0207194C arm_func_start sub_0207195C sub_0207195C: ; 0x0207195C ldrb r3, [r0] ldrb r1, [r0, #1] add r0, r0, #2 add r1, r3, r1, lsl #8 str r1, [r2, #0x10] str r1, [r2, #0xc] bx lr arm_func_end sub_0207195C arm_func_start sub_02071978 sub_02071978: ; 0x02071978 ldrb r3, [r0] ldrb r1, [r0, #1] ldrb ip, [r0, #2] add r0, r0, #3 add r1, r3, r1, lsl #8 add r1, r1, ip, lsl #16 str r1, [r2, #0x10] str r1, [r2, #0xc] bx lr arm_func_end sub_02071978 arm_func_start sub_0207199C sub_0207199C: ; 0x0207199C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, r3 mov r4, r2 bl sub_02074A2C cmp r0, #0 ldrgtb r0, [r5], #-1 addle r5, r5, #1 strgt r0, [r4, #0xc] mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207199C arm_func_start sub_020719C8 sub_020719C8: ; 0x020719C8 stmdb sp!, {r4, lr} ldr ip, [r2, #0x20] mov r4, r0 cmp ip, #0 bne _020719F4 mov r1, #0 mov r0, r3 strb r1, [r2, #2] sub r4, r4, #1 bl sub_02073A90 b _02071A0C _020719F4: ldrh r3, [r2, #0xa] mov r0, #1 add r3, r3, #1 strh r3, [r2, #0xa] strb r0, [r1, #3] ldr r4, [r2, #0x20] _02071A0C: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end sub_020719C8 arm_func_start sub_02071A14 sub_02071A14: ; 0x02071A14 str r0, [r2, #0x20] bx lr arm_func_end sub_02071A14 arm_func_start sub_02071A1C sub_02071A1C: ; 0x02071A1C stmdb sp!, {r4, lr} ldrb r4, [r2, #6] mov r1, #0xc ldrb lr, [r0], #1 smulbb r1, r4, r1 add r3, r2, #0x24 str r0, [r3, r1] add ip, r3, r1 mov r1, #0 str r1, [ip, #4] strb lr, [ip, #8] ldrb r3, [r2, #4] add r1, r4, #1 strb r3, [ip, #9] strb r1, [r2, #6] ldmia sp!, {r4, pc} arm_func_end sub_02071A1C arm_func_start sub_02071A5C sub_02071A5C: ; 0x02071A5C ldrb ip, [r2, #6] add r3, r2, #0x24 mov r1, #0xc sub ip, ip, #1 mla r3, ip, r1, r3 ldrb r1, [r3, #8] subs r1, r1, #1 streqb ip, [r2, #6] bxeq lr str r0, [r3, #4] strb r1, [r3, #8] ldrb r0, [r3, #9] strb r0, [r2, #4] ldr r0, [r3] bx lr arm_func_end sub_02071A5C arm_func_start sub_02071A98 sub_02071A98: ; 0x02071A98 ldrb ip, [r2, #6] add r3, r2, #0x24 mov r1, #0xc sub ip, ip, #1 mla r3, ip, r1, r3 ldrb r1, [r3, #8] subs r1, r1, #1 ldreq r0, [r3, #4] streqb ip, [r2, #6] bx lr arm_func_end sub_02071A98 arm_func_start sub_02071AC0 sub_02071AC0: ; 0x02071AC0 ldrb r1, [r0], #1 strb r1, [r2, #4] bx lr arm_func_end sub_02071AC0 arm_func_start sub_02071ACC sub_02071ACC: ; 0x02071ACC ldrb r3, [r2, #4] ldrsb r1, [r0], #1 add r1, r3, r1 strb r1, [r2, #4] bx lr arm_func_end sub_02071ACC arm_func_start sub_02071AE0 sub_02071AE0: ; 0x02071AE0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 ldr r0, [r5, #0x48] ldrb r4, [r6] mov r0, r0, asr #0x10 mul r1, r0, r4 movs r1, r1, lsr #8 ldr r0, _02071B1C ; =0x03938700 moveq r1, #1 bl __udivsi3 str r0, [r5, #0x44] strb r4, [r5, #0x17] add r0, r6, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02071B1C: .word 0x03938700 arm_func_end sub_02071AE0 arm_func_start sub_02071B20 sub_02071B20: ; 0x02071B20 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 ldr r0, [r5, #0x48] ldrb r4, [r6] mov r0, r0, asr #0x10 mul r1, r0, r4 movs r1, r1, lsr #8 ldr r0, _02071B5C ; =0x03938700 moveq r1, #1 bl __udivsi3 str r0, [r5, #0x44] strb r4, [r5, #0x17] add r0, r6, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02071B5C: .word 0x03938700 arm_func_end sub_02071B20 arm_func_start sub_02071B60 sub_02071B60: ; 0x02071B60 stmdb sp!, {r4, lr} mov r4, r0 ldrb r2, [r4] ldrb r1, [r4, #1] mov r0, r3 add r1, r1, r2, lsl #8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl sub_02073B90 add r0, r4, #2 ldmia sp!, {r4, pc} arm_func_end sub_02071B60 arm_func_start sub_02071B8C sub_02071B8C: ; 0x02071B8C stmdb sp!, {r4, lr} mov r4, r0 ldrh r1, [r3, #0xe] ldrb r2, [r4] mov r0, r3 and r1, r1, #0xff add r1, r1, r2, lsl #8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl sub_02073B90 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071B8C arm_func_start sub_02071BBC sub_02071BBC: ; 0x02071BBC stmdb sp!, {r4, lr} mov r4, r0 ldrh r2, [r3, #0xe] ldrb r1, [r4] mov r0, r3 bic r2, r2, #0xff add r1, r2, r1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl sub_02073B90 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071BBC arm_func_start sub_02071BEC sub_02071BEC: ; 0x02071BEC add r0, r0, #1 bx lr arm_func_end sub_02071BEC arm_func_start sub_02071BF4 sub_02071BF4: ; 0x02071BF4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r3 ldrb r1, [r6] mov r0, r4 bl sub_02073BC8 movs r2, r0 bpl _02071C34 ldrh r1, [r4, #0xe] ldr r0, [r5, #0x28] ldr r3, [r5, #0xa0] ldr ip, [r5, #0x9c] rsb r2, r2, r1, lsl #16 mvn r1, #0xcb blx ip _02071C34: add r0, r6, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02071BF4 arm_func_start sub_02071C3C sub_02071C3C: ; 0x02071C3C stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrb r2, [r5] ldrb r0, [r5, #1] mov r4, r1 add r0, r2, r0, lsl #8 mov r0, r0, lsl #0x10 movs r1, r0, lsr #0x10 moveq r6, #0 beq _02071C84 mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _02071CC4 ; =_022B7330 ldrsh r1, [r1, #0x28] bl __udivsi3 mov r0, r0, lsl #0x10 movs r6, r0, lsr #0x10 moveq r6, #1 _02071C84: ldrb r0, [r5, #2] cmp r6, #0 mov r1, r0, lsl #0x10 str r1, [r4, #0x70] streq r1, [r4, #0x68] beq _02071CB8 ldr r0, [r4, #0x68] subs r0, r1, r0 moveq r6, #0 beq _02071CB8 mov r1, r6 bl __divsi3 str r0, [r4, #0x6c] _02071CB8: strh r6, [r4, #0x74] add r0, r5, #3 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02071CC4: .word _022B7330 arm_func_end sub_02071C3C arm_func_start sub_02071CC8 sub_02071CC8: ; 0x02071CC8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r3, #0x64 bl sub_02074C84 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end sub_02071CC8 arm_func_start sub_02071CE0 sub_02071CE0: ; 0x02071CE0 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] add r0, r3, #0x64 strb r1, [r3, #0x6c] bl sub_02074CA0 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071CE0 arm_func_start sub_02071D00 sub_02071D00: ; 0x02071D00 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] add r0, r3, #0x64 strb r1, [r3, #0x6d] bl sub_02074CA0 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071D00 arm_func_start sub_02071D20 sub_02071D20: ; 0x02071D20 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] add r0, r3, #0x64 strb r1, [r3, #0x70] bl sub_02074CA0 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071D20 arm_func_start sub_02071D40 sub_02071D40: ; 0x02071D40 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4] cmp r0, #0xff strneb r0, [r3, #0x6e] ldrb r0, [r4, #1] cmp r0, #0xff strneb r0, [r3, #0x6f] add r0, r3, #0x64 bl sub_02074CA0 add r0, r4, #2 ldmia sp!, {r4, pc} arm_func_end sub_02071D40 arm_func_start sub_02071D70 sub_02071D70: ; 0x02071D70 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] add r0, r3, #0x64 strb r1, [r3, #0x71] bl sub_02074CA0 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071D70 arm_func_start sub_02071D90 sub_02071D90: ; 0x02071D90 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] add r0, r3, #0x64 strb r1, [r3, #0x72] bl sub_02074CA0 add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071D90 arm_func_start sub_02071DB0 sub_02071DB0: ; 0x02071DB0 ldrb r1, [r0], #1 strb r1, [r2, #5] bx lr arm_func_end sub_02071DB0 arm_func_start sub_02071DBC sub_02071DBC: ; 0x02071DBC stmdb sp!, {r4, lr} mov r4, r0 ldrsb r1, [r4] mov r0, r3 bl sub_02073C5C add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071DBC arm_func_start sub_02071DD8 sub_02071DD8: ; 0x02071DD8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] ldr r0, [r2, #0x54] cmp r1, #0x40 ldrb r1, [r0, #4] orrhs r1, r1, #1 strhsb r1, [r0, #4] bhs _02071E08 bic r1, r1, #1 strb r1, [r0, #4] bl sub_020747DC _02071E08: add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_02071DD8 arm_func_start sub_02071E10 sub_02071E10: ; 0x02071E10 ldrb r1, [r3, #4] orr r1, r1, #2 strb r1, [r3, #4] bx lr arm_func_end sub_02071E10 arm_func_start sub_02071E20 sub_02071E20: ; 0x02071E20 ldrb r1, [r0], #1 strb r1, [r3, #0x58] bx lr arm_func_end sub_02071E20 arm_func_start sub_02071E2C sub_02071E2C: ; 0x02071E2C add r0, r0, #2 bx lr arm_func_end sub_02071E2C arm_func_start sub_02071E34 sub_02071E34: ; 0x02071E34 stmdb sp!, {r4, lr} ldrsb r1, [r0] ldr ip, _02071EB0 ; =0x04000208 mov r2, #0 mov r1, r1, lsl #0x18 mov r4, r1, asr #0x10 strh r4, [r3, #0x54] ldr lr, [r3, #0xc4] ldr r1, [r3, #0x1c] ldrsh lr, [lr, #4] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 add r1, r4, r1, asr #16 add r1, lr, r1 strh r1, [r3, #0x16] ldrh r4, [ip] strh r2, [ip] ldr r2, [r3, #0xb4] cmp r2, #0 beq _02071E9C _02071E84: ldrh r1, [r2, #6] orr r1, r1, #0x10 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02071E84 _02071E9C: ldr r2, _02071EB0 ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh r4, [r2] ldmia sp!, {r4, pc} .align 2, 0 _02071EB0: .word 0x04000208 arm_func_end sub_02071E34 arm_func_start sub_02071EB4 sub_02071EB4: ; 0x02071EB4 stmdb sp!, {r4, lr} ldrsb r4, [r0] ldrsh r1, [r3, #0x54] ldr ip, _02071F38 ; =0x04000208 mov r2, #0 add r1, r1, r4, lsl #8 mov r1, r1, lsl #0x10 mov r4, r1, asr #0x10 strh r4, [r3, #0x54] ldr lr, [r3, #0xc4] ldr r1, [r3, #0x1c] ldrsh lr, [lr, #4] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 add r1, r4, r1, asr #16 add r1, lr, r1 strh r1, [r3, #0x16] ldrh r4, [ip] strh r2, [ip] ldr r2, [r3, #0xb4] cmp r2, #0 beq _02071F24 _02071F0C: ldrh r1, [r2, #6] orr r1, r1, #0x10 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02071F0C _02071F24: ldr r2, _02071F38 ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh r4, [r2] ldmia sp!, {r4, pc} .align 2, 0 _02071F38: .word 0x04000208 arm_func_end sub_02071EB4 arm_func_start sub_02071F3C sub_02071F3C: ; 0x02071F3C stmdb sp!, {r4, lr} ldrsb r4, [r0] ldrsh r1, [r3, #0x54] ldr ip, _02071FC0 ; =0x04000208 mov r2, #0 add r1, r1, r4, lsl #2 mov r1, r1, lsl #0x10 mov r4, r1, asr #0x10 strh r4, [r3, #0x54] ldr lr, [r3, #0xc4] ldr r1, [r3, #0x1c] ldrsh lr, [lr, #4] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 add r1, r4, r1, asr #16 add r1, lr, r1 strh r1, [r3, #0x16] ldrh r4, [ip] strh r2, [ip] ldr r2, [r3, #0xb4] cmp r2, #0 beq _02071FAC _02071F94: ldrh r1, [r2, #6] orr r1, r1, #0x10 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02071F94 _02071FAC: ldr r2, _02071FC0 ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh r4, [r2] ldmia sp!, {r4, pc} .align 2, 0 _02071FC0: .word 0x04000208 arm_func_end sub_02071F3C arm_func_start sub_02071FC4 sub_02071FC4: ; 0x02071FC4 stmdb sp!, {r3, lr} ldrb ip, [r0] ldrb r1, [r0, #1] ldrsh lr, [r3, #0x54] ldr r2, _02072050 ; =0x04000208 add r1, ip, r1, lsl #8 add r1, lr, r1 mov r1, r1, lsl #0x10 mov lr, r1, asr #0x10 strh lr, [r3, #0x54] ldr ip, [r3, #0xc4] ldr r1, [r3, #0x1c] ldrsh ip, [ip, #4] mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 add r1, lr, r1, asr #16 add r1, ip, r1 strh r1, [r3, #0x16] ldrh ip, [r2] mov r1, #0 strh r1, [r2] ldr r2, [r3, #0xb4] cmp r2, #0 beq _0207203C _02072024: ldrh r1, [r2, #6] orr r1, r1, #0x10 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02072024 _0207203C: ldr r2, _02072050 ; =0x04000208 add r0, r0, #2 ldrh r1, [r2] strh ip, [r2] ldmia sp!, {r3, pc} .align 2, 0 _02072050: .word 0x04000208 arm_func_end sub_02071FC4 arm_func_start sub_02072054 sub_02072054: ; 0x02072054 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r3 ldrb r1, [r6, #4] ldrb r4, [r7] ldrb r0, [r7, #1] tst r1, #2 ldrb r2, [r7, #2] add r0, r4, r0, lsl #8 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 ldr r4, [r6, #0xc4] moveq r1, #0 streq r1, [r6, #0x1c] ldr r1, [r6, #0x1c] mov r0, r2, lsl #0x18 mov r1, r1, asr #0x10 add r0, r1, r0, lsr #16 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, lsl #0x10 str r1, [r6, #0x24] cmp r5, #0 streq r1, [r6, #0x1c] beq _020720D4 ldr r0, [r6, #0x1c] subs r0, r1, r0 moveq r5, #0 beq _020720D4 mov r1, r5 bl __divsi3 str r0, [r6, #0x20] _020720D4: strh r5, [r6, #0x28] ldr r0, [r6, #0x1c] ldrsh r1, [r6, #0x54] mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 ldrsh r2, [r4, #4] add r0, r1, r0, lsr #16 ldr r1, _02072140 ; =0x04000208 add r0, r2, r0 strh r0, [r6, #0x16] ldrh r3, [r1] mov r0, #0 strh r0, [r1] ldr r1, [r6, #0xb4] cmp r1, #0 beq _0207212C _02072114: ldrh r0, [r1, #6] orr r0, r0, #0x10 strh r0, [r1, #6] ldr r1, [r1, #0x154] cmp r1, #0 bne _02072114 _0207212C: ldr r2, _02072140 ; =0x04000208 add r0, r7, #3 ldrh r1, [r2] strh r3, [r2] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02072140: .word 0x04000208 arm_func_end sub_02072054 arm_func_start sub_02072144 sub_02072144: ; 0x02072144 ldrb r1, [r0] ldrb ip, [r0, #1] add r0, r0, #2 mov r2, r1 cmp r1, ip movhi r2, ip movhi ip, r1 strb r2, [r3, #0xc] strb ip, [r3, #0xd] bx lr arm_func_end sub_02072144 arm_func_start sub_0207216C sub_0207216C: ; 0x0207216C ldrb r2, [r0] ldrb r1, [r0, #1] add r0, r0, #2 add r1, r2, r1, lsl #8 strh r1, [r3, #0xa] bx lr arm_func_end sub_0207216C arm_func_start sub_02072184 sub_02072184: ; 0x02072184 stmdb sp!, {r4, lr} mov r4, r0 ldrb r2, [r4] ldrb r1, [r4, #1] mov r0, r3 add r1, r1, r2, lsl #8 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl sub_02073C90 add r0, r4, #2 ldmia sp!, {r4, pc} arm_func_end sub_02072184 arm_func_start sub_020721B0 sub_020721B0: ; 0x020721B0 ldrb r2, [r0] ldrb r1, [r0, #1] add r0, r0, #2 add r1, r1, r2, lsl #8 strh r1, [r3, #0x56] bx lr arm_func_end sub_020721B0 arm_func_start sub_020721C8 sub_020721C8: ; 0x020721C8 ldrb r1, [r0], #1 strb r1, [r3, #0x59] bx lr arm_func_end sub_020721C8 arm_func_start sub_020721D4 sub_020721D4: ; 0x020721D4 stmdb sp!, {r3, r4, r5, lr} ldrb r5, [r0] ldrb r4, [r0, #1] ldrb lr, [r0, #2] ldrb ip, [r0, #3] ldrb r2, [r0, #4] mov r1, #1 add r4, r5, r4, lsl #8 strb r1, [r3, #0x75] strb r1, [r3, #0x76] mov r1, r4, lsl #0x10 strb r2, [r3, #0x77] mov r1, r1, asr #0x10 str r1, [r3, #0x78] add r1, lr, ip, lsl #8 strh r1, [r3, #0x7c] mov r1, #0 strh r1, [r3, #0x7e] strh r1, [r3, #0x80] strb r1, [r3, #0x82] add r0, r0, #5 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020721D4 arm_func_start sub_0207222C sub_0207222C: ; 0x0207222C ldrb r2, [r0] ldrb r1, [r0, #1] add r1, r2, r1, lsl #8 strh r1, [r3, #0x7e] ldrb r2, [r0, #2] ldrb r1, [r0, #3] add r0, r0, #4 add r1, r2, r1, lsl #8 strh r1, [r3, #0x80] bx lr arm_func_end sub_0207222C arm_func_start sub_02072254 sub_02072254: ; 0x02072254 ldrb r1, [r0] add r0, r0, #1 cmp r1, #2 moveq r1, #1 strb r1, [r3, #0x75] cmp r1, #0 moveq r1, #0 movne r1, #1 strb r1, [r3, #0x76] bx lr arm_func_end sub_02072254 arm_func_start sub_0207227C sub_0207227C: ; 0x0207227C stmdb sp!, {r3, r4, r5, lr} ldrsb r4, [r0] mov r5, #0 ldr r2, _02072308 ; =0x82061029 mov r1, r4, lsl #0x10 str r1, [r3, #0x34] str r1, [r3, #0x2c] strh r5, [r3, #0x38] ldr ip, [r3, #0xc4] ldrb r1, [r3, #0x50] ldrsb lr, [ip, #8] ldr ip, _0207230C ; =0x04000208 smulbb r1, r4, r1 mul r4, lr, r1 smull r1, lr, r2, r4 add lr, r4, lr mov r1, r4, lsr #0x1f add lr, r1, lr, asr #13 strh lr, [r3, #0x18] ldrh r4, [ip] strh r5, [ip] ldr r2, [r3, #0xb4] cmp r2, #0 beq _020722F4 _020722DC: ldrh r1, [r2, #6] orr r1, r1, #0x20 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _020722DC _020722F4: ldr r2, _0207230C ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh r4, [r2] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02072308: .word 0x82061029 _0207230C: .word 0x04000208 arm_func_end sub_0207227C arm_func_start sub_02072310 sub_02072310: ; 0x02072310 stmdb sp!, {r3, r4, r5, lr} ldrsb r2, [r0] ldr r1, [r3, #0x2c] add r4, r2, r1, asr #16 cmp r4, #0x7f movgt r4, #0x7f bgt _02072334 cmp r4, #0 movlt r4, #0 _02072334: mov r1, r4, lsl #0x10 str r1, [r3, #0x34] str r1, [r3, #0x2c] mov r5, #0 strh r5, [r3, #0x38] ldrb r1, [r3, #0x50] ldr ip, [r3, #0xc4] ldr r2, _020723B8 ; =0x82061029 mul r1, r4, r1 ldrsb lr, [ip, #8] ldr ip, _020723BC ; =0x04000208 mul r4, lr, r1 smull r1, lr, r2, r4 add lr, r4, lr mov r1, r4, lsr #0x1f add lr, r1, lr, asr #13 strh lr, [r3, #0x18] ldrh r4, [ip] strh r5, [ip] ldr r2, [r3, #0xb4] cmp r2, #0 beq _020723A4 _0207238C: ldrh r1, [r2, #6] orr r1, r1, #0x20 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _0207238C _020723A4: ldr r2, _020723BC ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh r4, [r2] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020723B8: .word 0x82061029 _020723BC: .word 0x04000208 arm_func_end sub_02072310 arm_func_start sub_020723C0 sub_020723C0: ; 0x020723C0 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrsb r1, [r5, #2] ldrb r2, [r5] ldrb r0, [r5, #1] mov r4, r3 mov r1, r1, lsl #0x10 add r0, r2, r0, lsl #8 mov r0, r0, lsl #0x10 str r1, [r4, #0x34] movs r6, r0, lsr #0x10 streq r1, [r4, #0x2c] beq _02072410 ldr r0, [r4, #0x2c] subs r0, r1, r0 moveq r6, #0 beq _02072410 mov r1, r6 bl __divsi3 str r0, [r4, #0x30] _02072410: strh r6, [r4, #0x38] add r0, r5, #3 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020723C0 arm_func_start sub_0207241C sub_0207241C: ; 0x0207241C stmdb sp!, {r3, r4, r5, lr} ldrb r4, [r0] ldr r2, _020724A0 ; =0x82061029 ldr lr, _020724A4 ; =0x04000208 strb r4, [r3, #0x50] ldr r1, [r3, #0x2c] ldr ip, [r3, #0xc4] mov r1, r1, asr #0x10 mul r4, r1, r4 ldrsb r1, [ip, #8] mov ip, #0 mul r4, r1, r4 smull r1, r5, r2, r4 add r5, r4, r5 mov r1, r4, lsr #0x1f add r5, r1, r5, asr #13 strh r5, [r3, #0x18] ldrh r4, [lr] strh ip, [lr] ldr r2, [r3, #0xb4] cmp r2, #0 beq _0207248C _02072474: ldrh r1, [r2, #6] orr r1, r1, #0x20 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02072474 _0207248C: ldr r2, _020724A4 ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh r4, [r2] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020724A0: .word 0x82061029 _020724A4: .word 0x04000208 arm_func_end sub_0207241C arm_func_start sub_020724A8 sub_020724A8: ; 0x020724A8 stmdb sp!, {r3, r4, r5, lr} ldrb r5, [r0] ldrb r1, [r0, #1] ldrb r4, [r0, #2] ldrb lr, [r0, #3] ldrb ip, [r0, #4] mov r2, #1 add r1, r5, r1, lsl #8 mov r1, r1, lsl #0x10 strb r2, [r3, #0x85] mov r2, #2 strb r2, [r3, #0x86] strb ip, [r3, #0x87] mov r1, r1, asr #0x10 str r1, [r3, #0x88] add r1, r4, lr, lsl #8 strh r1, [r3, #0x8c] mov r1, #0 strh r1, [r3, #0x8e] strh r1, [r3, #0x90] strb r1, [r3, #0x92] add r0, r0, #5 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020724A8 arm_func_start sub_02072504 sub_02072504: ; 0x02072504 ldrb r2, [r0] ldrb r1, [r0, #1] add r1, r2, r1, lsl #8 strh r1, [r3, #0x8e] ldrb r2, [r0, #2] ldrb r1, [r0, #3] add r0, r0, #4 add r1, r2, r1, lsl #8 strh r1, [r3, #0x90] bx lr arm_func_end sub_02072504 arm_func_start sub_0207252C sub_0207252C: ; 0x0207252C ldrb r1, [r0] add r0, r0, #1 cmp r1, #2 moveq r1, #1 strb r1, [r3, #0x85] cmp r1, #0 moveq r1, #0 movne r1, #2 strb r1, [r3, #0x86] bx lr arm_func_end sub_0207252C arm_func_start sub_02072554 sub_02072554: ; 0x02072554 stmdb sp!, {r3, lr} ldrb lr, [r0] mov ip, #0 cmp lr, #0x7f movgt lr, #0x7f mov r1, lr, lsl #0x10 str r1, [r3, #0x44] str r1, [r3, #0x3c] strh ip, [r3, #0x48] ldr r2, [r3, #0xc4] ldr r1, _020725D0 ; =0x04000208 ldrsb r2, [r2, #7] sub r2, r2, #0x40 add r2, lr, r2 strh r2, [r3, #0x1a] ldrh lr, [r1] strh ip, [r1] ldr r2, [r3, #0xb4] cmp r2, #0 beq _020725BC _020725A4: ldrh r1, [r2, #6] orr r1, r1, #0x40 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _020725A4 _020725BC: ldr r2, _020725D0 ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh lr, [r2] ldmia sp!, {r3, pc} .align 2, 0 _020725D0: .word 0x04000208 arm_func_end sub_02072554 arm_func_start sub_020725D4 sub_020725D4: ; 0x020725D4 stmdb sp!, {r3, lr} ldrsb r2, [r0] ldr r1, [r3, #0x3c] add lr, r2, r1, asr #16 cmp lr, #0x7f movgt lr, #0x7f bgt _020725F8 cmp lr, #0 movlt lr, #0 _020725F8: mov r1, lr, lsl #0x10 str r1, [r3, #0x44] str r1, [r3, #0x3c] mov ip, #0 strh ip, [r3, #0x48] ldr r2, [r3, #0xc4] ldr r1, _02072664 ; =0x04000208 ldrsb r2, [r2, #7] sub r2, r2, #0x40 add r2, lr, r2 strh r2, [r3, #0x1a] ldrh lr, [r1] strh ip, [r1] ldr r2, [r3, #0xb4] cmp r2, #0 beq _02072650 _02072638: ldrh r1, [r2, #6] orr r1, r1, #0x40 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02072638 _02072650: ldr r2, _02072664 ; =0x04000208 add r0, r0, #1 ldrh r1, [r2] strh lr, [r2] ldmia sp!, {r3, pc} .align 2, 0 _02072664: .word 0x04000208 arm_func_end sub_020725D4 arm_func_start sub_02072668 sub_02072668: ; 0x02072668 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrsb r1, [r5, #2] ldrb r2, [r5] ldrb r0, [r5, #1] mov r4, r3 mov r1, r1, lsl #0x10 add r0, r2, r0, lsl #8 mov r0, r0, lsl #0x10 str r1, [r4, #0x44] movs r6, r0, lsr #0x10 streq r1, [r4, #0x3c] beq _020726B8 ldr r0, [r4, #0x3c] subs r0, r1, r0 moveq r6, #0 beq _020726B8 mov r1, r6 bl __divsi3 str r0, [r4, #0x40] _020726B8: strh r6, [r4, #0x48] add r0, r5, #3 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02072668 arm_func_start sub_020726C4 sub_020726C4: ; 0x020726C4 stmdb sp!, {r3, r4, r5, lr} ldrb r5, [r0] ldrb r1, [r0, #1] ldrb r4, [r0, #2] ldrb lr, [r0, #3] ldrb ip, [r0, #4] mov r2, #1 add r1, r5, r1, lsl #8 mov r1, r1, lsl #0x10 strb r2, [r3, #0x95] mov r2, #3 strb r2, [r3, #0x96] strb ip, [r3, #0x97] mov r1, r1, asr #0x10 str r1, [r3, #0x98] add r1, r4, lr, lsl #8 strh r1, [r3, #0x9c] mov r1, #0 strh r1, [r3, #0x9e] strh r1, [r3, #0xa0] strb r1, [r3, #0xa2] add r0, r0, #5 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020726C4 arm_func_start sub_02072720 sub_02072720: ; 0x02072720 ldrb r2, [r0] ldrb r1, [r0, #1] add r1, r2, r1, lsl #8 strh r1, [r3, #0x9e] ldrb r2, [r0, #2] ldrb r1, [r0, #3] add r0, r0, #4 add r1, r2, r1, lsl #8 strh r1, [r3, #0xa0] bx lr arm_func_end sub_02072720 arm_func_start sub_02072748 sub_02072748: ; 0x02072748 ldrb r1, [r0] add r0, r0, #1 cmp r1, #2 moveq r1, #1 strb r1, [r3, #0x95] cmp r1, #0 moveq r1, #0 movne r1, #3 strb r1, [r3, #0x96] bx lr arm_func_end sub_02072748 arm_func_start sub_02072770 sub_02072770: ; 0x02072770 stmdb sp!, {r4, lr} ldrb r2, [r0] ldrb r1, [r0, #1] ldrb ip, [r3, #0x61] add r3, r3, #0x74 add r1, r2, r1, lsl #8 mov r1, r1, lsl #0x10 ldrb r4, [r0, #2] ldrb lr, [r0, #3] ldrb r2, [r0, #4] add r3, r3, ip, lsl #4 mov r1, r1, asr #0x10 strb r2, [r3, #3] str r1, [r3, #4] add r1, r4, lr, lsl #8 strh r1, [r3, #8] mov r1, #0 strh r1, [r3, #0xa] strh r1, [r3, #0xc] strb r1, [r3, #0xe] add r0, r0, #5 ldmia sp!, {r4, pc} arm_func_end sub_02072770 arm_func_start sub_020727C8 sub_020727C8: ; 0x020727C8 ldrb ip, [r3, #0x61] ldrb r2, [r0] ldrb r1, [r0, #1] add r3, r3, #0x74 add r3, r3, ip, lsl #4 add r1, r2, r1, lsl #8 strh r1, [r3, #0xa] ldrb r2, [r0, #2] ldrb r1, [r0, #3] add r0, r0, #4 add r1, r2, r1, lsl #8 strh r1, [r3, #0xc] bx lr arm_func_end sub_020727C8 arm_func_start sub_020727FC sub_020727FC: ; 0x020727FC ldrb r1, [r3, #0x61] ldrb ip, [r0] add r2, r3, #0x74 add r1, r2, r1, lsl #4 ldrb r2, [r0, #1] cmp ip, #0xa addls pc, pc, ip, lsl #2 b _02072930 _0207281C: ; jump table b _02072930 ; case 0 b _02072848 ; case 1 b _02072850 ; case 2 b _02072858 ; case 3 b _02072860 ; case 4 b _02072868 ; case 5 b _020728E0 ; case 6 b _020728EC ; case 7 b _020728FC ; case 8 b _02072910 ; case 9 b _02072924 ; case 10 _02072848: strb r2, [r3, #0x61] b _02072930 _02072850: strb r2, [r1, #1] b _02072930 _02072858: strb r2, [r1, #2] b _02072930 _02072860: strb r2, [r1, #3] b _02072930 _02072868: ldrb r3, [r1, #2] cmp r3, #4 addls pc, pc, r3, lsl #2 b _020728CC _02072878: ; jump table b _020728CC ; case 0 b _0207288C ; case 1 b _0207289C ; case 2 b _020728AC ; case 3 b _020728BC ; case 4 _0207288C: mov r3, #0xa mul r3, r2, r3 mov r2, r3 b _020728D8 _0207289C: mvn r3, #0x13 mul r3, r2, r3 mov r2, r3 b _020728D8 _020728AC: mov r3, #0x14 mul r3, r2, r3 mov r2, r3 b _020728D8 _020728BC: mov r3, #0xa mul r3, r2, r3 mov r2, r3 b _020728D8 _020728CC: mov r3, #0x14 mul r3, r2, r3 mov r2, r3 _020728D8: str r2, [r1, #4] b _02072930 _020728E0: add r2, r2, r2, lsl #2 strh r2, [r1, #8] b _02072930 _020728EC: mov r3, #0x14 mul r3, r2, r3 strh r3, [r1, #0xa] b _02072930 _020728FC: ldrh r3, [r1, #0xa] and r3, r3, #0xff00 orr r2, r3, r2 strh r2, [r1, #0xa] b _02072930 _02072910: ldrh r3, [r1, #0xa] and r3, r3, #0xff orr r2, r3, r2, lsl #8 strh r2, [r1, #0xa] b _02072930 _02072924: mov r3, #0x14 mul r3, r2, r3 strh r3, [r1, #0xc] _02072930: add r0, r0, #2 bx lr arm_func_end sub_020727FC arm_func_start sub_02072938 sub_02072938: ; 0x02072938 stmdb sp!, {r3, lr} ldrb ip, [r0, #1] ldrb r2, [r0] ldrb lr, [r0, #2] add r1, r3, #0x74 cmp ip, #2 strb r2, [r3, #0x61] add r1, r1, r2, lsl #4 moveq ip, #1 strb ip, [r1, #1] strb lr, [r1, #2] add r0, r0, #3 ldmia sp!, {r3, pc} arm_func_end sub_02072938 arm_func_start sub_0207296C sub_0207296C: ; 0x0207296C stmdb sp!, {r4, lr} mov r4, r0 ldrb r2, [r4] mov ip, r1 mov r1, #8 strb r2, [ip, #0x16] ldr r0, [ip, #0x28] ldr r3, [ip, #0xa0] ldr ip, [ip, #0x9c] blx ip add r0, r4, #1 ldmia sp!, {r4, pc} arm_func_end sub_0207296C arm_func_start sub_0207299C sub_0207299C: ; 0x0207299C add r0, r0, #2 bx lr arm_func_end sub_0207299C arm_func_start sub_020729A4 sub_020729A4: ; 0x020729A4 ldr r0, _020729B4 ; =_022B9584 mov r1, #0 str r1, [r0] bx lr .align 2, 0 _020729B4: .word _022B9584 arm_func_end sub_020729A4 arm_func_start sub_020729B8 sub_020729B8: ; 0x020729B8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr sb, _02072BB4 ; =_022B9584 ldr r8, [sb] ldrb r6, [r8, #0x86] cmp r6, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r5, [r8, #0x85] mov r1, #0 cmp r6, #0 str r1, [sp] beq _02072B98 mov fp, #3 mov r1, #2 mov r2, r1 mov r3, fp mov ip, r1 mov lr, fp mov r4, fp _02072A04: ldrb sl, [r8, #0x88] add r7, r8, r5 add r5, r5, #1 sub r6, r6, #1 and r5, r5, #0xff cmp r5, #0x80 moveq r5, #0 ldrb r7, [r7, #4] and r6, r6, #0xff cmp sl, #0 bne _02072B28 tst r7, #0x80 bne _02072A4C add sl, sl, #1 strb sl, [r8, #0x88] ldr r8, [sb] strb r7, [r8, #0x8c] b _02072B30 _02072A4C: and sl, r7, #0xf0 strb sl, [r8, #0x8a] and r8, r7, #0xf ldr r7, [sb] strb r8, [r7, #0x8b] ldr r7, [sb] ldrb r8, [r7, #0x8a] cmp r8, #0xc0 bgt _02072AA8 bge _02072AF8 cmp r8, #0x90 bgt _02072A8C bge _02072AE0 cmp r8, #0x80 beq _02072AD8 b _02072B1C _02072A8C: cmp r8, #0xa0 bgt _02072A9C beq _02072AE8 b _02072B1C _02072A9C: cmp r8, #0xb0 beq _02072AF0 b _02072B1C _02072AA8: cmp r8, #0xe0 bgt _02072AC0 bge _02072B08 cmp r8, #0xd0 beq _02072B00 b _02072B1C _02072AC0: cmp r8, #0xf0 bgt _02072AD0 beq _02072B10 b _02072B1C _02072AD0: cmp r8, #0xff b _02072B1C _02072AD8: strb r4, [r7, #0x87] b _02072B30 _02072AE0: strb lr, [r7, #0x87] b _02072B30 _02072AE8: strb ip, [r7, #0x87] b _02072B30 _02072AF0: strb r3, [r7, #0x87] b _02072B30 _02072AF8: strb r2, [r7, #0x87] b _02072B30 _02072B00: strb r1, [r7, #0x87] b _02072B30 _02072B08: strb fp, [r7, #0x87] b _02072B30 _02072B10: mov r8, #3 strb r8, [r7, #0x87] b _02072B30 _02072B1C: mov r8, #0 strb r8, [r7, #0x87] b _02072B30 _02072B28: add r8, r8, sl strb r7, [r8, #0x8b] _02072B30: ldr r7, [sb] ldrb r8, [r7, #0x88] add r8, r8, #1 strb r8, [r7, #0x88] ldr r8, [sb] ldrb sl, [r8, #0x88] ldrb r7, [r8, #0x87] cmp sl, r7 bne _02072B90 mov r2, #0 ldr r1, _02072BB4 ; =_022B9584 strb r2, [r8, #0x88] ldr r3, [r1] mov r1, #1 str r1, [sp] ldrb r2, [r3, #0x8a] ldrb r1, [r3, #0x8b] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #0x8c] ldrb r1, [r3, #0x8d] strb r2, [r0, #2] strb r1, [r0, #3] b _02072B98 _02072B90: cmp r6, #0 bne _02072A04 _02072B98: ldr r1, _02072BB4 ; =_022B9584 ldr r0, [sp] ldr r2, [r1] strb r6, [r2, #0x86] ldr r1, [r1] strb r5, [r1, #0x85] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02072BB4: .word _022B9584 arm_func_end sub_020729B8 arm_func_start sub_02072BB8 sub_02072BB8: ; 0x02072BB8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r0, _02072D94 ; =_022B9584 ldr r0, [r0] ldr r4, [r0] cmp r4, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, sp, #8 bl sub_020729B8 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add sb, r4, #0x10 mov r6, #0 ldr r4, _02072D98 ; =_020B0D50 add r7, sp, #0 mov r5, #1 mov r8, r6 mov fp, #0xc8 _02072C08: ldrb r1, [sp, #9] ldrb r0, [sp, #8] mla sl, r1, fp, sb cmp r0, #0xc0 bgt _02072C4C bge _02072D4C cmp r0, #0x90 bgt _02072C38 bge _02072CC0 cmp r0, #0x80 beq _02072C8C b _02072D7C _02072C38: cmp r0, #0xa0 ble _02072D7C cmp r0, #0xb0 beq _02072D2C b _02072D7C _02072C4C: cmp r0, #0xf0 bgt _02072C6C bge _02072D7C cmp r0, #0xd0 ble _02072D7C cmp r0, #0xe0 beq _02072D5C b _02072D7C _02072C6C: cmp r0, #0xf7 ble _02072D7C cmp r0, #0xff bgt _02072D7C cmp r0, #0xfe blt _02072D7C cmpne r0, #0xff b _02072D7C _02072C8C: ldrb r1, [sp, #0xa] ldrb r0, [sp, #0xb] str r8, [sp, #4] strb r1, [sp, #2] strb r0, [sp, #3] strb r8, [sp] ldrb r0, [sl, #4] tst r0, #1 bne _02072D7C mov r0, sl mov r1, r7 bl sub_02073D68 b _02072D7C _02072CC0: ldrb r0, [sp, #0xb] ldrb r1, [sp, #0xa] str r6, [sp, #4] strb r0, [sp, #3] strb r1, [sp, #2] tst r0, #0xff beq _02072D0C mov r0, sl mov r1, r7 strb r5, [sp] bl sub_02073EA0 mov r0, sl mov r1, r7 bl sub_02073CD8 movs r1, r0 beq _02072D7C mov r0, sl bl sub_02073EDC b _02072D7C _02072D0C: strb r6, [sp] ldrb r0, [sl, #4] tst r0, #1 bne _02072D7C mov r0, sl mov r1, r7 bl sub_02073D68 b _02072D7C _02072D2C: ldrb r0, [sp, #0xa] ldr r2, [r4, r0, lsl #2] cmp r2, #0 beq _02072D7C ldrb r1, [sp, #0xb] mov r0, sl blx r2 b _02072D7C _02072D4C: ldrb r1, [sp, #0xa] mov r0, sl bl sub_02073BC8 b _02072D7C _02072D5C: ldrb r2, [sp, #0xa] ldrb r1, [sp, #0xb] mov r0, sl add r1, r2, r1, lsl #7 sub r1, r1, #0x2000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl sub_02073C90 _02072D7C: add r0, sp, #8 bl sub_020729B8 cmp r0, #0 bne _02072C08 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02072D94: .word _022B9584 _02072D98: .word _020B0D50 arm_func_end sub_02072BB8 arm_func_start sub_02072D9C sub_02072D9C: ; 0x02072D9C ldrh r2, [r0, #0xe] ldr ip, _02072DB8 ; =sub_02073B90 and r2, r2, #0xff add r1, r2, r1, lsl #8 strh r1, [r0, #0xe] ldrh r1, [r0, #0xe] bx ip .align 2, 0 _02072DB8: .word sub_02073B90 arm_func_end sub_02072D9C arm_func_start sub_02072DBC sub_02072DBC: ; 0x02072DBC ldrh r2, [r0, #0xe] ldr ip, _02072DD8 ; =sub_02073B90 bic r2, r2, #0xff add r1, r2, r1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bx ip .align 2, 0 _02072DD8: .word sub_02073B90 arm_func_end sub_02072DBC arm_func_start sub_02072DDC sub_02072DDC: ; 0x02072DDC mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 ldr ip, _02072DF0 ; =sub_02073C5C strb r1, [r0, #0x51] bx ip .align 2, 0 _02072DF0: .word sub_02073C5C arm_func_end sub_02072DDC arm_func_start sub_02072DF4 sub_02072DF4: ; 0x02072DF4 mov r2, #0xa mul r2, r1, r2 strh r2, [r0, #0x56] bx lr arm_func_end sub_02072DF4 arm_func_start sub_02072E04 sub_02072E04: ; 0x02072E04 stmdb sp!, {r4, lr} mov r2, r1, lsl #0x10 str r2, [r0, #0x34] str r2, [r0, #0x2c] mov r4, #0 strh r4, [r0, #0x38] ldrb r3, [r0, #0x50] ldr lr, [r0, #0xc4] ldr r2, _02072E88 ; =0x82061029 mul ip, r1, r3 ldrsb r1, [lr, #8] ldr r3, _02072E8C ; =0x04000208 mul ip, r1, ip smull r1, lr, r2, ip add lr, ip, lr mov r1, ip, lsr #0x1f add lr, r1, lr, asr #13 strh lr, [r0, #0x18] ldrh r2, [r3] strh r4, [r3] ldr r1, [r0, #0xb4] cmp r1, #0 beq _02072E78 _02072E60: ldrh r0, [r1, #6] orr r0, r0, #0x20 strh r0, [r1, #6] ldr r1, [r1, #0x154] cmp r1, #0 bne _02072E60 _02072E78: ldr r1, _02072E8C ; =0x04000208 ldrh r0, [r1] strh r2, [r1] ldmia sp!, {r4, pc} .align 2, 0 _02072E88: .word 0x82061029 _02072E8C: .word 0x04000208 arm_func_end sub_02072E04 arm_func_start sub_02072E90 sub_02072E90: ; 0x02072E90 mov r1, r1, lsl #0x10 str r1, [r0, #0x44] str r1, [r0, #0x3c] mov r2, #0 ldr r1, _02072EE4 ; =0x04000208 strh r2, [r0, #0x48] ldrh r3, [r1] strh r2, [r1] ldr r1, [r0, #0xb4] cmp r1, #0 beq _02072ED4 _02072EBC: ldrh r0, [r1, #6] orr r0, r0, #0x40 strh r0, [r1, #6] ldr r1, [r1, #0x154] cmp r1, #0 bne _02072EBC _02072ED4: ldr r1, _02072EE4 ; =0x04000208 ldrh r0, [r1] strh r3, [r1] bx lr .align 2, 0 _02072EE4: .word 0x04000208 arm_func_end sub_02072E90 arm_func_start sub_02072EE8 sub_02072EE8: ; 0x02072EE8 ldr r2, _02072F30 ; =0x04000208 strb r1, [r0, #0x50] ldrh r3, [r2] mov r1, #0 strh r1, [r2] ldr r1, [r0, #0xb4] cmp r1, #0 beq _02072F20 _02072F08: ldrh r0, [r1, #6] orr r0, r0, #0x20 strh r0, [r1, #6] ldr r1, [r1, #0x154] cmp r1, #0 bne _02072F08 _02072F20: ldr r1, _02072F30 ; =0x04000208 ldrh r0, [r1] strh r3, [r1] bx lr .align 2, 0 _02072F30: .word 0x04000208 arm_func_end sub_02072EE8 arm_func_start sub_02072F34 sub_02072F34: ; 0x02072F34 strb r1, [r0, #0x58] bx lr arm_func_end sub_02072F34 arm_func_start sub_02072F3C sub_02072F3C: ; 0x02072F3C stmdb sp!, {r3, lr} cmp r1, #0x40 ldrb r1, [r0, #4] orrhs r1, r1, #1 strhsb r1, [r0, #4] ldmhsia sp!, {r3, pc} bic r1, r1, #1 strb r1, [r0, #4] bl sub_020747DC ldmia sp!, {r3, pc} arm_func_end sub_02072F3C arm_func_start sub_02072F64 sub_02072F64: ; 0x02072F64 bx lr arm_func_end sub_02072F64 arm_func_start sub_02072F68 sub_02072F68: ; 0x02072F68 bx lr arm_func_end sub_02072F68 arm_func_start sub_02072F6C sub_02072F6C: ; 0x02072F6C bx lr arm_func_end sub_02072F6C arm_func_start sub_02072F70 sub_02072F70: ; 0x02072F70 bx lr arm_func_end sub_02072F70 arm_func_start sub_02072F74 sub_02072F74: ; 0x02072F74 strb r1, [r0, #0x5c] mov r1, #1 strb r1, [r0, #0x60] bx lr arm_func_end sub_02072F74 arm_func_start sub_02072F84 sub_02072F84: ; 0x02072F84 strb r1, [r0, #0x5a] mov r1, #0 strb r1, [r0, #0x60] bx lr arm_func_end sub_02072F84 arm_func_start sub_02072F94 sub_02072F94: ; 0x02072F94 strb r1, [r0, #0x5b] mov r1, #0 strb r1, [r0, #0x60] bx lr arm_func_end sub_02072F94 arm_func_start sub_02072FA4 sub_02072FA4: ; 0x02072FA4 bx lr arm_func_end sub_02072FA4 arm_func_start sub_02072FA8 sub_02072FA8: ; 0x02072FA8 bx lr arm_func_end sub_02072FA8 arm_func_start sub_02072FAC sub_02072FAC: ; 0x02072FAC stmdb sp!, {r3, lr} ldr r0, _02072FD4 ; =_022B9584 ldr r0, [r0] ldr r0, [r0] bl sub_02073480 ldr r0, _02072FD4 ; =_022B9584 ldr r0, [r0] ldr r0, [r0] bl sub_020733BC ldmia sp!, {r3, pc} .align 2, 0 _02072FD4: .word _022B9584 arm_func_end sub_02072FAC arm_func_start sub_02072FD8 sub_02072FD8: ; 0x02072FD8 ldr r0, _02072FF4 ; =_022B9584 mov r1, #0 ldr r0, [r0] ldr ip, _02072FF8 ; =sub_0207384C mov r2, r1 ldr r0, [r0] bx ip .align 2, 0 _02072FF4: .word _022B9584 _02072FF8: .word sub_0207384C arm_func_end sub_02072FD8 arm_func_start sub_02072FFC sub_02072FFC: ; 0x02072FFC stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl sub_02073A90 ldr r1, _02073074 ; =0x04000208 mov r0, #0 ldrh r5, [r1] strh r0, [r1] ldr lr, [r4, #0xb8] cmp lr, #0 ldreqh r0, [r1] streqh r5, [r1] ldmeqia sp!, {r3, r4, r5, pc} mov ip, lr mvn r1, #0 mov r3, r0 _02073038: str r1, [lr, #4] strb r3, [ip, #1] ldr r0, [ip, #8] cmp r0, #0 movne ip, r0 bne _02073038 ldr r0, _02073078 ; =_022B7330 ldr r1, _02073074 ; =0x04000208 ldr r2, [r0, #0x650] str r2, [ip, #8] str lr, [r0, #0x650] str r3, [r4, #0xb8] ldrh r0, [r1] strh r5, [r1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02073074: .word 0x04000208 _02073078: .word _022B7330 arm_func_end sub_02072FFC arm_func_start sub_0207307C sub_0207307C: ; 0x0207307C mov r1, #0 strb r1, [r0, #7] bx lr arm_func_end sub_0207307C arm_func_start sub_02073088 sub_02073088: ; 0x02073088 mov r1, #1 strb r1, [r0, #7] bx lr arm_func_end sub_02073088 arm_func_start sub_02073094 sub_02073094: ; 0x02073094 ldr ip, _020730A4 ; =sub_02074CA0 strb r1, [r0, #0x72] add r0, r0, #0x64 bx ip .align 2, 0 _020730A4: .word sub_02074CA0 arm_func_end sub_02073094 arm_func_start sub_020730A8 sub_020730A8: ; 0x020730A8 ldr ip, _020730B8 ; =sub_02074CA0 strb r1, [r0, #0x6d] add r0, r0, #0x64 bx ip .align 2, 0 _020730B8: .word sub_02074CA0 arm_func_end sub_020730A8 arm_func_start sub_020730BC sub_020730BC: ; 0x020730BC ldr ip, _020730CC ; =sub_02074CA0 strb r1, [r0, #0x6e] add r0, r0, #0x64 bx ip .align 2, 0 _020730CC: .word sub_02074CA0 arm_func_end sub_020730BC arm_func_start sub_020730D0 sub_020730D0: ; 0x020730D0 ldr ip, _020730E0 ; =sub_02074CA0 strb r1, [r0, #0x71] add r0, r0, #0x64 bx ip .align 2, 0 _020730E0: .word sub_02074CA0 arm_func_end sub_020730D0 arm_func_start sub_020730E4 sub_020730E4: ; 0x020730E4 ldrb r2, [r0, #0x61] add r1, r1, r1, lsl #2 add r0, r0, r2, lsl #4 strh r1, [r0, #0x7c] bx lr arm_func_end sub_020730E4 arm_func_start sub_020730F8 sub_020730F8: ; 0x020730F8 and r3, r1, #2 add r2, r0, #0x74 strb r3, [r0, #0x61] add r2, r2, r3, lsl #4 mov r0, r1, asr #2 strb r0, [r2, #1] add r0, r3, #1 strb r0, [r2, #2] bx lr arm_func_end sub_020730F8 arm_func_start sub_0207311C sub_0207311C: ; 0x0207311C ldrb r2, [r0, #0x61] add r0, r0, r2, lsl #4 strb r1, [r0, #0x77] bx lr arm_func_end sub_0207311C arm_func_start sub_0207312C sub_0207312C: ; 0x0207312C ldrb r2, [r0, #0x61] add r0, r0, #0x74 add r0, r0, r2, lsl #4 ldrb r2, [r0, #2] cmp r2, #4 addls pc, pc, r2, lsl #2 b _020731AC _02073148: ; jump table b _020731AC ; case 0 b _0207315C ; case 1 b _02073170 ; case 2 b _02073184 ; case 3 b _02073198 ; case 4 _0207315C: mov r2, #0xa mul r2, r1, r2 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 b _020731BC _02073170: mvn r2, #0x13 mul r2, r1, r2 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 b _020731BC _02073184: mov r2, #0x14 mul r2, r1, r2 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 b _020731BC _02073198: mov r2, #0xa mul r2, r1, r2 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 b _020731BC _020731AC: mov r2, #0x14 mul r2, r1, r2 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 _020731BC: str r1, [r0, #4] bx lr arm_func_end sub_0207312C arm_func_start sub_020731C4 sub_020731C4: ; 0x020731C4 mov r2, #0x14 mul r2, r1, r2 ldrb r1, [r0, #0x61] add r0, r0, r1, lsl #4 strh r2, [r0, #0x7e] bx lr arm_func_end sub_020731C4 arm_func_start sub_020731DC sub_020731DC: ; 0x020731DC mov r2, #0x14 mul r2, r1, r2 ldrb r1, [r0, #0x61] add r0, r0, r1, lsl #4 strh r2, [r0, #0x80] bx lr arm_func_end sub_020731DC arm_func_start sub_020731F4 sub_020731F4: ; 0x020731F4 strb r1, [r0, #0x59] bx lr arm_func_end sub_020731F4 arm_func_start sub_020731FC sub_020731FC: ; 0x020731FC bx lr arm_func_end sub_020731FC arm_func_start sub_02073200 sub_02073200: ; 0x02073200 bx lr arm_func_end sub_02073200 arm_func_start sub_02073204 sub_02073204: ; 0x02073204 bx lr arm_func_end sub_02073204 arm_func_start sub_02073208 sub_02073208: ; 0x02073208 stmdb sp!, {r4, lr} ldr r1, _02073274 ; =_022B7330 mov r2, #1 ldrsb r3, [r1, #0x41] mov r4, #0 mov r1, #0x7f strb r3, [r0, #2] strb r2, [r0, #3] strh r4, [r0, #4] strb r1, [r0, #6] mov r1, #0x40 strb r1, [r0, #7] ldrb ip, [r0, #2] ldrsb r1, [r0, #6] ldr r2, _02073278 ; =0x81020409 ldr r3, _0207327C ; =_022B7A30 smulbb ip, ip, r1 smull r1, lr, r2, ip add lr, ip, lr mov r1, ip, lsr #0x1f add lr, r1, lr, asr #6 strb lr, [r0, #8] strb r4, [r0, #9] strb r4, [r0, #0xa] ldrh r1, [r3, #0x2e] strb r1, [r0, #0xb] ldmia sp!, {r4, pc} .align 2, 0 _02073274: .word _022B7330 _02073278: .word 0x81020409 _0207327C: .word _022B7A30 arm_func_end sub_02073208 arm_func_start sub_02073280 sub_02073280: ; 0x02073280 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0xc8 mul r0, r5, r0 mov r2, r1 add r0, r0, #0x10 mov r1, #0x10 bl sub_0206C9BC movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #0 strb r1, [r4] strb r5, [r4, #1] str r1, [r4, #0xc] bl sub_02073208 cmp r5, #0 add r1, r4, #0x10 mov r2, #0 ble _02073300 mov r0, r2 _020732D4: str r0, [r1] strb r2, [r1, #5] str r0, [r1, #0xb4] str r0, [r1, #0xb8] str r0, [r1, #0xbc] str r0, [r1, #0xc0] add r2, r2, #1 str r4, [r1, #0xc4] cmp r2, r5 add r1, r1, #0xc8 blt _020732D4 _02073300: ldr r1, _02073348 ; =0x04000208 mov r0, #0 ldrh r3, [r1] ldr r2, _0207334C ; =_022B7988 strh r0, [r1] ldr r0, [r2] cmp r0, #0 beq _02073330 _02073320: add r2, r0, #0xc ldr r0, [r0, #0xc] cmp r0, #0 bne _02073320 _02073330: ldr r1, _02073348 ; =0x04000208 str r4, [r2] ldrh r0, [r1] mov r0, r4 strh r3, [r1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02073348: .word 0x04000208 _0207334C: .word _022B7988 arm_func_end sub_02073280 arm_func_start sub_02073350 sub_02073350: ; 0x02073350 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl sub_02073480 ldr r2, _020733B4 ; =0x04000208 mov r0, r5 ldrh r4, [r2] mov r1, #0 strh r1, [r2] bl sub_020733BC ldr r1, _020733B8 ; =_022B7988 b _02073380 _0207337C: add r1, r0, #0xc _02073380: ldr r0, [r1] cmp r0, #0 cmpne r0, r5 bne _0207337C cmp r0, r5 ldreq r0, [r5, #0xc] ldr r2, _020733B4 ; =0x04000208 streq r0, [r1] ldrh r1, [r2] mov r0, r5 strh r4, [r2] bl sub_0206CC14 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020733B4: .word 0x04000208 _020733B8: .word _022B7988 arm_func_end sub_02073350 arm_func_start sub_020733BC sub_020733BC: ; 0x020733BC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldrb r3, [r0, #1] add r1, r0, #0x10 mov r2, #0 cmp r3, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r7, _02073450 ; =0x04000208 ldr ip, _02073454 ; =_022B7330 mvn r5, #0 mov r4, r2 mov r6, r2 _020733E8: ldrh r3, [r7] strh r6, [r7] ldr sb, [r1, #0xb8] cmp sb, #0 ldreqh lr, [r7] streqh r3, [r7] beq _02073438 mov r8, sb _02073408: str r5, [sb, #4] strb r4, [r8, #1] ldr lr, [r8, #8] cmp lr, #0 movne r8, lr bne _02073408 ldr lr, [ip, #0x650] str lr, [r8, #8] str sb, [ip, #0x650] str r4, [r1, #0xb8] ldrh lr, [r7] strh r3, [r7] _02073438: ldrb r3, [r0, #1] add r2, r2, #1 add r1, r1, #0xc8 cmp r2, r3 blt _020733E8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02073450: .word 0x04000208 _02073454: .word _022B7330 arm_func_end sub_020733BC arm_func_start sub_02073458 sub_02073458: ; 0x02073458 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02073208 mov r0, r6 mov r1, r5 mov r2, r4 bl sub_0207384C ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02073458 arm_func_start sub_02073480 sub_02073480: ; 0x02073480 stmdb sp!, {r3, r4, r5, lr} ldrb r5, [r0, #1] add r4, r0, #0x10 cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} _02073494: mov r0, r4 bl sub_02073A90 subs r5, r5, #1 add r4, r4, #0xc8 bne _02073494 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02073480 arm_func_start sub_020734AC sub_020734AC: ; 0x020734AC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02073500 ; =0x04000208 mov r2, #0 ldrh r6, [r3] mov r7, r1 add r4, r0, #0x10 strh r2, [r3] strb r7, [r0, #9] ldrb r5, [r0, #1] cmp r5, #0 beq _020734F0 _020734D8: mov r0, r4 mov r1, r7 bl sub_02073B14 subs r5, r5, #1 add r4, r4, #0xc8 bne _020734D8 _020734F0: ldr r1, _02073500 ; =0x04000208 ldrh r0, [r1] strh r6, [r1] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02073500: .word 0x04000208 arm_func_end sub_020734AC arm_func_start sub_02073504 sub_02073504: ; 0x02073504 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _02073568 ; =0x04000208 ldrb r6, [r0, #1] ldrh r4, [r2] mov r1, #0 cmp r6, #0 strh r1, [r2] add r5, r0, #0x10 beq _02073558 _02073528: ldr r7, [r5, #0xb8] cmp r7, #0 beq _0207354C _02073534: mov r0, r5 mov r1, r7 bl sub_02073EDC ldr r7, [r7, #8] cmp r7, #0 bne _02073534 _0207354C: subs r6, r6, #1 add r5, r5, #0xc8 bne _02073528 _02073558: ldr r1, _02073568 ; =0x04000208 ldrh r0, [r1] strh r4, [r1] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02073568: .word 0x04000208 arm_func_end sub_02073504 arm_func_start sub_0207356C sub_0207356C: ; 0x0207356C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r3, _02073644 ; =_022B7370 ldr r4, _02073648 ; =0x81020409 ldrsb r5, [r3, r1] add r3, r0, #0x10 mov ip, #0 strb r5, [r0, #2] strb r1, [r0, #3] ldrb r5, [r0, #2] ldrsb r1, [r0, #6] smulbb r5, r5, r1 smull r1, r6, r4, r5 add r6, r5, r6 mov r1, r5, lsr #0x1f add r6, r1, r6, asr #6 strb r6, [r0, #8] ldrb r1, [r0, #1] cmp r1, #0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} ldr r6, _0207364C ; =0x04000208 mov r5, ip _020735C0: ldr r4, [r3, #0x2c] ldrb r1, [r3, #0x50] mov r4, r4, asr #0x10 ldrsb lr, [r0, #8] mul r1, r4, r1 mul r7, lr, r1 ldr r4, _02073650 ; =0x82061029 mov r1, r7, lsr #0x1f smull lr, r8, r4, r7 add r8, r7, r8 add r8, r1, r8, asr #13 strh r8, [r3, #0x18] cmp r2, #1 bne _0207362C ldrh r7, [r6] strh r5, [r6] ldr r4, [r3, #0xb4] cmp r4, #0 beq _02073624 _0207360C: ldrh r1, [r4, #6] orr r1, r1, #0x20 strh r1, [r4, #6] ldr r4, [r4, #0x154] cmp r4, #0 bne _0207360C _02073624: ldrh r1, [r6] strh r7, [r6] _0207362C: ldrb r1, [r0, #1] add ip, ip, #1 add r3, r3, #0xc8 cmp ip, r1 blt _020735C0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02073644: .word _022B7370 _02073648: .word 0x81020409 _0207364C: .word 0x04000208 _02073650: .word 0x82061029 arm_func_end sub_0207356C arm_func_start sub_02073654 sub_02073654: ; 0x02073654 stmdb sp!, {r3, r4, r5, lr} strh r1, [r0, #4] ldrb r3, [r0, #1] add r1, r0, #0x10 mov r2, #0 cmp r3, #0 ldmleia sp!, {r3, r4, r5, pc} ldr lr, _020736E4 ; =0x04000208 mov ip, r2 _02073678: ldr r3, [r1, #0x1c] ldrsh r4, [r1, #0x54] mov r3, r3, asr #0x10 mov r3, r3, lsl #0x10 ldrsh r5, [r0, #4] add r3, r4, r3, asr #16 add r3, r5, r3 strh r3, [r1, #0x16] ldrh r5, [lr] strh ip, [lr] ldr r4, [r1, #0xb4] cmp r4, #0 beq _020736C4 _020736AC: ldrh r3, [r4, #6] orr r3, r3, #0x10 strh r3, [r4, #6] ldr r4, [r4, #0x154] cmp r4, #0 bne _020736AC _020736C4: ldrh r3, [lr] add r2, r2, #1 add r1, r1, #0xc8 strh r5, [lr] ldrb r3, [r0, #1] cmp r2, r3 blt _02073678 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020736E4: .word 0x04000208 arm_func_end sub_02073654 arm_func_start sub_020736E8 sub_020736E8: ; 0x020736E8 stmdb sp!, {r4, r5, r6, lr} strb r1, [r0, #6] ldrb r4, [r0, #2] ldrsb r2, [r0, #6] ldr r3, _020737AC ; =0x81020409 add r1, r0, #0x10 smulbb r4, r4, r2 smull r2, r5, r3, r4 add r5, r4, r5 mov r2, r4, lsr #0x1f add r5, r2, r5, asr #6 strb r5, [r0, #8] ldrb r3, [r0, #1] mov r2, #0 cmp r3, #0 ldmleia sp!, {r4, r5, r6, pc} ldr r4, _020737B0 ; =0x04000208 ldr ip, _020737B4 ; =0x82061029 mov lr, r2 _02073734: ldr r5, [r1, #0x2c] ldrb r3, [r1, #0x50] mov r5, r5, asr #0x10 ldrsb r6, [r0, #8] mul r3, r5, r3 mul r5, r6, r3 smull r3, r6, ip, r5 add r6, r5, r6 mov r3, r5, lsr #0x1f add r6, r3, r6, asr #13 strh r6, [r1, #0x18] ldrh r6, [r4] strh lr, [r4] ldr r5, [r1, #0xb4] cmp r5, #0 beq _0207378C _02073774: ldrh r3, [r5, #6] orr r3, r3, #0x20 strh r3, [r5, #6] ldr r5, [r5, #0x154] cmp r5, #0 bne _02073774 _0207378C: ldrh r3, [r4] add r2, r2, #1 add r1, r1, #0xc8 strh r6, [r4] ldrb r3, [r0, #1] cmp r2, r3 blt _02073734 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020737AC: .word 0x81020409 _020737B0: .word 0x04000208 _020737B4: .word 0x82061029 arm_func_end sub_020736E8 arm_func_start sub_020737B8 sub_020737B8: ; 0x020737B8 stmdb sp!, {r3, r4, r5, lr} strb r1, [r0, #7] ldrb r3, [r0, #1] add r1, r0, #0x10 mov r2, #0 cmp r3, #0 ldmleia sp!, {r3, r4, r5, pc} ldr lr, _02073848 ; =0x04000208 mov ip, r2 _020737DC: ldr r3, [r1, #0xc4] ldr r4, [r1, #0x3c] ldrsb r3, [r3, #7] mov r4, r4, asr #0x10 and r4, r4, #0xff sub r3, r3, #0x40 add r3, r4, r3 strh r3, [r1, #0x1a] ldrh r5, [lr] strh ip, [lr] ldr r4, [r1, #0xb4] cmp r4, #0 beq _02073828 _02073810: ldrh r3, [r4, #6] orr r3, r3, #0x40 strh r3, [r4, #6] ldr r4, [r4, #0x154] cmp r4, #0 bne _02073810 _02073828: ldrh r3, [lr] add r2, r2, #1 add r1, r1, #0xc8 strh r5, [lr] ldrb r3, [r0, #1] cmp r2, r3 blt _020737DC ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02073848: .word 0x04000208 arm_func_end sub_020737B8 arm_func_start sub_0207384C sub_0207384C: ; 0x0207384C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r3, _020738D8 ; =_022B7330 mov sl, r0 ldrsb r6, [r3, #0x3d] mov r7, #0 mov sb, r1 strb r7, [r3, #0x3d] ldrb r0, [sl, #1] mov r8, r2 add r5, sl, #0x10 cmp r0, #0 ble _020738CC mov r0, sb, lsl #0x10 mov r4, r0, lsr #0x10 _02073884: mov r0, r5 bl sub_02073A90 mov r0, r5 mov r1, r8 bl sub_020738DC cmp sb, #0 blt _020738B8 mov r0, r5 mov r1, r4 bl sub_02073B90 mov r0, r5 mov r1, r4 bl sub_02073BC8 _020738B8: ldrb r0, [sl, #1] add r7, r7, #1 add r5, r5, #0xc8 cmp r7, r0 blt _02073884 _020738CC: ldr r0, _020738D8 ; =_022B7330 strb r6, [r0, #0x3d] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _020738D8: .word _022B7330 arm_func_end sub_0207384C arm_func_start sub_020738DC sub_020738DC: ; 0x020738DC stmdb sp!, {r3, r4, r5, lr} mov r4, r0 str r1, [r4] mov r0, #0 strb r0, [r4, #4] strb r0, [r4, #6] mov r1, #1 strb r1, [r4, #7] ldr r1, _02073A80 ; =_022B7A30 strb r0, [r4, #8] ldrh r3, [r1, #0x2e] ldr r1, _02073A84 ; =_022B7330 mov r2, #0x7f strb r3, [r4, #9] strh r0, [r4, #0xa] strb r0, [r4, #0xc] strb r0, [r4, #0xd] add r1, r1, #0x600 ldrsb ip, [r1, #0x74] ldrsb r3, [r1, #0x94] add r3, r3, ip, lsl #8 strh r3, [r4, #0xe] strh r0, [r4, #0x10] strh r0, [r4, #0x14] str r0, [r4, #0x1c] strh r0, [r4, #0x28] ldrsb r3, [r1, #0x7b] mov r3, r3, lsl #0x10 str r3, [r4, #0x2c] strh r0, [r4, #0x38] ldrsb r3, [r1, #0x7e] mov r3, r3, lsl #0x10 str r3, [r4, #0x3c] strh r0, [r4, #0x48] strh r0, [r4, #0x54] ldrsb r3, [r1, #0x7f] strb r3, [r4, #0x50] ldrsb r1, [r1, #0x75] strb r1, [r4, #0x51] strh r0, [r4, #0x52] strh r0, [r4, #0x56] strb r2, [r4, #0x58] strb r0, [r4, #0x59] strb r0, [r4, #0x5a] strb r0, [r4, #0x5b] strb r0, [r4, #0x5c] strb r0, [r4, #0x5d] strb r0, [r4, #0x5e] strb r0, [r4, #0x5f] strb r0, [r4, #0x60] mov r2, r0 _020739A8: add r1, r4, r0, lsl #4 strb r2, [r1, #0x75] add r0, r0, #1 strb r2, [r1, #0x76] cmp r0, #4 blt _020739A8 add r0, r4, #0x64 bl sub_02074C84 mov r0, #0 ldr r1, _02073A88 ; =0x04000208 str r0, [r4, #0xb4] ldrh r5, [r1] strh r0, [r1] ldr lr, [r4, #0xb8] cmp lr, #0 ldreqh r0, [r1] streqh r5, [r1] beq _02073A34 mov ip, lr mvn r1, #0 mov r3, r0 _020739FC: str r1, [lr, #4] strb r3, [ip, #1] ldr r0, [ip, #8] cmp r0, #0 movne ip, r0 bne _020739FC ldr r0, _02073A84 ; =_022B7330 ldr r1, _02073A88 ; =0x04000208 ldr r2, [r0, #0x650] str r2, [ip, #8] str lr, [r0, #0x650] str r3, [r4, #0xb8] ldrh r0, [r1] strh r5, [r1] _02073A34: mov r1, #0 str r1, [r4, #0xbc] ldr r0, _02073A84 ; =_022B7330 str r1, [r4, #0xc0] strh r1, [r4, #0x16] add r0, r0, #0x600 ldrsb r3, [r0, #0x7b] ldrsb r0, [r0, #0x7f] ldr r1, _02073A8C ; =0x82061029 mov r2, #0x40 smulbb r0, r3, r0 rsb r3, r0, r0, lsl #7 smull r0, ip, r1, r3 add ip, r3, ip mov r0, r3, lsr #0x1f add ip, r0, ip, asr #13 strh ip, [r4, #0x18] strh r2, [r4, #0x1a] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02073A80: .word _022B7A30 _02073A84: .word _022B7330 _02073A88: .word 0x04000208 _02073A8C: .word 0x82061029 arm_func_end sub_020738DC arm_func_start sub_02073A90 sub_02073A90: ; 0x02073A90 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r6, [r0, #0xb4] mov r1, #0 str r1, [r0, #0xb4] cmp r6, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r8, _02073B10 ; =_022B7A30 mov r5, r1 mov r4, r1 _02073AB4: ldr r7, [r6, #0x154] add r0, r6, #0x3c strh r5, [r6, #4] str r5, [r6, #0x158] str r5, [r6, #0x154] bl sub_02074F04 ldr r0, [r6, #0x14c] cmp r7, #0 and r0, r0, #0xff str r0, [r6, #0x14c] str r4, [r6] strh r4, [r6, #0x18] ldrh r2, [r6, #0xa] ldrh r1, [r8, #0x32] mov r6, r7 mvn r0, r2 and r0, r1, r0 strh r0, [r8, #0x32] ldrh r0, [r8, #0x36] orr r0, r0, r2 strh r0, [r8, #0x36] bne _02073AB4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02073B10: .word _022B7A30 arm_func_end sub_02073A90 arm_func_start sub_02073B14 sub_02073B14: ; 0x02073B14 cmp r1, #1 bne _02073B5C ldrb r1, [r0, #4] orr r1, r1, #0x40 strb r1, [r0, #4] ldr r2, [r0, #0xb4] cmp r2, #0 bxeq lr mov r1, #0 _02073B38: str r1, [r2, #0x13c] str r1, [r2, #0x140] ldrh r0, [r2, #6] orr r0, r0, #0x30 strh r0, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02073B38 bx lr _02073B5C: ldr r2, [r0, #0xb4] cmp r2, #0 beq _02073B80 _02073B68: ldrh r1, [r2, #6] orr r1, r1, #0x30 strh r1, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02073B68 _02073B80: ldrb r1, [r0, #4] bic r1, r1, #0x40 strb r1, [r0, #4] bx lr arm_func_end sub_02073B14 arm_func_start sub_02073B90 sub_02073B90: ; 0x02073B90 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 strh r1, [r4, #0xe] bl sub_0206D6A0 str r0, [r4, #0xbc] cmp r0, #0 moveq r0, #0 streq r0, [r4, #0xc0] ldmeqia sp!, {r4, pc} ldrh r1, [r4, #0x10] mov r0, r4 bl sub_02073BC8 ldmia sp!, {r4, pc} arm_func_end sub_02073B90 arm_func_start sub_02073BC8 sub_02073BC8: ; 0x02073BC8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r0 ldr r0, [r5, #0xbc] mov r4, r1 cmp r0, #0 bne _02073BF0 mov r0, #0 str r0, [r5, #0xc0] strh r0, [r5, #0x10] b _02073C4C _02073BF0: mov r0, r4, lsl #0x10 mov r1, r0, asr #0x10 strh r1, [r5, #0x10] ldr r0, [r5, #0xbc] bl sub_0206D590 movs lr, r0 beq _02073C48 mov r6, #0 strb r6, [r5, #0x59] add r7, lr, #0x10 add r8, r5, #0x74 mov ip, r6 _02073C20: ldrb r0, [r7, #1] add r6, r6, #1 cmp r0, #0 ldmneia r7, {r0, r1, r2, r3} stmneia r8, {r0, r1, r2, r3} streqb ip, [r8, #1] cmp r6, #4 add r7, r7, #0x10 add r8, r8, #0x10 blt _02073C20 _02073C48: str lr, [r5, #0xc0] _02073C4C: add r0, r5, #0x64 bl sub_02074C84 mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02073BC8 arm_func_start sub_02073C5C sub_02073C5C: ; 0x02073C5C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 strb r5, [r0, #0x51] ldr r4, [r0, #0xb4] cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} _02073C74: mov r1, r5 add r0, r4, #0x5c bl sub_020752AC ldr r4, [r4, #0x154] cmp r4, #0 bne _02073C74 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02073C5C arm_func_start sub_02073C90 sub_02073C90: ; 0x02073C90 strh r1, [r0, #0x52] ldr r2, [r0, #0xb4] cmp r2, #0 bxeq lr mov r3, r1, lsl #8 _02073CA4: ldrb r0, [r2, #0xf] mul r1, r0, r3 mov r0, r1, asr #0xc add r0, r1, r0, lsr #19 mov r0, r0, asr #0xd strh r0, [r2, #0x10] ldrh r0, [r2, #6] orr r0, r0, #0x10 strh r0, [r2, #6] ldr r2, [r2, #0x154] cmp r2, #0 bne _02073CA4 bx lr arm_func_end sub_02073C90 arm_func_start sub_02073CD8 sub_02073CD8: ; 0x02073CD8 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrb r2, [r5, #0xd] mov r4, r1 cmp r2, #0 beq _02073D18 ldrb r0, [r5, #0xc] sub r0, r2, r0 add r6, r0, #1 bl sub_0206C8F4 mul r1, r6, r0 mov r0, r1, asr #0xe ldrb r2, [r5, #0xc] add r0, r1, r0, lsr #17 add r0, r2, r0, asr #15 strb r0, [r4, #2] _02073D18: ldr r1, _02073D64 ; =_022B7330 ldr r0, [r1, #0x650] cmp r0, #0 moveq r0, #0 ldrne r2, [r0, #8] strne r2, [r1, #0x650] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r3, [r4] ldr r2, [r4, #4] mov r1, #1 str r3, [r0] str r2, [r0, #4] strb r1, [r0, #1] ldr r1, [r5, #0xb8] str r1, [r0, #8] str r0, [r5, #0xb8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02073D64: .word _022B7330 arm_func_end sub_02073CD8 arm_func_start sub_02073D68 sub_02073D68: ; 0x02073D68 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 ldr r4, [r7, #0xb8] mov r6, r1 cmp r4, #0 add r5, r7, #0xb8 beq _02073DE4 ldrb r1, [r6, #2] _02073D88: ldrb r0, [r4, #2] cmp r0, r1 bne _02073DD4 ldr r8, [r7, #0xb4] cmp r8, #0 beq _02073DC8 _02073DA0: ldrb r1, [r8, #0xd] ldrb r0, [r6, #2] cmp r1, r0 bne _02073DBC mov r0, r7 mov r1, r8 bl sub_0207485C _02073DBC: ldr r8, [r8, #0x154] cmp r8, #0 bne _02073DA0 _02073DC8: ldr r0, [r4, #8] str r0, [r5] b _02073DE4 _02073DD4: add r5, r4, #8 ldr r4, [r4, #8] cmp r4, #0 bne _02073D88 _02073DE4: ldr r0, _02073E0C ; =_022B7330 mvn r2, #0 ldr r3, [r0, #0x650] mov r1, #0 str r3, [r4, #8] str r4, [r0, #0x650] str r2, [r4, #4] mov r0, r4 strb r1, [r4, #1] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02073E0C: .word _022B7330 arm_func_end sub_02073D68 arm_func_start sub_02073E10 sub_02073E10: ; 0x02073E10 stmdb sp!, {r4, lr} ldr r4, [r0, #0xb8] cmp r4, #0 beq _02073E54 _02073E20: ldrb r3, [r4, #2] cmp r3, r2 bne _02073E48 ldr lr, [r1] ldr ip, [r1, #4] mov r3, #1 str lr, [r4] str ip, [r4, #4] strb r3, [r4, #1] b _02073E54 _02073E48: ldr r4, [r4, #8] cmp r4, #0 bne _02073E20 _02073E54: ldr ip, [r0, #0xb4] cmp ip, #0 ldmeqia sp!, {r4, pc} _02073E60: ldrb r0, [ip, #0xd] cmp r0, r2 bne _02073E90 ldrb r0, [r1, #2] strb r0, [ip, #0xd] ldrb r3, [r1, #2] ldrsh r0, [ip, #0x14] add r0, r0, r3, lsl #8 strh r0, [ip, #0x12] ldrh r0, [ip, #6] orr r0, r0, #0x10 strh r0, [ip, #6] _02073E90: ldr ip, [ip, #0x154] cmp ip, #0 bne _02073E60 ldmia sp!, {r4, pc} arm_func_end sub_02073E10 arm_func_start sub_02073EA0 sub_02073EA0: ; 0x02073EA0 stmdb sp!, {r3, lr} ldr r2, [r0, #0xb8] cmp r2, #0 ldmeqia sp!, {r3, pc} ldrb r3, [r1, #2] _02073EB4: ldrb r1, [r2, #2] cmp r1, r3 bne _02073ECC mov r1, r2 bl sub_02073D68 ldmia sp!, {r3, pc} _02073ECC: ldr r2, [r2, #8] cmp r2, #0 bne _02073EB4 ldmia sp!, {r3, pc} arm_func_end sub_02073EA0 arm_func_start sub_02073EDC sub_02073EDC: ; 0x02073EDC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 ldrsh r4, [sl, #0xa] mov sb, r1 cmp r4, #0 moveq r0, #0 streq r0, [sp] beq _02073F28 bl sub_0206C8F4 mov r1, r4, lsl #1 mul r2, r1, r0 mov r0, r2, asr #0xe ldrsh r1, [sl, #0xa] add r0, r2, r0, lsr #17 rsb r0, r1, r0, asr #15 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp] _02073F28: ldr r6, [sl, #0xc0] cmp r6, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r7, [sl, #0xbc] mov r5, #0 _02073F40: ldrb r2, [sb, #2] ldrsb r3, [sb, #3] mov r0, r6 mov r1, r5 bl sub_0206D5C8 movs r5, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r3, [r5, #0x1a] ldrb r0, [r7, #0xc] ldr r2, [r7, #0x18] cmp r3, r0 movge r3, #0 add r1, r2, r3, lsl #3 ldr r2, [r2, r3, lsl #3] ldr r1, [r1, #4] mov r0, r7 str r2, [sp, #4] str r1, [sp, #8] ldrsh r1, [r5, #0x12] bl sub_0206D558 movs fp, r0 beq _02073F40 ldrb r3, [sl, #5] ldrb r2, [r5, #0x1a] mov r0, sl add r1, sp, #4 add r8, r2, r3, lsl #8 ldrb r3, [sp, #7] mov r2, r8 bl sub_02074618 movs r4, r0 beq _02073F40 mov r0, #0 strh r0, [r4, #4] ldr r0, [sl] add fp, fp, #0x10 str r0, [r4] strh r8, [r4, #0x18] ldrsh r0, [r5, #0x12] add ip, r4, #0x1c strb r0, [r4, #0xe] ldmia fp!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia fp, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r1, [r4, #0x30] ldr r0, [r7, #0x1c] add r0, r1, r0 str r0, [r4, #0x30] ldrb r0, [sb, #2] strb r0, [r4, #0xd] ldrsb r1, [r5, #0x17] ldrsh r0, [r5, #0x14] add r1, r0, r1, lsl #8 ldr r0, [sp] add r0, r0, r1 strh r0, [r4, #0x14] ldrb r1, [sb, #2] ldrsh r0, [r4, #0x14] add r0, r0, r1, lsl #8 strh r0, [r4, #0x12] ldrb r0, [r5, #0x19] strb r0, [r4, #0x17] ldr r0, _02074144 ; =_022B7330 ldrb r0, [r0, #0x39] cmp r0, #7 bne _02074084 ldrb r1, [sl, #0x58] ldrb r0, [sb, #3] ldrb r2, [r6, #4] ldrb r3, [r5, #0x18] smulbb r0, r1, r0 mul r0, r2, r0 mul r2, r3, r0 ldr r0, _02074148 ; =0x4186143D smull r1, r3, r0, r2 mov r0, r2, lsr #0x1f add r3, r0, r3, asr #19 strb r3, [r4, #0x16] b _020740B0 _02074084: ldrb r1, [sb, #3] ldrb r0, [r6, #4] ldrb r2, [r5, #0x18] smulbb r0, r1, r0 mul r3, r2, r0 ldr r0, _0207414C ; =0x82061029 smull r1, r2, r0, r3 add r2, r3, r2 mov r0, r3, lsr #0x1f add r2, r0, r2, asr #13 strb r2, [r4, #0x16] _020740B0: ldrb r2, [sl, #0x59] ldrsh r3, [sl, #0x52] add r0, r4, #0x5c cmp r2, #0 ldreqb r2, [r5, #2] mov r3, r3, lsl #8 add r1, sl, #0x74 mul r8, r2, r3 mov r3, r8, asr #0xc add r3, r8, r3, lsr #19 mov r3, r3, asr #0xd strh r3, [r4, #0x10] strb r2, [r4, #0xf] ldrh r2, [r4, #6] orr r2, r2, #0xff0 strh r2, [r4, #6] ldrsb r2, [sl, #0x51] bl sub_020750B4 add r0, r5, #0x20 add r8, r4, #0x3c ldmia r0, {r0, r1, r2, r3} stmia r8, {r0, r1, r2, r3} mov r0, #1 strb r0, [r4, #0x3c] ldrb r0, [sl, #0x64] cmp r0, #0 beq _02074128 mov r0, r8 add r1, sl, #0x64 bl sub_02074CF4 _02074128: mov r1, r4 mov r0, sl ldrb r2, [sp, #7] bl sub_02074780 b _02073F40 _0207413C: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02074144: .word _022B7330 _02074148: .word 0x4186143D _0207414C: .word 0x82061029 arm_func_end sub_02073EDC arm_func_start sub_02074150 sub_02074150: ; 0x02074150 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6, #0xb4] mov r5, r1 cmp r4, #0 ldmeqia sp!, {r4, r5, r6, pc} _02074168: ldrb r1, [r4, #0xd] ldrb r0, [r5, #2] cmp r1, r0 bne _02074184 mov r0, r6 mov r1, r4 bl sub_0207485C _02074184: ldr r4, [r4, #0x154] cmp r4, #0 bne _02074168 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02074150 arm_func_start sub_02074194 sub_02074194: ; 0x02074194 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr fp, _0207431C ; =_022B7A30 ldr r7, _02074320 ; =_022B7A6C ldrh r0, [fp, #0x2e] mov sb, #0 cmp r0, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r6, _02074324 ; =_020B1310 ldr r5, _02074328 ; =_020B1394 ldr r4, _0207432C ; =0x00FFB0FF _020741BC: ldr r8, [r7, #0x158] cmp r8, #0 beq _02074304 ldrh sl, [r7, #6] cmp sl, #0 beq _02074300 tst sl, #0x10 beq _02074264 ldrh r2, [r8, #0x16] ldrsh r1, [r7, #0x12] ldrsh r3, [r7, #0x10] ldrsh r0, [r7, #0x5e] add r1, r2, r1 add r1, r3, r1 add r0, r0, r1 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, r1, asr #8 and r0, r0, #0x7f ldrb r0, [r6, r0] and r2, r1, #0xff mov r1, r0, lsl #0x1c add r1, r2, r1, lsr #20 mov r1, r1, lsl #1 mov r0, r0, asr #4 ldrh r1, [r5, r1] rsbs r0, r0, #4 movpl r1, r1, lsr r0 rsbmi r0, r0, #0 movmi r1, r1, lsl r0 ldrb r0, [r7, #0x1f] cmp r0, #3 mov r0, r4 blo _0207425C mov r2, r1, asr #3 add r1, r1, r2, lsr #28 mov r1, r1, asr #4 bl __divsi3 str r0, [r7, #0x13c] b _02074264 _0207425C: bl __divsi3 str r0, [r7, #0x13c] _02074264: tst sl, #0x20 beq _020742C4 ldrb r1, [r7, #0x16] ldrsh r0, [r7, #0x60] add r1, r1, r0, asr #6 cmp r1, #0x7f movgt r1, #0x7f bgt _0207428C cmp r1, #0 movlt r1, #0 _0207428C: ldrh r0, [r8, #0x18] ldrb r2, [r7, #0x14c] mul r1, r0, r1 mul r3, r2, r1 ldr r0, _02074330 ; =0x828CBFBF smull r1, r2, r0, r3 add r2, r3, r2 mov r0, r3, lsr #0x1f add r2, r0, r2, asr #12 mul r1, r2, r2 mov r0, r1, asr #8 add r0, r1, r0, lsr #23 mov r0, r0, asr #9 str r0, [r7, #0x140] _020742C4: tst sl, #0x40 beq _02074300 ldrsb r1, [r7, #0x17] ldrsh r2, [r8, #0x1a] ldrsh r0, [r7, #0x62] sub r1, r1, #0x40 add r1, r2, r1 adds r1, r1, r0, asr #6 ldr r0, _02074334 ; =_022B8330 movmi r1, #0 cmp r1, #0x7f ldr r0, [r0, #0xed4] movgt r1, #0x7f ldrb r0, [r0, r1] str r0, [r7, #0x144] _02074300: strh sl, [r7, #6] _02074304: ldrh r0, [fp, #0x2e] add sb, sb, #1 add r7, r7, #0x15c cmp sb, r0 blt _020741BC ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0207431C: .word _022B7A30 _02074320: .word _022B7A6C _02074324: .word _020B1310 _02074328: .word _020B1394 _0207432C: .word 0x00FFB0FF _02074330: .word 0x828CBFBF _02074334: .word _022B8330 arm_func_end sub_02074194 arm_func_start sub_02074338 sub_02074338: ; 0x02074338 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr sl, _020743D0 ; =_022B7A30 mov r8, #0 ldrh r0, [sl, #0x2e] cmp r0, #0 ble _020743C0 ldr sb, _020743D4 ; =_022B7A6C mov r7, r8 mov r6, #1 mov r5, #0x40 mov r4, r8 _02074364: strh r7, [sb, #4] strh r7, [sb, #6] mov r0, r6, lsl r8 strh r8, [sb, #8] strh r0, [sb, #0xa] str r7, [sb] str r7, [sb, #0x14c] strb r7, [sb, #0xd] strb r7, [sb, #0xe] strh r7, [sb, #0x12] strb r7, [sb, #0x16] add r0, sb, #0x3c strb r5, [sb, #0x17] bl sub_02074C70 add r0, sb, #0x5c bl sub_0207509C str r4, [sb, #0x154] str r4, [sb, #0x158] ldrh r0, [sl, #0x2e] add r8, r8, #1 add sb, sb, #0x15c cmp r8, r0 blt _02074364 _020743C0: ldr r0, _020743D8 ; =_022B7330 mov r1, #0 str r1, [r0, #0x654] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _020743D0: .word _022B7A30 _020743D4: .word _022B7A6C _020743D8: .word _022B7330 arm_func_end sub_02074338 arm_func_start sub_020743DC sub_020743DC: ; 0x020743DC stmdb sp!, {r3, lr} cmp r0, #0 ble _02074414 ldr r1, _0207447C ; =_022B7A30 mov r2, #0x10 strh r2, [r1, #0x2c] cmp r0, #0x10 movgt r0, r2, lsl #0x10 ldr r2, _0207447C ; =_022B7A30 movgt r0, r0, asr #0x10 strh r0, [r2, #0x2e] ldr r1, _02074480 ; =_022B8330 mov r0, #0 strb r0, [r1, #0xd0c] _02074414: ldr r2, _0207447C ; =_022B7A30 mov r0, #0 strh r0, [r2, #0x32] strh r0, [r2, #0x34] ldr r1, _02074484 ; =_022B7330 strh r0, [r2, #0x36] strb r0, [r1, #0x738] strb r0, [r1, #0x739] ldr ip, _02074480 ; =_022B8330 strh r0, [r2, #0x30] str r0, [ip, #0xcfc] str r0, [ip, #0xd00] sub r2, r0, #1 str r2, [ip, #0xd04] ldrsh lr, [r1, #0x28] mov r1, r0 mov r2, r0 mov r3, r0 str lr, [ip, #0xd08] bl sub_0207C8B8 ldr r0, _02074488 ; =0x0000FFFF mov r3, #0 mov r1, r0 mov r2, r0 bl sub_0207C8E0 ldmia sp!, {r3, pc} .align 2, 0 _0207447C: .word _022B7A30 _02074480: .word _022B8330 _02074484: .word _022B7330 _02074488: .word 0x0000FFFF arm_func_end sub_020743DC arm_func_start UpdateChannels UpdateChannels: ; 0x0207448C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr sb, _02074570 ; =_022B7A30 mov r7, #0 ldrh r0, [sb, #0x2e] mov r6, r7 ldr r5, _02074574 ; =_022B7A6C cmp r0, #0 ble _0207452C mov r4, #2 _020744B0: add r0, r5, #0x3c bl sub_02074F54 ldrsb r1, [r5, #0x5a] mov r8, r0 cmp r1, #1 bne _02074514 add r0, r5, #0x5c bl sub_020752F8 ldrh r1, [r5, #6] orr r0, r1, r0 strh r0, [r5, #6] ldrb r0, [r5, #0x58] cmp r0, #8 bne _020744F8 strb r4, [r5, #0x58] ldrh r0, [r5, #6] orr r0, r0, #2 strh r0, [r5, #6] _020744F8: ldrb r0, [r5, #0x14c] cmp r0, r8 ldrneh r0, [r5, #6] orrne r0, r0, #0x20 strneh r0, [r5, #6] cmp r8, #0 addgt r7, r7, #1 _02074514: strb r8, [r5, #0x14c] ldrh r0, [sb, #0x2e] add r6, r6, #1 add r5, r5, #0x15c cmp r6, r0 blt _020744B0 _0207452C: ldr r0, _02074578 ; =_022B8330 ldr r1, [r0, #0xd04] cmp r1, #0 movlt r1, #0 strlt r1, [r0, #0xd00] ldr r0, _02074578 ; =_022B8330 str r7, [r0, #0xcfc] ldr r1, [r0, #0xd00] cmp r1, r7 strlt r7, [r0, #0xd00] movlt r1, #0x64 strlt r1, [r0, #0xd04] ldr r0, _02074578 ; =_022B8330 ldr r1, [r0, #0xd04] sub r1, r1, #1 str r1, [r0, #0xd04] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02074570: .word _022B7A30 _02074574: .word _022B7A6C _02074578: .word _022B8330 arm_func_end UpdateChannels arm_func_start sub_0207457C sub_0207457C: ; 0x0207457C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r6, _02074610 ; =_022B7A6C bl sub_0207D470 ldr r4, _02074614 ; =_022B7A30 mov r0, r0, lsl #0x10 ldrh r2, [r4, #0x30] ldrh r1, [r4, #0x2e] mov r7, #0 orr r0, r2, r0, lsr #16 mov r0, r0, lsl #0x10 mov r8, r0, lsr #0x10 cmp r1, #0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} mov r5, r7 _020745B4: ldrsb r0, [r6, #0x5a] cmp r0, #1 bne _020745DC tst r8, #1 bne _020745F0 add r0, r6, #0x3c bl sub_02074F3C add r0, r6, #0x100 strh r5, [r0, #0x4c] b _020745F0 _020745DC: and r0, r8, #1 cmp r0, #1 bne _020745F0 mov r0, r6 bl sub_020749F4 _020745F0: ldrh r1, [r4, #0x2e] mov r0, r8, lsl #0xf add r7, r7, #1 cmp r7, r1 mov r8, r0, lsr #0x10 add r6, r6, #0x15c blt _020745B4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02074610: .word _022B7A6C _02074614: .word _022B7A30 arm_func_end sub_0207457C arm_func_start sub_02074618 sub_02074618: ; 0x02074618 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r4, _02074774 ; =_022B7A30 mov r3, r3, lsl #0x10 ldrh r5, [r4, #0x2e] add r3, r3, #0xff add r8, r3, #0x100 ldrb r4, [r1, #5] sub r5, r5, #1 ldrb r3, [r0, #7] cmp r4, r5 movgt r4, r5 ldrb r7, [r1, #4] mov r6, #0 cmp r3, #0 beq _02074660 cmp r3, #1 beq _0207466C b _0207476C _02074660: ldr r6, [r0, #0xb4] cmp r6, #0 bne _0207476C _0207466C: ldrb r3, [r1] cmp r3, #0 beq _02074708 ldr r5, _02074778 ; =_022B7A6C mov r3, #0x15c mla r3, r7, r3, r5 mov ip, r7 mov lr, r4 mov r5, r8 cmp r7, r4 mov r6, #0 bgt _020746E4 ldr r0, [r0] _020746A0: ldr sb, [r3] cmp sb, r0 ldreqh sb, [r3, #0x18] cmpeq sb, r2 bne _020746D4 ldr sb, [r3, #0x14c] add r6, r6, #1 cmp r5, sb movhi r5, sb ldrb sb, [r1, #2] movhi lr, ip cmp r6, sb bge _020746E4 _020746D4: add ip, ip, #1 cmp ip, r4 add r3, r3, #0x15c ble _020746A0 _020746E4: ldrb r0, [r1, #2] cmp r6, r0 blt _02074708 ldr r1, _02074778 ; =_022B7A6C mov r0, #0x15c mla r6, lr, r0, r1 mov r0, r6 bl sub_020748A0 b _0207476C _02074708: cmp r7, r4 add r2, r4, #1 bgt _0207474C ldr r1, _0207477C ; =_022B7330 mov r0, #0x15c mla r1, r7, r0, r1 _02074720: ldr r0, [r1, #0x888] cmp r8, r0 bls _0207473C mov r2, r7 cmp r0, #0 beq _0207474C mov r8, r0 _0207473C: add r7, r7, #1 cmp r7, r4 add r1, r1, #0x15c ble _02074720 _0207474C: cmp r2, r4 movgt r6, #0 bgt _0207476C ldr r1, _02074778 ; =_022B7A6C mov r0, #0x15c mla r6, r2, r0, r1 mov r0, r6 bl sub_020748A0 _0207476C: mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02074774: .word _022B7A30 _02074778: .word _022B7A6C _0207477C: .word _022B7330 arm_func_end sub_02074618 arm_func_start sub_02074780 sub_02074780: ; 0x02074780 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrh r3, [r4, #6] mov r1, r2, lsl #0x10 add r1, r1, #0xff orr r2, r3, #1 bic r2, r2, #2 strh r2, [r4, #6] ldr r2, [r4, #0x14c] add r1, r1, #0x100 orr r1, r2, r1 mov r5, r0 str r1, [r4, #0x14c] add r0, r4, #0x3c bl UpdateTrackVolumeEnvelopes ldr r0, [r4, #0x158] cmp r0, r5 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0xb4] str r0, [r4, #0x154] str r4, [r5, #0xb4] str r5, [r4, #0x158] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02074780 arm_func_start sub_020747DC sub_020747DC: ; 0x020747DC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r7, r0 ldrb r0, [r7, #4] tst r0, #3 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r4, [r7, #0xb8] add r6, r7, #0xb8 cmp r4, #0 beq _0207484C ldr r8, _02074858 ; =_022B7330 mvn sl, #0 mov sb, #0 _0207480C: ldmib r4, {r0, r5} cmp r0, #0 strgt r4, [r6] addgt r6, r4, #8 bgt _02074840 mov r0, r7 mov r1, r4 bl sub_02073D68 ldr r0, [r8, #0x650] str r0, [r4, #8] str r4, [r8, #0x650] str sl, [r4, #4] strb sb, [r4, #1] _02074840: mov r4, r5 cmp r5, #0 bne _0207480C _0207484C: mov r0, #0 str r0, [r6] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02074858: .word _022B7330 arm_func_end sub_020747DC arm_func_start sub_0207485C sub_0207485C: ; 0x0207485C stmdb sp!, {r4, lr} mov r4, r1 ldrh r1, [r4, #4] orr r1, r1, #2 strh r1, [r4, #4] ldrb r0, [r0, #4] tst r0, #1 ldmneia sp!, {r4, pc} ldr r1, [r4, #0x14c] add r0, r4, #0x3c and r1, r1, #0xff str r1, [r4, #0x14c] bl sub_02074ED8 ldrh r0, [r4, #6] bic r0, r0, #1 strh r0, [r4, #6] ldmia sp!, {r4, pc} arm_func_end sub_0207485C arm_func_start sub_020748A0 sub_020748A0: ; 0x020748A0 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x158] cmp r1, #0 beq _02074948 ldr r2, [r1, #0xb4] cmp r2, r4 ldreq r0, [r4, #0x154] streq r0, [r1, #0xb4] beq _020748F0 cmp r2, #0 beq _020748F0 _020748D0: ldr r0, [r2, #0x154] cmp r0, r4 ldreq r0, [r4, #0x154] streq r0, [r2, #0x154] beq _020748F0 mov r2, r0 cmp r0, #0 bne _020748D0 _020748F0: mov r0, #0 strh r0, [r4, #4] str r0, [r4, #0x158] str r0, [r4, #0x154] add r0, r4, #0x3c bl sub_02074F04 ldr r1, [r4, #0x14c] mov r0, #0 and r1, r1, #0xff str r1, [r4, #0x14c] str r0, [r4] strh r0, [r4, #0x18] ldr r1, _020749A0 ; =_022B7A30 ldrh r0, [r4, #0xa] ldrh r3, [r1, #0x32] mvn r2, r0 and r2, r3, r2 strh r2, [r1, #0x32] ldrh r2, [r1, #0x36] orr r2, r2, r0 strh r2, [r1, #0x36] ldmia sp!, {r4, pc} _02074948: mov r0, #0 strh r0, [r4, #4] str r0, [r4, #0x158] str r0, [r4, #0x154] add r0, r4, #0x3c bl sub_02074F04 ldr r1, [r4, #0x14c] mov r0, #0 and r1, r1, #0xff str r1, [r4, #0x14c] str r0, [r4] strh r0, [r4, #0x18] ldr r1, _020749A0 ; =_022B7A30 ldrh r0, [r4, #0xa] ldrh r3, [r1, #0x32] mvn r2, r0 and r2, r3, r2 strh r2, [r1, #0x32] ldrh r2, [r1, #0x36] orr r2, r2, r0 strh r2, [r1, #0x36] ldmia sp!, {r4, pc} .align 2, 0 _020749A0: .word _022B7A30 arm_func_end sub_020748A0 arm_func_start sub_020749A4 sub_020749A4: ; 0x020749A4 mov r1, #0xff0 strh r1, [r0, #6] ldr r2, [r0, #0x14c] ldr r1, _020749F0 ; =_022B7A30 orr r2, r2, #0xff orr r2, r2, #0x100 str r2, [r0, #0x14c] ldrh r3, [r0, #0xa] ldrh r0, [r1, #0x34] mvn r2, r3 and r0, r0, r2 strh r0, [r1, #0x34] ldrh r0, [r1, #0x36] and r0, r0, r2 strh r0, [r1, #0x36] ldrh r0, [r1, #0x32] orr r0, r0, r3 strh r0, [r1, #0x32] bx lr .align 2, 0 _020749F0: .word _022B7A30 arm_func_end sub_020749A4 arm_func_start sub_020749F4 sub_020749F4: ; 0x020749F4 ldr r2, [r0, #0x14c] ldr r1, _02074A28 ; =_022B7A30 bic r2, r2, #0xff00 str r2, [r0, #0x14c] ldrh r3, [r0, #0xa] ldrh r2, [r1, #0x32] mvn r0, r3 and r0, r2, r0 strh r0, [r1, #0x32] ldrh r0, [r1, #0x34] orr r0, r0, r3 strh r0, [r1, #0x34] bx lr .align 2, 0 _02074A28: .word _022B7A30 arm_func_end sub_020749F4 arm_func_start sub_02074A2C sub_02074A2C: ; 0x02074A2C ldr r2, [r0, #0xb4] mov r0, #0 cmp r2, #0 bxeq lr _02074A3C: ldrb r1, [r2, #0x14c] ldr r2, [r2, #0x154] cmp r1, #0 addne r0, r0, #1 cmp r2, #0 bne _02074A3C bx lr arm_func_end sub_02074A2C arm_func_start sub_02074A58 sub_02074A58: ; 0x02074A58 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 ldr r4, _02074C64 ; =_022B7A30 ldr r7, _02074C68 ; =_022B7A6C ldrh r0, [r4, #0x2e] mov r8, #0 cmp r0, #0 ble _02074BC8 mov fp, #2 mov sl, #1 mov r6, r8 mov r5, r8 _02074A88: ldrh sb, [r7, #6] cmp sb, #0 beq _02074BB4 tst sb, #1 beq _02074B5C ldrsb r0, [r7, #0x21] ldrb r1, [r7, #0x1f] cmp r0, #0 movne r3, sl moveq r3, fp cmp r1, #4 addls pc, pc, r1, lsl #2 b _02074B50 _02074ABC: ; jump table b _02074AD0 ; case 0 b _02074AD0 ; case 1 b _02074AD0 ; case 2 b _02074B0C ; case 3 b _02074B34 ; case 4 _02074AD0: ldr r0, [r7, #0x34] str r0, [sp] ldr r0, [r7, #0x38] str r0, [sp, #4] ldr r0, [r7, #0x140] str r0, [sp, #8] str r6, [sp, #0xc] ldr r0, [r7, #0x13c] str r0, [sp, #0x10] ldr r0, [r7, #0x144] str r0, [sp, #0x14] ldrh r0, [r7, #8] ldr r2, [r7, #0x30] bl sub_0207CA6C b _02074B50 _02074B0C: ldr r0, [r7, #0x13c] mov r3, #0 str r0, [sp] ldr r0, [r7, #0x144] str r0, [sp, #4] ldrh r0, [r7, #8] ldrb r1, [r7, #0x25] ldr r2, [r7, #0x140] bl sub_0207CAB8 b _02074B50 _02074B34: ldr r0, [r7, #0x144] mov r2, #0 str r0, [sp] ldrh r0, [r7, #8] ldr r1, [r7, #0x140] ldr r3, [r7, #0x13c] bl sub_0207CAE0 _02074B50: mov r0, r7 bl sub_020749A4 b _02074BB0 _02074B5C: tst sb, #2 beq _02074B70 mov r0, r7 bl sub_020749F4 mov sb, #0 _02074B70: tst sb, #0x10 beq _02074B84 ldrh r0, [r7, #0xa] ldr r1, [r7, #0x13c] bl sub_0207CA04 _02074B84: tst sb, #0x20 beq _02074B9C ldrh r0, [r7, #0xa] ldr r1, [r7, #0x140] mov r2, #0 bl sub_0207CA24 _02074B9C: tst sb, #0x40 beq _02074BB0 ldrh r0, [r7, #0xa] ldr r1, [r7, #0x144] bl sub_0207CA4C _02074BB0: strh r5, [r7, #6] _02074BB4: ldrh r0, [r4, #0x2e] add r8, r8, #1 add r7, r7, #0x15c cmp r8, r0 blt _02074A88 _02074BC8: ldr r1, _02074C64 ; =_022B7A30 ldr r2, _02074C6C ; =_022B7330 ldrh r0, [r1, #0x32] strh r0, [r1, #0x30] ldrb r1, [r2, #0x73a] ldrb r2, [r2, #0x738] orr r3, r0, r1 orrs r3, r2, r3 beq _02074C0C mov r3, #0 bl sub_0207C8B8 ldr r1, _02074C6C ; =_022B7330 mov r2, #0 strb r2, [r1, #0x738] ldr r0, _02074C64 ; =_022B7A30 strb r2, [r1, #0x73a] strh r2, [r0, #0x32] _02074C0C: ldr r1, _02074C64 ; =_022B7A30 ldr r0, _02074C6C ; =_022B7330 ldrh r4, [r1, #0x34] ldrh r3, [r1, #0x36] ldrb r1, [r0, #0x73b] ldrb r2, [r0, #0x739] orr r0, r4, r3 orr r3, r1, r0 orrs r3, r2, r3 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r3, #0 bl sub_0207C8E0 ldr r1, _02074C6C ; =_022B7330 mov r2, #0 strb r2, [r1, #0x739] ldr r0, _02074C64 ; =_022B7A30 strb r2, [r1, #0x73b] strh r2, [r0, #0x36] strh r2, [r0, #0x34] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02074C64: .word _022B7A30 _02074C68: .word _022B7A6C _02074C6C: .word _022B7330 arm_func_end sub_02074A58 arm_func_start sub_02074C70 sub_02074C70: ; 0x02074C70 mov r1, #0 strb r1, [r0] strb r1, [r0, #0x1c] str r1, [r0, #0x10] bx lr arm_func_end sub_02074C70 arm_func_start sub_02074C84 sub_02074C84: ; 0x02074C84 mvn r1, #0xff str r1, [r0] add r1, r1, #0xff str r1, [r0, #4] str r1, [r0, #8] str r1, [r0, #0xc] bx lr arm_func_end sub_02074C84 arm_func_start sub_02074CA0 sub_02074CA0: ; 0x02074CA0 mov r1, #1 strb r1, [r0] ldrb r1, [r0, #1] cmp r1, #0x7f ldrhib r1, [r0, #8] cmphi r1, #0x7f ldrhib r1, [r0, #9] cmphi r1, #0x7f ldrhib r1, [r0, #0xa] cmphi r1, #0x7f ldrhib r1, [r0, #0xb] cmphi r1, #0x7f ldrhib r1, [r0, #0xc] cmphi r1, #0x7f ldrhib r1, [r0, #0xd] cmphi r1, #0x7f ldrhib r1, [r0, #0xe] cmphi r1, #0x7f movhi r1, #0 strhib r1, [r0] bx lr arm_func_end sub_02074CA0 arm_func_start sub_02074CF4 sub_02074CF4: ; 0x02074CF4 ldrb r2, [r1, #1] cmp r2, #0x7f strlsb r2, [r0, #1] ldrb r2, [r1, #8] cmp r2, #0x7f strlsb r2, [r0, #8] ldrb r2, [r1, #9] cmp r2, #0x7f strlsb r2, [r0, #9] ldrb r2, [r1, #0xa] cmp r2, #0x7f strlsb r2, [r0, #0xa] ldrb r2, [r1, #0xb] cmp r2, #0x7f strlsb r2, [r0, #0xb] ldrb r2, [r1, #0xc] cmp r2, #0x7f strlsb r2, [r0, #0xc] ldrb r2, [r1, #0xd] cmp r2, #0x7f strlsb r2, [r0, #0xd] ldrb r1, [r1, #0xe] cmp r1, #0x7f strlsb r1, [r0, #0xe] bx lr arm_func_end sub_02074CF4 arm_func_start sub_02074D58 sub_02074D58: ; 0x02074D58 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 cmp r2, #0x7f bne _02074D80 mov r0, #0 str r0, [r5, #0x14] sub r0, r0, #0x80000001 str r0, [r5, #0x18] ldmia sp!, {r3, r4, r5, pc} _02074D80: strb r4, [r5, #0x1d] ldrb r3, [r5, #1] cmp r3, #0 bne _02074DB0 ldr r0, _02074E00 ; =MUSIC_DURATION_LOOKUP_TABLE_2 ldr r1, _02074E04 ; =_022B7330 ldr r2, [r0, r2, lsl #2] mov r0, #0x3e8 mul r0, r2, r0 ldrsh r1, [r1, #0x28] bl __udivsi3 b _02074DD4 _02074DB0: ldr r0, _02074E08 ; =MUSIC_DURATION_LOOKUP_TABLE_1 mov r1, r2, lsl #1 ldrh r2, [r0, r1] ldr r1, _02074E04 ; =_022B7330 mov r0, #0x3e8 mul r2, r3, r2 mul r0, r2, r0 ldrsh r1, [r1, #0x28] bl __divsi3 _02074DD4: str r0, [r5, #0x18] ldr r1, [r5, #0x18] cmp r1, #0 moveq r0, #0 streq r0, [r5, #0x14] ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x10] rsb r0, r0, r4, lsl #23 bl __divsi3 str r0, [r5, #0x14] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02074E00: .word MUSIC_DURATION_LOOKUP_TABLE_2 _02074E04: .word _022B7330 _02074E08: .word MUSIC_DURATION_LOOKUP_TABLE_1 arm_func_end sub_02074D58 arm_func_start UpdateTrackVolumeEnvelopes UpdateTrackVolumeEnvelopes: ; 0x02074E0C stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4] cmp r1, #0 beq _02074EB8 ldrb r1, [r4, #9] cmp r1, #0 beq _02074E50 ldrb r3, [r4, #8] mov r2, #3 mov r1, #0x7f mov r3, r3, lsl #0x17 str r3, [r4, #0x10] strb r2, [r4, #0x1c] ldrb r2, [r4, #9] bl sub_02074D58 b _02074EAC _02074E50: mov r1, #0x3f800000 str r1, [r4, #0x10] ldrb r2, [r4, #0xc] cmp r2, #0 beq _02074E78 mov r1, #0x7f bl sub_02074D58 mov r0, #4 strb r0, [r4, #0x1c] b _02074EAC _02074E78: ldrb r2, [r4, #0xa] cmp r2, #0 beq _02074E98 ldrsb r1, [r4, #0xb] bl sub_02074D58 mov r0, #5 strb r0, [r4, #0x1c] b _02074EAC _02074E98: ldrb r2, [r4, #0xd] mov r1, #0 bl sub_02074D58 mov r0, #6 strb r0, [r4, #0x1c] _02074EAC: mov r0, #1 strb r0, [r4, #0x1e] ldmia sp!, {r4, pc} _02074EB8: ldrb r0, [r4, #0x1c] cmp r0, #1 ldmeqia sp!, {r4, pc} mov r0, #0 strb r0, [r4, #0x1c] mov r0, #0x3f800000 str r0, [r4, #0x10] ldmia sp!, {r4, pc} arm_func_end UpdateTrackVolumeEnvelopes arm_func_start sub_02074ED8 sub_02074ED8: ; 0x02074ED8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x1c] cmp r1, #0 ldmeqia sp!, {r4, pc} ldrb r2, [r4, #0xe] mov r1, #0 bl sub_02074D58 mov r0, #7 strb r0, [r4, #0x1c] ldmia sp!, {r4, pc} arm_func_end sub_02074ED8 arm_func_start sub_02074F04 sub_02074F04: ; 0x02074F04 mov r1, #0 strb r1, [r0, #0x1c] str r1, [r0, #0x10] str r1, [r0, #0x18] strb r1, [r0, #0x1e] bx lr arm_func_end sub_02074F04 arm_func_start sub_02074F1C sub_02074F1C: ; 0x02074F1C mov r3, #0 strb r3, [r0] mov r2, #1 strb r2, [r0, #0x1c] str r1, [r0, #0x10] str r3, [r0, #0x18] strb r2, [r0, #0x1e] bx lr arm_func_end sub_02074F1C arm_func_start sub_02074F3C sub_02074F3C: ; 0x02074F3C mov r1, #0 strb r1, [r0, #0x1c] str r1, [r0, #0x10] str r1, [r0, #0x18] strb r1, [r0, #0x1e] bx lr arm_func_end sub_02074F3C arm_func_start sub_02074F54 sub_02074F54: ; 0x02074F54 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x1c] cmp r1, #2 bls _02075088 ldr r1, [r4, #0x18] cmp r1, #0 bne _02075058 ldrb r1, [r4, #0x1d] mov r1, r1, lsl #0x17 str r1, [r4, #0x10] ldrb r1, [r4, #0x1c] cmp r1, #7 addls pc, pc, r1, lsl #2 b _02075088 _02074F90: ; jump table b _02075088 ; case 0 b _02075088 ; case 1 b _02075088 ; case 2 b _02074FB0 ; case 3 b _02074FD0 ; case 4 b _02075000 ; case 5 b _02075024 ; case 6 b _02075040 ; case 7 _02074FB0: ldrb r2, [r4, #0xc] cmp r2, #0 beq _02074FD0 mov r1, #0x7f bl sub_02074D58 mov r0, #4 strb r0, [r4, #0x1c] b _02075088 _02074FD0: ldrb r2, [r4, #0xa] cmp r2, #0 beq _02074FF4 ldrsb r1, [r4, #0xb] mov r0, r4 bl sub_02074D58 mov r0, #5 strb r0, [r4, #0x1c] b _02075088 _02074FF4: ldrb r0, [r4, #0xb] mov r0, r0, lsl #0x17 str r0, [r4, #0x10] _02075000: ldrb r2, [r4, #0xd] cmp r2, #0 beq _02075024 mov r0, r4 mov r1, #0 bl sub_02074D58 mov r0, #6 strb r0, [r4, #0x1c] b _02075088 _02075024: mov r1, #0 mov r0, r4 mov r2, r1 bl sub_02074D58 mov r0, #2 strb r0, [r4, #0x1c] b _02075088 _02075040: mov r0, #8 strb r0, [r4, #0x1c] mov r0, #0 str r0, [r4, #0x10] str r0, [r4, #0x18] b _02075088 _02075058: ldr r2, [r4, #0x10] ldr r1, [r4, #0x14] mvn r0, #0xc0000000 add r1, r2, r1 cmp r1, r0 movgt r1, r0 ldr r0, [r4, #0x18] cmp r1, #0 sub r0, r0, #1 movlt r1, #0 str r0, [r4, #0x18] str r1, [r4, #0x10] _02075088: ldr r0, [r4, #0x10] mov r0, r0, asr #0x17 mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 ldmia sp!, {r4, pc} arm_func_end sub_02074F54 arm_func_start sub_0207509C sub_0207509C: ; 0x0207509C mov r1, #0 str r1, [r0] str r1, [r0, #4] str r1, [r0, #8] str r1, [r0, #0xc] bx lr arm_func_end sub_0207509C arm_func_start sub_020750B4 sub_020750B4: ; 0x020750B4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x20 mov sb, r0 ldr ip, _0207529C ; =_020A9FA0 add r7, sp, #0 mov r8, r1 add r4, sb, #0xc add r5, sb, #0x10 mov r6, #0 mov r3, #4 _020750DC: ldrh r1, [ip] ldrh r0, [ip, #2] add ip, ip, #4 strh r1, [r7] strh r0, [r7, #2] add r7, r7, #4 subs r3, r3, #1 bne _020750DC ldr r1, _020752A0 ; =0x81020409 mov r3, r2, lsl #8 smull r0, r7, r1, r3 add r7, r7, r2, lsl #8 mov r0, r3, lsr #0x1f add r7, r0, r7, asr #6 mov r7, r7, lsl #0x10 _02075118: ldrb lr, [r8, #1] cmp lr, #0 beq _02075278 add ip, sp, #0 add r3, sp, #0x10 mov r2, #4 _02075130: ldrh r1, [ip] ldrh r0, [ip, #2] add ip, ip, #4 strh r1, [r3] strh r0, [r3, #2] add r3, r3, #4 subs r2, r2, #1 bne _02075130 strb lr, [r5, #1] mov r1, #0 strb r1, [r5] str r1, [r5, #8] ldrb r0, [r8, #1] cmp r0, #1 bne _020751D8 ldrh r2, [r8, #0xa] mov r0, #0x3e8 ldr r1, _020752A4 ; =_022B7330 mul r0, r2, r0 ldrsh r1, [r1, #0x28] bl __divsi3 strh r0, [r5, #0x1a] ldr r1, _020752A4 ; =_022B7330 ldrh r2, [r8, #0xc] mov r0, #0x3e8 ldrsh r1, [r1, #0x28] mul r0, r2, r0 bl __divsi3 movs r1, r0 strh r1, [r5, #0x1e] beq _020751C4 mov r0, #0 str r0, [r5, #0x20] mov r0, #0x1000000 bl __divsi3 str r0, [r5, #0x24] b _020751E4 _020751C4: mov r0, #0x1000000 str r0, [r5, #0x20] mov r0, #0 str r0, [r5, #0x24] b _020751E4 _020751D8: strh r1, [r5, #0x1a] strh r1, [r5, #0x1e] str r7, [r5, #0x20] _020751E4: mov r0, #0 strh r0, [r5, #6] str r0, [r5, #0x14] ldrh r1, [r8, #8] cmp r1, #0 streqh r0, [r5, #6] streqh r0, [r5, #4] beq _02075240 mov r0, #0x3e8 mul r0, r1, r0 ldr r1, _020752A4 ; =_022B7330 ldrsh r1, [r1, #0x28] bl __divsi3 movs r1, r0 addeq r1, r1, #1 strh r1, [r5, #4] mov r0, #0 strh r0, [r5, #6] ldr r0, [r8, #4] mov r0, r0, lsl #0xa str r0, [r5, #0xc] bl __divsi3 str r0, [r5, #0x14] _02075240: ldrb r2, [r8, #3] ldr r1, _020752A8 ; =_020B1250 add r0, sp, #0x10 ldr r1, [r1, r2, lsl #2] str r1, [r5, #0x2c] ldrb r1, [r8, #2] add r1, sb, r1, lsl #1 str r1, [r5, #0x28] ldrb r1, [r8, #2] mov r1, r1, lsl #1 ldrh r0, [r0, r1] strh r0, [r5, #2] str r5, [r4] add r4, r5, #0x30 _02075278: add r6, r6, #1 cmp r6, #4 add r8, r8, #0x10 add r5, r5, #0x34 blt _02075118 mov r0, #0 str r0, [r4] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0207529C: .word _020A9FA0 _020752A0: .word 0x81020409 _020752A4: .word _022B7330 _020752A8: .word _020B1250 arm_func_end sub_020750B4 arm_func_start sub_020752AC sub_020752AC: ; 0x020752AC stmdb sp!, {r3, lr} ldr lr, [r0, #0xc] cmp lr, #0 ldmeqia sp!, {r3, pc} ldr r2, _020752F4 ; =0x81020409 mov r3, r1, lsl #8 smull r0, ip, r2, r3 add ip, ip, r1, lsl #8 mov r0, r3, lsr #0x1f add ip, r0, ip, asr #6 mov r1, ip, lsl #0x10 _020752D8: ldrb r0, [lr, #1] cmp r0, #3 streq r1, [lr, #0x20] ldr lr, [lr, #0x30] cmp lr, #0 bne _020752D8 ldmia sp!, {r3, pc} .align 2, 0 _020752F4: .word 0x81020409 arm_func_end sub_020752AC arm_func_start sub_020752F8 sub_020752F8: ; 0x020752F8 stmdb sp!, {r4, r5, r6, lr} mov r6, #0 str r6, [r0] str r6, [r0, #4] str r6, [r0, #8] ldr r5, [r0, #0xc] cmp r5, #0 beq _020753A4 mov r4, #0x1000000 _0207531C: ldrh r0, [r5, #0x1a] cmp r0, #0 subne r0, r0, #1 strneh r0, [r5, #0x1a] bne _02075398 ldr r1, [r5, #0x2c] mov r0, r5 blx r1 ldrh r1, [r5, #0x1e] mov r0, r0, asr #8 cmp r1, #0 beq _02075374 sub r1, r1, #1 strh r1, [r5, #0x1e] ldrh r1, [r5, #0x1e] cmp r1, #0 streq r4, [r5, #0x20] beq _02075374 ldr r2, [r5, #0x20] ldr r1, [r5, #0x24] add r1, r2, r1 str r1, [r5, #0x20] _02075374: ldr r2, [r5, #0x20] ldr r1, [r5, #0x28] mov r2, r2, lsr #8 mul r2, r0, r2 ldrsh r0, [r1] add r0, r0, r2, asr #16 strh r0, [r1] ldrh r0, [r5, #2] orr r6, r6, r0 _02075398: ldr r5, [r5, #0x30] cmp r5, #0 bne _0207531C _020753A4: mov r0, r6 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020752F8 arm_func_start sub_020753AC sub_020753AC: ; 0x020753AC mov r1, #0 strb r1, [r0] strb r1, [r0, #1] mov r0, r1 bx lr arm_func_end sub_020753AC arm_func_start sub_020753C0 sub_020753C0: ; 0x020753C0 ldrh r1, [r0, #6] cmp r1, #0 bne _020753E8 ldrh r1, [r0, #4] strh r1, [r0, #6] ldr r1, [r0, #8] cmp r1, #0 movne r1, #0 ldreq r1, [r0, #0xc] str r1, [r0, #8] _020753E8: ldrh r1, [r0, #6] sub r1, r1, #1 strh r1, [r0, #6] ldr r0, [r0, #8] bx lr arm_func_end sub_020753C0 arm_func_start sub_020753FC sub_020753FC: ; 0x020753FC ldrh r1, [r0, #6] cmp r1, #0 bne _02075430 ldrh r1, [r0, #4] strh r1, [r0, #6] ldrb r1, [r0] tst r1, #2 ldr r1, [r0, #0xc] rsbne r1, r1, #0 str r1, [r0, #8] ldrb r1, [r0] eor r1, r1, #2 strb r1, [r0] _02075430: ldrh r1, [r0, #6] sub r1, r1, #1 strh r1, [r0, #6] ldr r0, [r0, #8] bx lr arm_func_end sub_020753FC arm_func_start sub_02075444 sub_02075444: ; 0x02075444 ldrh r1, [r0, #6] cmp r1, #0 bne _02075474 ldrb r2, [r0] ldrh r1, [r0, #4] tst r2, #1 strh r1, [r0, #6] ldrne r1, [r0, #0x14] rsbne r1, r1, #0 strne r1, [r0, #0x14] orr r1, r2, #1 strb r1, [r0] _02075474: ldrh r1, [r0, #6] sub r1, r1, #1 strh r1, [r0, #6] ldr r2, [r0, #8] ldr r1, [r0, #0x14] add r1, r2, r1 str r1, [r0, #8] mov r0, r1 bx lr arm_func_end sub_02075444 arm_func_start sub_02075498 sub_02075498: ; 0x02075498 ldrh r2, [r0, #6] cmp r2, #0 bne _020754DC ldrb r3, [r0] ldrh r2, [r0, #4] tst r3, #1 beq _020754C4 ldr r1, [r0, #0x14] rsb r1, r1, #0 str r1, [r0, #0x14] b _020754D4 _020754C4: mov r1, r2, lsl #0xf mov r2, r1, lsr #0x10 cmp r2, #1 movlo r2, #1 _020754D4: orr r1, r3, #1 strb r1, [r0] _020754DC: sub r1, r2, #1 strh r1, [r0, #6] ldr r2, [r0, #8] ldr r1, [r0, #0x14] add r1, r2, r1 str r1, [r0, #8] mov r0, r1 bx lr arm_func_end sub_02075498 arm_func_start sub_020754FC sub_020754FC: ; 0x020754FC ldrh r1, [r0, #6] cmp r1, #0 ldrne r2, [r0, #8] ldrne r1, [r0, #0x14] addne r1, r2, r1 bne _02075520 ldrh r2, [r0, #4] mov r1, #0 strh r2, [r0, #6] _02075520: str r1, [r0, #8] ldrh r1, [r0, #6] sub r1, r1, #1 strh r1, [r0, #6] ldr r0, [r0, #8] bx lr arm_func_end sub_020754FC arm_func_start sub_02075538 sub_02075538: ; 0x02075538 ldrh r1, [r0, #6] cmp r1, #0 ldrne r2, [r0, #8] ldrne r1, [r0, #0x14] subne r1, r2, r1 bne _0207555C ldrh r1, [r0, #4] strh r1, [r0, #6] ldr r1, [r0, #0xc] _0207555C: str r1, [r0, #8] ldrh r1, [r0, #6] sub r1, r1, #1 strh r1, [r0, #6] ldr r0, [r0, #8] bx lr arm_func_end sub_02075538 arm_func_start sub_02075574 sub_02075574: ; 0x02075574 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #6] cmp r0, #0 bne _020755A4 ldrh r0, [r4, #4] strh r0, [r4, #6] bl sub_0206C8F4 ldr r1, [r4, #0xc] mov r1, r1, asr #0x10 mul r0, r1, r0 str r0, [r4, #8] _020755A4: ldrh r0, [r4, #6] sub r0, r0, #1 strh r0, [r4, #6] ldr r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end sub_02075574 arm_func_start sub_020755B8 sub_020755B8: ; 0x020755B8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldrh r0, [r4, #6] cmp r0, #0 bne _020755EC ldrh r0, [r4, #4] strh r0, [r4, #6] ldr r5, [r4, #0xc] bl sub_0206C8F4 mov r1, r5, asr #0xf mul r0, r1, r0 sub r0, r0, r5, asr #1 str r0, [r4, #8] _020755EC: ldrh r0, [r4, #6] sub r0, r0, #1 strh r0, [r4, #6] ldr r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_020755B8 arm_func_start sub_02075600 sub_02075600: ; 0x02075600 ldr r0, _0207561C ; =_022B9208 mov r2, #0 strb r2, [r0, #4] mov r1, #1 str r1, [r0] strb r2, [r0, #8] bx lr .align 2, 0 _0207561C: .word _022B9208 arm_func_end sub_02075600 arm_func_start sub_02075620 sub_02075620: ; 0x02075620 stmdb sp!, {r4, lr} ldr r0, _020756E4 ; =_022B9208 ldr r0, [r0, #0x1cc] cmp r0, #0 beq _02075648 _02075634: ldr r4, [r0, #0x500] bl sub_0206CC14 mov r0, r4 cmp r4, #0 bne _02075634 _02075648: ldr r0, _020756E4 ; =_022B9208 mov r1, #0 str r1, [r0, #0x1cc] ldr r0, [r0, #0xec] cmp r0, #0 beq _02075664 bl sub_0206CC14 _02075664: ldr r0, _020756E4 ; =_022B9208 mov r1, #0 str r1, [r0, #0xec] ldr r0, [r0, #0x1b8] cmp r0, #0 beq _02075680 bl sub_0206CC14 _02075680: ldr r0, _020756E4 ; =_022B9208 mov r1, #0 str r1, [r0, #0x1b8] ldr r0, [r0, #0x24] cmp r0, #0 beq _0207569C bl sub_0206FD88 _0207569C: ldr r0, _020756E4 ; =_022B9208 mov r1, #0 str r1, [r0, #0x24] ldr r0, [r0, #0x18] cmp r0, #0 beq _020756B8 bl sub_0206FD88 _020756B8: ldr r0, _020756E4 ; =_022B9208 mov r1, #0 str r1, [r0, #0x18] ldr r0, [r0, #0x1c] cmp r0, #0 beq _020756D4 bl sub_0206FD88 _020756D4: ldr r0, _020756E4 ; =_022B9208 mov r1, #0 str r1, [r0, #0x1c] ldmia sp!, {r4, pc} .align 2, 0 _020756E4: .word _022B9208 arm_func_end sub_02075620 arm_func_start sub_020756E8 sub_020756E8: ; 0x020756E8 stmdb sp!, {r3, lr} ldr r0, _0207571C ; =_022B9208 ldrsb r0, [r0, #4] cmp r0, #0 mvneq r0, #0x59 ldmeqia sp!, {r3, pc} bl sub_0206F808 bl sub_0206FDE0 bl sub_02075620 ldr r1, _0207571C ; =_022B9208 mov r0, #0 strb r0, [r1, #4] ldmia sp!, {r3, pc} .align 2, 0 _0207571C: .word _022B9208 arm_func_end sub_020756E8 arm_func_start sub_02075720 sub_02075720: ; 0x02075720 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r3, #0 strb r3, [r0] cmp r2, #0x10 strb r3, [r0, #1] movhi r2, #0x10 add r0, r0, #4 _02075740: strb r3, [r0, r3] add r3, r3, #1 cmp r3, #0x100 blt _02075740 mov r6, #0 mov r7, r6 mov r4, r6 mov r3, r6 and ip, r2, #0xff _02075764: ldrb r5, [r0, r4] ldrb lr, [r1, r7] add r2, r7, #1 and r7, r2, #0xff add r2, r5, lr add r2, r6, r2 and r6, r2, #0xff ldrb r2, [r0, r6] add lr, r0, r4 add r4, r4, #1 strb r2, [lr] cmp r7, ip moveq r7, r3 cmp r4, #0x100 strb r5, [r0, r6] blt _02075764 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, lr} bx lr arm_func_end sub_02075720 arm_func_start sub_020757B0 sub_020757B0: ; 0x020757B0 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} ldrb r7, [r0] ldrb r6, [r0, #1] add r0, r0, #4 mov lr, #0x1000000 add r7, lr, r7, lsl #24 mov r6, r6, lsl #0x18 ldrb sb, [r0, r7, lsr #24] subs r2, r2, #1 bmi _02075810 _020757D8: add r6, r6, sb, lsl #24 subs r2, r2, #1 ldrb r8, [r0, r6, lsr #24] ldrb r5, [r1], #1 strb r8, [r0, r7, lsr #24] strb sb, [r0, r6, lsr #24] add r4, sb, r8 and r4, r4, #0xff add r7, r7, lr ldrb r4, [r0, r4] ldrb sb, [r0, r7, lsr #24] eor r5, r5, r4 strb r5, [r3], #1 bge _020757D8 _02075810: sub r7, r7, lr mov r7, r7, lsr #0x18 mov r6, r6, lsr #0x18 strb r7, [r0, #-4] strb r6, [r0, #-3] ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_020757B0 arm_func_start sub_02075828 sub_02075828: ; 0x02075828 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x24 mov r6, r0 ldr r5, [r6] ldr r4, [r2] add r0, sp, #0x18 sub r4, r5, r4 str r4, [sp, #0x18] ldr ip, [r6, #4] ldr r4, [r2, #4] mov r5, r1 sub r1, ip, r4 str r1, [sp, #0x1c] ldr r4, [r6, #8] ldr r2, [r2, #8] mov r1, r0 sub r2, r4, r2 mov r4, r3 str r2, [sp, #0x20] bl sub_02075D34 add r1, sp, #0x18 add r2, sp, #0xc mov r0, r5 bl sub_02075CB0 add r0, sp, #0xc mov r1, r0 bl sub_02075D34 add r0, sp, #0x18 add r1, sp, #0xc add r2, sp, #0 bl sub_02075CB0 ldr r1, [sp, #0xc] mov r0, r6 str r1, [r4] ldr r2, [sp] add r1, sp, #0xc str r2, [r4, #4] ldr r2, [sp, #0x18] str r2, [r4, #8] ldr r2, [sp, #0x10] str r2, [r4, #0xc] ldr r2, [sp, #4] str r2, [r4, #0x10] ldr r2, [sp, #0x1c] str r2, [r4, #0x14] ldr r2, [sp, #0x14] str r2, [r4, #0x18] ldr r2, [sp, #8] str r2, [r4, #0x1c] ldr r2, [sp, #0x20] str r2, [r4, #0x20] bl sub_02075C74 rsb r0, r0, #0 str r0, [r4, #0x24] mov r0, r6 add r1, sp, #0 bl sub_02075C74 rsb r0, r0, #0 str r0, [r4, #0x28] mov r0, r6 add r1, sp, #0x18 bl sub_02075C74 rsb r0, r0, #0 str r0, [r4, #0x2c] add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end sub_02075828 arm_func_start sub_02075930 sub_02075930: ; 0x02075930 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 str r2, [sp] mov sl, r0 ldr r0, [sp] mov r2, r3 sub r0, r2, r0 ldr r8, [sp, #0x3c] str r3, [sp, #4] mov fp, r1 ldr sb, [sp, #0x38] bl sub_02075BA4 mov r0, #0 str r0, [r8, #4] str r0, [r8, #8] str r0, [r8, #0xc] str r0, [r8, #0x10] str r0, [r8, #0x18] str r0, [r8, #0x1c] str r0, [r8, #0x20] str r0, [r8, #0x24] str r0, [r8, #0x2c] str sb, [r8, #0x3c] bl sub_02075B48 mov r6, r1 mov r4, r0 ldr r1, _02075B34 ; =0x04000290 mov r3, #0 mov r2, #0x1000 str r3, [r1] sub r0, sl, fp str r2, [r1, #4] str r0, [r1, #8] mov r0, r3 cmp sb, #0x1000 str r0, [r1, #0xc] beq _020759E0 mov r5, sb, asr #0x1f umull r0, r1, r4, sb mla r1, r4, r5, r1 mla r1, r6, sb, r1 bl sub_0208FC8C mov r4, r0 mov r6, r1 _020759E0: mov r1, r6, lsl #0xd mov r0, #0x80000000 orr r1, r1, r4, lsr #19 adds r0, r0, r4, lsl #13 adc r0, r1, #0 str r0, [r8] bl sub_02075B48 mov r5, r0 mov r7, r1 mov r3, #0 ldr ip, _02075B34 ; =0x04000290 ldr r1, [sp, #0x30] ldr r0, [sp, #0x34] str r3, [ip] mov r2, #0x1000 str r2, [ip, #4] sub r0, r1, r0 mov lr, r3 str r0, [ip, #8] cmp sb, #0x1000 str lr, [ip, #0xc] beq _02075A54 mov ip, sb, asr #0x1f umull r0, r1, r5, sb mla r1, r5, ip, r1 mla r1, r7, sb, r1 bl sub_0208FC8C mov r5, r0 mov r7, r1 _02075A54: mov r1, r7, lsl #0xd mov r0, #0x80000000 orr r1, r1, r5, lsr #19 adds r0, r0, r5, lsl #13 adc r0, r1, #0 str r0, [r8, #0x14] bl sub_02075B48 cmp sb, #0x1000 beq _02075A9C mov r2, sb, asr #0x1f umull ip, r3, r0, sb mla r3, r0, r2, r3 mla r3, r1, sb, r3 mov r0, ip mov r1, r3 mov r2, #0x1000 mov r3, #0 bl sub_0208FC8C _02075A9C: ldr r3, [sp, #4] ldr r2, [sp] add r2, r3, r2 rsb ip, r2, #0 add r2, sl, fp rsb r3, r2, #0 ldr sl, [sp, #0x34] ldr r2, [sp, #0x30] mov sb, ip, asr #0x1f add r2, sl, r2 umull fp, sl, r4, ip mla sl, r4, sb, sl mov r4, #0x80000000 mla sl, r6, ip, sl adds r4, r4, r0, lsl #13 mov sb, r1, lsl #0xd mov r6, r3, asr #0x1f umull ip, r4, r5, r3 mla r4, r5, r6, r4 orr sb, sb, r0, lsr #19 mla r4, r7, r3, r4 adc r3, sb, #0 str r3, [r8, #0x28] adds r3, fp, #0x80000000 adc r7, sl, #0 adds r3, ip, #0x80000000 mov r3, r2, asr #0x1f umull r6, r5, r0, r2 mla r5, r0, r3, r5 adc r3, r4, #0 str r7, [r8, #0x30] mla r5, r1, r2, r5 adds r0, r6, #0x80000000 str r3, [r8, #0x34] adc r0, r5, #0 str r0, [r8, #0x38] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02075B34: .word 0x04000290 arm_func_end sub_02075930 arm_func_start sub_02075B38 sub_02075B38: ; 0x02075B38 stmdb sp!, {r3, lr} bl sub_02075BD4 bl sub_02075B6C ldmia sp!, {r3, pc} arm_func_end sub_02075B38 arm_func_start sub_02075B48 sub_02075B48: ; 0x02075B48 ldr r1, _02075B64 ; =0x04000280 _02075B4C: ldrh r0, [r1] tst r0, #0x8000 bne _02075B4C ldr r1, _02075B68 ; =0x040002A0 ldmia r1, {r0, r1} bx lr .align 2, 0 _02075B64: .word 0x04000280 _02075B68: .word 0x040002A0 arm_func_end sub_02075B48 arm_func_start sub_02075B6C sub_02075B6C: ; 0x02075B6C ldr r1, _02075B9C ; =0x04000280 _02075B70: ldrh r0, [r1] tst r0, #0x8000 bne _02075B70 ldr r0, _02075BA0 ; =0x040002A0 ldr r1, [r0] ldr r0, [r0, #4] adds r2, r1, #0x80000 adc r1, r0, #0 mov r0, r2, lsr #0x14 orr r0, r0, r1, lsl #12 bx lr .align 2, 0 _02075B9C: .word 0x04000280 _02075BA0: .word 0x040002A0 arm_func_end sub_02075B6C arm_func_start sub_02075BA4 sub_02075BA4: ; 0x02075BA4 ldr r2, _02075BD0 ; =0x04000280 mov r1, #1 strh r1, [r2] mov r1, #0 str r1, [r2, #0x10] mov r1, #0x1000 str r1, [r2, #0x14] str r0, [r2, #0x18] mov r0, #0 str r0, [r2, #0x1c] bx lr .align 2, 0 _02075BD0: .word 0x04000280 arm_func_end sub_02075BA4 arm_func_start sub_02075BD4 sub_02075BD4: ; 0x02075BD4 ldr r3, _02075BF8 ; =0x04000280 mov r2, #1 strh r2, [r3] mov r2, #0 str r2, [r3, #0x10] str r0, [r3, #0x14] str r1, [r3, #0x18] str r2, [r3, #0x1c] bx lr .align 2, 0 _02075BF8: .word 0x04000280 arm_func_end sub_02075BD4 arm_func_start sub_02075BFC sub_02075BFC: ; 0x02075BFC ldr r2, _02075C30 ; =0x04000280 mov r3, #0 strh r3, [r2] str r0, [r2, #0x10] str r1, [r2, #0x18] mov r0, r3 str r0, [r2, #0x1c] _02075C18: ldrh r0, [r2] tst r0, #0x8000 bne _02075C18 ldr r0, _02075C34 ; =0x040002A0 ldr r0, [r0] bx lr .align 2, 0 _02075C30: .word 0x04000280 _02075C34: .word 0x040002A0 arm_func_end sub_02075BFC arm_func_start sub_02075C38 sub_02075C38: ; 0x02075C38 ldr r2, _02075C6C ; =0x04000280 mov r3, #0 strh r3, [r2] str r0, [r2, #0x10] str r1, [r2, #0x18] mov r0, r3 str r0, [r2, #0x1c] _02075C54: ldrh r0, [r2] tst r0, #0x8000 bne _02075C54 ldr r0, _02075C70 ; =0x040002A8 ldr r0, [r0] bx lr .align 2, 0 _02075C6C: .word 0x04000280 _02075C70: .word 0x040002A8 arm_func_end sub_02075C38 arm_func_start sub_02075C74 sub_02075C74: ; 0x02075C74 stmdb sp!, {r4, lr} ldr r3, [r0, #4] ldr r2, [r1, #4] ldr ip, [r0] smull r4, lr, r3, r2 ldr r2, [r1] ldr r3, [r0, #8] smlal r4, lr, ip, r2 ldr r0, [r1, #8] smlal r4, lr, r3, r0 adds r0, r4, #0x800 adc r1, lr, #0 mov r0, r0, lsr #0xc orr r0, r0, r1, lsl #20 ldmia sp!, {r4, pc} arm_func_end sub_02075C74 arm_func_start sub_02075CB0 sub_02075CB0: ; 0x02075CB0 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldmia r0, {r5, lr} ldr r6, [r1, #8] ldr r0, [r0, #8] ldmia r1, {r4, ip} smull r8, r7, lr, r6 smull r3, r1, r0, ip subs r3, r8, r3 sbc r1, r7, r1 adds r3, r3, #0x800 smull r8, r7, r0, r4 smull r6, r0, r5, r6 adc r1, r1, #0 subs r6, r8, r6 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 sbc r7, r7, r0 adds r0, r6, #0x800 smull ip, r6, r5, ip adc r5, r7, #0 smull r4, r1, lr, r4 mov r7, r0, lsr #0xc subs r4, ip, r4 sbc r0, r6, r1 adds r1, r4, #0x800 str r3, [r2] orr r7, r7, r5, lsl #20 adc r0, r0, #0 mov r1, r1, lsr #0xc str r7, [r2, #4] orr r1, r1, r0, lsl #20 str r1, [r2, #8] ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02075CB0 arm_func_start sub_02075D34 sub_02075D34: ; 0x02075D34 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r2, [r0, #4] ldr r3, [r0] smull r6, r5, r2, r2 smlal r6, r5, r3, r3 ldr r2, [r0, #8] ldr r4, _02075E40 ; =0x04000280 smlal r6, r5, r2, r2 mov r3, #2 strh r3, [r4] mov r3, #0 str r3, [r4, #0x10] mov r3, #0x1000000 str r3, [r4, #0x14] str r6, [r4, #0x18] mov r2, r5, lsl #2 str r5, [r4, #0x1c] mov r3, #1 strh r3, [r4, #0x30] mov r3, r6, lsl #2 str r3, [r4, #0x38] orr r2, r2, r6, lsr #30 str r2, [r4, #0x3c] _02075D90: ldrh r2, [r4, #0x30] tst r2, #0x8000 bne _02075D90 ldr r2, _02075E44 ; =0x040002B4 ldr ip, [r2] sub r3, r2, #0x34 _02075DA8: ldrh r2, [r3] tst r2, #0x8000 bne _02075DA8 ldr sb, _02075E48 ; =0x040002A0 ldr r5, [r0] ldr r8, [sb] mov r7, ip, asr #0x1f umull r3, r2, r8, ip umull r6, lr, r3, r5 mov r4, r5, asr #0x1f mla r2, r8, r7, r2 ldr r7, [sb, #4] mla lr, r3, r4, lr mla r2, r7, ip, r2 mla lr, r2, r5, lr adds r4, r6, #0 adc r4, lr, #0x1000 mov r4, r4, asr #0xd str r4, [r1] ldr ip, [r0, #4] umull r5, lr, r3, ip mov r4, ip, asr #0x1f mla lr, r3, r4, lr mla lr, r2, ip, lr adds r4, r5, #0 adc r4, lr, #0x1000 mov r4, r4, asr #0xd str r4, [r1, #4] ldr ip, [r0, #8] umull r4, lr, r3, ip mov r0, ip, asr #0x1f mla lr, r3, r0, lr mla lr, r2, ip, lr adds r0, r4, #0 adc r0, lr, #0x1000 mov r0, r0, asr #0xd str r0, [r1, #8] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02075E40: .word 0x04000280 _02075E44: .word 0x040002B4 _02075E48: .word 0x040002A0 arm_func_end sub_02075D34 arm_func_start sub_02075E4C sub_02075E4C: ; 0x02075E4C stmdb sp!, {r4, lr} ldr r3, [r0, #4] ldr r2, [r1, #4] ldr r4, [r0] sub r2, r3, r2 smull ip, r3, r2, r2 ldr lr, [r1] ldr r2, [r0, #8] sub r4, r4, lr ldr r0, [r1, #8] smlal ip, r3, r4, r4 sub r0, r2, r0 smlal ip, r3, r0, r0 mov r0, r3, lsl #2 ldr r2, _02075EC0 ; =0x040002B0 mov r1, #1 strh r1, [r2] mov r1, ip, lsl #2 str r1, [r2, #8] orr r0, r0, ip, lsr #30 str r0, [r2, #0xc] _02075EA0: ldrh r0, [r2] tst r0, #0x8000 bne _02075EA0 ldr r0, _02075EC4 ; =0x040002B4 ldr r0, [r0] add r0, r0, #1 mov r0, r0, asr #1 ldmia sp!, {r4, pc} .align 2, 0 _02075EC0: .word 0x040002B0 _02075EC4: .word 0x040002B4 arm_func_end sub_02075E4C arm_func_start sub_02075EC8 sub_02075EC8: ; 0x02075EC8 stmdb sp!, {r4, lr} cmp r0, #0 ble _02075F5C cmp r1, #0 ble _02075F14 cmp r1, r0 ble _02075EF4 mov r2, r0 mov r4, #0 mov r0, #1 b _0207600C _02075EF4: bge _02075F0C mov r2, r1 mov r1, r0 mov r4, #0x4000 mov r0, #0 b _0207600C _02075F0C: mov r0, #0x2000 ldmia sp!, {r4, pc} _02075F14: bge _02075F54 rsb r1, r1, #0 cmp r1, r0 bge _02075F38 mov r2, r1 mov r1, r0 mov r4, #0x4000 mov r0, #1 b _0207600C _02075F38: ble _02075F4C mov r2, r0 mov r4, #0x8000 mov r0, #0 b _0207600C _02075F4C: mov r0, #0x6000 ldmia sp!, {r4, pc} _02075F54: mov r0, #0x4000 ldmia sp!, {r4, pc} _02075F5C: bge _02075FFC cmp r1, #0 rsb r0, r0, #0 bge _02075FB0 rsb r1, r1, #0 cmp r1, r0 ble _02075F8C mov r4, #0x8000 mov r2, r0 rsb r4, r4, #0 mov r0, #1 b _0207600C _02075F8C: bge _02075FA8 mov r4, #0x4000 mov r2, r1 mov r1, r0 rsb r4, r4, #0 mov r0, #0 b _0207600C _02075FA8: mov r0, #0xa000 ldmia sp!, {r4, pc} _02075FB0: cmp r1, #0 ble _02075FF4 cmp r1, r0 bge _02075FD8 mov r4, #0x4000 mov r2, r1 mov r1, r0 rsb r4, r4, #0 mov r0, #1 b _0207600C _02075FD8: ble _02075FEC mov r4, #0 mov r2, r0 mov r0, r4 b _0207600C _02075FEC: mov r0, #0xe000 ldmia sp!, {r4, pc} _02075FF4: mov r0, #0xc000 ldmia sp!, {r4, pc} _02075FFC: cmp r1, #0 movge r0, #0 movlt r0, #0x8000 ldmia sp!, {r4, pc} _0207600C: cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r0, #0 mov r0, r2 beq _02076048 bl sub_02075B38 mov r1, r0, asr #5 ldr r0, _0207606C ; =ARM9_UNKNOWN_TABLE__NA_20ADFB0 mov r1, r1, lsl #1 ldrsh r0, [r0, r1] add r0, r4, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, pc} _02076048: bl sub_02075B38 mov r1, r0, asr #5 ldr r0, _0207606C ; =ARM9_UNKNOWN_TABLE__NA_20ADFB0 mov r1, r1, lsl #1 ldrsh r0, [r0, r1] sub r0, r4, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, pc} .align 2, 0 _0207606C: .word ARM9_UNKNOWN_TABLE__NA_20ADFB0 arm_func_end sub_02075EC8 arm_func_start sub_02076070 sub_02076070: ; 0x02076070 bx lr arm_func_end sub_02076070 arm_func_start sub_02076074 sub_02076074: ; 0x02076074 stmdb sp!, {r4, r5, r6, lr} ldr r2, _0207619C ; =0x04000304 ldr r0, _020761A0 ; =0xFFFFFDF1 ldrh r1, [r2] orr r1, r1, #0x8000 strh r1, [r2] ldrh r1, [r2] and r0, r1, r0 orr r0, r0, #0xe orr r0, r0, #0x200 strh r0, [r2] ldrh r0, [r2] orr r0, r0, #1 strh r0, [r2] bl sub_0207634C ldr r5, _020761A4 ; =_022B9588 ldrh r0, [r5, #2] cmp r0, #0 bne _020760E8 mvn r4, #2 _020760C4: bl sub_0207902C mov r6, r0 cmp r6, r4 bne _020760D8 bl WaitForever2 _020760D8: strh r6, [r5, #2] ldrh r0, [r5, #2] cmp r0, #0 beq _020760C4 _020760E8: ldr r0, _020761A8 ; =0x04000004 mov r2, #0 mov r3, #0x4000000 strh r2, [r0] ldr r0, _020761AC ; =_020B2B94 str r2, [r3] ldr r0, [r0, #4] sub r1, r3, #0x4000001 cmp r0, r1 beq _02076140 add r1, r3, #8 mov r3, #0x60 bl sub_0207BC4C ldr r1, _020761B0 ; =0x0400006C mov r2, #0 ldr r0, _020761AC ; =_020B2B94 strh r2, [r1] ldr r0, [r0, #4] ldr r1, _020761B4 ; =0x04001000 mov r3, #0x70 bl sub_0207BC4C b _02076168 _02076140: mov r0, r2 add r1, r3, #8 mov r2, #0x60 bl ArrayFill32 ldr r3, _020761B0 ; =0x0400006C mov r0, #0 ldr r1, _020761B4 ; =0x04001000 mov r2, #0x70 strh r0, [r3] bl ArrayFill32 _02076168: ldr r0, _020761B8 ; =0x04000020 mov r2, #0x100 strh r2, [r0] strh r2, [r0, #6] strh r2, [r0, #0x10] strh r2, [r0, #0x16] add r1, r0, #0x1000 ldr r0, _020761BC ; =0x04001026 strh r2, [r1] strh r2, [r0] strh r2, [r0, #0xa] strh r2, [r0, #0x10] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207619C: .word 0x04000304 _020761A0: .word 0xFFFFFDF1 _020761A4: .word _022B9588 _020761A8: .word 0x04000004 _020761AC: .word _020B2B94 _020761B0: .word 0x0400006C _020761B4: .word 0x04001000 _020761B8: .word 0x04000020 _020761BC: .word 0x04001026 arm_func_end sub_02076074 arm_func_start sub_020761C0 sub_020761C0: ; 0x020761C0 ldr r3, _020761E4 ; =0x04000004 mov r1, r0, lsl #0x18 ldrh r2, [r3] and ip, r0, #0x100 and r0, r2, #0x3f orr r0, r0, r1, lsr #16 orr r0, r0, ip, asr #1 strh r0, [r3] bx lr .align 2, 0 _020761E4: .word 0x04000004 arm_func_end sub_020761C0 arm_func_start sub_020761E8 sub_020761E8: ; 0x020761E8 ldr r2, _02076218 ; =0x04000004 cmp r0, #0 ldrh r0, [r2] ldreqh r1, [r2] and r0, r0, #8 biceq r1, r1, #8 streqh r1, [r2] bxeq lr ldrh r1, [r2] orr r1, r1, #8 strh r1, [r2] bx lr .align 2, 0 _02076218: .word 0x04000004 arm_func_end sub_020761E8 arm_func_start sub_0207621C sub_0207621C: ; 0x0207621C stmdb sp!, {r3, lr} mov lr, #0x4000000 ldr ip, [lr] ldr r1, _02076250 ; =_020B2B94 and r2, ip, #0x30000 mov r3, #0 ldr r0, _02076254 ; =_022B9588 mov r2, r2, lsr #0x10 strh r3, [r1] strh r2, [r0] bic r0, ip, #0x30000 str r0, [lr] ldmia sp!, {r3, pc} .align 2, 0 _02076250: .word _020B2B94 _02076254: .word _022B9588 arm_func_end sub_0207621C arm_func_start sub_02076258 sub_02076258: ; 0x02076258 ldr r0, _02076298 ; =_022B9588 ldr r1, _0207629C ; =_020B2B94 ldrh r2, [r0] mov r0, #1 strh r0, [r1] mov r1, #0x4000000 cmp r2, #0 ldreq r0, [r1] orreq r0, r0, #0x10000 streq r0, [r1] bxeq lr ldr r0, [r1] bic r0, r0, #0x30000 orr r0, r0, r2, lsl #16 str r0, [r1] bx lr .align 2, 0 _02076298: .word _022B9588 _0207629C: .word _020B2B94 arm_func_end sub_02076258 arm_func_start sub_020762A0 sub_020762A0: ; 0x020762A0 stmdb sp!, {r3, lr} ldr r3, _020762FC ; =_020B2B94 mov lr, #0x4000000 ldrh ip, [r3] ldr lr, [lr] ldr r3, _02076300 ; =_022B9588 cmp ip, #0 strh r0, [r3] ldr r3, _02076304 ; =0xFFF0FFF0 moveq r0, #0 and r3, lr, r3 orr r0, r3, r0, lsl #16 orr r0, r1, r0 orr r1, r0, r2, lsl #3 mov ip, #0x4000000 ldr r0, _02076300 ; =_022B9588 str r1, [ip] ldrh r0, [r0] cmp r0, #0 ldreq r0, _020762FC ; =_020B2B94 moveq r1, #0 streqh r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _020762FC: .word _020B2B94 _02076300: .word _022B9588 _02076304: .word 0xFFF0FFF0 arm_func_end sub_020762A0 arm_func_start sub_02076308 sub_02076308: ; 0x02076308 ldr r2, _02076320 ; =0x04001000 ldr r1, [r2] bic r1, r1, #7 orr r0, r1, r0 str r0, [r2] bx lr .align 2, 0 _02076320: .word 0x04001000 arm_func_end sub_02076308 arm_func_start sub_02076324 sub_02076324: ; 0x02076324 cmp r1, #0 moveq r1, #0 streqh r1, [r0] bxeq lr orrgt r1, r1, #0x4000 strgth r1, [r0] rsble r1, r1, #0 orrle r1, r1, #0x8000 strleh r1, [r0] bx lr arm_func_end sub_02076324 arm_func_start sub_0207634C sub_0207634C: ; 0x0207634C ldr r0, _020763A4 ; =_022B958C mov r2, #0 strh r2, [r0] strh r2, [r0, #2] strh r2, [r0, #4] strh r2, [r0, #6] strh r2, [r0, #8] strh r2, [r0, #0xa] strh r2, [r0, #0xc] strh r2, [r0, #0xe] strh r2, [r0, #0x10] strh r2, [r0, #0x12] strh r2, [r0, #0x14] strh r2, [r0, #0x16] ldr r1, _020763A8 ; =0x04000240 strh r2, [r0, #0x18] str r2, [r1] strb r2, [r1, #4] strb r2, [r1, #5] strb r2, [r1, #6] strh r2, [r1, #8] bx lr .align 2, 0 _020763A4: .word _022B958C _020763A8: .word 0x04000240 arm_func_end sub_0207634C arm_func_start EnableVramBanksInSetDontSave EnableVramBanksInSetDontSave: ; 0x020763AC tst r0, #1 ldrne r1, _02076440 ; =0x04000240 movne r2, #0x80 strneb r2, [r1] tst r0, #2 ldrne r1, _02076444 ; =0x04000241 movne r2, #0x80 strneb r2, [r1] tst r0, #4 ldrne r1, _02076448 ; =0x04000242 movne r2, #0x80 strneb r2, [r1] tst r0, #8 ldrne r1, _0207644C ; =0x04000243 movne r2, #0x80 strneb r2, [r1] tst r0, #0x10 ldrne r1, _02076450 ; =0x04000244 movne r2, #0x80 strneb r2, [r1] tst r0, #0x20 ldrne r1, _02076454 ; =0x04000245 movne r2, #0x80 strneb r2, [r1] tst r0, #0x40 ldrne r1, _02076458 ; =0x04000246 movne r2, #0x80 strneb r2, [r1] tst r0, #0x80 ldrne r1, _0207645C ; =0x04000248 movne r2, #0x80 strneb r2, [r1] tst r0, #0x100 ldrne r0, _02076460 ; =0x04000249 movne r1, #0x80 strneb r1, [r0] bx lr .align 2, 0 _02076440: .word 0x04000240 _02076444: .word 0x04000241 _02076448: .word 0x04000242 _0207644C: .word 0x04000243 _02076450: .word 0x04000244 _02076454: .word 0x04000245 _02076458: .word 0x04000246 _0207645C: .word 0x04000248 _02076460: .word 0x04000249 arm_func_end EnableVramBanksInSetDontSave arm_func_start sub_02076464 sub_02076464: ; 0x02076464 stmdb sp!, {r3, lr} ldr r1, _020766D4 ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #2] cmp r0, #0x40 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #2] bgt _0207653C cmp r0, #0x40 bge _020766B8 cmp r0, #0x20 bgt _02076530 cmp r0, #0 addge pc, pc, r0, lsl #2 b _020766C4 _020764AC: ; jump table b _020766C4 ; case 0 b _020765D8 ; case 1 b _020765A4 ; case 2 b _020765CC ; case 3 b _0207657C ; case 4 b _02076614 ; case 5 b _02076598 ; case 6 b _020765C0 ; case 7 b _02076560 ; case 8 b _0207662C ; case 9 b _02076644 ; case 10 b _020765E8 ; case 11 b _02076570 ; case 12 b _02076608 ; case 13 b _0207658C ; case 14 b _020765B4 ; case 15 b _02076674 ; case 16 b _020766C4 ; case 17 b _020766C4 ; case 18 b _020766C4 ; case 19 b _020766C4 ; case 20 b _020766C4 ; case 21 b _020766C4 ; case 22 b _020766C4 ; case 23 b _020766C4 ; case 24 b _020766C4 ; case 25 b _020766C4 ; case 26 b _020766C4 ; case 27 b _020766C4 ; case 28 b _020766C4 ; case 29 b _020766C4 ; case 30 b _020766C4 ; case 31 b _020766A8 ; case 32 _02076530: cmp r0, #0x30 beq _02076668 b _020766C4 _0207653C: cmp r0, #0x60 bgt _02076554 bge _0207669C cmp r0, #0x50 beq _02076684 b _020766C4 _02076554: cmp r0, #0x70 beq _0207665C b _020766C4 _02076560: ldr r0, _020766D8 ; =0x04000243 mov r1, #0x81 strb r1, [r0] b _020766C4 _02076570: ldr r0, _020766D8 ; =0x04000243 mov r1, #0x89 strb r1, [r0] _0207657C: ldr r0, _020766DC ; =0x04000242 mov r1, #0x81 strb r1, [r0] b _020766C4 _0207658C: ldr r0, _020766D8 ; =0x04000243 mov r1, #0x91 strb r1, [r0] _02076598: ldr r0, _020766DC ; =0x04000242 mov r1, #0x89 strb r1, [r0] _020765A4: ldr r0, _020766E0 ; =0x04000241 mov r1, #0x81 strb r1, [r0] b _020766C4 _020765B4: ldr r0, _020766D8 ; =0x04000243 mov r1, #0x99 strb r1, [r0] _020765C0: ldr r0, _020766DC ; =0x04000242 mov r1, #0x91 strb r1, [r0] _020765CC: ldr r0, _020766E0 ; =0x04000241 mov r1, #0x89 strb r1, [r0] _020765D8: ldr r0, _020766E4 ; =0x04000240 mov r1, #0x81 strb r1, [r0] b _020766C4 _020765E8: ldr r1, _020766E4 ; =0x04000240 mov r0, #0x81 strb r0, [r1] mov r0, #0x89 strb r0, [r1, #1] mov r0, #0x91 strb r0, [r1, #3] b _020766C4 _02076608: ldr r0, _020766D8 ; =0x04000243 mov r1, #0x91 strb r1, [r0] _02076614: ldr r1, _020766E4 ; =0x04000240 mov r0, #0x81 strb r0, [r1] mov r0, #0x89 strb r0, [r1, #2] b _020766C4 _0207662C: ldr r1, _020766E4 ; =0x04000240 mov r0, #0x81 strb r0, [r1] mov r0, #0x89 strb r0, [r1, #3] b _020766C4 _02076644: ldr r1, _020766E0 ; =0x04000241 mov r0, #0x81 strb r0, [r1] mov r0, #0x89 strb r0, [r1, #2] b _020766C4 _0207665C: ldr r0, _020766E8 ; =0x04000246 mov r1, #0x99 strb r1, [r0] _02076668: ldr r0, _020766EC ; =0x04000245 mov r1, #0x91 strb r1, [r0] _02076674: ldr r0, _020766F0 ; =0x04000244 mov r1, #0x81 strb r1, [r0] b _020766C4 _02076684: ldr r1, _020766E8 ; =0x04000246 mov r0, #0x91 strb r0, [r1] mov r0, #0x81 strb r0, [r1, #-2] b _020766C4 _0207669C: ldr r0, _020766E8 ; =0x04000246 mov r1, #0x89 strb r1, [r0] _020766A8: ldr r0, _020766EC ; =0x04000245 mov r1, #0x81 strb r1, [r0] b _020766C4 _020766B8: ldr r0, _020766E8 ; =0x04000246 mov r1, #0x81 strb r1, [r0] _020766C4: ldr r0, _020766D4 ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _020766D4: .word _022B958C _020766D8: .word 0x04000243 _020766DC: .word 0x04000242 _020766E0: .word 0x04000241 _020766E4: .word 0x04000240 _020766E8: .word 0x04000246 _020766EC: .word 0x04000245 _020766F0: .word 0x04000244 arm_func_end sub_02076464 arm_func_start sub_020766F4 sub_020766F4: ; 0x020766F4 stmdb sp!, {r3, lr} ldr r1, _0207682C ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #4] cmp r0, #0x30 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #4] bgt _0207675C cmp r0, #0x30 bge _020767D0 cmp r0, #0x10 bgt _02076750 bge _020767DC cmp r0, #3 addls pc, pc, r0, lsl #2 b _0207681C _02076740: ; jump table b _0207681C ; case 0 b _020767A4 ; case 1 b _020767B4 ; case 2 b _02076798 ; case 3 _02076750: cmp r0, #0x20 beq _02076810 b _0207681C _0207675C: cmp r0, #0x50 bgt _0207677C bge _020767EC cmp r0, #0x40 ldreq r0, _02076830 ; =0x04000246 moveq r1, #0x82 streqb r1, [r0] b _0207681C _0207677C: cmp r0, #0x60 bgt _0207678C beq _02076804 b _0207681C _0207678C: cmp r0, #0x70 beq _020767C4 b _0207681C _02076798: ldr r0, _02076834 ; =0x04000241 mov r1, #0x8a strb r1, [r0] _020767A4: ldr r0, _02076838 ; =0x04000240 mov r1, #0x82 strb r1, [r0] b _0207681C _020767B4: ldr r0, _02076834 ; =0x04000241 mov r1, #0x82 strb r1, [r0] b _0207681C _020767C4: ldr r0, _02076830 ; =0x04000246 mov r1, #0x9a strb r1, [r0] _020767D0: ldr r0, _0207683C ; =0x04000245 mov r1, #0x92 strb r1, [r0] _020767DC: ldr r0, _02076840 ; =0x04000244 mov r1, #0x82 strb r1, [r0] b _0207681C _020767EC: ldr r1, _02076830 ; =0x04000246 mov r0, #0x92 strb r0, [r1] mov r0, #0x82 strb r0, [r1, #-2] b _0207681C _02076804: ldr r0, _02076830 ; =0x04000246 mov r1, #0x8a strb r1, [r0] _02076810: ldr r0, _0207683C ; =0x04000245 mov r1, #0x82 strb r1, [r0] _0207681C: ldr r0, _0207682C ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _0207682C: .word _022B958C _02076830: .word 0x04000246 _02076834: .word 0x04000241 _02076838: .word 0x04000240 _0207683C: .word 0x04000245 _02076840: .word 0x04000244 arm_func_end sub_020766F4 arm_func_start sub_02076844 sub_02076844: ; 0x02076844 stmdb sp!, {r3, lr} ldr r1, _02076938 ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0xe] cmp r0, #0x20 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0xe] bgt _02076894 cmp r0, #0x20 bge _020768F8 cmp r0, #0 bgt _02076888 beq _02076918 b _02076928 _02076888: cmp r0, #0x10 beq _020768B0 b _02076928 _02076894: cmp r0, #0x40 bgt _020768A4 beq _020768CC b _02076928 _020768A4: cmp r0, #0x60 beq _020768EC b _02076928 _020768B0: mov r2, #0x4000000 ldr r1, [r2] mov r0, #0x84 orr r1, r1, #0x40000000 str r1, [r2] strb r0, [r2, #0x244] b _02076928 _020768CC: mov r2, #0x4000000 ldr r1, [r2] ldr r0, _0207693C ; =0x04000246 orr r1, r1, #0x40000000 str r1, [r2] mov r1, #0x8c strb r1, [r0] b _02076928 _020768EC: ldr r0, _0207693C ; =0x04000246 mov r1, #0x8c strb r1, [r0] _020768F8: ldr r0, _02076940 ; =0x04000245 mov r1, #0x84 strb r1, [r0] mov r1, #0x4000000 ldr r0, [r1] orr r0, r0, #0x40000000 str r0, [r1] b _02076928 _02076918: mov r1, #0x4000000 ldr r0, [r1] bic r0, r0, #0x40000000 str r0, [r1] _02076928: ldr r0, _02076938 ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076938: .word _022B958C _0207693C: .word 0x04000246 _02076940: .word 0x04000245 arm_func_end sub_02076844 arm_func_start sub_02076944 sub_02076944: ; 0x02076944 stmdb sp!, {r3, lr} ldr r1, _020769E4 ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0x10] cmp r0, #0 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0x10] beq _020769C4 cmp r0, #0x20 beq _02076984 cmp r0, #0x40 beq _020769A4 b _020769D4 _02076984: mov r2, #0x4000000 ldr r1, [r2] ldr r0, _020769E8 ; =0x04000245 orr r1, r1, #0x80000000 str r1, [r2] mov r1, #0x85 strb r1, [r0] b _020769D4 _020769A4: mov r2, #0x4000000 ldr r1, [r2] ldr r0, _020769EC ; =0x04000246 orr r1, r1, #0x80000000 str r1, [r2] mov r1, #0x85 strb r1, [r0] b _020769D4 _020769C4: mov r1, #0x4000000 ldr r0, [r1] bic r0, r0, #0x80000000 str r0, [r1] _020769D4: ldr r0, _020769E4 ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _020769E4: .word _022B958C _020769E8: .word 0x04000245 _020769EC: .word 0x04000246 arm_func_end sub_02076944 arm_func_start sub_020769F0 sub_020769F0: ; 0x020769F0 stmdb sp!, {r3, lr} ldr r1, _02076BAC ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #8] cmp r0, #0 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #8] ldr r2, _02076BB0 ; =0x04000060 bne _02076A34 ldrh r1, [r2] ldr r0, _02076BB4 ; =0x0000CFFE and r0, r1, r0 strh r0, [r2] b _02076B9C _02076A34: ldrh r1, [r2] cmp r0, #0xf bic r1, r1, #0x3000 orr r1, r1, #1 strh r1, [r2] addls pc, pc, r0, lsl #2 b _02076B9C _02076A50: ; jump table b _02076B9C ; case 0 b _02076B90 ; case 1 b _02076B5C ; case 2 b _02076B84 ; case 3 b _02076B34 ; case 4 b _02076A90 ; case 5 b _02076B50 ; case 6 b _02076B78 ; case 7 b _02076B18 ; case 8 b _02076AA8 ; case 9 b _02076AC0 ; case 10 b _02076AD8 ; case 11 b _02076B28 ; case 12 b _02076AF8 ; case 13 b _02076B44 ; case 14 b _02076B6C ; case 15 _02076A90: mov r1, #0x83 ldr r0, _02076BB8 ; =0x04000242 strb r1, [r2, #0x1e0] mov r1, #0x8b strb r1, [r0] b _02076B9C _02076AA8: mov r1, #0x83 ldr r0, _02076BBC ; =0x04000243 strb r1, [r2, #0x1e0] mov r1, #0x8b strb r1, [r0] b _02076B9C _02076AC0: ldr r1, _02076BC0 ; =0x04000241 mov r0, #0x83 strb r0, [r1] mov r0, #0x8b strb r0, [r1, #2] b _02076B9C _02076AD8: mov r0, #0x83 ldr r1, _02076BC0 ; =0x04000241 strb r0, [r2, #0x1e0] mov r0, #0x8b strb r0, [r1] mov r0, #0x93 strb r0, [r1, #2] b _02076B9C _02076AF8: mov r0, #0x83 ldr r1, _02076BB8 ; =0x04000242 strb r0, [r2, #0x1e0] mov r0, #0x8b strb r0, [r1] mov r0, #0x93 strb r0, [r1, #1] b _02076B9C _02076B18: ldr r0, _02076BBC ; =0x04000243 mov r1, #0x83 strb r1, [r0] b _02076B9C _02076B28: ldr r0, _02076BBC ; =0x04000243 mov r1, #0x8b strb r1, [r0] _02076B34: ldr r0, _02076BB8 ; =0x04000242 mov r1, #0x83 strb r1, [r0] b _02076B9C _02076B44: ldr r0, _02076BBC ; =0x04000243 mov r1, #0x93 strb r1, [r0] _02076B50: ldr r0, _02076BB8 ; =0x04000242 mov r1, #0x8b strb r1, [r0] _02076B5C: ldr r0, _02076BC0 ; =0x04000241 mov r1, #0x83 strb r1, [r0] b _02076B9C _02076B6C: ldr r0, _02076BBC ; =0x04000243 mov r1, #0x9b strb r1, [r0] _02076B78: ldr r0, _02076BB8 ; =0x04000242 mov r1, #0x93 strb r1, [r0] _02076B84: ldr r0, _02076BC0 ; =0x04000241 mov r1, #0x8b strb r1, [r0] _02076B90: ldr r0, _02076BC4 ; =0x04000240 mov r1, #0x83 strb r1, [r0] _02076B9C: ldr r0, _02076BAC ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076BAC: .word _022B958C _02076BB0: .word 0x04000060 _02076BB4: .word 0x0000CFFE _02076BB8: .word 0x04000242 _02076BBC: .word 0x04000243 _02076BC0: .word 0x04000241 _02076BC4: .word 0x04000240 arm_func_end sub_020769F0 arm_func_start sub_02076BC8 sub_02076BC8: ; 0x02076BC8 stmdb sp!, {r3, lr} ldr r1, _02076CA0 ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0xa] cmp r0, #0x30 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0xa] bgt _02076C1C cmp r0, #0x30 bge _02076C78 cmp r0, #0x10 bgt _02076C10 bge _02076C84 cmp r0, #0 b _02076C90 _02076C10: cmp r0, #0x20 beq _02076C4C b _02076C90 _02076C1C: cmp r0, #0x60 bgt _02076C34 bge _02076C40 cmp r0, #0x40 beq _02076C5C b _02076C90 _02076C34: cmp r0, #0x70 beq _02076C6C b _02076C90 _02076C40: ldr r0, _02076CA4 ; =0x04000246 mov r1, #0x8b strb r1, [r0] _02076C4C: ldr r0, _02076CA8 ; =0x04000245 mov r1, #0x83 strb r1, [r0] b _02076C90 _02076C5C: ldr r0, _02076CA4 ; =0x04000246 mov r1, #0x83 strb r1, [r0] b _02076C90 _02076C6C: ldr r0, _02076CA4 ; =0x04000246 mov r1, #0x9b strb r1, [r0] _02076C78: ldr r0, _02076CA8 ; =0x04000245 mov r1, #0x93 strb r1, [r0] _02076C84: ldr r0, _02076CAC ; =0x04000244 mov r1, #0x83 strb r1, [r0] _02076C90: ldr r0, _02076CA0 ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076CA0: .word _022B958C _02076CA4: .word 0x04000246 _02076CA8: .word 0x04000245 _02076CAC: .word 0x04000244 arm_func_end sub_02076BC8 arm_func_start sub_02076CB0 sub_02076CB0: ; 0x02076CB0 stmdb sp!, {r3, lr} ldr r1, _02076DCC ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0xc] cmp r0, #0xc orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0xc] addls pc, pc, r0, lsl #2 b _02076DBC _02076CE0: ; jump table b _02076D6C ; case 0 b _02076D80 ; case 1 b _02076D20 ; case 2 b _02076D14 ; case 3 b _02076DA0 ; case 4 b _02076DBC ; case 5 b _02076DBC ; case 6 b _02076DBC ; case 7 b _02076D4C ; case 8 b _02076DBC ; case 9 b _02076DBC ; case 10 b _02076DBC ; case 11 b _02076D40 ; case 12 _02076D14: ldr r0, _02076DD0 ; =0x04000240 mov r1, #0x93 strb r1, [r0] _02076D20: ldr r0, _02076DD4 ; =0x04000241 mov r2, #0x9b ldr r1, _02076DD8 ; =0x04000060 strb r2, [r0] ldrh r0, [r1] orr r0, r0, #0x4000 strh r0, [r1] b _02076DBC _02076D40: ldr r0, _02076DDC ; =0x04000242 mov r1, #0x93 strb r1, [r0] _02076D4C: ldr r0, _02076DE0 ; =0x04000243 mov r2, #0x9b ldr r1, _02076DD8 ; =0x04000060 strb r2, [r0] ldrh r0, [r1] orr r0, r0, #0x4000 strh r0, [r1] b _02076DBC _02076D6C: ldr r1, _02076DD8 ; =0x04000060 ldrh r0, [r1] bic r0, r0, #0x4000 strh r0, [r1] b _02076DBC _02076D80: ldr r0, _02076DD0 ; =0x04000240 mov r1, #0x9b strb r1, [r0] sub r1, r0, #0x1e0 ldrh r0, [r1] orr r0, r0, #0x4000 strh r0, [r1] b _02076DBC _02076DA0: ldr r0, _02076DDC ; =0x04000242 mov r2, #0x9b ldr r1, _02076DD8 ; =0x04000060 strb r2, [r0] ldrh r0, [r1] orr r0, r0, #0x4000 strh r0, [r1] _02076DBC: ldr r0, _02076DCC ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076DCC: .word _022B958C _02076DD0: .word 0x04000240 _02076DD4: .word 0x04000241 _02076DD8: .word 0x04000060 _02076DDC: .word 0x04000242 _02076DE0: .word 0x04000243 arm_func_end sub_02076CB0 arm_func_start sub_02076DE4 sub_02076DE4: ; 0x02076DE4 stmdb sp!, {r3, lr} ldr r1, _02076E84 ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #6] cmp r0, #8 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #6] bgt _02076E38 cmp r0, #8 bge _02076E68 cmp r0, #4 bgt _02076E74 cmp r0, #0 blt _02076E74 beq _02076E74 cmp r0, #4 beq _02076E58 b _02076E74 _02076E38: cmp r0, #0xc bne _02076E74 ldr r1, _02076E88 ; =0x04000243 mov r0, #0x8a strb r0, [r1] mov r0, #0x82 strb r0, [r1, #-1] b _02076E74 _02076E58: ldr r0, _02076E8C ; =0x04000242 mov r1, #0x82 strb r1, [r0] b _02076E74 _02076E68: ldr r0, _02076E88 ; =0x04000243 mov r1, #0x82 strb r1, [r0] _02076E74: ldr r0, _02076E84 ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076E84: .word _022B958C _02076E88: .word 0x04000243 _02076E8C: .word 0x04000242 arm_func_end sub_02076DE4 arm_func_start sub_02076E90 sub_02076E90: ; 0x02076E90 ldr r1, _02076EA8 ; =_022B958C ldr ip, _02076EAC ; =EnableVramBanksInSetDontSave ldrh r2, [r1] orr r2, r2, r0 strh r2, [r1] bx ip .align 2, 0 _02076EA8: .word _022B958C _02076EAC: .word EnableVramBanksInSetDontSave arm_func_end sub_02076E90 arm_func_start sub_02076EB0 sub_02076EB0: ; 0x02076EB0 stmdb sp!, {r3, lr} ldr r1, _02076F48 ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0x12] cmp r0, #0x80 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0x12] bgt _02076F04 cmp r0, #0x80 bge _02076F2C cmp r0, #4 bgt _02076F38 cmp r0, #0 blt _02076F38 beq _02076F38 cmp r0, #4 beq _02076F10 b _02076F38 _02076F04: cmp r0, #0x180 beq _02076F20 b _02076F38 _02076F10: ldr r0, _02076F4C ; =0x04000242 mov r1, #0x84 strb r1, [r0] b _02076F38 _02076F20: ldr r0, _02076F50 ; =0x04000249 mov r1, #0x81 strb r1, [r0] _02076F2C: ldr r0, _02076F54 ; =0x04000248 mov r1, #0x81 strb r1, [r0] _02076F38: ldr r0, _02076F48 ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076F48: .word _022B958C _02076F4C: .word 0x04000242 _02076F50: .word 0x04000249 _02076F54: .word 0x04000248 arm_func_end sub_02076EB0 arm_func_start sub_02076F58 sub_02076F58: ; 0x02076F58 stmdb sp!, {r3, lr} ldr r1, _02076FBC ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0x14] cmp r0, #0 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0x14] beq _02076FAC cmp r0, #8 beq _02076FA0 cmp r0, #0x100 ldreq r0, _02076FC0 ; =0x04000249 moveq r1, #0x82 streqb r1, [r0] b _02076FAC _02076FA0: ldr r0, _02076FC4 ; =0x04000243 mov r1, #0x84 strb r1, [r0] _02076FAC: ldr r0, _02076FBC ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _02076FBC: .word _022B958C _02076FC0: .word 0x04000249 _02076FC4: .word 0x04000243 arm_func_end sub_02076F58 arm_func_start sub_02076FC8 sub_02076FC8: ; 0x02076FC8 stmdb sp!, {r3, lr} ldr r1, _0207703C ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0x16] cmp r0, #0 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0x16] beq _0207701C cmp r0, #0x80 bne _0207702C ldr r3, _02077040 ; =0x04001000 ldr r0, _02077044 ; =0x04000248 ldr r2, [r3] mov r1, #0x82 orr r2, r2, #0x40000000 str r2, [r3] strb r1, [r0] b _0207702C _0207701C: ldr r1, _02077040 ; =0x04001000 ldr r0, [r1] bic r0, r0, #0x40000000 str r0, [r1] _0207702C: ldr r0, _0207703C ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _0207703C: .word _022B958C _02077040: .word 0x04001000 _02077044: .word 0x04000248 arm_func_end sub_02076FC8 arm_func_start sub_02077048 sub_02077048: ; 0x02077048 stmdb sp!, {r3, lr} ldr r1, _020770BC ; =_022B958C mvn ip, r0 ldrh r3, [r1] ldrh r2, [r1, #0x18] cmp r0, #0 orr r2, r3, r2 and r2, ip, r2 strh r2, [r1] strh r0, [r1, #0x18] beq _0207709C cmp r0, #0x100 bne _020770AC ldr r3, _020770C0 ; =0x04001000 ldr r0, _020770C4 ; =0x04000249 ldr r2, [r3] mov r1, #0x83 orr r2, r2, #0x80000000 str r2, [r3] strb r1, [r0] b _020770AC _0207709C: ldr r1, _020770C0 ; =0x04001000 ldr r0, [r1] bic r0, r0, #0x80000000 str r0, [r1] _020770AC: ldr r0, _020770BC ; =_022B958C ldrh r0, [r0] bl EnableVramBanksInSetDontSave ldmia sp!, {r3, pc} .align 2, 0 _020770BC: .word _022B958C _020770C0: .word 0x04001000 _020770C4: .word 0x04000249 arm_func_end sub_02077048 arm_func_start EnableVramBanksInSet EnableVramBanksInSet: ; 0x020770C8 stmdb sp!, {r4, lr} ldrh r4, [r0] mov r2, #0 ldr r1, _020770F8 ; =_022B958C strh r2, [r0] ldrh r2, [r1] mov r0, r4 orr r2, r2, r4 strh r2, [r1] bl EnableVramBanksInSetDontSave mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _020770F8: .word _022B958C arm_func_end EnableVramBanksInSet arm_func_start sub_020770FC sub_020770FC: ; 0x020770FC mov r2, #0x4000000 ldr r1, [r2] ldr ip, _02077118 ; =EnableVramBanksInSet bic r1, r1, #0x40000000 ldr r0, _0207711C ; =_022B959A str r1, [r2] bx ip .align 2, 0 _02077118: .word EnableVramBanksInSet _0207711C: .word _022B959A arm_func_end sub_020770FC arm_func_start sub_02077120 sub_02077120: ; 0x02077120 mov r2, #0x4000000 ldr r1, [r2] ldr ip, _0207713C ; =EnableVramBanksInSet bic r1, r1, #0x80000000 ldr r0, _02077140 ; =_022B959C str r1, [r2] bx ip .align 2, 0 _0207713C: .word EnableVramBanksInSet _02077140: .word _022B959C arm_func_end sub_02077120 arm_func_start sub_02077144 sub_02077144: ; 0x02077144 ldr ip, _02077150 ; =EnableVramBanksInSet ldr r0, _02077154 ; =_022B9594 bx ip .align 2, 0 _02077150: .word EnableVramBanksInSet _02077154: .word _022B9594 arm_func_end sub_02077144 arm_func_start sub_02077158 sub_02077158: ; 0x02077158 ldr ip, _02077164 ; =EnableVramBanksInSet ldr r0, _02077168 ; =_022B9596 bx ip .align 2, 0 _02077164: .word EnableVramBanksInSet _02077168: .word _022B9596 arm_func_end sub_02077158 arm_func_start sub_0207716C sub_0207716C: ; 0x0207716C ldr r2, _02077188 ; =0x04001000 ldr ip, _0207718C ; =EnableVramBanksInSet ldr r1, [r2] ldr r0, _02077190 ; =_022B95A2 bic r1, r1, #0x40000000 str r1, [r2] bx ip .align 2, 0 _02077188: .word 0x04001000 _0207718C: .word EnableVramBanksInSet _02077190: .word _022B95A2 arm_func_end sub_0207716C arm_func_start sub_02077194 sub_02077194: ; 0x02077194 ldr r2, _020771B0 ; =0x04001000 ldr ip, _020771B4 ; =EnableVramBanksInSet ldr r1, [r2] ldr r0, _020771B8 ; =_022B95A4 bic r1, r1, #0x80000000 str r1, [r2] bx ip .align 2, 0 _020771B0: .word 0x04001000 _020771B4: .word EnableVramBanksInSet _020771B8: .word _022B95A4 arm_func_end sub_02077194 arm_func_start sub_020771BC sub_020771BC: ; 0x020771BC stmdb sp!, {r4, lr} ldrh r4, [r0] mov r1, #0 strh r1, [r0] tst r4, #1 ldrne r0, _02077274 ; =0x04000240 strneb r1, [r0] tst r4, #2 ldrne r0, _02077278 ; =0x04000241 movne r1, #0 strneb r1, [r0] tst r4, #4 ldrne r0, _0207727C ; =0x04000242 movne r1, #0 strneb r1, [r0] tst r4, #8 ldrne r0, _02077280 ; =0x04000243 movne r1, #0 strneb r1, [r0] tst r4, #0x10 ldrne r0, _02077284 ; =0x04000244 movne r1, #0 strneb r1, [r0] tst r4, #0x20 ldrne r0, _02077288 ; =0x04000245 movne r1, #0 strneb r1, [r0] tst r4, #0x40 ldrne r0, _0207728C ; =0x04000246 movne r1, #0 strneb r1, [r0] tst r4, #0x80 ldrne r0, _02077290 ; =0x04000248 movne r1, #0 strneb r1, [r0] tst r4, #0x100 ldrne r0, _02077294 ; =0x04000249 movne r1, #0 strneb r1, [r0] ldr r1, _02077298 ; =_022B958A mov r0, r4, lsl #0x10 ldrh r1, [r1] mov r0, r0, lsr #0x10 bl sub_0207BAC8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02077274: .word 0x04000240 _02077278: .word 0x04000241 _0207727C: .word 0x04000242 _02077280: .word 0x04000243 _02077284: .word 0x04000244 _02077288: .word 0x04000245 _0207728C: .word 0x04000246 _02077290: .word 0x04000248 _02077294: .word 0x04000249 _02077298: .word _022B958A arm_func_end sub_020771BC arm_func_start sub_0207729C sub_0207729C: ; 0x0207729C ldr ip, _020772A8 ; =sub_020771BC ldr r0, _020772AC ; =_022B958E bx ip .align 2, 0 _020772A8: .word sub_020771BC _020772AC: .word _022B958E arm_func_end sub_0207729C arm_func_start sub_020772B0 sub_020772B0: ; 0x020772B0 ldr ip, _020772BC ; =sub_020771BC ldr r0, _020772C0 ; =_022B9590 bx ip .align 2, 0 _020772BC: .word sub_020771BC _020772C0: .word _022B9590 arm_func_end sub_020772B0 arm_func_start sub_020772C4 sub_020772C4: ; 0x020772C4 mov r2, #0x4000000 ldr r1, [r2] ldr ip, _020772E0 ; =sub_020771BC bic r1, r1, #0x40000000 ldr r0, _020772E4 ; =_022B959A str r1, [r2] bx ip .align 2, 0 _020772E0: .word sub_020771BC _020772E4: .word _022B959A arm_func_end sub_020772C4 arm_func_start sub_020772E8 sub_020772E8: ; 0x020772E8 mov r2, #0x4000000 ldr r1, [r2] ldr ip, _02077304 ; =sub_020771BC bic r1, r1, #0x80000000 ldr r0, _02077308 ; =_022B959C str r1, [r2] bx ip .align 2, 0 _02077304: .word sub_020771BC _02077308: .word _022B959C arm_func_end sub_020772E8 arm_func_start sub_0207730C sub_0207730C: ; 0x0207730C ldr ip, _02077318 ; =sub_020771BC ldr r0, _0207731C ; =_022B9594 bx ip .align 2, 0 _02077318: .word sub_020771BC _0207731C: .word _022B9594 arm_func_end sub_0207730C arm_func_start sub_02077320 sub_02077320: ; 0x02077320 ldr ip, _0207732C ; =sub_020771BC ldr r0, _02077330 ; =_022B9596 bx ip .align 2, 0 _0207732C: .word sub_020771BC _02077330: .word _022B9596 arm_func_end sub_02077320 arm_func_start sub_02077334 sub_02077334: ; 0x02077334 ldr ip, _02077340 ; =sub_020771BC ldr r0, _02077344 ; =_022B9598 bx ip .align 2, 0 _02077340: .word sub_020771BC _02077344: .word _022B9598 arm_func_end sub_02077334 arm_func_start sub_02077348 sub_02077348: ; 0x02077348 ldr ip, _02077354 ; =sub_020771BC ldr r0, _02077358 ; =_022B9592 bx ip .align 2, 0 _02077354: .word sub_020771BC _02077358: .word _022B9592 arm_func_end sub_02077348 arm_func_start sub_0207735C sub_0207735C: ; 0x0207735C ldr ip, _02077368 ; =sub_020771BC ldr r0, _0207736C ; =_022B958C bx ip .align 2, 0 _02077368: .word sub_020771BC _0207736C: .word _022B958C arm_func_end sub_0207735C arm_func_start sub_02077370 sub_02077370: ; 0x02077370 ldr ip, _0207737C ; =sub_020771BC ldr r0, _02077380 ; =_022B959E bx ip .align 2, 0 _0207737C: .word sub_020771BC _02077380: .word _022B959E arm_func_end sub_02077370 arm_func_start sub_02077384 sub_02077384: ; 0x02077384 ldr ip, _02077390 ; =sub_020771BC ldr r0, _02077394 ; =_022B95A0 bx ip .align 2, 0 _02077390: .word sub_020771BC _02077394: .word _022B95A0 arm_func_end sub_02077384 arm_func_start sub_02077398 sub_02077398: ; 0x02077398 ldr r2, _020773B4 ; =0x04001000 ldr ip, _020773B8 ; =sub_020771BC ldr r1, [r2] ldr r0, _020773BC ; =_022B95A2 bic r1, r1, #0x40000000 str r1, [r2] bx ip .align 2, 0 _020773B4: .word 0x04001000 _020773B8: .word sub_020771BC _020773BC: .word _022B95A2 arm_func_end sub_02077398 arm_func_start sub_020773C0 sub_020773C0: ; 0x020773C0 ldr r2, _020773DC ; =0x04001000 ldr ip, _020773E0 ; =sub_020771BC ldr r1, [r2] ldr r0, _020773E4 ; =_022B95A4 bic r1, r1, #0x80000000 str r1, [r2] bx ip .align 2, 0 _020773DC: .word 0x04001000 _020773E0: .word sub_020771BC _020773E4: .word _022B95A4 arm_func_end sub_020773C0 arm_func_start sub_020773E8 sub_020773E8: ; 0x020773E8 ldr r1, _02077418 ; =0x04000008 mov r0, #0x4000000 ldrh r1, [r1] ldr r0, [r0] and r0, r0, #0x38000000 mov r0, r0, lsr #0x1b and r1, r1, #0x1f00 mov r0, r0, lsl #0x10 mov r1, r1, asr #8 add r0, r0, #0x6000000 add r0, r0, r1, lsl #11 bx lr .align 2, 0 _02077418: .word 0x04000008 arm_func_end sub_020773E8 arm_func_start sub_0207741C sub_0207741C: ; 0x0207741C ldr r0, _02077438 ; =0x04001008 ldrh r0, [r0] and r0, r0, #0x1f00 mov r0, r0, asr #8 mov r0, r0, lsl #0xb add r0, r0, #0x6200000 bx lr .align 2, 0 _02077438: .word 0x04001008 arm_func_end sub_0207741C arm_func_start sub_0207743C sub_0207743C: ; 0x0207743C ldr r1, _0207746C ; =0x0400000A mov r0, #0x4000000 ldrh r1, [r1] ldr r0, [r0] and r0, r0, #0x38000000 mov r0, r0, lsr #0x1b and r1, r1, #0x1f00 mov r0, r0, lsl #0x10 mov r1, r1, asr #8 add r0, r0, #0x6000000 add r0, r0, r1, lsl #11 bx lr .align 2, 0 _0207746C: .word 0x0400000A arm_func_end sub_0207743C arm_func_start sub_02077470 sub_02077470: ; 0x02077470 ldr r0, _0207748C ; =0x0400100A ldrh r0, [r0] and r0, r0, #0x1f00 mov r0, r0, asr #8 mov r0, r0, lsl #0xb add r0, r0, #0x6200000 bx lr .align 2, 0 _0207748C: .word 0x0400100A arm_func_end sub_02077470 arm_func_start sub_02077490 sub_02077490: ; 0x02077490 mov r0, #0x4000000 ldr r1, [r0] ldrh r3, [r0, #0xc] ldr r0, [r0] and ip, r1, #7 and r0, r0, #0x38000000 mov r1, r0, lsr #0x1b and r0, r3, #0x1f00 mov r2, r1, lsl #0x10 cmp ip, #6 mov r1, r0, lsr #8 addls pc, pc, ip, lsl #2 b _0207750C _020774C4: ; jump table b _020774E0 ; case 0 b _020774E0 ; case 1 b _020774E0 ; case 2 b _020774E0 ; case 3 b _020774E0 ; case 4 b _020774EC ; case 5 b _02077504 ; case 6 _020774E0: add r0, r2, #0x6000000 add r0, r0, r1, lsl #11 bx lr _020774EC: tst r3, #0x80 movne r0, r1, lsl #0xe addne r0, r0, #0x6000000 addeq r0, r2, #0x6000000 addeq r0, r0, r1, lsl #11 bx lr _02077504: mov r0, #0x6000000 bx lr _0207750C: mov r0, #0 bx lr arm_func_end sub_02077490 arm_func_start sub_02077514 sub_02077514: ; 0x02077514 mov r0, #0x4000000 ldr r1, [r0] ldrh r3, [r0, #0xe] ldr r0, [r0] and ip, r1, #7 and r0, r0, #0x38000000 mov r1, r0, lsr #0x1b and r0, r3, #0x1f00 mov r2, r1, lsl #0x10 cmp ip, #6 mov r1, r0, lsr #8 addls pc, pc, ip, lsl #2 b _02077590 _02077548: ; jump table b _02077564 ; case 0 b _02077564 ; case 1 b _02077564 ; case 2 b _02077570 ; case 3 b _02077570 ; case 4 b _02077570 ; case 5 b _02077588 ; case 6 _02077564: add r0, r2, #0x6000000 add r0, r0, r1, lsl #11 bx lr _02077570: tst r3, #0x80 movne r0, r1, lsl #0xe addne r0, r0, #0x6000000 addeq r0, r2, #0x6000000 addeq r0, r0, r1, lsl #11 bx lr _02077588: mov r0, #0 bx lr _02077590: mov r0, #0 bx lr arm_func_end sub_02077514 arm_func_start sub_02077598 sub_02077598: ; 0x02077598 ldr r1, _020775C8 ; =0x04000008 mov r0, #0x4000000 ldrh r1, [r1] ldr r0, [r0] and r0, r0, #0x7000000 mov r0, r0, lsr #0x18 and r1, r1, #0x3c mov r0, r0, lsl #0x10 mov r1, r1, asr #2 add r0, r0, #0x6000000 add r0, r0, r1, lsl #14 bx lr .align 2, 0 _020775C8: .word 0x04000008 arm_func_end sub_02077598 arm_func_start sub_020775CC sub_020775CC: ; 0x020775CC ldr r0, _020775E8 ; =0x04001008 ldrh r0, [r0] and r0, r0, #0x3c mov r0, r0, asr #2 mov r0, r0, lsl #0xe add r0, r0, #0x6200000 bx lr .align 2, 0 _020775E8: .word 0x04001008 arm_func_end sub_020775CC arm_func_start sub_020775EC sub_020775EC: ; 0x020775EC ldr r1, _0207761C ; =0x0400000A mov r0, #0x4000000 ldrh r1, [r1] ldr r0, [r0] and r0, r0, #0x7000000 mov r0, r0, lsr #0x18 and r1, r1, #0x3c mov r0, r0, lsl #0x10 mov r1, r1, asr #2 add r0, r0, #0x6000000 add r0, r0, r1, lsl #14 bx lr .align 2, 0 _0207761C: .word 0x0400000A arm_func_end sub_020775EC arm_func_start sub_02077620 sub_02077620: ; 0x02077620 ldr r0, _0207763C ; =0x0400100A ldrh r0, [r0] and r0, r0, #0x3c mov r0, r0, asr #2 mov r0, r0, lsl #0xe add r0, r0, #0x6200000 bx lr .align 2, 0 _0207763C: .word 0x0400100A arm_func_end sub_02077620 arm_func_start sub_02077640 sub_02077640: ; 0x02077640 mov r1, #0x4000000 ldr r0, [r1] ldrh r2, [r1, #0xc] and r0, r0, #7 cmp r0, #5 blt _02077660 tst r2, #0x80 bne _02077688 _02077660: mov r0, #0x4000000 ldr r1, [r0] and r0, r2, #0x3c and r1, r1, #0x7000000 mov r1, r1, lsr #0x18 mov r1, r1, lsl #0x10 add r1, r1, #0x6000000 mov r0, r0, lsr #2 add r0, r1, r0, lsl #14 bx lr _02077688: mov r0, #0 bx lr arm_func_end sub_02077640 arm_func_start sub_02077690 sub_02077690: ; 0x02077690 mov r1, #0x4000000 ldr r0, [r1] ldrh r2, [r1, #0xe] and r0, r0, #7 cmp r0, #3 blt _020776B8 cmp r0, #6 bge _020776E0 tst r2, #0x80 bne _020776E0 _020776B8: mov r0, #0x4000000 ldr r1, [r0] and r0, r2, #0x3c and r1, r1, #0x7000000 mov r1, r1, lsr #0x18 mov r1, r1, lsl #0x10 add r1, r1, #0x6000000 mov r0, r0, lsr #2 add r0, r1, r0, lsl #14 bx lr _020776E0: mov r0, #0 bx lr arm_func_end sub_02077690 arm_func_start sub_020776E8 sub_020776E8: ; 0x020776E8 ldr ip, [sp] orr r1, r1, #0x40 orr r2, r1, r2, lsl #8 orr r1, r3, ip, lsl #8 orr r1, r2, r1, lsl #16 str r1, [r0] bx lr arm_func_end sub_020776E8 arm_func_start sub_02077704 sub_02077704: ; 0x02077704 cmp r2, #0 orrge r1, r1, #0x80 strgeh r1, [r0] strgeh r2, [r0, #4] bxge lr orr r1, r1, #0xc0 strh r1, [r0] rsb r1, r2, #0 strh r1, [r0, #4] bx lr arm_func_end sub_02077704 arm_func_start sub_0207772C sub_0207772C: ; 0x0207772C ldrh r3, [r0] cmp r1, #0 and r2, r3, #0xc0 bge _02077758 cmp r2, #0x80 biceq r2, r3, #0xc0 orreq r2, r2, #0xc0 streqh r2, [r0] rsb r1, r1, #0 strh r1, [r0, #4] bx lr _02077758: cmp r2, #0xc0 biceq r2, r3, #0xc0 orreq r2, r2, #0x80 streqh r2, [r0] strh r1, [r0, #4] bx lr arm_func_end sub_0207772C arm_func_start sub_02077770 sub_02077770: ; 0x02077770 ldr r1, _02077784 ; =0x04000400 mov r2, #0x16 ldr ip, _02077788 ; =sub_020788E4 str r2, [r1] bx ip .align 2, 0 _02077784: .word 0x04000400 _02077788: .word sub_020788E4 arm_func_end sub_02077770 arm_func_start GeomMtxLoad4x3 GeomMtxLoad4x3: ; 0x0207778C ldr r1, _020777A0 ; =0x04000400 mov r2, #0x17 ldr ip, _020777A4 ; =GeomGxFifoSendMtx4x3 str r2, [r1] bx ip .align 2, 0 _020777A0: .word 0x04000400 _020777A4: .word GeomGxFifoSendMtx4x3 arm_func_end GeomMtxLoad4x3 arm_func_start GeomMtxMult4x3 GeomMtxMult4x3: ; 0x020777A8 ldr r1, _020777BC ; =0x04000400 mov r2, #0x19 ldr ip, _020777C0 ; =GeomGxFifoSendMtx4x3 str r2, [r1] bx ip .align 2, 0 _020777BC: .word 0x04000400 _020777C0: .word GeomGxFifoSendMtx4x3 arm_func_end GeomMtxMult4x3 arm_func_start sub_020777C4 sub_020777C4: ; 0x020777C4 stmdb sp!, {r3, lr} bl sub_0207793C ldr r1, _020778B0 ; =0x04000504 mov r0, #0 str r0, [r1] _020777D8: ldr r0, [r1, #0xfc] tst r0, #0x8000000 bne _020777D8 ldr r0, _020778B4 ; =0x04000060 mov r2, #0 strh r2, [r0] str r2, [r1, #0xfc] str r2, [r0, #-0x50] ldrh ip, [r0] ldr r2, _020778B8 ; =0xFFFFCFFD ldr r3, _020778BC ; =0x0000CFFB orr ip, ip, #0x2000 strh ip, [r0] ldrh ip, [r0] orr ip, ip, #0x1000 strh ip, [r0] ldrh ip, [r0] and r2, ip, r2 strh r2, [r0] ldrh r2, [r0] bic r2, r2, #0x3000 orr r2, r2, #0x10 strh r2, [r0] ldrh r2, [r0] and r2, r2, r3 strh r2, [r0] ldr r0, [r1, #0xfc] orr r0, r0, #0x8000 str r0, [r1, #0xfc] ldr r0, [r1, #0xfc] bic r0, r0, #0xc0000000 orr r0, r0, #0x80000000 str r0, [r1, #0xfc] bl sub_02077964 ldr r1, _020778C0 ; =0x04000350 mov r2, #0 ldr r0, _020778C4 ; =0x00007FFF str r2, [r1] strh r0, [r1, #4] strh r2, [r1, #6] str r2, [r1, #8] strh r2, [r1, #0xc] sub r1, r1, #0x348 ldrh r0, [r1] bic r0, r0, #3 strh r0, [r1] bl sub_02077AB4 ldr r2, _020778C8 ; =0x001F0080 ldr r1, _020778CC ; =0x040004A4 mov r0, #0 str r2, [r1] str r0, [r1, #4] str r0, [r1, #8] ldmia sp!, {r3, pc} .align 2, 0 _020778B0: .word 0x04000504 _020778B4: .word 0x04000060 _020778B8: .word 0xFFFFCFFD _020778BC: .word 0x0000CFFB _020778C0: .word 0x04000350 _020778C4: .word 0x00007FFF _020778C8: .word 0x001F0080 _020778CC: .word 0x040004A4 arm_func_end sub_020777C4 arm_func_start sub_020778D0 sub_020778D0: ; 0x020778D0 stmdb sp!, {r3, lr} ldr r2, _0207792C ; =0x04000600 _020778D8: ldr r0, [r2] tst r0, #0x8000000 bne _020778D8 ldr r0, [r2] ldr r1, _02077930 ; =0x04000060 orr r0, r0, #0x8000 str r0, [r2] ldrh r0, [r1] orr r0, r0, #0x2000 strh r0, [r1] ldrh r0, [r1] orr r0, r0, #0x1000 strh r0, [r1] bl sub_020779FC ldr r2, _02077934 ; =0x001F0080 ldr r1, _02077938 ; =0x040004A4 mov r0, #0 str r2, [r1] str r0, [r1, #4] str r0, [r1, #8] ldmia sp!, {r3, pc} .align 2, 0 _0207792C: .word 0x04000600 _02077930: .word 0x04000060 _02077934: .word 0x001F0080 _02077938: .word 0x040004A4 arm_func_end sub_020778D0 arm_func_start sub_0207793C sub_0207793C: ; 0x0207793C stmdb sp!, {r3, lr} ldr r0, _0207795C ; =0x04000400 bl sub_02077BB4 ldr r1, _02077960 ; =0x04000600 _0207794C: ldr r0, [r1] tst r0, #0x8000000 bne _0207794C ldmia sp!, {r3, pc} .align 2, 0 _0207795C: .word 0x04000400 _02077960: .word 0x04000600 arm_func_end sub_0207793C arm_func_start sub_02077964 sub_02077964: ; 0x02077964 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _020779F0 ; =0x04000600 ldr r0, [r1] orr r0, r0, #0x8000 str r0, [r1] add r4, sp, #4 _02077980: mov r0, r4 bl sub_02077B54 cmp r0, #0 bne _02077980 add r4, sp, #0 _02077994: mov r0, r4 bl sub_02077B84 cmp r0, #0 bne _02077994 ldr r1, _020779F4 ; =0x04000440 mov r0, #3 str r0, [r1] mov r0, #0 str r0, [r1, #0x14] str r0, [r1] ldr r0, [sp] mov r2, #0 cmp r0, #0 strne r0, [r1, #8] ldr r1, _020779F8 ; =0x04000454 mov r0, #2 str r2, [r1] str r0, [r1, #-0x14] ldr r0, [sp, #4] str r0, [r1, #-0xc] str r2, [r1] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _020779F0: .word 0x04000600 _020779F4: .word 0x04000440 _020779F8: .word 0x04000454 arm_func_end sub_02077964 arm_func_start sub_020779FC sub_020779FC: ; 0x020779FC stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02077A84 ; =0x04000600 ldr r0, [r1] orr r0, r0, #0x8000 str r0, [r1] add r4, sp, #4 _02077A18: mov r0, r4 bl sub_02077B54 cmp r0, #0 bne _02077A18 add r4, sp, #0 _02077A2C: mov r0, r4 bl sub_02077B84 cmp r0, #0 bne _02077A2C ldr r1, _02077A88 ; =0x04000440 mov r0, #3 str r0, [r1] mov r0, #0 str r0, [r1, #0x14] str r0, [r1] ldr r0, [sp] ldr r2, _02077A88 ; =0x04000440 cmp r0, #0 strne r0, [r1, #8] mov r0, #2 str r0, [r2] ldr r1, [sp, #4] mov r0, #0 str r1, [r2, #8] str r0, [r2, #0x14] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02077A84: .word 0x04000600 _02077A88: .word 0x04000440 arm_func_end sub_020779FC arm_func_start sub_02077A8C sub_02077A8C: ; 0x02077A8C ldr ip, [sp] orr r0, r0, r1, lsl #16 orr r1, r0, r3, lsl #24 cmp ip, #0 ldr r0, _02077AB0 ; =0x04000350 orrne r1, r1, #0x8000 str r1, [r0] strh r2, [r0, #4] bx lr .align 2, 0 _02077AB0: .word 0x04000350 arm_func_end sub_02077A8C arm_func_start sub_02077AB4 sub_02077AB4: ; 0x02077AB4 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _02077B44 ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 ldr r1, _02077B48 ; =0x04000330 beq _02077B04 mov r2, #0 str r2, [sp] mov r3, #0x10 str r2, [sp, #4] bl sub_0207BDA8 ldr r0, _02077B44 ; =_020B2B98 ldr r1, _02077B4C ; =0x04000360 ldr r0, [r0] mov r2, #0 mov r3, #0x60 bl sub_0207BC4C b _02077B20 _02077B04: mov r0, #0 mov r2, #0x10 bl ArrayFill32 ldr r1, _02077B4C ; =0x04000360 mov r0, #0 mov r2, #0x60 bl ArrayFill32 _02077B20: mov r2, #0 ldr r0, _02077B50 ; =0x040004D0 mov r1, r2 _02077B2C: add r2, r2, #1 str r1, [r0] cmp r2, #0x20 blt _02077B2C add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02077B44: .word _020B2B98 _02077B48: .word 0x04000330 _02077B4C: .word 0x04000360 _02077B50: .word 0x040004D0 arm_func_end sub_02077AB4 arm_func_start sub_02077B54 sub_02077B54: ; 0x02077B54 ldr r2, _02077B80 ; =0x04000600 ldr r1, [r2] tst r1, #0x4000 mvnne r0, #0 bxne lr ldr r1, [r2] and r1, r1, #0x1f00 mov r1, r1, lsr #8 str r1, [r0] mov r0, #0 bx lr .align 2, 0 _02077B80: .word 0x04000600 arm_func_end sub_02077B54 arm_func_start sub_02077B84 sub_02077B84: ; 0x02077B84 ldr r2, _02077BB0 ; =0x04000600 ldr r1, [r2] tst r1, #0x4000 mvnne r0, #0 bxne lr ldr r1, [r2] and r1, r1, #0x2000 mov r1, r1, lsr #0xd str r1, [r0] mov r0, #0 bx lr .align 2, 0 _02077BB0: .word 0x04000600 arm_func_end sub_02077B84 arm_func_start sub_02077BB4 sub_02077BB4: ; 0x02077BB4 mov r1, #0 mov r2, #0 mov r3, #0 mov ip, #0 stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} stmia r0, {r1, r2, r3, ip} bx lr arm_func_end sub_02077BB4 arm_func_start sub_02077C48 sub_02077C48: ; 0x02077C48 stmdb sp!, {r4, lr} sub sp, sp, #0x50 ldr ip, [sp, #0x58] ldr lr, [sp, #0x5c] str ip, [sp] ldr r4, [sp, #0x68] ldr ip, [sp, #0x60] str lr, [sp, #4] cmp r4, #0 addeq r4, sp, #0x10 str ip, [sp, #8] str r4, [sp, #0xc] bl sub_02075930 ldr r0, [sp, #0x64] cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r4, pc} ldr r1, _02077CA8 ; =0x04000440 mov r2, #0 mov r0, r4 str r2, [r1] bl sub_02077770 add sp, sp, #0x50 ldmia sp!, {r4, pc} .align 2, 0 _02077CA8: .word 0x04000440 arm_func_end sub_02077C48 arm_func_start sub_02077CAC sub_02077CAC: ; 0x02077CAC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 ldr r4, [sp, #0x40] mov r5, r3 cmp r4, #0 addeq r4, sp, #0 mov r3, r4 bl sub_02075828 cmp r5, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _02077CF4 ; =0x04000440 mov r2, #2 mov r0, r4 str r2, [r1] bl GeomMtxLoad4x3 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02077CF4: .word 0x04000440 arm_func_end sub_02077CAC arm_func_start sub_02077CF8 sub_02077CF8: ; 0x02077CF8 stmdb sp!, {r4, lr} ldr r3, _02077D48 ; =_020B2B98 mov r4, r0 ldr r0, [r3] mvn ip, #0 mov lr, r1 mov r3, r2 cmp r0, ip beq _02077D34 cmp r3, #0x1c bls _02077D34 mov r1, r4 add r2, lr, #0x5000000 bl sub_0207BD3C ldmia sp!, {r4, pc} _02077D34: mov r0, r4 mov r2, r3 add r1, lr, #0x5000000 bl ArrayCopy16 ldmia sp!, {r4, pc} .align 2, 0 _02077D48: .word _020B2B98 arm_func_end sub_02077CF8 arm_func_start sub_02077D4C sub_02077D4C: ; 0x02077D4C stmdb sp!, {r3, lr} ldr r3, _02077DA0 ; =_020B2B98 mov lr, r0 ldr r0, [r3] mvn ip, #0 mov r3, r2 cmp r0, ip beq _02077D88 cmp r3, #0x1c bls _02077D88 add r2, r1, #0x400 mov r1, lr add r2, r2, #0x5000000 bl sub_0207BD3C ldmia sp!, {r3, pc} _02077D88: add r1, r1, #0x400 mov r0, lr mov r2, r3 add r1, r1, #0x5000000 bl ArrayCopy16 ldmia sp!, {r3, pc} .align 2, 0 _02077DA0: .word _020B2B98 arm_func_end sub_02077D4C arm_func_start sub_02077DA4 sub_02077DA4: ; 0x02077DA4 stmdb sp!, {r3, lr} ldr r3, _02077DF8 ; =_020B2B98 mov lr, r0 ldr r0, [r3] mvn ip, #0 mov r3, r2 cmp r0, ip beq _02077DE0 cmp r3, #0x1c bls _02077DE0 add r2, r1, #0x200 mov r1, lr add r2, r2, #0x5000000 bl sub_0207BD3C ldmia sp!, {r3, pc} _02077DE0: add r1, r1, #0x200 mov r0, lr mov r2, r3 add r1, r1, #0x5000000 bl ArrayCopy16 ldmia sp!, {r3, pc} .align 2, 0 _02077DF8: .word _020B2B98 arm_func_end sub_02077DA4 arm_func_start sub_02077DFC sub_02077DFC: ; 0x02077DFC stmdb sp!, {r3, lr} ldr r3, _02077E50 ; =_020B2B98 mov lr, r0 ldr r0, [r3] mvn ip, #0 mov r3, r2 cmp r0, ip beq _02077E38 cmp r3, #0x1c bls _02077E38 add r2, r1, #0x600 mov r1, lr add r2, r2, #0x5000000 bl sub_0207BD3C ldmia sp!, {r3, pc} _02077E38: add r1, r1, #0x600 mov r0, lr mov r2, r3 add r1, r1, #0x5000000 bl ArrayCopy16 ldmia sp!, {r3, pc} .align 2, 0 _02077E50: .word _020B2B98 arm_func_end sub_02077DFC arm_func_start sub_02077E54 sub_02077E54: ; 0x02077E54 stmdb sp!, {r4, lr} ldr r3, _02077EA4 ; =_020B2B98 mov r4, r0 ldr r0, [r3] mvn ip, #0 mov lr, r1 mov r3, r2 cmp r0, ip beq _02077E90 cmp r3, #0x30 bls _02077E90 mov r1, r4 add r2, lr, #0x7000000 bl sub_0207BCCC ldmia sp!, {r4, pc} _02077E90: mov r0, r4 mov r2, r3 add r1, lr, #0x7000000 bl ArrayCopy32 ldmia sp!, {r4, pc} .align 2, 0 _02077EA4: .word _020B2B98 arm_func_end sub_02077E54 arm_func_start sub_02077EA8 sub_02077EA8: ; 0x02077EA8 stmdb sp!, {r3, lr} ldr r3, _02077EFC ; =_020B2B98 mov lr, r0 ldr r0, [r3] mvn ip, #0 mov r3, r2 cmp r0, ip beq _02077EE4 cmp r3, #0x30 bls _02077EE4 add r2, r1, #0x400 mov r1, lr add r2, r2, #0x7000000 bl sub_0207BCCC ldmia sp!, {r3, pc} _02077EE4: add r1, r1, #0x400 mov r0, lr mov r2, r3 add r1, r1, #0x7000000 bl ArrayCopy32 ldmia sp!, {r3, pc} .align 2, 0 _02077EFC: .word _020B2B98 arm_func_end sub_02077EA8 arm_func_start sub_02077F00 sub_02077F00: ; 0x02077F00 stmdb sp!, {r4, lr} ldr r3, _02077F54 ; =_020B2B98 mov r4, r0 ldr r0, [r3] mvn ip, #0 mov lr, r1 mov r3, r2 cmp r0, ip mov ip, #0x6400000 beq _02077F40 cmp r3, #0x30 bls _02077F40 mov r1, r4 add r2, ip, lr bl sub_0207BCCC ldmia sp!, {r4, pc} _02077F40: mov r0, r4 mov r2, r3 add r1, ip, lr bl ArrayCopy32 ldmia sp!, {r4, pc} .align 2, 0 _02077F54: .word _020B2B98 arm_func_end sub_02077F00 arm_func_start sub_02077F58 sub_02077F58: ; 0x02077F58 stmdb sp!, {r4, lr} ldr r3, _02077FAC ; =_020B2B98 mov r4, r0 ldr r0, [r3] mvn ip, #0 mov lr, r1 mov r3, r2 cmp r0, ip mov ip, #0x6600000 beq _02077F98 cmp r3, #0x30 bls _02077F98 mov r1, r4 add r2, ip, lr bl sub_0207BCCC ldmia sp!, {r4, pc} _02077F98: mov r0, r4 mov r2, r3 add r1, ip, lr bl ArrayCopy32 ldmia sp!, {r4, pc} .align 2, 0 _02077FAC: .word _020B2B98 arm_func_end sub_02077F58 arm_func_start sub_02077FB0 sub_02077FB0: ; 0x02077FB0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_0207741C ldr r1, _0207800C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02077FF8 cmp r4, #0x1c bls _02077FF8 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BD3C ldmia sp!, {r4, r5, r6, pc} _02077FF8: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy16 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207800C: .word _020B2B98 arm_func_end sub_02077FB0 arm_func_start sub_02078010 sub_02078010: ; 0x02078010 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_0207743C ldr r1, _0207806C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02078058 cmp r4, #0x1c bls _02078058 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BD3C ldmia sp!, {r4, r5, r6, pc} _02078058: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy16 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207806C: .word _020B2B98 arm_func_end sub_02078010 arm_func_start sub_02078070 sub_02078070: ; 0x02078070 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077470 ldr r1, _020780CC ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _020780B8 cmp r4, #0x1c bls _020780B8 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BD3C ldmia sp!, {r4, r5, r6, pc} _020780B8: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy16 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020780CC: .word _020B2B98 arm_func_end sub_02078070 arm_func_start sub_020780D0 sub_020780D0: ; 0x020780D0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077490 ldr r1, _0207812C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02078118 cmp r4, #0x1c bls _02078118 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BD3C ldmia sp!, {r4, r5, r6, pc} _02078118: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy16 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207812C: .word _020B2B98 arm_func_end sub_020780D0 arm_func_start sub_02078130 sub_02078130: ; 0x02078130 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077514 ldr r1, _0207818C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02078178 cmp r4, #0x1c bls _02078178 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BD3C ldmia sp!, {r4, r5, r6, pc} _02078178: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy16 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207818C: .word _020B2B98 arm_func_end sub_02078130 arm_func_start sub_02078190 sub_02078190: ; 0x02078190 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077598 ldr r1, _020781EC ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _020781D8 cmp r4, #0x30 bls _020781D8 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BCCC ldmia sp!, {r4, r5, r6, pc} _020781D8: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy32 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020781EC: .word _020B2B98 arm_func_end sub_02078190 arm_func_start sub_020781F0 sub_020781F0: ; 0x020781F0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_020775CC ldr r1, _0207824C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02078238 cmp r4, #0x30 bls _02078238 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BCCC ldmia sp!, {r4, r5, r6, pc} _02078238: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy32 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207824C: .word _020B2B98 arm_func_end sub_020781F0 arm_func_start sub_02078250 sub_02078250: ; 0x02078250 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_020775EC ldr r1, _020782AC ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02078298 cmp r4, #0x30 bls _02078298 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BCCC ldmia sp!, {r4, r5, r6, pc} _02078298: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy32 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020782AC: .word _020B2B98 arm_func_end sub_02078250 arm_func_start sub_020782B0 sub_020782B0: ; 0x020782B0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077620 ldr r1, _0207830C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _020782F8 cmp r4, #0x30 bls _020782F8 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BCCC ldmia sp!, {r4, r5, r6, pc} _020782F8: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy32 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207830C: .word _020B2B98 arm_func_end sub_020782B0 arm_func_start sub_02078310 sub_02078310: ; 0x02078310 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077640 ldr r1, _0207836C ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _02078358 cmp r4, #0x30 bls _02078358 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BCCC ldmia sp!, {r4, r5, r6, pc} _02078358: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy32 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207836C: .word _020B2B98 arm_func_end sub_02078310 arm_func_start sub_02078370 sub_02078370: ; 0x02078370 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02077690 ldr r1, _020783CC ; =_020B2B98 mov ip, r0 ldr r0, [r1] mvn r1, #0 cmp r0, r1 beq _020783B8 cmp r4, #0x30 bls _020783B8 mov r1, r6 mov r3, r4 add r2, ip, r5 bl sub_0207BCCC ldmia sp!, {r4, r5, r6, pc} _020783B8: mov r0, r6 mov r2, r4 add r1, ip, r5 bl ArrayCopy32 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020783CC: .word _020B2B98 arm_func_end sub_02078370 arm_func_start sub_020783D0 sub_020783D0: ; 0x020783D0 stmdb sp!, {r3, lr} bl sub_020770FC ldr r1, _02078460 ; =_022B95A8 cmp r0, #0x20 str r0, [r1, #0x14] bgt _02078404 cmp r0, #0x20 bge _02078448 cmp r0, #0 ldmleia sp!, {r3, pc} cmp r0, #0x10 beq _02078420 ldmia sp!, {r3, pc} _02078404: cmp r0, #0x40 bgt _02078414 beq _02078434 ldmia sp!, {r3, pc} _02078414: cmp r0, #0x60 beq _02078448 ldmia sp!, {r3, pc} _02078420: ldr r2, _02078464 ; =0x06880000 mov r0, #0 str r2, [r1, #0x10] str r0, [r1, #0xc] ldmia sp!, {r3, pc} _02078434: ldr r2, _02078468 ; =0x06894000 mov r0, #0x4000 str r2, [r1, #0x10] str r0, [r1, #0xc] ldmia sp!, {r3, pc} _02078448: ldr r2, _0207846C ; =0x06890000 ldr r0, _02078460 ; =_022B95A8 mov r1, #0 str r2, [r0, #0x10] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _02078460: .word _022B95A8 _02078464: .word 0x06880000 _02078468: .word 0x06894000 _0207846C: .word 0x06890000 arm_func_end sub_020783D0 arm_func_start sub_02078470 sub_02078470: ; 0x02078470 stmdb sp!, {r3, lr} ldr r0, _020784B0 ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _0207848C bl sub_0207C0FC _0207848C: ldr r0, _020784B4 ; =_022B95A8 ldr r0, [r0, #0x14] bl sub_02076844 ldr r0, _020784B4 ; =_022B95A8 mov r1, #0 str r1, [r0, #0x14] str r1, [r0, #0x10] str r1, [r0, #0xc] ldmia sp!, {r3, pc} .align 2, 0 _020784B0: .word _020B2B98 _020784B4: .word _022B95A8 arm_func_end sub_02078470 arm_func_start sub_020784B8 sub_020784B8: ; 0x020784B8 stmdb sp!, {r3, lr} bl sub_02077120 ldr r1, _020784F4 ; =_022B95A8 cmp r0, #0 str r0, [r1, #8] ldmeqia sp!, {r3, pc} cmp r0, #0x20 beq _020784E8 cmp r0, #0x40 ldreq r0, _020784F8 ; =0x06894000 streq r0, [r1, #4] ldmia sp!, {r3, pc} _020784E8: ldr r0, _020784FC ; =0x06890000 str r0, [r1, #4] ldmia sp!, {r3, pc} .align 2, 0 _020784F4: .word _022B95A8 _020784F8: .word 0x06894000 _020784FC: .word 0x06890000 arm_func_end sub_020784B8 arm_func_start sub_02078500 sub_02078500: ; 0x02078500 stmdb sp!, {r3, lr} ldr r0, _0207853C ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _0207851C bl sub_0207C0FC _0207851C: ldr r0, _02078540 ; =_022B95A8 ldr r0, [r0, #8] bl sub_02076944 ldr r0, _02078540 ; =_022B95A8 mov r1, #0 str r1, [r0, #8] str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _0207853C: .word _020B2B98 _02078540: .word _022B95A8 arm_func_end sub_02078500 arm_func_start sub_02078544 sub_02078544: ; 0x02078544 stmdb sp!, {r3, lr} bl sub_0207716C ldr r1, _02078558 ; =_022B95A8 str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 _02078558: .word _022B95A8 arm_func_end sub_02078544 arm_func_start sub_0207855C sub_0207855C: ; 0x0207855C stmdb sp!, {r3, lr} ldr r0, _02078594 ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _02078578 bl sub_0207C0FC _02078578: ldr r0, _02078598 ; =_022B95A8 ldr r0, [r0] bl sub_02076FC8 ldr r0, _02078598 ; =_022B95A8 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02078594: .word _020B2B98 _02078598: .word _022B95A8 arm_func_end sub_0207855C arm_func_start sub_0207859C sub_0207859C: ; 0x0207859C stmdb sp!, {r3, lr} bl sub_02077194 ldr r1, _020785B0 ; =_022B95A8 str r0, [r1, #0x18] ldmia sp!, {r3, pc} .align 2, 0 _020785B0: .word _022B95A8 arm_func_end sub_0207859C arm_func_start sub_020785B4 sub_020785B4: ; 0x020785B4 stmdb sp!, {r3, lr} ldr r0, _020785EC ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _020785D0 bl sub_0207C0FC _020785D0: ldr r0, _020785F0 ; =_022B95A8 ldr r0, [r0, #0x18] bl sub_02077048 ldr r0, _020785F0 ; =_022B95A8 mov r1, #0 str r1, [r0, #0x18] ldmia sp!, {r3, pc} .align 2, 0 _020785EC: .word _020B2B98 _020785F0: .word _022B95A8 arm_func_end sub_020785B4 arm_func_start sub_020785F4 sub_020785F4: ; 0x020785F4 stmdb sp!, {r3, lr} bl sub_02077144 mov r1, #6 mul lr, r0, r1 ldr r2, _02078640 ; =_020AE0C4 ldr r1, _02078644 ; =_020AE0C6 ldrh ip, [r2, lr] ldr r2, _02078648 ; =_020AE0C8 ldrh r3, [r1, lr] ldr r1, _0207864C ; =_022B95C4 ldrh r2, [r2, lr] str r0, [r1, #0x14] mov r0, ip, lsl #0xc str r0, [r1, #4] mov r0, r3, lsl #0xc str r0, [r1, #0x18] mov r0, r2, lsl #0xc str r0, [r1, #0x1c] ldmia sp!, {r3, pc} .align 2, 0 _02078640: .word _020AE0C4 _02078644: .word _020AE0C6 _02078648: .word _020AE0C8 _0207864C: .word _022B95C4 arm_func_end sub_020785F4 arm_func_start sub_02078650 sub_02078650: ; 0x02078650 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r3, _02078788 ; =_022B95C4 mov r7, r0 ldr r4, [r3, #0x18] mov ip, r1 cmp r4, #0 ldreq r0, [r3, #4] mov r6, r2 addeq r2, r0, ip beq _0207873C ldr r2, [r3, #0x1c] add r0, ip, r6 cmp r0, r2 ldrlo r0, [r3, #4] addlo r2, r0, ip blo _0207873C cmp ip, r2 addhs r0, r4, ip subhs r2, r0, r2 bhs _0207873C ldr r0, _0207878C ; =_020B2B98 mvn r1, #0 ldr r0, [r0] sub r5, r2, ip cmp r0, r1 ldr lr, [r3, #4] beq _020786DC cmp r5, #0x30 bls _020786DC mov r1, r7 mov r3, r5 add r2, lr, ip bl sub_0207BCCC b _020786EC _020786DC: mov r0, r7 mov r2, r5 add r1, lr, ip bl ArrayCopy32 _020786EC: ldr r0, _0207878C ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _02078724 mov ip, #0 str ip, [sp] mov r2, r4 add r1, r7, r5 sub r3, r6, r5 str ip, [sp, #4] bl sub_0207BE6C add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02078724: mov r1, r4 add r0, r7, r5 sub r2, r6, r5 bl ArrayCopy32 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0207873C: ldr r0, _0207878C ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _02078770 mov r4, #0 str r4, [sp] mov r1, r7 mov r3, r6 str r4, [sp, #4] bl sub_0207BE6C add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02078770: mov r1, r2 mov r0, r7 mov r2, r6 bl ArrayCopy32 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02078788: .word _022B95C4 _0207878C: .word _020B2B98 arm_func_end sub_02078650 arm_func_start sub_02078790 sub_02078790: ; 0x02078790 stmdb sp!, {r3, lr} ldr r0, _020787D4 ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _020787AC bl sub_0207C0FC _020787AC: ldr r0, _020787D8 ; =_022B95C4 ldr r0, [r0, #0x14] bl sub_020769F0 ldr r0, _020787D8 ; =_022B95C4 mov r1, #0 str r1, [r0, #0x1c] str r1, [r0, #0x18] str r1, [r0, #4] str r1, [r0, #0x14] ldmia sp!, {r3, pc} .align 2, 0 _020787D4: .word _020B2B98 _020787D8: .word _022B95C4 arm_func_end sub_02078790 arm_func_start sub_020787DC sub_020787DC: ; 0x020787DC stmdb sp!, {r3, lr} bl sub_02077158 mov r3, r0, asr #4 ldr r1, _02078808 ; =_022B95C4 ldr r2, _0207880C ; =_020AE0B4 mov r3, r3, lsl #1 ldrh r2, [r2, r3] str r0, [r1, #0xc] mov r0, r2, lsl #0xc str r0, [r1, #8] ldmia sp!, {r3, pc} .align 2, 0 _02078808: .word _022B95C4 _0207880C: .word _020AE0B4 arm_func_end sub_020787DC arm_func_start sub_02078810 sub_02078810: ; 0x02078810 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r3, _02078874 ; =_020B2B98 ldr lr, _02078878 ; =_022B95C4 ldr r4, [r3] mvn ip, #0 mov r6, r0 mov r5, r1 mov r3, r2 cmp r4, ip ldr lr, [lr, #8] beq _02078864 mov ip, #0 str ip, [sp] mov r0, r4 mov r1, r6 add r2, lr, r5 str ip, [sp, #4] bl sub_0207BE6C add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _02078864: add r1, lr, r5 bl ArrayCopy32 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02078874: .word _020B2B98 _02078878: .word _022B95C4 arm_func_end sub_02078810 arm_func_start sub_0207887C sub_0207887C: ; 0x0207887C stmdb sp!, {r3, lr} ldr r0, _020788B8 ; =_020B2B98 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _02078898 bl sub_0207C0FC _02078898: ldr r0, _020788BC ; =_022B95C4 ldr r0, [r0, #0xc] bl sub_02076BC8 ldr r0, _020788BC ; =_022B95C4 mov r1, #0 str r1, [r0, #0xc] str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _020788B8: .word _020B2B98 _020788BC: .word _022B95C4 arm_func_end sub_0207887C arm_func_start GeomGxFifoSendMtx4x3 GeomGxFifoSendMtx4x3: ; 0x020788C0 ldmia r0!, {r2, r3, ip} stmia r1, {r2, r3, ip} ldmia r0!, {r2, r3, ip} stmia r1, {r2, r3, ip} ldmia r0!, {r2, r3, ip} stmia r1, {r2, r3, ip} ldmia r0!, {r2, r3, ip} stmia r1, {r2, r3, ip} bx lr arm_func_end GeomGxFifoSendMtx4x3 arm_func_start sub_020788E4 sub_020788E4: ; 0x020788E4 stmdb sp!, {r4, r5, r6, r7, r8} ldmia r0!, {r2, r3, r4, r5, r6, r7, r8, ip} stmia r1, {r2, r3, r4, r5, r6, r7, r8, ip} ldmia r0!, {r2, r3, r4, r5, r6, r7, r8, ip} stmia r1, {r2, r3, r4, r5, r6, r7, r8, ip} ldmia sp!, {r4, r5, r6, r7, r8} bx lr arm_func_end sub_020788E4 arm_func_start sub_02078900 sub_02078900: ; 0x02078900 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r1 bl EnableIrqFlag cmp r5, #0 beq _02078930 ldr r1, _0207896C ; =OS_IRQTable mvn r2, r4 add r1, r1, #0x3000 ldr r3, [r1, #0xff8] and r2, r3, r2 str r2, [r1, #0xff8] _02078930: bl SetIrqFlag ldr r1, _0207896C ; =OS_IRQTable add r0, r1, #0x3000 ldr r0, [r0, #0xff8] tst r4, r0 ldmneia sp!, {r4, r5, r6, pc} add r0, r1, #0x3f8 ldr r5, _02078970 ; =DTCM_BSS add r6, r0, #0x3c00 _02078954: mov r0, r5 bl sub_02079888 ldr r0, [r6] tst r4, r0 beq _02078954 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207896C: .word OS_IRQTable _02078970: .word DTCM_BSS arm_func_end sub_02078900 arm_func_start sub_02078974 sub_02078974: ; 0x02078974 bx lr arm_func_end sub_02078974 arm_func_start sub_02078978 sub_02078978: ; 0x02078978 stmdb sp!, {r3, r4, r5, lr} mov r1, #0xc mul r5, r0, r1 ldr r2, _020789EC ; =_022B95E4 ldr r3, _020789F0 ; =_020B2B9C mov r4, r0, lsl #1 ldr r1, [r2, r5] mov r0, #0 ldrh r3, [r3, r4] mov r4, #1 str r0, [r2, r5] cmp r1, #0 mov r4, r4, lsl r3 beq _020789BC ldr r0, _020789F4 ; =_022B95EC ldr r0, [r0, r5] blx r1 _020789BC: ldr r0, _020789F8 ; =OS_IRQTable ldr r1, _020789FC ; =_022B95E8 add r0, r0, #0x3000 ldr r2, [r0, #0xff8] ldr r1, [r1, r5] orr r2, r2, r4 str r2, [r0, #0xff8] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r4 bl sub_02078C98 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020789EC: .word _022B95E4 _020789F0: .word _020B2B9C _020789F4: .word _022B95EC _020789F8: .word OS_IRQTable _020789FC: .word _022B95E8 arm_func_end sub_02078978 arm_func_start sub_02078A00 sub_02078A00: ; 0x02078A00 ldr ip, _02078A0C ; =sub_02078978 mov r0, #0 bx ip .align 2, 0 _02078A0C: .word sub_02078978 arm_func_end sub_02078A00 arm_func_start sub_02078A10 sub_02078A10: ; 0x02078A10 ldr ip, _02078A1C ; =sub_02078978 mov r0, #1 bx ip .align 2, 0 _02078A1C: .word sub_02078978 arm_func_end sub_02078A10 arm_func_start sub_02078A20 sub_02078A20: ; 0x02078A20 ldr ip, _02078A2C ; =sub_02078978 mov r0, #2 bx ip .align 2, 0 _02078A2C: .word sub_02078978 arm_func_end sub_02078A20 arm_func_start sub_02078A30 sub_02078A30: ; 0x02078A30 ldr ip, _02078A3C ; =sub_02078978 mov r0, #3 bx ip .align 2, 0 _02078A3C: .word sub_02078978 arm_func_end sub_02078A30 arm_func_start sub_02078A40 sub_02078A40: ; 0x02078A40 ldr ip, _02078A4C ; =sub_02078978 mov r0, #4 bx ip .align 2, 0 _02078A4C: .word sub_02078978 arm_func_end sub_02078A40 arm_func_start sub_02078A50 sub_02078A50: ; 0x02078A50 ldr ip, _02078A5C ; =sub_02078978 mov r0, #5 bx ip .align 2, 0 _02078A5C: .word sub_02078978 arm_func_end sub_02078A50 arm_func_start sub_02078A60 sub_02078A60: ; 0x02078A60 ldr ip, _02078A6C ; =sub_02078978 mov r0, #6 bx ip .align 2, 0 _02078A6C: .word sub_02078978 arm_func_end sub_02078A60 arm_func_start sub_02078A70 sub_02078A70: ; 0x02078A70 ldr ip, _02078A7C ; =sub_02078978 mov r0, #7 bx ip .align 2, 0 _02078A7C: .word sub_02078978 arm_func_end sub_02078A70 arm_func_start sub_02078A80 sub_02078A80: ; 0x02078A80 ldr r0, _02078A94 ; =DTCM_BSS mov r1, #0 str r1, [r0, #4] str r1, [r0] bx lr .align 2, 0 _02078A94: .word DTCM_BSS arm_func_end sub_02078A80 arm_func_start sub_02078A98 sub_02078A98: ; 0x02078A98 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, #0 mov r2, #0xc ldr r4, _02078B18 ; =OS_IRQTable ldr r6, _02078B1C ; =_022B95E4 mov r7, r8 mov lr, r8 mov ip, #1 mov r3, r2 _02078ABC: tst r0, #1 beq _02078B04 mov sb, r7 cmp r8, #8 blt _02078AE0 cmp r8, #0xb suble r5, r8, #8 mlale sb, r5, r3, r6 ble _02078AFC _02078AE0: cmp r8, #3 blt _02078AF8 cmp r8, #6 addle r5, r8, #1 mlale sb, r5, r2, r6 ble _02078AFC _02078AF8: str r1, [r4, r8, lsl #2] _02078AFC: cmp sb, #0 stmneia sb, {r1, ip, lr} _02078B04: add r8, r8, #1 cmp r8, #0x16 mov r0, r0, lsr #1 blt _02078ABC ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02078B18: .word OS_IRQTable _02078B1C: .word _022B95E4 arm_func_end sub_02078A98 arm_func_start sub_02078B20 sub_02078B20: ; 0x02078B20 ldr r2, _02078BA4 ; =OS_IRQTable mov r1, #0 _02078B28: tst r0, #1 beq _02078B88 cmp r1, #8 blt _02078B58 cmp r1, #0xb bgt _02078B58 sub r1, r1, #8 mov r0, #0xc mul r2, r1, r0 ldr r0, _02078BA8 ; =_022B95E4 ldr r0, [r0, r2] bx lr _02078B58: cmp r1, #3 blt _02078B80 cmp r1, #6 bgt _02078B80 add r1, r1, #1 mov r0, #0xc mul r2, r1, r0 ldr r0, _02078BA8 ; =_022B95E4 ldr r0, [r0, r2] bx lr _02078B80: ldr r0, [r2] bx lr _02078B88: add r1, r1, #1 cmp r1, #0x16 mov r0, r0, lsr #1 add r2, r2, #4 blt _02078B28 mov r0, #0 bx lr .align 2, 0 _02078BA4: .word OS_IRQTable _02078BA8: .word _022B95E4 arm_func_end sub_02078B20 arm_func_start sub_02078BAC sub_02078BAC: ; 0x02078BAC stmdb sp!, {r4, r5, r6, lr} mov r3, #0xc mul r6, r0, r3 ldr ip, _02078BE8 ; =_022B95E4 add r4, r0, #8 mov r5, #1 mov r0, r5, lsl r4 ldr r3, _02078BEC ; =_022B95EC str r1, [ip, r6] str r2, [r3, r6] bl sub_02078C68 and r1, r0, r5, lsl r4 ldr r0, _02078BF0 ; =_022B95E8 str r1, [r0, r6] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02078BE8: .word _022B95E4 _02078BEC: .word _022B95EC _02078BF0: .word _022B95E8 arm_func_end sub_02078BAC arm_func_start sub_02078BF4 sub_02078BF4: ; 0x02078BF4 stmdb sp!, {r4, lr} mov r3, #0xc mul r4, r0, r3 ldr ip, _02078C30 ; =_022B9614 add r0, r0, #3 mov r3, #1 mov r0, r3, lsl r0 ldr r3, _02078C34 ; =_022B961C str r1, [ip, r4] str r2, [r3, r4] bl sub_02078C68 ldr r0, _02078C38 ; =_022B9618 mov r1, #1 str r1, [r0, r4] ldmia sp!, {r4, pc} .align 2, 0 _02078C30: .word _022B9614 _02078C34: .word _022B961C _02078C38: .word _022B9618 arm_func_end sub_02078BF4 arm_func_start sub_02078C3C sub_02078C3C: ; 0x02078C3C ldr r3, _02078C64 ; =0x04000208 mov r1, #0 ldrh r2, [r3] strh r1, [r3] ldr r1, [r3, #8] str r0, [r3, #8] ldrh r0, [r3] mov r0, r1 strh r2, [r3] bx lr .align 2, 0 _02078C64: .word 0x04000208 arm_func_end sub_02078C3C arm_func_start sub_02078C68 sub_02078C68: ; 0x02078C68 ldr r3, _02078C94 ; =0x04000208 mov r1, #0 ldrh r2, [r3] strh r1, [r3] ldr r1, [r3, #8] orr r0, r1, r0 str r0, [r3, #8] ldrh r0, [r3] mov r0, r1 strh r2, [r3] bx lr .align 2, 0 _02078C94: .word 0x04000208 arm_func_end sub_02078C68 arm_func_start sub_02078C98 sub_02078C98: ; 0x02078C98 ldr ip, _02078CC4 ; =0x04000208 mov r2, #0 ldrh r3, [ip] mvn r1, r0 strh r2, [ip] ldr r0, [ip, #8] and r1, r0, r1 str r1, [ip, #8] ldrh r1, [ip] strh r3, [ip] bx lr .align 2, 0 _02078CC4: .word 0x04000208 arm_func_end sub_02078C98 arm_func_start sub_02078CC8 sub_02078CC8: ; 0x02078CC8 ldr r3, _02078CF0 ; =0x04000208 mov r1, #0 ldrh r2, [r3] strh r1, [r3] ldr r1, [r3, #0xc] str r0, [r3, #0xc] ldrh r0, [r3] mov r0, r1 strh r2, [r3] bx lr .align 2, 0 _02078CF0: .word 0x04000208 arm_func_end sub_02078CC8 arm_func_start sub_02078CF4 sub_02078CF4: ; 0x02078CF4 ldr ip, _02078D18 ; =OS_IRQTable ldr r3, _02078D1C ; =0xFDDB597D add r0, ip, #0x3000 ldr r2, _02078D20 ; =0x7BF9DD5B ldr r1, _02078D24 ; =0x00000800 str r3, [r0, #0xf7c] add r0, ip, #0x3f80 str r2, [r0, -r1] bx lr .align 2, 0 _02078D18: .word OS_IRQTable _02078D1C: .word 0xFDDB597D _02078D20: .word 0x7BF9DD5B _02078D24: .word 0x00000800 arm_func_end sub_02078CF4 arm_func_start sub_02078D28 sub_02078D28: ; 0x02078D28 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02078DE4 ; =_022B9644 ldr r0, [r3] cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _02078DE8 ; =0x027FFFF0 mov r4, #1 mov r2, #0 mov r0, #0x7e str r4, [r3] str r2, [r1] bl sub_02078E40 ldr r5, _02078DE8 ; =0x027FFFF0 ldrh r0, [r5, #6] cmp r0, #0 beq _02078D80 mov r4, #0x400 _02078D6C: mov r0, r4 blx SVC_WaitByLoop ldrh r0, [r5, #6] cmp r0, #0 bne _02078D6C _02078D80: ldr ip, _02078DEC ; =0x027FFFB0 mvn r0, #0 str r0, [ip] mov r3, r0, lsl #0x10 add r1, ip, #0x10 mov r0, #0 mov r2, #0x28 str r3, [ip, #4] bl ArrayFill32 ldr ip, _02078DF0 ; =0x04000204 ldr r1, _02078DE8 ; =0x027FFFF0 ldrh r3, [ip] mov r0, #0x7e mov r2, #0 orr r3, r3, #0x800 strh r3, [ip] ldrh r3, [ip] orr r3, r3, #0x80 strh r3, [ip] bl sub_02078EC4 ldr r1, _02078DE8 ; =0x027FFFF0 mov r0, #0x7f mov r2, #0 bl sub_02078E40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02078DE4: .word _022B9644 _02078DE8: .word 0x027FFFF0 _02078DEC: .word 0x027FFFB0 _02078DF0: .word 0x04000204 arm_func_end sub_02078D28 arm_func_start sub_02078DF4 sub_02078DF4: ; 0x02078DF4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 bl sub_02078ED4 cmp r0, #0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} mov r4, #0x400 _02078E18: mov r0, r4 blx SVC_WaitByLoop mov r0, r8 mov r1, r7 mov r2, r6 mov r3, r5 bl sub_02078ED4 cmp r0, #0 bgt _02078E18 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_02078DF4 arm_func_start sub_02078E40 sub_02078E40: ; 0x02078E40 ldr ip, _02078E4C ; =sub_02078DF4 mov r3, #0 bx ip .align 2, 0 _02078E4C: .word sub_02078DF4 arm_func_end sub_02078E40 arm_func_start sub_02078E50 sub_02078E50: ; 0x02078E50 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 ldrh r1, [r7, #4] mov r6, r2 mov r5, r3 cmp r0, r1 mvnne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} cmp r5, #0 beq _02078E80 bl EnableIrqFiqFlags b _02078E84 _02078E80: bl EnableIrqFlag _02078E84: mov r4, r0 mov r0, #0 strh r0, [r7, #4] cmp r6, #0 beq _02078E9C blx r6 _02078E9C: mov r0, #0 str r0, [r7] cmp r5, #0 mov r0, r4 beq _02078EB8 bl SetIrqFiqFlags b _02078EBC _02078EB8: bl SetIrqFlag _02078EBC: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02078E50 arm_func_start sub_02078EC4 sub_02078EC4: ; 0x02078EC4 ldr ip, _02078ED0 ; =sub_02078E50 mov r3, #0 bx ip .align 2, 0 _02078ED0: .word sub_02078E50 arm_func_end sub_02078EC4 arm_func_start sub_02078ED4 sub_02078ED4: ; 0x02078ED4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} movs r6, r3 mov sb, r0 mov r8, r1 mov r7, r2 beq _02078EF4 bl EnableIrqFiqFlags b _02078EF8 _02078EF4: bl EnableIrqFlag _02078EF8: mov r5, r0 mov r0, sb mov r1, r8 bl AtomicExchange movs r4, r0 bne _02078F20 cmp r7, #0 beq _02078F1C blx r7 _02078F1C: strh sb, [r8, #4] _02078F20: cmp r6, #0 mov r0, r5 beq _02078F34 bl SetIrqFiqFlags b _02078F38 _02078F34: bl SetIrqFlag _02078F38: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_02078ED4 arm_func_start sub_02078F40 sub_02078F40: ; 0x02078F40 ldr ip, _02078F54 ; =sub_02078E50 ldr r1, _02078F58 ; =0x027FFFE8 ldr r2, _02078F5C ; =sub_02078FA4 mov r3, #1 bx ip .align 2, 0 _02078F54: .word sub_02078E50 _02078F58: .word 0x027FFFE8 _02078F5C: .word sub_02078FA4 arm_func_end sub_02078F40 arm_func_start sub_02078F60 sub_02078F60: ; 0x02078F60 ldr r1, _02078F68 ; =sub_02078F40 bx r1 .align 2, 0 _02078F68: .word sub_02078F40 arm_func_end sub_02078F60 arm_func_start sub_02078F6C sub_02078F6C: ; 0x02078F6C ldr ip, _02078F80 ; =sub_02078ED4 ldr r1, _02078F84 ; =0x027FFFE8 ldr r2, _02078F88 ; =sub_02078F8C mov r3, #1 bx ip .align 2, 0 _02078F80: .word sub_02078ED4 _02078F84: .word 0x027FFFE8 _02078F88: .word sub_02078F8C arm_func_end sub_02078F6C arm_func_start sub_02078F8C sub_02078F8C: ; 0x02078F8C ldr r1, _02078FA0 ; =0x04000204 ldrh r0, [r1] bic r0, r0, #0x80 strh r0, [r1] bx lr .align 2, 0 _02078FA0: .word 0x04000204 arm_func_end sub_02078F8C arm_func_start sub_02078FA4 sub_02078FA4: ; 0x02078FA4 ldr r1, _02078FB8 ; =0x04000204 ldrh r0, [r1] orr r0, r0, #0x80 strh r0, [r1] bx lr .align 2, 0 _02078FB8: .word 0x04000204 arm_func_end sub_02078FA4 arm_func_start sub_02078FBC sub_02078FBC: ; 0x02078FBC ldr ip, _02078FCC ; =sub_02078E40 ldr r1, _02078FD0 ; =0x027FFFE0 ldr r2, _02078FD4 ; =sub_02078FF4 bx ip .align 2, 0 _02078FCC: .word sub_02078E40 _02078FD0: .word 0x027FFFE0 _02078FD4: .word sub_02078FF4 arm_func_end sub_02078FBC arm_func_start sub_02078FD8 sub_02078FD8: ; 0x02078FD8 ldr ip, _02078FE8 ; =sub_02078EC4 ldr r1, _02078FEC ; =0x027FFFE0 ldr r2, _02078FF0 ; =sub_0207900C bx ip .align 2, 0 _02078FE8: .word sub_02078EC4 _02078FEC: .word 0x027FFFE0 _02078FF0: .word sub_0207900C arm_func_end sub_02078FD8 arm_func_start sub_02078FF4 sub_02078FF4: ; 0x02078FF4 ldr r1, _02079008 ; =0x04000204 ldrh r0, [r1] bic r0, r0, #0x800 strh r0, [r1] bx lr .align 2, 0 _02079008: .word 0x04000204 arm_func_end sub_02078FF4 arm_func_start sub_0207900C sub_0207900C: ; 0x0207900C ldr r1, _02079020 ; =0x04000204 ldrh r0, [r1] orr r0, r0, #0x800 strh r0, [r1] bx lr .align 2, 0 _02079020: .word 0x04000204 arm_func_end sub_0207900C arm_func_start sub_02079024 sub_02079024: ; 0x02079024 ldrh r0, [r0, #4] bx lr arm_func_end sub_02079024 arm_func_start sub_0207902C sub_0207902C: ; 0x0207902C ldr r3, _0207908C ; =0x027FFFB0 ldr r1, [r3] clz r2, r1 cmp r2, #0x20 bne _02079044 b _02079048 _02079044: mov r0, #0x40 _02079048: bne _02079070 add r3, r3, #4 ldr r1, [r3] clz r2, r1 cmp r2, #0x20 ldr r0, _02079090 ; =0xFFFFFFFD beq _02079068 b _0207906C _02079068: bx lr _0207906C: mov r0, #0x60 _02079070: add r0, r0, r2 mov r1, #0x80000000 mov r1, r1, lsr r2 ldr r2, [r3] bic r2, r2, r1 str r2, [r3] bx lr .align 2, 0 _0207908C: .word 0x027FFFB0 _02079090: .word 0xFFFFFFFD arm_func_end sub_0207902C arm_func_start sub_02079094 sub_02079094: ; 0x02079094 ldr r3, _020790D8 ; =0x027FFFB0 cmp r0, #0x60 bpl _020790A4 b _020790A8 _020790A4: add r3, r3, #4 _020790A8: bpl _020790B0 b _020790B4 _020790B0: sub r0, r0, #0x60 _020790B4: bmi _020790BC b _020790C0 _020790BC: sub r0, r0, #0x40 _020790C0: mov r1, #0x80000000 mov r1, r1, lsr r0 ldr r2, [r3] orr r2, r2, r1 str r2, [r3] bx lr .align 2, 0 _020790D8: .word 0x027FFFB0 arm_func_end sub_02079094 arm_func_start sub_020790DC sub_020790DC: ; 0x020790DC stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl sub_02079104 ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end sub_020790DC arm_func_start sub_02079104 sub_02079104: ; 0x02079104 ldr ip, _02079118 ; =sub_02079144 mov r3, r2 mov r2, r1 mvn r1, #0x80000000 bx ip .align 2, 0 _02079118: .word sub_02079144 arm_func_end sub_02079104 arm_func_start sub_0207911C sub_0207911C: ; 0x0207911C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r3, sp, #0x10 bic r3, r3, #3 ldr r2, [sp, #0x10] add r3, r3, #4 bl sub_02079144 ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end sub_0207911C arm_func_start sub_02079144 sub_02079144: ; 0x02079144 ldr ip, _0207914C ; =sub_02085BD4 bx ip .align 2, 0 _0207914C: .word sub_02085BD4 arm_func_end sub_02079144 arm_func_start sub_02079150 sub_02079150: ; 0x02079150 ldr r1, _02079164 ; =_022B9648 ldr r0, [r1, #0x20] add r0, r0, #1 str r0, [r1, #0x20] bx lr .align 2, 0 _02079164: .word _022B9648 arm_func_end sub_02079150 arm_func_start sub_02079168 sub_02079168: ; 0x02079168 ldr ip, [r0] b _0207917C _02079170: cmp ip, r1 bxeq lr ldr ip, [ip, #0x80] _0207917C: cmp ip, #0 beq _02079194 ldr r3, [ip, #0x70] ldr r2, [r1, #0x70] cmp r3, r2 bls _02079170 _02079194: cmp ip, #0 bne _020791C0 ldr r2, [r0, #4] cmp r2, #0 streq r1, [r0] strne r1, [r2, #0x80] str r2, [r1, #0x7c] mov r2, #0 str r2, [r1, #0x80] str r1, [r0, #4] bx lr _020791C0: ldr r2, [ip, #0x7c] cmp r2, #0 streq r1, [r0] strne r1, [r2, #0x80] str r2, [r1, #0x7c] str ip, [r1, #0x80] str r1, [ip, #0x7c] bx lr arm_func_end sub_02079168 arm_func_start sub_020791E0 sub_020791E0: ; 0x020791E0 ldr r2, [r0] cmp r2, #0 beq _0207920C ldr r1, [r2, #0x80] str r1, [r0] cmp r1, #0 movne r0, #0 strne r0, [r1, #0x7c] moveq r1, #0 streq r1, [r0, #4] streq r1, [r2, #0x78] _0207920C: mov r0, r2 bx lr arm_func_end sub_020791E0 arm_func_start sub_02079214 sub_02079214: ; 0x02079214 ldr ip, [r0] mov r2, ip cmp ip, #0 beq _02079260 _02079224: cmp r2, r1 ldr r3, [r2, #0x80] bne _02079254 cmp ip, r2 ldr ip, [r2, #0x7c] streq r3, [r0] strne r3, [ip, #0x80] ldr r1, [r0, #4] cmp r1, r2 streq ip, [r0, #4] strne ip, [r3, #0x7c] b _02079260 _02079254: mov r2, r3 cmp r3, #0 bne _02079224 _02079260: mov r0, r2 bx lr arm_func_end sub_02079214 arm_func_start sub_02079268 sub_02079268: ; 0x02079268 ldr r2, [r0] cmp r2, #0 beq _02079290 ldr r1, [r2, #0x10] str r1, [r0] cmp r1, #0 movne r0, #0 strne r0, [r1, #0x14] moveq r1, #0 streq r1, [r0, #4] _02079290: mov r0, r2 bx lr arm_func_end sub_02079268 arm_func_start sub_02079298 sub_02079298: ; 0x02079298 stmdb sp!, {r3, lr} ldr r1, _020792F4 ; =_022B9648 mov ip, #0 ldr lr, [r1, #0x2c] mov r3, lr b _020792B8 _020792B0: mov ip, r3 ldr r3, [r3, #0x68] _020792B8: cmp r3, #0 beq _020792D0 ldr r2, [r3, #0x70] ldr r1, [r0, #0x70] cmp r2, r1 blo _020792B0 _020792D0: cmp ip, #0 ldrne r1, [ip, #0x68] strne r1, [r0, #0x68] strne r0, [ip, #0x68] ldmneia sp!, {r3, pc} ldr r1, _020792F4 ; =_022B9648 str lr, [r0, #0x68] str r0, [r1, #0x2c] ldmia sp!, {r3, pc} .align 2, 0 _020792F4: .word _022B9648 arm_func_end sub_02079298 arm_func_start sub_020792F8 sub_020792F8: ; 0x020792F8 ldr r1, _0207933C ; =_022B9648 mov r2, #0 ldr r1, [r1, #0x2c] b _02079310 _02079308: mov r2, r1 ldr r1, [r1, #0x68] _02079310: cmp r1, #0 cmpne r1, r0 bne _02079308 cmp r2, #0 ldrne r0, [r0, #0x68] strne r0, [r2, #0x68] bxne lr ldr r1, [r0, #0x68] ldr r0, _0207933C ; =_022B9648 str r1, [r0, #0x2c] bx lr .align 2, 0 _0207933C: .word _022B9648 arm_func_end sub_020792F8 arm_func_start sub_02079340 sub_02079340: ; 0x02079340 stmdb sp!, {r4, r5, r6, lr} ldr r0, _02079400 ; =_022B9648 ldr r1, [r0, #4] cmp r1, #0 ldmneia sp!, {r4, r5, r6, pc} ldrh r0, [r0, #0x26] ldr r4, _02079404 ; =_022B966C cmp r0, #0 bne _02079370 bl sub_0207B848 cmp r0, #0x12 bne _0207937C _02079370: mov r0, #1 strh r0, [r4] ldmia sp!, {r4, r5, r6, pc} _0207937C: ldr r0, _02079400 ; =_022B9648 ldr r0, [r0, #8] ldr r6, [r0] bl sub_02079968 mov r5, r0 cmp r6, r5 cmpne r5, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r6, #0x64] cmp r0, #2 beq _020793B8 mov r0, r6 bl sub_02079D08 cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} _020793B8: ldr r0, _02079400 ; =_022B9648 ldr r2, [r0] cmp r2, #0 beq _020793D4 mov r0, r6 mov r1, r5 blx r2 _020793D4: ldr r2, [r4, #0xc] cmp r2, #0 beq _020793EC mov r0, r6 mov r1, r5 blx r2 _020793EC: ldr r1, _02079400 ; =_022B9648 mov r0, r5 str r5, [r1, #0x28] bl sub_02079D54 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02079400: .word _022B9648 _02079404: .word _022B966C arm_func_end sub_02079340 arm_func_start sub_02079408 sub_02079408: ; 0x02079408 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _02079518 ; =_022B9648 ldr r1, [r0, #0xc] cmp r1, #0 addne sp, sp, #8 ldmneia sp!, {r3, pc} mov r2, #1 ldr r1, _0207951C ; =_022B9670 str r2, [r0, #0xc] str r1, [r0, #8] mov r1, #0x10 str r1, [r0, #0x164] mov r3, #0 str r3, [r0, #0x160] str r2, [r0, #0x158] str r3, [r0, #0x15c] ldr r2, _02079520 ; =0x00000000 ldr r1, _02079524 ; =_022B973C str r3, [r0, #0x168] str r1, [r0, #0x2c] str r1, [r0, #0x28] cmp r2, #0 ldrle r0, _02079528 ; =SDK_SECTION_ARENA_DTCM_START ble _0207947C ldr r1, _0207952C ; =OS_IRQTable ldr r0, _02079530 ; =0x00000800 add r1, r1, #0x3f80 sub r0, r1, r0 _0207947C: ldr r1, _0207952C ; =OS_IRQTable sub ip, r0, r2 add r2, r1, #0x3f80 ldr r0, _02079530 ; =0x00000800 ldr r1, _02079518 ; =_022B9648 sub r3, r2, r0 str r3, [r1, #0x188] str ip, [r1, #0x184] mov r0, #0 ldr r2, _02079534 ; =0xFDDB597D str r0, [r1, #0x18c] str r2, [r3, #-4] ldr r2, [r1, #0x184] ldr ip, _02079538 ; =0x7BF9DD5B ldr r3, _0207953C ; =_022B966C str ip, [r2] str r0, [r1, #0x194] str r0, [r1, #0x190] strh r0, [r1, #0x24] ldr r2, _02079540 ; =0x027FFFA0 strh r0, [r1, #0x26] str r3, [r2] bl sub_02079BDC mov r2, #0xc8 str r2, [sp] mov ip, #0x1f ldr r0, _02079544 ; =_022B967C ldr r1, _02079548 ; =_02079C04 ldr r3, _0207954C ; =_022B98C4 mov r2, #0 str ip, [sp, #4] bl sub_02079560 ldr r0, _02079518 ; =_022B9648 mov r1, #0x20 str r1, [r0, #0xa4] mov r1, #1 str r1, [r0, #0x98] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 _02079518: .word _022B9648 _0207951C: .word _022B9670 _02079520: .word 0x00000000 _02079524: .word _022B973C _02079528: .word SDK_SECTION_ARENA_DTCM_START _0207952C: .word OS_IRQTable _02079530: .word 0x00000800 _02079534: .word 0xFDDB597D _02079538: .word 0x7BF9DD5B _0207953C: .word _022B966C _02079540: .word 0x027FFFA0 _02079544: .word _022B967C _02079548: .word sub_02079C04 _0207954C: .word _022B98C4 arm_func_end sub_02079408 arm_func_start sub_02079550 sub_02079550: ; 0x02079550 ldr r0, _0207955C ; =_022B9654 ldr r0, [r0] bx lr .align 2, 0 _0207955C: .word _022B9654 arm_func_end sub_02079550 arm_func_start sub_02079560 sub_02079560: ; 0x02079560 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r5, r1 mov r7, r2 mov r6, r3 bl EnableIrqFlag mov r4, r0 bl sub_02079150 ldr r2, [sp, #0x1c] mov r1, #0 str r2, [r8, #0x70] str r0, [r8, #0x6c] str r1, [r8, #0x64] mov r0, r8 str r1, [r8, #0x74] bl sub_02079298 ldr r0, [sp, #0x18] mov r1, r5 str r6, [r8, #0x94] sub r5, r6, r0 sub r2, r6, #4 mov ip, #0 str r5, [r8, #0x90] str ip, [r8, #0x98] ldr r6, _02079650 ; =0xFDDB597D ldr r0, [r8, #0x94] ldr r3, _02079654 ; =0x7BF9DD5B str r6, [r0, #-4] ldr r0, [r8, #0x90] str r3, [r0] str ip, [r8, #0xa0] mov r0, r8 str ip, [r8, #0x9c] bl sub_02079C84 ldr r2, _02079658 ; =sub_0207965C str r7, [r8, #4] str r2, [r8, #0x3c] ldr r2, [sp, #0x18] add r1, r5, #4 mov r0, #0 sub r2, r2, #8 bl ArrayFill32 mov r1, #0 str r1, [r8, #0x84] str r1, [r8, #0x88] mov r0, r8 str r1, [r8, #0x8c] bl sub_02079C7C mov r0, #0 str r0, [r8, #0x78] str r0, [r8, #0x80] add r1, r8, #0xa4 mov r2, #0xc str r0, [r8, #0x7c] bl ArrayFill32 mov r1, #0 mov r0, r4 str r1, [r8, #0xb0] bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02079650: .word 0xFDDB597D _02079654: .word 0x7BF9DD5B _02079658: .word sub_0207965C arm_func_end sub_02079560 arm_func_start sub_0207965C sub_0207965C: ; 0x0207965C stmdb sp!, {r3, lr} bl EnableIrqFlag ldr r0, _02079678 ; =_022B9648 mov r1, #0 ldr r0, [r0, #0x28] bl sub_0207967C ldmia sp!, {r3, pc} .align 2, 0 _02079678: .word _022B9648 arm_func_end sub_0207965C arm_func_start sub_0207967C sub_0207967C: ; 0x0207967C stmdb sp!, {r3, r4, r5, lr} ldr r2, _020796D0 ; =_022B9648 mov r5, r0 ldr r2, [r2, #0x1c] mov r4, r1 cmp r2, #0 beq _020796C4 ldr r1, _020796D4 ; =sub_020796D8 bl sub_02079C84 str r4, [r5, #4] ldr r1, [r5] mov r0, r5 orr r1, r1, #0x80 str r1, [r5] mov r1, #1 str r1, [r5, #0x64] bl sub_02079D54 ldmia sp!, {r3, r4, r5, pc} _020796C4: mov r0, r4 bl sub_020796D8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020796D0: .word _022B9648 _020796D4: .word sub_020796D8 arm_func_end sub_0207967C arm_func_start sub_020796D8 sub_020796D8: ; 0x020796D8 stmdb sp!, {r3, lr} ldr r1, _0207970C ; =_022B9648 ldr r1, [r1, #8] ldr r3, [r1] ldr r2, [r3, #0xb4] cmp r2, #0 beq _02079704 mov r1, #0 str r1, [r3, #0xb4] blx r2 bl EnableIrqFlag _02079704: bl sub_02079710 ldmia sp!, {r3, pc} .align 2, 0 _0207970C: .word _022B9648 arm_func_end sub_020796D8 arm_func_start sub_02079710 sub_02079710: ; 0x02079710 stmdb sp!, {r4, lr} ldr r0, _02079768 ; =_022B9648 ldr r0, [r0, #8] ldr r4, [r0] bl sub_02079C14 mov r0, r4 bl sub_0207A128 ldr r0, [r4, #0x78] cmp r0, #0 beq _02079740 mov r1, r4 bl sub_02079214 _02079740: mov r0, r4 bl sub_020792F8 mov r1, #2 add r0, r4, #0x9c str r1, [r4, #0x64] bl sub_020798D8 bl sub_02079C48 bl sub_02079990 bl WaitForever2 ldmia sp!, {r4, pc} .align 2, 0 _02079768: .word _022B9648 arm_func_end sub_02079710 arm_func_start sub_0207976C sub_0207976C: ; 0x0207976C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag ldr r1, _020797E4 ; =_022B9648 mov r4, r0 ldr r0, [r1, #0x28] cmp r0, r5 bne _02079790 bl sub_02079710 _02079790: bl sub_02079C14 mov r0, r5 bl sub_0207A128 mov r0, r5 bl sub_020797E8 ldr r0, [r5, #0x78] cmp r0, #0 beq _020797B8 mov r1, r5 bl sub_02079214 _020797B8: mov r0, r5 bl sub_020792F8 mov r1, #2 add r0, r5, #0x9c str r1, [r5, #0x64] bl sub_020798D8 bl sub_02079C48 mov r0, r4 bl SetIrqFlag bl sub_02079990 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020797E4: .word _022B9648 arm_func_end sub_0207976C arm_func_start sub_020797E8 sub_020797E8: ; 0x020797E8 stmdb sp!, {r3, lr} ldr r0, [r0, #0xb0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_0207B1E8 ldmia sp!, {r3, pc} arm_func_end sub_020797E8 arm_func_start sub_02079800 sub_02079800: ; 0x02079800 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag ldr r1, [r5, #0x64] mov r4, r0 cmp r1, #2 beq _02079824 add r0, r5, #0x9c bl sub_02079888 _02079824: mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02079800 arm_func_start sub_02079830 sub_02079830: ; 0x02079830 ldr r0, [r0, #0x64] cmp r0, #2 moveq r0, #1 movne r0, #0 bx lr arm_func_end sub_02079830 arm_func_start sub_02079844 sub_02079844: ; 0x02079844 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r6, r0 bl EnableIrqFlag mov r4, r0 cmp r5, #0 beq _02079870 mov r0, r5 mov r1, r6 str r5, [r6, #0x78] bl sub_02079168 _02079870: mov r0, #0 str r0, [r6, #0x64] bl sub_02079340 mov r0, r4 bl SetIrqFlag ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02079844 arm_func_start sub_02079888 sub_02079888: ; 0x02079888 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 bl EnableIrqFlag ldr r1, _020798D4 ; =_022B9648 mov r4, r0 ldr r0, [r1, #8] cmp r6, #0 ldr r5, [r0] beq _020798BC mov r0, r6 mov r1, r5 str r6, [r5, #0x78] bl sub_02079168 _020798BC: mov r0, #0 str r0, [r5, #0x64] bl sub_02079340 mov r0, r4 bl SetIrqFlag ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020798D4: .word _022B9648 arm_func_end sub_02079888 arm_func_start sub_020798D8 sub_020798D8: ; 0x020798D8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 bl EnableIrqFlag ldr r1, [r7] mov r6, r0 cmp r1, #0 beq _02079934 beq _02079924 mov r5, #1 mov r4, #0 _02079900: mov r0, r7 bl sub_020791E0 str r5, [r0, #0x64] str r4, [r0, #0x78] str r4, [r0, #0x80] str r4, [r0, #0x7c] ldr r0, [r7] cmp r0, #0 bne _02079900 _02079924: mov r0, #0 str r0, [r7, #4] str r0, [r7] bl sub_02079340 _02079934: mov r0, r6 bl SetIrqFlag ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020798D8 arm_func_start sub_02079940 sub_02079940: ; 0x02079940 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag mov r1, #1 mov r4, r0 str r1, [r5, #0x64] bl sub_02079340 mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02079940 arm_func_start sub_02079968 sub_02079968: ; 0x02079968 ldr r0, _0207998C ; =_022B9648 ldr r0, [r0, #0x2c] b _02079978 _02079974: ldr r0, [r0, #0x68] _02079978: cmp r0, #0 ldrne r1, [r0, #0x64] cmpne r1, #1 bne _02079974 bx lr .align 2, 0 _0207998C: .word _022B9648 arm_func_end sub_02079968 arm_func_start sub_02079990 sub_02079990: ; 0x02079990 stmdb sp!, {r4, lr} bl EnableIrqFlag mov r4, r0 bl sub_02079340 mov r0, r4 bl SetIrqFlag ldmia sp!, {r4, pc} arm_func_end sub_02079990 arm_func_start sub_020799AC sub_020799AC: ; 0x020799AC stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _02079A60 ; =_022B9648 mov r4, #0 mov r5, r4 mov r6, r4 ldr r8, [r0, #0x28] bl EnableIrqFlag ldr r1, _02079A60 ; =_022B9648 mov r7, r0 ldr r1, [r1, #0x2c] mov r0, r4 cmp r1, #0 beq _02079A0C ldr r2, [r8, #0x70] _020799E4: cmp r1, r8 moveq r4, r0 ldr r0, [r1, #0x70] cmp r2, r0 moveq r5, r1 mov r0, r1 ldr r1, [r1, #0x68] addeq r6, r6, #1 cmp r1, #0 bne _020799E4 _02079A0C: cmp r6, #1 ble _02079A1C cmp r5, r8 bne _02079A28 _02079A1C: mov r0, r7 bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} _02079A28: cmp r4, #0 ldrne r0, [r8, #0x68] strne r0, [r4, #0x68] bne _02079A44 ldr r1, [r8, #0x68] ldr r0, _02079A60 ; =_022B9648 str r1, [r0, #0x2c] _02079A44: ldr r0, [r5, #0x68] str r0, [r8, #0x68] str r8, [r5, #0x68] bl sub_02079340 mov r0, r7 bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02079A60: .word _022B9648 arm_func_end sub_020799AC arm_func_start sub_02079A64 sub_02079A64: ; 0x02079A64 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r2, _02079B04 ; =_022B9648 mov r7, r0 mov r6, r1 ldr r8, [r2, #0x2c] mov r4, #0 bl EnableIrqFlag mov r5, r0 b _02079A90 _02079A88: mov r4, r8 ldr r8, [r8, #0x68] _02079A90: cmp r8, #0 cmpne r8, r7 bne _02079A88 cmp r8, #0 ldrne r0, _02079B08 ; =_022B967C cmpne r8, r0 bne _02079ABC mov r0, r5 bl SetIrqFlag mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02079ABC: ldr r0, [r8, #0x70] cmp r0, r6 beq _02079AF4 cmp r4, #0 ldrne r0, [r7, #0x68] strne r0, [r4, #0x68] bne _02079AE4 ldr r1, [r7, #0x68] ldr r0, _02079B04 ; =_022B9648 str r1, [r0, #0x2c] _02079AE4: mov r0, r7 str r6, [r7, #0x70] bl sub_02079298 bl sub_02079340 _02079AF4: mov r0, r5 bl SetIrqFlag mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02079B04: .word _022B9648 _02079B08: .word _022B967C arm_func_end sub_02079A64 arm_func_start sub_02079B0C sub_02079B0C: ; 0x02079B0C ldr r0, [r0, #0x70] bx lr arm_func_end sub_02079B0C arm_func_start sub_02079B14 sub_02079B14: ; 0x02079B14 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x34 mov r4, r0 add r0, sp, #8 bl sub_0207B040 ldr r0, _02079BB0 ; =_022B9648 ldr r0, [r0, #8] ldr r0, [r0] str r0, [sp, #4] bl EnableIrqFlag ldr r1, _02079BB4 ; =0x000082EA mov r2, #0 umull r5, r3, r4, r1 mla r3, r4, r2, r3 mla r3, r2, r1, r3 mov r1, r5, lsr #6 mov r4, r0 ldr r5, [sp, #4] add r0, sp, #8 add r2, sp, #4 str r0, [r5, #0xb0] str r2, [sp] mov r2, r3, lsr #6 orr r1, r1, r3, lsl #26 ldr r3, _02079BB8 ; =sub_02079BBC bl sub_0207B17C ldr r0, [sp, #4] cmp r0, #0 beq _02079BA0 mov r5, #0 _02079B8C: mov r0, r5 bl sub_02079888 ldr r0, [sp, #4] cmp r0, #0 bne _02079B8C _02079BA0: mov r0, r4 bl SetIrqFlag add sp, sp, #0x34 ldmia sp!, {r4, r5, pc} .align 2, 0 _02079BB0: .word _022B9648 _02079BB4: .word 0x000082EA _02079BB8: .word sub_02079BBC arm_func_end sub_02079B14 arm_func_start sub_02079BBC sub_02079BBC: ; 0x02079BBC ldr r2, [r0] mov r1, #0 str r1, [r0] ldr ip, _02079BD8 ; =sub_02079940 mov r0, r2 str r1, [r2, #0xb0] bx ip .align 2, 0 _02079BD8: .word sub_02079940 arm_func_end sub_02079BBC arm_func_start sub_02079BDC sub_02079BDC: ; 0x02079BDC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag ldr r1, _02079C00 ; =_022B9648 ldr r4, [r1, #0x30] str r5, [r1, #0x30] bl SetIrqFlag mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02079C00: .word _022B9648 arm_func_end sub_02079BDC arm_func_start sub_02079C04 sub_02079C04: ; 0x02079C04 stmdb sp!, {r3, lr} bl ClearIrqFlag _02079C0C: bl WaitForInterrupt b _02079C0C arm_func_end sub_02079C04 arm_func_start sub_02079C14 sub_02079C14: ; 0x02079C14 stmdb sp!, {r4, lr} bl EnableIrqFlag ldr r2, _02079C44 ; =_022B9648 mvn r1, #0 ldr r3, [r2, #4] cmp r3, r1 addlo r1, r3, #1 movlo r4, r3 strlo r1, [r2, #4] bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02079C44: .word _022B9648 arm_func_end sub_02079C14 arm_func_start sub_02079C48 sub_02079C48: ; 0x02079C48 stmdb sp!, {r4, lr} bl EnableIrqFlag ldr r1, _02079C78 ; =_022B9648 mov r4, #0 ldr r3, [r1, #4] cmp r3, #0 subne r2, r3, #1 movne r4, r3 strne r2, [r1, #4] bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _02079C78: .word _022B9648 arm_func_end sub_02079C48 arm_func_start sub_02079C7C sub_02079C7C: ; 0x02079C7C str r1, [r0, #0xb4] bx lr arm_func_end sub_02079C7C arm_func_start sub_02079C84 sub_02079C84: ; 0x02079C84 add r1, r1, #4 str r1, [r0, #0x40] str r2, [r0, #0x44] sub r2, r2, #0x40 tst r2, #4 bne _02079CA0 b _02079CA4 _02079CA0: sub r2, r2, #4 _02079CA4: str r2, [r0, #0x38] ands r1, r1, #1 bne _02079CB4 b _02079CB8 _02079CB4: mov r1, #0x3f _02079CB8: beq _02079CC0 b _02079CC4 _02079CC0: mov r1, #0x1f _02079CC4: str r1, [r0] mov r1, #0 str r1, [r0, #4] str r1, [r0, #8] str r1, [r0, #0xc] str r1, [r0, #0x10] str r1, [r0, #0x14] str r1, [r0, #0x18] str r1, [r0, #0x1c] str r1, [r0, #0x20] str r1, [r0, #0x24] str r1, [r0, #0x28] str r1, [r0, #0x2c] str r1, [r0, #0x30] str r1, [r0, #0x34] str r1, [r0, #0x3c] bx lr arm_func_end sub_02079C84 arm_func_start sub_02079D08 sub_02079D08: ; 0x02079D08 stmdb sp!, {r0, lr} add r0, r0, #0x48 ldr r1, _02079D50 ; =sub_02080EF0 blx r1 ldmia sp!, {r0, lr} add r1, r0, #0 mrs r2, cpsr str r2, [r1], #4 mov r0, #0xd3 msr cpsr_c, r0 str sp, [r1, #0x40] msr cpsr_c, r2 mov r0, #1 stmia r1, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, fp, ip, sp, lr} add r0, pc, #0x8 ; =_02079D50 str r0, [r1, #0x3c] mov r0, #0 bx lr .align 2, 0 _02079D50: .word sub_02080EF0 arm_func_end sub_02079D08 arm_func_start sub_02079D54 sub_02079D54: ; 0x02079D54 stmdb sp!, {r0, lr} add r0, r0, #0x48 ldr r1, _02079D94 ; =sub_02080F30 blx r1 ldmia sp!, {r0, lr} mrs r1, cpsr bic r1, r1, #0x1f orr r1, r1, #0xd3 msr cpsr_c, r1 ldr r1, [r0], #4 msr spsr_fsxc, r1 ldr sp, [r0, #0x40] ldr lr, [r0, #0x3c] ldmia r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, fp, ip, sp, lr} ^ mov r0, r0 subs pc, lr, #4 .align 2, 0 _02079D94: .word sub_02080F30 arm_func_end sub_02079D54 arm_func_start sub_02079D98 sub_02079D98: ; 0x02079D98 mov r0, #0 bx lr arm_func_end sub_02079D98 arm_func_start sub_02079DA0 sub_02079DA0: ; 0x02079DA0 ldr r0, _02079DB0 ; =0x82000001 ldr r1, _02079DB4 ; =_020B2BAC str r0, [r1] bx lr .align 2, 0 _02079DB0: .word 0x82000001 _02079DB4: .word _020B2BAC arm_func_end sub_02079DA0 arm_func_start sub_02079DB8 sub_02079DB8: ; 0x02079DB8 mov r3, #0 str r3, [r0, #4] str r3, [r0] str r3, [r0, #0xc] str r3, [r0, #8] str r1, [r0, #0x10] str r2, [r0, #0x14] str r3, [r0, #0x18] str r3, [r0, #0x1c] bx lr arm_func_end sub_02079DB8 arm_func_start sub_02079DE0 sub_02079DE0: ; 0x02079DE0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, r1 mov r7, r2 bl EnableIrqFlag ldr r2, [r5, #0x1c] ldr r1, [r5, #0x14] mov r6, r0 cmp r1, r2 bgt _02079E3C and r7, r7, #1 _02079E0C: cmp r7, #0 bne _02079E24 mov r0, r6 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02079E24: mov r0, r5 bl sub_02079888 ldr r2, [r5, #0x1c] ldr r1, [r5, #0x14] cmp r1, r2 ble _02079E0C _02079E3C: ldr r0, [r5, #0x18] add r0, r0, r2 bl __divsi3 ldr r2, [r5, #0x10] add r0, r5, #8 str r4, [r2, r1, lsl #2] ldr r1, [r5, #0x1c] add r1, r1, #1 str r1, [r5, #0x1c] bl sub_020798D8 mov r0, r6 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02079DE0 arm_func_start sub_02079E74 sub_02079E74: ; 0x02079E74 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 mov r7, r2 bl EnableIrqFlag ldr r1, [r6, #0x1c] mov r4, r0 cmp r1, #0 bne _02079EC8 and r7, r7, #1 _02079E9C: cmp r7, #0 bne _02079EB4 mov r0, r4 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02079EB4: add r0, r6, #8 bl sub_02079888 ldr r0, [r6, #0x1c] cmp r0, #0 beq _02079E9C _02079EC8: cmp r5, #0 beq _02079EE0 ldr r1, [r6, #0x10] ldr r0, [r6, #0x18] ldr r0, [r1, r0, lsl #2] str r0, [r5] _02079EE0: ldr r0, [r6, #0x18] ldr r1, [r6, #0x14] add r0, r0, #1 bl __divsi3 str r1, [r6, #0x18] ldr r1, [r6, #0x1c] mov r0, r6 sub r1, r1, #1 str r1, [r6, #0x1c] bl sub_020798D8 mov r0, r4 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02079E74 arm_func_start sub_02079F18 sub_02079F18: ; 0x02079F18 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 mov r7, r2 bl EnableIrqFlag ldr r1, [r6, #0x14] ldr r2, [r6, #0x1c] mov r4, r0 cmp r1, r2 bgt _02079F74 and r7, r7, #1 _02079F44: cmp r7, #0 bne _02079F5C mov r0, r4 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02079F5C: mov r0, r6 bl sub_02079888 ldr r1, [r6, #0x14] ldr r0, [r6, #0x1c] cmp r1, r0 ble _02079F44 _02079F74: ldr r0, [r6, #0x18] add r0, r0, r1 sub r0, r0, #1 bl __divsi3 str r1, [r6, #0x18] ldr r0, [r6, #0x10] str r5, [r0, r1, lsl #2] ldr r1, [r6, #0x1c] add r0, r6, #8 add r1, r1, #1 str r1, [r6, #0x1c] bl sub_020798D8 mov r0, r4 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02079F18 arm_func_start sub_02079FB4 sub_02079FB4: ; 0x02079FB4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 mov r7, r2 bl EnableIrqFlag ldr r1, [r6, #0x1c] mov r4, r0 cmp r1, #0 bne _0207A008 and r7, r7, #1 _02079FDC: cmp r7, #0 bne _02079FF4 mov r0, r4 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02079FF4: add r0, r6, #8 bl sub_02079888 ldr r0, [r6, #0x1c] cmp r0, #0 beq _02079FDC _0207A008: cmp r5, #0 beq _0207A020 ldr r1, [r6, #0x10] ldr r0, [r6, #0x18] ldr r0, [r1, r0, lsl #2] str r0, [r5] _0207A020: mov r0, r4 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_02079FB4 arm_func_start sub_0207A030 sub_0207A030: ; 0x0207A030 mov r1, #0 str r1, [r0, #4] str r1, [r0] str r1, [r0, #8] str r1, [r0, #0xc] bx lr arm_func_end sub_0207A030 arm_func_start sub_0207A048 sub_0207A048: ; 0x0207A048 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 bl EnableIrqFlag ldr r1, _0207A0C8 ; =_022B966C mov r4, r0 ldr r7, [r1, #4] mov r6, #0 _0207A064: ldr r0, [r5, #8] cmp r0, #0 bne _0207A090 str r7, [r5, #8] ldr r1, [r5, #0xc] mov r0, r7 add r2, r1, #1 mov r1, r5 str r2, [r5, #0xc] bl sub_0207A1D8 b _0207A0BC _0207A090: cmp r0, r7 bne _0207A0A8 ldr r0, [r5, #0xc] add r0, r0, #1 str r0, [r5, #0xc] b _0207A0BC _0207A0A8: mov r0, r5 str r5, [r7, #0x84] bl sub_02079888 str r6, [r7, #0x84] b _0207A064 _0207A0BC: mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0207A0C8: .word _022B966C arm_func_end sub_0207A048 arm_func_start sub_0207A0CC sub_0207A0CC: ; 0x0207A0CC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag ldr r1, _0207A124 ; =_022B966C mov r4, r0 ldr r0, [r1, #4] ldr r1, [r5, #8] cmp r1, r0 bne _0207A118 ldr r1, [r5, #0xc] subs r1, r1, #1 str r1, [r5, #0xc] bne _0207A118 mov r1, r5 bl sub_0207A1FC mov r1, #0 mov r0, r5 str r1, [r5, #8] bl sub_020798D8 _0207A118: mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207A124: .word _022B966C arm_func_end sub_0207A0CC arm_func_start sub_0207A128 sub_0207A128: ; 0x0207A128 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x88] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r4, #0 _0207A140: add r0, r5, #0x88 bl sub_02079268 str r4, [r0, #0xc] str r4, [r0, #8] bl sub_020798D8 ldr r0, [r5, #0x88] cmp r0, #0 bne _0207A140 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207A128 arm_func_start sub_0207A164 sub_0207A164: ; 0x0207A164 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 bl EnableIrqFlag ldr r2, [r5, #8] ldr r1, _0207A1D4 ; =_022B966C mov r4, r0 cmp r2, #0 ldr r0, [r1, #4] bne _0207A1A8 str r0, [r5, #8] ldr r2, [r5, #0xc] mov r1, r5 add r2, r2, #1 str r2, [r5, #0xc] bl sub_0207A1D8 mov r6, #1 b _0207A1C4 _0207A1A8: cmp r2, r0 movne r6, #0 bne _0207A1C4 ldr r0, [r5, #0xc] mov r6, #1 add r0, r0, #1 str r0, [r5, #0xc] _0207A1C4: mov r0, r4 bl SetIrqFlag mov r0, r6 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207A1D4: .word _022B966C arm_func_end sub_0207A164 arm_func_start sub_0207A1D8 sub_0207A1D8: ; 0x0207A1D8 ldr r2, [r0, #0x8c] cmp r2, #0 streq r1, [r0, #0x88] strne r1, [r2, #0x10] str r2, [r1, #0x14] mov r2, #0 str r2, [r1, #0x10] str r1, [r0, #0x8c] bx lr arm_func_end sub_0207A1D8 arm_func_start sub_0207A1FC sub_0207A1FC: ; 0x0207A1FC ldr r2, [r1, #0x10] ldr r1, [r1, #0x14] cmp r2, #0 streq r1, [r0, #0x8c] strne r1, [r2, #0x14] cmp r1, #0 streq r2, [r0, #0x88] strne r2, [r1, #0x10] bx lr arm_func_end sub_0207A1FC arm_func_start sub_0207A220 sub_0207A220: ; 0x0207A220 mrc p15, 0, r1, c1, c0, 0 and r0, r1, #4 mov r0, r0, lsr #2 orr r1, r1, #4 mcr p15, 0, r1, c1, c0, 0 bx lr arm_func_end sub_0207A220 arm_func_start sub_0207A238 sub_0207A238: ; 0x0207A238 mov r0, #0 mcr p15, 0, r0, c7, c6, 0 bx lr arm_func_end sub_0207A238 arm_func_start sub_0207A244 sub_0207A244: ; 0x0207A244 mov r1, #0 _0207A248: mov r0, #0 _0207A24C: orr r2, r1, r0 mcr p15, 0, r2, c7, c10, 2 add r0, r0, #0x20 cmp r0, #0x400 blt _0207A24C add r1, r1, #0x40000000 cmp r1, #0 bne _0207A248 bx lr arm_func_end sub_0207A244 arm_func_start sub_0207A270 sub_0207A270: ; 0x0207A270 mov ip, #0 mov r1, #0 _0207A278: mov r0, #0 _0207A27C: orr r2, r1, r0 mcr p15, 0, ip, c7, c10, 4 mcr p15, 0, r2, c7, c14, 2 add r0, r0, #0x20 cmp r0, #0x400 blt _0207A27C add r1, r1, #0x40000000 cmp r1, #0 bne _0207A278 bx lr arm_func_end sub_0207A270 arm_func_start sub_0207A2A4 sub_0207A2A4: ; 0x0207A2A4 add r1, r1, r0 bic r0, r0, #0x1f _0207A2AC: mcr p15, 0, r0, c7, c6, 1 add r0, r0, #0x20 cmp r0, r1 blt _0207A2AC bx lr arm_func_end sub_0207A2A4 arm_func_start sub_0207A2C0 sub_0207A2C0: ; 0x0207A2C0 add r1, r1, r0 bic r0, r0, #0x1f _0207A2C8: mcr p15, 0, r0, c7, c10, 1 add r0, r0, #0x20 cmp r0, r1 blt _0207A2C8 bx lr arm_func_end sub_0207A2C0 arm_func_start sub_0207A2DC sub_0207A2DC: ; 0x0207A2DC mov ip, #0 add r1, r1, r0 bic r0, r0, #0x1f _0207A2E8: mcr p15, 0, ip, c7, c10, 4 mcr p15, 0, r0, c7, c14, 1 add r0, r0, #0x20 cmp r0, r1 blt _0207A2E8 bx lr arm_func_end sub_0207A2DC arm_func_start sub_0207A300 sub_0207A300: ; 0x0207A300 mov r0, #0 mcr p15, 0, r0, c7, c10, 4 bx lr arm_func_end sub_0207A300 arm_func_start sub_0207A30C sub_0207A30C: ; 0x0207A30C mrc p15, 0, r1, c1, c0, 0 and r0, r1, #0x1000 mov r0, r0, lsr #0xc orr r1, r1, #0x1000 mcr p15, 0, r1, c1, c0, 0 bx lr arm_func_end sub_0207A30C arm_func_start sub_0207A324 sub_0207A324: ; 0x0207A324 mov r0, #0 mcr p15, 0, r0, c7, c5, 0 bx lr arm_func_end sub_0207A324 arm_func_start sub_0207A330 sub_0207A330: ; 0x0207A330 add r1, r1, r0 bic r0, r0, #0x1f _0207A338: mcr p15, 0, r0, c7, c5, 1 add r0, r0, #0x20 cmp r0, r1 blt _0207A338 bx lr arm_func_end sub_0207A330 arm_func_start sub_0207A34C sub_0207A34C: ; 0x0207A34C mov ip, #0x4000000 ldr r1, [ip, #0x208] str ip, [ip, #0x208] _0207A358: ldrh r0, [ip, #6] cmp r0, #0 bne _0207A358 str r1, [ip, #0x208] bx lr arm_func_end sub_0207A34C arm_func_start sub_0207A36C sub_0207A36C: ; 0x0207A36C stmdb sp!, {r3, lr} bl sub_0207A3B4 bl sub_0207D9A4 bl sub_02078D28 bl sub_0207A4B8 bl sub_02078A80 bl sub_02078CF4 bl sub_0207AB24 bl sub_0207C7C4 bl sub_0207B370 bl sub_0207BA94 bl sub_02079408 bl sub_0207B87C bl sub_02084A4C bl sub_02084304 bl sub_02081AC4 bl sub_0207A34C ldmia sp!, {r3, pc} arm_func_end sub_0207A36C arm_func_start sub_0207A3B4 sub_0207A3B4: ; 0x0207A3B4 stmdb sp!, {r3, lr} ldr r1, _0207A4B4 ; =_022B98C4 ldr r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} mov r2, #1 mov r0, #0 str r2, [r1] bl sub_0207A54C mov r1, r0 mov r0, #0 bl sub_0207A6D8 mov r0, #0 bl sub_0207A630 mov r1, r0 mov r0, #0 bl sub_0207A6EC mov r0, #2 mov r1, #0 bl sub_0207A6EC mov r0, #2 mov r1, #0 bl sub_0207A6D8 mov r0, #3 bl sub_0207A54C mov r1, r0 mov r0, #3 bl sub_0207A6D8 mov r0, #3 bl sub_0207A630 mov r1, r0 mov r0, #3 bl sub_0207A6EC mov r0, #4 bl sub_0207A54C mov r1, r0 mov r0, #4 bl sub_0207A6D8 mov r0, #4 bl sub_0207A630 mov r1, r0 mov r0, #4 bl sub_0207A6EC mov r0, #5 bl sub_0207A54C mov r1, r0 mov r0, #5 bl sub_0207A6D8 mov r0, #5 bl sub_0207A630 mov r1, r0 mov r0, #5 bl sub_0207A6EC mov r0, #6 bl sub_0207A54C mov r1, r0 mov r0, #6 bl sub_0207A6D8 mov r0, #6 bl sub_0207A630 mov r1, r0 mov r0, #6 bl sub_0207A6EC ldmia sp!, {r3, pc} .align 2, 0 _0207A4B4: .word _022B98C4 arm_func_end sub_0207A3B4 arm_func_start sub_0207A4B8 sub_0207A4B8: ; 0x0207A4B8 stmdb sp!, {r3, lr} mov r0, #2 bl sub_0207A54C mov r1, r0 mov r0, #2 bl sub_0207A6D8 mov r0, #2 bl sub_0207A630 mov r1, r0 mov r0, #2 bl sub_0207A6EC ldr r0, _0207A518 ; =_022B98C4 ldr r0, [r0, #4] cmp r0, #0 beq _0207A504 bl sub_02079DA0 and r0, r0, #3 cmp r0, #1 ldmneia sp!, {r3, pc} _0207A504: ldr r0, _0207A51C ; =_0200002B bl sub_0207AB14 ldr r0, _0207A520 ; =0x023E0021 bl sub_0207AB1C ldmia sp!, {r3, pc} .align 2, 0 _0207A518: .word _022B98C4 _0207A51C: .word _0200002B _0207A520: .word 0x023E0021 arm_func_end sub_0207A4B8 arm_func_start sub_0207A524 sub_0207A524: ; 0x0207A524 mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 ldr r0, [r0, #0xdc4] bx lr arm_func_end sub_0207A524 arm_func_start sub_0207A538 sub_0207A538: ; 0x0207A538 mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 ldr r0, [r0, #0xda0] bx lr arm_func_end sub_0207A538 arm_func_start sub_0207A54C sub_0207A54C: ; 0x0207A54C stmdb sp!, {r3, lr} cmp r0, #6 addls pc, pc, r0, lsl #2 b _0207A608 _0207A55C: ; jump table b _0207A578 ; case 0 b _0207A608 ; case 1 b _0207A580 ; case 2 b _0207A5B0 ; case 3 b _0207A5B8 ; case 4 b _0207A5F8 ; case 5 b _0207A600 ; case 6 _0207A578: ldr r0, _0207A610 ; =SDK_SECTION_ARENA_EX_START ldmia sp!, {r3, pc} _0207A580: ldr r0, _0207A614 ; =_022B98C4 ldr r0, [r0, #4] cmp r0, #0 beq _0207A5A0 bl sub_02079DA0 and r0, r0, #3 cmp r0, #1 bne _0207A5A8 _0207A5A0: mov r0, #0 ldmia sp!, {r3, pc} _0207A5A8: mov r0, #0x2700000 ldmia sp!, {r3, pc} _0207A5B0: mov r0, #0x2000000 ldmia sp!, {r3, pc} _0207A5B8: ldr r0, _0207A618 ; =OS_IRQTable ldr r1, _0207A61C ; =0x00000000 ldr r2, _0207A620 ; =0x00000800 add r3, r0, #0x3f80 cmp r1, #0 sub r2, r3, r2 bne _0207A5E4 ldr r1, _0207A624 ; =SDK_SECTION_ARENA_DTCM_START cmp r0, r1 movlo r0, r1 ldmia sp!, {r3, pc} _0207A5E4: cmp r1, #0 ldrlt r0, _0207A624 ; =SDK_SECTION_ARENA_DTCM_START sublt r0, r0, r1 subge r0, r2, r1 ldmia sp!, {r3, pc} _0207A5F8: ldr r0, _0207A628 ; =0x027FF680 ldmia sp!, {r3, pc} _0207A600: ldr r0, _0207A62C ; =0x037F8000 ldmia sp!, {r3, pc} _0207A608: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0207A610: .word SDK_SECTION_ARENA_EX_START _0207A614: .word _022B98C4 _0207A618: .word OS_IRQTable _0207A61C: .word 0x00000000 _0207A620: .word 0x00000800 _0207A624: .word SDK_SECTION_ARENA_DTCM_START _0207A628: .word 0x027FF680 _0207A62C: .word 0x037F8000 arm_func_end sub_0207A54C arm_func_start sub_0207A630 sub_0207A630: ; 0x0207A630 stmdb sp!, {r3, lr} cmp r0, #6 addls pc, pc, r0, lsl #2 b _0207A6B4 _0207A640: ; jump table b _0207A65C ; case 0 b _0207A6B4 ; case 1 b _0207A664 ; case 2 b _0207A694 ; case 3 b _0207A69C ; case 4 b _0207A6A4 ; case 5 b _0207A6AC ; case 6 _0207A65C: ldr r0, _0207A6BC ; =SDK_MAIN_ARENA_LO ldmia sp!, {r3, pc} _0207A664: ldr r0, _0207A6C0 ; =_022B98C4 ldr r0, [r0, #4] cmp r0, #0 beq _0207A684 bl sub_02079DA0 and r0, r0, #3 cmp r0, #1 bne _0207A68C _0207A684: mov r0, #0 ldmia sp!, {r3, pc} _0207A68C: ldr r0, _0207A6C4 ; =SDK_SECTION_ARENA_EX_START ldmia sp!, {r3, pc} _0207A694: ldr r0, _0207A6C8 ; =SDK_SECTION_ARENA_ITCM_START ldmia sp!, {r3, pc} _0207A69C: ldr r0, _0207A6CC ; =SDK_SECTION_ARENA_DTCM_START ldmia sp!, {r3, pc} _0207A6A4: ldr r0, _0207A6D0 ; =0x027FF000 ldmia sp!, {r3, pc} _0207A6AC: ldr r0, _0207A6D4 ; =0x037F8000 ldmia sp!, {r3, pc} _0207A6B4: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0207A6BC: .word SDK_MAIN_ARENA_LO _0207A6C0: .word _022B98C4 _0207A6C4: .word SDK_SECTION_ARENA_EX_START _0207A6C8: .word SDK_SECTION_ARENA_ITCM_START _0207A6CC: .word SDK_SECTION_ARENA_DTCM_START _0207A6D0: .word 0x027FF000 _0207A6D4: .word 0x037F8000 arm_func_end sub_0207A630 arm_func_start sub_0207A6D8 sub_0207A6D8: ; 0x0207A6D8 mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 str r1, [r0, #0xdc4] bx lr arm_func_end sub_0207A6D8 arm_func_start sub_0207A6EC sub_0207A6EC: ; 0x0207A6EC mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 str r1, [r0, #0xda0] bx lr arm_func_end sub_0207A6EC arm_func_start sub_0207A700 sub_0207A700: ; 0x0207A700 str r0, [r1, #4] mov r2, #0 str r2, [r1] cmp r0, #0 strne r1, [r0] mov r0, r1 bx lr arm_func_end sub_0207A700 arm_func_start sub_0207A71C sub_0207A71C: ; 0x0207A71C ldr r3, [r1, #4] cmp r3, #0 ldrne r2, [r1] strne r2, [r3] ldr r2, [r1] cmp r2, #0 ldreq r0, [r1, #4] ldrne r1, [r1, #4] strne r1, [r2, #4] bx lr arm_func_end sub_0207A71C arm_func_start sub_0207A744 sub_0207A744: ; 0x0207A744 stmdb sp!, {r3, lr} mov lr, r0 cmp r0, #0 mov ip, #0 beq _0207A770 _0207A758: cmp r1, lr bls _0207A770 mov ip, lr ldr lr, [lr, #4] cmp lr, #0 bne _0207A758 _0207A770: stmia r1, {ip, lr} cmp lr, #0 beq _0207A7AC str r1, [lr] ldr r3, [r1, #8] add r2, r1, r3 cmp r2, lr bne _0207A7AC ldr r2, [lr, #8] add r2, r3, r2 str r2, [r1, #8] ldr lr, [lr, #4] str lr, [r1, #4] cmp lr, #0 strne r1, [lr] _0207A7AC: cmp ip, #0 beq _0207A7E4 str r1, [ip, #4] ldr r2, [ip, #8] add r3, ip, r2 cmp r3, r1 ldmneia sp!, {r3, pc} ldr r1, [r1, #8] cmp lr, #0 add r1, r2, r1 str r1, [ip, #8] str lr, [ip, #4] strne ip, [lr] ldmia sp!, {r3, pc} _0207A7E4: mov r0, r1 ldmia sp!, {r3, pc} arm_func_end sub_0207A744 arm_func_start sub_0207A7EC sub_0207A7EC: ; 0x0207A7EC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 mov r5, r1 mov r7, r2 bl EnableIrqFlag ldr r1, _0207A8F0 ; =_022B98CC mov r6, r0 ldr r1, [r1, r4, lsl #2] cmp r1, #0 bne _0207A820 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0207A820: cmp r5, #0 ldrlt r5, [r1] ldr r1, [r1, #0x10] mov r0, #0xc mla r4, r5, r0, r1 ldr r0, [r4, #4] add r1, r7, #0x3f mov r5, r0 cmp r0, #0 bic r7, r1, #0x1f beq _0207A864 _0207A84C: ldr r1, [r5, #8] cmp r7, r1 ble _0207A864 ldr r5, [r5, #4] cmp r5, #0 bne _0207A84C _0207A864: cmp r5, #0 bne _0207A87C mov r0, r6 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0207A87C: ldr r1, [r5, #8] sub r1, r1, r7 cmp r1, #0x40 bhs _0207A89C mov r1, r5 bl sub_0207A71C str r0, [r4, #4] b _0207A8D0 _0207A89C: str r7, [r5, #8] add r2, r5, r7 str r1, [r2, #8] ldr r0, [r5] str r0, [r5, r7] ldr r0, [r5, #4] str r0, [r2, #4] cmp r0, #0 strne r2, [r0] ldr r0, [r2] cmp r0, #0 strne r2, [r0, #4] streq r2, [r4, #4] _0207A8D0: ldr r0, [r4, #8] mov r1, r5 bl sub_0207A700 str r0, [r4, #8] mov r0, r6 bl SetIrqFlag add r0, r5, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0207A8F0: .word _022B98CC arm_func_end sub_0207A7EC arm_func_start sub_0207A8F4 sub_0207A8F4: ; 0x0207A8F4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl EnableIrqFlag ldr r1, _0207A958 ; =_022B98CC mov r4, r0 ldr r0, [r1, r7, lsl #2] cmp r6, #0 ldrlt r6, [r0] ldr r1, [r0, #0x10] mov r0, #0xc mla r7, r6, r0, r1 sub r5, r5, #0x20 ldr r0, [r7, #8] mov r1, r5 bl sub_0207A71C str r0, [r7, #8] ldr r0, [r7, #4] mov r1, r5 bl sub_0207A744 str r0, [r7, #4] mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0207A958: .word _022B98CC arm_func_end sub_0207A8F4 arm_func_start sub_0207A95C sub_0207A95C: ; 0x0207A95C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl EnableIrqFlag ldr r1, _0207A988 ; =_022B98CC ldr r1, [r1, r4, lsl #2] ldr r4, [r1] str r5, [r1] bl SetIrqFlag mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207A988: .word _022B98CC arm_func_end sub_0207A95C arm_func_start sub_0207A98C sub_0207A98C: ; 0x0207A98C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r5, r1 mov r4, r2 mov r6, r3 bl EnableIrqFlag ldr r2, _0207AA30 ; =_022B98CC mov r1, #0xc str r5, [r2, r7, lsl #2] add r2, r5, #0x14 str r2, [r5, #0x10] mul r1, r6, r1 str r6, [r5, #4] cmp r6, #0 mov lr, #0 ble _0207AA00 mov r6, lr mvn ip, #0 mov r3, lr _0207A9D8: ldr r2, [r5, #0x10] add lr, lr, #1 str ip, [r2, r6] add r2, r2, r6 str r3, [r2, #8] str r3, [r2, #4] ldr r2, [r5, #4] add r6, r6, #0xc cmp lr, r2 blt _0207A9D8 _0207AA00: mvn r2, #0 str r2, [r5] ldr r3, [r5, #0x10] bic r2, r4, #0x1f add r1, r3, r1 add r1, r1, #0x1f bic r1, r1, #0x1f str r1, [r5, #8] str r2, [r5, #0xc] bl SetIrqFlag ldr r0, [r5, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0207AA30: .word _022B98CC arm_func_end sub_0207A98C arm_func_start sub_0207AA34 sub_0207AA34: ; 0x0207AA34 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r6, r1 mov r5, r2 bl EnableIrqFlag ldr r2, _0207AAC8 ; =_022B98CC add r1, r6, #0x1f ldr r2, [r2, r4, lsl #2] bic r6, r1, #0x1f ldr ip, [r2, #4] bic r5, r5, #0x1f cmp ip, #0 mov r4, #0 ble _0207AABC ldr r3, [r2, #0x10] _0207AA70: ldr r1, [r3] cmp r1, #0 bge _0207AAAC sub r1, r5, r6 str r1, [r3] mov r2, #0 str r2, [r6] str r2, [r6, #4] ldr r1, [r3] str r1, [r6, #8] str r6, [r3, #4] str r2, [r3, #8] bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, r5, r6, pc} _0207AAAC: add r4, r4, #1 cmp r4, ip add r3, r3, #0xc blt _0207AA70 _0207AABC: bl SetIrqFlag mvn r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207AAC8: .word _022B98CC arm_func_end sub_0207AA34 arm_func_start sub_0207AACC sub_0207AACC: ; 0x0207AACC mrc p15, 0, r0, c9, c1, 0 ldr r1, _0207AADC ; =0xFFFFF000 and r0, r0, r1 bx lr .align 2, 0 _0207AADC: .word 0xFFFFF000 arm_func_end sub_0207AACC arm_func_start sub_0207AAE0 sub_0207AAE0: ; 0x0207AAE0 mrc p15, 0, r0, c1, c0, 0 orr r0, r0, #1 mcr p15, 0, r0, c1, c0, 0 bx lr arm_func_end sub_0207AAE0 arm_func_start sub_0207AAF0 sub_0207AAF0: ; 0x0207AAF0 mrc p15, 0, r0, c1, c0, 0 bic r0, r0, #1 mcr p15, 0, r0, c1, c0, 0 bx lr arm_func_end sub_0207AAF0 arm_func_start sub_0207AB00 sub_0207AB00: ; 0x0207AB00 mrc p15, 0, r2, c5, c0, 2 bic r2, r2, r0 orr r2, r2, r1 mcr p15, 0, r2, c5, c0, 2 bx lr arm_func_end sub_0207AB00 arm_func_start sub_0207AB14 sub_0207AB14: ; 0x0207AB14 mcr p15, 0, r0, c6, c1, 0 bx lr arm_func_end sub_0207AB14 arm_func_start sub_0207AB1C sub_0207AB1C: ; 0x0207AB1C mcr p15, 0, r0, c6, c2, 0 bx lr arm_func_end sub_0207AB1C arm_func_start sub_0207AB24 sub_0207AB24: ; 0x0207AB24 ldr r0, _0207AB84 ; =0x027FFD9C ldr r1, [r0] cmp r1, #0x2600000 blo _0207AB44 cmp r1, #0x2800000 ldrlo r0, _0207AB88 ; =_022B98F0 strlo r1, [r0] blo _0207AB50 _0207AB44: ldr r0, _0207AB88 ; =_022B98F0 mov r1, #0 str r1, [r0] _0207AB50: ldr r0, _0207AB88 ; =_022B98F0 ldr r0, [r0] cmp r0, #0 bne _0207AB74 ldr r2, _0207AB8C ; =sub_0207AB94 ldr r1, _0207AB84 ; =0x027FFD9C ldr r0, _0207AB90 ; =0x027E3000 str r2, [r1] str r2, [r0, #0xfdc] _0207AB74: ldr r0, _0207AB88 ; =_022B98F0 mov r1, #0 str r1, [r0, #8] bx lr .align 2, 0 _0207AB84: .word 0x027FFD9C _0207AB88: .word _022B98F0 _0207AB8C: .word sub_0207AB94 _0207AB90: .word 0x027E3000 arm_func_end sub_0207AB24 arm_func_start sub_0207AB94 sub_0207AB94: ; 0x0207AB94 ldr ip, _0207AC10 ; =_022B98F0 ldr ip, [ip] cmp ip, #0 bne _0207ABA8 b _0207ABAC _0207ABA8: mov lr, pc _0207ABAC: bne _0207ABB4 b _0207ABB8 _0207ABB4: bx ip _0207ABB8: ldr ip, _0207AC14 ; =_02000000 stmdb ip!, {r0, r1, r2, r3, sp, lr} and r0, sp, #1 mov sp, ip mrs r1, cpsr and r1, r1, #0x1f teq r1, #0x17 bne _0207ABE0 bl sub_0207AC18 b _0207ABEC _0207ABE0: teq r1, #0x1b bne _0207ABEC bl sub_0207AC18 _0207ABEC: ldr ip, _0207AC10 ; =_022B98F0 ldr ip, [ip] cmp ip, #0 _0207ABF8: beq _0207ABF8 _0207ABFC: mov r0, r0 b _0207ABFC _0207AC04: ldmia sp!, {r0, r1, r2, r3, ip, lr} mov sp, ip bx lr .align 2, 0 _0207AC10: .word _022B98F0 _0207AC14: .word _secure arm_func_end sub_0207AB94 arm_func_start sub_0207AC18 sub_0207AC18: ; 0x0207AC18 stmdb sp!, {r0, lr} bl sub_0207AC2C bl sub_0207ACBC ldmia sp!, {r0, lr} bx lr arm_func_end sub_0207AC18 arm_func_start sub_0207AC2C sub_0207AC2C: ; 0x0207AC2C ldr r1, _0207ACB8 ; =_022B991C mrs r2, cpsr str r2, [r1, #0x74] str r0, [r1, #0x6c] ldr r0, [ip] str r0, [r1, #4] ldr r0, [ip, #4] str r0, [r1, #8] ldr r0, [ip, #8] str r0, [r1, #0xc] ldr r0, [ip, #0xc] str r0, [r1, #0x10] ldr r2, [ip, #0x10] bic r2, r2, #1 add r0, r1, #0x14 stmia r0, {r4, r5, r6, r7, r8, sb, sl, fp} str ip, [r1, #0x70] ldr r0, [r2] str r0, [r1, #0x64] ldr r3, [r2, #4] str r3, [r1] ldr r0, [r2, #8] str r0, [r1, #0x34] ldr r0, [r2, #0xc] str r0, [r1, #0x40] mrs r0, cpsr orr r3, r3, #0x80 bic r3, r3, #0x20 msr cpsr_fsxc, r3 str sp, [r1, #0x38] str lr, [r1, #0x3c] mrs r2, spsr str r2, [r1, #0x7c] msr cpsr_fsxc, r0 bx lr .align 2, 0 _0207ACB8: .word _022B991C arm_func_end sub_0207AC2C arm_func_start sub_0207ACBC sub_0207ACBC: ; 0x0207ACBC stmdb sp!, {r3, lr} ldr r0, _0207AD20 ; =_022B98F0 ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r3, pc} mrs r2, cpsr mov r0, sp ldr r1, _0207AD24 ; =0x0000009F msr cpsr_fsxc, r1 mov r1, sp mov sp, r0 stmdb sp!, {r1, r2} bl sub_0207AAE0 ldr r0, _0207AD28 ; =_022B991C ldr r1, _0207AD2C ; =_022B98F4 ldr r1, [r1] ldr ip, _0207AD30 ; =_022B98F8 ldr ip, [ip] ldr lr, _0207AD34 ; =_0207AD0C bx ip _0207AD0C: bl sub_0207AAF0 ldmia sp!, {r1, r2} mov sp, r1 msr cpsr_fsxc, r2 ldmia sp!, {r3, pc} .align 2, 0 _0207AD20: .word _022B98F0 _0207AD24: .word 0x0000009F _0207AD28: .word _022B991C _0207AD2C: .word _022B98F4 _0207AD30: .word _022B98F8 _0207AD34: .word _0207AD0C arm_func_end sub_0207ACBC arm_func_start sub_0207AD38 sub_0207AD38: ; 0x0207AD38 ldr r1, _0207AD50 ; =_022B999C mov r2, #1 ldrh r3, [r1] orr r0, r3, r2, lsl r0 strh r0, [r1] bx lr .align 2, 0 _0207AD50: .word _022B999C arm_func_end sub_0207AD38 arm_func_start sub_0207AD54 sub_0207AD54: ; 0x0207AD54 stmdb sp!, {r3, lr} ldr r1, _0207ADC0 ; =_022B99A0 ldrh r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} mov r2, #1 mov r0, #0 strh r2, [r1] bl sub_0207AD38 ldr r0, _0207ADC0 ; =_022B99A0 mov r2, #0 str r2, [r0, #8] ldr r3, _0207ADC4 ; =0x04000102 str r2, [r0, #0xc] strh r2, [r3] ldr r1, _0207ADC8 ; =sub_0207ADDC strh r2, [r3, #-2] mov r2, #0xc1 mov r0, #8 strh r2, [r3] bl sub_02078A98 mov r0, #8 bl sub_02078C68 ldr r0, _0207ADC0 ; =_022B99A0 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _0207ADC0: .word _022B99A0 _0207ADC4: .word 0x04000102 _0207ADC8: .word sub_0207ADDC arm_func_end sub_0207AD54 arm_func_start sub_0207ADCC sub_0207ADCC: ; 0x0207ADCC ldr r0, _0207ADD8 ; =_022B99A0 ldrh r0, [r0] bx lr .align 2, 0 _0207ADD8: .word _022B99A0 arm_func_end sub_0207ADCC arm_func_start sub_0207ADDC sub_0207ADDC: ; 0x0207ADDC ldr r0, _0207AE34 ; =_022B99A0 mov r3, #0 ldr r2, [r0, #8] ldr r1, [r0, #0xc] adds r2, r2, #1 str r2, [r0, #8] adc r1, r1, #0 str r1, [r0, #0xc] ldr r1, [r0, #4] cmp r1, #0 beq _0207AE20 ldr r2, _0207AE38 ; =0x04000102 mov r1, #0xc1 strh r3, [r2] strh r3, [r2, #-2] strh r1, [r2] str r3, [r0, #4] _0207AE20: ldr ip, _0207AE3C ; =sub_02078BF4 mov r0, #0 ldr r1, _0207AE40 ; =sub_0207ADDC mov r2, r0 bx ip .align 2, 0 _0207AE34: .word _022B99A0 _0207AE38: .word 0x04000102 _0207AE3C: .word sub_02078BF4 _0207AE40: .word sub_0207ADDC arm_func_end sub_0207ADDC arm_func_start sub_0207AE44 sub_0207AE44: ; 0x0207AE44 stmdb sp!, {lr} sub sp, sp, #0xc bl EnableIrqFlag ldr lr, _0207AED8 ; =0x04000100 ldr r2, _0207AEDC ; =0x0000FFFF ldrh ip, [lr] ldr r3, _0207AEE0 ; =_022B99A0 sub r1, r2, #0x10000 strh ip, [sp] ldr ip, [r3, #8] ldr r3, [r3, #0xc] and ip, ip, r1 and r1, r3, r2 str ip, [sp, #4] str r1, [sp, #8] ldr r1, [lr, #0x114] tst r1, #8 beq _0207AEB0 ldrh r1, [sp] tst r1, #0x8000 bne _0207AEB0 ldr r2, [sp, #4] ldr r1, [sp, #8] adds r2, r2, #1 adc r1, r1, #0 str r2, [sp, #4] str r1, [sp, #8] _0207AEB0: bl SetIrqFlag ldr r2, [sp, #4] ldr r1, [sp, #8] ldrh r0, [sp] mov r1, r1, lsl #0x10 orr r1, r1, r2, lsr #16 orr r1, r1, r0, asr #31 orr r0, r0, r2, lsl #16 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _0207AED8: .word 0x04000100 _0207AEDC: .word 0x0000FFFF _0207AEE0: .word _022B99A0 arm_func_end sub_0207AE44 arm_func_start sub_0207AEE4 sub_0207AEE4: ; 0x0207AEE4 ldr r0, _0207AEF0 ; =0x04000100 ldrh r0, [r0] bx lr .align 2, 0 _0207AEF0: .word 0x04000100 arm_func_end sub_0207AEE4 arm_func_start sub_0207AEF4 sub_0207AEF4: ; 0x0207AEF4 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r1 bl EnableIrqFlag mov r3, r5, lsr #0x10 mov ip, #1 rsb r1, ip, #0x10000 ldr lr, _0207AF58 ; =0x04000214 mov r6, #8 ldr r2, _0207AF5C ; =_022B99A0 str r6, [lr] str ip, [r2, #4] orr r3, r3, r4, lsl #16 str r3, [r2, #8] mov r4, r4, lsr #0x10 ldr r3, _0207AF60 ; =0x04000102 str r4, [r2, #0xc] mov r2, #0 strh r2, [r3] and r1, r5, r1 strh r1, [r3, #-2] mov r1, #0xc1 strh r1, [r3] bl SetIrqFlag ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207AF58: .word 0x04000214 _0207AF5C: .word _022B99A0 _0207AF60: .word 0x04000102 arm_func_end sub_0207AEF4 arm_func_start sub_0207AF64 sub_0207AF64: ; 0x0207AF64 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl sub_0207AE44 ldr r3, _0207AFE0 ; =0x04000106 mov r2, #0 strh r2, [r3] ldr ip, [r4, #0xc] ldr r3, [r4, #0x10] subs r5, ip, r0 sbc r4, r3, r1 ldr r1, _0207AFE4 ; =sub_0207B270 mov r0, #1 bl sub_02078BF4 subs r0, r5, #0 mov r3, #0 sbcs r0, r4, #0 ldrlt r3, _0207AFE8 ; =0x0000FFFE blt _0207AFC4 subs r0, r5, #0x10000 sbcs r0, r4, r3 bge _0207AFC4 mvn r0, r5 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 _0207AFC4: ldr r2, _0207AFEC ; =0x04000104 mov r1, #0xc1 strh r3, [r2] mov r0, #0x10 strh r1, [r2, #2] bl sub_02078C68 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207AFE0: .word 0x04000106 _0207AFE4: .word sub_0207B270 _0207AFE8: .word 0x0000FFFE _0207AFEC: .word 0x04000104 arm_func_end sub_0207AF64 arm_func_start sub_0207AFF0 sub_0207AFF0: ; 0x0207AFF0 stmdb sp!, {r3, lr} ldr r1, _0207B02C ; =_022B99B0 ldrh r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #1 strh r0, [r1] bl sub_0207AD38 ldr r1, _0207B02C ; =_022B99B0 mov r2, #0 str r2, [r1, #4] mov r0, #0x10 str r2, [r1, #8] bl sub_02078C98 ldmia sp!, {r3, pc} .align 2, 0 _0207B02C: .word _022B99B0 arm_func_end sub_0207AFF0 arm_func_start sub_0207B030 sub_0207B030: ; 0x0207B030 ldr r0, _0207B03C ; =_022B99B0 ldrh r0, [r0] bx lr .align 2, 0 _0207B03C: .word _022B99B0 arm_func_end sub_0207B030 arm_func_start sub_0207B040 sub_0207B040: ; 0x0207B040 mov r1, #0 str r1, [r0] str r1, [r0, #8] bx lr arm_func_end sub_0207B040 arm_func_start sub_0207B050 sub_0207B050: ; 0x0207B050 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 ldr r0, [r8, #0x20] ldr r3, [r8, #0x1c] cmp r0, #0 mov r7, r1 mov r6, r2 cmpeq r3, #0 beq _0207B0C4 bl sub_0207AE44 ldr r6, [r8, #0x28] ldr r7, [r8, #0x24] cmp r6, r1 cmpeq r7, r0 bhs _0207B0C4 ldr r5, [r8, #0x1c] ldr r4, [r8, #0x20] subs r0, r0, r7 mov r2, r5 mov r3, r4 sbc r1, r1, r6 bl sub_0208FE3C adds r2, r0, #1 adc r0, r1, #0 umull r3, r1, r5, r2 mla r1, r5, r0, r1 mla r1, r4, r2, r1 adds r7, r7, r3 adc r6, r6, r1 _0207B0C4: str r7, [r8, #0xc] ldr r0, _0207B178 ; =_022B99B0 str r6, [r8, #0x10] ldr r5, [r0, #4] cmp r5, #0 beq _0207B140 mov r2, #0 mov r1, r2 _0207B0E4: ldr r3, [r5, #0xc] ldr r0, [r5, #0x10] subs r4, r7, r3 sbc r3, r6, r0 subs r0, r4, r1 sbcs r0, r3, r2 bge _0207B134 ldr r0, [r5, #0x14] str r0, [r8, #0x14] str r8, [r5, #0x14] str r5, [r8, #0x18] ldr r0, [r8, #0x14] cmp r0, #0 strne r8, [r0, #0x18] ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, _0207B178 ; =_022B99B0 mov r0, r8 str r8, [r1, #4] bl sub_0207AF64 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207B134: ldr r5, [r5, #0x18] cmp r5, #0 bne _0207B0E4 _0207B140: ldr r1, _0207B178 ; =_022B99B0 mov r0, #0 str r0, [r8, #0x18] ldr r0, [r1, #8] str r8, [r1, #8] str r0, [r8, #0x14] cmp r0, #0 strne r8, [r0, #0x18] ldmneia sp!, {r4, r5, r6, r7, r8, pc} str r8, [r1, #8] mov r0, r8 str r8, [r1, #4] bl sub_0207AF64 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0207B178: .word _022B99B0 arm_func_end sub_0207B050 arm_func_start sub_0207B17C sub_0207B17C: ; 0x0207B17C stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r0 mov r5, r1 mov r4, r2 mov r7, r3 beq _0207B1A0 ldr r0, [r6] cmp r0, #0 beq _0207B1A4 _0207B1A0: bl WaitForever2 _0207B1A4: bl EnableIrqFlag mov r1, #0 str r1, [r6, #0x1c] str r1, [r6, #0x20] str r7, [r6] ldr r1, [sp, #0x18] mov r7, r0 str r1, [r6, #4] bl sub_0207AE44 adds r3, r5, r0 adc r2, r4, r1 mov r0, r6 mov r1, r3 bl sub_0207B050 mov r0, r7 bl SetIrqFlag ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0207B17C arm_func_start sub_0207B1E8 sub_0207B1E8: ; 0x0207B1E8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag ldr r1, [r5] mov r4, r0 cmp r1, #0 bne _0207B20C bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} _0207B20C: ldr r0, [r5, #0x18] cmp r0, #0 ldrne r1, [r5, #0x14] strne r1, [r0, #0x14] bne _0207B22C ldr r2, [r5, #0x14] ldr r1, _0207B26C ; =_022B99B0 str r2, [r1, #8] _0207B22C: ldr r1, [r5, #0x14] cmp r1, #0 strne r0, [r1, #0x18] bne _0207B250 ldr r1, _0207B26C ; =_022B99B0 cmp r0, #0 str r0, [r1, #4] beq _0207B250 bl sub_0207AF64 _0207B250: mov r1, #0 str r1, [r5] str r1, [r5, #0x1c] mov r0, r4 str r1, [r5, #0x20] bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207B26C: .word _022B99B0 arm_func_end sub_0207B1E8 arm_func_start sub_0207B270 sub_0207B270: ; 0x0207B270 stmdb sp!, {r0, lr} bl sub_0207B280 ldmia sp!, {r0, lr} bx lr arm_func_end sub_0207B270 arm_func_start sub_0207B280 sub_0207B280: ; 0x0207B280 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0207B364 ; =0x04000106 mov r2, #0 mov r0, #0x10 strh r2, [r1] bl sub_02078C98 ldr r0, _0207B368 ; =OS_IRQTable add r0, r0, #0x3000 ldr r1, [r0, #0xff8] orr r1, r1, #0x10 str r1, [r0, #0xff8] bl sub_0207AE44 ldr r2, _0207B36C ; =_022B99B0 ldr r4, [r2, #4] cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r3, [r4, #0x10] ldr ip, [r4, #0xc] cmp r1, r3 cmpeq r0, ip bhs _0207B2E0 mov r0, r4 bl sub_0207AF64 ldmia sp!, {r3, r4, r5, pc} _0207B2E0: ldr r1, [r4, #0x18] mov r0, #0 str r1, [r2, #4] cmp r1, #0 streq r0, [r2, #8] strne r0, [r1, #0x14] ldr r0, [r4, #0x20] ldr r1, [r4, #0x1c] cmp r0, #0 ldr r5, [r4] mov r0, #0 cmpeq r1, #0 streq r0, [r4] cmp r5, #0 beq _0207B324 ldr r0, [r4, #4] blx r5 _0207B324: ldr r0, [r4, #0x20] ldr r1, [r4, #0x1c] cmp r0, #0 cmpeq r1, #0 mov r1, #0 beq _0207B34C mov r0, r4 mov r2, r1 str r5, [r4] bl sub_0207B050 _0207B34C: ldr r0, _0207B36C ; =_022B99B0 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} bl sub_0207AF64 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207B364: .word 0x04000106 _0207B368: .word OS_IRQTable _0207B36C: .word _022B99B0 arm_func_end sub_0207B280 arm_func_start sub_0207B370 sub_0207B370: ; 0x0207B370 stmdb sp!, {r3, lr} ldr r1, _0207B3B4 ; =_022B99BC ldrh r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #1 strh r0, [r1] mov r2, #0 str r2, [r1, #0xc] mov r0, #4 str r2, [r1, #0x10] bl sub_02078C98 ldr r0, _0207B3B4 ; =_022B99BC mov r1, #0 str r1, [r0, #8] str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _0207B3B4: .word _022B99BC arm_func_end sub_0207B370 arm_func_start sub_0207B3B8 sub_0207B3B8: ; 0x0207B3B8 stmdb sp!, {r3, lr} ldr r1, _0207B430 ; =_022B99BC ldr r3, [r1, #0xc] cmp r3, #0 beq _0207B428 ldr ip, [r0, #0xc] _0207B3D0: ldr r1, [r3, #0xc] cmp r1, ip blo _0207B41C bne _0207B3F0 ldrsh r2, [r3, #0x10] ldrsh r1, [r0, #0x10] cmp r2, r1 ble _0207B41C _0207B3F0: ldr r1, [r3, #0x14] str r1, [r0, #0x14] str r3, [r0, #0x18] str r0, [r3, #0x14] cmp r1, #0 strne r0, [r1, #0x18] ldmneia sp!, {r3, pc} ldr r1, _0207B430 ; =_022B99BC str r0, [r1, #0xc] bl sub_0207B544 ldmia sp!, {r3, pc} _0207B41C: ldr r3, [r3, #0x18] cmp r3, #0 bne _0207B3D0 _0207B428: bl sub_0207B434 ldmia sp!, {r3, pc} .align 2, 0 _0207B430: .word _022B99BC arm_func_end sub_0207B3B8 arm_func_start sub_0207B434 sub_0207B434: ; 0x0207B434 stmdb sp!, {r3, lr} ldr r1, _0207B468 ; =_022B99BC mov r2, #0 ldr r3, [r1, #0x10] str r3, [r0, #0x14] str r2, [r0, #0x18] str r0, [r1, #0x10] cmp r3, #0 strne r0, [r3, #0x18] ldmneia sp!, {r3, pc} str r0, [r1, #0xc] bl sub_0207B544 ldmia sp!, {r3, pc} .align 2, 0 _0207B468: .word _022B99BC arm_func_end sub_0207B434 arm_func_start sub_0207B46C sub_0207B46C: ; 0x0207B46C cmp r0, #0 bxeq lr ldr r2, [r0, #0x18] ldr r1, [r0, #0x14] cmp r2, #0 ldreq r0, _0207B4A0 ; =_022B99BC strne r1, [r2, #0x14] streq r1, [r0, #0x10] cmp r1, #0 ldreq r0, _0207B4A0 ; =_022B99BC strne r2, [r1, #0x18] streq r2, [r0, #0xc] bx lr .align 2, 0 _0207B4A0: .word _022B99BC arm_func_end sub_0207B46C arm_func_start sub_0207B4A4 sub_0207B4A4: ; 0x0207B4A4 mov r1, #0 str r1, [r0] str r1, [r0, #8] str r1, [r0, #0x20] bx lr arm_func_end sub_0207B4A4 arm_func_start sub_0207B4B8 sub_0207B4B8: ; 0x0207B4B8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 bl EnableIrqFlag mov r4, r0 cmp r8, #0 beq _0207B4E8 ldr r0, [r8] cmp r0, #0 beq _0207B4EC _0207B4E8: bl WaitForever2 _0207B4EC: ldr r0, _0207B540 ; =0x04000006 ldrh sb, [r0] mov r0, sb bl sub_0207B790 mov r1, #1 str r1, [r8, #0x1c] cmp r7, sb strh r7, [r8, #0x10] addle r0, r0, #1 str r0, [r8, #0xc] strh r6, [r8, #0x12] ldr r1, [sp, #0x20] str r5, [r8] str r1, [r8, #4] mov r1, #0 mov r0, r8 str r1, [r8, #0x24] bl sub_0207B3B8 mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0207B540: .word 0x04000006 arm_func_end sub_0207B4B8 arm_func_start sub_0207B544 sub_0207B544: ; 0x0207B544 stmdb sp!, {r4, lr} ldr r1, _0207B57C ; =sub_0207B5CC mov r4, r0 mov r0, #4 bl sub_02078A98 ldrsh r0, [r4, #0x10] bl sub_020761C0 ldr r2, _0207B580 ; =0x04000004 mov r0, #4 ldrh r1, [r2] orr r1, r1, #0x20 strh r1, [r2] bl sub_02078C68 ldmia sp!, {r4, pc} .align 2, 0 _0207B57C: .word sub_0207B5CC _0207B580: .word 0x04000004 arm_func_end sub_0207B544 arm_func_start sub_0207B584 sub_0207B584: ; 0x0207B584 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag mov r1, #1 str r1, [r5, #0x24] ldr r1, [r5] mov r4, r0 cmp r1, #0 bne _0207B5B0 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} _0207B5B0: mov r0, r5 bl sub_0207B46C mov r1, #0 mov r0, r4 str r1, [r5] bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207B584 arm_func_start sub_0207B5CC sub_0207B5CC: ; 0x0207B5CC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r0, #4 bl sub_02078C98 ldr r2, _0207B734 ; =0x04000004 ldr r0, _0207B738 ; =OS_IRQTable ldrh r1, [r2] add r0, r0, #0x3000 bic r1, r1, #0x20 strh r1, [r2] ldr r1, [r0, #0xff8] orr r1, r1, #4 str r1, [r0, #0xff8] ldrh r0, [r2] mov r1, r0, asr #8 mov r0, r0, lsl #1 and r1, r1, #0xff and r0, r0, #0x100 orr r0, r1, r0 sub r0, r0, #1 bl sub_0207B790 ldr r4, _0207B73C ; =_022B99BC ldr sl, [r4, #0xc] cmp sl, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr sb, _0207B740 ; =0x04000006 mov fp, #4 sub r6, sb, #2 mov r5, #0 _0207B63C: ldrh r8, [sb] mov r0, r8 bl sub_0207B790 mov r7, r0 mov r0, sl mov r1, r7 mov r2, r8 bl sub_0207B744 cmp r0, #0 beq _0207B678 cmp r0, #1 beq _0207B6B4 cmp r0, #2 beq _0207B708 b _0207B724 _0207B678: mov r0, sl bl sub_0207B544 ldrh r1, [sb] ldrsh r0, [sl, #0x10] cmp r0, r1 ldreq r0, [sl, #0xc] cmpeq r0, r7 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, fp bl sub_02078C98 ldrh r1, [r6] mov r0, #4 bic r1, r1, #0x20 strh r1, [r6] bl sub_02078CC8 _0207B6B4: ldr r7, [sl] mov r0, sl bl sub_0207B46C str r5, [sl] cmp r7, #0 beq _0207B6D4 ldr r0, [sl, #4] blx r7 _0207B6D4: ldr r0, [sl, #0x1c] cmp r0, #0 beq _0207B724 ldr r0, [sl, #0x24] cmp r0, #0 bne _0207B724 str r7, [sl] ldr r1, [r4, #8] mov r0, sl add r1, r1, #1 str r1, [sl, #0xc] bl sub_0207B3B8 b _0207B724 _0207B708: mov r0, sl bl sub_0207B46C ldr r1, [r4, #8] mov r0, sl add r1, r1, #1 str r1, [sl, #0xc] bl sub_0207B3B8 _0207B724: ldr sl, [r4, #0xc] cmp sl, #0 bne _0207B63C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0207B734: .word 0x04000004 _0207B738: .word OS_IRQTable _0207B73C: .word _022B99BC _0207B740: .word 0x04000006 arm_func_end sub_0207B5CC arm_func_start sub_0207B744 sub_0207B744: ; 0x0207B744 ldrsh r3, [r0, #0x10] ldr ip, [r0, #0xc] subs r1, r1, ip sub r2, r2, r3 bmi _0207B768 cmp r1, #0 bne _0207B770 cmp r2, #0 bge _0207B770 _0207B768: mov r0, #0 bx lr _0207B770: ldrsh r0, [r0, #0x12] cmp r2, #0 addlt r1, r2, #7 addlt r2, r1, #0x100 cmp r2, r0 movle r0, #1 movgt r0, #2 bx lr arm_func_end sub_0207B744 arm_func_start sub_0207B790 sub_0207B790: ; 0x0207B790 stmdb sp!, {r4, lr} mov r4, r0 bl EnableIrqFlag ldr r1, _0207B7CC ; =_022B99BC ldr r2, [r1, #4] cmp r4, r2 ldrlt r2, [r1, #8] addlt r2, r2, #1 strlt r2, [r1, #8] ldr r1, _0207B7CC ; =_022B99BC str r4, [r1, #4] bl SetIrqFlag ldr r0, _0207B7CC ; =_022B99BC ldr r0, [r0, #8] ldmia sp!, {r4, pc} .align 2, 0 _0207B7CC: .word _022B99BC arm_func_end sub_0207B790 arm_func_start ClearIrqFlag ClearIrqFlag: ; 0x0207B7D0 mrs r0, cpsr bic r1, r0, #0x80 msr cpsr_c, r1 and r0, r0, #0x80 bx lr arm_func_end ClearIrqFlag arm_func_start EnableIrqFlag EnableIrqFlag: ; 0x0207B7E4 mrs r0, cpsr orr r1, r0, #0x80 msr cpsr_c, r1 and r0, r0, #0x80 bx lr arm_func_end EnableIrqFlag arm_func_start SetIrqFlag SetIrqFlag: ; 0x0207B7F8 mrs r1, cpsr bic r2, r1, #0x80 orr r2, r2, r0 msr cpsr_c, r2 and r0, r1, #0x80 bx lr arm_func_end SetIrqFlag arm_func_start EnableIrqFiqFlags EnableIrqFiqFlags: ; 0x0207B810 mrs r0, cpsr orr r1, r0, #0xc0 msr cpsr_c, r1 and r0, r0, #0xc0 bx lr arm_func_end EnableIrqFiqFlags arm_func_start SetIrqFiqFlags SetIrqFiqFlags: ; 0x0207B824 mrs r1, cpsr bic r2, r1, #0xc0 orr r2, r2, r0 msr cpsr_c, r2 and r0, r1, #0xc0 bx lr arm_func_end SetIrqFiqFlags arm_func_start GetIrqFlag GetIrqFlag: ; 0x0207B83C mrs r0, cpsr and r0, r0, #0x80 bx lr arm_func_end GetIrqFlag arm_func_start sub_0207B848 sub_0207B848: ; 0x0207B848 mrs r0, cpsr and r0, r0, #0x1f bx lr arm_func_end sub_0207B848 arm_func_start sub_0207B854 sub_0207B854: ; 0x0207B854 subs r0, r0, #4 bhs sub_0207B854 bx lr arm_func_end sub_0207B854 arm_func_start sub_0207B860 sub_0207B860: ; 0x0207B860 stmdb sp!, {r3, lr} mov r0, #1 blx SVC_WaitByLoop mov r0, #1 mov r1, r0 bl sub_02078900 ldmia sp!, {r3, pc} arm_func_end sub_0207B860 arm_func_start sub_0207B87C sub_0207B87C: ; 0x0207B87C stmdb sp!, {r3, r4, r5, lr} ldr r0, _0207B8C8 ; =_022B99D0 ldrh r1, [r0, #2] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, #1 strh r1, [r0, #2] bl sub_0207D9A4 mov r5, #0xc mov r4, #1 _0207B8A4: mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _0207B8A4 ldr r1, _0207B8CC ; =sub_0207B8D0 mov r0, #0xc bl sub_0207DAB0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207B8C8: .word _022B99D0 _0207B8CC: .word sub_0207B8D0 arm_func_end sub_0207B87C arm_func_start sub_0207B8D0 sub_0207B8D0: ; 0x0207B8D0 stmdb sp!, {r3, lr} and r0, r1, #0x7f00 mov r0, r0, lsl #8 mov r0, r0, lsr #0x10 cmp r0, #0x10 bne _0207B8F8 ldr r0, _0207B900 ; =_022B99D0 mov r1, #1 strh r1, [r0] ldmia sp!, {r3, pc} _0207B8F8: bl WaitForever2 ldmia sp!, {r3, pc} .align 2, 0 _0207B900: .word _022B99D0 arm_func_end sub_0207B8D0 arm_func_start sub_0207B904 sub_0207B904: ; 0x0207B904 stmdb sp!, {r4, r5, r6, lr} mov r6, r0, lsl #8 mov r5, #0xc mov r4, #0 _0207B914: mov r0, r5 mov r1, r6 mov r2, r4 bl sub_0207DB20 cmp r0, #0 bne _0207B914 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207B904 arm_func_start sub_0207B930 sub_0207B930: ; 0x0207B930 stmdb sp!, {r4, lr} ldr r1, _0207B9C0 ; =0x027FFC40 mov r4, r0 ldrh r0, [r1] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 beq _0207B958 bl WaitForever2 _0207B958: bl sub_0207902C mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02083434 ldr r0, _0207B9C4 ; =0x00000000 bl sub_0207C164 ldr r0, _0207B9C8 ; =0x00000001 bl sub_0207C164 ldr r0, _0207B9CC ; =0x00000002 bl sub_0207C164 ldr r0, _0207B9D0 ; =0x00000003 bl sub_0207C164 ldr r0, _0207B9D4 ; =0x00040000 bl sub_02078C3C ldr r0, _0207B9D8 ; =0xFFFBFFFF bl sub_02078CC8 ldr r1, _0207B9DC ; =0x027FFC20 ldr r0, _0207B9E0 ; =0x00000010 str r4, [r1] bl sub_0207B904 ldr r0, _0207B9E4 ; =0x027E3F80 ldr r1, _0207B9E8 ; =0x00000800 sub r0, r0, r1 mov sp, r0 bl sub_01FF97CC ldmia sp!, {r4, pc} .align 2, 0 _0207B9C0: .word 0x027FFC40 _0207B9C4: .word 0x00000000 _0207B9C8: .word 0x00000001 _0207B9CC: .word 0x00000002 _0207B9D0: .word 0x00000003 _0207B9D4: .word 0x00040000 _0207B9D8: .word 0xFFFBFFFF _0207B9DC: .word 0x027FFC20 _0207B9E0: .word 0x00000010 _0207B9E4: .word 0x027E3F80 _0207B9E8: .word 0x00000800 arm_func_end sub_0207B930 arm_func_start sub_0207B9EC sub_0207B9EC: ; 0x0207B9EC ldr ip, _0207BA00 ; =MemcpyFast mov r1, r0 ldr r0, _0207BA04 ; =0x027FFCF4 mov r2, #6 bx ip .align 2, 0 _0207BA00: .word MemcpyFast _0207BA04: .word 0x027FFCF4 arm_func_end sub_0207B9EC arm_func_start sub_0207BA08 sub_0207BA08: ; 0x0207BA08 stmdb sp!, {r4, lr} ldr ip, _0207BA88 ; =0x027FFC80 mov r4, r0 ldrh r2, [ip, #0x64] add r0, ip, #6 add r1, r4, #4 mov r2, r2, lsl #0x1d mov r2, r2, lsr #0x1d strb r2, [r4] ldrb r3, [ip, #2] mov r2, #0x14 mov r3, r3, lsl #0x1c mov r3, r3, lsr #0x1c strb r3, [r4, #1] ldrb r3, [ip, #3] strb r3, [r4, #2] ldrb r3, [ip, #4] strb r3, [r4, #3] ldrb r3, [ip, #0x1a] strh r3, [r4, #0x1a] ldrb r3, [ip, #0x50] strh r3, [r4, #0x52] bl ArrayCopy16 ldr r0, _0207BA88 ; =0x027FFC80 add r1, r4, #0x1c add r0, r0, #0x1c mov r2, #0x34 bl ArrayCopy16 mov r0, #0 strh r0, [r4, #0x18] strh r0, [r4, #0x50] ldmia sp!, {r4, pc} .align 2, 0 _0207BA88: .word 0x027FFC80 arm_func_end sub_0207BA08 arm_func_start sub_0207BA8C sub_0207BA8C: ; 0x0207BA8C clz r0, r0 bx lr arm_func_end sub_0207BA8C arm_func_start sub_0207BA94 sub_0207BA94: ; 0x0207BA94 ldr r0, _0207BAC0 ; =_022B99D4 mov r3, #0 str r3, [r0] ldr r0, _0207BAC4 ; =_022B99D8 mov r2, r3 _0207BAA8: mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #9 blt _0207BAA8 bx lr .align 2, 0 _0207BAC0: .word _022B99D4 _0207BAC4: .word _022B99D8 arm_func_end sub_0207BA94 arm_func_start sub_0207BAC8 sub_0207BAC8: ; 0x0207BAC8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r5, r0 mov sl, r1 bl EnableIrqFlag ldr r4, _0207BB44 ; =_022B99D4 ldr r1, _0207BB48 ; =0x000001FF ldr r2, [r4] mov sb, r0 and r0, r5, r2 ldr r6, _0207BB4C ; =_022B99D8 and r8, r0, r1 mov r7, #1 mov r5, #0 _0207BAFC: mov r0, r8 bl sub_0207BA8C rsbs r2, r0, #0x1f bmi _0207BB38 mov r1, r2, lsl #1 ldrh r0, [r6, r1] mvn r2, r7, lsl r2 cmp sl, r0 and r8, r8, r2 bne _0207BAFC ldr r0, [r4] strh r5, [r6, r1] and r0, r0, r2 str r0, [r4] b _0207BAFC _0207BB38: mov r0, sb bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0207BB44: .word _022B99D4 _0207BB48: .word 0x000001FF _0207BB4C: .word _022B99D8 arm_func_end sub_0207BAC8 arm_func_start sub_0207BB50 sub_0207BB50: ; 0x0207BB50 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0207BC10 ; =0x04000006 mov r5, r0 ldrh r6, [r1] ldr r4, _0207BC14 ; =0x027FFC00 bl sub_0207AEE4 orr r0, r0, r6, lsl #16 str r0, [r5] ldr r1, _0207BC18 ; =_022B99A8 ldrh ip, [r4, #0xf8] ldr r3, [r1] ldr r2, [r1, #4] mov r0, r4 eor r2, r3, ip, lsl #16 str r2, [r5, #4] ldr r2, [r1] ldr r3, [r0, #0x3c] ldr r2, [r1, #4] ldr r1, [r4, #0xf4] ldr ip, _0207BC1C ; =0x04000600 eor r1, r2, r1 eor r2, r3, r1 str r2, [r5, #8] ldr r1, [ip] eor r1, r2, r1 str r1, [r5, #8] ldr r2, [r0, #0x1e8] add r1, r0, #0x300 str r2, [r5, #0xc] ldr r3, [r0, #0x1ec] sub r2, ip, #0x4d0 str r3, [r5, #0x10] ldr r3, [r0, #0x390] ldrh r4, [r1, #0x94] add r0, r0, #0x3a8 eor r3, r3, r4, lsl #16 str r3, [r5, #0x14] ldrh r4, [r1, #0xaa] ldrh r3, [r1, #0xac] orr r3, r3, r4, lsl #16 str r3, [r5, #0x18] ldrh r2, [r2] ldrh r0, [r0] ldrh r1, [r1, #0x98] orr r0, r2, r0 orr r0, r0, r1, lsl #16 str r0, [r5, #0x1c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207BC10: .word 0x04000006 _0207BC14: .word 0x027FFC00 _0207BC18: .word _022B99A8 _0207BC1C: .word 0x04000600 arm_func_end sub_0207BB50 arm_func_start WaitForever2 WaitForever2: ; 0x0207BC20 stmdb sp!, {r3, lr} _0207BC24: bl EnableIrqFlag bl WaitForInterrupt b _0207BC24 arm_func_end WaitForever2 arm_func_start WaitForInterrupt WaitForInterrupt: ; 0x0207BC30 mov r0, #0 mcr p15, 0, r0, c7, c0, 4 bx lr arm_func_end WaitForInterrupt arm_func_start sub_0207BC3C sub_0207BC3C: ; 0x0207BC3C ldr r1, _0207BC48 ; =0x04000247 strb r0, [r1] bx lr .align 2, 0 _0207BC48: .word 0x04000247 arm_func_end sub_0207BC3C arm_func_start sub_0207BC4C sub_0207BC4C: ; 0x0207BC4C stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r4, r3 mov r8, r0 mov r7, r1 mov r6, r2 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, r8, r8, lsl #1 add r0, r0, #2 mov r0, r0, lsl #2 add r0, r0, #0xb0 add r5, r0, #0x4000000 _0207BC78: ldr r0, [r5] tst r0, #0x80000000 bne _0207BC78 bl EnableIrqFlag mov r2, r8, lsl #2 add r1, r2, #0xe0 mov r3, r4, lsr #2 mov r4, r0 add ip, r2, #0x4000000 mov r0, r8 mov r2, r7 add r1, r1, #0x4000000 orr r3, r3, #0x85000000 str r6, [ip, #0xe0] bl sub_01FF9B3C mov r0, r4 bl SetIrqFlag _0207BCBC: ldr r0, [r5] tst r0, #0x80000000 bne _0207BCBC ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207BC4C arm_func_start sub_0207BCCC sub_0207BCCC: ; 0x0207BCCC stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r3 mov r6, r2 mov r2, r5 mov r3, #0 mov r8, r0 mov r7, r1 bl sub_0207C264 cmp r5, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, r8, r8, lsl #1 add r0, r0, #2 mov r0, r0, lsl #2 add r0, r0, #0xb0 add r4, r0, #0x4000000 _0207BD08: ldr r0, [r4] tst r0, #0x80000000 bne _0207BD08 mov r3, r5, lsr #2 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, #0x84000000 bl sub_01FF9AA8 _0207BD2C: ldr r0, [r4] tst r0, #0x80000000 bne _0207BD2C ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207BCCC arm_func_start sub_0207BD3C sub_0207BD3C: ; 0x0207BD3C stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r5, r3 mov r8, r0 mov r7, r1 mov r6, r2 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r2, r5 mov r3, #0 bl sub_0207C264 add r0, r8, r8, lsl #1 add r0, r0, #2 mov r0, r0, lsl #2 add r0, r0, #0xb0 add r4, r0, #0x4000000 _0207BD74: ldr r0, [r4] tst r0, #0x80000000 bne _0207BD74 mov r3, r5, lsr #1 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, #0x80000000 bl sub_01FF9AA8 _0207BD98: ldr r0, [r4] tst r0, #0x80000000 bne _0207BD98 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207BD3C arm_func_start sub_0207BDA8 sub_0207BDA8: ; 0x0207BDA8 stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r4, r3 mov r7, r0 mov r6, r1 mov r5, r2 ldr r8, [sp, #0x18] bne _0207BDD8 cmp r8, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x1c] blx r8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BDD8: bl sub_0207C0FC cmp r8, #0 beq _0207BE30 ldr r2, [sp, #0x1c] mov r0, r7 mov r1, r8 bl sub_02078BAC bl EnableIrqFlag mov r3, r4, lsr #2 mov r2, r7, lsl #2 add r1, r2, #0xe0 add r2, r2, #0x4000000 str r5, [r2, #0xe0] mov r4, r0 mov r0, r7 mov r2, r6 add r1, r1, #0x4000000 orr r3, r3, #0xc5000000 bl sub_01FF9B18 mov r0, r4 bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BE30: bl EnableIrqFlag mov r2, r7, lsl #2 add r1, r2, #0xe0 mov r3, r4, lsr #2 mov r4, r0 add ip, r2, #0x4000000 mov r0, r7 mov r2, r6 add r1, r1, #0x4000000 orr r3, r3, #0x85000000 str r5, [ip, #0xe0] bl sub_01FF9B18 mov r0, r4 bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207BDA8 arm_func_start sub_0207BE6C sub_0207BE6C: ; 0x0207BE6C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r3 mov r6, r2 mov r2, r5 mov r3, #0 mov r8, r0 mov r7, r1 ldr r4, [sp, #0x18] bl sub_0207C264 cmp r5, #0 bne _0207BEAC cmp r4, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x1c] blx r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BEAC: mov r0, r8 bl sub_0207C0FC cmp r4, #0 beq _0207BEE8 ldr r2, [sp, #0x1c] mov r0, r8 mov r1, r4 bl sub_02078BAC mov r3, r5, lsr #2 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, #0xc4000000 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BEE8: mov r3, r5, lsr #2 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, #0x84000000 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207BE6C arm_func_start sub_0207BF04 sub_0207BF04: ; 0x0207BF04 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r3 mov r6, r2 mov r2, r5 mov r3, #0 mov r8, r0 mov r7, r1 ldr r4, [sp, #0x18] bl sub_0207C264 cmp r5, #0 bne _0207BF44 cmp r4, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x1c] blx r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BF44: mov r0, r8 bl sub_0207C0FC cmp r4, #0 beq _0207BF84 ldr r2, [sp, #0x1c] mov r0, r8 mov r1, r4 bl sub_02078BAC mov r3, #0x3bc00000 rsb r3, r3, #0 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, r5, lsr #2 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BF84: ldr r3, _0207BFA0 ; =0x84400000 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, r5, lsr #2 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0207BFA0: .word 0x84400000 arm_func_end sub_0207BF04 arm_func_start sub_0207BFA4 sub_0207BFA4: ; 0x0207BFA4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r3 mov r6, r2 mov r2, r5 mov r3, #0 mov r8, r0 mov r7, r1 ldr r4, [sp, #0x18] bl sub_0207C264 cmp r5, #0 bne _0207BFE4 cmp r4, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x1c] blx r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207BFE4: mov r0, r8 bl sub_0207C0FC cmp r4, #0 beq _0207C020 ldr r2, [sp, #0x1c] mov r0, r8 mov r1, r4 bl sub_02078BAC mov r3, r5, lsr #1 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, #0xc0000000 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207C020: mov r3, r5, lsr #1 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, #0x80000000 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207BFA4 arm_func_start sub_0207C03C sub_0207C03C: ; 0x0207C03C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r3 mov r6, r2 mov r2, r5 mov r3, #0 mov r8, r0 mov r7, r1 ldr r4, [sp, #0x18] bl sub_0207C264 cmp r5, #0 bne _0207C07C cmp r4, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x1c] blx r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207C07C: mov r0, r8 bl sub_0207C0FC cmp r4, #0 beq _0207C0BC ldr r2, [sp, #0x1c] mov r0, r8 mov r1, r4 bl sub_02078BAC mov r3, #0x3fc00000 rsb r3, r3, #0 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, r5, lsr #1 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207C0BC: ldr r3, _0207C0D8 ; =0x80400000 mov r0, r8 mov r1, r7 mov r2, r6 orr r3, r3, r5, lsr #1 bl sub_01FF9A68 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0207C0D8: .word 0x80400000 arm_func_end sub_0207C03C arm_func_start sub_0207C0DC sub_0207C0DC: ; 0x0207C0DC add r0, r0, r0, lsl #1 add r0, r0, #2 mov r0, r0, lsl #2 add r0, r0, #0x4000000 ldr r0, [r0, #0xb0] and r0, r0, #0x80000000 mov r0, r0, lsr #0x1f bx lr arm_func_end sub_0207C0DC arm_func_start sub_0207C0FC sub_0207C0FC: ; 0x0207C0FC stmdb sp!, {r4, lr} mov r4, r0 bl EnableIrqFlag add r1, r4, r4, lsl #1 add r1, r1, #2 mov r1, r1, lsl #2 add r1, r1, #0xb0 add r2, r1, #0x4000000 _0207C11C: ldr r1, [r2] tst r1, #0x80000000 bne _0207C11C cmp r4, #0 bne _0207C158 mov r1, #0xc mul r2, r4, r1 add r1, r2, #0xb0 add r2, r2, #0x4000000 mov r3, #0 str r3, [r2, #0xb0] add r2, r1, #0x4000000 ldr r1, _0207C160 ; =0x81400001 str r3, [r2, #4] str r1, [r2, #8] _0207C158: bl SetIrqFlag ldmia sp!, {r4, pc} .align 2, 0 _0207C160: .word 0x81400001 arm_func_end sub_0207C0FC arm_func_start sub_0207C164 sub_0207C164: ; 0x0207C164 stmdb sp!, {r4, lr} mov r4, r0 bl EnableIrqFlag mov r1, #6 mul r1, r4, r1 add r1, r1, #5 mov r1, r1, lsl #1 add r1, r1, #0x4000000 ldrh r2, [r1, #0xb0] cmp r4, #0 bic r2, r2, #0x3a00 strh r2, [r1, #0xb0] ldrh r2, [r1, #0xb0] bic r2, r2, #0x8000 strh r2, [r1, #0xb0] ldrh r2, [r1, #0xb0] ldrh r1, [r1, #0xb0] bne _0207C1D4 mov r1, #0xc mul r2, r4, r1 add r1, r2, #0xb0 add r2, r2, #0x4000000 mov r3, #0 str r3, [r2, #0xb0] add r2, r1, #0x4000000 ldr r1, _0207C1DC ; =0x81400001 str r3, [r2, #4] str r1, [r2, #8] _0207C1D4: bl SetIrqFlag ldmia sp!, {r4, pc} .align 2, 0 _0207C1DC: .word 0x81400001 arm_func_end sub_0207C164 arm_func_start sub_0207C1E0 sub_0207C1E0: ; 0x0207C1E0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r5, _0207C260 ; =0x040000B8 mov r7, r0 mov r6, r1 mov r4, #0 _0207C1F4: cmp r4, r7 beq _0207C24C ldr r0, [r5] tst r0, #0x80000000 andne r0, r0, #0x38000000 cmpne r0, r6 beq _0207C24C cmp r0, #0x8000000 cmpeq r6, #0x10000000 beq _0207C24C cmp r0, #0x10000000 cmpeq r6, #0x8000000 beq _0207C24C cmp r0, #0x18000000 cmpne r0, #0x20000000 cmpne r0, #0x28000000 cmpne r0, #0x30000000 cmpne r0, #0x38000000 cmpne r0, #0x8000000 cmpne r0, #0x10000000 bne _0207C24C bl WaitForever2 _0207C24C: add r4, r4, #1 cmp r4, #3 add r5, r5, #0xc blt _0207C1F4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0207C260: .word 0x040000B8 arm_func_end sub_0207C1E0 arm_func_start sub_0207C264 sub_0207C264: ; 0x0207C264 stmdb sp!, {r3, lr} cmp r0, #0 ldmneia sp!, {r3, pc} cmp r3, #0 and ip, r1, #0xff000000 beq _0207C288 cmp r3, #0x800000 subeq r1, r1, r2 b _0207C28C _0207C288: add r1, r1, r2 _0207C28C: cmp ip, #0x4000000 and r0, r1, #0xff000000 beq _0207C2B0 cmp ip, #0x8000000 bhs _0207C2B0 cmp r0, #0x4000000 beq _0207C2B0 cmp r0, #0x8000000 ldmloia sp!, {r3, pc} _0207C2B0: bl WaitForever2 ldmia sp!, {r3, pc} arm_func_end sub_0207C264 arm_func_start ArrayFill16 ArrayFill16: ; 0x0207C2B8 mov r3, #0 _0207C2BC: cmp r3, r2 blt _0207C2C8 b _0207C2CC _0207C2C8: strh r0, [r1, r3] _0207C2CC: blt _0207C2D4 b _0207C2D8 _0207C2D4: add r3, r3, #2 _0207C2D8: blt _0207C2BC bx lr arm_func_end ArrayFill16 arm_func_start ArrayCopy16 ArrayCopy16: ; 0x0207C2E0 mov ip, #0 _0207C2E4: cmp ip, r2 blt _0207C2F0 b _0207C2F4 _0207C2F0: ldrh r3, [r0, ip] _0207C2F4: blt _0207C2FC b _0207C300 _0207C2FC: strh r3, [r1, ip] _0207C300: blt _0207C308 b _0207C30C _0207C308: add ip, ip, #2 _0207C30C: blt _0207C2E4 bx lr arm_func_end ArrayCopy16 arm_func_start ArrayFill32 ArrayFill32: ; 0x0207C314 add ip, r1, r2 _0207C318: cmp r1, ip blt _0207C324 b _0207C328 _0207C324: stmia r1!, {r0} _0207C328: blt _0207C318 bx lr arm_func_end ArrayFill32 arm_func_start ArrayCopy32 ArrayCopy32: ; 0x0207C330 add ip, r1, r2 _0207C334: cmp r1, ip blt _0207C340 b _0207C344 _0207C340: ldmia r0!, {r2} _0207C344: blt _0207C34C b _0207C350 _0207C34C: stmia r1!, {r2} _0207C350: blt _0207C334 bx lr arm_func_end ArrayCopy32 arm_func_start ArrayFill32Fast ArrayFill32Fast: ; 0x0207C358 stmdb sp!, {r4, r5, r6, r7, r8, sb} add sb, r1, r2 mov ip, r2, lsr #5 add ip, r1, ip, lsl #5 mov r2, r0 mov r3, r2 mov r4, r2 mov r5, r2 mov r6, r2 mov r7, r2 mov r8, r2 _0207C384: cmp r1, ip blt _0207C390 b _0207C394 _0207C390: stmia r1!, {r0, r2, r3, r4, r5, r6, r7, r8} _0207C394: blt _0207C384 _0207C398: cmp r1, sb blt _0207C3A4 b _0207C3A8 _0207C3A4: stmia r1!, {r0} _0207C3A8: blt _0207C398 ldmia sp!, {r4, r5, r6, r7, r8, sb} bx lr arm_func_end ArrayFill32Fast arm_func_start ArrayCopy32Fast ArrayCopy32Fast: ; 0x0207C3B4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl} add sl, r1, r2 mov ip, r2, lsr #5 add ip, r1, ip, lsl #5 _0207C3C4: cmp r1, ip blt _0207C3D0 b _0207C3D4 _0207C3D0: ldmia r0!, {r2, r3, r4, r5, r6, r7, r8, sb} _0207C3D4: blt _0207C3DC b _0207C3E0 _0207C3DC: stmia r1!, {r2, r3, r4, r5, r6, r7, r8, sb} _0207C3E0: blt _0207C3C4 _0207C3E4: cmp r1, sl blt _0207C3F0 b _0207C3F4 _0207C3F0: ldmia r0!, {r2} _0207C3F4: blt _0207C3FC b _0207C400 _0207C3FC: stmia r1!, {r2} _0207C400: blt _0207C3E4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl} bx lr arm_func_end ArrayCopy32Fast arm_func_start MemsetFast MemsetFast: ; 0x0207C40C cmp r2, #0 beq _0207C418 b _0207C41C _0207C418: bx lr _0207C41C: tst r0, #1 beq _0207C448 ldrh ip, [r0, #-1] and ip, ip, #0xff orr r3, ip, r1, lsl #8 strh r3, [r0, #-1] add r0, r0, #1 subs r2, r2, #1 beq _0207C444 b _0207C448 _0207C444: bx lr _0207C448: cmp r2, #2 blo _0207C4A0 orr r1, r1, r1, lsl #8 tst r0, #2 beq _0207C470 strh r1, [r0], #2 subs r2, r2, #2 beq _0207C46C b _0207C470 _0207C46C: bx lr _0207C470: orr r1, r1, r1, lsl #16 bics r3, r2, #3 beq _0207C490 sub r2, r2, r3 add ip, r3, r0 _0207C484: str r1, [r0], #4 cmp r0, ip blo _0207C484 _0207C490: tst r2, #2 bne _0207C49C b _0207C4A0 _0207C49C: strh r1, [r0], #2 _0207C4A0: tst r2, #1 beq _0207C4AC b _0207C4B0 _0207C4AC: bx lr _0207C4B0: ldrh r3, [r0] and r3, r3, #0xff00 and r1, r1, #0xff orr r1, r1, r3 strh r1, [r0] bx lr arm_func_end MemsetFast arm_func_start MemcpyFast MemcpyFast: ; 0x0207C4C8 cmp r2, #0 beq _0207C4D4 b _0207C4D8 _0207C4D4: bx lr _0207C4D8: tst r1, #1 beq _0207C530 ldrh ip, [r1, #-1] and ip, ip, #0xff tst r0, #1 bne _0207C4F4 b _0207C4F8 _0207C4F4: ldrh r3, [r0, #-1] _0207C4F8: bne _0207C500 b _0207C504 _0207C500: mov r3, r3, lsr #8 _0207C504: beq _0207C50C b _0207C510 _0207C50C: ldrh r3, [r0] _0207C510: orr r3, ip, r3, lsl #8 strh r3, [r1, #-1] add r0, r0, #1 add r1, r1, #1 subs r2, r2, #1 beq _0207C52C b _0207C530 _0207C52C: bx lr _0207C530: eor ip, r1, r0 tst ip, #1 beq _0207C58C bic r0, r0, #1 ldrh ip, [r0], #2 mov r3, ip, lsr #8 subs r2, r2, #2 blo _0207C568 _0207C550: ldrh ip, [r0], #2 orr ip, r3, ip, lsl #8 strh ip, [r1], #2 mov r3, ip, lsr #0x10 subs r2, r2, #2 bhs _0207C550 _0207C568: tst r2, #1 beq _0207C574 b _0207C578 _0207C574: bx lr _0207C578: ldrh ip, [r1] and ip, ip, #0xff00 orr ip, ip, r3 strh ip, [r1] bx lr _0207C58C: tst ip, #2 beq _0207C5B8 bics r3, r2, #1 beq _0207C61C sub r2, r2, r3 add ip, r3, r1 _0207C5A4: ldrh r3, [r0], #2 strh r3, [r1], #2 cmp r1, ip blo _0207C5A4 b _0207C61C _0207C5B8: cmp r2, #2 blo _0207C61C tst r1, #2 beq _0207C5E0 ldrh r3, [r0], #2 strh r3, [r1], #2 subs r2, r2, #2 beq _0207C5DC b _0207C5E0 _0207C5DC: bx lr _0207C5E0: bics r3, r2, #3 beq _0207C600 sub r2, r2, r3 add ip, r3, r1 _0207C5F0: ldr r3, [r0], #4 str r3, [r1], #4 cmp r1, ip blo _0207C5F0 _0207C600: tst r2, #2 bne _0207C60C b _0207C610 _0207C60C: ldrh r3, [r0], #2 _0207C610: bne _0207C618 b _0207C61C _0207C618: strh r3, [r1], #2 _0207C61C: tst r2, #1 beq _0207C628 b _0207C62C _0207C628: bx lr _0207C62C: ldrh r2, [r1] ldrh r0, [r0] and r2, r2, #0xff00 and r0, r0, #0xff orr r0, r2, r0 strh r0, [r1] bx lr arm_func_end MemcpyFast arm_func_start AtomicExchange AtomicExchange: ; 0x0207C648 .word 0xE1010090 bx lr arm_func_end AtomicExchange arm_func_start sub_0207C650 sub_0207C650: ; 0x0207C650 stmdb sp!, {r4, r5, r6, r7, lr} ldr r5, [r0], #4 mov r2, r5, lsr #8 mov r7, #0 tst r5, #0xf bne _0207C66C b _0207C670 _0207C66C: mov r7, #1 _0207C670: cmp r2, #0 ble _0207C748 ldrb lr, [r0], #1 mov r4, #8 _0207C680: subs r4, r4, #1 blt _0207C670 tst lr, #0x80 bne _0207C6A4 ldrb r6, [r0], #1 .word 0xE1416096 add r1, r1, #1 sub r2, r2, #1 b _0207C730 _0207C6A4: ldrb r5, [r0] cmp r7, #0 beq _0207C6B4 b _0207C6B8 _0207C6B4: mov r6, #3 _0207C6B8: beq _0207C6FC tst r5, #0xe0 bne _0207C6C8 b _0207C6CC _0207C6C8: mov r6, #1 _0207C6CC: bne _0207C6FC add r0, r0, #1 and r6, r5, #0xf mov r6, r6, lsl #4 tst r5, #0x10 beq _0207C6F4 mov r6, r6, lsl #8 ldrb r5, [r0], #1 add r6, r6, r5, lsl #4 add r6, r6, #0x100 _0207C6F4: add r6, r6, #0x11 ldrb r5, [r0] _0207C6FC: add r3, r6, r5, asr #4 add r0, r0, #1 and r5, r5, #0xf mov ip, r5, lsl #8 ldrb r6, [r0], #1 orr r5, r6, ip add ip, r5, #1 sub r2, r2, r3 _0207C71C: ldrb r5, [r1, -ip] .word 0xE1415095 add r1, r1, #1 subs r3, r3, #1 bgt _0207C71C _0207C730: cmp r2, #0 bgt _0207C73C b _0207C740 _0207C73C: mov lr, lr, lsl #1 _0207C740: bgt _0207C680 b _0207C670 _0207C748: ldmia sp!, {r4, r5, r6, r7, lr} bx lr arm_func_end sub_0207C650 arm_func_start sub_0207C750 sub_0207C750: ; 0x0207C750 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 mov r7, r3 mvn r1, #0 mov r4, r2 bl sub_0207C1E0 mov r0, r6 mov r1, r5 mov r2, r7 mov r3, #0x1000000 bl sub_0207C264 cmp r7, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, r6, r6, lsl #1 add r0, r0, #2 mov r0, r0, lsl #2 add r0, r0, #0xb0 add r1, r0, #0x4000000 _0207C79C: ldr r0, [r1] tst r0, #0x80000000 bne _0207C79C ldr r3, _0207C7C0 ; =0xAF000001 mov r0, r6 mov r1, r5 mov r2, r4 bl sub_01FF9A68 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0207C7C0: .word 0xAF000001 arm_func_end sub_0207C750 arm_func_start sub_0207C7C4 sub_0207C7C4: ; 0x0207C7C4 stmdb sp!, {r3, lr} mov r0, #3 bl sub_0207BC3C mov r0, #0 bl sub_0207C164 ldmia sp!, {r3, pc} arm_func_end sub_0207C7C4 arm_func_start sub_0207C7DC sub_0207C7DC: ; 0x0207C7DC stmdb sp!, {r3, lr} mov r2, #0 mov r1, r0 mov r3, r2 mov r0, #1 str r2, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C7DC arm_func_start sub_0207C7FC sub_0207C7FC: ; 0x0207C7FC stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #2 bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C7FC arm_func_start sub_0207C824 sub_0207C824: ; 0x0207C824 stmdb sp!, {r3, lr} mov r2, #0 mov r1, r0 mov r3, r2 mov r0, #3 str r2, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C824 arm_func_start sub_0207C844 sub_0207C844: ; 0x0207C844 ldr ip, _0207C858 ; =sub_0207CB7C mov r2, r1 mov r1, #6 mov r3, #2 bx ip .align 2, 0 _0207C858: .word sub_0207CB7C arm_func_end sub_0207C844 arm_func_start sub_0207C85C sub_0207C85C: ; 0x0207C85C ldr ip, _0207C870 ; =sub_0207CB7C mov r2, r1 mov r1, #4 mov r3, #1 bx ip .align 2, 0 _0207C870: .word sub_0207CB7C arm_func_end sub_0207C85C arm_func_start sub_0207C874 sub_0207C874: ; 0x0207C874 stmdb sp!, {r3, lr} mov r3, r2 mov ip, #2 mov r2, #0xc str ip, [sp] bl sub_0207CBA4 ldmia sp!, {r3, pc} arm_func_end sub_0207C874 arm_func_start sub_0207C890 sub_0207C890: ; 0x0207C890 stmdb sp!, {r3, lr} mov lr, r1 mov r3, r2 mov ip, #0 mov r1, r0 mov r2, lr mov r0, #9 str ip, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C890 arm_func_start sub_0207C8B8 sub_0207C8B8: ; 0x0207C8B8 stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #0xc bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C8B8 arm_func_start sub_0207C8E0 sub_0207C8E0: ; 0x0207C8E0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r2 mov sb, r0 mov r8, r1 mov r6, r3 mov r5, r7 mov r4, #0 b _0207C918 _0207C900: tst r5, #1 beq _0207C910 mov r0, r4 bl sub_0207D3B0 _0207C910: add r4, r4, #1 mov r5, r5, lsr #1 _0207C918: cmp r4, #8 bge _0207C928 cmp r5, #0 bne _0207C900 _0207C928: mov r1, sb mov r2, r8 mov r3, r7 mov r0, #0xd str r6, [sp] bl sub_0207CBCC ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0207C8E0 arm_func_start sub_0207C944 sub_0207C944: ; 0x0207C944 stmdb sp!, {r3, lr} mov r1, r1, lsl #0x1e orr r0, r1, r0, lsl #31 ldr ip, [sp, #8] mov r1, r2 orr r0, r0, ip, lsl #29 ldr r2, [sp, #0xc] mov lr, #0 orr r0, r0, r2, lsl #28 ldr ip, [sp, #0x10] mov r2, r3 orr r3, r0, ip, lsl #27 mov r0, #0x11 str lr, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C944 arm_func_start sub_0207C984 sub_0207C984: ; 0x0207C984 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r2 mov r5, r1 ldr r2, [sp, #0x18] mov r6, r0 mov r1, r3 bl sub_0207D3D0 str r0, [sp] mov r1, r6 mov r2, r5 mov r3, r4 mov r0, #0x12 bl sub_0207CBCC add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end sub_0207C984 arm_func_start sub_0207C9C4 sub_0207C9C4: ; 0x0207C9C4 stmdb sp!, {r3, lr} mov r2, r1 mov r3, #0 mov r1, r0 mov r0, #0x1a str r3, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C9C4 arm_func_start sub_0207C9E4 sub_0207C9E4: ; 0x0207C9E4 stmdb sp!, {r3, lr} mov r2, r1 mov r3, #0 mov r1, r0 mov r0, #0x1b str r3, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207C9E4 arm_func_start sub_0207CA04 sub_0207CA04: ; 0x0207CA04 stmdb sp!, {r3, lr} mov r2, r1 mov r3, #0 mov r1, r0 mov r0, #0x13 str r3, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CA04 arm_func_start sub_0207CA24 sub_0207CA24: ; 0x0207CA24 stmdb sp!, {r3, lr} mov lr, r1 mov r3, r2 mov ip, #0 mov r1, r0 mov r2, lr mov r0, #0x14 str ip, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CA24 arm_func_start sub_0207CA4C sub_0207CA4C: ; 0x0207CA4C stmdb sp!, {r3, lr} mov r2, r1 mov r3, #0 mov r1, r0 mov r0, #0x15 str r3, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CA4C arm_func_start sub_0207CA6C sub_0207CA6C: ; 0x0207CA6C stmdb sp!, {r3, r4, r5, lr} ldr ip, [sp, #0x1c] mov r1, r1, lsl #0x18 orr r4, r1, r3, lsl #26 ldr r5, [sp, #0x24] mov r1, ip, lsl #0x16 ldr r3, [sp, #0x18] ldr ip, [sp, #0x10] orr r4, r4, r5, lsl #16 orr r4, ip, r4 ldr lr, [sp, #0x20] orr r3, r1, r3, lsl #24 ldr ip, [sp, #0x14] orr r1, r0, lr, lsl #16 orr r3, ip, r3 mov r0, #0xe str r4, [sp] bl sub_0207CBCC ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207CA6C arm_func_start sub_0207CAB8 sub_0207CAB8: ; 0x0207CAB8 stmdb sp!, {r3, lr} ldr lr, [sp, #8] ldr ip, [sp, #0xc] str r1, [sp] orr r2, r2, r3, lsl #8 mov r1, r0 orr r3, ip, lr, lsl #8 mov r0, #0xf bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CAB8 arm_func_start sub_0207CAE0 sub_0207CAE0: ; 0x0207CAE0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr ip, [sp, #0x10] mov r4, r1 mov lr, #0 mov r1, r0 orr r2, r4, r2, lsl #8 orr r3, ip, r3, lsl #8 mov r0, #0x10 str lr, [sp] bl sub_0207CBCC add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_0207CAE0 arm_func_start sub_0207CB14 sub_0207CB14: ; 0x0207CB14 stmdb sp!, {r3, lr} mov r2, r1 mov r3, #0 mov r1, r0 mov r0, #0x1f str r3, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CB14 arm_func_start sub_0207CB34 sub_0207CB34: ; 0x0207CB34 stmdb sp!, {r3, lr} mov r2, r1 mov r3, #0 mov r1, r0 mov r0, #0x20 str r3, [sp] bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CB34 arm_func_start sub_0207CB54 sub_0207CB54: ; 0x0207CB54 stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #0x19 bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CB54 arm_func_start sub_0207CB7C sub_0207CB7C: ; 0x0207CB7C stmdb sp!, {r3, lr} mov lr, r1 mov ip, r2 str r3, [sp] mov r1, r0 mov r2, lr mov r3, ip mov r0, #6 bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CB7C arm_func_start sub_0207CBA4 sub_0207CBA4: ; 0x0207CBA4 stmdb sp!, {r3, lr} ldr ip, [sp, #8] mov lr, r2 str r3, [sp] mov r2, r1 orr r1, r0, ip, lsl #24 mov r3, lr mov r0, #7 bl sub_0207CBCC ldmia sp!, {r3, pc} arm_func_end sub_0207CBA4 arm_func_start sub_0207CBCC sub_0207CBCC: ; 0x0207CBCC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #1 mov r6, r1 mov r5, r2 mov r4, r3 bl sub_0207CE54 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} str r7, [r0, #4] str r6, [r0, #8] str r5, [r0, #0xc] ldr r1, [sp, #0x18] str r4, [r0, #0x10] str r1, [r0, #0x14] bl sub_0207CEDC ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0207CBCC arm_func_start sub_0207CC10 sub_0207CC10: ; 0x0207CC10 stmdb sp!, {r3, lr} ldr r1, _0207CC40 ; =_022B99EC ldr r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0207CC44 ; =_022B99F0 mov r2, #1 str r2, [r1] bl sub_0207A030 bl sub_0207CC70 bl sub_0207D380 ldmia sp!, {r3, pc} .align 2, 0 _0207CC40: .word _022B99EC _0207CC44: .word _022B99F0 arm_func_end sub_0207CC10 arm_func_start sub_0207CC48 sub_0207CC48: ; 0x0207CC48 ldr ip, _0207CC54 ; =sub_0207A048 ldr r0, _0207CC58 ; =_022B99F0 bx ip .align 2, 0 _0207CC54: .word sub_0207A048 _0207CC58: .word _022B99F0 arm_func_end sub_0207CC48 arm_func_start sub_0207CC5C sub_0207CC5C: ; 0x0207CC5C ldr ip, _0207CC68 ; =sub_0207A0CC ldr r0, _0207CC6C ; =_022B99F0 bx ip .align 2, 0 _0207CC68: .word sub_0207A0CC _0207CC6C: .word _022B99F0 arm_func_end sub_0207CC5C arm_func_start sub_0207CC70 sub_0207CC70: ; 0x0207CC70 stmdb sp!, {r4, lr} bl sub_0207D270 ldr lr, _0207CD2C ; =_022B9D00 ldr r0, _0207CD30 ; =_022B9A20 mov r4, #0 str lr, [r0] mov r0, #0x18 mov r1, r0 b _0207CCA8 _0207CC94: add r3, r4, #1 mul r2, r4, r1 mla ip, r3, r0, lr mov r4, r3 str ip, [lr, r2] _0207CCA8: cmp r4, #0xff blt _0207CC94 ldr r0, _0207CD34 ; =_022BAA20 mov r3, #0 str r3, [r0, #0xac8] ldr r1, _0207CD38 ; =_022BB4E8 ldr r2, _0207CD30 ; =_022B9A20 mov r0, #1 str r1, [r2, #0x10] str r3, [r2, #8] str r3, [r2, #0xc] str r3, [r2, #0x1c] str r3, [r2, #0x14] str r3, [r2, #0x18] str r0, [r2, #0x20] ldr r0, _0207CD3C ; =_022B9A80 ldr r1, _0207CD40 ; =_022BB560 str r3, [r2, #4] str r0, [r1] bl sub_0207D4C4 mov r0, #1 bl sub_0207CE54 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0x1d ldr r1, _0207CD40 ; =_022BB560 str r2, [r0, #4] ldr r1, [r1] str r1, [r0, #8] bl sub_0207CEDC mov r0, #1 bl sub_0207CF14 ldmia sp!, {r4, pc} .align 2, 0 _0207CD2C: .word _022B9D00 _0207CD30: .word _022B9A20 _0207CD34: .word _022BAA20 _0207CD38: .word _022BB4E8 _0207CD3C: .word _022B9A80 _0207CD40: .word _022BB560 arm_func_end sub_0207CC70 arm_func_start sub_0207CD44 sub_0207CD44: ; 0x0207CD44 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 bl EnableIrqFlag mov r4, r0 tst r5, #1 beq _0207CDA0 bl sub_0207D49C ldr r5, _0207CE4C ; =_022B9A20 ldr r1, [r5, #4] cmp r1, r0 bne _0207CDC4 mov r6, #0x64 _0207CD74: mov r0, r4 bl SetIrqFlag mov r0, r6 bl sub_0207B854 bl EnableIrqFlag mov r4, r0 bl sub_0207D49C ldr r1, [r5, #4] cmp r1, r0 beq _0207CD74 b _0207CDC4 _0207CDA0: bl sub_0207D49C ldr r1, _0207CE4C ; =_022B9A20 ldr r1, [r1, #4] cmp r1, r0 bne _0207CDC4 mov r0, r4 bl SetIrqFlag mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0207CDC4: ldr r0, _0207CE4C ; =_022B9A20 ldr r2, _0207CE50 ; =_022B9A44 ldr r3, [r0, #0x14] add r1, r3, #1 ldr r5, [r2, r3, lsl #2] str r1, [r0, #0x14] cmp r1, #8 movgt r1, #0 strgt r1, [r0, #0x14] ldr r0, [r5] mov r2, r5 cmp r0, #0 beq _0207CE08 _0207CDF8: ldr r2, [r2] ldr r0, [r2] cmp r0, #0 bne _0207CDF8 _0207CE08: ldr r0, _0207CE4C ; =_022B9A20 ldr r1, [r0, #0x10] cmp r1, #0 strne r5, [r1] streq r5, [r0] ldr r1, _0207CE4C ; =_022B9A20 mov r0, r4 str r2, [r1, #0x10] ldr r2, [r1, #0x1c] sub r2, r2, #1 str r2, [r1, #0x1c] ldr r2, [r1, #4] add r2, r2, #1 str r2, [r1, #4] bl SetIrqFlag mov r0, r5 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207CE4C: .word _022B9A20 _0207CE50: .word _022B9A44 arm_func_end sub_0207CD44 arm_func_start sub_0207CE54 sub_0207CE54: ; 0x0207CE54 stmdb sp!, {r4, lr} mov r4, r0 bl sub_0207D340 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} bl sub_0207D2F8 cmp r0, #0 ldmneia sp!, {r4, pc} tst r4, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} bl sub_0207D230 cmp r0, #0 ble _0207CEB4 mov r4, #0 _0207CE94: mov r0, r4 bl sub_0207CD44 cmp r0, #0 bne _0207CE94 bl sub_0207D2F8 cmp r0, #0 beq _0207CEBC ldmia sp!, {r4, pc} _0207CEB4: mov r0, #1 bl sub_0207CF14 _0207CEBC: bl sub_0207D2D0 mov r4, #1 _0207CEC4: mov r0, r4 bl sub_0207CD44 bl sub_0207D2F8 cmp r0, #0 beq _0207CEC4 ldmia sp!, {r4, pc} arm_func_end sub_0207CE54 arm_func_start sub_0207CEDC sub_0207CEDC: ; 0x0207CEDC stmdb sp!, {r4, lr} mov r4, r0 bl EnableIrqFlag ldr r1, _0207CF10 ; =_022B9A20 ldr r2, [r1, #0xc] cmp r2, #0 streq r4, [r1, #8] strne r4, [r2] str r4, [r1, #0xc] mov r1, #0 str r1, [r4] bl SetIrqFlag ldmia sp!, {r4, pc} .align 2, 0 _0207CF10: .word _022B9A20 arm_func_end sub_0207CEDC arm_func_start sub_0207CF14 sub_0207CF14: ; 0x0207CF14 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 bl EnableIrqFlag ldr r4, _0207D0C4 ; =_022B9A20 mov sb, r0 ldr r1, [r4, #8] cmp r1, #0 bne _0207CF40 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0207CF40: ldr r1, [r4, #0x1c] cmp r1, #8 blt _0207CF98 tst sl, #1 bne _0207CF60 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0207CF60: mov r5, #1 _0207CF64: mov r0, r5 bl sub_0207CD44 ldr r0, [r4, #0x1c] cmp r0, #8 bge _0207CF64 ldr r0, _0207D0C4 ; =_022B9A20 ldr r0, [r0, #8] cmp r0, #0 bne _0207CF98 mov r0, sb bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0207CF98: ldr r0, _0207D0C8 ; =_022B9D00 mov r1, #0x1800 bl sub_0207A2DC ldr r1, _0207D0C4 ; =_022B9A20 mov r0, #7 ldr r1, [r1, #8] mov r2, #0 bl sub_0207DB20 cmp r0, #0 bge _0207D058 tst sl, #1 bne _0207CFD8 mov r0, sb bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0207CFD8: mov fp, #0 mov r5, #7 mov r8, fp ldr r7, _0207D0C8 ; =_022B9D00 mov r6, #0x1800 ldr r4, _0207D0C4 ; =_022B9A20 b _0207D034 _0207CFF4: mov r0, sb bl SetIrqFlag mov r0, r8 bl sub_0207CD44 bl EnableIrqFlag mov sb, r0 mov r0, r7 mov r1, r6 bl sub_0207A2DC ldr r0, [r4, #8] cmp r0, #0 bne _0207D034 mov r0, sb bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0207D034: ldr r0, [r4, #0x1c] cmp r0, #8 bge _0207CFF4 ldr r1, [r4, #8] mov r0, r5 mov r2, fp bl sub_0207DB20 cmp r0, #0 blt _0207CFF4 _0207D058: ldr r0, _0207D0C4 ; =_022B9A20 ldr r2, _0207D0CC ; =_022B9A44 ldr r3, [r0, #0x18] ldr r4, [r0, #8] add r1, r3, #1 str r4, [r2, r3, lsl #2] str r1, [r0, #0x18] cmp r1, #8 movgt r1, #0 strgt r1, [r0, #0x18] ldr r1, _0207D0C4 ; =_022B9A20 mov r0, #0 str r0, [r1, #8] str r0, [r1, #0xc] ldr r2, [r1, #0x1c] mov r0, sb add r2, r2, #1 str r2, [r1, #0x1c] ldr r2, [r1, #0x20] add r2, r2, #1 str r2, [r1, #0x20] bl SetIrqFlag tst sl, #2 beq _0207D0BC bl sub_0207D2D0 _0207D0BC: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0207D0C4: .word _022B9A20 _0207D0C8: .word _022B9D00 _0207D0CC: .word _022B9A44 arm_func_end sub_0207CF14 arm_func_start sub_0207D0D0 sub_0207D0D0: ; 0x0207D0D0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl sub_0207D168 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r4, #0 _0207D0E8: mov r0, r4 bl sub_0207CD44 cmp r0, #0 bne _0207D0E8 mov r0, r5 bl sub_0207D168 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} bl sub_0207D2D0 mov r0, r5 bl sub_0207D168 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r4, #1 _0207D120: mov r0, r4 bl sub_0207CD44 mov r0, r5 bl sub_0207D168 cmp r0, #0 beq _0207D120 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207D0D0 arm_func_start sub_0207D13C sub_0207D13C: ; 0x0207D13C stmdb sp!, {r4, lr} bl EnableIrqFlag ldr r1, _0207D164 ; =_022B9A20 ldr r2, [r1, #8] cmp r2, #0 ldreq r4, [r1, #4] ldrne r4, [r1, #0x20] bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0207D164: .word _022B9A20 arm_func_end sub_0207D13C arm_func_start sub_0207D168 sub_0207D168: ; 0x0207D168 stmdb sp!, {r4, lr} mov r4, r0 bl EnableIrqFlag ldr r1, _0207D1B4 ; =_022B9A20 ldr r1, [r1, #4] cmp r4, r1 bls _0207D198 sub r1, r4, r1 cmp r1, #0x80000000 movlo r4, #0 movhs r4, #1 b _0207D1A8 _0207D198: sub r1, r1, r4 cmp r1, #0x80000000 movlo r4, #1 movhs r4, #0 _0207D1A8: bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0207D1B4: .word _022B9A20 arm_func_end sub_0207D168 arm_func_start sub_0207D1B8 sub_0207D1B8: ; 0x0207D1B8 stmdb sp!, {r4, lr} bl EnableIrqFlag ldr r1, _0207D1F0 ; =_022B9A20 mov r4, #0 ldr r1, [r1] cmp r1, #0 beq _0207D1E4 _0207D1D4: ldr r1, [r1] add r4, r4, #1 cmp r1, #0 bne _0207D1D4 _0207D1E4: bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0207D1F0: .word _022B9A20 arm_func_end sub_0207D1B8 arm_func_start sub_0207D1F4 sub_0207D1F4: ; 0x0207D1F4 stmdb sp!, {r4, lr} bl EnableIrqFlag ldr r1, _0207D22C ; =_022B9A20 mov r4, #0 ldr r1, [r1, #8] cmp r1, #0 beq _0207D220 _0207D210: ldr r1, [r1] add r4, r4, #1 cmp r1, #0 bne _0207D210 _0207D220: bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0207D22C: .word _022B9A20 arm_func_end sub_0207D1F4 arm_func_start sub_0207D230 sub_0207D230: ; 0x0207D230 stmdb sp!, {r4, lr} bl sub_0207D1B8 mov r4, r0 bl sub_0207D1F4 rsb r1, r4, #0x100 sub r0, r1, r0 ldmia sp!, {r4, pc} arm_func_end sub_0207D230 arm_func_start sub_0207D24C sub_0207D24C: ; 0x0207D24C stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl EnableIrqFlag mov r4, r0 mov r0, r5 bl sub_0207D400 mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207D24C arm_func_start sub_0207D270 sub_0207D270: ; 0x0207D270 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0207D2CC ; =sub_0207D24C mov r0, #7 bl sub_0207DAB0 bl sub_0207D340 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #7 mov r1, #1 bl sub_0207DAFC cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r6, #0x64 mov r5, #7 mov r4, #1 _0207D2AC: mov r0, r6 bl sub_0207B854 mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _0207D2AC ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207D2CC: .word sub_0207D24C arm_func_end sub_0207D270 arm_func_start sub_0207D2D0 sub_0207D2D0: ; 0x0207D2D0 stmdb sp!, {r3, r4, r5, lr} mov r5, #7 mov r4, #0 _0207D2DC: mov r0, r5 mov r1, r4 mov r2, r4 bl sub_0207DB20 cmp r0, #0 blt _0207D2DC ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207D2D0 arm_func_start sub_0207D2F8 sub_0207D2F8: ; 0x0207D2F8 stmdb sp!, {r4, lr} bl EnableIrqFlag ldr r1, _0207D33C ; =_022B9A20 ldr r4, [r1] cmp r4, #0 bne _0207D31C bl SetIrqFlag mov r0, #0 ldmia sp!, {r4, pc} _0207D31C: ldr r2, [r4] str r2, [r1] cmp r2, #0 moveq r2, #0 streq r2, [r1, #0x10] bl SetIrqFlag mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0207D33C: .word _022B9A20 arm_func_end sub_0207D2F8 arm_func_start sub_0207D340 sub_0207D340: ; 0x0207D340 stmdb sp!, {r4, lr} bl sub_02079D98 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} bl EnableIrqFlag ldr r1, _0207D37C ; =0x04FFF200 mov r2, #0x10 str r2, [r1] ldr r4, [r1] bl SetIrqFlag cmp r4, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0207D37C: .word 0x04FFF200 arm_func_end sub_0207D340 arm_func_start sub_0207D380 sub_0207D380: ; 0x0207D380 mov r1, #0 ldr r2, _0207D3AC ; =_022BB500 mov r0, r1 _0207D38C: str r0, [r2] str r0, [r2, #4] add r1, r1, #1 strb r0, [r2, #8] cmp r1, #8 add r2, r2, #0xc blt _0207D38C bx lr .align 2, 0 _0207D3AC: .word _022BB500 arm_func_end sub_0207D380 arm_func_start sub_0207D3B0 sub_0207D3B0: ; 0x0207D3B0 ldr r2, _0207D3CC ; =_022BB500 mov r1, #0xc mla r1, r0, r1, r2 ldrb r0, [r1, #8] add r0, r0, #1 strb r0, [r1, #8] bx lr .align 2, 0 _0207D3CC: .word _022BB500 arm_func_end sub_0207D3B0 arm_func_start sub_0207D3D0 sub_0207D3D0: ; 0x0207D3D0 mov r3, #0xc mul r3, r0, r3 ldr r0, _0207D3FC ; =_022BB500 str r1, [r0, r3] add r1, r0, r3 str r2, [r1, #4] ldrb r0, [r1, #8] add r0, r0, #1 strb r0, [r1, #8] and r0, r0, #0xff bx lr .align 2, 0 _0207D3FC: .word _022BB500 arm_func_end sub_0207D3D0 arm_func_start sub_0207D400 sub_0207D400: ; 0x0207D400 stmdb sp!, {r3, lr} ldr r3, _0207D440 ; =_022BB500 and r2, r0, #0xff mov r1, #0xc mla r3, r2, r1, r3 mov r1, r0, asr #8 ldrb r0, [r3, #8] and r1, r1, #0xff cmp r1, r0 ldmneia sp!, {r3, pc} ldr r1, [r3] cmp r1, #0 ldmeqia sp!, {r3, pc} ldr r0, [r3, #4] blx r1 ldmia sp!, {r3, pc} .align 2, 0 _0207D440: .word _022BB500 arm_func_end sub_0207D400 arm_func_start sub_0207D444 sub_0207D444: ; 0x0207D444 stmdb sp!, {r3, lr} ldr r0, _0207D46C ; =_022BB560 mov r1, #4 ldr r0, [r0] add r0, r0, #4 bl sub_0207A2A4 ldr r0, _0207D46C ; =_022BB560 ldr r0, [r0] ldr r0, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _0207D46C: .word _022BB560 arm_func_end sub_0207D444 arm_func_start sub_0207D470 sub_0207D470: ; 0x0207D470 stmdb sp!, {r3, lr} ldr r0, _0207D498 ; =_022BB560 mov r1, #2 ldr r0, [r0] add r0, r0, #8 bl sub_0207A2A4 ldr r0, _0207D498 ; =_022BB560 ldr r0, [r0] ldrh r0, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 _0207D498: .word _022BB560 arm_func_end sub_0207D470 arm_func_start sub_0207D49C sub_0207D49C: ; 0x0207D49C stmdb sp!, {r3, lr} ldr r0, _0207D4C0 ; =_022BB560 mov r1, #4 ldr r0, [r0] bl sub_0207A2A4 ldr r0, _0207D4C0 ; =_022BB560 ldr r0, [r0] ldr r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0207D4C0: .word _022BB560 arm_func_end sub_0207D49C arm_func_start sub_0207D4C4 sub_0207D4C4: ; 0x0207D4C4 stmdb sp!, {r4, lr} mov ip, #0 str ip, [r0, #4] strh ip, [r0, #8] strh ip, [r0, #0xa] mov r4, r0 str ip, [r0] mvn r2, #0 mov r3, ip _0207D4E8: mov lr, r3 str r3, [r4, #0x40] _0207D4F0: add r1, r4, lr, lsl #1 add lr, lr, #1 strh r2, [r1, #0x20] cmp lr, #0x10 blt _0207D4F0 add ip, ip, #1 cmp ip, #0x10 add r4, r4, #0x24 blt _0207D4E8 mov r3, #0 mvn r2, #0 _0207D51C: add r1, r0, r3, lsl #1 add r1, r1, #0x200 add r3, r3, #1 strh r2, [r1, #0x60] cmp r3, #0x10 blt _0207D51C mov r1, #0x280 bl sub_0207A2DC ldmia sp!, {r4, pc} arm_func_end sub_0207D4C4 arm_func_start sub_0207D540 sub_0207D540: ; 0x0207D540 ldr r1, _0207D5A8 ; =0xFFFFFD2D cmp r0, r1 movlt r0, r1 blt _0207D558 cmp r0, #0 movgt r0, #0 _0207D558: add r1, r0, #0xd3 mvn r2, #0xef cmp r0, r2 ldr r3, _0207D5AC ; =ARM9_UNKNOWN_TABLE__NA_20AE924 add r1, r1, #0x200 ldrb r3, [r3, r1] movlt r0, #3 blt _0207D598 add r1, r2, #0x78 cmp r0, r1 movlt r0, #2 blt _0207D598 add r1, r2, #0xb4 cmp r0, r1 movlt r0, #1 movge r0, #0 _0207D598: orr r0, r3, r0, lsl #8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr .align 2, 0 _0207D5A8: .word 0xFFFFFD2D _0207D5AC: .word ARM9_UNKNOWN_TABLE__NA_20AE924 arm_func_end sub_0207D540 arm_func_start sub_0207D5B0 sub_0207D5B0: ; 0x0207D5B0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_0207CC48 add r3, r6, r5, lsl #3 ldr r2, [r3, #0x18] cmp r2, #0 beq _0207D640 cmp r4, r2 bne _0207D5E4 bl sub_0207CC5C ldmia sp!, {r4, r5, r6, pc} _0207D5E4: add r1, r6, #0x18 ldr r0, [r2, #0x18] add ip, r1, r5, lsl #3 cmp ip, r0 bne _0207D610 ldr r0, [r3, #0x1c] mov r1, #0x3c str r0, [r2, #0x18] ldr r0, [r3, #0x18] bl sub_0207A2C0 b _0207D640 _0207D610: cmp r0, #0 beq _0207D62C _0207D618: ldr r1, [r0, #4] cmp ip, r1 movne r0, r1 cmpne r1, #0 bne _0207D618 _0207D62C: add r1, r6, r5, lsl #3 ldr r2, [r1, #0x1c] mov r1, #8 str r2, [r0, #4] bl sub_0207A2C0 _0207D640: add r0, r6, #0x18 ldr r1, [r4, #0x18] add r0, r0, r5, lsl #3 str r0, [r4, #0x18] add r0, r6, r5, lsl #3 str r1, [r0, #0x1c] str r4, [r0, #0x18] bl sub_0207CC5C mov r0, r6 mov r1, #0x3c bl sub_0207A2C0 mov r0, r4 mov r1, #0x3c bl sub_0207A2C0 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207D5B0 arm_func_start sub_0207D67C sub_0207D67C: ; 0x0207D67C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 bl sub_0207CC48 add r5, r7, #0x18 mov r6, #0 mov r8, #8 mov r4, #0x3c _0207D698: add r1, r7, r6, lsl #3 ldr r0, [r1, #0x18] cmp r0, #0 beq _0207D6FC ldr r3, [r0, #0x18] cmp r5, r3 bne _0207D6C8 ldr r2, [r1, #0x1c] mov r1, r4 str r2, [r0, #0x18] bl sub_0207A2C0 b _0207D6FC _0207D6C8: cmp r3, #0 beq _0207D6E4 _0207D6D0: ldr r0, [r3, #4] cmp r5, r0 movne r3, r0 cmpne r0, #0 bne _0207D6D0 _0207D6E4: add r0, r7, r6, lsl #3 ldr r2, [r0, #0x1c] mov r0, r3 mov r1, r8 str r2, [r3, #4] bl sub_0207A2C0 _0207D6FC: add r6, r6, #1 cmp r6, #4 add r5, r5, #8 blt _0207D698 bl sub_0207CC5C ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207D67C arm_func_start sub_0207D714 sub_0207D714: ; 0x0207D714 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 bl sub_0207CC48 ldr r0, [r4, #0x18] cmp r0, #0 beq _0207D754 mov r5, #0 mov r4, #8 _0207D734: ldr r6, [r0, #4] mov r1, r4 str r5, [r0] str r5, [r0, #4] bl sub_0207A2C0 mov r0, r6 cmp r6, #0 bne _0207D734 _0207D754: bl sub_0207CC5C ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207D714 arm_func_start sub_0207D75C sub_0207D75C: ; 0x0207D75C sub sp, sp, #8 mov r1, #0 str r1, [r0] str r1, [sp] str r1, [sp, #4] str r1, [r0, #4] add sp, sp, #8 bx lr arm_func_end sub_0207D75C arm_func_start sub_0207D77C sub_0207D77C: ; 0x0207D77C stmdb sp!, {r3, r4, r5, lr} ldr r4, [r2] ldr r3, [r0, #0x38] cmp r4, r3 bhs _0207D924 mov ip, #0 _0207D794: add r3, r0, r4, lsl #2 ldr r4, [r3, #0x3c] and r3, r4, #0xff strb r4, [r1] cmp r3, #0x10 mov r4, r4, lsr #8 bgt _0207D7DC cmp r3, #0x10 bge _0207D828 cmp r3, #5 addls pc, pc, r3, lsl #2 b _0207D908 _0207D7C4: ; jump table b _0207D908 ; case 0 b _0207D7E8 ; case 1 b _0207D7E8 ; case 2 b _0207D7E8 ; case 3 b _0207D7E8 ; case 4 b _0207D7E8 ; case 5 _0207D7DC: cmp r3, #0x11 beq _0207D89C b _0207D908 _0207D7E8: add r5, r0, r4 ldrh r4, [r0, r4] ldrh r3, [r5, #2] mov r0, #1 strh r4, [r1, #2] strh r3, [r1, #4] ldrh r4, [r5, #4] ldrh r3, [r5, #6] strh r4, [r1, #6] strh r3, [r1, #8] ldrh r3, [r5, #8] strh r3, [r1, #0xa] ldr r1, [r2] add r1, r1, #1 str r1, [r2] ldmia sp!, {r3, r4, r5, pc} _0207D828: add r5, r0, r4 b _0207D87C _0207D830: mov r0, #0xc mla ip, lr, r0, r5 ldrh r4, [ip, #2] ldrh r3, [ip, #4] mov r0, #1 strh r4, [r1] strh r3, [r1, #2] ldrh r4, [ip, #6] ldrh r3, [ip, #8] strh r4, [r1, #4] strh r3, [r1, #6] ldrh r4, [ip, #0xa] ldrh r3, [ip, #0xc] strh r4, [r1, #8] strh r3, [r1, #0xa] ldr r1, [r2, #4] add r1, r1, #1 str r1, [r2, #4] ldmia sp!, {r3, r4, r5, pc} _0207D87C: ldrb r4, [r5, #1] ldrb r3, [r5] ldr lr, [r2, #4] sub r3, r4, r3 add r3, r3, #1 cmp lr, r3 blo _0207D830 b _0207D908 _0207D89C: add r4, r0, r4 b _0207D8FC _0207D8A4: ldrb lr, [r4, r3] cmp lr, #0 beq _0207D908 mov r0, #0xc mla lr, r3, r0, r4 ldrh ip, [lr, #8] ldrh r3, [lr, #0xa] mov r0, #1 strh ip, [r1] strh r3, [r1, #2] ldrh ip, [lr, #0xc] ldrh r3, [lr, #0xe] strh ip, [r1, #4] strh r3, [r1, #6] ldrh ip, [lr, #0x10] ldrh r3, [lr, #0x12] strh ip, [r1, #8] strh r3, [r1, #0xa] ldr r1, [r2, #4] add r1, r1, #1 str r1, [r2, #4] ldmia sp!, {r3, r4, r5, pc} _0207D8FC: ldr r3, [r2, #4] cmp r3, #8 blo _0207D8A4 _0207D908: ldr r3, [r2] add r3, r3, #1 stmia r2, {r3, ip} ldr r4, [r2] ldr r3, [r0, #0x38] cmp r4, r3 blo _0207D794 _0207D924: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207D77C arm_func_start sub_0207D92C sub_0207D92C: ; 0x0207D92C ldr r0, [r0, #0x38] bx lr arm_func_end sub_0207D92C arm_func_start sub_0207D934 sub_0207D934: ; 0x0207D934 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_0207CC48 add r0, r6, #0x3c add r2, r6, r5, lsl #2 add r0, r0, r5, lsl #2 mov r1, #4 str r4, [r2, #0x3c] bl sub_0207A2C0 bl sub_0207CC5C ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207D934 arm_func_start sub_0207D968 sub_0207D968: ; 0x0207D968 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl sub_0207CC48 add r0, r5, r4, lsl #2 ldr r4, [r0, #0x3c] cmp r4, #0 beq _0207D994 cmp r4, #0x2000000 addlo r4, r5, r4 b _0207D998 _0207D994: mov r4, #0 _0207D998: bl sub_0207CC5C mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207D968 arm_func_start sub_0207D9A4 sub_0207D9A4: ; 0x0207D9A4 ldr ip, _0207D9AC ; =sub_0207D9B0 bx ip .align 2, 0 _0207D9AC: .word sub_0207D9B0 arm_func_end sub_0207D9A4 arm_func_start sub_0207D9B0 sub_0207D9B0: ; 0x0207D9B0 stmdb sp!, {r3, r4, r5, lr} bl EnableIrqFlag ldr r1, _0207DA94 ; =_022BB564 mov r4, r0 ldrh r0, [r1] cmp r0, #0 bne _0207DA88 mov r2, #1 strh r2, [r1] mov r2, #0 ldr r0, _0207DA98 ; =0x027FFC00 mov r1, r2 str r2, [r0, #0x388] ldr r0, _0207DA9C ; =_022BB568 _0207D9E8: str r1, [r0, r2, lsl #2] add r2, r2, #1 cmp r2, #0x20 blt _0207D9E8 ldr r2, _0207DAA0 ; =0x0000C408 ldr r1, _0207DAA4 ; =0x04000184 mov r0, #0x40000 strh r2, [r1] bl sub_02078CC8 ldr r1, _0207DAA8 ; =sub_0207DBA8 mov r0, #0x40000 bl sub_02078A98 mov r0, #0x40000 bl sub_02078C68 mov r5, #0 ldr r3, _0207DAAC ; =0x04000180 mov r1, r5 mov r2, #0x3e8 _0207DA30: ldrh r0, [r3] ands lr, r0, #0xf mov r0, lr, lsl #8 strh r0, [r3] bne _0207DA4C cmp r5, #4 bgt _0207DA88 _0207DA4C: ldrh r0, [r3] mov ip, r2 and r0, r0, #0xf cmp r0, lr bne _0207DA80 _0207DA60: cmp ip, #0 movle r5, r1 ble _0207DA80 ldrh r0, [r3] sub ip, ip, #1 and r0, r0, #0xf cmp r0, lr beq _0207DA60 _0207DA80: add r5, r5, #1 b _0207DA30 _0207DA88: mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207DA94: .word _022BB564 _0207DA98: .word 0x027FFC00 _0207DA9C: .word _022BB568 _0207DAA0: .word 0x0000C408 _0207DAA4: .word 0x04000184 _0207DAA8: .word sub_0207DBA8 _0207DAAC: .word 0x04000180 arm_func_end sub_0207D9B0 arm_func_start sub_0207DAB0 sub_0207DAB0: ; 0x0207DAB0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl EnableIrqFlag ldr r1, _0207DAF4 ; =_022BB568 ldr r3, _0207DAF8 ; =0x027FFC00 str r5, [r1, r4, lsl #2] cmp r5, #0 ldrne r2, [r3, #0x388] mov r1, #1 orrne r1, r2, r1, lsl r4 mvneq r1, r1, lsl r4 ldreq r2, [r3, #0x388] andeq r1, r2, r1 str r1, [r3, #0x388] bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207DAF4: .word _022BB568 _0207DAF8: .word 0x027FFC00 arm_func_end sub_0207DAB0 arm_func_start sub_0207DAFC sub_0207DAFC: ; 0x0207DAFC ldr r2, _0207DB1C ; =0x027FFC00 mov r3, #1 add r1, r2, r1, lsl #2 ldr r1, [r1, #0x388] tst r1, r3, lsl r0 moveq r3, #0 mov r0, r3 bx lr .align 2, 0 _0207DB1C: .word 0x027FFC00 arm_func_end sub_0207DAFC arm_func_start sub_0207DB20 sub_0207DB20: ; 0x0207DB20 stmdb sp!, {r3, lr} ldr ip, [sp] ldr r3, _0207DBA4 ; =0x04000184 bic ip, ip, #0x1f and r0, r0, #0x1f orr ip, ip, r0 ldrh r0, [r3] bic ip, ip, #0x20 mov r2, r2, lsl #0x1f orr r2, ip, r2, lsr #26 and r2, r2, #0x3f orr r1, r2, r1, lsl #6 str r1, [sp] tst r0, #0x4000 beq _0207DB70 ldrh r1, [r3] mvn r0, #0 orr r1, r1, #0xc000 strh r1, [r3] ldmia sp!, {r3, pc} _0207DB70: bl EnableIrqFlag ldr r2, _0207DBA4 ; =0x04000184 ldrh r1, [r2] tst r1, #2 beq _0207DB90 bl SetIrqFlag mvn r0, #1 ldmia sp!, {r3, pc} _0207DB90: ldr r1, [sp] str r1, [r2, #4] bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0207DBA4: .word 0x04000184 arm_func_end sub_0207DB20 arm_func_start sub_0207DBA8 sub_0207DBA8: ; 0x0207DBA8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 mvn r8, #3 ldr r6, [sp] ldr sb, _0207DCB8 ; =0x04000184 ldr r4, _0207DCBC ; =_022BB568 add sl, r8, #1 mov r7, #0x4100000 mov r5, #0 _0207DBCC: ldrh r0, [sb] tst r0, #0x4000 beq _0207DBEC ldrh r0, [sb] add r1, r8, #1 orr r0, r0, #0xc000 strh r0, [sb] b _0207DC18 _0207DBEC: bl EnableIrqFlag ldrh r1, [sb] tst r1, #0x100 beq _0207DC08 bl SetIrqFlag mov r1, r8 b _0207DC18 _0207DC08: ldr r6, [r7] str r6, [sp] bl SetIrqFlag mov r1, r5 _0207DC18: cmp r1, r8 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} cmp r1, sl beq _0207DBCC mov r0, r6, lsl #0x1b movs r0, r0, lsr #0x1b beq _0207DBCC ldr r3, [r4, r0, lsl #2] cmp r3, #0 beq _0207DC58 mov r2, r6, lsl #0x1a mov r1, r6, lsr #6 mov r2, r2, lsr #0x1f blx r3 b _0207DBCC _0207DC58: mov r0, r6, lsl #0x1a movs r0, r0, lsr #0x1f bne _0207DBCC ldrh r0, [sb] orr r6, r6, #0x20 str r6, [sp] tst r0, #0x4000 beq _0207DC88 ldrh r0, [sb] orr r0, r0, #0xc000 strh r0, [sb] b _0207DBCC _0207DC88: bl EnableIrqFlag ldrh r1, [sb] tst r1, #2 beq _0207DCA0 bl SetIrqFlag b _0207DBCC _0207DCA0: mov r1, r6 str r1, [sb, #4] bl SetIrqFlag b _0207DBCC _0207DCB0: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0207DCB8: .word 0x04000184 _0207DCBC: .word _022BB568 arm_func_end sub_0207DBA8 arm_func_start sub_0207DCC0 sub_0207DCC0: ; 0x0207DCC0 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r1 bl EnableIrqFlag ldr r1, [r5] mov r6, r0 ldr r0, [r5, #4] cmp r1, #0 strne r0, [r1, #4] cmp r0, #0 strne r1, [r0] mov r0, #0 str r0, [r5] str r0, [r5, #4] ldr r1, [r5, #0xc] add r0, r5, #0x18 bic r1, r1, #0x4f str r1, [r5, #0xc] str r4, [r5, #0x14] bl sub_020798D8 mov r0, r6 bl SetIrqFlag ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207DCC0 arm_func_start sub_0207DD1C sub_0207DD1C: ; 0x0207DD1C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 ldr r0, [r8, #0xc] ldr r5, [r8, #8] mov r7, r1 mov r1, #1 tst r0, #4 mov r6, r1, lsl r7 moveq r1, #0 ldr r0, [r5, #0x1c] cmp r1, #0 orrne r0, r0, #0x200 orreq r0, r0, #0x100 str r0, [r5, #0x1c] ldr r0, [r5, #0x58] tst r0, r6 beq _0207DDC4 ldr r2, [r5, #0x54] mov r0, r8 mov r1, r7 blx r2 mov r4, r0 cmp r4, #8 addls pc, pc, r4, lsl #2 b _0207DDC8 _0207DD80: ; jump table b _0207DDA4 ; case 0 b _0207DDA4 ; case 1 b _0207DDC8 ; case 2 b _0207DDC8 ; case 3 b _0207DDA4 ; case 4 b _0207DDC8 ; case 5 b _0207DDC8 ; case 6 b _0207DDC8 ; case 7 b _0207DDAC ; case 8 _0207DDA4: str r4, [r8, #0x14] b _0207DDC8 _0207DDAC: ldr r1, [r5, #0x58] mvn r0, r6 and r0, r1, r0 str r0, [r5, #0x58] mov r4, #7 b _0207DDC8 _0207DDC4: mov r4, #7 _0207DDC8: cmp r4, #7 bne _0207DDE4 ldr r1, _0207DEA8 ; =_020AEBF8 mov r0, r8 ldr r1, [r1, r7, lsl #2] blx r1 mov r4, r0 _0207DDE4: cmp r4, #6 bne _0207DE5C ldr r0, [r8, #0xc] tst r0, #4 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207DEA0 bl EnableIrqFlag ldr r1, [r5, #0x1c] mov r7, r0 tst r1, #0x200 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207DE4C mov r4, #0 mov r6, #1 _0207DE2C: add r0, r5, #0xc bl sub_02079888 ldr r0, [r5, #0x1c] tst r0, #0x200 movne r0, r6 moveq r0, r4 cmp r0, #0 bne _0207DE2C _0207DE4C: mov r0, r7 ldr r4, [r8, #0x14] bl SetIrqFlag b _0207DEA0 _0207DE5C: ldr r0, [r8, #0xc] tst r0, #4 movne r0, #1 moveq r0, #0 cmp r0, #0 bne _0207DE90 ldr r1, [r5, #0x1c] mov r0, r8 bic r2, r1, #0x100 mov r1, r4 str r2, [r5, #0x1c] bl sub_0207DCC0 b _0207DEA0 _0207DE90: ldr r0, [r5, #0x1c] bic r0, r0, #0x200 str r0, [r5, #0x1c] str r4, [r8, #0x14] _0207DEA0: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0207DEA8: .word _020AEBF8 arm_func_end sub_0207DD1C arm_func_start sub_0207DEAC sub_0207DEAC: ; 0x0207DEAC stmdb sp!, {r3, lr} cmp r2, #0 mov lr, #0 bls _0207DEF4 _0207DEBC: ldrb ip, [r0, lr] ldrb r3, [r1, lr] sub ip, ip, #0x41 cmp ip, #0x19 sub r3, r3, #0x41 addls ip, ip, #0x20 cmp r3, #0x19 addls r3, r3, #0x20 cmp ip, r3 subne r0, ip, r3 ldmneia sp!, {r3, pc} add lr, lr, #1 cmp lr, r2 blo _0207DEBC _0207DEF4: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0207DEAC arm_func_start sub_0207DEFC sub_0207DEFC: ; 0x0207DEFC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r0 ldr r4, [r7] mov r6, r2 ldr r2, [r4, #0x1c] mov r0, r4 orr r2, r2, #0x200 str r2, [r4, #0x1c] ldr r2, [r7, #4] ldr r5, [r4, #0x50] mov r3, r6 blx r5 cmp r0, #0 cmpne r0, #1 beq _0207DF44 cmp r0, #6 beq _0207DF54 b _0207DFAC _0207DF44: ldr r1, [r4, #0x1c] bic r1, r1, #0x200 str r1, [r4, #0x1c] b _0207DFAC _0207DF54: bl EnableIrqFlag ldr r1, [r4, #0x1c] mov r5, r0 tst r1, #0x200 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207DF9C mov r8, #0 mov sb, #1 _0207DF7C: add r0, r4, #0xc bl sub_02079888 ldr r0, [r4, #0x1c] tst r0, #0x200 movne r0, sb moveq r0, r8 cmp r0, #0 bne _0207DF7C _0207DF9C: mov r0, r5 bl SetIrqFlag ldr r0, [r4, #0x24] ldr r0, [r0, #0x14] _0207DFAC: ldr r1, [r7, #4] add r1, r1, r6 str r1, [r7, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0207DEFC arm_func_start sub_0207DFBC sub_0207DFBC: ; 0x0207DFBC ldr r3, [r0, #0xc] mov r2, #0 orr r3, r3, #4 str r3, [r0, #0xc] ldr r3, [r0, #8] ldr ip, _0207DFEC ; =sub_0207DD1C str r3, [r0, #0x30] str r2, [r0, #0x38] strh r2, [r0, #0x36] strh r1, [r0, #0x34] mov r1, #2 bx ip .align 2, 0 _0207DFEC: .word sub_0207DD1C arm_func_end sub_0207DFBC arm_func_start sub_0207DFF0 sub_0207DFF0: ; 0x0207DFF0 stmdb sp!, {r3, lr} ldr r2, [r0, #0x2c] ldr r3, [r0, #0x38] ldr lr, [r0, #8] ldr r1, [r0, #0x30] add ip, r2, r3 str ip, [r0, #0x2c] ldr ip, [lr, #0x48] mov r0, lr blx ip ldmia sp!, {r3, pc} arm_func_end sub_0207DFF0 arm_func_start sub_0207E01C sub_0207E01C: ; 0x0207E01C stmdb sp!, {r3, lr} ldr r2, [r0, #0x2c] ldr r3, [r0, #0x38] ldr lr, [r0, #8] ldr r1, [r0, #0x30] add ip, r2, r3 str ip, [r0, #0x2c] ldr ip, [lr, #0x4c] mov r0, lr blx ip ldmia sp!, {r3, pc} arm_func_end sub_0207E01C arm_func_start sub_0207E048 sub_0207E048: ; 0x0207E048 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r6, r0 ldr r4, [r6, #8] add r5, r6, #0x30 str r4, [sp] ldrh r1, [r5, #4] ldr r2, [r4, #0x34] add r0, sp, #0 add r3, r2, r1, lsl #3 add r1, sp, #8 mov r2, #8 str r3, [sp, #4] bl sub_0207DEFC movs r3, r0 bne _0207E0D0 add ip, r6, #0x20 ldmia r5, {r0, r1, r2} stmia ip, {r0, r1, r2} ldrh r0, [r5, #6] cmp r0, #0 ldreq r0, [r5, #8] cmpeq r0, #0 bne _0207E0C0 ldrh r0, [sp, #0xc] strh r0, [r6, #0x26] ldr r1, [r4, #0x34] ldr r0, [sp, #8] add r0, r1, r0 str r0, [r6, #0x28] _0207E0C0: ldrh r1, [sp, #0xe] ldr r0, _0207E0DC ; =0x00000FFF and r0, r1, r0 str r0, [r6, #0x2c] _0207E0D0: mov r0, r3 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207E0DC: .word 0x00000FFF arm_func_end sub_0207E048 arm_func_start sub_0207E0E0 sub_0207E0E0: ; 0x0207E0E0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 ldr r4, [r5, #0x30] ldr r1, [r5, #8] add r0, sp, #4 str r1, [sp, #4] ldr r3, [r5, #0x28] add r1, sp, #0 mov r2, #1 str r3, [sp, #8] bl sub_0207DEFC cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, pc} ldrb r1, [sp] and r2, r1, #0x7f mov r1, r1, asr #7 str r2, [r4, #0x10] and r1, r1, #1 str r1, [r4, #0xc] ldr r2, [r4, #0x10] cmp r2, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r4, r5, pc} ldr r1, [r5, #0x34] cmp r1, #0 bne _0207E180 add r0, sp, #4 add r1, r4, #0x14 bl sub_0207DEFC cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, pc} ldr r1, [r4, #0x10] mov r2, #0 add r1, r4, r1 strb r2, [r1, #0x14] b _0207E18C _0207E180: ldr r1, [sp, #8] add r1, r1, r2 str r1, [sp, #8] _0207E18C: ldr r1, [r4, #0xc] cmp r1, #0 beq _0207E1DC add r0, sp, #4 add r1, sp, #2 mov r2, #2 bl sub_0207DEFC cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, pc} ldr r2, [r5, #8] ldr r1, _0207E208 ; =0x00000FFF str r2, [r4] ldrh r3, [sp, #2] mov r2, #0 and r1, r3, r1 strh r1, [r4, #4] strh r2, [r4, #6] str r2, [r4, #8] b _0207E1F8 _0207E1DC: ldr r1, [r5, #8] str r1, [r4] ldrh r1, [r5, #0x26] str r1, [r4, #4] ldrh r1, [r5, #0x26] add r1, r1, #1 strh r1, [r5, #0x26] _0207E1F8: ldr r1, [sp, #8] str r1, [r5, #0x28] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 _0207E208: .word 0x00000FFF arm_func_end sub_0207E0E0 arm_func_start sub_0207E20C sub_0207E20C: ; 0x0207E20C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x94 mov sb, r0 ldr r5, [sb, #0x3c] mov r1, #2 ldr r6, [sb, #0x40] bl sub_0207DD1C ldrb r3, [r5] cmp r3, #0 beq _0207E3C4 _0207E234: mov r8, #0 mov r0, #1 mov r1, r8 b _0207E248 _0207E244: add r8, r8, #1 _0207E248: ldrb r7, [r5, r8] mov r2, r1 cmp r7, #0 cmpne r7, #0x2f cmpne r7, #0x5c movne r2, r0 cmp r2, #0 bne _0207E244 cmp r7, #0 cmpeq r6, #0 movne r7, #1 cmp r8, #0 addeq sp, sp, #0x94 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} cmp r3, #0x2e bne _0207E2DC cmp r8, #1 addeq r5, r5, #1 beq _0207E3A8 ldrb r0, [r5, #1] cmp r8, #2 moveq r1, #1 movne r1, #0 cmp r0, #0x2e moveq r0, #1 movne r0, #0 tst r1, r0 beq _0207E2DC ldrh r0, [sb, #0x24] cmp r0, #0 beq _0207E2D4 ldr r1, [sb, #0x2c] mov r0, sb bl sub_0207DFBC _0207E2D4: add r5, r5, #2 b _0207E3A8 _0207E2DC: cmp r8, #0x7f addgt sp, sp, #0x94 movgt r0, #1 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} add r1, sp, #0 mov r0, #0 str r1, [sb, #0x30] str r0, [sb, #0x34] add sl, sp, #0x14 mov r4, #3 _0207E304: mov r0, sb mov r1, r4 bl sub_0207DD1C cmp r0, #0 addne sp, sp, #0x94 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} ldr r0, [sp, #0xc] cmp r7, r0 ldreq r0, [sp, #0x10] cmpeq r8, r0 bne _0207E304 mov r0, r5 mov r1, sl mov r2, r8 bl sub_0207DEAC cmp r0, #0 bne _0207E304 cmp r7, #0 beq _0207E378 add r0, sp, #0 add r3, sb, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, sb mov r1, #2 add r5, r5, r8 bl sub_0207DD1C b _0207E3A8 _0207E378: cmp r6, #0 addne sp, sp, #0x94 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} ldr r3, [sb, #0x44] ldr r2, [sp] ldr r1, [sp, #4] add sp, sp, #0x94 str r2, [r3] mov r0, #0 str r1, [r3, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _0207E3A8: ldrb r0, [r5] cmp r0, #0 movne r0, #1 moveq r0, #0 ldrb r3, [r5, r0]! cmp r3, #0 bne _0207E234 _0207E3C4: cmp r6, #0 addeq sp, sp, #0x94 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} ldr r3, [sb, #0x44] add r0, sb, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 add sp, sp, #0x94 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_0207E20C arm_func_start sub_0207E3F0 sub_0207E3F0: ; 0x0207E3F0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xe0 mov sl, r0 ldr r1, [sl, #8] add r0, sp, #4 str r1, [sp] bl FileInit ldr r0, [sl, #8] str r0, [sp, #0xc] ldr r0, [sl, #0xc] tst r0, #0x20 movne r0, #1 moveq r0, #0 cmp r0, #0 ldrneh sb, [sl, #0x24] movne r6, #0x10000 bne _0207E4D4 ldrh r0, [sl, #0x38] ldr r6, [sl, #0x20] cmp r0, #0 ldrneh sb, [sl, #0x3a] bne _0207E4D4 mov r7, #0 mov r8, r7 mov sb, #0x10000 add r5, sp, #4 mov r4, #3 add fp, sp, #0x4c _0207E460: mov r0, r5 mov r1, r7 bl sub_0207DFBC mov r2, #1 cmp r7, #0 mov r0, r5 mov r1, #3 ldreq r8, [sp, #0x30] str fp, [sp, #0x34] str r2, [sp, #0x38] bl sub_0207DD1C cmp r0, #0 bne _0207E4C0 _0207E494: ldr r0, [sp, #0x58] cmp r0, #0 ldreq r0, [sp, #0x50] cmpeq r0, r6 ldreqh sb, [sp, #0x28] beq _0207E4C0 mov r0, r5 mov r1, r4 bl sub_0207DD1C cmp r0, #0 beq _0207E494 _0207E4C0: cmp sb, #0x10000 bne _0207E4D4 add r7, r7, #1 cmp r7, r8 blo _0207E460 _0207E4D4: cmp sb, #0x10000 bne _0207E4F0 mov r0, #0 strh r0, [sl, #0x38] add sp, sp, #0xe0 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0207E4F0: ldrh r0, [sl, #0x38] cmp r0, #0 bne _0207E5D4 ldr r0, [sp] mov r1, #0 ldr r0, [r0] cmp r0, #0xff addls r8, r1, #1 bls _0207E520 cmp r0, #0xff00 addls r8, r1, #2 addhi r8, r1, #3 _0207E520: cmp r6, #0x10000 ldrne r0, [sp, #0x5c] add r8, r8, #2 addne r8, r8, r0 mov r7, sb cmp sb, #0 beq _0207E5C8 add r0, sp, #4 mov r1, sb bl sub_0207DFBC add r5, sp, #4 mov r4, #3 add fp, sp, #0x4c _0207E554: ldr r1, [sp, #0x30] mov r0, r5 bl sub_0207DFBC mov r1, #1 str r1, [sp, #0x38] mov r0, r5 mov r1, #3 str fp, [sp, #0x34] bl sub_0207DD1C cmp r0, #0 bne _0207E5BC _0207E580: ldr r0, [sp, #0x58] cmp r0, #0 beq _0207E5A8 ldrh r0, [sp, #0x50] cmp r0, r7 bne _0207E5A8 ldr r0, [sp, #0x5c] add r0, r0, #1 add r8, r8, r0 b _0207E5BC _0207E5A8: mov r0, r5 mov r1, r4 bl sub_0207DD1C cmp r0, #0 beq _0207E580 _0207E5BC: ldrh r7, [sp, #0x28] cmp r7, #0 bne _0207E554 _0207E5C8: add r0, r8, #1 strh r0, [sl, #0x38] strh sb, [sl, #0x3a] _0207E5D4: ldr r5, [sl, #0x30] cmp r5, #0 addeq sp, sp, #0xe0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrh r4, [sl, #0x38] ldr r0, [sl, #0x34] cmp r0, r4 addlo sp, sp, #0xe0 movlo r0, #1 ldmloia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp] mov r7, #0 ldr r0, [r0] cmp r0, #0xff movls r8, #1 bls _0207E624 cmp r0, #0xff00 movls r8, #2 movhi r8, #3 _0207E624: ldr r0, [sp] mov r1, r5 mov r2, r8 bl MemcpyFast add r1, r7, r8 ldr r0, _0207E798 ; =_020B2BB0 add r1, r5, r1 mov r2, #2 bl MemcpyFast add r0, sp, #4 mov r1, sb bl sub_0207DFBC cmp r6, #0x10000 beq _0207E6D4 add r3, sp, #0x4c mov r2, #0 add r0, sp, #4 mov r1, #3 str r3, [sp, #0x34] str r2, [sp, #0x38] bl sub_0207DD1C cmp r0, #0 bne _0207E6B0 add r8, sp, #4 mov r7, #3 _0207E688: ldr r0, [sp, #0x58] cmp r0, #0 ldreq r0, [sp, #0x50] cmpeq r0, r6 beq _0207E6B0 mov r0, r8 mov r1, r7 bl sub_0207DD1C cmp r0, #0 beq _0207E688 _0207E6B0: ldr r0, [sp, #0x5c] add r1, r5, r4 add r6, r0, #1 add r0, sp, #0x60 mov r2, r6 sub r1, r1, r6 bl MemcpyFast sub r4, r4, r6 b _0207E6E4 _0207E6D4: add r0, r5, r4 mov r1, #0 strb r1, [r0, #-1] sub r4, r4, #1 _0207E6E4: cmp sb, #0 beq _0207E78C add sl, sp, #4 mov r6, #3 add r8, sp, #0x4c mov r7, #0 mov fp, #0x2f _0207E700: ldr r1, [sp, #0x30] mov r0, sl bl sub_0207DFBC add r1, r5, r4 str r8, [sp, #0x34] str r7, [sp, #0x38] strb fp, [r1, #-1] mov r0, sl mov r1, #3 sub r4, r4, #1 bl sub_0207DD1C cmp r0, #0 bne _0207E780 _0207E734: ldr r0, [sp, #0x58] cmp r0, #0 beq _0207E76C ldrh r0, [sp, #0x50] cmp r0, sb bne _0207E76C ldr sb, [sp, #0x5c] add r1, r5, r4 add r0, sp, #0x60 mov r2, sb sub r1, r1, sb bl MemcpyFast sub r4, r4, sb b _0207E780 _0207E76C: mov r0, sl mov r1, r6 bl sub_0207DD1C cmp r0, #0 beq _0207E734 _0207E780: ldrh sb, [sp, #0x28] cmp sb, #0 bne _0207E700 _0207E78C: mov r0, #0 add sp, sp, #0xe0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0207E798: .word _020B2BB0 arm_func_end sub_0207E3F0 arm_func_start sub_0207E79C sub_0207E79C: ; 0x0207E79C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 ldr r1, [r5, #8] ldr r4, [r5, #0x34] ldr r0, [r1, #0x30] mov r2, r4, lsl #3 cmp r0, r4, lsl #3 addls sp, sp, #0x10 movls r0, #1 ldmlsia sp!, {r3, r4, r5, pc} str r1, [sp] ldr r1, [r1, #0x2c] add r0, sp, #0 add r3, r1, r2 add r1, sp, #8 mov r2, #8 str r3, [sp, #4] bl sub_0207DEFC cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [sp, #8] mov r0, r5 str r1, [r5, #0x30] ldr r2, [sp, #0xc] mov r1, #7 str r2, [r5, #0x34] str r4, [r5, #0x38] bl sub_0207DD1C add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207E79C arm_func_start sub_0207E81C sub_0207E81C: ; 0x0207E81C ldr r1, [r0, #0x30] str r1, [r0, #0x24] ldr r1, [r0, #0x30] str r1, [r0, #0x2c] ldr r1, [r0, #0x34] str r1, [r0, #0x28] ldr r1, [r0, #0x38] str r1, [r0, #0x20] mov r0, #0 bx lr arm_func_end sub_0207E81C arm_func_start sub_0207E844 sub_0207E844: ; 0x0207E844 mov r0, #0 bx lr arm_func_end sub_0207E844 arm_func_start sub_0207E84C sub_0207E84C: ; 0x0207E84C stmdb sp!, {r3, lr} cmp r1, #3 mov r3, #0 bgt _0207E89C mov ip, r3 cmp r1, #0 ble _0207E89C mov lr, r3 _0207E86C: ldrb r2, [r0, ip] cmp r2, #0 beq _0207E89C sub r2, r2, #0x41 cmp r2, #0x19 addls r2, r2, #0x61 addhi r2, r2, #0x41 add ip, ip, #1 orr r3, r3, r2, lsl lr cmp ip, r1 add lr, lr, #8 blt _0207E86C _0207E89C: mov r0, r3 ldmia sp!, {r3, pc} arm_func_end sub_0207E84C arm_func_start sub_0207E8A4 sub_0207E8A4: ; 0x0207E8A4 stmdb sp!, {r3, lr} ldr r0, [r0, #0x28] add r0, r0, r2 mov r2, r3 bl MemcpyFast mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0207E8A4 arm_func_start sub_0207E8C0 sub_0207E8C0: ; 0x0207E8C0 stmdb sp!, {r3, lr} ldr ip, [r0, #0x28] mov r0, r1 add r1, ip, r2 mov r2, r3 bl MemcpyFast mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0207E8C0 arm_func_start sub_0207E8E0 sub_0207E8E0: ; 0x0207E8E0 stmdb sp!, {r3, lr} mov r0, r2 mov r2, r3 bl MemcpyFast mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0207E8E0 arm_func_start sub_0207E8F8 sub_0207E8F8: ; 0x0207E8F8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x48 mov r6, r0 bl EnableIrqFlag ldr r1, [r6, #0x1c] mov r4, r0 tst r1, #0x20 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207E98C ldr r0, [r6, #0x1c] bic r0, r0, #0x20 str r0, [r6, #0x1c] ldr r0, [r6, #0x24] cmp r0, #0 beq _0207E98C mov r8, #0 mov sb, #1 mov r7, #3 _0207E948: ldr r1, [r0, #0xc] ldr r5, [r0, #4] tst r1, #2 movne r1, sb moveq r1, r8 cmp r1, #0 beq _0207E980 ldr r1, [r6, #0x24] cmp r1, r0 mov r1, r7 streq r5, [r6, #0x24] bl sub_0207DCC0 cmp r5, #0 ldreq r5, [r6, #0x24] _0207E980: mov r0, r5 cmp r5, #0 bne _0207E948 _0207E98C: ldr r0, [r6, #0x1c] tst r0, #0x40 movne r0, #1 moveq r0, #0 cmp r0, #0 bne _0207EA7C ldr r0, [r6, #0x1c] tst r0, #8 movne r0, #1 moveq r0, #0 cmp r0, #0 bne _0207EA7C ldr r5, [r6, #0x24] cmp r5, #0 beq _0207EA7C ldr r0, [r6, #0x1c] tst r0, #0x10 movne r0, #1 moveq r0, #0 cmp r0, #0 moveq r7, #1 movne r7, #0 cmp r7, #0 ldrne r0, [r6, #0x1c] orrne r0, r0, #0x10 strne r0, [r6, #0x1c] mov r0, r4 bl SetIrqFlag cmp r7, #0 beq _0207EA20 ldr r0, [r6, #0x58] tst r0, #0x200 beq _0207EA20 ldr r2, [r6, #0x54] mov r0, r5 mov r1, #9 blx r2 _0207EA20: bl EnableIrqFlag ldr r1, [r5, #0xc] mov r4, r0 orr r0, r1, #0x40 str r0, [r5, #0xc] ldr r0, [r5, #0xc] tst r0, #4 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207EA68 add r0, r5, #0x18 bl sub_020798D8 mov r0, r4 bl SetIrqFlag add sp, sp, #0x48 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0207EA68: mov r0, r4 bl SetIrqFlag add sp, sp, #0x48 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0207EA7C: ldr r0, [r6, #0x1c] tst r0, #0x10 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207EAC8 ldr r0, [r6, #0x1c] bic r0, r0, #0x10 str r0, [r6, #0x1c] ldr r0, [r6, #0x58] tst r0, #0x400 beq _0207EAC8 add r0, sp, #0 bl FileInit str r6, [sp, #8] ldr r2, [r6, #0x54] add r0, sp, #0 mov r1, #0xa blx r2 _0207EAC8: ldr r0, [r6, #0x1c] tst r0, #0x40 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207EAF8 ldr r1, [r6, #0x1c] add r0, r6, #0x14 bic r1, r1, #0x40 orr r1, r1, #8 str r1, [r6, #0x1c] bl sub_020798D8 _0207EAF8: mov r0, r4 bl SetIrqFlag mov r0, #0 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0207E8F8 arm_func_start sub_0207EB0C sub_0207EB0C: ; 0x0207EB0C stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r6, r0 ldr r4, [r6, #8] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r7, #0 mov r8, #1 _0207EB24: bl EnableIrqFlag ldr r1, [r6, #0xc] mov r5, r0 orr r0, r1, #0x40 str r0, [r6, #0xc] ldr r0, [r6, #0xc] tst r0, #4 movne r0, r8 moveq r0, r7 cmp r0, #0 beq _0207EB64 add r0, r6, #0x18 bl sub_020798D8 mov r0, r5 bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207EB64: ldr r1, [r6, #0xc] mov r0, r5 orr r1, r1, #8 str r1, [r6, #0xc] bl SetIrqFlag ldr r1, [r6, #0x10] mov r0, r6 bl sub_0207DD1C cmp r0, #6 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r4 bl sub_0207E8F8 movs r6, r0 bne _0207EB24 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207EB0C arm_func_start sub_0207EBA0 sub_0207EBA0: ; 0x0207EBA0 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x10] bl sub_0207DD1C mov r1, r0 mov r0, r4 bl sub_0207DCC0 ldr r0, [r4, #8] bl sub_0207E8F8 cmp r0, #0 beq _0207EBD0 bl sub_0207EB0C _0207EBD0: ldr r0, [r4, #0x14] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0207EBA0 arm_func_start sub_0207EBE4 sub_0207EBE4: ; 0x0207EBE4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 ldr r4, [r6, #8] mov r2, #1 str r1, [r6, #0x10] mov r0, #2 str r0, [r6, #0x14] ldr r0, [r6, #0xc] mov r7, r2, lsl r1 orr r0, r0, #1 str r0, [r6, #0xc] bl EnableIrqFlag ldr r1, [r4, #0x1c] mov r5, r0 tst r1, #0x80 beq _0207EC40 mov r0, r6 mov r1, #3 bl sub_0207DCC0 mov r0, r5 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0207EC40: tst r7, #0x1fc ldrne r0, [r6, #0xc] orrne r0, r0, #4 strne r0, [r6, #0xc] ldr r1, [r6] ldr r2, [r6, #4] cmp r1, #0 strne r2, [r1, #4] cmp r2, #0 add r0, r4, #0x20 strne r1, [r2] ldr r1, [r0, #4] cmp r1, #0 beq _0207EC88 _0207EC78: mov r0, r1 ldr r1, [r1, #4] cmp r1, #0 bne _0207EC78 _0207EC88: str r6, [r0, #4] str r0, [r6] mov r1, #0 str r1, [r6, #4] ldr r0, [r4, #0x1c] tst r0, #8 movne r1, #1 cmp r1, #0 bne _0207ED38 ldr r0, [r4, #0x1c] tst r0, #0x10 movne r0, #1 moveq r0, #0 cmp r0, #0 bne _0207ED38 ldr r1, [r4, #0x1c] mov r0, r5 orr r1, r1, #0x10 str r1, [r4, #0x1c] bl SetIrqFlag ldr r0, [r4, #0x58] tst r0, #0x200 beq _0207ECF4 ldr r2, [r4, #0x54] mov r0, r6 mov r1, #9 blx r2 _0207ECF4: bl EnableIrqFlag ldr r1, [r6, #0xc] orr r1, r1, #0x40 str r1, [r6, #0xc] ldr r1, [r6, #0xc] tst r1, #4 movne r1, #1 moveq r1, #0 cmp r1, #0 bne _0207ED30 bl SetIrqFlag mov r0, r6 bl sub_0207EB0C mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0207ED30: bl SetIrqFlag b _0207ED7C _0207ED38: ldr r0, [r6, #0xc] tst r0, #4 movne r0, #1 moveq r0, #0 cmp r0, #0 bne _0207ED60 mov r0, r5 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0207ED60: add r0, r6, #0x18 bl sub_02079888 ldr r0, [r6, #0xc] tst r0, #0x40 beq _0207ED60 mov r0, r5 bl SetIrqFlag _0207ED7C: mov r0, r6 bl sub_0207EBA0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0207EBE4 arm_func_start sub_0207ED88 sub_0207ED88: ; 0x0207ED88 stmdb sp!, {r4, lr} mov r1, #0 mov r2, #0x5c mov r4, r0 bl MemsetFast mov r0, #0 str r0, [r4, #0x10] str r0, [r4, #0xc] str r0, [r4, #0x18] str r0, [r4, #0x14] ldmia sp!, {r4, pc} arm_func_end sub_0207ED88 arm_func_start sub_0207EDB4 sub_0207EDB4: ; 0x0207EDB4 stmdb sp!, {r3, r4, r5, lr} bl sub_0207E84C mov r4, r0 bl EnableIrqFlag ldr r1, _0207EDF0 ; =_022BB5E8 ldr r5, [r1] b _0207EDD4 _0207EDD0: ldr r5, [r5, #4] _0207EDD4: cmp r5, #0 ldrne r1, [r5] cmpne r1, r4 bne _0207EDD0 bl SetIrqFlag mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207EDF0: .word _022BB5E8 arm_func_end sub_0207EDB4 arm_func_start sub_0207EDF4 sub_0207EDF4: ; 0x0207EDF4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r1 mov r5, r2 mov r7, r0 mov r8, #0 bl EnableIrqFlag mov r4, r0 mov r0, r6 mov r1, r5 bl sub_0207EDB4 cmp r0, #0 bne _0207EE94 ldr r0, _0207EEA4 ; =_022BB5E8 ldr r1, [r0] cmp r1, #0 bne _0207EE50 str r7, [r0] str r7, [r0, #4] mov r1, r8 str r1, [r0, #0xc] strh r1, [r0, #0xa] strh r1, [r0, #8] b _0207EE74 _0207EE50: ldr r0, [r1, #4] cmp r0, #0 beq _0207EE6C _0207EE5C: mov r1, r0 ldr r0, [r0, #4] cmp r0, #0 bne _0207EE5C _0207EE6C: str r7, [r1, #4] str r1, [r7, #8] _0207EE74: mov r0, r6 mov r1, r5 bl sub_0207E84C str r0, [r7] ldr r0, [r7, #0x1c] mov r8, #1 orr r0, r0, #1 str r0, [r7, #0x1c] _0207EE94: mov r0, r4 bl SetIrqFlag mov r0, r8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0207EEA4: .word _022BB5E8 arm_func_end sub_0207EDF4 arm_func_start sub_0207EEA8 sub_0207EEA8: ; 0x0207EEA8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} bl EnableIrqFlag ldr r2, [r4, #4] mov r3, #0 cmp r2, #0 ldrne r1, [r4, #8] strne r1, [r2, #8] ldr r2, [r4, #8] cmp r2, #0 ldrne r1, [r4, #4] strne r1, [r2, #4] str r3, [r4] str r3, [r4, #8] str r3, [r4, #4] ldr r2, [r4, #0x1c] ldr r1, _0207EF28 ; =_022BB5E8 bic r2, r2, #1 str r2, [r4, #0x1c] ldr r2, [r1, #4] cmp r2, r4 bne _0207EF20 ldr r2, [r1] str r2, [r1, #4] str r3, [r1, #0xc] strh r3, [r1, #0xa] strh r3, [r1, #8] _0207EF20: bl SetIrqFlag ldmia sp!, {r4, pc} .align 2, 0 _0207EF28: .word _022BB5E8 arm_func_end sub_0207EEA8 arm_func_start sub_0207EF2C sub_0207EF2C: ; 0x0207EF2C str r1, [r0, #0x28] str r3, [r0, #0x30] str r2, [r0, #0x3c] ldr r3, [sp, #4] str r2, [r0, #0x2c] ldr ip, [sp, #8] ldr r1, [sp] str r3, [r0, #0x38] str r1, [r0, #0x40] str r1, [r0, #0x34] cmp ip, #0 ldreq ip, _0207EF94 ; =sub_0207E8A4 ldr r1, [sp, #0xc] str ip, [r0, #0x48] cmp r1, #0 ldreq r1, _0207EF98 ; =sub_0207E8C0 str r1, [r0, #0x4c] ldr r2, [r0, #0x48] mov r1, #0 str r2, [r0, #0x50] str r1, [r0, #0x44] ldr r1, [r0, #0x1c] orr r1, r1, #2 str r1, [r0, #0x1c] mov r0, #1 bx lr .align 2, 0 _0207EF94: .word sub_0207E8A4 _0207EF98: .word sub_0207E8C0 arm_func_end sub_0207EF2C arm_func_start sub_0207EF9C sub_0207EF9C: ; 0x0207EF9C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 bl EnableIrqFlag ldr r1, [r6, #0x1c] mov r4, r0 tst r1, #2 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207F04C mov r0, r6 ldr r1, [r6, #0x1c] bl sub_0207F20C ldr r1, [r6, #0x1c] mov r5, r0 orr r0, r1, #0x80 str r0, [r6, #0x1c] ldr r0, [r6, #0x24] cmp r0, #0 beq _0207F008 mov r7, #3 _0207EFF0: ldr r8, [r0, #4] mov r1, r7 bl sub_0207DCC0 mov r0, r8 cmp r8, #0 bne _0207EFF0 _0207F008: mov r0, #0 str r0, [r6, #0x24] cmp r5, #0 beq _0207F020 mov r0, r6 bl sub_0207F2A8 _0207F020: mov r0, #0 str r0, [r6, #0x28] str r0, [r6, #0x2c] str r0, [r6, #0x30] str r0, [r6, #0x34] str r0, [r6, #0x38] str r0, [r6, #0x40] str r0, [r6, #0x3c] ldr r0, [r6, #0x1c] bic r0, r0, #0xa2 str r0, [r6, #0x1c] _0207F04C: mov r0, r4 bl SetIrqFlag mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207EF9C arm_func_start sub_0207F05C sub_0207F05C: ; 0x0207F05C stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x4c mov r7, r0 ldr r3, [r7, #0x30] ldr r0, [r7, #0x38] mov r6, r1 add r0, r3, r0 add r0, r0, #0x3f bic r4, r0, #0x1f cmp r4, r2 bhi _0207F170 add r1, r6, #0x1f add r0, sp, #4 bic r5, r1, #0x1f bl FileInit ldr r2, [r7, #0x2c] mvn r0, #0 str r0, [sp] ldr r3, [r7, #0x30] add r0, sp, #4 mov r1, r7 add r3, r2, r3 bl sub_0207F60C cmp r0, #0 beq _0207F0F0 ldr r2, [r7, #0x30] add r0, sp, #4 mov r1, r5 bl sub_0207F818 cmp r0, #0 bge _0207F0E8 ldr r2, [r7, #0x30] mov r0, r5 mov r1, #0 bl MemsetFast _0207F0E8: add r0, sp, #4 bl sub_0207F70C _0207F0F0: str r5, [r7, #0x2c] ldr ip, [r7, #0x30] ldr r2, [r7, #0x34] mvn r0, #0 str r0, [sp] ldr r3, [r7, #0x38] add r0, sp, #4 mov r1, r7 add r3, r2, r3 add r5, r5, ip bl sub_0207F60C cmp r0, #0 beq _0207F154 ldr r2, [r7, #0x38] add r0, sp, #4 mov r1, r5 bl sub_0207F818 cmp r0, #0 bge _0207F14C ldr r2, [r7, #0x38] mov r0, r5 mov r1, #0 bl MemsetFast _0207F14C: add r0, sp, #4 bl sub_0207F70C _0207F154: str r5, [r7, #0x34] ldr r0, _0207F17C ; =sub_0207E8E0 str r6, [r7, #0x44] str r0, [r7, #0x50] ldr r0, [r7, #0x1c] orr r0, r0, #4 str r0, [r7, #0x1c] _0207F170: mov r0, r4 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0207F17C: .word sub_0207E8E0 arm_func_end sub_0207F05C arm_func_start sub_0207F180 sub_0207F180: ; 0x0207F180 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x1c] mov r4, #0 tst r0, #2 movne r0, #1 moveq r0, r4 cmp r0, #0 beq _0207F204 mov r0, r5 bl sub_0207F20C ldr r1, [r5, #0x1c] tst r1, #4 movne r1, #1 moveq r1, #0 cmp r1, #0 beq _0207F1F4 ldr r2, [r5, #0x1c] mov r1, #0 bic r2, r2, #4 str r2, [r5, #0x1c] ldr r4, [r5, #0x44] str r1, [r5, #0x44] ldr r1, [r5, #0x3c] str r1, [r5, #0x2c] ldr r1, [r5, #0x40] str r1, [r5, #0x34] ldr r1, [r5, #0x48] str r1, [r5, #0x50] _0207F1F4: cmp r0, #0 beq _0207F204 mov r0, r5 bl sub_0207F2A8 _0207F204: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207F180 arm_func_start sub_0207F20C sub_0207F20C: ; 0x0207F20C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 bl EnableIrqFlag ldr r1, [r6, #0x1c] mov r4, r0 tst r1, #8 movne r0, #1 moveq r0, #0 cmp r0, #0 moveq r5, #1 movne r5, #0 cmp r5, #0 beq _0207F298 ldr r0, [r6, #0x1c] tst r0, #0x10 movne r0, #1 moveq r0, #0 cmp r0, #0 ldr r0, [r6, #0x1c] beq _0207F290 orr r0, r0, #0x40 str r0, [r6, #0x1c] mov r7, #0 mov r8, #1 _0207F26C: add r0, r6, #0x14 bl sub_02079888 ldr r0, [r6, #0x1c] tst r0, #0x40 movne r0, r8 moveq r0, r7 cmp r0, #0 bne _0207F26C b _0207F298 _0207F290: orr r0, r0, #8 str r0, [r6, #0x1c] _0207F298: mov r0, r4 bl SetIrqFlag mov r0, r5 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207F20C arm_func_start sub_0207F2A8 sub_0207F2A8: ; 0x0207F2A8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 mov r5, #0 bl EnableIrqFlag ldr r1, [r4, #0x1c] mov r6, r0 tst r1, #8 movne r0, #1 moveq r0, r5 cmp r0, #0 moveq r7, #1 movne r7, #0 cmp r7, #0 bne _0207F2F8 ldr r1, [r4, #0x1c] mov r0, r4 bic r1, r1, #8 str r1, [r4, #0x1c] bl sub_0207E8F8 mov r5, r0 _0207F2F8: mov r0, r6 bl SetIrqFlag cmp r5, #0 beq _0207F310 mov r0, r5 bl sub_0207EB0C _0207F310: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0207F2A8 arm_func_start sub_0207F318 sub_0207F318: ; 0x0207F318 cmp r2, #0 moveq r1, #0 beq _0207F32C cmp r1, #0 moveq r2, #0 _0207F32C: str r1, [r0, #0x54] str r2, [r0, #0x58] bx lr arm_func_end sub_0207F318 arm_func_start sub_0207F338 sub_0207F338: ; 0x0207F338 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, [r4, #0x1c] mov r6, r1 tst r0, #0x100 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _0207F38C ldr r1, [r4, #0x1c] ldr r0, [r4, #0x24] bic r2, r1, #0x100 mov r1, r6 str r2, [r4, #0x1c] bl sub_0207DCC0 mov r0, r4 bl sub_0207E8F8 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl sub_0207EB0C ldmia sp!, {r4, r5, r6, pc} _0207F38C: ldr r5, [r4, #0x24] bl EnableIrqFlag str r6, [r5, #0x14] ldr r1, [r4, #0x1c] mov r5, r0 bic r1, r1, #0x200 add r0, r4, #0xc str r1, [r4, #0x1c] bl sub_020798D8 mov r0, r5 bl SetIrqFlag ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207F338 arm_func_start sub_0207F3BC sub_0207F3BC: ; 0x0207F3BC stmdb sp!, {r3, lr} ldr r1, _0207F3E0 ; =_022BB5F8 ldr r2, [r1] cmp r2, #0 ldmneia sp!, {r3, pc} mov r2, #1 str r2, [r1] bl sub_0207F9DC ldmia sp!, {r3, pc} .align 2, 0 _0207F3E0: .word _022BB5F8 arm_func_end sub_0207F3BC arm_func_start FileInit FileInit: ; 0x0207F3E4 mov r2, #0 str r2, [r0] str r2, [r0, #4] str r2, [r0, #0x1c] str r2, [r0, #0x18] str r2, [r0, #8] mov r1, #0xe str r1, [r0, #0x10] str r2, [r0, #0xc] bx lr arm_func_end FileInit arm_func_start sub_0207F40C sub_0207F40C: ; 0x0207F40C stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r7, r1 ldrb r1, [r7] mov r8, r0 mov r6, r2 cmp r1, #0x2f mov r5, r3 cmpne r1, #0x5c bne _0207F458 ldr r0, _0207F54C ; =_022BB5EC mov r1, #0 ldr r0, [r0] strh r1, [sp, #4] str r0, [sp] str r1, [sp, #8] strh r1, [sp, #6] add r7, r7, #1 b _0207F4FC _0207F458: ldr r0, _0207F54C ; =_022BB5EC add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r4, #0 _0207F46C: ldrb r0, [r7, r4] cmp r0, #0 cmpne r0, #0x2f cmpne r0, #0x5c beq _0207F4FC cmp r0, #0x3a bne _0207F4F0 mov r0, r7 mov r1, r4 bl sub_0207EDB4 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r1, [r0, #0x1c] tst r1, #2 movne r1, #1 moveq r1, #0 cmp r1, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r1, #0 str r0, [sp] str r1, [sp, #8] strh r1, [sp, #6] strh r1, [sp, #4] add r0, r4, #1 ldrb r0, [r7, r0]! cmp r0, #0x2f cmpne r0, #0x5c addeq r7, r7, #1 b _0207F4FC _0207F4F0: add r4, r4, #1 cmp r4, #3 ble _0207F46C _0207F4FC: ldr r1, [sp] add r0, sp, #0 str r1, [r8, #8] str r7, [r8, #0x3c] add r3, r8, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} cmp r5, #0 moveq r0, #0 streq r0, [r8, #0x40] streq r6, [r8, #0x44] beq _0207F538 mov r0, #1 str r0, [r8, #0x40] str r5, [r8, #0x44] _0207F538: mov r0, r8 mov r1, #4 bl sub_0207EBE4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0207F54C: .word _022BB5EC arm_func_end sub_0207F40C arm_func_start sub_0207F550 sub_0207F550: ; 0x0207F550 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r4, [r7, #0x2c] ldr r0, [r7, #0x28] mov r6, r2 str r1, [r7, #0x30] sub r0, r0, r4 cmp r6, r0 movgt r6, r0 cmp r6, #0 movlt r6, #0 str r2, [r7, #0x34] mov r5, r3 str r6, [r7, #0x38] cmp r5, #0 ldreq r0, [r7, #0xc] mov r1, #0 orreq r0, r0, #4 streq r0, [r7, #0xc] mov r0, r7 bl sub_0207EBE4 cmp r5, #0 bne _0207F5C4 mov r0, r7 bl sub_0207F748 cmp r0, #0 ldrne r0, [r7, #0x2c] subne r6, r0, r4 mvneq r6, #0 _0207F5C4: mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0207F550 arm_func_start sub_0207F5CC sub_0207F5CC: ; 0x0207F5CC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r5, r0 add r0, sp, #0 mov r4, r1 bl FileInit add r0, sp, #0 mov r1, r4 mov r2, r5 mov r3, #0 bl sub_0207F40C cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207F5CC arm_func_start sub_0207F60C sub_0207F60C: ; 0x0207F60C stmdb sp!, {r4, lr} mov r4, r0 str r1, [r4, #8] ldr ip, [sp, #8] mov r1, #7 str ip, [r4, #0x38] str r2, [r4, #0x30] str r3, [r4, #0x34] bl sub_0207EBE4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0xc] mov r0, #1 orr r1, r1, #0x10 bic r1, r1, #0x20 str r1, [r4, #0xc] ldmia sp!, {r4, pc} arm_func_end sub_0207F60C arm_func_start sub_0207F654 sub_0207F654: ; 0x0207F654 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} ldr r1, [sp, #0xc] mov r4, r0 cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r4, lr} addeq sp, sp, #0x10 bxeq lr str r1, [r4, #8] str r1, [r4, #0x30] ldr r2, [sp, #0x10] mov r1, #6 str r2, [r4, #0x34] bl sub_0207EBE4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, lr} addeq sp, sp, #0x10 bxeq lr ldr r1, [r4, #0xc] mov r0, #1 orr r1, r1, #0x10 bic r1, r1, #0x20 str r1, [r4, #0xc] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr arm_func_end sub_0207F654 arm_func_start sub_0207F6C4 sub_0207F6C4: ; 0x0207F6C4 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 add r0, sp, #0 bl sub_0207F5CC cmp r0, #0 beq _0207F700 add r1, sp, #0 mov r0, r4 ldmia r1, {r1, r2} bl sub_0207F654 cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r4, pc} _0207F700: mov r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end sub_0207F6C4 arm_func_start sub_0207F70C sub_0207F70C: ; 0x0207F70C stmdb sp!, {r4, lr} mov r1, #8 mov r4, r0 bl sub_0207EBE4 cmp r0, #0 mov r0, #0 ldmeqia sp!, {r4, pc} str r0, [r4, #8] mov r0, #0xe str r0, [r4, #0x10] ldr r1, [r4, #0xc] mov r0, #1 bic r1, r1, #0x30 str r1, [r4, #0xc] ldmia sp!, {r4, pc} arm_func_end sub_0207F70C arm_func_start sub_0207F748 sub_0207F748: ; 0x0207F748 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 mov r5, #0 bl EnableIrqFlag ldr r1, [r6, #0xc] mov r4, r0 tst r1, #1 movne r0, #1 moveq r0, r5 cmp r0, #0 beq _0207F7D8 ldr r0, [r6, #0xc] tst r0, #0x44 moveq r5, #1 movne r5, #0 cmp r5, #0 beq _0207F7B0 ldr r0, [r6, #0xc] orr r0, r0, #4 str r0, [r6, #0xc] _0207F798: add r0, r6, #0x18 bl sub_02079888 ldr r0, [r6, #0xc] tst r0, #0x40 beq _0207F798 b _0207F7D8 _0207F7B0: mov r7, #0 mov r8, #1 _0207F7B8: add r0, r6, #0x18 bl sub_02079888 ldr r0, [r6, #0xc] tst r0, #1 movne r0, r8 moveq r0, r7 cmp r0, #0 bne _0207F7B8 _0207F7D8: mov r0, r4 bl SetIrqFlag cmp r5, #0 beq _0207F7F4 mov r0, r6 bl sub_0207EBA0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0207F7F4: ldr r0, [r6, #0x14] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0207F748 arm_func_start sub_0207F808 sub_0207F808: ; 0x0207F808 ldr ip, _0207F814 ; =sub_0207F550 mov r3, #1 bx ip .align 2, 0 _0207F814: .word sub_0207F550 arm_func_end sub_0207F808 arm_func_start sub_0207F818 sub_0207F818: ; 0x0207F818 ldr ip, _0207F824 ; =sub_0207F550 mov r3, #0 bx ip .align 2, 0 _0207F824: .word sub_0207F550 arm_func_end sub_0207F818 arm_func_start sub_0207F828 sub_0207F828: ; 0x0207F828 cmp r2, #0 beq _0207F844 cmp r2, #1 beq _0207F850 cmp r2, #2 beq _0207F85C b _0207F868 _0207F844: ldr r2, [r0, #0x24] add r1, r1, r2 b _0207F870 _0207F850: ldr r2, [r0, #0x2c] add r1, r1, r2 b _0207F870 _0207F85C: ldr r2, [r0, #0x28] add r1, r1, r2 b _0207F870 _0207F868: mov r0, #0 bx lr _0207F870: ldr r2, [r0, #0x24] cmp r1, r2 movlt r1, r2 ldr r2, [r0, #0x28] cmp r1, r2 movgt r1, r2 str r1, [r0, #0x2c] mov r0, #1 bx lr arm_func_end sub_0207F828 arm_func_start sub_0207F894 sub_0207F894: ; 0x0207F894 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x54 mov r4, r0 add r0, sp, #0xc bl FileInit add r0, sp, #0xc add r3, sp, #0 mov r1, r4 mov r2, #0 bl sub_0207F40C cmp r0, #0 addeq sp, sp, #0x54 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldr r3, _0207F8E8 ; =_022BB5EC add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #1 add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 _0207F8E8: .word _022BB5EC arm_func_end sub_0207F894 arm_func_start sub_0207F8EC sub_0207F8EC: ; 0x0207F8EC stmdb sp!, {r4, lr} mov r4, r0 bl sub_020845E8 cmp r0, #0 movne r1, #5 moveq r1, #0 mov r0, r4 bl sub_0207F338 ldmia sp!, {r4, pc} arm_func_end sub_0207F8EC arm_func_start sub_0207F910 sub_0207F910: ; 0x0207F910 stmdb sp!, {lr} sub sp, sp, #0xc ldr ip, _0207F950 ; =_0207F8EC mov lr, r1 str ip, [sp] str r0, [sp, #4] mov r1, #1 ldr r0, _0207F954 ; =_022BB5FC str r1, [sp, #8] mov r1, r2 ldr r0, [r0, #4] mov r2, lr bl sub_0208420C mov r0, #6 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _0207F950: .word sub_0207F8EC _0207F954: .word _022BB5FC arm_func_end sub_0207F910 arm_func_start sub_0207F958 sub_0207F958: ; 0x0207F958 mov r0, #1 bx lr arm_func_end sub_0207F958 arm_func_start sub_0207F960 sub_0207F960: ; 0x0207F960 stmdb sp!, {r3, lr} cmp r1, #1 beq _0207F9B8 cmp r1, #9 beq _0207F980 cmp r1, #0xa beq _0207F99C b _0207F9C0 _0207F980: ldr r0, _0207F9C8 ; =_022BB5FC ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02083434 mov r0, #0 ldmia sp!, {r3, pc} _0207F99C: ldr r0, _0207F9C8 ; =_022BB5FC ldr r0, [r0] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl sub_02083450 mov r0, #0 ldmia sp!, {r3, pc} _0207F9B8: mov r0, #4 ldmia sp!, {r3, pc} _0207F9C0: mov r0, #8 ldmia sp!, {r3, pc} .align 2, 0 _0207F9C8: .word _022BB5FC arm_func_end sub_0207F960 arm_func_start sub_0207F9CC sub_0207F9CC: ; 0x0207F9CC mov r0, #1 bx lr arm_func_end sub_0207F9CC arm_func_start sub_0207F9D4 sub_0207F9D4: ; 0x0207F9D4 mov r0, #4 bx lr arm_func_end sub_0207F9D4 arm_func_start sub_0207F9DC sub_0207F9DC: ; 0x0207F9DC stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr r1, _0207FAFC ; =_022BB5FC str r0, [r1, #4] bl sub_0207902C ldr r1, _0207FAFC ; =_022BB5FC mov r2, #0 str r0, [r1] str r2, [r1, #8] str r2, [r1, #0xc] str r2, [r1, #0x10] str r2, [r1, #0x14] bl sub_02084304 ldr r0, _0207FB00 ; =_022BB614 bl sub_0207ED88 ldr r0, _0207FB00 ; =_022BB614 ldr r1, _0207FB04 ; =_020B2BB4 mov r2, #3 bl sub_0207EDF4 ldr r4, _0207FB08 ; =0x027FFC40 ldrh r0, [r4] cmp r0, #2 bne _0207FA94 ldr r3, _0207FAFC ; =_022BB5FC mvn r2, #0 str r2, [r3, #8] mov ip, #0 str ip, [r3, #0xc] str r2, [r3, #0x10] ldr r0, _0207FB00 ; =_022BB614 ldr r1, _0207FB0C ; =_0207F9D4 str ip, [r3, #0x14] bl sub_0207F318 mov r1, #0 str r1, [sp] ldr r0, _0207FB10 ; =sub_0207F9CC str r1, [sp, #4] str r0, [sp, #8] ldr ip, _0207FB14 ; =_0207F958 ldr r0, _0207FB00 ; =_022BB614 mov r2, r1 mov r3, r1 str ip, [sp, #0xc] bl sub_0207EF2C add sp, sp, #0x10 ldmia sp!, {r4, pc} _0207FA94: ldr r0, _0207FB00 ; =_022BB614 ldr r1, _0207FB18 ; =sub_0207F960 ldr r2, _0207FB1C ; =0x00000602 bl sub_0207F318 ldr r1, [r4, #0x200] mvn r0, #0 cmp r1, r0 cmpne r1, #0 ldrne r2, [r4, #0x208] cmpne r2, r0 cmpne r2, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} str r1, [sp] ldr r0, [r4, #0x204] ldr r1, _0207FB20 ; =sub_0207F910 str r0, [sp, #4] ldr r0, _0207FB14 ; =_0207F958 str r1, [sp, #8] str r0, [sp, #0xc] ldr r3, [r4, #0x20c] ldr r0, _0207FB00 ; =_022BB614 mov r1, #0 bl sub_0207EF2C add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 _0207FAFC: .word _022BB5FC _0207FB00: .word _022BB614 _0207FB04: .word _020B2BB4 _0207FB08: .word 0x027FFC40 _0207FB0C: .word sub_0207F9D4 _0207FB10: .word sub_0207F9CC _0207FB14: .word sub_0207F958 _0207FB18: .word sub_0207F960 _0207FB1C: .word 0x00000602 _0207FB20: .word sub_0207F910 arm_func_end sub_0207F9DC arm_func_start sub_0207FB24 sub_0207FB24: ; 0x0207FB24 ldr r1, [r0, #0x1c] mov r2, r1, lsr #0x18 tst r2, #1 movne r0, r1, lsl #8 movne r0, r0, lsr #8 ldreq r0, [r0, #8] bx lr arm_func_end sub_0207FB24 arm_func_start sub_0207FB40 sub_0207FB40: ; 0x0207FB40 stmdb sp!, {r4, r5, r6, lr} ldr r1, [r0, #0xc] ldmib r0, {r4, r5} add r6, r5, r1 mov r0, r4 mov r1, r6 bl sub_0207A330 mov r0, r4 mov r1, r6 bl sub_0207A2A4 add r0, r4, r5 sub r2, r6, r5 mov r1, #0 bl MemsetFast ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0207FB40 arm_func_start sub_0207FB7C sub_0207FB7C: ; 0x0207FB7C sub sp, sp, #8 ldr r1, [r1, #0x18] ldr r2, _0207FBA0 ; =_022BB614 str r1, [sp, #4] str r2, [r0] str r2, [sp] str r1, [r0, #4] add sp, sp, #8 bx lr .align 2, 0 _0207FBA0: .word _022BB614 arm_func_end sub_0207FB7C arm_func_start sub_0207FBA4 sub_0207FBA4: ; 0x0207FBA4 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x54 movs sb, r1 ldreq r7, [sp, #0x74] ldreq r6, [sp, #0x70] ldrne r7, [sp, #0x7c] ldrne r6, [sp, #0x78] cmp r7, r2, lsl #5 mov r4, r0 mov r8, r3 mov r5, r2, lsl #5 addls sp, sp, #0x54 movls r0, #0 ldmlsia sp!, {r4, r5, r6, r7, r8, sb, pc} add r0, sp, #0xc bl FileInit mvn ip, #0 add r0, sp, #0xc mov r1, r8 add r2, r6, r5 add r3, r6, r7 str ip, [sp] bl sub_0207F60C cmp r0, #0 addeq sp, sp, #0x54 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} add r0, sp, #0xc mov r1, r4 mov r2, #0x20 bl sub_0207F818 cmp r0, #0x20 add r0, sp, #0xc beq _0207FC3C bl sub_0207F70C add sp, sp, #0x54 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0207FC3C: bl sub_0207F70C add r0, sp, #4 mov r1, r4 str sb, [r4, #0x20] bl sub_0207FB7C add r1, sp, #4 add r0, sp, #0xc ldmia r1, {r1, r2} bl sub_0207F654 cmp r0, #0 addeq sp, sp, #0x54 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r1, [sp, #0x30] add r0, sp, #0xc str r1, [r4, #0x24] ldr r2, [sp, #0x34] ldr r1, [sp, #0x30] sub r1, r2, r1 str r1, [r4, #0x28] bl sub_0207F70C mov r0, #1 add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end sub_0207FBA4 arm_func_start sub_0207FC9C sub_0207FC9C: ; 0x0207FC9C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x60 movs r4, r1 mov r5, r0 ldreq r0, _0207FD88 ; =_022BB604 ldrne r0, _0207FD8C ; =_022BB60C ldr ip, [r0] cmp ip, #0 beq _0207FD4C ldr r0, [r0, #4] mov r3, r2, lsl #5 cmp r0, r2, lsl #5 addls sp, sp, #0x60 movls r0, #0 ldmlsia sp!, {r3, r4, r5, pc} mov r1, r5 add r0, ip, r3 mov r2, #0x20 bl MemcpyFast add r0, sp, #0x18 str r4, [r5, #0x20] bl FileInit add r0, sp, #0x10 mov r1, r5 bl sub_0207FB7C add r1, sp, #0x10 add r0, sp, #0x18 ldmia r1, {r1, r2} bl sub_0207F654 cmp r0, #0 addeq sp, sp, #0x60 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [sp, #0x3c] add r0, sp, #0x18 str r1, [r5, #0x24] ldr r2, [sp, #0x40] ldr r1, [sp, #0x3c] sub r1, r2, r1 str r1, [r5, #0x28] bl sub_0207F70C add sp, sp, #0x60 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _0207FD4C: ldr ip, _0207FD90 ; =0x027FFE50 ldr r3, _0207FD94 ; =_022BB614 ldr r1, [ip] mov r0, r5 str r1, [sp] ldr r5, [ip, #4] mov r1, r4 str r5, [sp, #4] ldr r4, [ip, #8] str r4, [sp, #8] ldr r4, [ip, #0xc] str r4, [sp, #0xc] bl sub_0207FBA4 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207FD88: .word _022BB604 _0207FD8C: .word _022BB60C _0207FD90: .word 0x027FFE50 _0207FD94: .word _022BB614 arm_func_end sub_0207FC9C arm_func_start sub_0207FD98 sub_0207FD98: ; 0x0207FD98 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 mov r5, r0 add r0, sp, #8 bl FileInit add r0, sp, #0 mov r1, r5 bl sub_0207FB7C add r1, sp, #0 add r0, sp, #8 ldmia r1, {r1, r2} bl sub_0207F654 cmp r0, #0 addeq sp, sp, #0x50 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 bl sub_0207FB24 mov r4, r0 mov r0, r5 bl sub_0207FB40 ldr r1, [r5, #4] add r0, sp, #8 mov r2, r4 bl sub_0207F818 cmp r4, r0 add r0, sp, #8 beq _0207FE18 bl sub_0207F70C add sp, sp, #0x50 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0207FE18: bl sub_0207F70C mov r0, #1 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0207FD98 arm_func_start sub_0207FE28 sub_0207FE28: ; 0x0207FE28 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x58 mov r4, r0 mov r6, r1 mov r5, r2 add r0, sp, #0x44 mov r1, #0 mov r2, #0x14 bl MemsetFast ldr r2, _0207FEB8 ; =_020B2BB8 add r1, sp, #4 ldmia r2, {r0, r2} bl MemcpyFast ldr r3, _0207FEB8 ; =_020B2BB8 mov r1, r6 ldr ip, [r3, #4] mov r2, r5 add r0, sp, #0x44 add r3, sp, #4 str ip, [sp] bl sub_02080A10 add r3, sp, #0x44 mov r2, #0 _0207FE84: ldr r1, [r3] ldr r0, [r4, r2] cmp r1, r0 bne _0207FEA4 add r2, r2, #4 cmp r2, #0x14 add r3, r3, #4 blo _0207FE84 _0207FEA4: cmp r2, #0x14 moveq r0, #1 movne r0, #0 add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0207FEB8: .word _020B2BB8 arm_func_end sub_0207FE28 arm_func_start sub_0207FEBC sub_0207FEBC: ; 0x0207FEBC stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl sub_0207FB24 ldr r1, _0207FFA0 ; =0x027FFC40 mov r4, r0 ldrh r0, [r1] cmp r0, #2 bne _0207FF4C ldr r1, [r5, #0x1c] mov r0, #0 mov r1, r1, lsr #0x18 tst r1, #2 beq _0207FF2C ldr r1, _0207FFA4 ; =_020B3364 ldr r3, _0207FFA8 ; =_020B3364 ldr r2, _0207FFAC ; =0x66666667 sub ip, r1, r3 smull r1, lr, r2, ip mov r1, ip, lsr #0x1f ldr r2, [r5] add lr, r1, lr, asr #3 cmp r2, lr bhs _0207FF2C mov r0, #0x14 mla r0, r2, r0, r3 ldr r1, [r5, #4] mov r2, r4 bl sub_0207FE28 _0207FF2C: cmp r0, #0 bne _0207FF4C ldr r0, [r5, #4] mov r2, r4 mov r1, #0 bl MemsetFast bl WaitForever2 ldmia sp!, {r3, r4, r5, pc} _0207FF4C: ldr r0, [r5, #0x1c] mov r0, r0, lsr #0x18 tst r0, #1 beq _0207FF68 ldr r0, [r5, #4] add r0, r0, r4 bl MIi_UncompressBackward _0207FF68: ldmib r5, {r0, r1} bl sub_0207A2DC ldr r4, [r5, #0x10] ldr r5, [r5, #0x14] cmp r4, r5 ldmhsia sp!, {r3, r4, r5, pc} _0207FF80: ldr r0, [r4] cmp r0, #0 beq _0207FF90 blx r0 _0207FF90: add r4, r4, #4 cmp r4, r5 blo _0207FF80 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0207FFA0: .word 0x027FFC40 _0207FFA4: .word _020B3364 _0207FFA8: .word _020B3364 _0207FFAC: .word 0x66666667 arm_func_end sub_0207FEBC arm_func_start sub_0207FFB0 sub_0207FFB0: ; 0x0207FFB0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov fp, r0 _0207FFB8: ldr r1, [fp, #8] ldr r0, [fp, #0xc] mov r4, #0 ldr r6, [fp, #4] add r0, r1, r0 mov r5, r4 add r7, r6, r0 bl EnableIrqFlag ldr r1, _0208009C ; =_022BCA74 mov ip, r4 ldr lr, [r1] mov r8, lr cmp lr, #0 beq _02080064 mov r2, r4 _0207FFF4: ldr sl, [r8, #8] ldr sb, [r8] cmp sl, #0 ldr r3, [r8, #4] bne _02080018 cmp r3, r6 blo _02080018 cmp r3, r7 blo _02080028 _02080018: cmp sl, r6 blo _02080054 cmp sl, r7 bhs _02080054 _02080028: cmp r5, #0 strne r8, [r5] moveq r4, r8 cmp lr, r8 streq sb, [r1] moveq lr, sb str r2, [r8] cmp ip, #0 mov r5, r8 strne sb, [ip] b _02080058 _02080054: mov ip, r8 _02080058: mov r8, sb cmp sb, #0 bne _0207FFF4 _02080064: bl SetIrqFlag cmp r4, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02080070: ldr r1, [r4, #4] ldr r5, [r4] cmp r1, #0 beq _02080088 ldr r0, [r4, #8] blx r1 _02080088: mov r4, r5 cmp r5, #0 bne _02080070 b _0207FFB8 _02080098: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0208009C: .word _022BCA74 arm_func_end sub_0207FFB0 arm_func_start sub_020800A0 sub_020800A0: ; 0x020800A0 stmdb sp!, {r3, lr} bl sub_0207FFB0 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end sub_020800A0 arm_func_start sub_020800B0 sub_020800B0: ; 0x020800B0 stmdb sp!, {lr} sub sp, sp, #0x2c mov r3, r0 mov r2, r1 add r0, sp, #0 mov r1, r3 bl sub_0207FC9C cmp r0, #0 beq _020800E4 add r0, sp, #0 bl sub_020800A0 cmp r0, #0 bne _020800F0 _020800E4: add sp, sp, #0x2c mov r0, #0 ldmia sp!, {pc} _020800F0: mov r0, #1 add sp, sp, #0x2c ldmia sp!, {pc} arm_func_end sub_020800B0 arm_func_start sub_020800FC sub_020800FC: ; 0x020800FC ldr r2, _0208012C ; =0x67452301 ldr r1, _02080130 ; =0xEFCDAB89 str r2, [r0] ldr r2, _02080134 ; =0x98BADCFE str r1, [r0, #4] ldr r1, _02080138 ; =0x10325476 str r2, [r0, #8] str r1, [r0, #0xc] mov r1, #0 str r1, [r0, #0x10] str r1, [r0, #0x14] bx lr .align 2, 0 _0208012C: .word 0x67452301 _02080130: .word 0xEFCDAB89 _02080134: .word 0x98BADCFE _02080138: .word 0x10325476 arm_func_end sub_020800FC arm_func_start sub_0208013C sub_0208013C: ; 0x0208013C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 ldr r3, [r6, #0x10] mov r4, r2 and ip, r3, #0x3f ldr r0, [r6, #0x14] adds r3, r3, r4 str r3, [r6, #0x10] adc r0, r0, #0 rsb r7, ip, #0x40 mov r5, r1 str r0, [r6, #0x14] cmp r7, r4 bls _02080190 cmp r4, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r1, r6, #0x18 mov r0, r5 add r1, r1, ip bl MemcpyFast ldmia sp!, {r4, r5, r6, r7, r8, pc} _02080190: add r1, r6, #0x18 mov r0, r5 mov r2, r7 add r1, r1, ip bl MemcpyFast mov r0, r6 bl sub_020802BC sub r4, r4, r7 mov r8, r4, lsr #6 cmp r8, #0 add r7, r5, r7 ble _020801EC mov r5, #0x40 _020801C4: mov r0, r7 mov r2, r5 add r1, r6, #0x18 bl MemcpyFast mov r0, r6 add r7, r7, #0x40 bl sub_020802BC sub r8, r8, #1 cmp r8, #0 bgt _020801C4 _020801EC: ands r2, r4, #0x3f ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r7 add r1, r6, #0x18 bl MemcpyFast ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0208013C arm_func_start sub_02080204 sub_02080204: ; 0x02080204 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 ldr r1, [r4, #0x14] ldr r3, [r4, #0x10] mov r5, r0 mov r6, r1, lsl #3 ldr r1, _020802B8 ; =_020B2BC0 mov r0, r4 mov r2, #1 orr r6, r6, r3, lsr #29 mov r7, r3, lsl #3 bl sub_0208013C ldr r0, [r4, #0x10] mov r1, #0 and r3, r0, #0x3f rsb r2, r3, #0x40 cmp r2, #8 bhs _02080268 add r0, r4, #0x18 add r0, r0, r3 bl MemsetFast mov r0, r4 bl sub_020802BC mov r3, #0 mov r2, #0x40 _02080268: cmp r2, #8 bls _02080284 add r0, r4, #0x18 add r0, r0, r3 sub r2, r2, #8 mov r1, #0 bl MemsetFast _02080284: str r7, [r4, #0x50] mov r0, r4 str r6, [r4, #0x54] bl sub_020802BC mov r0, r4 mov r1, r5 mov r2, #0x10 bl MemcpyFast mov r0, r4 mov r1, #0 mov r2, #0x58 bl MemsetFast ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020802B8: .word _020B2BC0 arm_func_end sub_02080204 arm_func_start sub_020802BC sub_020802BC: ; 0x020802BC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldmia r0, {r2, r3, ip, lr} add r4, r0, #0x18 ldr r5, _02080668 ; =_020B2C84 mov r7, r4 mov r8, #0 _020802D4: mvn r1, r3 and r6, r3, ip and r1, r1, lr orr r1, r6, r1 ldr r6, [r7] add r1, r2, r1 ldr r2, [r5] add r1, r6, r1 add r2, r2, r1 mov r1, r2, lsr #0x19 orr r1, r1, r2, lsl #7 add r2, r3, r1 mvn r1, r2 and r6, r2, r3 and r1, r1, ip orr r1, r6, r1 ldr r6, [r7, #4] add r1, lr, r1 ldr sb, [r5, #4] add r1, r6, r1 add r6, sb, r1 mov r1, r6, lsr #0x14 orr r1, r1, r6, lsl #12 add lr, r2, r1 mvn r1, lr and r6, lr, r2 and r1, r1, r3 orr r1, r6, r1 ldr sb, [r7, #8] add r6, ip, r1 ldr r1, [r7, #0xc] add sb, sb, r6 ldr sl, [r5, #8] ldr r6, [r5, #0xc] add sl, sl, sb mov sb, sl, lsr #0xf orr sb, sb, sl, lsl #17 add ip, lr, sb add r5, r5, #0x10 add r7, r7, #0x10 and sl, ip, lr mvn sb, ip and sb, sb, r2 orr sb, sl, sb add r3, r3, sb add r1, r1, r3 add r3, r6, r1 mov r1, r3, lsr #0xa orr r1, r1, r3, lsl #22 add r3, ip, r1 add r8, r8, #1 cmp r8, #4 blt _020802D4 ldr r1, _0208066C ; =_020B2BC4 mov r6, #0 _020803B0: mvn r7, lr ldr sb, [r1] and r8, r3, lr and r7, ip, r7 orr r7, r8, r7 ldr r8, [r4, sb, lsl #2] add r2, r2, r7 ldr r7, [r5] add r2, r8, r2 add r7, r7, r2 mov r2, r7, lsr #0x1b orr r2, r2, r7, lsl #5 add r2, r3, r2 mvn r8, ip ldr r7, [r1, #4] and sb, r2, ip and r8, r3, r8 orr sl, sb, r8 mvn r8, r3 ldr sb, [r1, #8] ldr fp, [r4, r7, lsl #2] add r7, lr, sl add r7, fp, r7 ldr sl, [r5, #4] ldr sb, [r4, sb, lsl #2] add sl, sl, r7 ldr r7, [r1, #0xc] and r8, r2, r8 ldr r7, [r4, r7, lsl #2] mov fp, sl, lsr #0x17 orr sl, fp, sl, lsl #9 add lr, r2, sl ldr sl, [r5, #8] and fp, lr, r3 orr r8, fp, r8 add r8, ip, r8 add r8, sb, r8 add sb, sl, r8 mov r8, sb, lsr #0x12 orr r8, r8, sb, lsl #14 add ip, lr, r8 mvn r8, r2 and sb, lr, r8 ldr r8, [r5, #0xc] add r5, r5, #0x10 add r1, r1, #0x10 and sl, ip, r2 orr sb, sl, sb add r3, r3, sb add r3, r7, r3 add r7, r8, r3 mov r3, r7, lsr #0xc orr r3, r3, r7, lsl #20 add r3, ip, r3 add r6, r6, #1 cmp r6, #4 blt _020803B0 mov r6, #0 _02080498: ldr r8, [r1] eor r7, r3, ip eor r7, lr, r7 ldr r8, [r4, r8, lsl #2] add r2, r2, r7 ldr r7, [r5] add r2, r8, r2 add r7, r7, r2 mov r2, r7, lsr #0x1c orr r2, r2, r7, lsl #4 add r2, r3, r2 ldr r8, [r1, #4] eor r7, r2, r3 eor r7, ip, r7 ldr r8, [r4, r8, lsl #2] add r7, lr, r7 ldr sb, [r1, #8] ldr sl, [r5, #4] add r7, r8, r7 add r8, sl, r7 mov r7, r8, lsr #0x15 orr r7, r7, r8, lsl #11 add lr, r2, r7 eor r8, lr, r2 ldr r7, [r1, #0xc] ldr sb, [r4, sb, lsl #2] eor r8, r3, r8 add r8, ip, r8 add sb, sb, r8 ldr sl, [r5, #8] ldr r8, [r4, r7, lsl #2] add sb, sl, sb mov r7, sb, lsr #0x10 orr r7, r7, sb, lsl #16 add ip, lr, r7 eor r7, ip, lr eor r7, r2, r7 add r3, r3, r7 add r3, r8, r3 ldr r7, [r5, #0xc] add r5, r5, #0x10 add r7, r7, r3 add r1, r1, #0x10 mov r3, r7, lsr #9 orr r3, r3, r7, lsl #23 add r3, ip, r3 add r6, r6, #1 cmp r6, #4 blt _02080498 mov r8, #0 _02080560: mvn r6, lr ldr r7, [r1] orr r6, r3, r6 eor r6, ip, r6 ldr r7, [r4, r7, lsl #2] add r2, r2, r6 ldr r6, [r5] add r2, r7, r2 add r6, r6, r2 mov r2, r6, lsr #0x1a orr r2, r2, r6, lsl #6 add r2, r3, r2 mvn r6, ip ldr sb, [r1, #4] orr r6, r2, r6 eor r7, r3, r6 ldr r6, [r1, #8] ldr sb, [r4, sb, lsl #2] add r7, lr, r7 ldr sl, [r5, #4] add r7, sb, r7 add sb, sl, r7 mov r7, sb, lsr #0x16 orr sb, r7, sb, lsl #10 ldr r7, [r1, #0xc] add lr, r2, sb mvn sb, r3 ldr r6, [r4, r6, lsl #2] orr sb, lr, sb eor sb, r2, sb add sb, ip, sb add sb, r6, sb ldr sl, [r5, #8] ldr r6, [r4, r7, lsl #2] add sb, sl, sb mov r7, sb, lsr #0x11 orr sb, r7, sb, lsl #15 ldr r7, [r5, #0xc] add ip, lr, sb add r5, r5, #0x10 add r1, r1, #0x10 mvn sb, r2 orr sb, ip, sb eor sb, lr, sb add r3, r3, sb add r3, r6, r3 add r6, r7, r3 mov r3, r6, lsr #0xb orr r3, r3, r6, lsl #21 add r3, ip, r3 add r8, r8, #1 cmp r8, #4 blt _02080560 ldr r1, [r0] add r1, r1, r2 str r1, [r0] ldr r1, [r0, #4] add r1, r1, r3 str r1, [r0, #4] ldr r1, [r0, #8] add r1, r1, ip str r1, [r0, #8] ldr r1, [r0, #0xc] add r1, r1, lr str r1, [r0, #0xc] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02080668: .word _020B2C84 _0208066C: .word _020B2BC4 arm_func_end sub_020802BC arm_func_start sub_02080670 sub_02080670: ; 0x02080670 ldr r1, _020806AC ; =0x67452301 ldr r2, _020806B0 ; =0xEFCDAB89 str r1, [r0] ldr r1, _020806B4 ; =0x98BADCFE str r2, [r0, #4] ldr r2, _020806B8 ; =0x10325476 str r1, [r0, #8] ldr r1, _020806BC ; =0xC3D2E1F0 str r2, [r0, #0xc] str r1, [r0, #0x10] mov r1, #0 str r1, [r0, #0x14] str r1, [r0, #0x18] str r1, [r0, #0x1c] bx lr .align 2, 0 _020806AC: .word 0x67452301 _020806B0: .word 0xEFCDAB89 _020806B4: .word 0x98BADCFE _020806B8: .word 0x10325476 _020806BC: .word 0xC3D2E1F0 arm_func_end sub_02080670 arm_func_start sub_020806C0 sub_020806C0: ; 0x020806C0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 movs r8, r2 mov sb, r1 add r6, sl, #0x20 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sl, #0x14] add r1, r0, r8, lsl #3 cmp r1, r0 ldrlo r0, [sl, #0x18] addlo r0, r0, #1 strlo r0, [sl, #0x18] ldr r0, [sl, #0x18] add r0, r0, r8, lsr #29 str r0, [sl, #0x18] str r1, [sl, #0x14] ldr r1, [sl, #0x1c] cmp r1, #0 beq _02080778 add r0, r1, r8 cmp r0, #0x40 blo _02080758 rsb r4, r1, #0x40 mov r0, sb mov r2, r4 add r1, r6, r1 bl MemcpyFast ldr r1, _02080810 ; =_020B2D88 mov r0, sl ldr r3, [r1] mov r1, r6 mov r2, #0x40 sub r8, r8, r4 add sb, sb, r4 blx r3 mov r0, #0 str r0, [sl, #0x1c] b _02080778 _02080758: mov r0, sb mov r2, r8 add r1, r6, r1 bl MemcpyFast ldr r0, [sl, #0x1c] add r0, r0, r8 str r0, [sl, #0x1c] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02080778: cmp r8, #0x40 blo _020807F0 bic r7, r8, #0x3f tst sb, #3 sub r8, r8, r7 bne _020807B0 ldr r1, _02080810 ; =_020B2D88 mov r0, sl ldr r3, [r1] mov r1, sb mov r2, r7 blx r3 add sb, sb, r7 b _020807F0 _020807B0: mov r5, #0x40 ldr r4, _02080810 ; =_020B2D88 mov fp, r5 _020807BC: mov r0, sb mov r1, r6 mov r2, r5 bl MemcpyFast ldr r3, [r4] mov r0, sl mov r1, r6 add sb, sb, #0x40 mov r2, fp blx r3 sub r7, r7, #0x40 cmp r7, #0 bgt _020807BC _020807F0: str r8, [sl, #0x1c] cmp r8, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, sb mov r1, r6 mov r2, r8 bl MemcpyFast ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02080810: .word _020B2D88 arm_func_end sub_020806C0 arm_func_start sub_02080814 sub_02080814: ; 0x02080814 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} ldr r0, [sp, #0x10] mov r6, r1 ldr r3, [r0, #0x1c] add r4, r0, #0x20 tst r3, #3 mov r2, r3, asr #2 moveq r0, #0 streq r0, [r4, r2, lsl #2] ldr r1, [sp, #0x10] mov r0, #0x80 add r5, r1, #0x20 strb r0, [r5, r3] add r3, r3, #1 tst r3, #3 beq _0208086C mov r0, #0 _0208085C: strb r0, [r5, r3] add r3, r3, #1 tst r3, #3 bne _0208085C _0208086C: ldr r0, [sp, #0x10] add r2, r2, #1 ldr r0, [r0, #0x1c] cmp r0, #0x38 blt _020808B8 cmp r2, #0x10 bge _0208089C mov r0, #0 _0208088C: str r0, [r4, r2, lsl #2] add r2, r2, #1 cmp r2, #0x10 blt _0208088C _0208089C: ldr r1, _02080A0C ; =_020B2D88 ldr r0, [sp, #0x10] ldr r3, [r1] mov r1, r4 mov r2, #0x40 blx r3 mov r2, #0 _020808B8: cmp r2, #0xe bge _020808D4 mov r0, #0 _020808C4: str r0, [r4, r2, lsl #2] add r2, r2, #1 cmp r2, #0xe blt _020808C4 _020808D4: ldr r0, [sp, #0x10] ldr r3, _02080A0C ; =_020B2D88 ldr r2, [r0, #0x14] mov r1, r4 strb r2, [r5, #0x3f] mov r0, r2, lsr #8 strb r0, [r5, #0x3e] mov r0, r2, lsr #0x10 strb r0, [r5, #0x3d] mov r0, r2, lsr #0x18 strb r0, [r5, #0x3c] ldr r0, [sp, #0x10] mov r2, #0x40 ldr r4, [r0, #0x18] strb r4, [r5, #0x3b] mov r0, r4, lsr #8 strb r0, [r5, #0x3a] mov r0, r4, lsr #0x10 strb r0, [r5, #0x39] mov r0, r4, lsr #0x18 strb r0, [r5, #0x38] ldr r0, [sp, #0x10] ldr r3, [r3] blx r3 ldr r0, [sp, #0x10] ldr r1, [r0] mov r0, r1, lsr #0x18 strb r0, [r6] mov r0, r1, lsr #0x10 strb r0, [r6, #1] mov r0, r1, lsr #8 strb r0, [r6, #2] strb r1, [r6, #3] ldr r0, [sp, #0x10] ldr r1, [r0, #4] mov r0, r1, lsr #0x18 strb r0, [r6, #4] mov r0, r1, lsr #0x10 strb r0, [r6, #5] mov r0, r1, lsr #8 strb r0, [r6, #6] strb r1, [r6, #7] ldr r0, [sp, #0x10] ldr r1, [r0, #8] mov r0, r1, lsr #0x18 strb r0, [r6, #8] mov r0, r1, lsr #0x10 strb r0, [r6, #9] mov r0, r1, lsr #8 strb r0, [r6, #0xa] strb r1, [r6, #0xb] ldr r0, [sp, #0x10] ldr r1, [r0, #0xc] mov r0, r1, lsr #0x18 strb r0, [r6, #0xc] mov r0, r1, lsr #0x10 strb r0, [r6, #0xd] mov r0, r1, lsr #8 strb r0, [r6, #0xe] strb r1, [r6, #0xf] ldr r0, [sp, #0x10] ldr r1, [r0, #0x10] mov r0, r1, lsr #0x18 strb r0, [r6, #0x10] mov r0, r1, lsr #0x10 strb r0, [r6, #0x11] mov r0, r1, lsr #8 strb r0, [r6, #0x12] strb r1, [r6, #0x13] ldr r3, [sp, #0x10] mov r0, #0 add r1, sp, #0x10 mov r2, #4 str r0, [r3, #0x1c] bl ArrayFill32 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02080A0C: .word _020B2D88 arm_func_end sub_02080814 arm_func_start sub_02080A10 sub_02080A10: ; 0x02080A10 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0xa0 ldr lr, _02080A94 ; =_020AEC5C add ip, sp, #8 mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 mov r4, ip ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2} stmia ip, {r0, r1, r2} add lr, sp, #0x38 add ip, sp, #0x24 str lr, [sp, #0x10] ldr lr, _02080A98 ; =sub_02080670 str ip, [sp, #0x14] ldr ip, _02080A9C ; =sub_020806C0 str lr, [sp, #0x18] ldr lr, _02080AA0 ; =sub_02080814 str ip, [sp, #0x1c] ldr ip, [sp, #0xb8] str lr, [sp, #0x20] str ip, [sp] mov r3, r5 mov r0, r8 mov r1, r7 mov r2, r6 str r4, [sp, #4] bl sub_02080AA4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02080A94: .word _020AEC5C _02080A98: .word sub_02080670 _02080A9C: .word sub_020806C0 _02080AA0: .word sub_02080814 arm_func_end sub_02080A10 arm_func_start sub_02080AA4 sub_02080AA4: ; 0x02080AA4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xc0 ldr r5, [sp, #0xe0] ldr r4, [sp, #0xe4] mov r8, r1 movs sb, r0 mov r7, r2 cmpne r8, #0 mov r6, r3 cmpne r7, #0 cmpne r6, #0 cmpne r5, #0 cmpne r4, #0 addeq sp, sp, #0xc0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, [r4, #4] cmp r5, r0 ble _02080B24 ldr r0, [r4, #8] ldr r1, [r4, #0x10] blx r1 ldr r0, [r4, #8] ldr r3, [r4, #0x14] mov r1, r6 mov r2, r5 blx r3 ldr r0, [r4, #8] ldr r2, [r4, #0x18] add r1, sp, #0x80 blx r2 ldr r5, [r4] add r6, sp, #0x80 _02080B24: cmp r5, #0 mov r2, #0 ble _02080B4C add r1, sp, #0x40 _02080B34: ldrb r0, [r6, r2] add r2, r2, #1 cmp r2, r5 eor r0, r0, #0x36 strb r0, [r1], #1 blt _02080B34 _02080B4C: ldr r0, [r4, #4] cmp r2, r0 bge _02080B78 add r0, sp, #0x40 add r3, r0, r2 mov r1, #0x36 _02080B64: strb r1, [r3], #1 ldr r0, [r4, #4] add r2, r2, #1 cmp r2, r0 blt _02080B64 _02080B78: ldr r0, [r4, #8] ldr r1, [r4, #0x10] blx r1 ldr r0, [r4, #8] ldr r2, [r4, #4] ldr r3, [r4, #0x14] add r1, sp, #0x40 blx r3 ldr r0, [r4, #8] ldr r3, [r4, #0x14] mov r1, r8 mov r2, r7 blx r3 ldr r0, [r4, #8] ldr r1, [r4, #0xc] ldr r2, [r4, #0x18] blx r2 cmp r5, #0 mov r3, #0 ble _02080BE4 add r1, sp, #0 _02080BCC: ldrb r0, [r6, r3] add r3, r3, #1 cmp r3, r5 eor r0, r0, #0x5c strb r0, [r1], #1 blt _02080BCC _02080BE4: ldr r0, [r4, #4] cmp r3, r0 bge _02080C10 add r0, sp, #0 add r2, r0, r3 mov r1, #0x5c _02080BFC: strb r1, [r2], #1 ldr r0, [r4, #4] add r3, r3, #1 cmp r3, r0 blt _02080BFC _02080C10: ldr r0, [r4, #8] ldr r1, [r4, #0x10] blx r1 ldr r0, [r4, #8] ldr r2, [r4, #4] ldr r3, [r4, #0x14] add r1, sp, #0 blx r3 ldr r0, [r4, #8] ldr r1, [r4, #0xc] ldr r2, [r4] ldr r3, [r4, #0x14] blx r3 ldr r0, [r4, #8] ldr r2, [r4, #0x18] mov r1, sb blx r2 add sp, sp, #0xc0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02080C5C: .word 0x00FF00FF _02080C60: .word 0x5A827999 _02080C64: .word 0x6ED9EBA1 _02080C68: .word 0x8F1BBCDC _02080C6C: .word 0xCA62C1D6 arm_func_end sub_02080AA4 arm_func_start sub_02080C70 sub_02080C70: ; 0x02080C70 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, ip, lr} ldmia r0, {r3, sb, sl, fp, ip} sub sp, sp, #0x84 str r2, [sp, #0x80] _02080C80: ldr r8, _02080C60 ; =0x5A827999 ldr r7, _02080C5C ; =0x00FF00FF mov r6, sp mov r5, #0 _02080C90: ldr r4, [r1], #4 add r2, r8, ip add r2, r2, r3, ror #27 and lr, r4, r7 and r4, r7, r4, ror #24 orr r4, r4, lr, ror #8 str r4, [r6, #0x40] str r4, [r6], #4 add r2, r2, r4 eor r4, sl, fp and r4, r4, sb eor r4, r4, fp add r2, r2, r4 mov sb, sb, ror #2 mov ip, fp mov fp, sl mov sl, sb mov sb, r3 mov r3, r2 add r5, r5, #4 cmp r5, #0x40 blt _02080C90 mov r7, #0 mov r6, sp _02080CF0: ldr r2, [r6] ldr r5, [r6, #8] ldr r4, [r6, #0x20] ldr lr, [r6, #0x34] eor r2, r2, r5 eor r4, r4, lr eor r2, r2, r4 mov r2, r2, ror #0x1f str r2, [r6, #0x40] str r2, [r6], #4 add r2, r2, ip add r2, r2, r8 add r2, r2, r3, ror #27 eor r4, sl, fp and r4, r4, sb eor r4, r4, fp add r2, r2, r4 mov sb, sb, ror #2 mov ip, fp mov fp, sl mov sl, sb mov sb, r3 mov r3, r2 add r7, r7, #4 cmp r7, #0x10 blt _02080CF0 ldr r8, _02080C64 ; =0x6ED9EBA1 mov r7, #0 _02080D60: ldr r2, [r6] ldr r4, [r6, #8] ldr lr, [r6, #0x20] ldr r5, [r6, #0x34] eor r2, r2, r4 eor lr, lr, r5 eor r2, r2, lr mov r2, r2, ror #0x1f str r2, [r6, #0x40] str r2, [r6], #4 add r2, r2, ip add r2, r2, r8 add r2, r2, r3, ror #27 eor lr, sb, sl eor lr, lr, fp add r2, r2, lr mov sb, sb, ror #2 mov ip, fp mov fp, sl mov sl, sb mov sb, r3 mov r3, r2 add r7, r7, #1 cmp r7, #0xc moveq r6, sp cmp r7, #0x14 blt _02080D60 ldr r8, _02080C68 ; =0x8F1BBCDC mov r7, #0 _02080DD4: ldr r2, [r6] ldr lr, [r6, #8] ldr r5, [r6, #0x20] ldr r4, [r6, #0x34] eor r2, r2, lr eor r5, r5, r4 eor r2, r2, r5 mov r2, r2, ror #0x1f str r2, [r6, #0x40] str r2, [r6], #4 add r2, r2, ip add r2, r2, r8 add r2, r2, r3, ror #27 orr r5, sb, sl and r5, r5, fp and r4, sb, sl orr r5, r5, r4 add r2, r2, r5 mov sb, sb, ror #2 mov ip, fp mov fp, sl mov sl, sb mov sb, r3 mov r3, r2 add r7, r7, #1 cmp r7, #8 moveq r6, sp cmp r7, #0x14 blt _02080DD4 ldr r8, _02080C6C ; =0xCA62C1D6 mov r7, #0 _02080E50: ldr r2, [r6] ldr r5, [r6, #8] ldr r4, [r6, #0x20] ldr lr, [r6, #0x34] eor r2, r2, r5 eor r4, r4, lr eor r2, r2, r4 mov r2, r2, ror #0x1f str r2, [r6, #0x40] str r2, [r6], #4 add r2, r2, ip add r2, r2, r8 add r2, r2, r3, ror #27 eor r4, sb, sl eor r4, r4, fp add r2, r2, r4 mov sb, sb, ror #2 mov ip, fp mov fp, sl mov sl, sb mov sb, r3 mov r3, r2 add r7, r7, #1 cmp r7, #4 moveq r6, sp cmp r7, #0x14 blt _02080E50 ldmia r0, {r2, r4, r6, r7, lr} add r3, r3, r2 add sb, sb, r4 add sl, sl, r6 add fp, fp, r7 add ip, ip, lr stmia r0, {r3, sb, sl, fp, ip} ldr lr, [sp, #0x80] subs lr, lr, #0x40 str lr, [sp, #0x80] bgt _02080C80 add sp, sp, #0x84 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, ip, pc} arm_func_end sub_02080C70 arm_func_start sub_02080EF0 sub_02080EF0: ; 0x02080EF0 ldr r1, _02080F2C ; =0x04000290 stmdb sp!, {r4} ldmia r1, {r2, r3, r4, ip} stmia r0!, {r2, r3, r4, ip} ldrh ip, [r1, #-0x10] add r1, r1, #0x28 ldmia r1, {r2, r3} stmia r0!, {r2, r3} and ip, ip, #3 ldrh r2, [r1, #-8] strh ip, [r0] and r2, r2, #1 strh r2, [r0, #2] ldmia sp!, {r4} bx lr .align 2, 0 _02080F2C: .word 0x04000290 arm_func_end sub_02080EF0 arm_func_start sub_02080F30 sub_02080F30: ; 0x02080F30 stmdb sp!, {r4} ldr r1, _02080F68 ; =0x04000290 ldmia r0, {r2, r3, r4, ip} stmia r1, {r2, r3, r4, ip} ldrh r2, [r0, #0x18] ldrh r3, [r0, #0x1a] strh r2, [r1, #-0x10] strh r3, [r1, #0x20] add r0, r0, #0x10 add r1, r1, #0x28 ldmia r0, {r2, r3} stmia r1, {r2, r3} ldmia sp!, {r4} bx lr .align 2, 0 _02080F68: .word 0x04000290 arm_func_end sub_02080F30 arm_func_start sub_02080F6C sub_02080F6C: ; 0x02080F6C stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r0, r1, lsl #0x10 mov r3, r0, lsr #0x10 and r0, r3, #0x7f00 mov r0, r0, lsl #8 cmp r2, #0 mov r0, r0, lsr #0x10 beq _02080FC8 ldr r1, _020811E4 ; =_022BB670 mov r2, #1 ldrh r3, [r1, #0x38] orr r2, r3, r2, lsl r0 strh r2, [r1, #0x38] ldr r3, [r1, #4] cmp r3, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, #4 mov r2, #0 blx r3 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02080FC8: cmp r0, #0x10 bne _02081080 ldr r1, _020811E4 ; =_022BB670 ldrh r2, [r1, #0x10] add r2, r2, #1 strh r2, [r1, #0x10] ldrh r3, [r1, #0x10] ldrh r2, [r1, #0x18] cmp r3, r2 movhs r2, #0 strhsh r2, [r1, #0x10] ldr r2, _020811E8 ; =0x027FFFAA ldr r1, _020811E4 ; =_022BB670 ldrh r3, [r2] ldrh r2, [r2, #2] ldrh lr, [r1, #0x10] strh r3, [sp, #4] strh r2, [sp, #6] ldr r5, [sp, #4] ldr r7, [r1, #0x14] mov r2, r5, lsl #7 mov r3, r2, lsr #0x1f mov r4, r5, lsl #8 mov r2, r5, lsl #5 mov ip, r5, lsl #0x14 mov r2, r2, lsr #0x1e mov r6, lr, lsl #3 mov r5, ip, lsr #0x14 strh r5, [r7, r6] add r5, r7, lr, lsl #3 mov r4, r4, lsr #0x14 strh r4, [r5, #2] and r3, r3, #0xff strh r3, [r5, #4] and r2, r2, #0xff strh r2, [r5, #6] ldr r3, [r1, #4] cmp r3, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrh r2, [r1, #0x10] mov r1, #0 and r2, r2, #0xff blx r3 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02081080: tst r1, #0x1000000 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} and r1, r3, #0xff cmp r1, #4 addls pc, pc, r1, lsl #2 b _020811D8 _0208109C: ; jump table b _020810B0 ; case 0 b _020811D8 ; case 1 b _02081184 ; case 2 b _0208118C ; case 3 b _0208117C ; case 4 _020810B0: cmp r0, #0 beq _020810D4 cmp r0, #1 beq _02081134 cmp r0, #2 ldreq r1, _020811E4 ; =_022BB670 moveq r2, #0 streqh r2, [r1, #0x36] b _02081140 _020810D4: ldr r2, _020811E8 ; =0x027FFFAA ldr r1, _020811E4 ; =_022BB670 ldrh r4, [r2] ldrh r3, [r2, #2] mov r2, #0 strh r4, [sp] strh r3, [sp, #2] ldr r4, [sp] mov r3, r4, lsl #0x14 mov r5, r3, lsr #0x14 mov lr, r4, lsl #8 mov r3, r4, lsl #7 mov ip, r3, lsr #0x1f mov r3, r4, lsl #5 mov r3, r3, lsr #0x1e strh r5, [r1, #8] mov lr, lr, lsr #0x14 strh lr, [r1, #0xa] and ip, ip, #0xff strh ip, [r1, #0xc] and r3, r3, #0xff strh r3, [r1, #0xe] strh r2, [r1, #0x36] b _02081140 _02081134: ldr r1, _020811E4 ; =_022BB670 mov r2, #2 strh r2, [r1, #0x36] _02081140: ldr r1, _020811E4 ; =_022BB670 mov r2, #1 ldrh r3, [r1, #0x3a] mvn r2, r2, lsl r0 and r2, r3, r2 strh r2, [r1, #0x3a] ldr r3, [r1, #4] cmp r3, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, #0 mov r2, r1 blx r3 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0208117C: mov r4, #3 b _02081190 _02081184: mov r4, #1 b _02081190 _0208118C: mov r4, #2 _02081190: ldr r1, _020811E4 ; =_022BB670 mov ip, #1 ldrh r3, [r1, #0x38] mvn r2, ip, lsl r0 orr r3, r3, ip, lsl r0 strh r3, [r1, #0x38] ldrh r3, [r1, #0x3a] and r2, r3, r2 strh r2, [r1, #0x3a] ldr r3, [r1, #4] cmp r3, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} and r1, r4, #0xff mov r2, #0 blx r3 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020811D8: bl WaitForever2 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020811E4: .word _022BB670 _020811E8: .word 0x027FFFAA arm_func_end sub_02080F6C arm_func_start sub_020811EC sub_020811EC: ; 0x020811EC stmdb sp!, {r3, r4, r5, lr} ldr r0, _0208125C ; =_022BB670 ldrh r1, [r0] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, #1 strh r1, [r0] bl sub_0207D9A4 ldr r0, _0208125C ; =_022BB670 mov r1, #0 strh r1, [r0, #0x10] str r1, [r0, #4] str r1, [r0, #0x14] strh r1, [r0, #0x36] strh r1, [r0, #0x34] strh r1, [r0, #0x3a] strh r1, [r0, #0x38] mov r5, #6 mov r4, #1 _02081238: mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _02081238 ldr r1, _02081260 ; =_02080F6C mov r0, #6 bl sub_0207DAB0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0208125C: .word _022BB670 _02081260: .word sub_02080F6C arm_func_end sub_020811EC arm_func_start sub_02081264 sub_02081264: ; 0x02081264 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x14 ldr ip, _020812F4 ; =0x027FFC80 mov r4, r0 ldrh r1, [ip, #0x58] ldrh r2, [ip, #0x5a] ldrh r0, [ip, #0x5e] cmp r1, #0 ldrh lr, [ip, #0x60] cmpeq r0, #0 cmpeq r2, #0 ldrb r3, [ip, #0x5c] ldrb r5, [ip, #0x5d] ldrb r6, [ip, #0x62] ldrb ip, [ip, #0x63] cmpeq lr, #0 beq _020812C8 str r5, [sp] stmib sp, {r0, lr} str r6, [sp, #0xc] mov r0, r4 str ip, [sp, #0x10] bl sub_020816C4 cmp r0, #0 beq _020812E8 _020812C8: mov r0, #0 strh r0, [r4] strh r0, [r4, #2] strh r0, [r4, #4] strh r0, [r4, #6] add sp, sp, #0x14 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, pc} _020812E8: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020812F4: .word 0x027FFC80 arm_func_end sub_02081264 arm_func_start sub_020812F8 sub_020812F8: ; 0x020812F8 stmdb sp!, {r4, lr} movs r4, r0 bne _02081314 ldr r0, _02081414 ; =_022BB670 mov r1, #0 strh r1, [r0, #0x34] ldmia sp!, {r4, pc} _02081314: bl EnableIrqFlag ldrsh r2, [r4, #4] cmp r2, #0 beq _02081378 ldr r3, _02081418 ; =0x04000280 mov r1, #0 strh r1, [r3] mov r1, #0x10000000 str r1, [r3, #0x10] str r2, [r3, #0x18] mov r1, #0 str r1, [r3, #0x1c] ldrsh r2, [r4] ldr r1, _02081414 ; =_022BB670 str r2, [r1, #0x1c] ldrsh r2, [r4, #4] str r2, [r1, #0x20] _02081358: ldrh r1, [r3] tst r1, #0x8000 bne _02081358 ldr r2, _0208141C ; =0x040002A0 ldr r1, _02081414 ; =_022BB670 ldr r2, [r2] str r2, [r1, #0x24] b _0208138C _02081378: ldr r1, _02081414 ; =_022BB670 mov r2, #0 str r2, [r1, #0x1c] str r2, [r1, #0x20] str r2, [r1, #0x24] _0208138C: ldrsh r2, [r4, #6] cmp r2, #0 beq _020813EC ldr r3, _02081418 ; =0x04000280 mov r1, #0 strh r1, [r3] mov r1, #0x10000000 str r1, [r3, #0x10] str r2, [r3, #0x18] mov r1, #0 str r1, [r3, #0x1c] ldrsh r2, [r4, #2] ldr r1, _02081414 ; =_022BB670 str r2, [r1, #0x28] ldrsh r2, [r4, #6] str r2, [r1, #0x2c] _020813CC: ldrh r1, [r3] tst r1, #0x8000 bne _020813CC ldr r2, _0208141C ; =0x040002A0 ldr r1, _02081414 ; =_022BB670 ldr r2, [r2] str r2, [r1, #0x30] b _02081400 _020813EC: ldr r1, _02081414 ; =_022BB670 mov r2, #0 str r2, [r1, #0x28] str r2, [r1, #0x2c] str r2, [r1, #0x30] _02081400: bl SetIrqFlag ldr r0, _02081414 ; =_022BB670 mov r1, #1 strh r1, [r0, #0x34] ldmia sp!, {r4, pc} .align 2, 0 _02081414: .word _022BB670 _02081418: .word 0x04000280 _0208141C: .word 0x040002A0 arm_func_end sub_020812F8 arm_func_start sub_02081420 sub_02081420: ; 0x02081420 stmdb sp!, {r4, lr} bl EnableIrqFlag mov r4, r0 mov r0, #6 mov r1, #0x3000000 mov r2, #0 bl sub_0207DB20 cmp r0, #0 movge r0, #1 movlt r0, #0 cmp r0, #0 bne _02081488 mov r0, r4 bl SetIrqFlag ldr r0, _020814B0 ; =_022BB670 ldrh r1, [r0, #0x38] orr r1, r1, #1 strh r1, [r0, #0x38] ldr r3, [r0, #4] cmp r3, #0 ldmeqia sp!, {r4, pc} mov r0, #0 mov r2, r0 mov r1, #4 blx r3 ldmia sp!, {r4, pc} _02081488: ldr r1, _020814B0 ; =_022BB670 mov r0, r4 ldrh r2, [r1, #0x3a] orr r2, r2, #1 strh r2, [r1, #0x3a] ldrh r2, [r1, #0x38] bic r2, r2, #1 strh r2, [r1, #0x38] bl SetIrqFlag ldmia sp!, {r4, pc} .align 2, 0 _020814B0: .word _022BB670 arm_func_end sub_02081420 arm_func_start sub_020814B4 sub_020814B4: ; 0x020814B4 stmdb sp!, {r3, lr} ldr r2, _020814FC ; =_022BB670 ldrh r1, [r2, #0x38] tst r1, #1 movne r0, #1 ldmneia sp!, {r3, pc} ldrh ip, [r2, #8] ldrh r3, [r2, #0xa] mov r1, r0 strh ip, [r0] strh r3, [r0, #2] ldrh r3, [r2, #0xc] ldrh r2, [r2, #0xe] strh r3, [r0, #4] strh r2, [r0, #6] bl sub_020818B0 mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _020814FC: .word _022BB670 arm_func_end sub_020814B4 arm_func_start sub_02081500 sub_02081500: ; 0x02081500 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #1 bl sub_020819D4 mov r0, r4 bl sub_020814B4 ldmia sp!, {r4, pc} arm_func_end sub_02081500 arm_func_start sub_0208151C sub_0208151C: ; 0x0208151C stmdb sp!, {r3, r4, r5, lr} ldr ip, _02081618 ; =_022BB670 mov lr, #0 str r2, [ip, #0x14] mov r5, r1 strh lr, [ip, #0x10] strh r5, [ip, #0x12] mov r4, r0 strh r3, [ip, #0x18] cmp r3, #0 bls _02081564 mov r1, lr _0208154C: ldr r0, [ip, #0x14] add r0, r0, lr, lsl #3 add lr, lr, #1 strh r1, [r0, #4] cmp lr, r3 blo _0208154C _02081564: bl EnableIrqFlag and r1, r5, #0xff orr r1, r1, #0x100 mov r5, r0 orr r1, r1, #0x2000000 mov r0, #6 mov r2, #0 bl sub_0207DB20 cmp r0, #0 movlt r0, #0 blt _020815B0 orr r1, r4, #0x10000 orr r1, r1, #0x1000000 mov r0, #6 mov r2, #0 bl sub_0207DB20 cmp r0, #0 movlt r0, #0 movge r0, #1 _020815B0: tst r0, #0xff bne _020815F0 mov r0, r5 bl SetIrqFlag ldr r0, _02081618 ; =_022BB670 ldrh r1, [r0, #0x38] orr r1, r1, #2 strh r1, [r0, #0x38] ldr r3, [r0, #4] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #1 mov r1, #4 mov r2, #0 blx r3 ldmia sp!, {r3, r4, r5, pc} _020815F0: ldr r1, _02081618 ; =_022BB670 mov r0, r5 ldrh r2, [r1, #0x3a] orr r2, r2, #2 strh r2, [r1, #0x3a] ldrh r2, [r1, #0x38] bic r2, r2, #2 strh r2, [r1, #0x38] bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02081618: .word _022BB670 arm_func_end sub_0208151C arm_func_start sub_0208161C sub_0208161C: ; 0x0208161C stmdb sp!, {r4, lr} bl EnableIrqFlag mov r4, r0 ldr r1, _020816AC ; =0x03000200 mov r0, #6 mov r2, #0 bl sub_0207DB20 cmp r0, #0 movge r0, #1 movlt r0, #0 cmp r0, #0 bne _02081684 mov r0, r4 bl SetIrqFlag ldr r0, _020816B0 ; =_022BB670 ldrh r1, [r0, #0x38] orr r1, r1, #4 strh r1, [r0, #0x38] ldr r3, [r0, #4] cmp r3, #0 ldmeqia sp!, {r4, pc} mov r0, #2 mov r1, #4 mov r2, #0 blx r3 ldmia sp!, {r4, pc} _02081684: ldr r1, _020816B0 ; =_022BB670 mov r0, r4 ldrh r2, [r1, #0x3a] orr r2, r2, #4 strh r2, [r1, #0x3a] ldrh r2, [r1, #0x38] bic r2, r2, #4 strh r2, [r1, #0x38] bl SetIrqFlag ldmia sp!, {r4, pc} .align 2, 0 _020816AC: .word 0x03000200 _020816B0: .word _022BB670 arm_func_end sub_0208161C arm_func_start sub_020816B4 sub_020816B4: ; 0x020816B4 ldr r0, _020816C0 ; =_022BB670 ldrh r0, [r0, #0x10] bx lr .align 2, 0 _020816C0: .word _022BB670 arm_func_end sub_020816B4 arm_func_start sub_020816C4 sub_020816C4: ; 0x020816C4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r1 mov r8, r2 cmp sb, #0x1000 cmplo r8, #0x1000 ldrloh r4, [sp, #0x2c] mov r7, r3 mov sl, r0 cmplo r4, #0x1000 ldrloh r3, [sp, #0x30] cmplo r3, #0x1000 movhs r0, #1 ldmhsia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r7, #0x100 ldrloh r2, [sp, #0x34] cmplo r2, #0x100 ldrloh r1, [sp, #0x28] cmplo r1, #0xc0 ldrloh r0, [sp, #0x38] cmplo r0, #0xc0 movhs r0, #1 ldmhsia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r7, r2 cmpne r1, r0 cmpne sb, r4 cmpne r8, r3 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl EnableIrqFlag ldrh lr, [sp, #0x2c] ldrh ip, [sp, #0x34] ldr r3, _020818A8 ; =0x04000280 sub r1, sb, lr mov r2, #0 ldrh r4, [sp, #0x38] ldrh r5, [sp, #0x28] ldrh r6, [sp, #0x30] strh r2, [r3] mov r1, r1, lsl #8 str r1, [r3, #0x10] sub r1, r7, ip str r1, [r3, #0x18] mov r1, r2 sub r2, r5, r4 str r1, [r3, #0x1c] sub r1, r8, r6 str r2, [sp] _02081780: ldrh r2, [r3] tst r2, #0x8000 bne _02081780 mov fp, r1, lsl #8 ldr r1, _020818AC ; =0x040002A0 ldr r2, [r1] mov r1, #0 strh r1, [r3] ldr r1, _020818AC ; =0x040002A0 cmp r2, #0x8000 str fp, [r1, #-0x10] sub r3, r1, #8 ldr r1, [sp] mov fp, #0 stmia r3, {r1, fp} bge _020817D0 mov r1, fp sub r1, r1, #0x8000 cmp r2, r1 bge _020817DC _020817D0: bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _020817DC: strh r2, [sl, #4] ldrsh r2, [sl, #4] add r1, r7, ip add r3, sb, lr mul r1, r2, r1 rsb r1, r1, r3, lsl #8 mov r1, r1, lsl #9 mov r2, r1, asr #0x10 cmp r2, #0x8000 bge _02081814 mov r1, fp sub r1, r1, #0x8000 cmp r2, r1 bge _02081820 _02081814: bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02081820: ldr r1, _020818AC ; =0x040002A0 strh r2, [sl] sub r2, r1, #0x20 _0208182C: ldrh r1, [r2] tst r1, #0x8000 bne _0208182C ldr r1, _020818AC ; =0x040002A0 ldr r7, [r1] bl SetIrqFlag cmp r7, #0x8000 bge _0208185C mov r1, #0x8000 rsb r1, r1, #0 cmp r7, r1 bge _02081864 _0208185C: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02081864: strh r7, [sl, #6] ldrsh r2, [sl, #6] add r0, r5, r4 add r3, r8, r6 mul r0, r2, r0 rsb r0, r0, r3, lsl #8 mov r0, r0, lsl #9 mov r0, r0, asr #0x10 cmp r0, #0x8000 bge _02081894 cmp r0, r1 bge _0208189C _02081894: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208189C: strh r0, [sl, #2] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020818A8: .word 0x04000280 _020818AC: .word 0x040002A0 arm_func_end sub_020816C4 arm_func_start sub_020818B0 sub_020818B0: ; 0x020818B0 stmdb sp!, {r4, r5, r6, lr} ldr r2, _020819CC ; =_022BB670 ldrh r2, [r2, #0x34] cmp r2, #0 bne _020818E8 ldrh r3, [r1] ldrh r2, [r1, #2] strh r3, [r0] strh r2, [r0, #2] ldrh r2, [r1, #4] ldrh r1, [r1, #6] strh r2, [r0, #4] strh r1, [r0, #6] ldmia sp!, {r4, r5, r6, pc} _020818E8: ldrh r3, [r1, #4] ldr r2, _020819D0 ; =_022BB68C strh r3, [r0, #4] ldrh r3, [r1, #6] strh r3, [r0, #6] ldrh r3, [r1, #4] cmp r3, #0 bne _02081918 mov r1, #0 strh r1, [r0] strh r1, [r0, #2] ldmia sp!, {r4, r5, r6, pc} _02081918: ldrh r4, [r1] ldr r3, [r2] ldr lr, [r2, #8] mov r4, r4, lsl #2 subs ip, r4, r3 mov r3, r3, asr #0x1f rsc r3, r3, r4, asr #31 umull r6, r5, lr, ip mla r5, lr, r3, r5 mov r3, lr, asr #0x1f mla r5, r3, ip, r5 mov r3, r6, lsr #0x16 orr r3, r3, r5, lsl #10 strh r3, [r0] ldrsh r3, [r0] cmp r3, #0 movlt r3, #0 strlth r3, [r0] blt _02081970 cmp r3, #0xff movgt r3, #0xff strgth r3, [r0] _02081970: ldrh r3, [r1, #2] ldr r1, [r2, #0xc] ldr ip, [r2, #0x14] mov r2, r3, lsl #2 subs r3, r2, r1 mov r1, r1, asr #0x1f rsc r1, r1, r2, asr #31 umull r4, lr, ip, r3 mla lr, ip, r1, lr mov r1, ip, asr #0x1f mla lr, r1, r3, lr mov r1, r4, lsr #0x16 orr r1, r1, lr, lsl #10 strh r1, [r0, #2] ldrsh r1, [r0, #2] cmp r1, #0 movlt r1, #0 strlth r1, [r0, #2] ldmltia sp!, {r4, r5, r6, pc} cmp r1, #0xbf movgt r1, #0xbf strgth r1, [r0, #2] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020819CC: .word _022BB670 _020819D0: .word _022BB68C arm_func_end sub_020818B0 arm_func_start sub_020819D4 sub_020819D4: ; 0x020819D4 ldr r1, _020819E8 ; =_022BB670 _020819D8: ldrh r2, [r1, #0x3a] tst r2, r0 bne _020819D8 bx lr .align 2, 0 _020819E8: .word _022BB670 arm_func_end sub_020819D4 arm_func_start sub_020819EC sub_020819EC: ; 0x020819EC ldr r1, _020819FC ; =_022BB670 ldrh r1, [r1, #0x38] and r0, r1, r0 bx lr .align 2, 0 _020819FC: .word _022BB670 arm_func_end sub_020819EC arm_func_start sub_02081A00 sub_02081A00: ; 0x02081A00 stmdb sp!, {r3, lr} bl EnableIrqFlag ldr r1, _02081A38 ; =_022BB6AC ldr r2, [r1, #0x1c] cmp r2, #0 beq _02081A24 bl SetIrqFlag mov r0, #0 ldmia sp!, {r3, pc} _02081A24: mov r2, #1 str r2, [r1, #0x1c] bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _02081A38: .word _022BB6AC arm_func_end sub_02081A00 arm_func_start sub_02081A3C sub_02081A3C: ; 0x02081A3C stmdb sp!, {r4, lr} ldr r0, _02081A74 ; =_022BB6AC ldr r4, _02081A78 ; =_022BB6C8 ldr r0, [r0, #0x1c] cmp r0, #0 ldmeqia sp!, {r4, pc} _02081A54: bl GetIrqFlag cmp r0, #0x80 bne _02081A64 bl sub_0207DBA8 _02081A64: ldr r0, [r4] cmp r0, #0 bne _02081A54 ldmia sp!, {r4, pc} .align 2, 0 _02081A74: .word _022BB6AC _02081A78: .word _022BB6C8 arm_func_end sub_02081A3C arm_func_start sub_02081A7C sub_02081A7C: ; 0x02081A7C str r0, [r1] bx lr arm_func_end sub_02081A7C arm_func_start sub_02081A84 sub_02081A84: ; 0x02081A84 stmdb sp!, {r3, lr} ldr r2, _02081AC0 ; =_022BB6AC ldr r1, [r2, #0x1c] ldr ip, [r2, #0x20] cmp r1, #0 ldr r1, [r2, #0x24] movne r3, #0 strne r3, [r2, #0x1c] cmp ip, #0 ldmeqia sp!, {r3, pc} ldr r2, _02081AC0 ; =_022BB6AC mov r3, #0 str r3, [r2, #0x20] blx ip ldmia sp!, {r3, pc} .align 2, 0 _02081AC0: .word _022BB6AC arm_func_end sub_02081A84 arm_func_start sub_02081AC4 sub_02081AC4: ; 0x02081AC4 stmdb sp!, {r3, r4, r5, lr} ldr r0, _02081B54 ; =_022BB6AC ldrh r1, [r0] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, #1 strh r1, [r0] mov r1, #0 str r1, [r0, #0x1c] str r1, [r0, #0x20] bl sub_0207D9A4 mov r5, #8 mov r4, #1 _02081AF8: mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _02081AF8 ldr r1, _02081B58 ; =sub_02081B68 mov r0, #8 bl sub_0207DAB0 mov r3, #0 ldr r0, _02081B5C ; =_022BB6F0 mov r2, r3 _02081B24: mov r1, r3, lsl #3 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #5 blt _02081B24 ldr r0, _02081B60 ; =_022BB6D8 bl sub_0207A030 ldr r1, _02081B64 ; =0x027FFC3C ldr r0, _02081B54 ; =_022BB6AC ldr r1, [r1] str r1, [r0, #0x10] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02081B54: .word _022BB6AC _02081B58: .word sub_02081B68 _02081B5C: .word _022BB6F0 _02081B60: .word _022BB6D8 _02081B64: .word 0x027FFC3C arm_func_end sub_02081AC4 arm_func_start sub_02081B68 sub_02081B68: ; 0x02081B68 stmdb sp!, {r3, lr} cmp r2, #0 beq _02081B80 mov r0, #2 bl sub_02081A84 ldmia sp!, {r3, pc} _02081B80: and r0, r1, #0x7f00 mov r0, r0, lsl #8 mov r2, r0, lsr #0x10 and r0, r1, #0xff cmp r2, #0x70 blo _02081BD0 cmp r2, #0x74 bhi _02081BD0 ldr r1, _02081C24 ; =_022BB6F4 sub r2, r2, #0x70 ldr r1, [r1, r2, lsl #3] and r0, r0, #0xff cmp r1, #0 strneh r0, [r1] mov r1, r2, lsl #3 ldr r0, _02081C28 ; =_022BB6F0 mov r2, #1 strh r2, [r0, r1] mov r0, #0 b _02081C1C _02081BD0: cmp r2, #0x60 bne _02081BE8 ldr r1, _02081C2C ; =_022BB6AC mov r2, #1 str r2, [r1, #4] b _02081C1C _02081BE8: cmp r2, #0x62 bne _02081C00 ldr r1, _02081C2C ; =_022BB6AC mov r2, #1 str r2, [r1, #8] b _02081C1C _02081C00: cmp r2, #0x67 bne _02081C1C ldr r1, _02081C2C ; =_022BB6AC ldr r1, [r1, #0x28] cmp r1, #0 strne r0, [r1] mov r0, #0 _02081C1C: bl sub_02081A84 ldmia sp!, {r3, pc} .align 2, 0 _02081C24: .word _022BB6F4 _02081C28: .word _022BB6F0 _02081C2C: .word _022BB6AC arm_func_end sub_02081B68 arm_func_start sub_02081C30 sub_02081C30: ; 0x02081C30 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl sub_02081A00 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _02081CB8 ; =_022BB6AC mov r2, #0 ldr r0, _02081CBC ; =0x03006000 str r2, [r1, #4] bl sub_020820BC ldr r0, _02081CB8 ; =_022BB6AC _02081C64: ldr r1, [r0, #4] cmp r1, #0 beq _02081C64 ldr ip, _02081CB8 ; =_022BB6AC mov r0, #0 str r0, [ip, #4] mov r2, r0 mov r1, #2 mov r3, #1 str r0, [ip, #8] bl sub_02082328 and r0, r5, #0xff orr r0, r0, #0x6100 orr r0, r0, #0x2000000 bl sub_020820BC ldr r1, _02081CC0 ; =0x01010000 mov r0, r4, lsl #0x10 orr r0, r1, r0, lsr #16 bl sub_020820BC mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02081CB8: .word _022BB6AC _02081CBC: .word 0x03006000 _02081CC0: .word 0x01010000 arm_func_end sub_02081C30 arm_func_start sub_02081CC4 sub_02081CC4: ; 0x02081CC4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02081A00 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6, lsr #0x10 and r0, r0, #0xff ldr r1, _02081D1C ; =_022BB6AC orr r0, r0, #0x6300 str r5, [r1, #0x20] orr r0, r0, #0x2000000 str r4, [r1, #0x24] bl sub_020820BC ldr r1, _02081D20 ; =0x01010000 mov r0, r6, lsl #0x10 orr r0, r1, r0, lsr #16 bl sub_020820BC mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02081D1C: .word _022BB6AC _02081D20: .word 0x01010000 arm_func_end sub_02081CC4 arm_func_start sub_02081D24 sub_02081D24: ; 0x02081D24 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, r1 mov r7, r2 mov r6, r3 bl sub_02081A00 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, _02081D84 ; =_022BB6AC and r0, r5, #0xff str r7, [r1, #0x20] orr r0, r0, #0x6500 ldr r2, _02081D88 ; =_022BB6F0 str r6, [r1, #0x24] mov r3, r5, lsl #3 mov ip, #0 ldr r1, _02081D8C ; =_022BB6F4 strh ip, [r2, r3] orr r0, r0, #0x3000000 str r4, [r1, r5, lsl #3] bl sub_020820BC mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02081D84: .word _022BB6AC _02081D88: .word _022BB6F0 _02081D8C: .word _022BB6F4 arm_func_end sub_02081D24 arm_func_start sub_02081D90 sub_02081D90: ; 0x02081D90 stmdb sp!, {r3, lr} ldr r2, _02081DB4 ; =_02081A7C add r3, sp, #0 bl sub_02081D24 cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _02081DB4: .word sub_02081A7C arm_func_end sub_02081D90 arm_func_start sub_02081DB8 sub_02081DB8: ; 0x02081DB8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bl sub_02081A00 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} and r0, r7, #0xff ldr r1, _02081E10 ; =_022BB6AC orr r0, r0, #0x6400 str r5, [r1, #0x20] orr r0, r0, #0x2000000 str r4, [r1, #0x24] bl sub_020820BC ldr r1, _02081E14 ; =0x01010000 mov r0, r6, lsl #0x10 orr r0, r1, r0, lsr #16 bl sub_020820BC mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02081E10: .word _022BB6AC _02081E14: .word 0x01010000 arm_func_end sub_02081DB8 arm_func_start sub_02081E18 sub_02081E18: ; 0x02081E18 stmdb sp!, {r3, lr} ldr r2, _02081E3C ; =_02081A7C add r3, sp, #0 bl sub_02081DB8 cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _02081E3C: .word sub_02081A7C arm_func_end sub_02081E18 arm_func_start sub_02081E40 sub_02081E40: ; 0x02081E40 stmdb sp!, {r3, lr} cmp r0, #1 beq _02081E60 cmp r0, #2 beq _02081E70 cmp r0, #3 beq _02081E68 b _02081E78 _02081E60: mov r0, #1 b _02081E7C _02081E68: mov r0, #2 b _02081E7C _02081E70: mov r0, #3 b _02081E7C _02081E78: mov r0, #0 _02081E7C: cmp r0, #0 ldreq r0, _02081E90 ; =0x0000FFFF ldmeqia sp!, {r3, pc} bl sub_02081CC4 ldmia sp!, {r3, pc} .align 2, 0 _02081E90: .word 0x0000FFFF arm_func_end sub_02081E40 arm_func_start sub_02081E94 sub_02081E94: ; 0x02081E94 stmdb sp!, {r3, lr} ldr r1, _02081EB8 ; =_02081A7C add r2, sp, #0 bl sub_02081E40 cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _02081EB8: .word sub_02081A7C arm_func_end sub_02081E94 arm_func_start sub_02081EBC sub_02081EBC: ; 0x02081EBC stmdb sp!, {r3, lr} cmp r0, #0 mov ip, #0 bne _02081EE0 cmp r1, #1 moveq ip, #6 cmp r1, #0 moveq ip, #7 b _02081F14 _02081EE0: cmp r0, #1 bne _02081EFC cmp r1, #1 moveq ip, #4 cmp r1, #0 moveq ip, #5 b _02081F14 _02081EFC: cmp r0, #2 bne _02081F14 cmp r1, #1 moveq ip, #8 cmp r1, #0 moveq ip, #9 _02081F14: cmp ip, #0 ldreq r0, _02081F34 ; =0x0000FFFF ldmeqia sp!, {r3, pc} mov r1, r2 mov r0, ip mov r2, r3 bl sub_02081CC4 ldmia sp!, {r3, pc} .align 2, 0 _02081F34: .word 0x0000FFFF arm_func_end sub_02081EBC arm_func_start sub_02081F38 sub_02081F38: ; 0x02081F38 stmdb sp!, {r3, lr} ldr r2, _02081F5C ; =_02081A7C add r3, sp, #0 bl sub_02081EBC cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _02081F5C: .word sub_02081A7C arm_func_end sub_02081F38 arm_func_start sub_02081F60 sub_02081F60: ; 0x02081F60 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r7, r0 ldr r0, _02082008 ; =0x00996A00 mov r6, r1 bl sub_0207B854 bl sub_02082440 cmp r0, #1 beq _02081FF0 add r0, sp, #4 add r1, sp, #0 bl sub_02082060 ldr r0, [sp, #4] cmp r0, #0 beq _02081FA8 mov r0, #0 mov r1, r0 bl sub_02081F38 _02081FA8: ldr r0, [sp] cmp r0, #0 beq _02081FC0 mov r0, #1 mov r1, #0 bl sub_02081F38 _02081FC0: mov r0, #1 bl sub_02082420 cmp r0, #0 bne _02081FF0 ldr r5, _02082008 ; =0x00996A00 mov r4, #1 _02081FD8: mov r0, r5 bl sub_0207B854 mov r0, r4 bl sub_02082420 cmp r0, #0 beq _02081FD8 _02081FF0: mov r1, r7 mov r2, r6 mov r0, #0xe bl sub_02081CC4 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02082008: .word 0x00996A00 arm_func_end sub_02081F60 arm_func_start sub_0208200C sub_0208200C: ; 0x0208200C stmdb sp!, {r3, lr} ldr r0, _02082030 ; =_02081A7C add r1, sp, #0 bl sub_02081F60 cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _02082030: .word sub_02081A7C arm_func_end sub_0208200C arm_func_start sub_02082034 sub_02082034: ; 0x02082034 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02082440 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, #2 bl sub_02081E18 ldmia sp!, {r4, pc} arm_func_end sub_02082034 arm_func_start sub_02082060 sub_02082060: ; 0x02082060 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 add r1, sp, #0 mov r0, #0 bl sub_02081D90 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} cmp r5, #0 beq _0208209C ldrh r1, [sp] tst r1, #8 movne r1, #1 moveq r1, #0 str r1, [r5] _0208209C: cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrh r1, [sp] tst r1, #4 movne r1, #1 moveq r1, #0 str r1, [r4] ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02082060 arm_func_start sub_020820BC sub_020820BC: ; 0x020820BC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #8 mov r4, #0 _020820CC: mov r0, r5 mov r1, r6 mov r2, r4 bl sub_0207DB20 cmp r0, #0 bne _020820CC ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020820BC arm_func_start sub_020820E8 sub_020820E8: ; 0x020820E8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 ldr r3, _0208230C ; =_022BB6AC mov sl, r0 ldr r0, [r3, #0xc] mov sb, r1 mov fp, r2 mov r4, #0 bl sub_020825E4 ldr r1, _02082310 ; =0x04000208 mov r0, r4 ldrh r8, [r1] strh r0, [r1] bl EnableIrqFlag str r0, [sp, #8] ldr r0, _02082314 ; =0x003FFFFF bl sub_02078C98 str r0, [sp, #4] bl sub_0207ADCC cmp r0, #0 movne r0, #8 moveq r0, r4 orr r0, r0, #0x40000 bl sub_02078C3C ldr r0, [sp, #8] bl SetIrqFlag ldr r2, _02082310 ; =0x04000208 mov r0, #1 ldrh r1, [r2] tst sl, #8 strh r0, [r2] beq _02082178 ldr r0, _02082318 ; =0x027FFC40 ldrh r0, [r0] cmp r0, #2 biceq sl, sl, #8 _02082178: tst sl, #0x10 beq _0208218C bl sub_020847AC cmp r0, #0 biceq sl, sl, #0x10 _0208218C: mov r1, #0x4000000 add r0, r1, #0x1000 ldr r5, [r1] ldr r6, [r0] bl sub_02082440 str r0, [sp] add r0, sp, #0x14 add r1, sp, #0x10 bl sub_02082060 mov r0, #2 mov r1, #0 bl sub_02081F38 ldr r2, _0208231C ; =0x027FFC3C ldr r0, [r2] str r0, [sp, #0xc] _020821C8: ldr r1, [r2] ldr r0, [sp, #0xc] cmp r0, r1 beq _020821C8 ldr r0, [r2] mov r2, #0x4000000 str r0, [sp, #0xc] ldr r0, [r2] add r1, r2, #0x1000 bic r0, r0, #0x30000 str r0, [r2] ldr r0, [r1] bic r0, r0, #0x10000 str r0, [r1] ldr r2, _0208231C ; =0x027FFC3C _02082204: ldr r1, [r2] ldr r0, [sp, #0xc] cmp r0, r1 beq _02082204 ldr r0, [r2] str r0, [sp, #0xc] ldr r2, _0208231C ; =0x027FFC3C _02082220: ldr r1, [r2] ldr r0, [sp, #0xc] cmp r0, r1 beq _02082220 ldr r0, [sp, #0x14] ldr r1, [sp, #0x10] orr r0, sl, r0, lsl #5 orr r0, r0, r1, lsl #6 mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 orr r0, sb, fp mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 _02082254: mov r0, r7 mov r1, sb bl sub_02081C30 cmp r0, #0 bne _02082254 bl WaitForInterrupt tst sl, #8 beq _02082284 ldr r0, _02082320 ; =0x04000214 ldr r0, [r0] tst r0, #0x100000 movne r4, #1 _02082284: cmp r4, #0 bne _020822C4 ldr r0, [sp] cmp r0, #1 mov r0, #1 bne _020822B0 mov r1, r0 mov r2, r0 mov r3, r0 bl sub_02082328 b _020822B4 _020822B0: bl sub_02081E94 _020822B4: mov r0, #0x4000000 str r5, [r0] add r0, r0, #0x1000 str r6, [r0] _020822C4: ldr r0, _02082324 ; =0x00708100 bl sub_0207B854 bl EnableIrqFlag ldr r0, [sp, #4] bl sub_02078C3C ldr r0, [sp, #8] bl SetIrqFlag ldr r1, _02082310 ; =0x04000208 cmp r4, #0 ldrh r0, [r1] strh r8, [r1] beq _020822F8 bl sub_0208200C _020822F8: ldr r0, _0208230C ; =_022BB6AC ldr r0, [r0, #0x18] bl sub_020825E4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0208230C: .word _022BB6AC _02082310: .word 0x04000208 _02082314: .word 0x003FFFFF _02082318: .word 0x027FFC40 _0208231C: .word 0x027FFC3C _02082320: .word 0x04000214 _02082324: .word 0x00708100 arm_func_end sub_020820E8 arm_func_start sub_02082328 sub_02082328: ; 0x02082328 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r3 cmp r0, #0 beq _020823B8 cmp r0, #1 bne _0208240C cmp r2, #0 bne _0208236C ldr r1, _02082414 ; =0x027FFC3C ldr r0, _02082418 ; =_022BB6AC ldr r1, [r1] ldr r0, [r0, #0x10] sub r0, r1, r0 cmp r0, #7 movls r0, #0 ldmlsia sp!, {r3, r4, r5, pc} _0208236C: cmp r5, #0 beq _02082398 cmp r4, #0 beq _02082388 mov r0, r5 bl sub_02081E94 b _02082398 _02082388: mov r1, #0 mov r0, r5 mov r2, r1 bl sub_02081E40 _02082398: ldr r2, _0208241C ; =0x04000304 ldr r0, _02082418 ; =_022BB6AC ldrh r1, [r2] orr r1, r1, #1 strh r1, [r2] ldr r0, [r0, #0x14] bl sub_02082034 b _0208240C _020823B8: mov r0, #0 bl sub_02082034 ldr r3, _0208241C ; =0x04000304 ldr r1, _02082414 ; =0x027FFC3C ldrh r2, [r3] ldr r0, _02082418 ; =_022BB6AC cmp r5, #0 bic r2, r2, #1 strh r2, [r3] ldr r1, [r1] str r1, [r0, #0x10] beq _0208240C cmp r4, #0 beq _020823FC mov r0, r5 bl sub_02081E94 b _0208240C _020823FC: mov r1, #0 mov r0, r5 mov r2, r1 bl sub_02081E40 _0208240C: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02082414: .word 0x027FFC3C _02082418: .word _022BB6AC _0208241C: .word 0x04000304 arm_func_end sub_02082328 arm_func_start sub_02082420 sub_02082420: ; 0x02082420 ldr ip, _0208243C ; =sub_02082328 mov r1, #0 cmp r0, #1 movne r0, #0 mov r2, r1 mov r3, #1 bx ip .align 2, 0 _0208243C: .word sub_02082328 arm_func_end sub_02082420 arm_func_start sub_02082440 sub_02082440: ; 0x02082440 ldr r0, _02082458 ; =0x04000304 ldrh r0, [r0] tst r0, #1 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _02082458: .word 0x04000304 arm_func_end sub_02082440 arm_func_start sub_0208245C sub_0208245C: ; 0x0208245C stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02081A00 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} and r0, r6, #0xff ldr r1, _020824A0 ; =_022BB6AC orr r0, r0, #0x6600 str r5, [r1, #0x20] orr r0, r0, #0x3000000 str r4, [r1, #0x24] bl sub_020820BC mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020824A0: .word _022BB6AC arm_func_end sub_0208245C arm_func_start sub_020824A4 sub_020824A4: ; 0x020824A4 stmdb sp!, {r3, lr} ldr r1, _020824C8 ; =_02081A7C add r2, sp, #0 bl sub_0208245C cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _020824C8: .word sub_02081A7C arm_func_end sub_020824A4 arm_func_start sub_020824CC sub_020824CC: ; 0x020824CC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl sub_02081A00 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, _0208250C ; =_022BB6AC ldr r0, _02082510 ; =0x03006700 str r5, [r1, #0x20] str r4, [r1, #0x24] str r6, [r1, #0x28] bl sub_020820BC mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0208250C: .word _022BB6AC _02082510: .word 0x03006700 arm_func_end sub_020824CC arm_func_start sub_02082514 sub_02082514: ; 0x02082514 stmdb sp!, {r3, lr} ldr r1, _02082538 ; =_02081A7C add r2, sp, #0 bl sub_020824CC cmp r0, #0 ldmneia sp!, {r3, pc} bl sub_02081A3C ldr r0, [sp] ldmia sp!, {r3, pc} .align 2, 0 _02082538: .word sub_02081A7C arm_func_end sub_02082514 arm_func_start sub_0208253C sub_0208253C: ; 0x0208253C cmp r0, #0 ldrne r2, [r0] strne r2, [r1, #8] strne r1, [r0] bx lr arm_func_end sub_0208253C arm_func_start sub_02082550 sub_02082550: ; 0x02082550 cmp r0, #0 bxeq lr ldr r2, [r0] cmp r2, #0 bne _02082574 mov r2, #0 str r2, [r1, #8] str r1, [r0] bx lr _02082574: ldr r0, [r2, #8] cmp r0, #0 beq _02082590 _02082580: mov r2, r0 ldr r0, [r0, #8] cmp r0, #0 bne _02082580 _02082590: str r0, [r1, #8] str r1, [r2, #8] bx lr arm_func_end sub_02082550 arm_func_start sub_0208259C sub_0208259C: ; 0x0208259C cmp r0, #0 ldrne r2, [r0] movne r3, r2 cmpne r2, #0 bxeq lr _020825B0: cmp r2, r1 bne _020825D0 cmp r2, r3 ldreq r1, [r2, #8] streq r1, [r0] ldrne r0, [r2, #8] strne r0, [r3, #8] bx lr _020825D0: mov r3, r2 ldr r2, [r2, #8] cmp r2, #0 bne _020825B0 bx lr arm_func_end sub_0208259C arm_func_start sub_020825E4 sub_020825E4: ; 0x020825E4 stmdb sp!, {r4, lr} movs r4, r0 ldmeqia sp!, {r4, pc} _020825F0: ldr r0, [r4, #4] ldr r1, [r4] blx r1 ldr r4, [r4, #8] cmp r4, #0 bne _020825F0 ldmia sp!, {r4, pc} arm_func_end sub_020825E4 arm_func_start sub_0208260C sub_0208260C: ; 0x0208260C ldr ip, _0208261C ; =sub_0208253C mov r1, r0 ldr r0, _02082620 ; =_022BB6B8 bx ip .align 2, 0 _0208261C: .word sub_0208253C _02082620: .word _022BB6B8 arm_func_end sub_0208260C arm_func_start sub_02082624 sub_02082624: ; 0x02082624 ldr ip, _02082634 ; =sub_02082550 mov r1, r0 ldr r0, _02082638 ; =_022BB6C4 bx ip .align 2, 0 _02082634: .word sub_02082550 _02082638: .word _022BB6C4 arm_func_end sub_02082624 arm_func_start sub_0208263C sub_0208263C: ; 0x0208263C ldr ip, _0208264C ; =sub_0208259C mov r1, r0 ldr r0, _02082650 ; =_022BB6B8 bx ip .align 2, 0 _0208264C: .word sub_0208259C _02082650: .word _022BB6B8 arm_func_end sub_0208263C arm_func_start sub_02082654 sub_02082654: ; 0x02082654 ldr ip, _02082664 ; =sub_0208259C mov r1, r0 ldr r0, _02082668 ; =_022BB6C4 bx ip .align 2, 0 _02082664: .word sub_0208259C _02082668: .word _022BB6C4 arm_func_end sub_02082654 arm_func_start sub_0208266C sub_0208266C: ; 0x0208266C stmdb sp!, {r3, r4, r5, lr} ldr r0, _020826D0 ; =_022BB718 ldrh r1, [r0] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, #1 strh r1, [r0] mov r1, #0 str r1, [r0, #0xc] str r1, [r0, #0x10] str r1, [r0, #0x28] str r1, [r0, #0x14] str r1, [r0, #0x18] bl sub_0207D9A4 mov r5, #5 mov r4, #1 _020826AC: mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _020826AC ldr r1, _020826D4 ; =sub_020828E0 mov r0, #5 bl sub_0207DAB0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020826D0: .word _022BB718 _020826D4: .word sub_020828E0 arm_func_end sub_0208266C arm_func_start sub_020826D8 sub_020826D8: ; 0x020826D8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl EnableIrqFlag ldr r1, _02082744 ; =_022BB718 ldr r2, [r1, #0xc] cmp r2, #0 beq _02082708 bl SetIrqFlag mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02082708: mov r2, #1 str r2, [r1, #0xc] bl SetIrqFlag ldr r0, _02082744 ; =_022BB718 mov r1, #0 str r1, [r0, #0x20] str r1, [r0, #0x24] str r6, [r0, #0x14] str r5, [r0, #0x10] str r4, [r0, #0x1c] bl sub_02082ED8 cmp r0, #0 movne r0, #0 moveq r0, #3 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02082744: .word _022BB718 arm_func_end sub_020826D8 arm_func_start sub_02082748 sub_02082748: ; 0x02082748 stmdb sp!, {r3, lr} ldr r1, _02082778 ; =sub_02082EA0 mov r2, #0 bl sub_020826D8 ldr r1, _0208277C ; =_022BB718 cmp r0, #0 str r0, [r1, #0x2c] bne _0208276C bl sub_02082EB0 _0208276C: ldr r0, _0208277C ; =_022BB718 ldr r0, [r0, #0x2c] ldmia sp!, {r3, pc} .align 2, 0 _02082778: .word sub_02082EA0 _0208277C: .word _022BB718 arm_func_end sub_02082748 arm_func_start sub_02082780 sub_02082780: ; 0x02082780 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl EnableIrqFlag ldr r1, _020827F0 ; =_022BB718 ldr r2, [r1, #0xc] cmp r2, #0 beq _020827B0 bl SetIrqFlag mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _020827B0: mov r2, #1 str r2, [r1, #0xc] bl SetIrqFlag ldr r0, _020827F0 ; =_022BB718 mov r1, #1 str r1, [r0, #0x20] mov r1, #0 str r1, [r0, #0x24] str r6, [r0, #0x14] str r5, [r0, #0x10] str r4, [r0, #0x1c] bl sub_02082EE8 cmp r0, #0 movne r0, #0 moveq r0, #3 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020827F0: .word _022BB718 arm_func_end sub_02082780 arm_func_start sub_020827F4 sub_020827F4: ; 0x020827F4 stmdb sp!, {r3, lr} ldr r1, _02082824 ; =sub_02082EA0 mov r2, #0 bl sub_02082780 ldr r1, _02082828 ; =_022BB718 cmp r0, #0 str r0, [r1, #0x2c] bne _02082818 bl sub_02082EB0 _02082818: ldr r0, _02082828 ; =_022BB718 ldr r0, [r0, #0x2c] ldmia sp!, {r3, pc} .align 2, 0 _02082824: .word sub_02082EA0 _02082828: .word _022BB718 arm_func_end sub_020827F4 arm_func_start sub_0208282C sub_0208282C: ; 0x0208282C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bl EnableIrqFlag ldr r1, _020828A4 ; =_022BB718 ldr r2, [r1, #0xc] cmp r2, #0 beq _02082860 bl SetIrqFlag mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02082860: mov r2, #1 str r2, [r1, #0xc] bl SetIrqFlag ldr r0, _020828A4 ; =_022BB718 mov r1, #2 str r1, [r0, #0x20] mov r1, #0 str r1, [r0, #0x24] str r7, [r0, #0x14] str r6, [r0, #0x18] str r5, [r0, #0x10] str r4, [r0, #0x1c] bl sub_02082EC8 cmp r0, #0 movne r0, #0 moveq r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020828A4: .word _022BB718 arm_func_end sub_0208282C arm_func_start sub_020828A8 sub_020828A8: ; 0x020828A8 stmdb sp!, {r3, lr} ldr r2, _020828D8 ; =sub_02082EA0 mov r3, #0 bl sub_0208282C ldr r1, _020828DC ; =_022BB718 cmp r0, #0 str r0, [r1, #0x2c] bne _020828CC bl sub_02082EB0 _020828CC: ldr r0, _020828DC ; =_022BB718 ldr r0, [r0, #0x2c] ldmia sp!, {r3, pc} .align 2, 0 _020828D8: .word sub_02082EA0 _020828DC: .word _022BB718 arm_func_end sub_020828A8 arm_func_start sub_020828E0 sub_020828E0: ; 0x020828E0 stmdb sp!, {r3, r4, r5, lr} cmp r2, #0 beq _0208293C ldr r0, _02082E20 ; =_022BB718 ldr r1, [r0, #0x24] cmp r1, #0 movne r1, #0 strne r1, [r0, #0x24] ldr r0, _02082E20 ; =_022BB718 ldr r1, [r0, #0xc] cmp r1, #0 movne r1, #0 strne r1, [r0, #0xc] ldr r0, _02082E20 ; =_022BB718 ldr r2, [r0, #0x10] cmp r2, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #0 str r1, [r0, #0x10] ldr r1, [r0, #0x1c] mov r0, #6 blx r2 ldmia sp!, {r3, r4, r5, pc} _0208293C: and r0, r1, #0x7f00 mov r0, r0, lsr #8 and r0, r0, #0xff cmp r0, #0x30 and r2, r1, #0xff bne _0208296C ldr r0, _02082E20 ; =_022BB718 ldr r0, [r0, #0x28] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} blx r0 ldmia sp!, {r3, r4, r5, pc} _0208296C: cmp r2, #0 bne _02082D90 ldr r0, _02082E20 ; =_022BB718 mov r4, #0 ldr r1, [r0, #0x20] cmp r1, #0xf addls pc, pc, r1, lsl #2 b _02082D7C _0208298C: ; jump table b _020829CC ; case 0 b _02082A28 ; case 1 b _02082A78 ; case 2 b _02082DD8 ; case 3 b _02082DD8 ; case 4 b _02082DD8 ; case 5 b _02082B20 ; case 6 b _02082B50 ; case 7 b _02082B74 ; case 8 b _02082C1C ; case 9 b _02082CD0 ; case 10 b _02082DD8 ; case 11 b _02082DD8 ; case 12 b _02082DD8 ; case 13 b _02082DD8 ; case 14 b _02082DD8 ; case 15 _020829CC: ldr r1, _02082E24 ; =0x027FFDE8 ldr r5, [r0, #0x14] ldr r0, [r1] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x18 bl sub_02082E30 ldr r1, _02082E24 ; =0x027FFDE8 str r0, [r5] ldr r0, [r1] mov r0, r0, lsl #0x13 mov r0, r0, lsr #0x1b bl sub_02082E30 ldr r1, _02082E24 ; =0x027FFDE8 str r0, [r5, #4] ldr r0, [r1] mov r0, r0, lsl #0xa mov r0, r0, lsr #0x1a bl sub_02082E30 str r0, [r5, #8] mov r0, r5 bl sub_02083040 str r0, [r5, #0xc] b _02082DD8 _02082A28: ldr r1, _02082E28 ; =0x027FFDEC ldr r5, [r0, #0x14] ldr r0, [r1] mov r0, r0, lsl #0x1a mov r0, r0, lsr #0x1a bl sub_02082E30 ldr r1, _02082E28 ; =0x027FFDEC str r0, [r5] ldr r0, [r1] mov r0, r0, lsl #0x11 mov r0, r0, lsr #0x19 bl sub_02082E30 ldr r1, _02082E28 ; =0x027FFDEC str r0, [r5, #4] ldr r0, [r1] mov r0, r0, lsl #9 mov r0, r0, lsr #0x19 bl sub_02082E30 str r0, [r5, #8] b _02082DD8 _02082A78: ldr r1, _02082E24 ; =0x027FFDE8 ldr r5, [r0, #0x14] ldr r0, [r1] and r0, r0, #0xff bl sub_02082E30 ldr r1, _02082E24 ; =0x027FFDE8 str r0, [r5] ldr r0, [r1] mov r0, r0, lsl #0x13 mov r0, r0, lsr #0x1b bl sub_02082E30 ldr r1, _02082E24 ; =0x027FFDE8 str r0, [r5, #4] ldr r0, [r1] mov r0, r0, lsl #0xa mov r0, r0, lsr #0x1a bl sub_02082E30 str r0, [r5, #8] mov r0, r5 bl sub_02083040 ldr r1, _02082E28 ; =0x027FFDEC str r0, [r5, #0xc] ldr r0, [r1] ldr r1, _02082E20 ; =_022BB718 mov r0, r0, lsl #0x1a mov r0, r0, lsr #0x1a ldr r5, [r1, #0x18] bl sub_02082E30 ldr r1, _02082E28 ; =0x027FFDEC str r0, [r5] ldr r0, [r1] mov r0, r0, lsl #0x11 mov r0, r0, lsr #0x19 bl sub_02082E30 ldr r1, _02082E28 ; =0x027FFDEC str r0, [r5, #4] ldr r0, [r1] mov r0, r0, lsl #9 mov r0, r0, lsr #0x19 bl sub_02082E30 str r0, [r5, #8] b _02082DD8 _02082B20: ldr r1, _02082E2C ; =0x027FFDEA ldr r2, [r0, #0x14] ldrh r0, [r1] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c cmp r0, #4 bne _02082B48 mov r0, #1 str r0, [r2] b _02082DD8 _02082B48: str r4, [r2] b _02082DD8 _02082B50: ldr r1, _02082E2C ; =0x027FFDEA ldr r2, [r0, #0x14] ldrh r0, [r1] mov r0, r0, lsl #0x19 movs r0, r0, lsr #0x1f movne r0, #1 strne r0, [r2] streq r4, [r2] b _02082DD8 _02082B74: ldr r1, _02082E28 ; =0x027FFDEC ldr r5, [r0, #0x14] ldr r0, [r1] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d str r0, [r5] ldr r0, [r1] mov r0, r0, lsl #0x12 mov r0, r0, lsr #0x1a bl sub_02082E30 ldr r1, _02082E28 ; =0x027FFDEC str r0, [r5, #4] ldr r0, [r1] mov r0, r0, lsl #9 mov r0, r0, lsr #0x19 bl sub_02082E30 str r0, [r5, #8] mov r1, r4 ldr r0, _02082E28 ; =0x027FFDEC str r1, [r5, #0xc] ldr r0, [r0] mov r0, r0, lsl #0x18 movs r0, r0, lsr #0x1f ldrne r0, [r5, #0xc] addne r0, r0, #1 strne r0, [r5, #0xc] ldr r0, _02082E28 ; =0x027FFDEC ldr r0, [r0] mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x1f ldrne r0, [r5, #0xc] addne r0, r0, #2 strne r0, [r5, #0xc] ldr r0, _02082E28 ; =0x027FFDEC ldr r0, [r0] mov r0, r0, lsl #8 movs r0, r0, lsr #0x1f beq _02082DD8 ldr r0, [r5, #0xc] add r0, r0, #4 str r0, [r5, #0xc] b _02082DD8 _02082C1C: ldr r3, [r0, #0x24] cmp r3, #0 bne _02082CC8 ldr r1, [r0, #0x14] ldr r2, _02082E2C ; =0x027FFDEA ldr r1, [r1] cmp r1, #1 ldrh r1, [r2] bne _02082C88 mov r1, r1, lsl #0x1c mov r1, r1, lsr #0x1c cmp r1, #4 beq _02082DD8 add r1, r3, #1 str r1, [r0, #0x24] ldrh r0, [r2] bic r0, r0, #0xf orr r0, r0, #4 strh r0, [r2] bl sub_02082EF8 cmp r0, #0 bne _02082DD8 ldr r0, _02082E20 ; =_022BB718 mov r1, r4 str r1, [r0, #0x24] mov r4, #3 b _02082DD8 _02082C88: mov r1, r1, lsl #0x1c movs r1, r1, lsr #0x1c beq _02082DD8 add r1, r3, #1 str r1, [r0, #0x24] ldrh r0, [r2] bic r0, r0, #0xf strh r0, [r2] bl sub_02082EF8 cmp r0, #0 bne _02082DD8 ldr r0, _02082E20 ; =_022BB718 mov r1, r4 str r1, [r0, #0x24] mov r4, #3 b _02082DD8 _02082CC8: str r4, [r0, #0x24] b _02082DD8 _02082CD0: ldr r3, [r0, #0x24] cmp r3, #0 bne _02082D74 ldr r1, [r0, #0x14] ldr r2, _02082E2C ; =0x027FFDEA ldr r1, [r1] cmp r1, #1 ldrh r1, [r2] bne _02082D34 mov r1, r1, lsl #0x19 movs r1, r1, lsr #0x1f bne _02082DD8 add r1, r3, #1 str r1, [r0, #0x24] ldrh r0, [r2] orr r0, r0, #0x40 strh r0, [r2] bl sub_02082EF8 cmp r0, #0 bne _02082DD8 ldr r0, _02082E20 ; =_022BB718 mov r1, r4 str r1, [r0, #0x24] mov r4, #3 b _02082DD8 _02082D34: mov r1, r1, lsl #0x19 movs r1, r1, lsr #0x1f beq _02082DD8 add r1, r3, #1 str r1, [r0, #0x24] ldrh r0, [r2] bic r0, r0, #0x40 strh r0, [r2] bl sub_02082EF8 cmp r0, #0 bne _02082DD8 ldr r0, _02082E20 ; =_022BB718 mov r1, r4 str r1, [r0, #0x24] mov r4, #3 b _02082DD8 _02082D74: str r4, [r0, #0x24] b _02082DD8 _02082D7C: ldr r0, _02082E20 ; =_022BB718 mov r1, #0 str r1, [r0, #0x24] mov r4, #4 b _02082DD8 _02082D90: ldr r0, _02082E20 ; =_022BB718 mov r1, #0 str r1, [r0, #0x24] cmp r2, #4 addls pc, pc, r2, lsl #2 b _02082DD4 _02082DA8: ; jump table b _02082DD4 ; case 0 b _02082DBC ; case 1 b _02082DC4 ; case 2 b _02082DCC ; case 3 b _02082DD4 ; case 4 _02082DBC: mov r4, #4 b _02082DD8 _02082DC4: mov r4, #5 b _02082DD8 _02082DCC: mov r4, #1 b _02082DD8 _02082DD4: mov r4, #6 _02082DD8: ldr r0, _02082E20 ; =_022BB718 ldr r1, [r0, #0x24] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r0, #0xc] cmp r1, #0 movne r1, #0 strne r1, [r0, #0xc] ldr r0, _02082E20 ; =_022BB718 ldr r2, [r0, #0x10] cmp r2, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #0 str r1, [r0, #0x10] ldr r1, [r0, #0x1c] mov r0, r4 blx r2 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02082E20: .word _022BB718 _02082E24: .word 0x027FFDE8 _02082E28: .word 0x027FFDEC _02082E2C: .word 0x027FFDEA arm_func_end sub_020828E0 arm_func_start sub_02082E30 sub_02082E30: ; 0x02082E30 stmdb sp!, {r3, r4, r5, lr} mov ip, #0 mov r2, ip mov r3, ip _02082E40: mov r1, r0, lsr r3 and r1, r1, #0xf cmp r1, #0xa movhs r0, #0 ldmhsia sp!, {r3, r4, r5, pc} add r2, r2, #1 cmp r2, #8 add r3, r3, #4 blt _02082E40 mov r5, #0 mov r4, r5 mov lr, #1 mov r2, #0xa _02082E74: mov r1, r0, lsr r4 and r3, r1, #0xf mul r1, lr, r2 mla ip, lr, r3, ip add r5, r5, #1 mov lr, r1 cmp r5, #8 add r4, r4, #4 blt _02082E74 mov r0, ip ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02082E30 arm_func_start sub_02082EA0 sub_02082EA0: ; 0x02082EA0 ldr r1, _02082EAC ; =_022BB718 str r0, [r1, #0x2c] bx lr .align 2, 0 _02082EAC: .word _022BB718 arm_func_end sub_02082EA0 arm_func_start sub_02082EB0 sub_02082EB0: ; 0x02082EB0 ldr ip, _02082EC4 ; =_022BB724 _02082EB4: ldr r0, [ip] cmp r0, #1 beq _02082EB4 bx lr .align 2, 0 _02082EC4: .word _022BB724 arm_func_end sub_02082EB0 arm_func_start sub_02082EC8 sub_02082EC8: ; 0x02082EC8 ldr ip, _02082ED4 ; =sub_02082F08 mov r0, #0x10 bx ip .align 2, 0 _02082ED4: .word sub_02082F08 arm_func_end sub_02082EC8 arm_func_start sub_02082ED8 sub_02082ED8: ; 0x02082ED8 ldr ip, _02082EE4 ; =sub_02082F08 mov r0, #0x11 bx ip .align 2, 0 _02082EE4: .word sub_02082F08 arm_func_end sub_02082ED8 arm_func_start sub_02082EE8 sub_02082EE8: ; 0x02082EE8 ldr ip, _02082EF4 ; =sub_02082F08 mov r0, #0x12 bx ip .align 2, 0 _02082EF4: .word sub_02082F08 arm_func_end sub_02082EE8 arm_func_start sub_02082EF8 sub_02082EF8: ; 0x02082EF8 ldr ip, _02082F04 ; =sub_02082F08 mov r0, #0x27 bx ip .align 2, 0 _02082F04: .word sub_02082F08 arm_func_end sub_02082EF8 arm_func_start sub_02082F08 sub_02082F08: ; 0x02082F08 stmdb sp!, {r3, lr} mov r0, r0, lsl #8 and r1, r0, #0x7f00 mov r0, #5 mov r2, #0 bl sub_0207DB20 cmp r0, #0 movge r0, #1 movlt r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_02082F08 arm_func_start sub_02082F30 sub_02082F30: ; 0x02082F30 ldr r3, [r0] cmp r3, #0x64 bhs _02082F80 ldr r2, [r0, #4] cmp r2, #1 blo _02082F80 cmp r2, #0xc bhi _02082F80 ldr r1, [r0, #8] cmp r1, #1 blo _02082F80 cmp r1, #0x1f bhi _02082F80 ldr r0, [r0, #0xc] cmp r0, #7 bge _02082F80 cmp r2, #1 blo _02082F80 cmp r2, #0xc bls _02082F88 _02082F80: mvn r0, #0 bx lr _02082F88: ldr r0, _02082FBC ; =_020B2E9C sub r1, r1, #1 ldr r0, [r0, r2, lsl #2] cmp r2, #3 add r2, r1, r0 blo _02082FA8 tst r3, #3 addeq r2, r2, #1 _02082FA8: ldr r0, _02082FC0 ; =0x0000016D add r1, r3, #3 mla r0, r3, r0, r2 add r0, r0, r1, lsr #2 bx lr .align 2, 0 _02082FBC: .word _020B2E9C _02082FC0: .word 0x0000016D arm_func_end sub_02082F30 arm_func_start sub_02082FC4 sub_02082FC4: ; 0x02082FC4 mov r1, #0x3c ldmia r0, {r2, r3} mla r3, r2, r1, r3 ldr r0, [r0, #8] mla r0, r3, r1, r0 bx lr arm_func_end sub_02082FC4 arm_func_start sub_02082FDC sub_02082FDC: ; 0x02082FDC stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl sub_02082F30 mov r4, r0 mvn r0, #0 cmp r4, r0 moveq r1, r0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 bl sub_02082FC4 mvn r2, #0 cmp r0, r2 moveq r1, r2 beq _02083034 ldr r1, _0208303C ; =0x00015180 mov r2, #0 umull ip, r3, r4, r1 mla r3, r4, r2, r3 mov r2, r4, asr #0x1f mla r3, r2, r1, r3 adds r2, r0, ip adc r1, r3, r0, asr #31 _02083034: mov r0, r2 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0208303C: .word 0x00015180 arm_func_end sub_02082FDC arm_func_start sub_02083040 sub_02083040: ; 0x02083040 stmdb sp!, {r4, r5, r6, lr} ldr r1, [r0, #4] ldr r2, [r0] sub r1, r1, #2 cmp r1, #1 add ip, r2, #0x7d0 sublt ip, ip, #1 ldr r6, _020830F0 ; =0x51EB851F ldr lr, [r0, #8] smull r3, r2, r6, ip smull r4, r3, r6, ip mov r5, ip, lsr #0x1f add r3, r5, r3, asr #5 add r2, r5, r2, asr #5 mov r5, #0x64 smull r2, r4, r5, r2 sub r2, ip, r2 addlt r1, r1, #0xc mov r0, #0x1a mul r0, r1, r0 sub r1, r0, #2 ldr r0, _020830F4 ; =0x66666667 mov r5, r1, lsr #0x1f smull r1, ip, r0, r1 add ip, r5, ip, asr #2 mov r4, r2, asr #1 add r0, lr, ip add r1, r2, r4, lsr #30 add r2, r2, r0 mov r6, r3, asr #1 add r0, r3, r6, lsr #30 add r1, r2, r1, asr #2 add r1, r1, r0, asr #2 add r0, r3, r3, lsl #2 add r4, r1, r0 ldr r3, _020830F8 ; =0x92492493 mov r1, r4, lsr #0x1f smull r2, r0, r3, r4 add r0, r4, r0 add r0, r1, r0, asr #2 mov r2, #7 smull r0, r1, r2, r0 sub r0, r4, r0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020830F0: .word 0x51EB851F _020830F4: .word 0x66666667 _020830F8: .word 0x92492493 arm_func_end sub_02083040 arm_func_start sub_020830FC sub_020830FC: ; 0x020830FC stmdb sp!, {r3, r4, r5, lr} ldr r4, _02083134 ; =_022BB7E0 mov r5, r0 ldr r1, [r4, #0x108] add r0, r4, #0x44 bl sub_02079A64 ldr r1, [r4, #0x114] add r0, r4, #0x44 orr r1, r1, #8 str r0, [r4, #0x104] str r5, [r4, #0x40] str r1, [r4, #0x114] bl sub_02079940 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02083134: .word _022BB7E0 arm_func_end sub_020830FC arm_func_start sub_02083138 sub_02083138: ; 0x02083138 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _020831B8 ; =_022BB7E0 mov r8, r0 mov r7, r1 bl EnableIrqFlag ldr r1, [r4, #8] mov r5, r0 cmp r1, r8 bne _02083170 ldr r0, [r4, #0x18] cmp r0, r7 beq _02083194 bl WaitForever2 b _02083194 _02083170: mvn r6, #2 b _02083180 _02083178: add r0, r4, #0x10 bl sub_02079888 _02083180: ldr r0, [r4, #8] cmp r0, r6 bne _02083178 str r8, [r4, #8] str r7, [r4, #0x18] _02083194: ldr r0, [r4, #0xc] ldr r1, [r4] add r2, r0, #1 mov r0, r5 str r2, [r4, #0xc] mov r2, #0 str r2, [r1] bl SetIrqFlag ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020831B8: .word _022BB7E0 arm_func_end sub_02083138 arm_func_start sub_020831BC sub_020831BC: ; 0x020831BC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r4, _02083244 ; =_022BB7E0 mov r7, r0 mov r6, r1 bl EnableIrqFlag ldr r1, [r4, #8] mov r5, r0 cmp r1, r7 bne _020831EC ldr r0, [r4, #0xc] cmp r0, #0 bne _020831F4 _020831EC: bl WaitForever2 b _0208322C _020831F4: ldr r0, [r4, #0x18] cmp r0, r6 beq _02083204 bl WaitForever2 _02083204: ldr r0, [r4, #0xc] subs r0, r0, #1 str r0, [r4, #0xc] bne _0208322C mvn r2, #2 mov r1, #0 add r0, r4, #0x10 str r2, [r4, #8] str r1, [r4, #0x18] bl sub_020798D8 _0208322C: ldr r1, [r4] mov r2, #0 mov r0, r5 str r2, [r1] bl SetIrqFlag ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02083244: .word _022BB7E0 arm_func_end sub_020831BC arm_func_start sub_02083248 sub_02083248: ; 0x02083248 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r4, _0208333C ; =_022BB7E0 ldr r1, _02083340 ; =_022BB780 mvn r2, #2 mov r0, #0 str r2, [r4, #8] mov r2, #0x60 str r0, [r4, #0xc] str r0, [r4, #0x18] str r1, [r4] bl ArrayFill32Fast ldr r0, _02083340 ; =_022BB780 mov r1, #0x60 bl sub_0207A2DC mvn r1, #0 ldr r0, _02083344 ; =0x027FFC40 str r1, [r4, #0x118] str r1, [r4, #0x11c] ldrh r0, [r0] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 bne _020832BC ldr r0, _02083348 ; =0x027FFE00 mov r2, #0x160 sub r1, r0, #0x380 bl MemcpyFast _020832BC: mov r2, #0 mov r0, #4 str r0, [r4, #0x108] str r2, [r4, #0x14] str r2, [r4, #0x10] str r2, [r4, #0x110] str r2, [r4, #0x10c] mov r0, #0x400 str r0, [sp] ldr ip, [r4, #0x108] ldr r1, _0208334C ; =sub_020843B4 ldr r3, _02083350 ; =_022BBE00 add r0, r4, #0x44 str ip, [sp, #4] bl sub_02079560 add r0, r4, #0x44 bl sub_02079940 ldr r1, _02083354 ; =sub_02084380 mov r0, #0xb bl sub_0207DAB0 ldr r0, _02083344 ; =0x027FFC40 ldrh r0, [r0] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} mov r0, #1 bl sub_02083380 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0208333C: .word _022BB7E0 _02083340: .word _022BB780 _02083344: .word 0x027FFC40 _02083348: .word 0x027FFE00 _0208334C: .word sub_020843B4 _02083350: .word _022BBE00 _02083354: .word sub_02084380 arm_func_end sub_02083248 arm_func_start sub_02083358 sub_02083358: ; 0x02083358 ldr r0, _02083364 ; =_022BB760 ldr r0, [r0] bx lr .align 2, 0 _02083364: .word _022BB760 arm_func_end sub_02083358 arm_func_start sub_02083368 sub_02083368: ; 0x02083368 stmdb sp!, {r3, lr} bl sub_02083358 cmp r0, #0 ldmneia sp!, {r3, pc} bl WaitForever2 ldmia sp!, {r3, pc} arm_func_end sub_02083368 arm_func_start sub_02083380 sub_02083380: ; 0x02083380 ldr r1, _0208338C ; =_022BB760 str r0, [r1] bx lr .align 2, 0 _0208338C: .word _022BB760 arm_func_end sub_02083380 arm_func_start sub_02083390 sub_02083390: ; 0x02083390 stmdb sp!, {r3, r4, r5, lr} ldr r4, _020833D8 ; =_022BB7E0 bl EnableIrqFlag mov r5, r0 b _020833AC _020833A4: add r0, r4, #0x10c bl sub_02079888 _020833AC: ldr r0, [r4, #0x114] tst r0, #4 bne _020833A4 mov r0, r5 bl SetIrqFlag ldr r0, [r4] ldr r0, [r0] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020833D8: .word _022BB7E0 arm_func_end sub_02083390 arm_func_start sub_020833DC sub_020833DC: ; 0x020833DC ldr r0, _020833F4 ; =_022BB7E0 ldr r0, [r0, #0x114] tst r0, #4 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _020833F4: .word _022BB7E0 arm_func_end sub_020833DC arm_func_start sub_020833F8 sub_020833F8: ; 0x020833F8 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r5, _02083430 ; =_022BB7E0 mov r7, r0 bl EnableIrqFlag ldr r6, [r5, #0x108] mov r4, r0 mov r1, r7 add r0, r5, #0x44 str r7, [r5, #0x108] bl sub_02079A64 mov r0, r4 bl SetIrqFlag mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02083430: .word _022BB7E0 arm_func_end sub_020833F8 arm_func_start sub_02083434 sub_02083434: ; 0x02083434 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #1 bl sub_02083138 mov r0, r4 bl sub_02078FBC ldmia sp!, {r4, pc} arm_func_end sub_02083434 arm_func_start sub_02083450 sub_02083450: ; 0x02083450 stmdb sp!, {r4, lr} mov r4, r0 bl sub_02078FD8 mov r0, r4 mov r1, #1 bl sub_020831BC ldmia sp!, {r4, pc} arm_func_end sub_02083450 arm_func_start sub_0208346C sub_0208346C: ; 0x0208346C ldr ip, _02083478 ; =sub_02083138 mov r1, #2 bx ip .align 2, 0 _02083478: .word sub_02083138 arm_func_end sub_0208346C arm_func_start sub_0208347C sub_0208347C: ; 0x0208347C stmdb sp!, {r4, lr} mov r4, r0 bl sub_02083C80 cmp r0, #0 bne _02083494 bl sub_02083C74 _02083494: mov r0, r4 mov r1, #2 bl sub_020831BC ldmia sp!, {r4, pc} arm_func_end sub_0208347C arm_func_start sub_020834A4 sub_020834A4: ; 0x020834A4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02083808 ; =_022BB7E0 mov r5, r0 ldr r4, [r1] mov r1, #0 add r0, r4, #0x18 mov r2, #0x48 bl MemsetFast ldr r0, _0208380C ; =0x0000203F str r5, [r4, #4] str r0, [r4, #0x58] cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5, asr #8 and r0, r0, #0xff mov r3, #1 mov ip, r3, lsl r0 and r2, r5, #0xff mov r1, r5, asr #0x10 str ip, [r4, #0x18] mov r0, #0xff strb r0, [r4, #0x54] cmp r2, #1 and r0, r1, #0xff bne _020835E0 cmp ip, #0x2000 bhi _02083520 bhs _0208355C cmp ip, #0x200 beq _0208353C b _020837E8 _02083520: cmp ip, #0x10000 bhi _02083530 beq _02083580 b _020837E8 _02083530: cmp ip, #0x20000 beq _020835A4 b _020837E8 _0208353C: mov r0, #0x10 str r0, [r4, #0x24] str r3, [r4, #0x28] mov r0, #5 str r0, [r4, #0x2c] mov r0, #0xf0 strb r0, [r4, #0x54] b _020835C4 _0208355C: mov r0, #0x20 str r0, [r4, #0x24] mov r0, #2 str r0, [r4, #0x28] mov r0, #5 str r0, [r4, #0x2c] mov r0, #0 strb r0, [r4, #0x54] b _020835C4 _02083580: mov r0, #0x80 str r0, [r4, #0x24] mov r0, #2 str r0, [r4, #0x28] mov r0, #0xa str r0, [r4, #0x2c] mov r0, #0 strb r0, [r4, #0x54] b _020835C4 _020835A4: mov r0, #0x100 str r0, [r4, #0x24] mov r0, #3 str r0, [r4, #0x28] mov r0, #5 str r0, [r4, #0x2c] mov r0, #0 strb r0, [r4, #0x54] _020835C4: ldr r0, [r4, #0x24] str r0, [r4, #0x1c] ldr r0, [r4, #0x58] orr r0, r0, #0x40 orr r0, r0, #0x4300 str r0, [r4, #0x58] ldmia sp!, {r3, r4, r5, pc} _020835E0: cmp r2, #2 bne _020837A8 cmp ip, #0x100000 bhi _02083610 bhs _02083634 cmp ip, #0x40000 bhi _02083604 beq _02083634 b _020837E8 _02083604: cmp ip, #0x80000 beq _02083634 b _020837E8 _02083610: cmp ip, #0x400000 bhi _02083628 bhs _020836AC cmp ip, #0x200000 beq _02083660 b _020837E8 _02083628: cmp ip, #0x800000 beq _020836FC b _020837E8 _02083634: mov r0, #0x19 str r0, [r4, #0x30] mov r1, #0x12c str r1, [r4, #0x34] ldr r0, _02083810 ; =0x00001388 str r1, [r4, #0x50] str r0, [r4, #0x40] ldr r0, [r4, #0x58] orr r0, r0, #0x480 str r0, [r4, #0x58] b _02083778 _02083660: mov r0, #0x17 str r0, [r4, #0x30] mov r1, #0x12c str r1, [r4, #0x34] mov r1, #0x1f4 ldr r0, _02083810 ; =0x00001388 str r1, [r4, #0x40] str r0, [r4, #0x44] mov r1, r0, lsl #1 ldr r0, _02083814 ; =0x0000EA60 str r1, [r4, #0x38] str r0, [r4, #0x3c] mov r0, #0 strb r0, [r4, #0x54] ldr r0, [r4, #0x58] orr r0, r0, #0x80 orr r0, r0, #0x5400 str r0, [r4, #0x58] b _02083778 _020836AC: mov r0, #0x258 str r0, [r4, #0x40] add r0, r0, #0x960 str r0, [r4, #0x44] mov r0, #0x46 str r0, [r4, #0x48] mov r0, #0x96 str r0, [r4, #0x4c] ldr r1, _02083818 ; =0x000059D8 ldr r0, _0208381C ; =0x000C3500 str r1, [r4, #0x38] str r0, [r4, #0x3c] mov r0, #0 strb r0, [r4, #0x54] mov r0, #0x1000 str r0, [r4, #0x20] ldr r0, [r4, #0x58] orr r0, r0, #0xd000 str r0, [r4, #0x58] b _02083778 _020836FC: cmp r0, #0 bne _0208373C mov r0, #0x3e8 str r0, [r4, #0x40] add r0, r0, #0x7d0 str r0, [r4, #0x44] ldr r1, _02083820 ; =0x000109A0 ldr r0, _02083824 ; =0x00027100 str r1, [r4, #0x38] str r0, [r4, #0x3c] mov r0, #0 strb r0, [r4, #0x54] ldr r0, [r4, #0x58] orr r0, r0, #0x5000 str r0, [r4, #0x58] b _02083778 _0208373C: cmp r0, #1 bne _02083778 mov r0, #0x3e8 str r0, [r4, #0x40] add r0, r0, #0x7d0 str r0, [r4, #0x44] ldr r1, _02083820 ; =0x000109A0 ldr r0, _02083824 ; =0x00027100 str r1, [r4, #0x38] str r0, [r4, #0x3c] mov r0, #0x84 strb r0, [r4, #0x54] ldr r0, [r4, #0x58] orr r0, r0, #0x5000 str r0, [r4, #0x58] _02083778: mov r0, #0x10000 str r0, [r4, #0x1c] mov r0, #0x100 str r0, [r4, #0x24] mov r0, #3 str r0, [r4, #0x28] mov r0, #5 str r0, [r4, #0x2c] ldr r0, [r4, #0x58] orr r0, r0, #0xb40 str r0, [r4, #0x58] ldmia sp!, {r3, r4, r5, pc} _020837A8: cmp r2, #3 bne _020837E8 cmp ip, #0x2000 cmpne ip, #0x8000 bne _020837E8 str ip, [r4, #0x24] str ip, [r4, #0x1c] mov r0, #2 str r0, [r4, #0x28] mov r0, #0 strb r0, [r4, #0x54] ldr r0, [r4, #0x58] orr r0, r0, #0x40 orr r0, r0, #0x4300 str r0, [r4, #0x58] ldmia sp!, {r3, r4, r5, pc} _020837E8: mov r1, #0 str r1, [r4, #4] str r1, [r4, #0x18] ldr r0, _02083808 ; =_022BB7E0 mov r1, #3 ldr r0, [r0] str r1, [r0] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02083808: .word _022BB7E0 _0208380C: .word 0x0000203F _02083810: .word 0x00001388 _02083814: .word 0x0000EA60 _02083818: .word 0x000059D8 _0208381C: .word 0x000C3500 _02083820: .word 0x000109A0 _02083824: .word 0x00027100 arm_func_end sub_020834A4 arm_func_start sub_02083828 sub_02083828: ; 0x02083828 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r0 ldr r7, [sb, #0x2c] ldr r0, _02083A10 ; =_02000BC4 ldr r4, [sb, #0x34] ldr sl, [sb, #0x30] mov r5, #0x100 bl OSi_ReferSymbol cmp r7, #0xb bne _0208385C bl sub_02083B28 mov r5, r0 b _0208386C _0208385C: cmp r7, #0xf ldreq r0, _02083A14 ; =_022BB7E0 ldreq r0, [r0] ldreq r5, [r0, #0x20] _0208386C: add r6, sb, #0x120 mov fp, #9 _02083874: ldr r8, [sb, #0x24] ldr r0, [sb] cmp r5, r8 movlo r8, r5 str r8, [r0, #0x14] ldr r0, [sb, #0x114] tst r0, #0x40 beq _020838B0 ldr r0, [sb, #0x114] mov r1, #7 bic r0, r0, #0x40 str r0, [sb, #0x114] ldr r0, [sb] str r1, [r0] b _020839BC _020838B0: cmp r4, #3 addls pc, pc, r4, lsl #2 b _02083940 _020838BC: ; jump table b _020838CC ; case 0 b _020838F0 ; case 1 b _020838F0 ; case 2 b _02083928 ; case 3 _020838CC: mov r0, r6 mov r1, r8 bl sub_0207A2A4 ldr r1, [sb, #0x1c] ldr r0, [sb] str r1, [r0, #0xc] ldr r0, [sb] str r6, [r0, #0x10] b _02083940 _020838F0: ldr r0, [sb, #0x1c] mov r1, r6 mov r2, r8 bl MemcpyFast mov r0, r6 mov r1, r8 bl sub_0207A2DC bl sub_0207A300 ldr r0, [sb] str r6, [r0, #0xc] ldr r1, [sb, #0x20] ldr r0, [sb] str r1, [r0, #0x10] b _02083940 _02083928: ldr r1, [sb, #0x1c] ldr r0, [sb] str r1, [r0, #0xc] ldr r1, [sb, #0x20] ldr r0, [sb] str r1, [r0, #0x10] _02083940: mov r0, sb mov r1, r7 mov r2, sl bl sub_02084404 cmp r0, #0 beq _020839BC cmp r4, #2 bne _0208397C mov r0, sb mov r1, fp mov r2, #1 bl sub_02084404 cmp r0, #0 beq _020839BC b _02083994 _0208397C: cmp r4, #0 bne _02083994 ldr r1, [sb, #0x20] mov r0, r6 mov r2, r8 bl MemcpyFast _02083994: ldr r0, [sb, #0x1c] add r0, r0, r8 str r0, [sb, #0x1c] ldr r0, [sb, #0x20] add r0, r0, r8 str r0, [sb, #0x20] ldr r0, [sb, #0x24] subs r0, r0, r8 str r0, [sb, #0x24] bne _02083874 _020839BC: ldr r6, [sb, #0x38] ldr r5, [sb, #0x3c] bl EnableIrqFlag ldr r1, [sb, #0x114] mov r4, r0 bic r0, r1, #0x4c str r0, [sb, #0x114] add r0, sb, #0x10c bl sub_020798D8 ldr r0, [sb, #0x114] tst r0, #0x10 beq _020839F4 add r0, sb, #0x44 bl sub_02079940 _020839F4: mov r0, r4 bl SetIrqFlag cmp r6, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r5 blx r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02083A10: .word _02000BC4 _02083A14: .word _022BB7E0 arm_func_end sub_02083828 arm_func_start sub_02083A18 sub_02083A18: ; 0x02083A18 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldr r4, _02083AF0 ; =_022BB7E0 ldr r0, _02083AF4 ; =_02000BC4 mov r8, r1 mov r7, r2 mov r6, r3 bl OSi_ReferSymbol bl EnableIrqFlag ldr r1, [r4, #0x114] mov r5, r0 tst r1, #4 beq _02083A60 _02083A4C: add r0, r4, #0x10c bl sub_02079888 ldr r0, [r4, #0x114] tst r0, #4 bne _02083A4C _02083A60: ldr r0, [r4, #0x114] ldr r1, [sp, #0x20] orr r2, r0, #4 mov r0, r5 str r2, [r4, #0x114] str r6, [r4, #0x38] str r1, [r4, #0x3c] bl SetIrqFlag ldr r3, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] ldr r0, [sp, #0x24] str sb, [r4, #0x1c] str r8, [r4, #0x20] str r7, [r4, #0x24] str r3, [r4, #0x2c] str r2, [r4, #0x30] str r1, [r4, #0x34] cmp r0, #0 beq _02083AC0 ldr r0, _02083AF8 ; =sub_02083828 bl sub_020830FC mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02083AC0: ldr r0, _02083AFC ; =_022B966C ldr r1, _02083AF0 ; =_022BB7E0 ldr r2, [r0, #4] mov r0, r4 str r2, [r1, #0x104] bl sub_02083828 ldr r0, [r4] ldr r0, [r0] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02083AF0: .word _022BB7E0 _02083AF4: .word _02000BC4 _02083AF8: .word sub_02083828 _02083AFC: .word _022B966C arm_func_end sub_02083A18 arm_func_start sub_02083B00 sub_02083B00: ; 0x02083B00 ldr r0, _02083B10 ; =_022BB7E0 ldr r0, [r0] ldr r0, [r0, #4] bx lr .align 2, 0 _02083B10: .word _022BB7E0 arm_func_end sub_02083B00 arm_func_start sub_02083B14 sub_02083B14: ; 0x02083B14 ldr r0, _02083B24 ; =_022BB7E0 ldr r0, [r0] ldr r0, [r0, #0x18] bx lr .align 2, 0 _02083B24: .word _022BB7E0 arm_func_end sub_02083B14 arm_func_start sub_02083B28 sub_02083B28: ; 0x02083B28 ldr r0, _02083B38 ; =_022BB7E0 ldr r0, [r0] ldr r0, [r0, #0x1c] bx lr .align 2, 0 _02083B38: .word _022BB7E0 arm_func_end sub_02083B28 arm_func_start sub_02083B3C sub_02083B3C: ; 0x02083B3C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 ldr r0, _02083C68 ; =_02000BC4 ldr r4, _02083C6C ; =_022BB7E0 bl OSi_ReferSymbol cmp r6, #0 bne _02083B5C bl WaitForever2 _02083B5C: bl sub_02083368 bl EnableIrqFlag ldr r1, [r4, #0x114] mov r5, r0 tst r1, #4 beq _02083B88 _02083B74: add r0, r4, #0x10c bl sub_02079888 ldr r0, [r4, #0x114] tst r0, #4 bne _02083B74 _02083B88: ldr r0, [r4, #0x114] mov r1, #0 orr r2, r0, #4 mov r0, r5 str r2, [r4, #0x114] str r1, [r4, #0x38] str r1, [r4, #0x3c] bl SetIrqFlag mov r0, r6 bl sub_020834A4 ldr r0, _02083C70 ; =_022B966C ldr r1, _02083C6C ; =_022BB7E0 ldr r2, [r0, #4] mov r0, r4 str r2, [r1, #0x104] mov r1, #2 mov r2, #1 bl sub_02084404 ldr r0, [r4] mov r1, #0 str r1, [r0, #0xc] ldr r0, [r4] add r1, r4, #0x120 str r1, [r0, #0x10] ldr r1, [r4] mov r2, #1 mov r0, r4 str r2, [r1, #0x14] mov r1, #6 bl sub_02084404 ldr r7, [r4, #0x38] ldr r6, [r4, #0x3c] bl EnableIrqFlag mov r5, r0 ldr r1, [r4, #0x114] add r0, r4, #0x10c bic r1, r1, #0x4c str r1, [r4, #0x114] bl sub_020798D8 ldr r0, [r4, #0x114] tst r0, #0x10 beq _02083C38 add r0, r4, #0x44 bl sub_02079940 _02083C38: mov r0, r5 bl SetIrqFlag cmp r7, #0 beq _02083C50 mov r0, r6 blx r7 _02083C50: ldr r0, [r4] ldr r0, [r0] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02083C68: .word _02000BC4 _02083C6C: .word _022BB7E0 _02083C70: .word _022B966C arm_func_end sub_02083B3C arm_func_start sub_02083C74 sub_02083C74: ; 0x02083C74 ldr ip, _02083C7C ; =sub_02083390 bx ip .align 2, 0 _02083C7C: .word sub_02083390 arm_func_end sub_02083C74 arm_func_start sub_02083C80 sub_02083C80: ; 0x02083C80 ldr ip, _02083C88 ; =sub_020833DC bx ip .align 2, 0 _02083C88: .word sub_020833DC arm_func_end sub_02083C80 arm_func_start sub_02083C8C sub_02083C8C: ; 0x02083C8C stmdb sp!, {r3, r4, r5, lr} ldr r4, _02083D14 ; =_022BB7E0 mov r1, #0x200 ldr r3, [r4, #0x1c] rsb r1, r1, #0 ldr r2, [r0, #8] and r3, r3, r1 cmp r3, r2 bne _02083D00 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x24] sub r3, r2, r3 rsb r5, r3, #0x200 cmp r5, r1 movhi r5, r1 add r0, r0, #0x20 ldr r1, [r4, #0x20] mov r2, r5 add r0, r0, r3 bl MemcpyFast ldr r2, [r4, #0x1c] ldr r1, [r4, #0x20] ldr r0, [r4, #0x24] add r2, r2, r5 add r1, r1, r5 sub r0, r0, r5 str r2, [r4, #0x1c] str r1, [r4, #0x20] str r0, [r4, #0x24] _02083D00: ldr r0, [r4, #0x24] cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02083D14: .word _022BB7E0 arm_func_end sub_02083C8C arm_func_start sub_02083D18 sub_02083D18: ; 0x02083D18 ldr r3, _02083D70 ; =0x040001A4 _02083D1C: ldr r2, [r3] tst r2, #0x80000000 bne _02083D1C ldr r3, _02083D74 ; =0x040001A1 mov r2, #0xc0 strb r2, [r3] mov r2, r0, lsr #0x18 strb r2, [r3, #7] mov r2, r0, lsr #0x10 strb r2, [r3, #8] mov r2, r0, lsr #8 strb r2, [r3, #9] strb r0, [r3, #0xa] mov r0, r1, lsr #0x18 strb r0, [r3, #0xb] mov r0, r1, lsr #0x10 strb r0, [r3, #0xc] mov r0, r1, lsr #8 strb r0, [r3, #0xd] strb r1, [r3, #0xe] bx lr .align 2, 0 _02083D70: .word 0x040001A4 _02083D74: .word 0x040001A1 arm_func_end sub_02083D18 arm_func_start sub_02083D78 sub_02083D78: ; 0x02083D78 stmdb sp!, {r3, r4, r5, lr} ldr r4, _02083DBC ; =_022BB7E0 ldr r1, _02083DC0 ; =0x04100010 ldr r0, [r4, #0x28] ldr r2, [r4, #0x20] mov r3, #0x200 ldr r5, _02083DC4 ; =_022BBE20 bl sub_0207C750 ldr r1, [r4, #0x1c] mov r0, r1, lsr #8 orr r0, r0, #0xb7000000 mov r1, r1, lsl #0x18 bl sub_02083D18 ldr r1, [r5, #4] ldr r0, _02083DC8 ; =0x040001A4 str r1, [r0] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02083DBC: .word _022BB7E0 _02083DC0: .word 0x04100010 _02083DC4: .word _022BBE20 _02083DC8: .word 0x040001A4 arm_func_end sub_02083D78 arm_func_start sub_02083DCC sub_02083DCC: ; 0x02083DCC stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r0, _02083E98 ; =_022BB7E0 ldr r0, [r0, #0x28] bl sub_0207C164 ldr r3, _02083E98 ; =_022BB7E0 ldr r0, [r3, #0x24] ldr r2, [r3, #0x1c] ldr r1, [r3, #0x20] subs r0, r0, #0x200 str r0, [r3, #0x24] movne r0, #1 add r2, r2, #0x200 add r1, r1, #0x200 moveq r0, #0 str r2, [r3, #0x1c] str r1, [r3, #0x20] cmp r0, #0 bne _02083E90 mov r0, #0x80000 bl sub_02078C98 mov r0, #0x80000 bl sub_02078CC8 ldr r4, _02083E98 ; =_022BB7E0 bl sub_02084118 bl sub_02084684 ldr r0, [r4] mov r1, #0 str r1, [r0] ldr r5, [r4, #0x38] ldr r6, [r4, #0x3c] bl EnableIrqFlag ldr r1, [r4, #0x114] mov r7, r0 bic r0, r1, #0x4c str r0, [r4, #0x114] add r0, r4, #0x10c bl sub_020798D8 ldr r0, [r4, #0x114] tst r0, #0x10 beq _02083E74 add r0, r4, #0x44 bl sub_02079940 _02083E74: mov r0, r7 bl SetIrqFlag cmp r5, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 blx r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02083E90: bl sub_02083D78 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02083E98: .word _022BB7E0 arm_func_end sub_02083DCC arm_func_start sub_02083E9C sub_02083E9C: ; 0x02083E9C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r4, _02084014 ; =_022BB7E0 mov r6, #0 ldr sb, [r4, #0x20] mov fp, r0 mov r7, r6 mov r8, r6 mov r1, r6 ands sl, sb, #0x1f ldr r5, [r4, #0x24] bne _02083ED4 ldr r0, [r4, #0x28] cmp r0, #3 movls r1, #1 _02083ED4: cmp r1, #0 beq _02083F28 bl sub_0207AACC ldr r1, _02084018 ; =sub_01FF8000 add r3, sb, r5 cmp r3, r1 mov r1, #1 mov r2, #0 bls _02083F00 cmp sb, #0x2000000 movlo r2, r1 _02083F00: cmp r2, #0 bne _02083F20 cmp r0, r3 bhs _02083F1C add r0, r0, #0x4000 cmp r0, sb bhi _02083F20 _02083F1C: mov r1, #0 _02083F20: cmp r1, #0 moveq r8, #1 _02083F28: cmp r8, #0 beq _02083F44 ldr r1, [r4, #0x1c] ldr r0, _0208401C ; =0x000001FF orr r1, r1, r5 tst r1, r0 moveq r7, #1 _02083F44: ldr r0, _02084020 ; =_020B2ED0 cmp r7, #0 ldr r0, [r0] cmpne r5, #0 ldr r0, [r0, #0x60] movne r6, #1 bic r0, r0, #0x7000000 orr r0, r0, #0xa1000000 cmp r6, #0 str r0, [fp, #4] beq _0208400C bl EnableIrqFlag ldr r1, [r4, #0x118] mov r7, r0 cmp r5, r1 bhs _02083F94 mov r0, sb mov r1, r5 bl sub_0207A330 b _02083F98 _02083F94: bl sub_0207A324 _02083F98: ldr r0, [r4, #0x11c] cmp r5, r0 bhs _02083FE0 cmp sl, #0 beq _02083FCC sub sb, sb, sl mov r0, sb mov r1, #0x20 bl sub_0207A2C0 add r0, sb, r5 mov r1, #0x20 bl sub_0207A2C0 add r5, r5, #0x20 _02083FCC: mov r0, sb mov r1, r5 bl sub_0207A2A4 bl sub_0207A300 b _02083FE4 _02083FE0: bl sub_0207A270 _02083FE4: ldr r1, _02084024 ; =_02083DCC mov r0, #0x80000 bl sub_02078A98 mov r0, #0x80000 bl sub_02078CC8 mov r0, #0x80000 bl sub_02078C68 mov r0, r7 bl SetIrqFlag bl sub_02083D78 _0208400C: mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02084014: .word _022BB7E0 _02084018: .word sub_01FF8000 _0208401C: .word 0x000001FF _02084020: .word _020B2ED0 _02084024: .word sub_02083DCC arm_func_end sub_02083E9C arm_func_start sub_02084028 sub_02084028: ; 0x02084028 stmdb sp!, {r4, r5, r6, lr} ldr r4, _0208410C ; =_022BB7E0 mov r6, r0 _02084034: mov r0, #0x200 ldr r1, [r4, #0x1c] rsb r0, r0, #0 and r2, r1, r0 cmp r2, r1 bne _02084064 ldr r5, [r4, #0x20] tst r5, #3 bne _02084064 ldr r0, [r4, #0x24] cmp r0, #0x200 bhs _0208406C _02084064: str r2, [r6, #8] add r5, r6, #0x20 _0208406C: mov r0, r2, lsr #8 orr r0, r0, #0xb7000000 mov r1, r2, lsl #0x18 bl sub_02083D18 mov ip, #0 ldr r0, [r6, #4] ldr r2, _02084110 ; =0x040001A4 mov lr, ip str r0, [r2] ldr r1, _02084114 ; =0x04100010 _02084094: ldr r3, [r2] tst r3, #0x800000 beq _020840B4 ldr r0, [r1] cmp lr, #0x200 strlo r0, [r5, ip, lsl #2] addlo lr, lr, #4 addlo ip, ip, #1 _020840B4: tst r3, #0x80000000 bne _02084094 ldr r0, [r4, #0x20] cmp r5, r0 bne _020840F8 ldr r0, _0208410C ; =_022BB7E0 ldr r1, [r0, #0x1c] add r1, r1, #0x200 str r1, [r0, #0x1c] ldr r1, [r0, #0x20] add r1, r1, #0x200 str r1, [r0, #0x20] ldr r1, [r0, #0x24] subs r1, r1, #0x200 str r1, [r0, #0x24] ldmeqia sp!, {r4, r5, r6, pc} b _02084034 _020840F8: mov r0, r6 bl sub_02083C8C cmp r0, #0 bne _02084034 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0208410C: .word _022BB7E0 _02084110: .word 0x040001A4 _02084114: .word 0x04100010 arm_func_end sub_02084028 arm_func_start sub_02084118 sub_02084118: ; 0x02084118 stmdb sp!, {r3, lr} mov r0, #0xb8000000 mov r1, #0 bl sub_02083D18 ldr r1, _02084168 ; =_020B2ED0 mov r0, #0x2000 ldr r1, [r1] rsb r0, r0, #0 ldr r2, [r1, #0x60] ldr r1, _0208416C ; =0x040001A4 bic r2, r2, #0x7000000 orr r2, r2, #0xa7000000 and r0, r2, r0 str r0, [r1] _02084150: ldr r0, [r1] tst r0, #0x800000 beq _02084150 ldr r0, _02084170 ; =0x04100010 ldr r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 _02084168: .word _020B2ED0 _0208416C: .word 0x040001A4 _02084170: .word 0x04100010 arm_func_end sub_02084118 arm_func_start sub_02084174 sub_02084174: ; 0x02084174 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r4, _02084204 ; =_022BBE20 mov r0, r4 bl sub_02083C8C cmp r0, #0 beq _02084198 ldr r1, [r4] mov r0, r4 blx r1 _02084198: ldr r4, _02084208 ; =_022BB7E0 bl sub_02084118 bl sub_02084684 ldr r0, [r4] mov r1, #0 str r1, [r0] ldr r5, [r4, #0x38] ldr r6, [r4, #0x3c] bl EnableIrqFlag ldr r1, [r4, #0x114] mov r7, r0 bic r0, r1, #0x4c str r0, [r4, #0x114] add r0, r4, #0x10c bl sub_020798D8 ldr r0, [r4, #0x114] tst r0, #0x10 beq _020841E8 add r0, r4, #0x44 bl sub_02079940 _020841E8: mov r0, r7 bl SetIrqFlag cmp r5, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 blx r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02084204: .word _022BBE20 _02084208: .word _022BB7E0 arm_func_end sub_02084174 arm_func_start sub_0208420C sub_0208420C: ; 0x0208420C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, r0 mov sb, r1 mov r8, r2 mov r7, r3 ldr r4, _020842F0 ; =_022BBE20 ldr r5, _020842F4 ; =_022BB7E0 bl sub_02083368 bl EnableIrqFlag mov r6, r0 b _02084240 _02084238: add r0, r5, #0x10c bl sub_02079888 _02084240: ldr r0, [r5, #0x114] tst r0, #4 bne _02084238 ldr r0, [r5, #0x114] ldr r2, [sp, #0x20] ldr r1, [sp, #0x24] orr r3, r0, #4 mov r0, r6 str r3, [r5, #0x114] str r2, [r5, #0x38] str r1, [r5, #0x3c] bl SetIrqFlag ldr r0, _020842F8 ; =_022BBE00 str sl, [r5, #0x28] ldr r0, [r0] str r8, [r5, #0x20] add r0, sb, r0 str r0, [r5, #0x1c] str r7, [r5, #0x24] cmp sl, #3 bhi _0208429C mov r0, sl bl sub_0207C164 _0208429C: mov r0, r4 bl sub_02083E9C cmp r0, #0 beq _020842C0 ldr r0, [sp, #0x28] cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl sub_02084368 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _020842C0: ldr r0, [sp, #0x28] cmp r0, #0 beq _020842D8 ldr r0, _020842FC ; =sub_02084174 bl sub_020830FC ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _020842D8: ldr r1, _02084300 ; =_022B966C mov r0, r5 ldr r1, [r1, #4] str r1, [r5, #0x104] bl sub_02084174 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _020842F0: .word _022BBE20 _020842F4: .word _022BB7E0 _020842F8: .word _022BBE00 _020842FC: .word sub_02084174 _02084300: .word _022B966C arm_func_end sub_0208420C arm_func_start sub_02084304 sub_02084304: ; 0x02084304 stmdb sp!, {r3, lr} ldr ip, _02084360 ; =_022BB7E0 ldr r0, [ip, #0x114] cmp r0, #0 ldmneia sp!, {r3, pc} mov r2, #0 ldr r0, _02084364 ; =_022BBE00 sub r1, r2, #1 mov r3, #1 str r3, [ip, #0x114] str r2, [ip, #0x24] str r2, [ip, #0x20] str r2, [ip, #0x1c] str r1, [ip, #0x28] str r2, [ip, #0x38] str r2, [ip, #0x3c] str r2, [r0] bl sub_02083248 bl sub_02084374 ldr r1, _02084364 ; =_022BBE00 str r0, [r1, #0x20] bl sub_02084558 ldmia sp!, {r3, pc} .align 2, 0 _02084360: .word _022BB7E0 _02084364: .word _022BBE00 arm_func_end sub_02084304 arm_func_start sub_02084368 sub_02084368: ; 0x02084368 ldr ip, _02084370 ; =sub_02083390 bx ip .align 2, 0 _02084370: .word sub_02083390 arm_func_end sub_02084368 arm_func_start sub_02084374 sub_02084374: ; 0x02084374 ldr r0, _0208437C ; =sub_02084028 bx lr .align 2, 0 _0208437C: .word sub_02084028 arm_func_end sub_02084374 arm_func_start sub_02084380 sub_02084380: ; 0x02084380 stmdb sp!, {r3, lr} cmp r0, #0xb ldmneia sp!, {r3, pc} cmp r2, #0 ldmeqia sp!, {r3, pc} ldr r2, _020843B0 ; =_022BB7E0 ldr r1, [r2, #0x114] ldr r0, [r2, #0x104] bic r1, r1, #0x20 str r1, [r2, #0x114] bl sub_02079940 ldmia sp!, {r3, pc} .align 2, 0 _020843B0: .word _022BB7E0 arm_func_end sub_02084380 arm_func_start sub_020843B4 sub_020843B4: ; 0x020843B4 stmdb sp!, {r4, r5, r6, lr} ldr r5, _02084400 ; =_022BB7E0 mov r4, #0 _020843C0: bl EnableIrqFlag ldr r1, [r5, #0x114] mov r6, r0 tst r1, #8 bne _020843E8 _020843D4: mov r0, r4 bl sub_02079888 ldr r0, [r5, #0x114] tst r0, #8 beq _020843D4 _020843E8: mov r0, r6 bl SetIrqFlag ldr r1, [r5, #0x40] mov r0, r5 blx r1 b _020843C0 .align 2, 0 _02084400: .word _022BB7E0 arm_func_end sub_020843B4 arm_func_start sub_02084404 sub_02084404: ; 0x02084404 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldr r0, [sl, #0x114] mov sb, r1 str r2, [sp] tst r0, #2 bne _02084478 ldr r1, [sl, #0x114] mov r0, #0xb orr r2, r1, #2 mov r1, #1 str r2, [sl, #0x114] bl sub_0207DAFC cmp r0, #0 bne _02084468 mov r6, #0x64 mov r5, #0xb mov r4, #1 _0208444C: mov r0, r6 bl sub_0207B854 mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _0208444C _02084468: mov r0, sl mov r1, #0 mov r2, #1 bl sub_02084404 _02084478: ldr r0, [sl] mov r1, #0x60 bl sub_0207A2DC bl sub_0207A300 mov r7, #0xb mov r6, #1 mov r5, r7 mov r4, r6 mov fp, #0 _0208449C: str sb, [sl, #4] ldr r0, [sl, #0x114] orr r0, r0, #0x20 str r0, [sl, #0x114] _020844AC: mov r0, r7 mov r1, sb mov r2, r6 bl sub_0207DB20 cmp r0, #0 blt _020844AC cmp sb, #0 bne _020844E8 ldr r8, [sl] _020844D0: mov r0, r5 mov r1, r8 mov r2, r4 bl sub_0207DB20 cmp r0, #0 blt _020844D0 _020844E8: bl EnableIrqFlag ldr r1, [sl, #0x114] mov r8, r0 tst r1, #0x20 beq _02084510 _020844FC: mov r0, fp bl sub_02079888 ldr r0, [sl, #0x114] tst r0, #0x20 bne _020844FC _02084510: mov r0, r8 bl SetIrqFlag ldr r0, [sl] mov r1, #0x60 bl sub_0207A2A4 ldr r0, [sl] ldr r1, [r0] cmp r1, #4 bne _02084548 ldr r0, [sp] sub r0, r0, #1 str r0, [sp] cmp r0, #0 bgt _0208449C _02084548: cmp r1, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02084404 arm_func_start sub_02084558 sub_02084558: ; 0x02084558 stmdb sp!, {r3, lr} bl sub_0207D9A4 ldr r1, _0208457C ; =sub_02084584 mov r0, #0xe bl sub_0207DAB0 ldr r0, _02084580 ; =_022BC040 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 _0208457C: .word sub_02084584 _02084580: .word _022BC040 arm_func_end sub_02084558 arm_func_start sub_02084584 sub_02084584: ; 0x02084584 stmdb sp!, {r3, lr} and r0, r1, #0x3f cmp r0, #0x11 bne _020845CC ldr r1, _020845D4 ; =_022BC040 ldr r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #1 str r0, [r1] ldr r1, [r1, #4] cmp r1, #0 beq _020845BC blx r1 _020845BC: cmp r0, #0 ldmeqia sp!, {r3, pc} bl sub_020845F8 ldmia sp!, {r3, pc} _020845CC: bl WaitForever2 ldmia sp!, {r3, pc} .align 2, 0 _020845D4: .word _022BC040 arm_func_end sub_02084584 arm_func_start sub_020845D8 sub_020845D8: ; 0x020845D8 ldr r1, _020845E4 ; =_022BC040 str r0, [r1, #4] bx lr .align 2, 0 _020845E4: .word _022BC040 arm_func_end sub_020845D8 arm_func_start sub_020845E8 sub_020845E8: ; 0x020845E8 ldr r0, _020845F4 ; =_022BC040 ldr r0, [r0] bx lr .align 2, 0 _020845F4: .word _022BC040 arm_func_end sub_020845E8 arm_func_start sub_020845F8 sub_020845F8: ; 0x020845F8 stmdb sp!, {r3, r4, r5, lr} mov r0, #0 mov r5, #1 bl sub_0207C164 mov r0, r5 bl sub_0207C164 mov r0, #2 bl sub_0207C164 mov r0, #3 bl sub_0207C164 ldr r0, _0208467C ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf beq _02084660 bl sub_0208200C cmp r0, #4 bne _02084658 ldr r4, _02084680 ; =0x000A3A47 _02084644: mov r0, r4 bl sub_0207B854 bl sub_0208200C cmp r0, #4 beq _02084644 _02084658: cmp r0, #0 moveq r5, #0 _02084660: cmp r5, #0 beq _02084674 mov r0, #1 mov r1, r0 bl sub_020846E4 _02084674: bl WaitForever2 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0208467C: .word 0x027FFFA8 _02084680: .word 0x000A3A47 arm_func_end sub_020845F8 arm_func_start sub_02084684 sub_02084684: ; 0x02084684 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r2, _020846E0 ; =0x027FFC10 ldrh r1, [r2] cmp r1, #0 subeq r1, r2, #0x410 subne r1, r2, #0x10 ldr r1, [r1] str r1, [sp] ldr r1, [sp] cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} bl EnableIrqFlag mov r4, r0 mov r0, #0xe mov r1, #0x11 mov r2, #0 bl sub_02084584 mov r0, r4 bl SetIrqFlag add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _020846E0: .word 0x027FFC10 arm_func_end sub_02084684 arm_func_start sub_020846E4 sub_020846E4: ; 0x020846E4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r1, r7 mov r0, #0xe mov r2, #0 bl sub_0207DB20 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r5, #0xe mov r4, #0 _02084710: mov r0, r6 blx SVC_WaitByLoop mov r0, r5 mov r1, r7 mov r2, r4 bl sub_0207DB20 cmp r0, #0 bne _02084710 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020846E4 arm_func_start sub_02084734 sub_02084734: ; 0x02084734 stmdb sp!, {r3, lr} ldr r1, _02084760 ; =_022BC04C mov r3, #0 ldr r2, _02084764 ; =0x05000001 add r0, sp, #0 str r3, [sp] blx SVC_CpuSet bl sub_0207902C ldr r1, _02084768 ; =_022BC048 strh r0, [r1, #6] ldmia sp!, {r3, pc} .align 2, 0 _02084760: .word _022BC04C _02084764: .word 0x05000001 _02084768: .word _022BC048 arm_func_end sub_02084734 arm_func_start sub_0208476C sub_0208476C: ; 0x0208476C stmdb sp!, {r3, lr} bl sub_020847AC cmp r0, #0 beq _0208478C bl sub_02084794 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _0208478C: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_0208476C arm_func_start sub_02084794 sub_02084794: ; 0x02084794 ldr r0, _020847A8 ; =0x027FFC30 ldrb r0, [r0, #5] mov r0, r0, lsl #0x1f mov r0, r0, lsr #0x1f bx lr .align 2, 0 _020847A8: .word 0x027FFC30 arm_func_end sub_02084794 arm_func_start sub_020847AC sub_020847AC: ; 0x020847AC stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr r2, _020848AC ; =0x027FFC30 mov r4, #1 ldrh r1, [r2] rsb r0, r4, #0x10000 cmp r1, r0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrb r0, [r2, #5] mov r0, r0, lsl #0x1e mov r0, r0, lsr #0x1f cmp r0, #1 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _020848B0 ; =_022BC048 add r1, sp, #8 ldrh r0, [r0, #6] bl sub_02084934 add r0, sp, #0 bl sub_020848B8 mov r0, #0x8000000 ldrb r2, [r0, #0xb2] cmp r2, #0x96 bne _0208482C ldr r1, _020848AC ; =0x027FFC30 ldrh r0, [r0, #0xbe] ldrh r1, [r1] cmp r1, r0 bne _02084874 _0208482C: cmp r2, #0x96 beq _0208484C ldr r1, _020848AC ; =0x027FFC30 ldr r0, _020848B4 ; =0x0801FFFE ldrh r1, [r1] ldrh r0, [r0] cmp r1, r0 bne _02084874 _0208484C: ldr r2, _020848AC ; =0x027FFC30 mov r0, #0x8000000 ldr r1, [r2, #8] ldr r0, [r0, #0xac] cmp r1, r0 beq _02084888 ldrb r0, [r2, #5] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f beq _02084888 _02084874: ldr r1, _020848AC ; =0x027FFC30 mov r4, #0 ldrb r0, [r1, #5] orr r0, r0, #2 strb r0, [r1, #5] _02084888: add r0, sp, #0 bl sub_02084900 ldr r0, _020848B0 ; =_022BC048 add r1, sp, #8 ldrh r0, [r0, #6] bl sub_02084990 mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 _020848AC: .word 0x027FFC30 _020848B0: .word _022BC048 _020848B4: .word 0x0801FFFE arm_func_end sub_020847AC arm_func_start sub_020848B8 sub_020848B8: ; 0x020848B8 ldr r2, _020848FC ; =0x04000204 ldrh r1, [r2] and r1, r1, #0xc mov r1, r1, asr #2 str r1, [r0] ldrh r1, [r2] and r1, r1, #0x10 mov r1, r1, asr #4 str r1, [r0, #4] ldrh r0, [r2] bic r0, r0, #0xc orr r0, r0, #0xc strh r0, [r2] ldrh r0, [r2] bic r0, r0, #0x10 strh r0, [r2] bx lr .align 2, 0 _020848FC: .word 0x04000204 arm_func_end sub_020848B8 arm_func_start sub_02084900 sub_02084900: ; 0x02084900 ldr r3, _02084930 ; =0x04000204 ldr r2, [r0] ldrh r1, [r3] bic r1, r1, #0xc orr r1, r1, r2, lsl #2 strh r1, [r3] ldrh r1, [r3] ldr r2, [r0, #4] bic r0, r1, #0x10 orr r0, r0, r2, lsl #4 strh r0, [r3] bx lr .align 2, 0 _02084930: .word 0x04000204 arm_func_end sub_02084900 arm_func_start sub_02084934 sub_02084934: ; 0x02084934 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r5, _0208498C ; =0x027FFFE8 mov r7, r0 mov r6, r1 mov r4, #1 _02084948: bl EnableIrqFlag str r0, [r6, #4] mov r0, r5 bl sub_02079024 ands r0, r0, #0x40 str r0, [r6] ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 bl sub_02078F6C cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r6, #4] bl SetIrqFlag mov r0, r4 blx SVC_WaitByLoop b _02084948 _02084988: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0208498C: .word 0x027FFFE8 arm_func_end sub_02084934 arm_func_start sub_02084990 sub_02084990: ; 0x02084990 stmdb sp!, {r4, lr} mov r4, r1 ldr r1, [r4] cmp r1, #0 bne _020849A8 bl sub_02078F60 _020849A8: ldr r0, [r4, #4] bl SetIrqFlag ldmia sp!, {r4, pc} arm_func_end sub_02084990 arm_func_start sub_020849B4 sub_020849B4: ; 0x020849B4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r1, r7 mov r0, #0xd mov r2, #0 bl sub_0207DB20 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r6, #1 mov r5, #0xd mov r4, #0 _020849E0: mov r0, r6 blx SVC_WaitByLoop mov r0, r5 mov r1, r7 mov r2, r4 bl sub_0207DB20 cmp r0, #0 bne _020849E0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_020849B4 arm_func_start sub_02084A04 sub_02084A04: ; 0x02084A04 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl EnableIrqFlag ldr r1, _02084A48 ; =_022BC048 mov r4, r0 str r5, [r1] bl sub_0208476C cmp r0, #0 bne _02084A3C cmp r5, #0 movne r1, #0x1000 moveq r1, #0x5000 mov r0, #0xf000 bl sub_0207AB00 _02084A3C: mov r0, r4 bl SetIrqFlag ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02084A48: .word _022BC048 arm_func_end sub_02084A04 arm_func_start sub_02084A4C sub_02084A4C: ; 0x02084A4C stmdb sp!, {r3, r4, r5, lr} ldr r0, _02084AEC ; =_022BC060 ldr r1, [r0, #8] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, #1 str r1, [r0, #8] bl sub_02084734 ldr r0, _02084AEC ; =_022BC060 mov r1, #0 str r1, [r0, #0xc] bl sub_0207D9A4 mov r5, #0xd mov r4, #1 _02084A84: mov r0, r5 mov r1, r4 bl sub_0207DAFC cmp r0, #0 beq _02084A84 ldr r1, _02084AF0 ; =sub_02084CF4 mov r0, #0xd bl sub_0207DAB0 bl sub_02084B00 mov r0, #0xd mov r1, #0 bl sub_0207DAB0 ldr r1, _02084AF4 ; =sub_02084D20 mov r0, #0xd bl sub_0207DAB0 ldr r1, _02084AEC ; =_022BC060 mov r2, #0 ldr r0, _02084AF8 ; =_022BC140 str r2, [r1, #0x18] bl sub_02084DA4 ldr r1, _02084AFC ; =_02084D90 mov r0, #0x11 bl sub_0207DAB0 mov r0, #0 bl sub_02084A04 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02084AEC: .word _022BC060 _02084AF0: .word sub_02084CF4 _02084AF4: .word sub_02084D20 _02084AF8: .word _022BC140 _02084AFC: .word sub_02084D90 arm_func_end sub_02084A4C arm_func_start sub_02084B00 sub_02084B00: ; 0x02084B00 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 ldr r0, _02084CC8 ; =_022BC060 ldr r1, [r0] cmp r1, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, _02084CCC ; =0x04000300 mov r2, #1 ldrh r1, [r1] str r2, [r0] tst r1, #1 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #0x40000 bl sub_02078C3C ldr r3, _02084CD0 ; =0x04000208 mov r2, #1 ldrh r5, [r3] ldr r1, _02084CD4 ; =_022BC04C mov r4, r0 strh r2, [r3] ldrh r0, [r1, #2] add r1, sp, #8 bl sub_02084934 ldr r1, _02084CD8 ; =0x04000204 add r0, sp, #0 ldrh r1, [r1] and r1, r1, #0x8000 mov r6, r1, asr #0xf bl sub_020848B8 ldr r3, _02084CD8 ; =0x04000204 ldr r0, _02084CDC ; =_022BC080 ldrh r2, [r3] add r0, r0, #0x80 mov r1, #0x40 bic r2, r2, #0x8000 strh r2, [r3] bl sub_0207A2A4 ldr r2, _02084CDC ; =_022BC080 ldr r1, _02084CE0 ; =0x08000080 mov r0, #1 mov r3, #0x40 add r2, r2, #0x80 bl sub_0207BD3C ldr r2, _02084CD8 ; =0x04000204 add r0, sp, #0 ldrh r1, [r2] bic r1, r1, #0x8000 orr r1, r1, r6, lsl #15 strh r1, [r2] bl sub_02084900 ldr r0, _02084CD4 ; =_022BC04C add r1, sp, #8 ldrh r0, [r0, #2] bl sub_02084990 ldr r1, _02084CE4 ; =0x027FFF9B ldrb r0, [r1] cmp r0, #0 bne _02084BFC ldrb r0, [r1, #-1] cmp r0, #0 bne _02084C60 _02084BFC: ldr r3, _02084CDC ; =_022BC080 ldr r6, _02084CE8 ; =0x027FFC30 ldrh r0, [r3, #0xbe] mov r2, #0 strh r0, [r6] b _02084C28 _02084C14: add r0, r3, r2 ldrb r1, [r0, #0xb5] add r0, r6, r2 add r2, r2, #1 strb r1, [r0, #2] _02084C28: cmp r2, #3 blt _02084C14 ldrh r0, [r3, #0xb0] strh r0, [r6, #6] ldr r0, [r3, #0xac] str r0, [r6, #8] bl sub_020847AC cmp r0, #0 movne r2, #1 ldr r1, _02084CE4 ; =0x027FFF9B moveq r2, #0 mov r0, #1 strb r2, [r1] strb r0, [r1, #-1] _02084C60: ldr r0, _02084CEC ; =0xFFFF0020 ldr r1, _02084CF0 ; =_022BC084 mov r2, #0x9c bl ArrayCopy32 bl sub_0207A270 ldr r0, _02084CDC ; =_022BC080 add r0, r0, #0xfe000000 mov r0, r0, lsr #5 mov r0, r0, lsl #6 orr r0, r0, #1 bl sub_020849B4 mov r7, #1 ldr r6, _02084CD4 ; =_022BC04C b _02084CA0 _02084C98: mov r0, r7 blx SVC_WaitByLoop _02084CA0: ldrh r0, [r6] cmp r0, #1 bne _02084C98 ldr r2, _02084CD0 ; =0x04000208 mov r0, r4 ldrh r1, [r2] strh r5, [r2] bl sub_02078C3C add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02084CC8: .word _022BC060 _02084CCC: .word 0x04000300 _02084CD0: .word 0x04000208 _02084CD4: .word _022BC04C _02084CD8: .word 0x04000204 _02084CDC: .word _022BC080 _02084CE0: .word 0x08000080 _02084CE4: .word 0x027FFF9B _02084CE8: .word 0x027FFC30 _02084CEC: .word 0xFFFF0020 _02084CF0: .word _022BC084 arm_func_end sub_02084B00 arm_func_start sub_02084CF4 sub_02084CF4: ; 0x02084CF4 stmdb sp!, {r3, lr} and r0, r1, #0x3f cmp r0, #1 bne _02084D14 ldr r0, _02084D1C ; =_022BC04C mov r1, #1 strh r1, [r0] ldmia sp!, {r3, pc} _02084D14: bl WaitForever2 ldmia sp!, {r3, pc} .align 2, 0 _02084D1C: .word _022BC04C arm_func_end sub_02084CF4 arm_func_start sub_02084D20 sub_02084D20: ; 0x02084D20 stmdb sp!, {r3, lr} and r0, r1, #0x3f cmp r0, #0x11 bne _02084D70 ldr r0, _02084D78 ; =_022BC060 ldr r1, [r0, #0xc] cmp r1, #0 ldmneia sp!, {r3, pc} ldr r1, [r0, #0x18] mov r0, #0 cmp r1, #0 beq _02084D54 blx r1 _02084D54: cmp r0, #0 beq _02084D60 bl sub_02084D7C _02084D60: ldr r0, _02084D78 ; =_022BC060 mov r1, #1 str r1, [r0, #0xc] ldmia sp!, {r3, pc} _02084D70: bl WaitForever2 ldmia sp!, {r3, pc} .align 2, 0 _02084D78: .word _022BC060 arm_func_end sub_02084D20 arm_func_start sub_02084D7C sub_02084D7C: ; 0x02084D7C stmdb sp!, {r3, lr} mov r0, #2 bl sub_020849B4 bl WaitForever2 ldmia sp!, {r3, pc} arm_func_end sub_02084D7C arm_func_start sub_02084D90 sub_02084D90: ; 0x02084D90 ldr r0, _02084DA0 ; =_022BC060 mov r1, #0 str r1, [r0, #4] bx lr .align 2, 0 _02084DA0: .word _022BC060 arm_func_end sub_02084D90 arm_func_start sub_02084DA4 sub_02084DA4: ; 0x02084DA4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 bl EnableIrqFlag ldr r1, _02084E20 ; =_022BC228 mov r4, r0 ldr r0, [r1] cmp r0, #0 bne _02084E10 add r0, r5, #0xc4 str r5, [r1] bl sub_02084E30 ldr r0, _02084E24 ; =_022BC22C bl sub_02084E30 mov r0, #0 str r0, [r5, #0xc0] mov r2, #0x400 ldr r1, _02084E28 ; =sub_02084E44 ldr r3, _02084E2C ; =_022BC650 mov r0, r5 str r2, [sp] mov r2, #0x14 str r2, [sp, #4] mov r2, r5 bl sub_02079560 mov r0, r5 bl sub_02079940 _02084E10: mov r0, r4 bl SetIrqFlag add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02084E20: .word _022BC228 _02084E24: .word _022BC22C _02084E28: .word sub_02084E44 _02084E2C: .word _022BC650 arm_func_end sub_02084DA4 arm_func_start sub_02084E30 sub_02084E30: ; 0x02084E30 ldr ip, _02084E40 ; =MemsetFast mov r1, #0 mov r2, #0x24 bx ip .align 2, 0 _02084E40: .word MemsetFast arm_func_end sub_02084E30 arm_func_start sub_02084E44 sub_02084E44: ; 0x02084E44 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov r4, #0 mov r8, r0 add r6, sp, #0 mov sl, r4 mov sb, r4 mov r5, r4 mov fp, #0x24 _02084E68: mov r0, r6 mov r1, r5 mov r2, fp bl MemsetFast bl EnableIrqFlag ldr r1, [r8, #0xc0] mov r7, r0 cmp r1, #0 bne _02084EA0 _02084E8C: mov r0, r4 bl sub_02079888 ldr r0, [r8, #0xc0] cmp r0, #0 beq _02084E8C _02084EA0: ldr lr, [r8, #0xc0] add ip, sp, #0 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r1, [lr] mov r0, r7 str r1, [ip] bl SetIrqFlag ldr r1, [sp] cmp r1, #0 beq _02084EE0 mov r0, r6 blx r1 str r0, [sp, #8] _02084EE0: bl EnableIrqFlag ldr r2, [sp, #4] ldr r1, _02084F30 ; =_022BC228 mov r7, r0 strb sl, [r1, #0x26] cmp r2, #0 beq _02084F04 mov r0, r6 blx r2 _02084F04: ldr r0, _02084F30 ; =_022BC228 ldr r0, [r0] cmp r0, #0 beq _02084F24 mov r0, r7 str sb, [r8, #0xc0] bl SetIrqFlag b _02084E68 _02084F24: bl sub_0207965C add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02084F30: .word _022BC228 arm_func_end sub_02084E44 arm_func_start sub_02084F34 sub_02084F34: ; 0x02084F34 ldr r1, _02084F6C ; =0x55555555 ldr r2, _02084F70 ; =0x33333333 and r1, r1, r0, lsr #1 sub r0, r0, r1 and r1, r0, r2 and r0, r2, r0, lsr #2 add r1, r1, r0 ldr r0, _02084F74 ; =0x0F0F0F0F add r1, r1, r1, lsr #4 and r0, r1, r0 add r0, r0, r0, lsr #8 add r0, r0, r0, lsr #16 and r0, r0, #0xff bx lr .align 2, 0 _02084F6C: .word 0x55555555 _02084F70: .word 0x33333333 _02084F74: .word 0x0F0F0F0F arm_func_end sub_02084F34 arm_func_start sub_02084F78 sub_02084F78: ; 0x02084F78 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r6, r0 add r0, sp, #0 mov r5, r1 mov r4, r2 bl sub_02080670 add r0, sp, #0 mov r1, r5 mov r2, r4 bl sub_020806C0 add r0, sp, #0 mov r1, r6 bl sub_02080814 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_02084F78 arm_func_start sub_02084FB8 sub_02084FB8: ; 0x02084FB8 stmdb sp!, {r3, lr} mov ip, #0 mov r2, ip _02084FC4: mov r3, ip mov lr, r2 _02084FCC: tst r3, #0x80 eorne r3, r1, r3, lsl #1 add lr, lr, #1 moveq r3, r3, lsl #1 cmp lr, #8 blo _02084FCC strb r3, [r0, ip] add ip, ip, #1 cmp ip, #0x100 blo _02084FC4 ldmia sp!, {r3, pc} arm_func_end sub_02084FB8 arm_func_start sub_02084FF8 sub_02084FF8: ; 0x02084FF8 stmdb sp!, {r4, lr} cmp r3, #0 ldrb lr, [r1] mov r4, #0 bls _02085028 _0208500C: ldrb ip, [r2], #1 add r4, r4, #1 cmp r4, r3 eor ip, lr, ip and ip, ip, #0xff ldrb lr, [r0, ip] blo _0208500C _02085028: strb lr, [r1] ldmia sp!, {r4, pc} arm_func_end sub_02084FF8 arm_func_start sub_02085030 sub_02085030: ; 0x02085030 stmdb sp!, {r3, lr} mov lr, #0 mov r3, lr _0208503C: mov ip, lr mov r2, r3 _02085044: tst ip, #1 eorne ip, r1, ip, lsr #1 add r2, r2, #1 moveq ip, ip, lsr #1 cmp r2, #8 blo _02085044 mov r2, lr, lsl #1 add lr, lr, #1 strh ip, [r0, r2] cmp lr, #0x100 blo _0208503C ldmia sp!, {r3, pc} arm_func_end sub_02085030 arm_func_start sub_02085074 sub_02085074: ; 0x02085074 stmdb sp!, {r4, lr} cmp r3, #0 ldrh lr, [r1] mov r4, #0 bls _020850AC _02085088: ldrb ip, [r2], #1 add r4, r4, #1 cmp r4, r3 eor ip, lr, ip mov ip, ip, lsl #0x18 mov ip, ip, lsr #0x17 ldrh ip, [r0, ip] eor lr, ip, lr, lsr #8 blo _02085088 _020850AC: strh lr, [r1] ldmia sp!, {r4, pc} arm_func_end sub_02085074 arm_func_start sub_020850B4 sub_020850B4: ; 0x020850B4 stmdb sp!, {r3, lr} mov ip, #0 mov r2, ip _020850C0: mov r3, ip mov lr, r2 _020850C8: tst r3, #1 eorne r3, r1, r3, lsr #1 add lr, lr, #1 moveq r3, r3, lsr #1 cmp lr, #8 blo _020850C8 str r3, [r0, ip, lsl #2] add ip, ip, #1 cmp ip, #0x100 blo _020850C0 ldmia sp!, {r3, pc} arm_func_end sub_020850B4 arm_func_start sub_020850F4 sub_020850F4: ; 0x020850F4 stmdb sp!, {r4, lr} cmp r3, #0 ldr lr, [r1] mov r4, #0 bls _02085128 _02085108: ldrb ip, [r2], #1 add r4, r4, #1 cmp r4, r3 eor ip, lr, ip and ip, ip, #0xff ldr ip, [r0, ip, lsl #2] eor lr, ip, lr, lsr #8 blo _02085108 _02085128: str lr, [r1] ldmia sp!, {r4, pc} arm_func_end sub_020850F4 arm_func_start sub_02085130 sub_02085130: ; 0x02085130 stmdb sp!, {r3, lr} mov lr, r1 mov ip, #0 mov r3, r2 add r1, sp, #0 mov r2, lr strb ip, [sp] bl sub_02084FF8 ldrb r0, [sp] ldmia sp!, {r3, pc} arm_func_end sub_02085130 arm_func_start sub_02085158 sub_02085158: ; 0x02085158 stmdb sp!, {r3, lr} mov lr, r1 mov ip, #0 mov r3, r2 add r1, sp, #0 mov r2, lr strh ip, [sp] bl sub_02085074 ldrh r0, [sp] ldmia sp!, {r3, pc} arm_func_end sub_02085158 arm_func_start sub_02085180 sub_02085180: ; 0x02085180 stmdb sp!, {r3, lr} mov lr, r1 mvn ip, #0 mov r3, r2 add r1, sp, #0 mov r2, lr str ip, [sp] bl sub_020850F4 ldr r0, [sp] mvn r0, r0 ldmia sp!, {r3, pc} arm_func_end sub_02085180 arm_func_start sub_020851AC sub_020851AC: ; 0x020851AC stmdb sp!, {r4, lr} sub sp, sp, #8 movs r4, r0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrh r0, [r4, #0x3c] cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, pc} add r1, sp, #0 add r0, r4, #0x50 mov r2, #8 bl MemcpyFast add r0, sp, #0 mov r1, #8 bl sub_0207A2C0 ldr r0, [r4, #0x44] cmp r0, #0 bne _02085230 ldrh r1, [sp] ldr r0, _0208523C ; =0x00002348 cmp r1, r0 ldrneh r1, [sp] ldrne r0, _02085240 ; =0x0000BD8A cmpne r1, r0 bne _02085230 ldrh r0, [sp, #6] cmp r0, #4 addeq sp, sp, #8 moveq r0, #1 ldmeqia sp!, {r4, pc} _02085230: mov r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0208523C: .word 0x00002348 _02085240: .word 0x0000BD8A arm_func_end sub_020851AC arm_func_start sub_02085244 sub_02085244: ; 0x02085244 stmdb sp!, {r4, lr} sub ip, r2, #1 mov r4, r1 cmp ip, #0 mov lr, #0 ble _02085280 _0208525C: ldrsb r3, [r4] strb r3, [r0, lr] ldrsb r3, [r4] cmp r3, #0 beq _02085280 add lr, lr, #1 cmp lr, ip add r4, r4, #1 blt _0208525C _02085280: sub r3, r2, #1 cmp lr, r3 blt _02085298 cmp r2, #0 movne r2, #0 strneb r2, [r0, lr] _02085298: mov r0, r1 bl sub_020852A4 ldmia sp!, {r4, pc} arm_func_end sub_02085244 arm_func_start sub_020852A4 sub_020852A4: ; 0x020852A4 ldrsb r1, [r0] mov r2, #0 cmp r1, #0 beq _020852C4 _020852B4: add r2, r2, #1 ldrsb r1, [r0, r2] cmp r1, #0 bne _020852B4 _020852C4: mov r0, r2 bx lr arm_func_end sub_020852A4 arm_func_start sub_020852CC sub_020852CC: ; 0x020852CC b _020852D8 _020852D0: add r0, r0, #1 add r1, r1, #1 _020852D8: ldrsb r3, [r1] ldrsb r2, [r0] cmp r2, r3 bne _020852F0 cmp r2, #0 bne _020852D0 _020852F0: sub r0, r2, r3 bx lr arm_func_end sub_020852CC arm_func_start sub_020852F8 sub_020852F8: ; 0x020852F8 stmdb sp!, {r3, lr} cmp r2, #0 beq _02085330 cmp r2, #0 mov lr, #0 ble _02085330 _02085310: ldrb ip, [r0, lr] ldrb r3, [r1, lr] cmp ip, r3 subne r0, ip, r3 ldmneia sp!, {r3, pc} add lr, lr, #1 cmp lr, r2 blt _02085310 _02085330: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020852F8 arm_func_start sub_02085338 sub_02085338: ; 0x02085338 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r2, sp, #0xc bic r2, r2, #3 ldr r1, [sp, #0xc] add r2, r2, #4 bl sub_020853DC ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end sub_02085338 arm_func_start sub_02085360 sub_02085360: ; 0x02085360 sub r3, r0, #9 cmp r3, #0x17 mov r0, #0 bxhi lr ldr r1, _02085384 ; =0x0080001F mov r2, #1 tst r1, r2, lsl r3 movne r0, r2 bx lr .align 2, 0 _02085384: .word 0x0080001F arm_func_end sub_02085360 arm_func_start sub_02085388 sub_02085388: ; 0x02085388 stmdb sp!, {r3, r4, r5, lr} cmp r1, r2 ldmhsia sp!, {r3, r4, r5, pc} and r3, r2, #0x1f mov ip, #1 mov r3, ip, lsl r3 sub r5, r3, #1 mvn ip, #0 _020853A8: and r3, r1, #0x1f mov lr, r1, lsr #5 mov r4, ip, lsl r3 add r1, lr, #1 cmp r2, r1, lsl #5 ldr r3, [r0, lr, lsl #2] andlo r4, r4, r5 mov r1, r1, lsl #5 orr r3, r3, r4 cmp r1, r2 str r3, [r0, lr, lsl #2] blo _020853A8 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02085388 arm_func_start sub_020853DC sub_020853DC: ; 0x020853DC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x34 mov r8, r1 ldrsb r4, [r8] mov sb, r0 mov r0, #0 str r0, [sp, #0xc] str r2, [sp] str sb, [sp, #0x10] str r0, [sp, #4] cmp r4, #0 beq _02085AD4 _0208540C: mov r0, r4 bl sub_02085360 cmp r0, #0 beq _02085460 ldrsb r0, [r8] bl sub_02085360 cmp r0, #0 beq _0208543C _0208542C: ldrsb r0, [r8, #1]! bl sub_02085360 cmp r0, #0 bne _0208542C _0208543C: ldrsb r0, [sb] bl sub_02085360 cmp r0, #0 beq _02085AC8 _0208544C: ldrsb r0, [sb, #1]! bl sub_02085360 cmp r0, #0 bne _0208544C b _02085AC8 _02085460: cmp r4, #0x25 beq _020854A0 ldrsb r0, [sb] cmp r4, r0 bne _02085AD4 and r0, r4, #0xff eor r0, r0, #0x20 sub r0, r0, #0xa1 cmp r0, #0x3c bhs _02085494 ldrsb r0, [sb, #1]! cmp r4, r0 bne _02085AD4 _02085494: add sb, sb, #1 add r8, r8, #1 b _02085AC8 _020854A0: ldrsb r0, [r8, #1] cmp r0, #0x25 bne _020854C0 ldrsb r0, [sb] cmp r4, r0 bne _02085AD4 add r8, r8, #2 b _02085AC8 _020854C0: ldrsb r0, [r8, #1]! mov sl, #0 mov r5, sl cmp r0, #0x2a mov fp, sl mov r6, sl orreq r5, sl, #0x2000 ldreqsb r0, [r8, #1]! mov r1, #0xa b _020854F4 _020854E8: mla r2, r6, r1, r0 ldrsb r0, [r8, #1]! sub r6, r2, #0x30 _020854F4: cmp r0, #0x30 blt _02085504 cmp r0, #0x39 ble _020854E8 _02085504: cmp r0, #0x68 beq _02085518 cmp r0, #0x6c beq _02085530 b _02085544 _02085518: ldrsb r0, [r8, #1]! cmp r0, #0x68 orrne r5, r5, #0x40 orreq r5, r5, #0x100 ldreqsb r0, [r8, #1]! b _02085544 _02085530: ldrsb r0, [r8, #1]! cmp r0, #0x6c orrne r5, r5, #0x20 ldreqsb r0, [r8, #1]! orreq r5, r5, #0x80 _02085544: cmp r0, #0x69 bgt _02085590 cmp r0, #0x64 blt _02085564 beq _020855D8 cmp r0, #0x69 beq _020855E0 b _02085AD4 _02085564: cmp r0, #0x5b bgt _02085584 cmp r0, #0x58 blt _02085AD4 beq _020855FC cmp r0, #0x5b beq _020858D0 b _02085AD4 _02085584: cmp r0, #0x63 beq _020857D8 b _02085AD4 _02085590: cmp r0, #0x6e bgt _020855A0 beq _02085608 b _02085AD4 _020855A0: sub r1, r0, #0x6f cmp r1, #9 addls pc, pc, r1, lsl #2 b _02085AD4 _020855B0: ; jump table b _020855E8 ; case 0 b _020855FC ; case 1 b _02085AD4 ; case 2 b _02085AD4 ; case 3 b _020857D8 ; case 4 b _02085AD4 ; case 5 b _020855F0 ; case 6 b _02085AD4 ; case 7 b _02085AD4 ; case 8 b _020855FC ; case 9 _020855D8: mov r4, #0xa b _0208562C _020855E0: mvn r4, #0 b _0208562C _020855E8: mov r4, #8 b _0208562C _020855F0: orr r5, r5, #0x1000 mov r4, #0xa b _0208562C _020855FC: orr r5, r5, #0x1000 mov r4, #0x10 b _0208562C _02085608: tst r5, #0x2000 ldreq r0, [sp, #4] add r8, r8, #1 subeq r0, r0, #1 streq r0, [sp, #4] ldr r0, [sp, #0x10] sub sl, sb, r0 mov fp, sl, asr #0x1f b _0208574C _0208562C: ldrsb r7, [sb] add r8, r8, #1 mov r0, r7 bl sub_02085360 cmp r0, #0 beq _02085658 _02085644: ldrsb r7, [sb, #1]! mov r0, r7 bl sub_02085360 cmp r0, #0 bne _02085644 _02085658: cmp r7, #0x2b orreq r5, r5, #2 beq _02085670 cmp r7, #0x2d bne _02085678 orr r5, r5, #8 _02085670: ldrsb r7, [sb, #1]! b _02085658 _02085678: mvn r0, #0 cmp r4, r0 bne _020856A4 cmp r7, #0x30 movne r4, #0xa bne _020856A4 ldrsb r0, [sb, #1] cmp r0, #0x78 cmpne r0, #0x58 moveq r4, #0x10 movne r4, #8 _020856A4: cmp r4, #0x10 cmpeq r7, #0x30 bne _020856C0 ldrsb r0, [sb, #1] cmp r0, #0x78 cmpne r0, #0x58 ldreqsb r7, [sb, #2]! _020856C0: cmp r6, #0 mvneq r6, #0x80000000 cmp r6, #0 mov r2, #0 ble _0208572C mov ip, r4, asr #0x1f _020856D8: sub r3, r7, #0x30 cmp r3, #0xa blo _02085700 sub r0, r3, #0x31 cmp r0, #6 sublo r3, r3, #0x27 blo _02085700 sub r3, r3, #0x11 cmp r3, #6 addlo r3, r3, #0xa _02085700: cmp r3, r4 bhs _0208572C ldrsb r7, [sb, #1]! add r2, r2, #1 umull r1, r0, sl, r4 mla r0, sl, ip, r0 adds sl, r3, r1 mla r0, fp, r4, r0 adc fp, r0, #0 cmp r2, r6 blt _020856D8 _0208572C: cmp r2, #0 beq _02085AD4 tst r5, #8 beq _02085744 rsbs sl, sl, #0 rsc fp, fp, #0 _02085744: mov r0, #1 str r0, [sp, #0xc] _0208574C: tst r5, #0x2000 bne _02085AC8 ldr r0, [sp, #4] tst r5, #0x100 add r0, r0, #1 str r0, [sp, #4] beq _02085780 ldr r0, [sp] add r0, r0, #4 str r0, [sp] ldr r0, [r0, #-4] strb sl, [r0] b _02085AC8 _02085780: tst r5, #0x40 beq _020857A0 ldr r0, [sp] add r0, r0, #4 str r0, [sp] ldr r0, [r0, #-4] strh sl, [r0] b _02085AC8 _020857A0: tst r5, #0x80 beq _020857C0 ldr r0, [sp] add r0, r0, #4 str r0, [sp] ldr r0, [r0, #-4] stmia r0, {sl, fp} b _02085AC8 _020857C0: ldr r0, [sp] add r0, r0, #4 str r0, [sp] ldr r0, [r0, #-4] str sl, [r0] b _02085AC8 _020857D8: mov r1, #1 tst r5, #0x2000 add r8, r8, #1 mov r4, #0 str r1, [sp, #0xc] bne _0208580C ldr r1, [sp] add r1, r1, #4 str r1, [sp] ldr r4, [r1, #-4] ldr r1, [sp, #4] add r1, r1, #1 str r1, [sp, #4] _0208580C: cmp r0, #0x73 bne _02085888 ldrsb r5, [sb] cmp r6, #0 mvneq r6, #0x80000000 mov r0, r5 bl sub_02085360 cmp r0, #0 beq _02085858 _02085830: ldrsb r5, [sb, #1]! mov r0, r5 bl sub_02085360 cmp r0, #0 bne _02085830 b _02085858 _02085848: cmp r4, #0 strneb r5, [r4], #1 ldrsb r5, [sb, #1]! sub r6, r6, #1 _02085858: cmp r5, #0 beq _02085878 mov r0, r5 bl sub_02085360 cmp r0, #0 bne _02085878 cmp r6, #0 bgt _02085848 _02085878: cmp r4, #0 movne r0, #0 strneb r0, [r4] b _02085AC8 _02085888: cmp r6, #0 moveq r6, #1 ldrsb r0, [sb] b _020858A8 _02085898: cmp r4, #0 strneb r0, [r4], #1 ldrsb r0, [sb, #1]! sub r6, r6, #1 _020858A8: cmp r0, #0 beq _020858B8 cmp r6, #0 bgt _02085898 _020858B8: cmp r4, #0 beq _02085AC8 cmp r6, #0 movgt r0, #0 strgtb r0, [r4] b _02085AC8 _020858D0: mov sl, #0 mov r3, #1 add r1, sp, #0x14 mov r0, sl mov r2, #0x20 mov r7, sl mov fp, sl str r3, [sp, #8] bl ArrayFill32 ldrsb r0, [r8, #1]! cmp r0, #0x5e moveq r0, sl addeq r8, r8, #1 streq r0, [sp, #8] ldrsb r0, [r8] cmp r0, #0x5d bne _02085938 and r2, r0, #0xff mov r0, r2, lsr #5 add r1, sp, #0x14 ldr r4, [r1, r0, lsl #2] and r2, r2, #0x1f mov r3, #1 orr r2, r4, r3, lsl r2 str r2, [r1, r0, lsl #2] add r8, r8, #1 _02085938: add r4, sp, #0x14 _0208593C: ldrsb r0, [r8] cmp r0, #0 cmpne r0, #0x5d bne _0208598C cmp fp, #0 beq _0208597C add r4, sp, #0x14 mov r3, r7, lsr #5 ldr r2, [r4, r3, lsl #2] and r0, r7, #0x1f mov r1, #1 orr r0, r2, r1, lsl r0 str r0, [r4, r3, lsl #2] ldr r0, [sp, #0x18] orr r0, r0, #0x2000 str r0, [sp, #0x18] _0208597C: ldrsb r0, [r8] cmp r0, #0x5d addeq r8, r8, #1 b _02085A38 _0208598C: cmp fp, #0 bne _020859CC cmp r7, #0 beq _020859A8 cmp r0, #0x2d moveq fp, #1 beq _02085A30 _020859A8: and r0, r0, #0xff mov r3, r0, lsr #5 ldr r2, [r4, r3, lsl #2] and r1, r0, #0x1f mov r0, #1 orr r0, r2, r0, lsl r1 str r0, [r4, r3, lsl #2] ldrb r7, [r8] b _02085A30 _020859CC: and r2, r0, #0xff cmp r7, r2 bls _02085A18 mov r1, r7, lsr #5 ldr fp, [r4, r1, lsl #2] and r7, r7, #0x1f mov r3, #1 orr r3, fp, r3, lsl r7 str r3, [r4, r1, lsl #2] ldr r1, [sp, #0x18] mov r0, r2, lsr #5 orr r1, r1, #0x2000 str r1, [sp, #0x18] ldr r3, [r4, r0, lsl #2] and r2, r2, #0x1f mov r1, #1 orr r1, r3, r1, lsl r2 str r1, [r4, r0, lsl #2] b _02085A28 _02085A18: mov r1, r7 add r2, r2, #1 mov r0, r4 bl sub_02085388 _02085A28: mov fp, #0 mov r7, fp _02085A30: add r8, r8, #1 b _0208593C _02085A38: mov r0, #1 tst r5, #0x2000 str r0, [sp, #0xc] bne _02085A64 ldr r0, [sp] add r0, r0, #4 str r0, [sp] ldr sl, [r0, #-4] ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] _02085A64: cmp r6, #0 mvneq r6, #0x80000000 ldrsb r0, [sb] add r3, sp, #0x14 b _02085AAC _02085A78: and r4, r0, #0xff mov r1, r4, lsr #5 ldr r2, [r3, r1, lsl #2] and r1, r4, #0x1f mov r1, r2, lsr r1 and r2, r1, #1 ldr r1, [sp, #8] cmp r1, r2 bne _02085ABC cmp sl, #0 strneb r0, [sl], #1 ldrsb r0, [sb, #1]! sub r6, r6, #1 _02085AAC: cmp r0, #0 beq _02085ABC cmp r6, #0 bgt _02085A78 _02085ABC: cmp sl, #0 movne r0, #0 strneb r0, [sl] _02085AC8: ldrsb r4, [r8] cmp r4, #0 bne _0208540C _02085AD4: ldrsb r0, [sb] cmp r0, #0 ldreq r0, [sp, #0xc] cmpeq r0, #0 mvneq r0, #0 streq r0, [sp, #4] ldr r0, [sp, #4] add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_020853DC arm_func_start sub_02085AF8 sub_02085AF8: ; 0x02085AF8 ldr r2, [r0] cmp r2, #0 beq _02085B18 ldr r2, [r0, #4] strb r1, [r2] ldr r1, [r0] sub r1, r1, #1 str r1, [r0] _02085B18: ldr r1, [r0, #4] add r1, r1, #1 str r1, [r0, #4] bx lr arm_func_end sub_02085AF8 arm_func_start sub_02085B28 sub_02085B28: ; 0x02085B28 stmdb sp!, {r3, lr} cmp r2, #0 ldmleia sp!, {r3, pc} ldr lr, [r0] mov ip, #0 cmp lr, r2 movhi lr, r2 cmp lr, #0 bls _02085B60 _02085B4C: ldr r3, [r0, #4] strb r1, [r3, ip] add ip, ip, #1 cmp ip, lr blo _02085B4C _02085B60: ldr r1, [r0] sub r1, r1, lr str r1, [r0] ldr r1, [r0, #4] add r1, r1, r2 str r1, [r0, #4] ldmia sp!, {r3, pc} arm_func_end sub_02085B28 arm_func_start sub_02085B7C sub_02085B7C: ; 0x02085B7C stmdb sp!, {r4, lr} cmp r2, #0 ldmleia sp!, {r4, pc} ldr r4, [r0] mov lr, #0 cmp r4, r2 movhi r4, r2 cmp r4, #0 bls _02085BB8 _02085BA0: ldrsb ip, [r1, lr] ldr r3, [r0, #4] strb ip, [r3, lr] add lr, lr, #1 cmp lr, r4 blo _02085BA0 _02085BB8: ldr r1, [r0] sub r1, r1, r4 str r1, [r0] ldr r1, [r0, #4] add r1, r1, r2 str r1, [r0, #4] ldmia sp!, {r4, pc} arm_func_end sub_02085B7C arm_func_start sub_02085BD4 sub_02085BD4: ; 0x02085BD4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 mov sb, r2 str r1, [sp, #0xc] str r0, [sp, #0x14] str r0, [sp, #0x10] ldrsb r0, [sb] str r1, [sp] mov fp, r3 cmp r0, #0 beq _02086400 _02085C00: ldrsb r1, [sb] and r0, r1, #0xff eor r0, r0, #0x20 sub r0, r0, #0xa1 cmp r0, #0x3c bhs _02085C3C add r0, sp, #0xc bl sub_02085AF8 ldrsb r1, [sb, #1]! cmp r1, #0 beq _020863F4 add r0, sp, #0xc add sb, sb, #1 bl sub_02085AF8 b _020863F4 _02085C3C: cmp r1, #0x25 beq _02085C54 add r0, sp, #0xc add sb, sb, #1 bl sub_02085AF8 b _020863F4 _02085C54: mov r5, #0 mov sl, r5 mov r2, sb sub r6, r5, #1 mov r0, #0xa mov r3, #0x57 _02085C6C: ldrsb r4, [sb, #1]! cmp r4, #0x20 bgt _02085C80 beq _02085CBC b _02085CD4 _02085C80: cmp r4, #0x30 bgt _02085CD4 cmp r4, #0x2b blt _02085CD4 beq _02085CA8 cmp r4, #0x2d beq _02085CC4 cmp r4, #0x30 beq _02085CCC b _02085CD4 _02085CA8: ldrsb r1, [sb, #-1] cmp r1, #0x20 bne _02085CD4 orr r5, r5, #2 b _02085C6C _02085CBC: orr r5, r5, #1 b _02085C6C _02085CC4: orr r5, r5, #8 b _02085C6C _02085CCC: orr r5, r5, #0x10 b _02085C6C _02085CD4: cmp r4, #0x2a bne _02085CF8 add fp, fp, #4 ldr sl, [fp, #-4] add sb, sb, #1 cmp sl, #0 rsblt sl, sl, #0 orrlt r5, r5, #8 b _02085D20 _02085CF8: mov r1, #0xa b _02085D0C _02085D00: ldrsb r4, [sb], #1 mla r4, sl, r1, r4 sub sl, r4, #0x30 _02085D0C: ldrsb r4, [sb] cmp r4, #0x30 blt _02085D20 cmp r4, #0x39 ble _02085D00 _02085D20: ldrsb r1, [sb] cmp r1, #0x2e bne _02085D7C ldrsb r1, [sb, #1]! mov r6, #0 cmp r1, #0x2a bne _02085D54 add fp, fp, #4 ldr r6, [fp, #-4] add sb, sb, #1 cmp r6, #0 mvnlt r6, #0 b _02085D7C _02085D54: mov r1, #0xa b _02085D68 _02085D5C: ldrsb r4, [sb], #1 mla r4, r6, r1, r4 sub r6, r4, #0x30 _02085D68: ldrsb r4, [sb] cmp r4, #0x30 blt _02085D7C cmp r4, #0x39 ble _02085D5C _02085D7C: ldrsb r1, [sb] cmp r1, #0x68 beq _02085D94 cmp r1, #0x6c beq _02085DAC b _02085DC0 _02085D94: ldrsb r1, [sb, #1]! cmp r1, #0x68 orrne r5, r5, #0x40 addeq sb, sb, #1 orreq r5, r5, #0x100 b _02085DC0 _02085DAC: ldrsb r1, [sb, #1]! cmp r1, #0x6c orrne r5, r5, #0x20 addeq sb, sb, #1 orreq r5, r5, #0x80 _02085DC0: ldrsb r1, [sb] cmp r1, #0x69 bgt _02085E04 cmp r1, #0x63 blt _02085DE8 beq _02085E74 cmp r1, #0x64 cmpne r1, #0x69 beq _0208602C b _02086010 _02085DE8: cmp r1, #0x25 bgt _02085DF8 beq _02085FF4 b _02086010 _02085DF8: cmp r1, #0x58 beq _02085E60 b _02086010 _02085E04: cmp r1, #0x6e bgt _02085E14 beq _02085F9C b _02086010 _02085E14: sub r1, r1, #0x6f cmp r1, #9 addls pc, pc, r1, lsl #2 b _02086010 _02085E24: ; jump table b _02085E4C ; case 0 b _02085E68 ; case 1 b _02086010 ; case 2 b _02086010 ; case 3 b _02085EE8 ; case 4 b _02086010 ; case 5 b _02085E58 ; case 6 b _02086010 ; case 7 b _02086010 ; case 8 b _02086024 ; case 9 _02085E4C: orr r5, r5, #0x1000 mov r0, #8 b _0208602C _02085E58: orr r5, r5, #0x1000 b _0208602C _02085E60: mov r3, #0x37 b _02086024 _02085E68: orr r5, r5, #4 mov r6, #8 b _02086024 _02085E74: cmp r6, #0 bge _02086010 add fp, fp, #4 tst r5, #8 ldr r4, [fp, #-4] beq _02085EB0 mov r1, r4, lsl #0x18 add r0, sp, #0xc mov r1, r1, asr #0x18 bl sub_02085AF8 add r0, sp, #0xc sub r2, sl, #1 mov r1, #0x20 bl sub_02085B28 b _02085EE0 _02085EB0: tst r5, #0x10 movne r0, #0x30 moveq r0, #0x20 mov r1, r0, lsl #0x18 add r0, sp, #0xc mov r1, r1, asr #0x18 sub r2, sl, #1 bl sub_02085B28 mov r1, r4, lsl #0x18 add r0, sp, #0xc mov r1, r1, asr #0x18 bl sub_02085AF8 _02085EE0: add sb, sb, #1 b _020863F4 _02085EE8: add fp, fp, #4 cmp r6, #0 ldr r7, [fp, #-4] mov r4, #0 bge _02085F20 ldrsb r0, [r7] cmp r0, #0 beq _02085F34 _02085F08: add r4, r4, #1 ldrsb r0, [r7, r4] cmp r0, #0 bne _02085F08 b _02085F34 _02085F1C: add r4, r4, #1 _02085F20: cmp r4, r6 bge _02085F34 ldrsb r0, [r7, r4] cmp r0, #0 bne _02085F1C _02085F34: tst r5, #8 sub sl, sl, r4 beq _02085F64 add r0, sp, #0xc mov r1, r7 mov r2, r4 bl sub_02085B7C add r0, sp, #0xc mov r2, sl mov r1, #0x20 bl sub_02085B28 b _02085F94 _02085F64: tst r5, #0x10 movne r0, #0x30 moveq r0, #0x20 mov r1, r0, lsl #0x18 add r0, sp, #0xc mov r2, sl mov r1, r1, asr #0x18 bl sub_02085B28 add r0, sp, #0xc mov r1, r7 mov r2, r4 bl sub_02085B7C _02085F94: add sb, sb, #1 b _020863F4 _02085F9C: ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] tst r5, #0x100 sub r2, r1, r0 bne _02085FEC tst r5, #0x40 beq _02085FC8 add fp, fp, #4 ldr r0, [fp, #-4] strh r2, [r0] b _02085FEC _02085FC8: add fp, fp, #4 tst r5, #0x80 ldreq r0, [fp, #-4] streq r2, [r0] beq _02085FEC ldr r0, [fp, #-4] mov r1, r2, asr #0x1f str r2, [r0] str r1, [r0, #4] _02085FEC: add sb, sb, #1 b _020863F4 _02085FF4: add r0, r2, #1 cmp r0, sb bne _02086010 add r0, sp, #0xc add sb, sb, #1 bl sub_02085AF8 b _020863F4 _02086010: mov r1, r2 add r0, sp, #0xc sub r2, sb, r2 bl sub_02085B7C b _020863F4 _02086024: orr r5, r5, #0x1000 mov r0, #0x10 _0208602C: tst r5, #8 bicne r5, r5, #0x10 cmp r6, #0 bicge r5, r5, #0x10 movlt r6, #1 mov r4, #0 tst r5, #0x1000 beq _020860EC tst r5, #0x100 beq _02086064 add fp, fp, #4 ldrb r7, [fp, #-4] mov r1, #0 b _0208609C _02086064: tst r5, #0x40 beq _0208607C add fp, fp, #4 ldrh r7, [fp, #-4] mov r1, #0 b _0208609C _0208607C: tst r5, #0x80 addeq fp, fp, #4 ldreq r7, [fp, #-4] moveq r1, #0 beq _0208609C add fp, fp, #8 ldr r7, [fp, #-8] ldr r1, [fp, #-4] _0208609C: bic r5, r5, #3 tst r5, #4 beq _020861AC cmp r0, #0x10 bne _020860D4 cmp r1, #0 cmpeq r7, #0 beq _020861AC add r4, r3, #0x21 mov r2, #0x30 strb r4, [sp, #8] strb r2, [sp, #9] mov r4, #2 b _020861AC _020860D4: cmp r0, #8 bne _020861AC mov r2, #0x30 strb r2, [sp, #8] mov r4, #1 b _020861AC _020860EC: tst r5, #0x100 beq _02086104 add fp, fp, #4 ldrsb r7, [fp, #-4] mov r1, r7, asr #0x1f b _0208613C _02086104: tst r5, #0x40 beq _0208611C add fp, fp, #4 ldrsh r7, [fp, #-4] mov r1, r7, asr #0x1f b _0208613C _0208611C: tst r5, #0x80 addeq fp, fp, #4 ldreq r7, [fp, #-4] moveq r1, r7, asr #0x1f beq _0208613C add fp, fp, #8 ldr r7, [fp, #-8] ldr r1, [fp, #-4] _0208613C: mov ip, #0 and r2, ip, #0 and r8, r1, #0x80000000 cmp r2, #0 cmpeq r8, #0 beq _02086174 mvn r4, r7 mov r2, #0x2d mvn r1, r1 strb r2, [sp, #8] adds r7, r4, #1 adc r1, r1, ip mov r4, #1 b _020861AC _02086174: cmp r1, ip cmpeq r7, ip cmpeq r6, #0 beq _020861AC tst r5, #2 beq _0208619C mov r2, #0x2b strb r2, [sp, #8] mov r4, #1 b _020861AC _0208619C: tst r5, #1 movne r2, #0x20 strneb r2, [sp, #8] movne r4, #1 _020861AC: cmp r0, #8 mov r8, #0 beq _020861CC cmp r0, #0xa beq _02086218 cmp r0, #0x10 beq _020862B0 b _020862FC _020861CC: cmp r1, r8 cmpeq r7, r8 beq _020862FC add r2, sp, #0x18 mov r0, r8 mov lr, #7 mov ip, r8 _020861E8: and r3, r7, lr add r3, r3, #0x30 strb r3, [r2, r8] mov r3, r1, lsr #3 cmp r3, r0 mov r7, r7, lsr #3 orr r7, r7, r1, lsl #29 mov r1, r3 cmpeq r7, ip add r8, r8, #1 bne _020861E8 b _020862FC _02086218: mov r0, r8 cmp r0, r8 cmpeq r1, r8 bne _02086264 cmp r7, #0 beq _020862FC ldr ip, _0208644C ; =0xCCCCCCCD add r3, sp, #0x18 mov r2, #0xa _0208623C: umull r1, r0, r7, ip movs r0, r0, lsr #3 mul r1, r0, r2 sub r1, r7, r1 mov r7, r0 add r0, r1, #0x30 strb r0, [r3, r8] add r8, r8, #1 bne _0208623C b _020862FC _02086264: cmp r1, r8 cmpeq r7, r8 beq _020862FC _02086270: mov r0, r7 mov r2, #0xa mov r3, #0 bl sub_0208FE3C mov r2, #0xa umull r3, r2, r0, r2 subs r2, r7, r3 add r3, r2, #0x30 add r2, sp, #0x18 strb r3, [r2, r8] cmp r1, #0 cmpeq r0, #0 mov r7, r0 add r8, r8, #1 bne _02086270 b _020862FC _020862B0: cmp r1, r8 cmpeq r7, r8 beq _020862FC add ip, sp, #0x18 mov lr, #0xf _020862C4: and r2, r7, lr mov r7, r7, lsr #4 mov r0, r1, lsr #4 orr r7, r7, r1, lsl #28 cmp r2, #0xa mov r1, r0 addlt r0, r2, #0x30 addge r0, r2, r3 strb r0, [ip, r8] mov r0, #0 cmp r1, r0 cmpeq r7, r0 add r8, r8, #1 bne _020862C4 _020862FC: cmp r4, #0 ble _02086324 ldrsb r0, [sp, #8] cmp r0, #0x30 bne _02086324 add r0, sp, #0x18 mov r1, #0x30 strb r1, [r0, r8] add r8, r8, #1 mov r4, #0 _02086324: tst r5, #0x10 sub r6, r6, r8 beq _02086340 sub r0, sl, r8 sub r0, r0, r4 cmp r6, r0 movlt r6, r0 _02086340: cmp r6, #0 subgt sl, sl, r6 add r0, r4, r8 sub sl, sl, r0 ands r0, r5, #8 str r0, [sp, #4] bne _0208636C add r0, sp, #0xc mov r2, sl mov r1, #0x20 bl sub_02085B28 _0208636C: cmp r4, #0 ble _02086398 add r0, sp, #8 add r5, r0, r4 add r7, sp, #0xc _02086380: ldrsb r1, [r5, #-1]! mov r0, r7 sub r4, r4, #1 bl sub_02085AF8 cmp r4, #0 bgt _02086380 _02086398: add r0, sp, #0xc mov r2, r6 mov r1, #0x30 bl sub_02085B28 cmp r8, #0 ble _020863D4 add r0, sp, #0x18 add r5, r0, r8 add r4, sp, #0xc _020863BC: ldrsb r1, [r5, #-1]! mov r0, r4 sub r8, r8, #1 bl sub_02085AF8 cmp r8, #0 bgt _020863BC _020863D4: ldr r0, [sp, #4] cmp r0, #0 beq _020863F0 add r0, sp, #0xc mov r2, sl mov r1, #0x20 bl sub_02085B28 _020863F0: add sb, sb, #1 _020863F4: ldrsb r0, [sb] cmp r0, #0 bne _02085C00 _02086400: ldr r0, [sp, #0xc] cmp r0, #0 beq _0208641C ldr r0, [sp, #0x10] mov r1, #0 strb r1, [r0] b _02086438 _0208641C: ldr r0, [sp] cmp r0, #0 beq _02086438 ldr r1, [sp, #0x14] mov r2, #0 add r0, r1, r0 strb r2, [r0, #-1] _02086438: ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] sub r0, r1, r0 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0208644C: .word 0xCCCCCCCD arm_func_end sub_02085BD4 arm_func_start sub_02086450 sub_02086450: ; 0x02086450 ldr r0, _02086460 ; =_020B2FBC ldr ip, _02086464 ; =__extendsfdf2 ldr r0, [r0] bx ip .align 2, 0 _02086460: .word _020B2FBC _02086464: .word __extendsfdf2 arm_func_end sub_02086450 arm_func_start sub_02086468 sub_02086468: ; 0x02086468 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r0, _020864F0 ; =_020B2ED4 mov r4, #0 mov r5, #1 mov r8, r0 mvn sb, #0 mov r7, r4 mov r6, #0x4c _02086488: ldr r1, [r0, #4] mov r2, r1, lsl #0x16 movs r2, r2, lsr #0x1d beq _020864C8 mov r1, r1, lsl #0x19 mov r1, r1, lsr #0x1e tst r1, #1 beq _020864C8 ldr r1, [r0, #8] mov r1, r1, lsl #0x1d mov r1, r1, lsr #0x1d cmp r1, #1 bne _020864C8 bl sub_02086B7C cmp r0, #0 movne r4, sb _020864C8: cmp r5, #3 movge r0, r7 bge _020864E0 mul r0, r5, r6 add r5, r5, #1 add r0, r8, r0 _020864E0: cmp r0, #0 bne _02086488 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _020864F0: .word _020B2ED4 arm_func_end sub_02086468 arm_func_start sub_020864F4 sub_020864F4: ; 0x020864F4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r0, _02086558 ; =_020B2ED4 mov r4, #0 mov r5, #1 mov r8, r0 mvn sb, #0 mov r7, r4 mov r6, #0x4c _02086514: ldr r1, [r0, #4] mov r1, r1, lsl #0x16 movs r1, r1, lsr #0x1d beq _02086530 bl sub_02086B7C cmp r0, #0 movne r4, sb _02086530: cmp r5, #3 movge r0, r7 bge _02086548 mul r0, r5, r6 add r5, r5, #1 add r0, r8, r0 _02086548: cmp r0, #0 bne _02086514 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02086558: .word _020B2ED4 arm_func_end sub_020864F4 arm_func_start abs abs: ; 0x0208655C cmp r0, #0 rsblt r0, r0, #0 bx lr arm_func_end abs arm_func_start sub_02086568 sub_02086568: ; 0x02086568 bx lr arm_func_end sub_02086568 arm_func_start sub_0208656C sub_0208656C: ; 0x0208656C bx lr arm_func_end sub_0208656C arm_func_start sub_02086570 sub_02086570: ; 0x02086570 ldr r1, [r0, #0x1c] str r1, [r0, #0x24] ldr r3, [r0, #0x20] str r3, [r0, #0x28] ldr r2, [r0, #0x18] ldr r1, [r0, #0x2c] and r1, r2, r1 sub r1, r3, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x18] str r1, [r0, #0x34] bx lr arm_func_end sub_02086570 arm_func_start sub_020865A0 sub_020865A0: ; 0x020865A0 stmdb sp!, {r4, r5, r6, lr} mov r5, r2 mov r4, r0 mov r6, r1 bl sub_02086570 cmp r5, #1 ldreq r0, [r4, #0x20] add r2, r4, #0x28 streq r0, [r4, #0x28] ldr r0, [r4] ldr r1, [r4, #0x1c] ldr r3, [r4, #0x48] ldr ip, [r4, #0x3c] blx ip cmp r0, #2 moveq r1, #0 streq r1, [r4, #0x28] cmp r6, #0 ldrne r1, [r4, #0x28] strne r1, [r6] cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r4, #0x18] ldr r0, [r4, #0x28] add r0, r1, r0 str r0, [r4, #0x18] ldr r0, [r4, #4] mov r0, r0, lsl #0x13 movs r0, r0, lsr #0x1f bne _02086624 ldr r0, [r4, #0x1c] add r1, r4, #0x28 bl sub_0208656C _02086624: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_020865A0 arm_func_start sub_0208662C sub_0208662C: ; 0x0208662C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r2, [r5, #0x24] ldr r0, [r5, #0x1c] mov r4, r1 subs r0, r2, r0 beq _020866A4 str r0, [r5, #0x28] ldr r0, [r5, #4] mov r0, r0, lsl #0x13 movs r0, r0, lsr #0x1f bne _02086668 ldr r0, [r5, #0x1c] add r1, r5, #0x28 bl sub_02086568 _02086668: ldr r0, [r5] ldr r1, [r5, #0x1c] ldr r3, [r5, #0x48] ldr ip, [r5, #0x40] add r2, r5, #0x28 blx ip cmp r4, #0 ldrne r1, [r5, #0x28] strne r1, [r4] cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x18] ldr r0, [r5, #0x28] add r0, r1, r0 str r0, [r5, #0x18] _020866A4: mov r0, r5 bl sub_02086570 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0208662C arm_func_start sub_020866B4 sub_020866B4: ; 0x020866B4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r4, _020867AC ; =_020B2ED4 mov r7, r3 cmp r7, r4 moveq r6, #2 mov sl, r0 movne r6, #5 mov r0, #0x18 mul r4, r6, r0 ldr r5, _020867B0 ; =_022BC698 mov sb, r1 add r0, r5, r4 mov r8, r2 bl sub_0207A164 cmp r0, #0 bne _02086718 ldr r0, _020867B4 ; =_022B966C ldr r2, _020867B8 ; =_022BC650 ldr r1, [r0, #4] ldr r0, _020867BC ; =_022BC674 ldr r3, [r1, #0x6c] mov r1, #1 str r3, [r2, r6, lsl #2] str r1, [r0, r6, lsl #2] b _02086770 _02086718: ldr r0, _020867B4 ; =_022B966C ldr r1, _020867B8 ; =_022BC650 ldr r0, [r0, #4] ldr r1, [r1, r6, lsl #2] ldr r0, [r0, #0x6c] cmp r1, r0 bne _02086748 ldr r1, _020867BC ; =_022BC674 ldr r0, [r1, r6, lsl #2] add r0, r0, #1 str r0, [r1, r6, lsl #2] b _02086770 _02086748: add r0, r5, r4 bl sub_0207A048 ldr r0, _020867B4 ; =_022B966C ldr r2, _020867B8 ; =_022BC650 ldr r1, [r0, #4] ldr r0, _020867BC ; =_022BC674 ldr r3, [r1, #0x6c] mov r1, #1 str r3, [r2, r6, lsl #2] str r1, [r0, r6, lsl #2] _02086770: mov r0, sl mov r1, sb mov r2, r8 mov r3, r7 bl sub_020867C0 ldr r1, _020867BC ; =_022BC674 mov r7, r0 ldr r0, [r1, r6, lsl #2] subs r0, r0, #1 str r0, [r1, r6, lsl #2] bne _020867A4 add r0, r5, r4 bl sub_0207A0CC _020867A4: mov r0, r7 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _020867AC: .word _020B2ED4 _020867B0: .word _022BC698 _020867B4: .word _022B966C _020867B8: .word _022BC650 _020867BC: .word _022BC674 arm_func_end sub_020866B4 arm_func_start sub_020867C0 sub_020867C0: ; 0x020867C0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 mov r7, r3 mov sb, r0 mov r8, r1 mov r0, r7 mov r1, #0 mov r4, r2 bl sub_0208B374 cmp r0, #0 bne _020867F8 mov r0, r7 mvn r1, #0 bl sub_0208B374 _020867F8: muls r4, r8, r4 beq _0208681C ldrb r0, [r7, #0xd] cmp r0, #0 bne _0208681C ldr r1, [r7, #4] mov r0, r1, lsl #0x16 movs r0, r0, lsr #0x1d bne _02086828 _0208681C: add sp, sp, #4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02086828: mov r0, r1, lsl #0x13 movs r0, r0, lsr #0x1f movne r0, r1, lsl #0x19 movne r0, r0, lsr #0x1e ldr r1, [r7, #8] cmpne r0, #2 mov r6, #1 mov r0, r1, lsl #0x1d movne r6, #0 movs r0, r0, lsr #0x1d bne _0208687C ldr r0, [r7, #4] mov r0, r0, lsl #0x1b mov r0, r0, lsr #0x1d tst r0, #1 beq _0208687C bic r0, r1, #7 orr r0, r0, #2 str r0, [r7, #8] mov r0, #0 str r0, [r7, #0x28] _0208687C: ldr r0, [r7, #8] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d cmp r0, #2 bhs _020868A8 mov r0, #1 strb r0, [r7, #0xd] mov r0, #0 add sp, sp, #4 str r0, [r7, #0x28] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _020868A8: ldr r0, [r7, #4] mov r0, r0, lsl #0x19 mov r0, r0, lsr #0x1e tst r0, #1 beq _020868E0 bl sub_02086468 cmp r0, #0 beq _020868E0 mov r0, #1 strb r0, [r7, #0xd] mov r0, #0 add sp, sp, #4 str r0, [r7, #0x28] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _020868E0: cmp r4, #0 mov r5, #0 beq _020869A4 ldr r0, [r7, #8] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d cmp r0, #3 blo _020869A4 mov sl, r5 _02086904: mov r0, r7 mov r1, sl bl sub_0208B374 cmp r0, #1 ldr r0, [r7, #8] bne _02086938 mov r0, r0, lsl #0x1d add r0, r7, r0, lsr #28 ldrh r0, [r0, #0xe] add r5, r5, #2 sub r4, r4, #2 strh r0, [sb], #2 b _02086950 _02086938: mov r0, r0, lsl #0x1d add r0, r7, r0, lsr #29 ldrb r0, [r0, #0xf] add r5, r5, #1 sub r4, r4, #1 strb r0, [sb], #1 _02086950: ldr r1, [r7, #8] cmp r4, #0 mov r0, r1, lsl #0x1d mov r0, r0, lsr #0x1d sub r0, r0, #1 bic r1, r1, #7 and r0, r0, #7 orr r0, r1, r0 str r0, [r7, #8] beq _0208698C ldr r0, [r7, #8] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d cmp r0, #3 bhs _02086904 _0208698C: ldr r0, [r7, #8] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d cmp r0, #2 ldreq r0, [r7, #0x30] streq r0, [r7, #0x28] _020869A4: cmp r4, #0 beq _02086A68 ldr r0, [r7, #0x28] cmp r0, #0 cmpeq r6, #0 beq _02086A68 mov sl, #0 _020869C0: ldr r0, [r7, #0x28] cmp r0, #0 bne _02086A14 mov r0, r7 mov r1, sl mov r2, sl bl sub_020865A0 cmp r0, #0 beq _02086A14 cmp r0, #1 mov r0, #1 streqb r0, [r7, #0xd] beq _02086A04 ldr r1, [r7, #8] bic r1, r1, #7 str r1, [r7, #8] strb r0, [r7, #0xc] _02086A04: mov r0, #0 str r0, [r7, #0x28] mov r4, #0 b _02086A68 _02086A14: ldr r0, [r7, #0x28] str r0, [sp] cmp r0, r4 strhi r4, [sp] ldr r1, [r7, #0x24] ldr r2, [sp] mov r0, sb bl memcpy ldr r2, [sp] ldr r0, [r7, #0x24] subs r4, r4, r2 add r0, r0, r2 str r0, [r7, #0x24] ldr r1, [r7, #0x28] ldr r0, [sp] add sb, sb, r2 sub r0, r1, r0 add r5, r5, r2 str r0, [r7, #0x28] cmpne r6, #0 bne _020869C0 _02086A68: cmp r4, #0 beq _02086AF4 cmp r6, #0 bne _02086AF4 ldr r6, [r7, #0x1c] ldr sl, [r7, #0x20] add r1, sp, #0 str sb, [r7, #0x1c] mov r0, r7 mov r2, #1 str r4, [r7, #0x20] bl sub_020865A0 cmp r0, #0 beq _02086AD4 cmp r0, #1 mov r0, #1 bne _02086ABC strb r0, [r7, #0xd] mov r0, #0 str r0, [r7, #0x28] b _02086AD4 _02086ABC: ldr r1, [r7, #8] bic r1, r1, #7 str r1, [r7, #8] strb r0, [r7, #0xc] mov r0, #0 str r0, [r7, #0x28] _02086AD4: ldr r1, [sp] mov r0, r7 str r6, [r7, #0x1c] str sl, [r7, #0x20] add r5, r5, r1 bl sub_02086570 mov r0, #0 str r0, [r7, #0x28] _02086AF4: mov r0, r5 mov r1, r8 bl __udivsi3 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end sub_020867C0 arm_func_start sub_02086B08 sub_02086B08: ; 0x02086B08 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5, #4] mov r1, r1, lsl #0x16 movs r1, r1, lsr #0x1d moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} bl sub_02086B7C mov r4, r0 ldr r0, [r5] ldr r1, [r5, #0x44] blx r1 ldr r1, [r5, #4] mov r2, #0 bic r1, r1, #0x380 str r1, [r5, #4] str r2, [r5] ldr r1, [r5, #8] mov r1, r1, lsl #0x1c movs r1, r1, lsr #0x1f subne r0, r2, #1 ldmneia sp!, {r3, r4, r5, pc} cmp r4, #0 cmpeq r0, #0 movne r2, #1 rsb r0, r2, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_02086B08 arm_func_start sub_02086B7C sub_02086B7C: ; 0x02086B7C stmdb sp!, {r4, lr} movs r4, r0 bne _02086B90 bl sub_020864F4 ldmia sp!, {r4, pc} _02086B90: ldrb r0, [r4, #0xd] cmp r0, #0 bne _02086BAC ldr r0, [r4, #4] mov r1, r0, lsl #0x16 movs r1, r1, lsr #0x1d bne _02086BB4 _02086BAC: mvn r0, #0 ldmia sp!, {r4, pc} _02086BB4: mov r0, r0, lsl #0x1b mov r0, r0, lsr #0x1d cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] mov r1, r0, lsl #0x1d mov r1, r1, lsr #0x1d cmp r1, #3 bichs r0, r0, #7 orrhs r0, r0, #2 strhs r0, [r4, #8] ldr r0, [r4, #8] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d cmp r0, #2 moveq r0, #0 streq r0, [r4, #0x28] ldr r0, [r4, #8] mov r1, r0, lsl #0x1d mov r1, r1, lsr #0x1d cmp r1, #1 beq _02086C20 bic r0, r0, #7 str r0, [r4, #8] mov r0, #0 ldmia sp!, {r4, pc} _02086C20: mov r0, r4 mov r1, #0 bl sub_0208662C cmp r0, #0 mov r0, #0 beq _02086C4C mov r1, #1 strb r1, [r4, #0xd] str r0, [r4, #0x28] sub r0, r0, #1 ldmia sp!, {r4, pc} _02086C4C: ldr r1, [r4, #8] bic r1, r1, #7 str r1, [r4, #8] str r0, [r4, #0x18] str r0, [r4, #0x28] ldmia sp!, {r4, pc} arm_func_end sub_02086B7C arm_func_start sub_02086C64 sub_02086C64: ; 0x02086C64 stmdb sp!, {r3, r4, r5, lr} cmp r2, #0 mov lr, #0 ble _02086CE0 ldr ip, _02086CE8 ; =_020AECB0 _02086C78: ldrsb r3, [r0], #1 cmp r3, #0 blt _02086C90 cmp r3, #0x80 bge _02086C90 ldrb r3, [ip, r3] _02086C90: ldrsb r5, [r1], #1 mov r3, r3, lsl #0x18 mov r4, r3, asr #0x18 cmp r5, #0 blt _02086CB0 cmp r5, #0x80 bge _02086CB0 ldrb r5, [ip, r5] _02086CB0: mov r3, r5, lsl #0x18 cmp r4, r3, asr #24 mvnlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} movgt r0, #1 ldmgtia sp!, {r3, r4, r5, pc} cmp r4, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add lr, lr, #1 cmp lr, r2 blt _02086C78 _02086CE0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02086CE8: .word _020AECB0 arm_func_end sub_02086C64 arm_func_start sub_02086CEC sub_02086CEC: ; 0x02086CEC ldr r1, [r0, #4] mov r1, r1, lsl #0x16 mov r1, r1, lsr #0x1d and r1, r1, #0xff add r1, r1, #0xff and r1, r1, #0xff cmp r1, #1 bhi _02086D18 ldrb r1, [r0, #0xd] cmp r1, #0 beq _02086D2C _02086D18: ldr r0, _02086D64 ; =_022BCA70 mov r1, #0x28 str r1, [r0] sub r0, r1, #0x29 bx lr _02086D2C: ldr r1, [r0, #8] mov r1, r1, lsl #0x1d movs ip, r1, lsr #0x1d ldreq r0, [r0, #0x18] bxeq lr ldr r2, [r0, #0x24] ldr r1, [r0, #0x1c] ldr r3, [r0, #0x34] sub r0, r2, r1 cmp ip, #3 add r0, r3, r0 subhs r1, ip, #2 subhs r0, r0, r1 bx lr .align 2, 0 _02086D64: .word _022BCA70 arm_func_end sub_02086CEC arm_func_start sub_02086D68 sub_02086D68: ; 0x02086D68 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02086E68 ; =_020B2ED4 mov r7, r0 cmp r7, r1 moveq r6, #2 beq _02086DA0 ldr r0, _02086E6C ; =_020B2F20 cmp r7, r0 moveq r6, #3 beq _02086DA0 ldr r0, _02086E70 ; =_020B2F6C cmp r7, r0 moveq r6, #4 movne r6, #5 _02086DA0: mov r0, #0x18 mul r4, r6, r0 ldr r5, _02086E74 ; =_022BC698 add r0, r5, r4 bl sub_0207A164 cmp r0, #0 bne _02086DE0 ldr r0, _02086E78 ; =_022B966C ldr r2, _02086E7C ; =_022BC650 ldr r1, [r0, #4] ldr r0, _02086E80 ; =_022BC674 ldr r3, [r1, #0x6c] mov r1, #1 str r3, [r2, r6, lsl #2] str r1, [r0, r6, lsl #2] b _02086E38 _02086DE0: ldr r0, _02086E78 ; =_022B966C ldr r1, _02086E7C ; =_022BC650 ldr r0, [r0, #4] ldr r1, [r1, r6, lsl #2] ldr r0, [r0, #0x6c] cmp r1, r0 bne _02086E10 ldr r1, _02086E80 ; =_022BC674 ldr r0, [r1, r6, lsl #2] add r0, r0, #1 str r0, [r1, r6, lsl #2] b _02086E38 _02086E10: add r0, r5, r4 bl sub_0207A048 ldr r0, _02086E78 ; =_022B966C ldr r2, _02086E7C ; =_022BC650 ldr r1, [r0, #4] ldr r0, _02086E80 ; =_022BC674 ldr r3, [r1, #0x6c] mov r1, #1 str r3, [r2, r6, lsl #2] str r1, [r0, r6, lsl #2] _02086E38: mov r0, r7 bl sub_02086CEC ldr r1, _02086E80 ; =_022BC674 mov r7, r0 ldr r0, [r1, r6, lsl #2] subs r0, r0, #1 str r0, [r1, r6, lsl #2] bne _02086E60 add r0, r5, r4 bl sub_0207A0CC _02086E60: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02086E68: .word _020B2ED4 _02086E6C: .word _020B2F20 _02086E70: .word _020B2F6C _02086E74: .word _022BC698 _02086E78: .word _022B966C _02086E7C: .word _022BC650 _02086E80: .word _022BC674 arm_func_end sub_02086D68 arm_func_start sub_02086E84 sub_02086E84: ; 0x02086E84 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r1, [r5, #4] mov r4, r2 mov r1, r1, lsl #0x16 mov r1, r1, lsr #0x1d and r1, r1, #0xff cmp r1, #1 ldreqb r1, [r5, #0xd] cmpeq r1, #0 beq _02086ED0 ldr r0, _02087068 ; =_022BCA70 mov r1, #0x28 str r1, [r0] sub r0, r1, #0x29 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr _02086ED0: ldr r1, [r5, #8] mov r1, r1, lsl #0x1d mov r1, r1, lsr #0x1d cmp r1, #1 bne _02086F20 mov r1, #0 bl sub_0208662C cmp r0, #0 beq _02086F20 mov r0, #1 strb r0, [r5, #0xd] mov r2, #0 ldr r0, _02087068 ; =_022BCA70 mov r1, #0x28 str r2, [r5, #0x28] str r1, [r0] sub r0, r1, #0x29 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr _02086F20: cmp r4, #1 bne _02086F40 mov r0, r5 mov r4, #0 bl sub_02086CEC ldr r1, [sp, #0x14] add r0, r1, r0 str r0, [sp, #0x14] _02086F40: cmp r4, #2 beq _02086FD4 ldr r0, [r5, #4] mov r0, r0, lsl #0x1b mov r0, r0, lsr #0x1d cmp r0, #3 beq _02086FD4 ldr r0, [r5, #8] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1d sub r0, r0, #2 cmp r0, #1 bhi _02086FD4 ldr r2, [sp, #0x14] ldr r0, [r5, #0x18] cmp r2, r0 bhs _02086F90 ldr r0, [r5, #0x34] cmp r2, r0 bhs _02086FA0 _02086F90: ldr r0, [r5, #8] bic r0, r0, #7 str r0, [r5, #8] b _02086FE0 _02086FA0: ldr r1, [r5, #0x1c] sub r0, r2, r0 add r0, r1, r0 str r0, [r5, #0x24] ldr r1, [r5, #0x18] ldr r0, [sp, #0x14] sub r0, r1, r0 str r0, [r5, #0x28] ldr r0, [r5, #8] bic r0, r0, #7 orr r0, r0, #2 str r0, [r5, #8] b _02086FE0 _02086FD4: ldr r0, [r5, #8] bic r0, r0, #7 str r0, [r5, #8] _02086FE0: ldr r0, [r5, #8] mov r0, r0, lsl #0x1d movs r0, r0, lsr #0x1d bne _02087058 ldr ip, [r5, #0x38] cmp ip, #0 beq _02087044 ldr r0, [r5] ldr r3, [r5, #0x48] add r1, sp, #0x14 mov r2, r4 blx ip cmp r0, #0 beq _02087044 mov r0, #1 strb r0, [r5, #0xd] mov r2, #0 ldr r0, _02087068 ; =_022BCA70 mov r1, #0x28 str r2, [r5, #0x28] str r1, [r0] sub r0, r1, #0x29 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr _02087044: mov r1, #0 strb r1, [r5, #0xc] ldr r0, [sp, #0x14] str r0, [r5, #0x18] str r1, [r5, #0x28] _02087058: mov r0, #0 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02087068: .word _022BCA70 arm_func_end sub_02086E84 arm_func_start sub_0208706C sub_0208706C: ; 0x0208706C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r3, _0208717C ; =_020B2ED4 mov sb, r0 cmp sb, r3 mov r8, r1 mov r7, r2 moveq r6, #2 beq _020870AC ldr r0, _02087180 ; =_020B2F20 cmp sb, r0 moveq r6, #3 beq _020870AC ldr r0, _02087184 ; =_020B2F6C cmp sb, r0 moveq r6, #4 movne r6, #5 _020870AC: mov r0, #0x18 mul r4, r6, r0 ldr r5, _02087188 ; =_022BC698 add r0, r5, r4 bl sub_0207A164 cmp r0, #0 bne _020870EC ldr r0, _0208718C ; =_022B966C ldr r2, _02087190 ; =_022BC650 ldr r1, [r0, #4] ldr r0, _02087194 ; =_022BC674 ldr r3, [r1, #0x6c] mov r1, #1 str r3, [r2, r6, lsl #2] str r1, [r0, r6, lsl #2] b _02087144 _020870EC: ldr r0, _0208718C ; =_022B966C ldr r1, _02087190 ; =_022BC650 ldr r0, [r0, #4] ldr r1, [r1, r6, lsl #2] ldr r0, [r0, #0x6c] cmp r1, r0 bne _0208711C ldr r1, _02087194 ; =_022BC674 ldr r0, [r1, r6, lsl #2] add r0, r0, #1 str r0, [r1, r6, lsl #2] b _02087144 _0208711C: add r0, r5, r4 bl sub_0207A048 ldr r0, _0208718C ; =_022B966C ldr r2, _02087190 ; =_022BC650 ldr r1, [r0, #4] ldr r0, _02087194 ; =_022BC674 ldr r3, [r1, #0x6c] mov r1, #1 str r3, [r2, r6, lsl #2] str r1, [r0, r6, lsl #2] _02087144: mov r0, sb mov r1, r8 mov r2, r7 bl sub_02086E84 ldr r1, _02087194 ; =_022BC674 mov r7, r0 ldr r0, [r1, r6, lsl #2] subs r0, r0, #1 str r0, [r1, r6, lsl #2] bne _02087174 add r0, r5, r4 bl sub_0207A0CC _02087174: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0208717C: .word _020B2ED4 _02087180: .word _020B2F20 _02087184: .word _020B2F6C _02087188: .word _022BC698 _0208718C: .word _022B966C _02087190: .word _022BC650 _02087194: .word _022BC674 arm_func_end sub_0208706C arm_func_start sub_02087198 sub_02087198: ; 0x02087198 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 mov r2, r1 strb r1, [r4, #0xd] bl sub_0208706C mov r0, #0 strb r0, [r4, #0xd] ldmia sp!, {r4, pc} arm_func_end sub_02087198 arm_func_start mbtowc mbtowc: ; 0x020871BC cmp r1, #0 moveq r0, #0 bxeq lr cmp r2, #0 mvneq r0, #0 bxeq lr cmp r0, #0 ldrneb r2, [r1] strneh r2, [r0] ldrsb r0, [r1] cmp r0, #0 moveq r0, #0 movne r0, #1 bx lr arm_func_end mbtowc arm_func_start TryAssignByte TryAssignByte: ; 0x020871F4 cmp r0, #0 moveq r0, #0 strneb r1, [r0] movne r0, #1 bx lr arm_func_end TryAssignByte arm_func_start TryAssignByteWrapper TryAssignByteWrapper: ; 0x02087208 stmdb sp!, {r3, lr} ldr r2, _02087220 ; =_020B301C ldr r2, [r2, #8] ldr r2, [r2, #4] blx r2 ldmia sp!, {r3, pc} .align 2, 0 _02087220: .word _020B301C arm_func_end TryAssignByteWrapper arm_func_start wcstombs wcstombs: ; 0x02087224 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} movs r4, r0 mov sb, r1 cmpne sb, #0 mov r8, r2 mov r7, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r6, sp, #0 _02087248: ldrh r1, [sb] cmp r1, #0 moveq r0, #0 streqb r0, [r4, r7] beq _02087294 mov r0, r6 add sb, sb, #2 bl TryAssignByteWrapper mov r5, r0 add r0, r7, r5 cmp r0, r8 bhi _02087294 mov r1, r6 mov r2, r5 add r0, r4, r7 bl strncpy add r7, r7, r5 cmp r7, r8 bls _02087248 _02087294: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end wcstombs arm_func_start memcpy memcpy: ; 0x0208729C mov ip, r0 cmp r2, #0 bxeq lr _020872A8: ldrsb r3, [r1], #1 subs r2, r2, #1 strb r3, [ip], #1 bne _020872A8 bx lr arm_func_end memcpy arm_func_start memmove memmove: ; 0x020872BC cmp r1, r0 blo _020872E4 mov ip, r0 cmp r2, #0 bxeq lr _020872D0: ldrsb r3, [r1], #1 subs r2, r2, #1 strb r3, [ip], #1 bne _020872D0 bx lr _020872E4: cmp r2, #0 add r3, r1, r2 add ip, r0, r2 bxeq lr _020872F4: ldrsb r1, [r3, #-1]! subs r2, r2, #1 strb r1, [ip, #-1]! bne _020872F4 bx lr arm_func_end memmove arm_func_start memset memset: ; 0x02087308 stmdb sp!, {r4, lr} mov r4, r0 bl memset_internal mov r0, r4 ldmia sp!, {r4, pc} arm_func_end memset arm_func_start memchr memchr: ; 0x0208731C cmp r2, #0 and r3, r1, #0xff beq _02087340 _02087328: ldrb r1, [r0], #1 cmp r1, r3 subeq r0, r0, #1 bxeq lr subs r2, r2, #1 bne _02087328 _02087340: mov r0, #0 bx lr arm_func_end memchr arm_func_start memcmp memcmp: ; 0x02087348 cmp r2, #0 beq _02087380 _02087350: ldrb ip, [r0], #1 ldrb r3, [r1], #1 cmp ip, r3 beq _02087378 ldrb r2, [r0, #-1] ldrb r0, [r1, #-1] cmp r2, r0 mvnlo r0, #0 movhs r0, #1 bx lr _02087378: subs r2, r2, #1 bne _02087350 _02087380: mov r0, #0 bx lr arm_func_end memcmp arm_func_start memset_internal memset_internal: ; 0x02087388 cmp r2, #0x20 and r3, r1, #0xff blo _0208741C rsb r1, r0, #0 ands ip, r1, #3 beq _020873B4 sub r2, r2, ip and r1, r3, #0xff _020873A8: strb r1, [r0], #1 subs ip, ip, #1 bne _020873A8 _020873B4: cmp r3, #0 beq _020873CC mov r1, r3, lsl #0x10 orr r1, r1, r3, lsl #24 orr r1, r1, r3, lsl #8 orr r3, r3, r1 _020873CC: movs r1, r2, lsr #5 beq _02087400 _020873D4: str r3, [r0] str r3, [r0, #4] str r3, [r0, #8] str r3, [r0, #0xc] str r3, [r0, #0x10] str r3, [r0, #0x14] str r3, [r0, #0x18] str r3, [r0, #0x1c] add r0, r0, #0x20 subs r1, r1, #1 bne _020873D4 _02087400: and r1, r2, #0x1f movs r1, r1, lsr #2 beq _02087418 _0208740C: str r3, [r0], #4 subs r1, r1, #1 bne _0208740C _02087418: and r2, r2, #3 _0208741C: cmp r2, #0 bxeq lr and r1, r3, #0xff _02087428: strb r1, [r0], #1 subs r2, r2, #1 bne _02087428 bx lr arm_func_end memset_internal arm_func_start sub_02087438 sub_02087438: ; 0x02087438 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 ldrsb r3, [r0, #1] mov r4, #0 mov r5, #1 mov lr, r2 strb r5, [sp] strb r4, [sp, #1] strb r4, [sp, #2] strb r4, [sp, #3] strb r4, [sp, #4] str r4, [sp, #8] str r4, [sp, #0xc] cmp r3, #0x25 add ip, r0, #1 bne _02087494 add r0, sp, #0 strb r3, [sp, #5] ldmia r0, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} add sp, sp, #0x10 add r0, ip, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02087494: mov r2, #2 mov r0, r4 mov r5, r2 mov r6, r4 mov r7, #1 _020874A8: mov r8, r7 cmp r3, #0x2b bgt _020874D8 bge _02087500 cmp r3, #0x23 bgt _02087530 cmp r3, #0x20 blt _02087530 beq _02087508 cmp r3, #0x23 beq _02087518 b _02087530 _020874D8: cmp r3, #0x30 bgt _02087530 cmp r3, #0x2d blt _02087530 beq _020874F8 cmp r3, #0x30 beq _02087520 b _02087530 _020874F8: strb r6, [sp] b _02087534 _02087500: strb r7, [sp, #1] b _02087534 _02087508: ldrb r4, [sp, #1] cmp r4, #1 strneb r5, [sp, #1] b _02087534 _02087518: strb r7, [sp, #3] b _02087534 _02087520: ldrb r4, [sp] cmp r4, #0 strneb r2, [sp] b _02087534 _02087530: mov r8, r0 _02087534: cmp r8, #0 ldrnesb r3, [ip, #1]! bne _020874A8 cmp r3, #0x2a bne _0208757C ldr r0, [r1] add r0, r0, #4 str r0, [r1] ldr r0, [r0, #-4] str r0, [sp, #8] cmp r0, #0 bge _02087574 rsb r0, r0, #0 mov r2, #0 strb r2, [sp] str r0, [sp, #8] _02087574: ldrsb r3, [ip, #1]! b _020875CC _0208757C: ldr r4, _020879C0 ; =_020AEDB0 mov r5, #0 mov r0, #0xa b _020875A0 _0208758C: ldr r2, [sp, #8] sub r3, r3, #0x30 mla r6, r2, r0, r3 ldrsb r3, [ip, #1]! str r6, [sp, #8] _020875A0: cmp r3, #0 blt _020875B0 cmp r3, #0x80 blt _020875B8 _020875B0: mov r2, r5 b _020875C4 _020875B8: mov r2, r3, lsl #1 ldrh r2, [r4, r2] and r2, r2, #8 _020875C4: cmp r2, #0 bne _0208758C _020875CC: ldr r2, [sp, #8] ldr r0, _020879C4 ; =0x000001FD cmp r2, r0 ble _020875FC mov r1, #0xff add r0, sp, #0 strb r1, [sp, #5] ldmia r0, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} add sp, sp, #0x10 add r0, ip, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020875FC: cmp r3, #0x2e bne _02087690 ldrsb r3, [ip, #1]! mov r0, #1 strb r0, [sp, #2] cmp r3, #0x2a bne _02087640 ldr r0, [r1] add r0, r0, #4 str r0, [r1] ldr r0, [r0, #-4] ldrsb r3, [ip, #1]! str r0, [sp, #0xc] cmp r0, #0 movlt r0, #0 strltb r0, [sp, #2] b _02087690 _02087640: ldr r2, _020879C0 ; =_020AEDB0 mov r4, #0 mov r0, #0xa b _02087664 _02087650: ldr r1, [sp, #0xc] sub r3, r3, #0x30 mla r5, r1, r0, r3 ldrsb r3, [ip, #1]! str r5, [sp, #0xc] _02087664: cmp r3, #0 blt _02087674 cmp r3, #0x80 blt _0208767C _02087674: mov r1, r4 b _02087688 _0208767C: mov r1, r3, lsl #1 ldrh r1, [r2, r1] and r1, r1, #8 _02087688: cmp r1, #0 bne _02087650 _02087690: cmp r3, #0x6c mov r0, #1 bgt _020876C8 cmp r3, #0x68 blt _020876BC beq _020876E4 cmp r3, #0x6a beq _02087730 cmp r3, #0x6c beq _02087700 b _02087754 _020876BC: cmp r3, #0x4c beq _02087724 b _02087754 _020876C8: cmp r3, #0x74 bgt _020876D8 beq _0208773C b _02087754 _020876D8: cmp r3, #0x7a beq _02087748 b _02087754 _020876E4: ldrsb r1, [ip, #1] mov r2, #2 strb r2, [sp, #4] cmp r1, #0x68 streqb r0, [sp, #4] ldreqsb r3, [ip, #1]! b _02087758 _02087700: ldrsb r1, [ip, #1] mov r2, #3 strb r2, [sp, #4] cmp r1, #0x6c bne _02087758 mov r1, #4 strb r1, [sp, #4] ldrsb r3, [ip, #1]! b _02087758 _02087724: mov r1, #9 strb r1, [sp, #4] b _02087758 _02087730: mov r1, #6 strb r1, [sp, #4] b _02087758 _0208773C: mov r1, #8 strb r1, [sp, #4] b _02087758 _02087748: mov r1, #7 strb r1, [sp, #4] b _02087758 _02087754: mov r0, #0 _02087758: cmp r0, #0 ldrnesb r3, [ip, #1]! strb r3, [sp, #5] cmp r3, #0x61 bgt _020877AC bge _02087894 cmp r3, #0x47 bgt _020877A0 subs r0, r3, #0x41 addpl pc, pc, r0, lsl #2 b _020879A0 _02087784: ; jump table b _02087894 ; case 0 b _020879A0 ; case 1 b _020879A0 ; case 2 b _020879A0 ; case 3 b _020878DC ; case 4 b _0208785C ; case 5 b _020878CC ; case 6 _020877A0: cmp r3, #0x58 beq _02087820 b _020879A0 _020877AC: cmp r3, #0x63 bgt _020877BC beq _0208793C b _020879A0 _020877BC: sub r0, r3, #0x64 cmp r0, #0x14 addls pc, pc, r0, lsl #2 b _020879A0 _020877CC: ; jump table b _02087820 ; case 0 b _020878DC ; case 1 b _0208785C ; case 2 b _020878CC ; case 3 b _020879A0 ; case 4 b _02087820 ; case 5 b _020879A0 ; case 6 b _020879A0 ; case 7 b _020879A0 ; case 8 b _020879A0 ; case 9 b _0208798C ; case 10 b _02087820 ; case 11 b _02087918 ; case 12 b _020879A0 ; case 13 b _020879A0 ; case 14 b _02087968 ; case 15 b _020879A0 ; case 16 b _02087820 ; case 17 b _020879A0 ; case 18 b _020879A0 ; case 19 b _02087820 ; case 20 _02087820: ldrb r0, [sp, #4] cmp r0, #9 moveq r0, #0xff streqb r0, [sp, #5] beq _020879A8 ldrb r0, [sp, #2] cmp r0, #0 moveq r0, #1 streq r0, [sp, #0xc] beq _020879A8 ldrb r0, [sp] cmp r0, #2 moveq r0, #1 streqb r0, [sp] b _020879A8 _0208785C: ldrb r0, [sp, #4] cmp r0, #2 cmpne r0, #6 cmpne r0, #7 cmpne r0, #8 cmpne r0, #4 moveq r0, #0xff streqb r0, [sp, #5] beq _020879A8 ldrb r0, [sp, #2] cmp r0, #0 moveq r0, #6 streq r0, [sp, #0xc] b _020879A8 _02087894: ldrb r0, [sp, #2] cmp r0, #0 moveq r0, #0xd streq r0, [sp, #0xc] ldrb r0, [sp, #4] cmp r0, #2 cmpne r0, #6 cmpne r0, #7 cmpne r0, #8 cmpne r0, #4 cmpne r0, #1 moveq r0, #0xff streqb r0, [sp, #5] b _020879A8 _020878CC: ldr r0, [sp, #0xc] cmp r0, #0 moveq r0, #1 streq r0, [sp, #0xc] _020878DC: ldrb r0, [sp, #4] cmp r0, #2 cmpne r0, #6 cmpne r0, #7 cmpne r0, #8 cmpne r0, #4 cmpne r0, #1 moveq r0, #0xff streqb r0, [sp, #5] beq _020879A8 ldrb r0, [sp, #2] cmp r0, #0 moveq r0, #6 streq r0, [sp, #0xc] b _020879A8 _02087918: mov r3, #0x78 mov r2, #1 mov r1, #3 mov r0, #8 strb r3, [sp, #5] strb r2, [sp, #3] strb r1, [sp, #4] str r0, [sp, #0xc] b _020879A8 _0208793C: ldrb r1, [sp, #4] cmp r1, #3 moveq r0, #5 streqb r0, [sp, #4] beq _020879A8 ldrb r0, [sp, #2] cmp r0, #0 cmpeq r1, #0 movne r0, #0xff strneb r0, [sp, #5] b _020879A8 _02087968: ldrb r0, [sp, #4] cmp r0, #3 moveq r0, #5 streqb r0, [sp, #4] beq _020879A8 cmp r0, #0 movne r0, #0xff strneb r0, [sp, #5] b _020879A8 _0208798C: ldrb r0, [sp, #4] cmp r0, #9 moveq r0, #0xff streqb r0, [sp, #5] b _020879A8 _020879A0: mov r0, #0xff strb r0, [sp, #5] _020879A8: add r0, sp, #0 ldmia r0, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} add r0, ip, #1 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020879C0: .word _020AEDB0 _020879C4: .word 0x000001FD arm_func_end sub_02087438 arm_func_start sub_020879C8 sub_020879C8: ; 0x020879C8 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 movs sl, r0 mov r0, #0 mov r5, r1 str r0, [sp, #0xc] ldr r7, [sp, #0x4c] mov r6, r0 strb r0, [r5, #-1]! ldrb r0, [sp, #0x43] str r1, [sp] ldrb r8, [sp, #0x45] str r0, [sp, #4] ldr r0, [sp, #0x48] ldrb fp, [sp, #0x41] str r0, [sp, #8] cmpeq r7, #0 bne _02087A3C ldr r0, [sp, #4] cmp r0, #0 beq _02087A28 cmp r8, #0x6f beq _02087A3C _02087A28: add sp, sp, #0x10 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02087A3C: cmp r8, #0x69 bgt _02087A64 bge _02087A98 cmp r8, #0x58 bgt _02087A58 beq _02087AC4 b _02087ACC _02087A58: cmp r8, #0x64 beq _02087A98 b _02087ACC _02087A64: cmp r8, #0x6f bgt _02087A78 moveq r4, #8 moveq fp, #0 b _02087ACC _02087A78: cmp r8, #0x78 bgt _02087ACC cmp r8, #0x75 blt _02087ACC beq _02087AB8 cmp r8, #0x78 beq _02087AC4 b _02087ACC _02087A98: cmp sl, #0 mov r4, #0xa bge _02087ACC mov r0, #1 cmp sl, #0x80000000 rsbne sl, sl, #0 str r0, [sp, #0xc] b _02087ACC _02087AB8: mov r4, #0xa mov fp, #0 b _02087ACC _02087AC4: mov r4, #0x10 mov fp, #0 _02087ACC: mov r0, sl mov r1, r4 bl __udivsi3 mov sb, r1 mov r0, sl mov r1, r4 bl __udivsi3 cmp sb, #0xa mov sl, r0 addlt sb, sb, #0x30 blt _02087B04 cmp r8, #0x78 addeq sb, sb, #0x57 addne sb, sb, #0x37 _02087B04: cmp sl, #0 strb sb, [r5, #-1]! add r6, r6, #1 bne _02087ACC cmp r4, #8 bne _02087B38 ldr r0, [sp, #4] cmp r0, #0 ldrnesb r0, [r5] cmpne r0, #0x30 movne r0, #0x30 strneb r0, [r5, #-1]! addne r6, r6, #1 _02087B38: ldrb r0, [sp, #0x40] cmp r0, #2 bne _02087B6C ldr r0, [sp, #0xc] ldr r7, [sp, #8] cmp r0, #0 cmpeq fp, #0 subne r7, r7, #1 cmp r4, #0x10 bne _02087B6C ldr r0, [sp, #4] cmp r0, #0 subne r7, r7, #2 _02087B6C: ldr r0, [sp] sub r1, r0, r5 ldr r0, _02087C10 ; =0x000001FD add r1, r7, r1 cmp r1, r0 addgt sp, sp, #0x10 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addgt sp, sp, #0x10 bxgt lr cmp r6, r7 bge _02087BB0 mov r0, #0x30 _02087BA0: add r6, r6, #1 cmp r6, r7 strb r0, [r5, #-1]! blt _02087BA0 _02087BB0: cmp r4, #0x10 bne _02087BCC ldr r0, [sp, #4] cmp r0, #0 movne r0, #0x30 strneb r8, [r5, #-1] strneb r0, [r5, #-2]! _02087BCC: ldr r0, [sp, #0xc] cmp r0, #0 movne r0, #0x2d strneb r0, [r5, #-1]! bne _02087BFC cmp fp, #1 moveq r0, #0x2b streqb r0, [r5, #-1]! beq _02087BFC cmp fp, #2 moveq r0, #0x20 streqb r0, [r5, #-1]! _02087BFC: mov r0, r5 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02087C10: .word 0x000001FD arm_func_end sub_020879C8 arm_func_start sub_02087C14 sub_02087C14: ; 0x02087C14 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c mov sb, r1 mov r1, #0 mov sl, r0 mov r8, r2 mov r0, r1 strb r0, [r8, #-1]! ldr r0, [sp, #0x58] cmp sb, #0 str r0, [sp, #0x14] ldrb r0, [sp, #0x4f] cmpeq sl, #0 str r2, [sp] str r0, [sp, #4] ldrb r0, [sp, #0x51] str r1, [sp, #0x18] mov fp, r1 str r0, [sp, #8] ldr r0, [sp, #0x54] str r0, [sp, #0xc] ldrb r0, [sp, #0x4d] str r0, [sp, #0x10] ldreq r0, [sp, #0x14] cmpeq r0, #0 bne _02087CAC ldr r0, [sp, #4] cmp r0, #0 beq _02087C98 ldr r0, [sp, #8] cmp r0, #0x6f beq _02087CAC _02087C98: add sp, sp, #0x1c mov r0, r8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02087CAC: ldr r0, [sp, #8] cmp r0, #0x69 bgt _02087CD8 bge _02087D08 cmp r0, #0x58 bgt _02087CCC beq _02087D5C b _02087D68 _02087CCC: cmp r0, #0x64 beq _02087D08 b _02087D68 _02087CD8: cmp r0, #0x6f bgt _02087CE8 beq _02087D3C b _02087D68 _02087CE8: cmp r0, #0x78 bgt _02087D68 cmp r0, #0x75 blt _02087D68 beq _02087D4C cmp r0, #0x78 beq _02087D5C b _02087D68 _02087D08: subs r0, sl, #0 sbcs r0, sb, #0 mov r7, #0xa mov r6, #0 bge _02087D68 cmp sb, #0x80000000 cmpeq sl, r6 beq _02087D30 rsbs sl, sl, #0 rsc sb, sb, #0 _02087D30: mov r0, #1 str r0, [sp, #0x18] b _02087D68 _02087D3C: mov r6, #0 str r6, [sp, #0x10] mov r7, #8 b _02087D68 _02087D4C: mov r6, #0 str r6, [sp, #0x10] mov r7, #0xa b _02087D68 _02087D5C: mov r6, #0 str r6, [sp, #0x10] mov r7, #0x10 _02087D68: mov r4, #0 _02087D6C: mov r0, sl mov r1, sb mov r2, r7 mov r3, r6 bl sub_0208FE48 mov r5, r0 mov r0, sl mov r1, sb mov r2, r7 mov r3, r6 bl sub_0208FE3C mov sl, r0 cmp r5, #0xa mov sb, r1 addlt r0, r5, #0x30 blt _02087DBC ldr r0, [sp, #8] cmp r0, #0x78 addeq r0, r5, #0x57 addne r0, r5, #0x37 _02087DBC: strb r0, [r8, #-1]! mov r0, #0 cmp sb, r0 cmpeq sl, r4 add fp, fp, #1 bne _02087D6C cmp r6, #0 cmpeq r7, #8 bne _02087DFC ldr r0, [sp, #4] cmp r0, #0 ldrnesb r0, [r8] cmpne r0, #0x30 movne r0, #0x30 strneb r0, [r8, #-1]! addne fp, fp, #1 _02087DFC: ldrb r0, [sp, #0x4c] cmp r0, #2 bne _02087E4C ldr r0, [sp, #0xc] str r0, [sp, #0x14] ldr r0, [sp, #0x18] cmp r0, #0 ldreq r0, [sp, #0x10] cmpeq r0, #0 ldrne r0, [sp, #0x14] subne r0, r0, #1 strne r0, [sp, #0x14] cmp r6, #0 cmpeq r7, #0x10 bne _02087E4C ldr r0, [sp, #4] cmp r0, #0 ldrne r0, [sp, #0x14] subne r0, r0, #2 strne r0, [sp, #0x14] _02087E4C: ldr r0, [sp] ldr r1, _02087F0C ; =0x000001FD sub r2, r0, r8 ldr r0, [sp, #0x14] add r0, r0, r2 cmp r0, r1 addgt sp, sp, #0x1c movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addgt sp, sp, #0x10 bxgt lr ldr r0, [sp, #0x14] cmp fp, r0 bge _02087E9C mov r1, #0x30 _02087E88: ldr r0, [sp, #0x14] add fp, fp, #1 cmp fp, r0 strb r1, [r8, #-1]! blt _02087E88 _02087E9C: cmp r6, #0 cmpeq r7, #0x10 bne _02087EC4 ldr r0, [sp, #4] cmp r0, #0 beq _02087EC4 ldr r0, [sp, #8] mov r1, #0x30 strb r0, [r8, #-1] strb r1, [r8, #-2]! _02087EC4: ldr r0, [sp, #0x18] cmp r0, #0 movne r0, #0x2d strneb r0, [r8, #-1]! bne _02087EF8 ldr r0, [sp, #0x10] cmp r0, #1 moveq r0, #0x2b streqb r0, [r8, #-1]! beq _02087EF8 cmp r0, #2 moveq r0, #0x20 streqb r0, [r8, #-1]! _02087EF8: mov r0, r8 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02087F0C: .word 0x000001FD arm_func_end sub_02087C14 arm_func_start sub_02087F10 sub_02087F10: ; 0x02087F10 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x44 ldr r7, [sp, #0x80] ldr r0, _020883C0 ; =0x000001FD mov r8, r2 cmp r7, r0 ldrb r6, [sp, #0x79] ldrb r5, [sp, #0x77] ldrb r4, [sp, #0x75] ldr r1, [sp, #0x68] ldr r2, [sp, #0x6c] addgt sp, sp, #0x44 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} addgt sp, sp, #0x10 bxgt lr mov sl, #0 mov sb, #0x20 add r0, sp, #8 add r3, sp, #0xc strb sl, [sp, #8] strh sb, [sp, #0xa] bl sub_0208D638 ldr r0, [sp, #0x68] ldr r1, [sp, #0x6c] bl sub_0208C5B4 mov r2, r0 mov r0, sl mov r3, r1 mov r1, r0 bl sub_0208F0B4 bne _02087FDC ldr r3, _020883C4 ; =_020B31E4 sub r0, r8, #6 ldrb r2, [r3] ldrb r1, [r3, #1] add sp, sp, #0x44 strb r2, [r8, #-6] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r2, [r3, #4] ldrb r1, [r3, #5] strb r2, [r0, #4] strb r1, [r0, #5] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _02087FDC: ldrb r0, [sp, #0x11] cmp r0, #0x49 bne _020880EC ldrsb r0, [sp, #0xc] cmp r0, #0 beq _02088078 cmp r6, #0x41 sub r0, r8, #5 bne _0208803C ldr r3, _020883C8 ; =_020B31EC add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _0208803C: ldr r3, _020883CC ; =_020B31F4 add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _02088078: cmp r6, #0x41 sub r0, r8, #4 bne _020880B8 ldr r3, _020883D0 ; =_020B31FC add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _020880B8: ldr r3, _020883D4 ; =_020B3200 add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _020880EC: cmp r0, #0x4e bne _020881F8 ldrsb r0, [sp, #0xc] cmp r0, #0 beq _02088184 cmp r6, #0x41 sub r0, r8, #5 bne _02088148 ldr r3, _020883D8 ; =_020B3204 add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _02088148: ldr r3, _020883DC ; =_020B320C add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _02088184: cmp r6, #0x41 sub r0, r8, #4 bne _020881C4 ldr r3, _020883E0 ; =_020B3214 add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _020881C4: ldr r3, _020883E4 ; =_020B3218 add sp, sp, #0x44 ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr _020881F8: mov r3, sl mov r1, #1 mov r0, #0x64 add sb, sp, #0x68 strb r1, [sp, #0x34] strb r1, [sp, #0x35] strb r3, [sp, #0x36] strb r3, [sp, #0x37] strb r3, [sp, #0x38] str r3, [sp, #0x3c] str r1, [sp, #0x40] strb r0, [sp, #0x39] _02088228: rsb r1, r3, #7 ldrsb r2, [sb, r3] ldrsb r0, [sb, r1] strb r0, [sb, r3] add r3, r3, #1 strb r2, [sb, r1] cmp r3, #4 blt _02088228 ldrb r0, [sp, #0x69] ldrb r1, [sp, #0x68] ldr sb, _020883E8 ; =0x000007FF mov r0, r0, lsl #0x11 orr r1, r0, r1, lsl #25 add r0, sp, #0x34 and lr, sb, r1, lsr #21 sub ip, sp, #8 ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} rsb r0, sb, #0x400 mov r1, r8 add r0, lr, r0 ldmia ip, {r2, r3} bl sub_020879C8 cmp r6, #0x61 moveq r1, #0x70 movne r1, #0x50 strb r1, [r0, #-1]! mov r1, r7, lsl #2 mov lr, r7 cmp r7, #1 add r8, r1, #0xb add ip, sp, #0x68 blt _02088338 mov sb, #0x30 _020882B0: cmp r8, #0x40 bge _02088320 ldrb r1, [ip, r8, asr #3] and r2, r8, #7 rsb r3, r2, #7 mov r2, r1, asr r3 sub sl, r8, #4 bic r1, r8, #7 bic sl, sl, #7 cmp r1, sl add sl, ip, r8, asr #3 and r1, r2, #0xff beq _020882F4 ldrb r2, [sl, #-1] mov r2, r2, lsl #8 orr r1, r1, r2, asr r3 and r1, r1, #0xff _020882F4: and r1, r1, #0xf cmp r1, #0xa addlo r1, r1, #0x30 andlo r1, r1, #0xff blo _02088324 cmp r6, #0x61 addeq r1, r1, #0x57 andeq r1, r1, #0xff addne r1, r1, #0x37 andne r1, r1, #0xff b _02088324 _02088320: mov r1, sb _02088324: sub lr, lr, #1 cmp lr, #1 strb r1, [r0, #-1]! sub r8, r8, #4 bge _020882B0 _02088338: cmp r7, #0 cmpeq r5, #0 movne r1, #0x2e strneb r1, [r0, #-1]! mov r1, #0x31 strb r1, [r0, #-1] cmp r6, #0x61 moveq r1, #0x78 movne r1, #0x58 strb r1, [r0, #-2]! mov r1, #0x30 strb r1, [r0, #-1]! ldrsb r1, [sp, #0xc] cmp r1, #0 movne r1, #0x2d strneb r1, [r0, #-1]! addne sp, sp, #0x44 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} addne sp, sp, #0x10 bxne lr cmp r4, #1 moveq r1, #0x2b streqb r1, [r0, #-1]! addeq sp, sp, #0x44 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} addeq sp, sp, #0x10 bxeq lr cmp r4, #2 moveq r1, #0x20 streqb r1, [r0, #-1]! add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} add sp, sp, #0x10 bx lr .align 2, 0 _020883C0: .word 0x000001FD _020883C4: .word _020B31E4 _020883C8: .word _020B31EC _020883CC: .word _020B31F4 _020883D0: .word _020B31FC _020883D4: .word _020B3200 _020883D8: .word _020B3204 _020883DC: .word _020B320C _020883E0: .word _020B3214 _020883E4: .word _020B3218 _020883E8: .word 0x000007FF arm_func_end sub_02087F10 arm_func_start sub_020883EC sub_020883EC: ; 0x020883EC stmdb sp!, {r4, lr} cmp r1, #0 bge _02088414 _020883F8: mov r1, #0 strh r1, [r0, #2] mov r1, #1 strb r1, [r0, #4] mov r1, #0x30 strb r1, [r0, #5] ldmia sp!, {r4, pc} _02088414: ldrb lr, [r0, #4] cmp r1, lr ldmgeia sp!, {r4, pc} add ip, r0, #5 add r2, ip, r1 add r2, r2, #1 ldrsb r3, [r2, #-1]! sub r3, r3, #0x30 mov r3, r3, lsl #0x18 mov r3, r3, asr #0x18 cmp r3, #5 bne _02088474 add ip, ip, lr _02088448: sub ip, ip, #1 cmp ip, r2 bls _02088460 ldrsb r3, [ip] cmp r3, #0x30 beq _02088448 _02088460: cmp ip, r2 ldreqsb r3, [r2, #-1] andeq r4, r3, #1 movne r4, #1 b _0208847C _02088474: movgt r4, #1 movle r4, #0 _0208847C: cmp r1, #0 beq _020884D8 mov ip, #0 mov lr, #1 _0208848C: ldrsb r3, [r2, #-1]! sub r3, r3, #0x30 add r3, r3, r4 mov r3, r3, lsl #0x18 mov r3, r3, asr #0x18 cmp r3, #9 movgt r4, lr movle r4, ip cmp r4, #0 bne _020884BC cmp r3, #0 bne _020884C4 _020884BC: sub r1, r1, #1 b _020884D0 _020884C4: add r3, r3, #0x30 strb r3, [r2] b _020884D8 _020884D0: cmp r1, #0 bne _0208848C _020884D8: cmp r4, #0 beq _02088500 ldrsh r3, [r0, #2] mov r2, #1 mov r1, #0x31 add r3, r3, #1 strh r3, [r0, #2] strb r2, [r0, #4] strb r1, [r0, #5] ldmia sp!, {r4, pc} _02088500: cmp r1, #0 beq _020883F8 strb r1, [r0, #4] ldmia sp!, {r4, pc} arm_func_end sub_020883EC arm_func_start sub_02088510 sub_02088510: ; 0x02088510 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c ldr r7, [sp, #0x68] ldr r3, _02088C48 ; =0x000001FD ldrb r6, [sp, #0x61] ldrb r5, [sp, #0x5f] ldrb r4, [sp, #0x5d] cmp r7, r3 mov sl, r0 mov r8, r1 mov sb, r2 addgt sp, sp, #0x2c movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addgt sp, sp, #0x10 bxgt lr mov ip, #0 mov fp, #0x20 add r0, sp, #0 add r3, sp, #4 mov r1, sl mov r2, r8 strb ip, [sp] strh fp, [sp, #2] bl sub_0208D638 ldrb r0, [sp, #8] add r1, sp, #9 add r0, r1, r0 b _020885A0 _02088588: ldrb r2, [sp, #8] ldrsh r1, [sp, #6] sub r2, r2, #1 add r1, r1, #1 strb r2, [sp, #8] strh r1, [sp, #6] _020885A0: ldrb r1, [sp, #8] cmp r1, #1 bls _020885B8 ldrsb r1, [r0, #-1]! cmp r1, #0x30 beq _02088588 _020885B8: ldrb r0, [sp, #9] cmp r0, #0x30 beq _020885D8 cmp r0, #0x49 beq _020885E4 cmp r0, #0x4e beq _02088744 b _02088898 _020885D8: mov r0, #0 strh r0, [sp, #6] b _02088898 _020885E4: mov r2, #0 mov r0, sl mov r1, r8 mov r3, r2 bl sub_0208F018 bhs _020886A8 cmp r6, #0 sub r0, sb, #5 blt _02088610 cmp r6, #0x80 blt _02088618 _02088610: mov r1, #0 b _02088628 _02088618: ldr r1, _02088C4C ; =_020AEDB0 mov r2, r6, lsl #1 ldrh r1, [r1, r2] and r1, r1, #0x200 _02088628: cmp r1, #0 beq _0208866C ldr r3, _02088C50 ; =_020B31EC add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208866C: ldr r3, _02088C54 ; =_020B31F4 add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _020886A8: cmp r6, #0 sub r0, sb, #4 blt _020886BC cmp r6, #0x80 blt _020886C4 _020886BC: mov r1, #0 b _020886D4 _020886C4: ldr r1, _02088C4C ; =_020AEDB0 mov r2, r6, lsl #1 ldrh r1, [r1, r2] and r1, r1, #0x200 _020886D4: cmp r1, #0 beq _02088710 ldr r3, _02088C58 ; =_020B31FC add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02088710: ldr r3, _02088C5C ; =_020B3200 add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02088744: ldrsb r0, [sp, #4] cmp r0, #0 beq _020887FC cmp r6, #0 sub r0, sb, #5 blt _02088764 cmp r6, #0x80 blt _0208876C _02088764: mov r1, #0 b _0208877C _0208876C: ldr r1, _02088C4C ; =_020AEDB0 mov r2, r6, lsl #1 ldrh r1, [r1, r2] and r1, r1, #0x200 _0208877C: cmp r1, #0 beq _020887C0 ldr r3, _02088C60 ; =_020B3204 add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _020887C0: ldr r3, _02088C64 ; =_020B320C add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldrb r1, [r3, #4] strb r1, [r0, #4] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _020887FC: cmp r6, #0 sub r0, sb, #4 blt _02088810 cmp r6, #0x80 blt _02088818 _02088810: mov r1, #0 b _02088828 _02088818: ldr r1, _02088C4C ; =_020AEDB0 mov r2, r6, lsl #1 ldrh r1, [r1, r2] and r1, r1, #0x200 _02088828: cmp r1, #0 beq _02088864 ldr r3, _02088C68 ; =_020B3214 add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02088864: ldr r3, _02088C6C ; =_020B3218 add sp, sp, #0x2c ldrb r2, [r3] ldrb r1, [r3, #1] strb r2, [r0] strb r1, [r0, #1] ldrb r2, [r3, #2] ldrb r1, [r3, #3] strb r2, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02088898: ldrb r0, [sp, #8] ldrsh r1, [sp, #6] sub r8, sb, #1 sub r0, r0, #1 add r0, r1, r0 strh r0, [sp, #6] mov r0, #0 strb r0, [r8] cmp r6, #0x65 bgt _020888EC bge _02088978 cmp r6, #0x47 bgt _02088C34 cmp r6, #0x45 blt _02088C34 beq _02088978 cmp r6, #0x46 beq _02088AC0 cmp r6, #0x47 beq _02088904 b _02088C34 _020888EC: cmp r6, #0x66 bgt _020888FC beq _02088AC0 b _02088C34 _020888FC: cmp r6, #0x67 bne _02088C34 _02088904: ldrb r0, [sp, #8] cmp r0, r7 ble _0208891C add r0, sp, #4 mov r1, r7 bl sub_020883EC _0208891C: ldrsh r2, [sp, #6] mvn r0, #3 cmp r2, r0 blt _02088934 cmp r2, r7 blt _02088954 _02088934: cmp r5, #0 ldreqb r0, [sp, #8] subne r7, r7, #1 subeq r7, r0, #1 cmp r6, #0x67 moveq r6, #0x65 movne r6, #0x45 b _02088978 _02088954: cmp r5, #0 addne r0, r2, #1 subne r7, r7, r0 bne _02088AC0 ldrb r1, [sp, #8] add r0, r2, #1 subs r7, r1, r0 movmi r7, #0 b _02088AC0 _02088978: ldrb r0, [sp, #8] add r1, r7, #1 cmp r0, r1 ble _02088990 add r0, sp, #4 bl sub_020883EC _02088990: ldrsh lr, [sp, #6] mov fp, #0x2b mov sl, #0 cmp lr, #0 rsblt lr, lr, #0 movlt fp, #0x2d ldr r3, _02088C70 ; =0x66666667 mov r0, #0xa b _020889E4 _020889B4: mov r1, lr, lsr #0x1f smull r2, ip, r3, lr add ip, r1, ip, asr #2 smull r1, r2, r0, ip sub ip, lr, r1 add r1, ip, #0x30 strb r1, [r8, #-1]! mov r2, lr smull r1, lr, r3, r2 mov r1, r2, lsr #0x1f add lr, r1, lr, asr #2 add sl, sl, #1 _020889E4: cmp lr, #0 bne _020889B4 cmp sl, #2 blt _020889B4 strb fp, [r8, #-1] strb r6, [r8, #-2]! sub r1, sb, r8 ldr r0, _02088C48 ; =0x000001FD add r1, r7, r1 cmp r1, r0 addgt sp, sp, #0x2c movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addgt sp, sp, #0x10 bxgt lr ldrb r1, [sp, #8] add r0, r7, #1 cmp r1, r0 bge _02088A50 add r0, r7, #2 sub r0, r0, r1 subs r1, r0, #1 beq _02088A50 mov r0, #0x30 _02088A44: strb r0, [r8, #-1]! subs r1, r1, #1 bne _02088A44 _02088A50: ldrb r1, [sp, #8] add r0, sp, #9 add r2, r0, r1 subs r1, r1, #1 beq _02088A74 _02088A64: ldrsb r0, [r2, #-1]! subs r1, r1, #1 strb r0, [r8, #-1]! bne _02088A64 _02088A74: cmp r7, #0 cmpeq r5, #0 movne r0, #0x2e strneb r0, [r8, #-1]! ldrb r0, [sp, #9] strb r0, [r8, #-1]! ldrsb r0, [sp, #4] cmp r0, #0 movne r0, #0x2d strneb r0, [r8, #-1]! bne _02088C34 cmp r4, #1 moveq r0, #0x2b streqb r0, [r8, #-1]! beq _02088C34 cmp r4, #2 moveq r0, #0x20 streqb r0, [r8, #-1]! b _02088C34 _02088AC0: ldrsh r3, [sp, #6] ldrb r2, [sp, #8] sub r0, r2, r3 subs r1, r0, #1 movmi r1, #0 cmp r1, r7 ble _02088B00 sub r1, r1, r7 add r0, sp, #4 sub r1, r2, r1 bl sub_020883EC ldrsh r3, [sp, #6] ldrb r2, [sp, #8] sub r0, r2, r3 subs r1, r0, #1 movmi r1, #0 _02088B00: adds r0, r3, #1 movmi r0, #0 ldr r3, _02088C48 ; =0x000001FD add r6, r0, r1 cmp r6, r3 addgt sp, sp, #0x2c movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addgt sp, sp, #0x10 bxgt lr add r3, sp, #9 sub r6, r7, r1 cmp r6, #0 add r2, r3, r2 mov sb, #0 ble _02088B54 mov r3, #0x30 _02088B44: add sb, sb, #1 cmp sb, r6 strb r3, [r8, #-1]! blt _02088B44 _02088B54: mov r6, #0 b _02088B68 _02088B5C: ldrsb r3, [r2, #-1]! add r6, r6, #1 strb r3, [r8, #-1]! _02088B68: cmp r6, r1 ldrltb r3, [sp, #8] cmplt r6, r3 blt _02088B5C cmp r6, r1 bge _02088B94 mov r3, #0x30 _02088B84: add r6, r6, #1 cmp r6, r1 strb r3, [r8, #-1]! blt _02088B84 _02088B94: cmp r7, #0 cmpeq r5, #0 movne r1, #0x2e strneb r1, [r8, #-1]! cmp r0, #0 beq _02088BFC ldrb r1, [sp, #8] mov r5, #0 sub r1, r0, r1 cmp r1, #0 ble _02088BDC mov r3, #0x30 _02088BC4: strb r3, [r8, #-1]! ldrb r1, [sp, #8] add r5, r5, #1 sub r1, r0, r1 cmp r5, r1 blt _02088BC4 _02088BDC: cmp r5, r0 bge _02088C04 _02088BE4: ldrsb r1, [r2, #-1]! add r5, r5, #1 cmp r5, r0 strb r1, [r8, #-1]! blt _02088BE4 b _02088C04 _02088BFC: mov r0, #0x30 strb r0, [r8, #-1]! _02088C04: ldrsb r0, [sp, #4] cmp r0, #0 movne r0, #0x2d strneb r0, [r8, #-1]! bne _02088C34 cmp r4, #1 moveq r0, #0x2b streqb r0, [r8, #-1]! beq _02088C34 cmp r4, #2 moveq r0, #0x20 streqb r0, [r8, #-1]! _02088C34: mov r0, r8 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02088C48: .word 0x000001FD _02088C4C: .word _020AEDB0 _02088C50: .word _020B31EC _02088C54: .word _020B31F4 _02088C58: .word _020B31FC _02088C5C: .word _020B3200 _02088C60: .word _020B3204 _02088C64: .word _020B320C _02088C68: .word _020B3214 _02088C6C: .word _020B3218 _02088C70: .word 0x66666667 arm_func_end sub_02088510 arm_func_start __vsprintf_internal_slice __vsprintf_internal_slice: ; 0x02088C74 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x22c mov r3, #0x20 mov fp, r2 strb r3, [sp, #0x19] ldrsb r2, [fp] mov sb, r0 mov r8, r1 cmp r2, #0 mov sl, #0 beq _0208947C _02088CA4: mov r0, fp mov r1, #0x25 bl strchr str r0, [sp, #0xc] cmp r0, #0 bne _02088CF8 mov r0, fp bl strlen movs r2, r0 add sl, sl, r2 beq _0208947C mov r0, r8 mov r1, fp blx sb cmp r0, #0 bne _0208947C add sp, sp, #0x22c mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _02088CF8: subs r2, r0, fp add sl, sl, r2 beq _02088D28 mov r0, r8 mov r1, fp blx sb cmp r0, #0 addeq sp, sp, #0x22c mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr _02088D28: ldr r0, [sp, #0xc] add r1, sp, #0x25c add r2, sp, #0x1c bl sub_02087438 ldrb r1, [sp, #0x21] mov fp, r0 cmp r1, #0x61 bgt _02088D94 bge _020890F8 cmp r1, #0x47 bgt _02088D88 subs r0, r1, #0x41 addpl pc, pc, r0, lsl #2 b _02088D7C _02088D60: ; jump table b _020890F8 ; case 0 b _020892E0 ; case 1 b _020892E0 ; case 2 b _020892E0 ; case 3 b _02089090 ; case 4 b _02089090 ; case 5 b _02089090 ; case 6 _02088D7C: cmp r1, #0x25 beq _020892CC b _020892E0 _02088D88: cmp r1, #0x58 beq _02088F54 b _020892E0 _02088D94: cmp r1, #0x75 bgt _02088DFC subs r0, r1, #0x64 addpl pc, pc, r0, lsl #2 b _02088DF0 _02088DA8: ; jump table b _02088E14 ; case 0 b _02089090 ; case 1 b _02089090 ; case 2 b _02089090 ; case 3 b _020892E0 ; case 4 b _02088E14 ; case 5 b _020892E0 ; case 6 b _020892E0 ; case 7 b _020892E0 ; case 8 b _020892E0 ; case 9 b _02089220 ; case 10 b _02088F54 ; case 11 b _020892E0 ; case 12 b _020892E0 ; case 13 b _020892E0 ; case 14 b _02089160 ; case 15 b _020892E0 ; case 16 b _02088F54 ; case 17 _02088DF0: cmp r1, #0x63 beq _020892AC b _020892E0 _02088DFC: cmp r1, #0x78 bgt _02088E0C beq _02088F54 b _020892E0 _02088E0C: cmp r1, #0xff b _020892E0 _02088E14: ldrb r0, [sp, #0x20] cmp r0, #3 bne _02088E34 ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] b _02088ECC _02088E34: cmp r0, #4 bne _02088E5C ldr r1, [sp, #0x25c] add r2, r1, #8 str r2, [sp, #0x25c] ldr r1, [r2, #-8] str r1, [sp, #0x10] ldr r1, [r2, #-4] str r1, [sp, #0x14] b _02088ECC _02088E5C: cmp r0, #6 bne _02088E84 ldr r1, [sp, #0x25c] add r2, r1, #8 str r2, [sp, #0x25c] ldr r1, [r2, #-8] str r1, [sp, #0x10] ldr r1, [r2, #-4] str r1, [sp, #0x14] b _02088ECC _02088E84: cmp r0, #7 bne _02088EA0 ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] b _02088ECC _02088EA0: cmp r0, #8 bne _02088EBC ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] b _02088ECC _02088EBC: ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] _02088ECC: cmp r0, #2 moveq r1, r5, lsl #0x10 moveq r5, r1, asr #0x10 cmp r0, #1 moveq r1, r5, lsl #0x18 moveq r5, r1, asr #0x18 cmp r0, #4 cmpne r0, #6 add r0, sp, #0x1c bne _02088F20 sub r4, sp, #4 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r3, [r4] ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] add r2, sp, #0x22c bl sub_02087C14 movs r7, r0 beq _020892E0 b _02088F44 _02088F20: sub r4, sp, #8 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} add r1, sp, #0x22c mov r0, r5 ldmia r4, {r2, r3} bl sub_020879C8 movs r7, r0 beq _020892E0 _02088F44: add r0, sp, #0x200 add r0, r0, #0x2b sub r6, r0, r7 b _0208932C _02088F54: ldrb r0, [sp, #0x20] cmp r0, #3 bne _02088F74 ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] b _0208900C _02088F74: cmp r0, #4 bne _02088F9C ldr r1, [sp, #0x25c] add r2, r1, #8 str r2, [sp, #0x25c] ldr r1, [r2, #-8] str r1, [sp, #0x10] ldr r1, [r2, #-4] str r1, [sp, #0x14] b _0208900C _02088F9C: cmp r0, #6 bne _02088FC4 ldr r1, [sp, #0x25c] add r2, r1, #8 str r2, [sp, #0x25c] ldr r1, [r2, #-8] str r1, [sp, #0x10] ldr r1, [r2, #-4] str r1, [sp, #0x14] b _0208900C _02088FC4: cmp r0, #7 bne _02088FE0 ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] b _0208900C _02088FE0: cmp r0, #8 bne _02088FFC ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] b _0208900C _02088FFC: ldr r1, [sp, #0x25c] add r1, r1, #4 str r1, [sp, #0x25c] ldr r5, [r1, #-4] _0208900C: cmp r0, #2 moveq r1, r5, lsl #0x10 moveq r5, r1, lsr #0x10 cmp r0, #1 andeq r5, r5, #0xff cmp r0, #4 cmpne r0, #6 add r0, sp, #0x1c bne _0208905C sub r4, sp, #4 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r3, [r4] ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] add r2, sp, #0x22c bl sub_02087C14 movs r7, r0 beq _020892E0 b _02089080 _0208905C: sub r4, sp, #8 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} add r1, sp, #0x22c mov r0, r5 ldmia r4, {r2, r3} bl sub_020879C8 movs r7, r0 beq _020892E0 _02089080: add r0, sp, #0x200 add r0, r0, #0x2b sub r6, r0, r7 b _0208932C _02089090: ldrb r0, [sp, #0x20] cmp r0, #9 ldrne r0, [sp, #0x25c] addne r0, r0, #8 strne r0, [sp, #0x25c] bne _020890B4 ldr r0, [sp, #0x25c] add r0, r0, #8 str r0, [sp, #0x25c] _020890B4: ldr r7, [r0, #-8] ldr r6, [r0, #-4] add r0, sp, #0x1c sub r4, sp, #4 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r3, [r4] mov r0, r7 mov r1, r6 add r2, sp, #0x22c bl sub_02088510 movs r7, r0 beq _020892E0 add r0, sp, #0x200 add r0, r0, #0x2b sub r6, r0, r7 b _0208932C _020890F8: ldrb r0, [sp, #0x20] cmp r0, #9 ldrne r0, [sp, #0x25c] addne r0, r0, #8 strne r0, [sp, #0x25c] bne _0208911C ldr r0, [sp, #0x25c] add r0, r0, #8 str r0, [sp, #0x25c] _0208911C: ldr r7, [r0, #-8] ldr r6, [r0, #-4] add r0, sp, #0x1c sub r4, sp, #4 ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} ldr r3, [r4] mov r0, r7 mov r1, r6 add r2, sp, #0x22c bl sub_02087F10 movs r7, r0 beq _020892E0 add r0, sp, #0x200 add r0, r0, #0x2b sub r6, r0, r7 b _0208932C _02089160: ldrb r0, [sp, #0x20] cmp r0, #5 bne _020891A0 ldr r0, [sp, #0x25c] mov r2, #0x200 add r0, r0, #4 str r0, [sp, #0x25c] ldr r1, [r0, #-4] add r0, sp, #0x2c cmp r1, #0 ldreq r1, _02089490 ; =_020B321C bl wcstombs cmp r0, #0 blt _020892E0 add r7, sp, #0x2c b _020891B0 _020891A0: ldr r0, [sp, #0x25c] add r0, r0, #4 str r0, [sp, #0x25c] ldr r7, [r0, #-4] _020891B0: ldrb r0, [sp, #0x1f] cmp r7, #0 ldreq r7, _02089494 ; =_020B3220 cmp r0, #0 beq _020891E4 ldrb r0, [sp, #0x1e] ldrb r6, [r7], #1 cmp r0, #0 beq _0208932C ldr r0, [sp, #0x28] cmp r6, r0 movgt r6, r0 b _0208932C _020891E4: ldrb r0, [sp, #0x1e] cmp r0, #0 beq _02089210 ldr r6, [sp, #0x28] mov r0, r7 mov r2, r6 mov r1, #0 bl memchr cmp r0, #0 subne r6, r0, r7 b _0208932C _02089210: mov r0, r7 bl strlen mov r6, r0 b _0208932C _02089220: ldr r1, [sp, #0x25c] ldrb r0, [sp, #0x20] add r1, r1, #4 str r1, [sp, #0x25c] ldr r1, [r1, #-4] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02089470 _02089240: ; jump table b _02089264 ; case 0 b _02089470 ; case 1 b _0208926C ; case 2 b _02089274 ; case 3 b _0208929C ; case 4 b _02089470 ; case 5 b _0208927C ; case 6 b _0208928C ; case 7 b _02089294 ; case 8 _02089264: str sl, [r1] b _02089470 _0208926C: strh sl, [r1] b _02089470 _02089274: str sl, [r1] b _02089470 _0208927C: str sl, [r1] mov r0, sl, asr #0x1f str r0, [r1, #4] b _02089470 _0208928C: str sl, [r1] b _02089470 _02089294: str sl, [r1] b _02089470 _0208929C: str sl, [r1] mov r0, sl, asr #0x1f str r0, [r1, #4] b _02089470 _020892AC: ldr r0, [sp, #0x25c] add r7, sp, #0x2c add r0, r0, #4 str r0, [sp, #0x25c] ldr r0, [r0, #-4] mov r6, #1 strb r0, [sp, #0x2c] b _0208932C _020892CC: mov r0, #0x25 strb r0, [sp, #0x2c] add r7, sp, #0x2c mov r6, #1 b _0208932C _020892E0: ldr r0, [sp, #0xc] bl strlen movs r4, r0 beq _02089318 ldr r1, [sp, #0xc] mov r0, r8 mov r2, r4 blx sb cmp r0, #0 addeq sp, sp, #0x22c mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr _02089318: add sp, sp, #0x22c add r0, sl, r4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208932C: ldrb r0, [sp, #0x1c] mov r4, r6 cmp r0, #0 beq _020893E0 cmp r0, #2 moveq r0, #0x30 movne r0, #0x20 strb r0, [sp, #0x19] ldrsb r0, [r7] cmp r0, #0x2b cmpne r0, #0x2d cmpne r0, #0x20 bne _0208939C ldrsb r0, [sp, #0x19] cmp r0, #0x30 bne _0208939C mov r0, r8 mov r1, r7 mov r2, #1 blx sb cmp r0, #0 addeq sp, sp, #0x22c mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr add r7, r7, #1 sub r6, r6, #1 _0208939C: ldr r0, [sp, #0x24] cmp r4, r0 bge _020893E0 _020893A8: mov r0, r8 add r1, sp, #0x19 mov r2, #1 blx sb cmp r0, #0 addeq sp, sp, #0x22c mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr ldr r0, [sp, #0x24] add r4, r4, #1 cmp r4, r0 blt _020893A8 _020893E0: cmp r6, #0 beq _02089410 mov r0, r8 mov r1, r7 mov r2, r6 blx sb cmp r0, #0 addeq sp, sp, #0x22c mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr _02089410: ldrb r0, [sp, #0x1c] cmp r0, #0 bne _0208946C ldr r0, [sp, #0x24] cmp r4, r0 bge _0208946C mov r6, #0x20 add r7, sp, #0x18 _02089430: mov r0, r8 mov r1, r7 mov r2, #1 strb r6, [sp, #0x18] blx sb cmp r0, #0 addeq sp, sp, #0x22c mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr ldr r0, [sp, #0x24] add r4, r4, #1 cmp r4, r0 blt _02089430 _0208946C: add sl, sl, r4 _02089470: ldrsb r0, [fp] cmp r0, #0 bne _02088CA4 _0208947C: mov r0, sl add sp, sp, #0x22c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr .align 2, 0 _02089490: .word _020B321C _02089494: .word _020B3220 arm_func_end __vsprintf_internal_slice arm_func_start TryAppendToSlice TryAppendToSlice: ; 0x02089498 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r3, [r4, #8] mov r5, r2 ldr r2, [r4, #4] add r0, r3, r5 cmp r0, r2 ldr r0, [r4] subhi r5, r2, r3 mov r2, r5 add r0, r0, r3 bl memcpy ldr r1, [r4, #8] mov r0, #1 add r1, r1, r5 str r1, [r4, #8] ldmia sp!, {r3, r4, r5, pc} arm_func_end TryAppendToSlice arm_func_start __vsprintf_internal __vsprintf_internal: ; 0x020894DC stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 mov r4, r1 mov ip, #0 ldr r0, _02089540 ; =TryAppendToSlice add r1, sp, #0 str r5, [sp] str r4, [sp, #4] str ip, [sp, #8] bl __vsprintf_internal_slice cmp r5, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} cmp r0, r4 movlo r1, #0 addlo sp, sp, #0xc strlob r1, [r5, r0] ldmloia sp!, {r4, r5, pc} cmp r4, #0 addne r1, r5, r4 movne r2, #0 strneb r2, [r1, #-1] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 _02089540: .word TryAppendToSlice arm_func_end __vsprintf_internal arm_func_start vsprintf vsprintf: ; 0x02089544 ldr ip, _02089558 ; =__vsprintf_internal mov r3, r2 mov r2, r1 mvn r1, #0 bx ip .align 2, 0 _02089558: .word __vsprintf_internal arm_func_end vsprintf arm_func_start snprintf snprintf: ; 0x0208955C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r3, sp, #0x10 bic r3, r3, #3 ldr r2, [sp, #0x10] add r3, r3, #4 bl __vsprintf_internal ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end snprintf arm_func_start sprintf sprintf: ; 0x02089584 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add r1, sp, #0xc bic r1, r1, #3 add r3, r1, #4 ldr r2, [sp, #0xc] mvn r1, #0 bl __vsprintf_internal ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end sprintf arm_func_start sub_020895B0 sub_020895B0: ; 0x020895B0 ldr r2, _020895D8 ; =_020B3224 ldr r0, _020895DC ; =0x41C64E6D ldr r3, [r2] ldr r1, _020895E0 ; =0x00007FFF mul r0, r3, r0 add r0, r0, #0x39 add r0, r0, #0x3000 str r0, [r2] and r0, r1, r0, lsr #16 bx lr .align 2, 0 _020895D8: .word _020B3224 _020895DC: .word 0x41C64E6D _020895E0: .word 0x00007FFF arm_func_end sub_020895B0 arm_func_start sub_020895E4 sub_020895E4: ; 0x020895E4 ldr r1, _020895F0 ; =_020B3224 str r0, [r1] bx lr .align 2, 0 _020895F0: .word _020B3224 arm_func_end sub_020895E4 arm_func_start sub_020895F4 sub_020895F4: ; 0x020895F4 cmp r2, #0 beq _02089610 cmp r2, #1 beq _02089640 cmp r2, #2 beq _02089668 b _02089670 _02089610: ldr r1, [r0] ldrsb r2, [r1] cmp r2, #0 bne _02089630 mov r1, #1 str r1, [r0, #4] sub r0, r1, #2 bx lr _02089630: add r1, r1, #1 str r1, [r0] and r0, r2, #0xff bx lr _02089640: ldr r2, [r0, #4] cmp r2, #0 movne r2, #0 strne r2, [r0, #4] bne _02089660 ldr r2, [r0] sub r2, r2, #1 str r2, [r0] _02089660: mov r0, r1 bx lr _02089668: ldr r0, [r0, #4] bx lr _02089670: mov r0, #0 bx lr arm_func_end sub_020895F4 arm_func_start strlen strlen: ; 0x02089678 mvn r2, #0 _0208967C: ldrsb r1, [r0], #1 add r2, r2, #1 cmp r1, #0 bne _0208967C mov r0, r2 bx lr arm_func_end strlen arm_func_start strcpy strcpy: ; 0x02089694 stmdb sp!, {r3, r4, r5, lr} and r4, r1, #3 and r3, r0, #3 mov r2, r0 cmp r3, r4 bne _02089730 cmp r4, #0 beq _020896EC ldrb r3, [r1] strb r3, [r0] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, pc} rsbs r4, r4, #3 beq _020896E4 _020896CC: ldrb r3, [r1, #1]! cmp r3, #0 strb r3, [r2, #1]! ldmeqia sp!, {r3, r4, r5, pc} subs r4, r4, #1 bne _020896CC _020896E4: add r2, r2, #1 add r1, r1, #1 _020896EC: ldr r5, [r1] ldr r3, _02089754 ; =0xFEFEFEFF mvn r4, r5 add lr, r5, r3 ldr ip, _02089758 ; =0x80808080 and r4, lr, r4 tst r4, ip bne _02089730 sub r2, r2, #4 _02089710: str r5, [r2, #4]! ldr r5, [r1, #4]! add r4, r5, r3 mvn lr, r5 and lr, r4, lr tst lr, ip beq _02089710 add r2, r2, #4 _02089730: ldrb r3, [r1] strb r3, [r2] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, pc} _02089740: ldrb r3, [r1, #1]! cmp r3, #0 strb r3, [r2, #1]! bne _02089740 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02089754: .word 0xFEFEFEFF _02089758: .word 0x80808080 arm_func_end strcpy arm_func_start strncpy strncpy: ; 0x0208975C stmdb sp!, {r3, lr} mov lr, r0 cmp r2, #0 ldmeqia sp!, {r3, pc} _0208976C: ldrsb r3, [r1], #1 mov ip, lr strb r3, [lr], #1 ldrsb r3, [ip] cmp r3, #0 bne _020897A0 subs r2, r2, #1 ldmeqia sp!, {r3, pc} mov r1, #0 _02089790: strb r1, [lr], #1 subs r2, r2, #1 bne _02089790 ldmia sp!, {r3, pc} _020897A0: subs r2, r2, #1 bne _0208976C ldmia sp!, {r3, pc} arm_func_end strncpy arm_func_start strcat strcat: ; 0x020897AC mov r3, r0 _020897B0: ldrsb r2, [r3], #1 cmp r2, #0 bne _020897B0 sub r3, r3, #1 _020897C0: ldrsb r2, [r1], #1 mov ip, r3 strb r2, [r3], #1 ldrsb r2, [ip] cmp r2, #0 bne _020897C0 bx lr arm_func_end strcat arm_func_start strncat strncat: ; 0x020897DC stmdb sp!, {r3, lr} mov ip, r0 _020897E4: ldrsb r3, [ip], #1 cmp r3, #0 bne _020897E4 cmp r2, #0 sub ip, ip, #1 beq _02089820 _020897FC: ldrsb r3, [r1], #1 mov lr, ip strb r3, [ip], #1 ldrsb r3, [lr] cmp r3, #0 subeq ip, ip, #1 beq _02089820 subs r2, r2, #1 bne _020897FC _02089820: mov r1, #0 strb r1, [ip] ldmia sp!, {r3, pc} arm_func_end strncat arm_func_start strcmp strcmp: ; 0x0208982C stmdb sp!, {r4, lr} ldrb r2, [r0] ldrb r3, [r1] subs r3, r2, r3 movne r0, r3 ldmneia sp!, {r4, pc} and r4, r0, #3 and r3, r1, #3 cmp r3, r4 bne _02089908 cmp r4, #0 beq _020898A0 cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} rsbs r4, r4, #3 beq _02089898 _02089870: ldrb r3, [r0, #1]! ldrb r2, [r1, #1]! subs r2, r3, r2 movne r0, r2 ldmneia sp!, {r4, pc} cmp r3, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} subs r4, r4, #1 bne _02089870 _02089898: add r0, r0, #1 add r1, r1, #1 _020898A0: ldr r2, [r0] ldr r3, _02089938 ; =0xFEFEFEFF mvn r4, r2 add lr, r2, r3 ldr ip, _0208993C ; =0x80808080 and r4, lr, r4 tst r4, ip ldr r4, [r1] bne _020898F4 cmp r2, r4 bne _020898E8 _020898CC: ldr r2, [r0, #4]! ldr r4, [r1, #4]! add lr, r2, r3 tst lr, ip bne _020898F4 cmp r2, r4 beq _020898CC _020898E8: sub r0, r0, #1 sub r1, r1, #1 b _02089908 _020898F4: ldrb r2, [r0] ldrb r3, [r1] subs r3, r2, r3 movne r0, r3 ldmneia sp!, {r4, pc} _02089908: cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02089914: ldrb r3, [r0, #1]! ldrb r2, [r1, #1]! subs r2, r3, r2 movne r0, r2 ldmneia sp!, {r4, pc} cmp r3, #0 bne _02089914 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _02089938: .word 0xFEFEFEFF _0208993C: .word 0x80808080 arm_func_end strcmp arm_func_start strncmp strncmp: ; 0x02089940 cmp r2, #0 beq _0208996C _02089948: ldrb ip, [r1], #1 ldrb r3, [r0], #1 cmp r3, ip subne r0, r3, ip bxne lr cmp r3, #0 beq _0208996C subs r2, r2, #1 bne _02089948 _0208996C: mov r0, #0 bx lr arm_func_end strncmp arm_func_start strchr strchr: ; 0x02089974 ldrsb r2, [r0], #1 mov r1, r1, lsl #0x18 mov r1, r1, asr #0x18 cmp r2, #0 beq _020899A0 _02089988: cmp r2, r1 subeq r0, r0, #1 bxeq lr ldrsb r2, [r0], #1 cmp r2, #0 bne _02089988 _020899A0: cmp r1, #0 movne r0, #0 subeq r0, r0, #1 bx lr arm_func_end strchr arm_func_start strcspn strcspn: ; 0x020899B0 stmdb sp!, {r4, lr} sub sp, sp, #0x20 add ip, sp, #0 mov r3, #8 mov r2, #0 _020899C4: strb r2, [ip] strb r2, [ip, #1] strb r2, [ip, #2] strb r2, [ip, #3] add ip, ip, #4 subs r3, r3, #1 bne _020899C4 ldrb r3, [r1] add r4, r1, #1 cmp r3, #0 beq _02089A20 add lr, sp, #0 mov r2, #1 _020899F8: and ip, r3, #0xff and r1, r3, #7 mov r1, r2, lsl r1 ldrb r3, [lr, ip, asr #3] and r1, r1, #0xff orr r1, r3, r1 strb r1, [lr, ip, asr #3] ldrb r3, [r4], #1 cmp r3, #0 bne _020899F8 _02089A20: ldrb r1, [r0] add r4, r0, #1 cmp r1, #0 beq _02089A60 add ip, sp, #0 mov r2, #1 _02089A38: and r3, r1, #0xff and r1, r1, #7 mov r1, r2, lsl r1 ldrb r3, [ip, r3, asr #3] and r1, r1, #0xff tst r3, r1 bne _02089A60 ldrb r1, [r4], #1 cmp r1, #0 bne _02089A38 _02089A60: sub r0, r4, r0 sub r0, r0, #1 add sp, sp, #0x20 ldmia sp!, {r4, pc} arm_func_end strcspn arm_func_start strstr strstr: ; 0x02089A70 stmdb sp!, {r4, lr} cmp r1, #0 ldrneb r2, [r1] cmpne r2, #0 ldmeqia sp!, {r4, pc} ldrb r3, [r0] add r4, r0, #1 cmp r3, #0 beq _02089AD4 _02089A94: cmp r3, r2 bne _02089AC8 mov lr, r4 add ip, r1, #1 _02089AA4: ldrb r3, [ip], #1 ldrb r0, [lr], #1 cmp r0, r3 bne _02089ABC cmp r0, #0 bne _02089AA4 _02089ABC: cmp r3, #0 subeq r0, r4, #1 ldmeqia sp!, {r4, pc} _02089AC8: ldrb r3, [r4], #1 cmp r3, #0 bne _02089A94 _02089AD4: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end strstr arm_func_start sub_02089ADC sub_02089ADC: ; 0x02089ADC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xa8 ldr r4, [sp, #0xd0] mov sl, #0 str r4, [sp, #0xd0] str r0, [sp] add r6, sp, #0x80 mov sb, r1 mov r8, r2 str r3, [sp, #4] mov r4, sl str sl, [sp, #0x2c] mov r5, #1 mov r0, #4 _02089B14: strh sl, [r6] strh sl, [r6, #2] strh sl, [r6, #4] strh sl, [r6, #6] add r6, r6, #8 subs r0, r0, #1 bne _02089B14 mov r0, #0 str r0, [sp, #0x28] strh sl, [r6] strh sl, [r6, #2] ldr r2, [sp, #0x28] ldr r1, [sp, #0xd0] strh sl, [r6, #4] str r2, [r1] mov r1, r2 mov r0, r8 str r1, [sp, #0x24] str r1, [sp, #0x20] str r1, [sp, #0x1c] str r1, [sp, #0x18] str r1, [sp, #0x10] str r1, [sp, #0xc] str r1, [sp, #8] add r4, r4, #1 blx sb mov r1, r0 ldr r7, _0208AABC ; =_020AEEB5 add r0, sp, #0x4d mov r6, #4 _02089B8C: ldrb r3, [r7] ldrb r2, [r7, #1] add r7, r7, #2 strb r3, [r0] strb r2, [r0, #1] add r0, r0, #2 subs r6, r6, #1 bne _02089B8C ldrb r3, [r7] ldr r2, _0208AAC0 ; =_020AEEB0 strb r3, [r0] ldrb r3, [r2, #1] ldrb r0, [r2, #2] ldrb r6, [r2] strb r3, [sp, #0x31] strb r0, [sp, #0x32] ldrb r3, [r2, #3] ldrb r0, [r2, #4] strb r6, [sp, #0x30] strb r3, [sp, #0x33] strb r0, [sp, #0x34] b _0208A8D0 _02089BE4: cmp r5, #0x100 bgt _02089C5C bge _0208A364 cmp r5, #0x20 bgt _02089C40 bge _0208A238 cmp r5, #8 bgt _02089C34 cmp r5, #0 addge pc, pc, r5, lsl #2 b _0208A8D0 _02089C10: ; jump table b _0208A8D0 ; case 0 b _02089CA0 ; case 1 b _0208A084 ; case 2 b _0208A8D0 ; case 3 b _0208A134 ; case 4 b _0208A8D0 ; case 5 b _0208A8D0 ; case 6 b _0208A8D0 ; case 7 b _0208A15C ; case 8 _02089C34: cmp r5, #0x10 beq _0208A200 b _0208A8D0 _02089C40: cmp r5, #0x40 bgt _02089C50 beq _0208A2C4 b _0208A8D0 _02089C50: cmp r5, #0x80 beq _0208A310 b _0208A8D0 _02089C5C: cmp r5, #0x2000 bgt _02089C84 bge _02089EB8 cmp r5, #0x200 bgt _02089C78 beq _0208A3C4 b _0208A8D0 _02089C78: cmp r5, #0x400 beq _0208A3EC b _0208A8D0 _02089C84: cmp r5, #0x4000 bgt _02089C94 beq _02089DC0 b _0208A8D0 _02089C94: cmp r5, #0x8000 beq _0208A464 b _0208A8D0 _02089CA0: cmp r1, #0 blt _02089CB0 cmp r1, #0x80 blt _02089CB8 _02089CB0: mov r0, #0 b _02089CC8 _02089CB8: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #0x100 _02089CC8: cmp r0, #0 beq _02089CF4 mov r1, #0 mov r0, r8 mov r2, r1 blx sb mov r1, r0 ldr r0, [sp, #0x2c] add r0, r0, #1 str r0, [sp, #0x2c] b _0208A8D0 _02089CF4: cmp r1, #0 blt _02089D04 cmp r1, #0x80 blt _02089D0C _02089D04: mov r0, r1 b _02089D14 _02089D0C: ldr r0, _0208AAC8 ; =_020AED30 ldrb r0, [r0, r1] _02089D14: cmp r0, #0x49 bgt _02089D40 bge _02089D78 cmp r0, #0x2d bgt _02089DB8 cmp r0, #0x2b blt _02089DB8 beq _02089D54 cmp r0, #0x2d beq _02089D4C b _02089DB8 _02089D40: cmp r0, #0x4e beq _02089D98 b _02089DB8 _02089D4C: mov r0, #1 str r0, [sp, #0x28] _02089D54: mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 mov r0, #1 str r0, [sp, #0x18] b _0208A8D0 _02089D78: add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 mov r5, #0x4000 b _0208A8D0 _02089D98: add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 mov r5, #0x2000 b _0208A8D0 _02089DB8: mov r5, #2 b _0208A8D0 _02089DC0: mov r5, #1 add r7, sp, #0x4d add r0, sp, #0x76 mov r6, #4 _02089DD0: ldrb r3, [r7] ldrb r2, [r7, #1] add r7, r7, #2 strb r3, [r0] strb r2, [r0, #1] add r0, r0, #2 subs r6, r6, #1 bne _02089DD0 ldrb r2, [r7] add r6, sp, #0x77 ldr r7, _0208AAC8 ; =_020AED30 strb r2, [r0] b _02089E24 _02089E04: mov r1, #0 mov r0, r8 mov r2, r1 add r6, r6, #1 add r5, r5, #1 add r4, r4, #1 blx sb mov r1, r0 _02089E24: cmp r5, #8 bge _02089E54 cmp r1, #0 blt _02089E3C cmp r1, #0x80 blt _02089E44 _02089E3C: mov r2, r1 b _02089E48 _02089E44: ldrb r2, [r7, r1] _02089E48: ldrsb r0, [r6] cmp r0, r2 beq _02089E04 _02089E54: cmp r5, #3 cmpne r5, #8 bne _02089EB0 ldr r0, [sp, #0x28] cmp r0, #0 beq _02089E84 ldr r1, _0208AACC ; =_020B2FB8 mov r0, #0 ldr r1, [r1] bl __subsf3 bl __extendsfdf2 b _02089E90 _02089E84: ldr r0, _0208AACC ; =_020B2FB8 ldr r0, [r0] bl __extendsfdf2 _02089E90: ldr r2, [sp, #0x2c] add r3, r2, r5 ldr r2, [sp, #0x18] add r3, r2, r3 ldr r2, [sp, #4] add sp, sp, #0xa8 str r3, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02089EB0: mov r5, #0x1000 b _0208A8D0 _02089EB8: ldrb r3, [sp, #0x30] ldrb r0, [sp, #0x32] ldrb r2, [sp, #0x31] strb r3, [sp, #0x40] strb r0, [sp, #0x42] ldrb r3, [sp, #0x33] ldrb r0, [sp, #0x34] strb r2, [sp, #0x41] mov r5, #1 strb r0, [sp, #0x44] mov r6, #0 add r2, sp, #0x56 strb r3, [sp, #0x43] mov r0, #8 _02089EF0: strb r6, [r2] strb r6, [r2, #1] strb r6, [r2, #2] strb r6, [r2, #3] add r2, r2, #4 subs r0, r0, #1 bne _02089EF0 add r7, sp, #0x41 b _02089F34 _02089F14: mov r1, #0 mov r0, r8 mov r2, r1 add r7, r7, #1 add r5, r5, #1 add r4, r4, #1 blx sb mov r1, r0 _02089F34: cmp r5, #4 bge _02089F68 cmp r1, #0 blt _02089F4C cmp r1, #0x80 blt _02089F54 _02089F4C: mov r2, r1 b _02089F5C _02089F54: ldr r0, _0208AAC8 ; =_020AED30 ldrb r2, [r0, r1] _02089F5C: ldrsb r0, [r7] cmp r0, r2 beq _02089F14 _02089F68: sub r0, r5, #3 cmp r0, #1 bhi _0208A07C cmp r5, #4 bne _0208A020 ldr r7, _0208AAC4 ; =_020AEDB0 b _02089FA8 _02089F84: add r0, sp, #0x56 strb r1, [r0, r6] mov r1, #0 mov r0, r8 mov r2, r1 add r6, r6, #1 add r4, r4, #1 blx sb mov r1, r0 _02089FA8: cmp r6, #0x20 bge _0208A010 cmp r1, #0 blt _02089FC0 cmp r1, #0x80 blt _02089FC8 _02089FC0: mov r0, #0 b _02089FD4 _02089FC8: mov r0, r1, lsl #1 ldrh r0, [r7, r0] and r0, r0, #8 _02089FD4: cmp r0, #0 bne _02089F84 cmp r1, #0 blt _02089FEC cmp r1, #0x80 blt _02089FF4 _02089FEC: mov r0, #0 b _0208A000 _02089FF4: mov r0, r1, lsl #1 ldrh r0, [r7, r0] and r0, r0, #1 _0208A000: cmp r0, #0 bne _02089F84 cmp r1, #0x2e beq _02089F84 _0208A010: cmp r1, #0x29 movne r5, #0x1000 bne _0208A8D0 add r6, r6, #1 _0208A020: add r0, sp, #0x56 mov r1, #0 strb r1, [r0, r6] ldr r1, [sp, #0x28] cmp r1, #0 beq _0208A054 bl sub_02086450 mov r2, r0 mov r0, #0 mov r3, r1 mov r1, r0 bl sub_0208E904 b _0208A058 _0208A054: bl sub_02086450 _0208A058: ldr r2, [sp, #0x2c] add r2, r2, r5 add r3, r6, r2 ldr r2, [sp, #0x18] add r3, r2, r3 ldr r2, [sp, #4] add sp, sp, #0xa8 str r3, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208A07C: mov r5, #0x1000 b _0208A8D0 _0208A084: cmp r1, #0x2e bne _0208A0AC mov r5, #0x10 add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A8D0 _0208A0AC: cmp r1, #0 blt _0208A0BC cmp r1, #0x80 blt _0208A0C4 _0208A0BC: mov r0, #0 b _0208A0D4 _0208A0C4: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A0D4: cmp r0, #0 moveq r5, #0x1000 beq _0208A8D0 cmp r1, #0x30 bne _0208A12C add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb cmp r0, #0 mov r1, r0 blt _0208A118 cmp r0, #0x80 bge _0208A118 ldr r2, _0208AAC8 ; =_020AED30 ldrb r0, [r2, r0] _0208A118: cmp r0, #0x58 moveq r5, #0x8000 moveq sl, #1 movne r5, #4 b _0208A8D0 _0208A12C: mov r5, #8 b _0208A8D0 _0208A134: cmp r1, #0x30 movne r5, #8 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A15C: cmp r1, #0 blt _0208A16C cmp r1, #0x80 blt _0208A174 _0208A16C: mov r0, #0 b _0208A184 _0208A174: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A184: cmp r0, #0 bne _0208A1B8 cmp r1, #0x2e movne r5, #0x40 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 mov r5, #0x20 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A1B8: ldrb r2, [sp, #0x84] cmp r2, #0x14 ldrhs r0, [sp, #0x1c] addhs r0, r0, #1 strhs r0, [sp, #0x1c] bhs _0208A1E4 add r0, r2, #1 strb r0, [sp, #0x84] add r0, sp, #0x80 add r0, r0, r2 strb r1, [r0, #5] _0208A1E4: add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A8D0 _0208A200: cmp r1, #0 blt _0208A210 cmp r1, #0x80 blt _0208A218 _0208A210: mov r0, #0 b _0208A228 _0208A218: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A228: cmp r0, #0 moveq r5, #0x1000 movne r5, #0x20 b _0208A8D0 _0208A238: cmp r1, #0 blt _0208A248 cmp r1, #0x80 blt _0208A250 _0208A248: mov r0, #0 b _0208A260 _0208A250: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A260: cmp r0, #0 moveq r5, #0x40 beq _0208A8D0 ldrb r3, [sp, #0x84] cmp r3, #0x14 bhs _0208A2A8 cmp r1, #0x30 cmpeq r3, #0 beq _0208A29C ldrb r2, [sp, #0x84] add r0, sp, #0x80 add r0, r0, r3 add r2, r2, #1 strb r2, [sp, #0x84] strb r1, [r0, #5] _0208A29C: ldr r0, [sp, #0x1c] sub r0, r0, #1 str r0, [sp, #0x1c] _0208A2A8: add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A8D0 _0208A2C4: cmp r1, #0 blt _0208A2D4 cmp r1, #0x80 blt _0208A2DC _0208A2D4: mov r0, r1 b _0208A2E4 _0208A2DC: ldr r0, _0208AAC8 ; =_020AED30 ldrb r0, [r0, r1] _0208A2E4: cmp r0, #0x45 movne r5, #0x800 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 mov r5, #0x80 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A310: cmp r1, #0x2b bne _0208A334 add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A35C _0208A334: cmp r1, #0x2d bne _0208A35C mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 mov r0, #1 str r0, [sp, #0x24] _0208A35C: mov r5, #0x100 b _0208A8D0 _0208A364: cmp r1, #0 blt _0208A374 cmp r1, #0x80 blt _0208A37C _0208A374: mov r0, #0 b _0208A38C _0208A37C: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A38C: cmp r0, #0 moveq r5, #0x1000 beq _0208A8D0 cmp r1, #0x30 movne r5, #0x400 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 mov r5, #0x200 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A3C4: cmp r1, #0x30 movne r5, #0x400 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A3EC: cmp r1, #0 blt _0208A3FC cmp r1, #0x80 blt _0208A404 _0208A3FC: mov r0, #0 b _0208A414 _0208A404: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A414: cmp r0, #0 moveq r5, #0x800 beq _0208A8D0 ldr r0, [sp, #0x20] sub r2, r1, #0x30 mov r1, #0xa mla r0, r1, r0, r2 ldr r1, _0208AAD0 ; =0x00007FFF str r0, [sp, #0x20] cmp r0, r1 ldrgt r0, [sp, #0xd0] movgt r1, #1 strgt r1, [r0] mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A464: cmp sl, #0x20 bgt _0208A4B4 bge _0208A788 cmp sl, #8 bgt _0208A4A8 cmp sl, #0 addge pc, pc, sl, lsl #2 b _0208A8D0 _0208A484: ; jump table b _0208A8D0 ; case 0 b _0208A4D8 ; case 1 b _0208A528 ; case 2 b _0208A8D0 ; case 3 b _0208A550 ; case 4 b _0208A8D0 ; case 5 b _0208A8D0 ; case 6 b _0208A8D0 ; case 7 b _0208A660 ; case 8 _0208A4A8: cmp sl, #0x10 beq _0208A73C b _0208A8D0 _0208A4B4: cmp sl, #0x80 bgt _0208A4CC bge _0208A830 cmp sl, #0x40 beq _0208A7D0 b _0208A8D0 _0208A4CC: cmp sl, #0x100 beq _0208A858 b _0208A8D0 _0208A4D8: mov r1, #0 add r0, sp, #0x45 str r0, [sp, #0x14] strb r1, [r0] strb r1, [r0, #1] strb r1, [r0, #2] strb r1, [r0, #3] strb r1, [r0, #4] strb r1, [r0, #5] strb r1, [r0, #6] strb r1, [r0, #7] mov r0, r8 mov r2, r1 str r1, [sp, #8] mov fp, r1 mov sl, #2 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A528: cmp r1, #0x30 movne sl, #4 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A550: cmp r1, #0 blt _0208A560 cmp r1, #0x80 blt _0208A568 _0208A560: mov r0, #0 b _0208A578 _0208A568: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #0x400 _0208A578: cmp r0, #0 bne _0208A5AC cmp r1, #0x2e movne sl, #0x10 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 mov sl, #8 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A5AC: ldr r2, [sp, #8] mov r0, #0xe cmp r2, r0 bhs _0208A644 mov r0, r2 add r0, r0, #1 str r0, [sp, #8] ldr r0, [sp, #0x14] add r2, fp, fp, lsr #31 cmp r1, #0 ldrb r0, [r0, r2, asr #1] blt _0208A5EC cmp r1, #0x80 bge _0208A5EC ldr r2, _0208AAC8 ; =_020AED30 ldrb r1, [r2, r1] _0208A5EC: cmp r1, #0x41 subge r1, r1, #0x37 sublt r1, r1, #0x30 mov r2, fp, lsr #0x1f and r3, r1, #0xff rsb r1, r2, fp, lsl #31 adds r1, r2, r1, ror #31 moveq r1, r3, lsl #4 add r2, fp, fp, lsr #31 orrne r0, r0, r3 andeq r1, r1, #0xff orreq r0, r0, r1 ldr r1, [sp, #0x14] add fp, fp, #1 strb r0, [r1, r2, asr #1] mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A644: add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A8D0 _0208A660: cmp r1, #0 blt _0208A670 cmp r1, #0x80 blt _0208A678 _0208A670: mov r0, #0 b _0208A688 _0208A678: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #0x400 _0208A688: cmp r0, #0 moveq sl, #0x10 beq _0208A8D0 ldr r2, [sp, #8] mov r0, #0xe cmp r2, r0 bhs _0208A720 ldr r0, [sp, #0x14] add r2, fp, fp, lsr #31 cmp r1, #0 ldrb r0, [r0, r2, asr #1] blt _0208A6C8 cmp r1, #0x80 bge _0208A6C8 ldr r2, _0208AAC8 ; =_020AED30 ldrb r1, [r2, r1] _0208A6C8: cmp r1, #0x41 subge r1, r1, #0x37 sublt r1, r1, #0x30 mov r2, fp, lsr #0x1f and r3, r1, #0xff rsb r1, r2, fp, lsl #31 adds r1, r2, r1, ror #31 moveq r1, r3, lsl #4 add r2, fp, fp, lsr #31 orrne r0, r0, r3 andeq r1, r1, #0xff orreq r0, r0, r1 ldr r1, [sp, #0x14] add fp, fp, #1 strb r0, [r1, r2, asr #1] mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A720: add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A8D0 _0208A73C: cmp r1, #0 blt _0208A74C cmp r1, #0x80 blt _0208A754 _0208A74C: mov r0, r1 b _0208A75C _0208A754: ldr r0, _0208AAC8 ; =_020AED30 ldrb r0, [r0, r1] _0208A75C: cmp r0, #0x50 movne r5, #0x800 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 mov sl, #0x20 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A788: cmp r1, #0x2d moveq r0, #1 streq r0, [sp, #0xc] beq _0208A7B0 cmp r1, #0x2b beq _0208A7B0 mov r0, r8 mov r2, #1 blx sb sub r4, r4, #1 _0208A7B0: mov sl, #0x40 add r4, r4, #1 mov r0, r8 mov r1, #0 mov r2, r1 blx sb mov r1, r0 b _0208A8D0 _0208A7D0: cmp r1, #0 blt _0208A7E0 cmp r1, #0x80 blt _0208A7E8 _0208A7E0: mov r0, #0 b _0208A7F8 _0208A7E8: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A7F8: cmp r0, #0 moveq r5, #0x1000 beq _0208A8D0 cmp r1, #0x30 movne sl, #0x100 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 mov sl, #0x80 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A830: cmp r1, #0x30 movne sl, #0x100 bne _0208A8D0 mov r1, #0 mov r0, r8 mov r2, r1 add r4, r4, #1 blx sb mov r1, r0 b _0208A8D0 _0208A858: cmp r1, #0 blt _0208A868 cmp r1, #0x80 blt _0208A870 _0208A868: mov r0, #0 b _0208A880 _0208A870: mov r2, r1, lsl #1 ldr r0, _0208AAC4 ; =_020AEDB0 ldrh r0, [r0, r2] and r0, r0, #8 _0208A880: cmp r0, #0 moveq r5, #0x800 beq _0208A8D0 ldr r0, [sp, #0x10] sub r2, r1, #0x30 mov r1, #0xa mla r0, r1, r0, r2 str r0, [sp, #0x10] ldr r1, _0208AAD0 ; =0x00007FFF ldr r0, [sp, #0x20] add r4, r4, #1 cmp r0, r1 ldrgt r0, [sp, #0xd0] movgt r1, #1 strgt r1, [r0] mov r1, #0 mov r0, r8 mov r2, r1 blx sb mov r1, r0 _0208A8D0: ldr r0, [sp] cmp r4, r0 bgt _0208A8F0 mvn r0, #0 cmp r1, r0 beq _0208A8F0 tst r5, #0x1800 beq _02089BE4 _0208A8F0: cmp r5, #0x8000 beq _0208A90C ldr r0, _0208AAD4 ; =0x00000E2C tst r5, r0 moveq r0, #1 movne r0, #0 b _0208A930 _0208A90C: sub r0, r4, #1 cmp r0, #2 ble _0208A924 ldr r0, _0208AAD8 ; =0x0000018E tst sl, r0 bne _0208A92C _0208A924: mov r0, #1 b _0208A930 _0208A92C: mov r0, #0 _0208A930: cmp r0, #0 movne r2, #0 ldrne r0, [sp, #4] bne _0208A950 ldr r0, [sp, #0x2c] sub r2, r4, #1 add r2, r2, r0 ldr r0, [sp, #4] _0208A950: str r2, [r0] mov r0, r8 mov r2, #1 blx sb cmp sl, #0 bne _0208AB54 ldr r0, [sp, #0x24] ldrb r2, [sp, #0x84] cmp r0, #0 ldrne r0, [sp, #0x20] rsbne r0, r0, #0 strne r0, [sp, #0x20] add r0, sp, #0x85 add r1, r0, r2 b _0208A998 _0208A98C: ldr r0, [sp, #0x1c] add r0, r0, #1 str r0, [sp, #0x1c] _0208A998: cmp r2, #0 sub r2, r2, #1 beq _0208A9B0 ldrb r0, [r1, #-1]! cmp r0, #0x30 beq _0208A98C _0208A9B0: add r0, r2, #1 strb r0, [sp, #0x84] ands r2, r0, #0xff bne _0208A9D4 add r1, r2, #1 strb r1, [sp, #0x84] add r0, sp, #0x85 mov r1, #0x30 strb r1, [r0, r2] _0208A9D4: ldr r1, [sp, #0x20] ldr r0, [sp, #0x1c] mov r2, #0x8000 add r0, r1, r0 rsb r2, r2, #0 str r0, [sp, #0x20] cmp r0, r2 blt _0208A9FC cmp r0, r2, lsr #17 ble _0208AA08 _0208A9FC: ldr r0, [sp, #0xd0] mov r1, #1 str r1, [r0] _0208AA08: ldr r0, [sp, #0xd0] ldr r0, [r0] cmp r0, #0 beq _0208AA64 ldr r0, [sp, #0x24] cmp r0, #0 movne r0, #0 addne sp, sp, #0xa8 movne r1, r0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x28] cmp r0, #0 ldreq r1, _0208AADC ; =_020B2FC0 addeq sp, sp, #0xa8 ldmeqia r1, {r0, r1} ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _0208AADC ; =_020B2FC0 mov r0, #0 ldmia r1, {r2, r3} mov r1, r0 bl sub_0208E904 add sp, sp, #0xa8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208AA64: ldr r1, [sp, #0x20] add r0, sp, #0x80 strh r1, [sp, #0x82] bl sub_0208D6E0 mov r4, r0 mov r6, r1 mov r0, #0 mov r1, r0 mov r2, r4 mov r3, r6 bl sub_0208F140 beq _0208AAE4 mov r0, r4 mov r1, r6 mov r2, #0 mov r3, #0x100000 bl sub_0208F018 bhs _0208AAE4 ldr r0, [sp, #0xd0] mov r1, #1 str r1, [r0] b _0208AB10 .align 2, 0 _0208AABC: .word _020AEEB5 _0208AAC0: .word _020AEEB0 _0208AAC4: .word _020AEDB0 _0208AAC8: .word _020AED30 _0208AACC: .word _020B2FB8 _0208AAD0: .word 0x00007FFF _0208AAD4: .word 0x00000E2C _0208AAD8: .word 0x0000018E _0208AADC: .word _020B2FC0 _0208AAE0: .word 0x7FEFFFFF _0208AAE4: ldr r3, _0208AAE0 ; =0x7FEFFFFF mov r0, r4 mov r1, r6 mvn r2, #0 bl sub_0208EEDC bls _0208AB10 ldr r0, [sp, #0xd0] mov r2, #1 ldr r1, _0208AADC ; =_020B2FC0 str r2, [r0] ldmia r1, {r4, r6} _0208AB10: ldr r0, [sp, #0x28] cmp r0, #0 beq _0208AB44 ldr r0, _0208AAD4 ; =0x00000E2C tst r5, r0 beq _0208AB44 mov r0, #0 mov r1, r0 mov r2, r4 mov r3, r6 bl sub_0208E904 mov r4, r0 mov r6, r1 _0208AB44: add sp, sp, #0xa8 mov r0, r4 mov r1, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208AB54: ldr r0, [sp, #0xc] add r4, sp, #0x38 cmp r0, #0 ldrne r0, [sp, #0x10] ldrb r3, [sp, #0x45] rsbne r0, r0, #0 strne r0, [sp, #0x10] ldr r1, [sp, #0x10] ldr r0, [sp, #8] mov r2, #0 add r0, r1, r0, lsl #2 str r0, [sp, #0x10] mov r1, #0x80 b _0208AB9C _0208AB8C: ldr r0, [sp, #0x10] add r2, r2, #1 sub r0, r0, #1 str r0, [sp, #0x10] _0208AB9C: cmp r2, #4 bhs _0208ABAC tst r3, r1, asr r2 beq _0208AB8C _0208ABAC: adds r5, r2, #1 beq _0208ABF8 add r0, sp, #0x4c add r3, sp, #0x45 str r0, [sp, #0x14] mov r1, #0 cmp r0, r3 blo _0208ABF8 rsb r6, r5, #8 _0208ABD0: ldr r0, [sp, #0x14] ldrb r0, [r0] orr r2, r1, r0, lsl r5 mov r1, r0, asr r6 ldr r0, [sp, #0x14] and r1, r1, #0xff strb r2, [r0], #-1 str r0, [sp, #0x14] cmp r0, r3 bhs _0208ABD0 _0208ABF8: mov r2, #0 mov r6, r2 strb r2, [r4] strb r2, [r4, #1] strb r2, [r4, #2] strb r2, [r4, #3] strb r2, [r4, #4] strb r2, [r4, #5] strb r2, [r4, #6] strb r2, [r4, #7] mov r3, #0xc mov r7, #1 mov r0, #0xff add r1, sp, #0x45 _0208AC30: add r5, r2, #8 cmp r5, #0x34 ldrb r5, [r1, r6] rsbhi r8, r2, #0x34 and fp, r3, #7 andhi r5, r5, r0, lsl r8 andhi r5, r5, #0xff mov r8, r5, asr fp and sb, r8, #0xff ldrb sl, [r4, r7] rsb r8, fp, #8 mov r5, r5, lsl r8 orr sb, sl, sb strb sb, [r4, r7] add r7, r7, #1 add r2, r2, #8 ldrb r8, [r4, r7] and r5, r5, #0xff cmp r2, #0x34 orr r5, r8, r5 strb r5, [r4, r7] add r3, r3, #8 add r6, r6, #1 blo _0208AC30 ldr r0, [sp, #0x10] mov r1, #0x800 add r0, r0, #0xfe add r2, r0, #0x300 rsb r1, r1, #0 tst r2, r1 beq _0208ACC8 ldr r2, [sp, #0xd0] mov r3, #1 mov r0, #0 add sp, sp, #0xa8 mov r1, r0 str r3, [r2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208ACC8: ldrb r0, [r4, #1] mov r2, r2, lsl #0x15 ldrb r1, [r4] orr r0, r0, r2, lsr #17 strb r0, [r4, #1] ldr r0, [sp, #0x28] orr r1, r1, r2, lsr #25 cmp r0, #0 andne r0, r1, #0xff strb r1, [r4] orrne r0, r0, #0x80 strneb r0, [r4] mov r3, #0 _0208ACFC: rsb r1, r3, #7 ldrb r2, [r4, r3] ldrb r0, [r4, r1] strb r0, [r4, r3] add r3, r3, #1 strb r2, [r4, r1] cmp r3, #4 blt _0208ACFC ldmia r4, {r0, r1} add sp, sp, #0xa8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_02089ADC arm_func_start sub_0208AD28 sub_0208AD28: ; 0x0208AD28 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 mov r7, r0 mov r0, #0 mov r6, r1 str r0, [sp, #8] add r4, sp, #0xc str r7, [sp, #4] ldr r1, _0208ADFC ; =sub_020895F4 add r2, sp, #4 add r3, sp, #0x10 sub r0, r0, #0x80000001 str r4, [sp] bl sub_02089ADC mov r5, r1 mov r4, r0 cmp r6, #0 ldrne r0, [sp, #0x10] mov r1, r5 addne r0, r7, r0 strne r0, [r6] mov r0, r4 bl sub_0208C5B4 ldr r2, [sp, #0xc] mov r6, r0 mov r7, r1 cmp r2, #0 bne _0208ADE0 mov r0, #0 mov r1, r0 mov r2, r4 mov r3, r5 bl sub_0208F140 beq _0208ADEC mov r0, r6 mov r1, r7 mov r2, #0 mov r3, #0x100000 bl sub_0208F018 blo _0208ADE0 ldr r3, _0208AE00 ; =0x7FEFFFFF mov r0, r6 mov r1, r7 mvn r2, #0 bl sub_0208EEDC bls _0208ADEC _0208ADE0: ldr r0, _0208AE04 ; =_022BCA70 mov r1, #0x22 str r1, [r0] _0208ADEC: mov r0, r4 mov r1, r5 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0208ADFC: .word sub_020895F4 _0208AE00: .word 0x7FEFFFFF _0208AE04: .word _022BCA70 arm_func_end sub_0208AD28 arm_func_start sub_0208AE08 sub_0208AE08: ; 0x0208AE08 ldr ip, _0208AE14 ; =sub_0208AD28 mov r1, #0 bx ip .align 2, 0 _0208AE14: .word sub_0208AD28 arm_func_end sub_0208AE08 arm_func_start sub_0208AE18 sub_0208AE18: ; 0x0208AE18 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r4, [sp, #0x38] movs sb, r0 ldr r0, [sp, #0x34] str r4, [sp, #0x38] mov r4, #0 str r0, [sp, #0x34] ldr r0, [sp, #0x38] str r1, [sp] str r4, [r0] mov r0, r4 str r0, [sp, #4] ldr r0, [sp, #0x34] mov r1, r4 str r1, [r0] ldr r0, [sp, #0x30] str r4, [sp, #8] mov r8, r2 mov r7, r3 mov r5, r4 mov sl, r4 str r0, [sp, #0x30] mov r4, #1 bmi _0208AE98 cmp sb, #1 beq _0208AE98 cmp sb, #0x24 bgt _0208AE98 ldr r0, [sp] cmp r0, #1 bge _0208AEA0 _0208AE98: mov r4, #0x40 b _0208AEBC _0208AEA0: ldr r1, [sp, #8] mov r0, r7 mov r3, r1 mov r2, r1 add r5, r3, #1 blx r8 mov r6, r0 _0208AEBC: cmp sb, #0 beq _0208AED4 mov r1, sb mvn r0, #0 bl __udivsi3 str r0, [sp, #4] _0208AED4: mvn fp, #0 b _0208B194 _0208AEDC: cmp r4, #8 bgt _0208AF14 cmp r4, #0 addge pc, pc, r4, lsl #2 b _0208B194 _0208AEF0: ; jump table b _0208B194 ; case 0 b sub_0208AF20 ; case 1 b sub_0208AFCC ; case 2 b _0208B194 ; case 3 b sub_0208B008 ; case 4 b _0208B194 ; case 5 b _0208B194 ; case 6 b _0208B194 ; case 7 b _0208B048 ; case 8 _0208AF14: cmp r4, #0x10 beq _0208B048 b _0208B194 arm_func_end sub_0208AE18 arm_func_start sub_0208AF20 sub_0208AF20: ; 0x0208AF20 cmp r6, #0 blt _0208AF30 cmp r6, #0x80 blt _0208AF38 _0208AF30: mov r0, #0 b _0208AF48 _0208AF38: ldr r0, _0208B1F8 ; =_020AEDB0 mov r1, r6, lsl #1 ldrh r0, [r0, r1] and r0, r0, #0x100 _0208AF48: cmp r0, #0 beq _0208AF74 mov r1, #0 mov r0, r7 mov r2, r1 blx r8 mov r6, r0 ldr r0, [sp, #8] add r0, r0, #1 str r0, [sp, #8] b _0208B194 _0208AF74: cmp r6, #0x2b bne _0208AF98 mov r1, #0 mov r0, r7 mov r2, r1 add r5, r5, #1 blx r8 mov r6, r0 b _0208AFC4 _0208AF98: cmp r6, #0x2d bne _0208AFC4 mov r1, #0 mov r0, r7 mov r2, r1 add r5, r5, #1 blx r8 mov r6, r0 ldr r0, [sp, #0x34] mov r1, #1 str r1, [r0] _0208AFC4: mov r4, #2 b _0208B194 arm_func_end sub_0208AF20 arm_func_start sub_0208AFCC sub_0208AFCC: ; 0x0208AFCC cmp sb, #0 cmpne sb, #0x10 bne _0208B000 cmp r6, #0x30 bne _0208B000 mov r1, #0 mov r0, r7 mov r2, r1 mov r4, #4 add r5, r5, #1 blx r8 mov r6, r0 b _0208B194 _0208B000: mov r4, #8 b _0208B194 arm_func_end sub_0208AFCC arm_func_start sub_0208B008 sub_0208B008: ; 0x0208B008 cmp r6, #0x58 cmpne r6, #0x78 bne _0208B038 mov r1, #0 mov r0, r7 mov r2, r1 mov sb, #0x10 mov r4, #8 add r5, r5, #1 blx r8 mov r6, r0 b _0208B194 _0208B038: cmp sb, #0 moveq sb, #8 mov r4, #0x10 b _0208B194 _0208B048: ldr r0, [sp, #4] cmp sb, #0 moveq sb, #0xa cmp r0, #0 bne _0208B06C mov r0, fp mov r1, sb bl __udivsi3 str r0, [sp, #4] _0208B06C: cmp r6, #0 blt _0208B07C cmp r6, #0x80 blt _0208B084 _0208B07C: mov r0, #0 b _0208B094 _0208B084: ldr r0, _0208B1F8 ; =_020AEDB0 mov r1, r6, lsl #1 ldrh r0, [r0, r1] and r0, r0, #8 _0208B094: cmp r0, #0 beq _0208B0BC sub r6, r6, #0x30 cmp r6, sb blt _0208B144 cmp r4, #0x10 moveq r4, #0x20 movne r4, #0x40 add r6, r6, #0x30 b _0208B194 _0208B0BC: cmp r6, #0 blt _0208B0CC cmp r6, #0x80 blt _0208B0D4 _0208B0CC: mov r0, #0 b _0208B0E4 _0208B0D4: ldr r0, _0208B1F8 ; =_020AEDB0 mov r1, r6, lsl #1 ldrh r0, [r0, r1] and r0, r0, #1 _0208B0E4: cmp r0, #0 beq _0208B118 cmp r6, #0 blt _0208B0FC cmp r6, #0x80 blt _0208B104 _0208B0FC: mov r0, r6 b _0208B10C _0208B104: ldr r0, _0208B1FC ; =_020AED30 ldrb r0, [r0, r6] _0208B10C: sub r0, r0, #0x37 cmp r0, sb blt _0208B128 _0208B118: cmp r4, #0x10 moveq r4, #0x20 movne r4, #0x40 b _0208B194 _0208B128: cmp r6, #0 blt _0208B140 cmp r6, #0x80 bge _0208B140 ldr r0, _0208B1FC ; =_020AED30 ldrb r6, [r0, r6] _0208B140: sub r6, r6, #0x37 _0208B144: ldr r0, [sp, #4] mov r4, #0x10 cmp sl, r0 ldrhi r0, [sp, #0x38] movhi r1, #1 strhi r1, [r0] mul r0, sl, sb mov sl, r0 sub r0, fp, r0 cmp r6, r0 ldrhi r0, [sp, #0x38] movhi r1, #1 strhi r1, [r0] mov r1, #0 mov r0, r7 mov r2, r1 add sl, sl, r6 add r5, r5, #1 blx r8 mov r6, r0 _0208B194: ldr r0, [sp] cmp r5, r0 bgt _0208B1B0 cmp r6, fp beq _0208B1B0 tst r4, #0x60 beq _0208AEDC _0208B1B0: tst r4, #0x34 bne _0208B1C8 ldr r0, [sp, #0x30] mov sl, #0 str sl, [r0] b _0208B1DC _0208B1C8: ldr r0, [sp, #8] sub r1, r5, #1 add r1, r1, r0 ldr r0, [sp, #0x30] str r1, [r0] _0208B1DC: mov r0, r7 mov r1, r6 mov r2, #1 blx r8 mov r0, sl add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0208B1F8: .word _020AEDB0 _0208B1FC: .word _020AED30 arm_func_end sub_0208B008 arm_func_start sub_0208B200 sub_0208B200: ; 0x0208B200 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r0 mov lr, #0 mov r0, r2 mov r4, r1 add r2, sp, #0x1c str r5, [sp, #0xc] str lr, [sp, #0x10] str r2, [sp] add r1, sp, #0x18 str r1, [sp, #4] add ip, sp, #0x14 ldr r2, _0208B290 ; =sub_020895F4 add r3, sp, #0xc sub r1, lr, #0x80000001 str ip, [sp, #8] bl sub_0208AE18 cmp r4, #0 ldrne r1, [sp, #0x1c] addne r1, r5, r1 strne r1, [r4] ldr r1, [sp, #0x14] cmp r1, #0 beq _0208B27C ldr r0, _0208B294 ; =_022BCA70 mov r1, #0x22 str r1, [r0] add sp, sp, #0x20 mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} _0208B27C: ldr r1, [sp, #0x18] cmp r1, #0 rsbne r0, r0, #0 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0208B290: .word sub_020895F4 _0208B294: .word _022BCA70 arm_func_end sub_0208B200 arm_func_start sub_0208B298 sub_0208B298: ; 0x0208B298 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r0 mov lr, #0 mov r0, r2 mov r4, r1 add r2, sp, #0x1c str r5, [sp, #0xc] str lr, [sp, #0x10] str r2, [sp] add r1, sp, #0x18 str r1, [sp, #4] add ip, sp, #0x14 ldr r2, _0208B358 ; =sub_020895F4 add r3, sp, #0xc sub r1, lr, #0x80000001 str ip, [sp, #8] bl sub_0208AE18 cmp r4, #0 ldrne r1, [sp, #0x1c] addne r1, r5, r1 strne r1, [r4] ldr r1, [sp, #0x14] cmp r1, #0 bne _0208B324 ldr r2, [sp, #0x18] cmp r2, #0 bne _0208B314 mvn r1, #0x80000000 cmp r0, r1 bhi _0208B324 _0208B314: cmp r2, #0 beq _0208B348 cmp r0, #0x80000000 bls _0208B348 _0208B324: ldr r0, [sp, #0x18] ldr r1, _0208B35C ; =_022BCA70 mov r2, #0x22 cmp r0, #0 movne r0, #0x80000000 str r2, [r1] add sp, sp, #0x20 mvneq r0, #0x80000000 ldmia sp!, {r3, r4, r5, pc} _0208B348: cmp r2, #0 rsbne r0, r0, #0 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0208B358: .word sub_020895F4 _0208B35C: .word _022BCA70 arm_func_end sub_0208B298 arm_func_start sub_0208B360 sub_0208B360: ; 0x0208B360 ldr ip, _0208B370 ; =sub_0208B298 mov r1, #0 mov r2, #0xa bx ip .align 2, 0 _0208B370: .word sub_0208B298 arm_func_end sub_0208B360 arm_func_start sub_0208B374 sub_0208B374: ; 0x0208B374 cmp r0, #0 beq _0208B38C ldr r3, [r0, #4] mov r2, r3, lsl #0x16 movs r2, r2, lsr #0x1d bne _0208B394 _0208B38C: mov r0, #0 bx lr _0208B394: mov r2, r3, lsl #0x14 movs r2, r2, lsr #0x1e beq _0208B3B4 cmp r2, #1 beq _0208B3DC cmp r2, #2 moveq r1, #1 b _0208B3E0 _0208B3B4: cmp r1, #0 ble _0208B3CC bic r2, r3, #0xc00 orr r2, r2, #0x800 str r2, [r0, #4] b _0208B3E0 _0208B3CC: biclt r2, r3, #0xc00 orrlt r2, r2, #0x400 strlt r2, [r0, #4] b _0208B3E0 _0208B3DC: mvn r1, #0 _0208B3E0: mov r0, r1 bx lr arm_func_end sub_0208B374 arm_func_start wcslen wcslen: ; 0x0208B3E8 mvn r2, #0 _0208B3EC: ldrh r1, [r0], #2 add r2, r2, #1 cmp r1, #0 bne _0208B3EC mov r0, r2 bx lr arm_func_end wcslen arm_func_start sub_0208B404 sub_0208B404: ; 0x0208B404 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x80 ldr r8, [sp, #0xb4] ldr r6, [sp, #0xac] ldr r0, [sp, #0xb0] bic sb, r8, #0x80000000 orrs r1, sb, r0 ldr r7, [sp, #0xa8] bic r4, r6, #0x80000000 addeq sp, sp, #0x80 moveq r0, #0 ldreq r1, _0208B9B0 ; =0x3FF00000 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr ldr r1, _0208B9B4 ; =0x7FF00000 cmp r4, r1 bgt _0208B474 bne _0208B45C cmp r7, #0 bne _0208B474 _0208B45C: ldr r1, _0208B9B4 ; =0x7FF00000 cmp sb, r1 bgt _0208B474 bne _0208B498 cmp r0, #0 beq _0208B498 _0208B474: ldr r0, [sp, #0xa8] ldr r1, [sp, #0xac] ldr r2, [sp, #0xb0] ldr r3, [sp, #0xb4] bl sub_0208DEC8 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B498: cmp r6, #0 mov r5, #0 bge _0208B500 ldr r1, _0208B9B8 ; =0x43400000 cmp sb, r1 movge r5, #2 bge _0208B500 sub r1, r1, #0x3500000 cmp sb, r1 blt _0208B500 ldr r1, _0208B9BC ; =0xFFFFFC01 add r1, r1, sb, asr #20 cmp r1, #0x14 ble _0208B4E8 rsb r2, r1, #0x34 mov r1, r0, lsr r2 cmp r0, r1, lsl r2 andeq r1, r1, #1 rsbeq r5, r1, #2 b _0208B500 _0208B4E8: cmp r0, #0 rsbeq r2, r1, #0x14 moveq r1, sb, asr r2 cmpeq sb, r1, lsl r2 andeq r1, r1, #1 rsbeq r5, r1, #2 _0208B500: cmp r0, #0 bne _0208B65C ldr r1, _0208B9B4 ; =0x7FF00000 cmp sb, r1 bne _0208B5B4 add r0, r4, #0x100000 add r0, r0, #0xc0000000 orrs r0, r0, r7 bne _0208B548 ldr r0, [sp, #0xb0] ldr r1, [sp, #0xb4] mov r2, r0 mov r3, r1 bl sub_0208E904 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B548: sub r0, r1, #0x40000000 cmp r4, r0 blt _0208B578 cmp r8, #0 ldrge r0, [sp, #0xb0] ldrge r1, [sp, #0xb4] movlt r0, #0 add sp, sp, #0x80 movlt r1, r0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B578: cmp r8, #0 mov r0, #0 addge sp, sp, #0x80 movge r1, r0 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addge sp, sp, #0x10 bxge lr ldr r2, [sp, #0xb0] ldr r3, [sp, #0xb4] mov r1, r0 bl sub_0208E904 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B5B4: sub r0, r1, #0x40000000 cmp sb, r0 bne _0208B600 cmp r8, #0 ldrge r0, [sp, #0xa8] ldrge r1, [sp, #0xac] addge sp, sp, #0x80 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addge sp, sp, #0x10 bxge lr ldr r2, [sp, #0xa8] ldr r3, [sp, #0xac] sub r1, r1, #0x40000000 mov r0, #0 bl sub_020902AC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B600: cmp r8, #0x40000000 bne _0208B62C ldr r0, [sp, #0xa8] ldr r1, [sp, #0xac] mov r2, r0 mov r3, r1 bl sub_0208E3EC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B62C: ldr r0, _0208B9C0 ; =0x3FE00000 cmp r8, r0 bne _0208B65C cmp r6, #0 blt _0208B65C ldr r0, [sp, #0xa8] ldr r1, [sp, #0xac] bl sub_0208E750 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B65C: ldr r0, [sp, #0xa8] ldr r1, [sp, #0xac] bl sub_0208C5B4 str r0, [sp, #0x70] str r1, [sp, #0x74] cmp r7, #0 bne _0208B760 ldr r0, _0208B9B4 ; =0x7FF00000 cmp r4, r0 cmpne r4, #0 subne r0, r0, #0x40000000 cmpne r4, r0 bne _0208B760 ldr r2, [sp, #0x70] ldr r3, [sp, #0x74] str r2, [sp, #0x78] str r3, [sp, #0x7c] cmp r8, #0 bge _0208B6BC ldr r1, _0208B9B0 ; =0x3FF00000 mov r0, #0 bl sub_020902AC str r0, [sp, #0x78] str r1, [sp, #0x7c] _0208B6BC: cmp r6, #0 bge _0208B748 add r0, r4, #0x100000 add r0, r0, #0xc0000000 orrs r0, r0, r5 bne _0208B724 ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] mov r2, r0 mov r3, r1 bl sub_0208E904 mov r4, r0 mov r5, r1 ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] mov r2, r0 mov r3, r1 bl sub_0208E904 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, r5 bl sub_020902AC str r0, [sp, #0x78] str r1, [sp, #0x7c] b _0208B748 _0208B724: cmp r5, #1 bne _0208B748 mov r0, #0 ldr r2, [sp, #0x78] ldr r3, [sp, #0x7c] mov r1, r0 bl sub_0208E904 str r0, [sp, #0x78] str r1, [sp, #0x7c] _0208B748: ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B760: mov r0, r6, asr #0x1f add r7, r0, #1 orrs r0, r7, r5 bne _0208B798 ldr r0, _0208B9C4 ; =_020B2FBC ldr r1, _0208B9C8 ; =_022BCA70 ldr r0, [r0] mov r2, #0x21 str r2, [r1] bl __extendsfdf2 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B798: ldr r3, _0208B9CC ; =0x41E00000 cmp sb, r3 ble _0208BA9C add r0, r3, #0x2100000 cmp sb, r0 ble _0208B808 ldr r1, _0208B9D0 ; =0x3FEFFFFF cmp r4, r1 bgt _0208B7DC cmp r8, #0 mov r0, #0 addlt r1, r1, #0x40000001 add sp, sp, #0x80 movge r1, r0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B7DC: add r0, r1, #1 cmp r4, r0 blt _0208B808 cmp r8, #0 mov r0, #0 addgt r1, r1, #0x40000001 add sp, sp, #0x80 movle r1, r0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B808: ldr r2, _0208B9D0 ; =0x3FEFFFFF cmp r4, r2 bge _0208B834 cmp r8, #0 mov r0, #0 addlt r1, r2, #0x40000001 add sp, sp, #0x80 movge r1, r0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B834: add r0, r2, #1 cmp r4, r0 ble _0208B860 cmp r8, #0 mov r0, #0 addgt r1, r2, #0x40000001 add sp, sp, #0x80 movle r1, r0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208B860: ldr r0, [sp, #0xa8] ldr r1, [sp, #0xac] add r3, r2, #1 mov r2, #0 bl sub_0208E904 mov r2, r0 mov r3, r1 str r0, [sp, #0x50] str r1, [sp, #0x54] bl sub_0208E3EC mov r6, r1 mov r4, r0 ldr r2, [sp, #0x50] ldr r3, [sp, #0x54] ldr r1, _0208B9D4 ; =0x3FD00000 mov r0, #0 bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208B9D8 ; =0x55555555 sub r1, r0, #0x15800000 bl sub_0208E904 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, #0 ldr r1, _0208B9C0 ; =0x3FE00000 bl sub_0208E904 mov r2, r0 mov r0, r4 mov r3, r1 mov r1, r6 bl sub_0208E3EC mov r6, r0 mov r8, r1 mov r0, #0x60000000 ldr r1, _0208B9DC ; =0x3FF71547 ldr r2, [sp, #0x50] ldr r3, [sp, #0x54] bl sub_0208E3EC mov r4, r0 mov sb, r1 ldr r0, _0208B9E0 ; =0xF85DDF44 ldr r1, _0208B9E4 ; =0x3E54AE0B ldr r2, [sp, #0x50] ldr r3, [sp, #0x54] bl sub_0208E3EC mov fp, r0 mov sl, r1 ldr r0, _0208B9E8 ; =0x652B82FE ldr r1, _0208B9DC ; =0x3FF71547 mov r2, r6 mov r3, r8 bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, fp mov r1, sl bl sub_0208E904 mov r6, r0 mov r8, r1 mov r0, r4 mov r1, sb mov r2, r6 mov r3, r8 bl sub_0208DEC8 mov r2, r4 mov r3, sb str r1, [sp, #0x5c] mov r0, #0 str r0, [sp, #0x58] bl sub_0208E904 mov r2, r0 mov r0, r6 mov r3, r1 mov r1, r8 bl sub_0208E904 mov r4, r0 mov r8, r1 b _0208BFF8 .align 2, 0 _0208B9B0: .word 0x3FF00000 _0208B9B4: .word 0x7FF00000 _0208B9B8: .word 0x43400000 _0208B9BC: .word 0xFFFFFC01 _0208B9C0: .word 0x3FE00000 _0208B9C4: .word _020B2FBC _0208B9C8: .word _022BCA70 _0208B9CC: .word 0x41E00000 _0208B9D0: .word 0x3FEFFFFF _0208B9D4: .word 0x3FD00000 _0208B9D8: .word 0x55555555 _0208B9DC: .word 0x3FF71547 _0208B9E0: .word 0xF85DDF44 _0208B9E4: .word 0x3E54AE0B _0208B9E8: .word 0x652B82FE _0208B9EC: .word 0x0003988E _0208B9F0: .word 0x000BB67A _0208B9F4: .word _020AEED0 _0208B9F8: .word 0x4A454EEF _0208B9FC: .word 0x3FCA7E28 _0208BA00: .word 0x93C9DB65 _0208BA04: .word 0x3FCD864A _0208BA08: .word 0xA91D4101 _0208BA0C: .word 0x3FD17460 _0208BA10: .word 0x518F264D _0208BA14: .word 0x3FD55555 _0208BA18: .word 0xDB6FABFF _0208BA1C: .word 0x3FDB6DB6 _0208BA20: .word 0x33333303 _0208BA24: .word 0x3FE33333 _0208BA28: .word 0x40080000 _0208BA2C: .word 0x3FEEC709 _0208BA30: .word 0x145B01F5 _0208BA34: .word 0xBE3E2FE0 _0208BA38: .word 0xDC3A03FD _0208BA3C: .word _020AEEE0 _0208BA40: .word _020AEEC0 _0208BA44: .word 0x40900000 _0208BA48: .word 0x8800759C _0208BA4C: .word 0x7E37E43C _0208BA50: .word 0x3C971547 _0208BA54: .word 0x3F6F3400 _0208BA58: .word 0xC2F8F359 _0208BA5C: .word 0x01A56E1F _0208BA60: .word 0x3FE62E43 _0208BA64: .word 0xFEFA39EF _0208BA68: .word 0x3FE62E42 _0208BA6C: .word 0x0CA86C39 _0208BA70: .word 0xBE205C61 _0208BA74: .word 0x72BEA4D0 _0208BA78: .word 0x3E663769 _0208BA7C: .word 0xC5D26BF1 _0208BA80: .word 0xBEBBBD41 _0208BA84: .word 0xAF25DE2C _0208BA88: .word 0x3F11566A _0208BA8C: .word 0x16BEBD93 _0208BA90: .word 0xBF66C16C _0208BA94: .word 0x5555553E _0208BA98: .word 0x3FC55555 _0208BA9C: cmp r4, #0x100000 mov r6, #0 bge _0208BACC ldr r0, [sp, #0x70] ldr r1, [sp, #0x74] mov r2, r6 add r3, r3, #0x1600000 bl sub_0208E3EC mov r4, r1 str r0, [sp, #0x70] str r4, [sp, #0x74] sub r6, r6, #0x35 _0208BACC: ldr r0, _0208B9BC ; =0xFFFFFC01 ldr r1, _0208B9EC ; =0x0003988E and r2, r4, r0, lsr #12 add r0, r0, r4, asr #20 orr sb, r2, #0xff00000 cmp r2, r1 add r6, r6, r0 orr sb, sb, #0x30000000 movle r8, #0 ble _0208BB0C ldr r0, _0208B9F0 ; =0x000BB67A cmp r2, r0 movlt r8, #1 addge r6, r6, #1 subge sb, sb, #0x100000 movge r8, #0 _0208BB0C: ldr r2, _0208B9F4 ; =_020AEED0 ldr r0, [sp, #0x70] add r1, r2, r8, lsl #3 ldr r3, [r1, #4] ldr r2, [r2, r8, lsl #3] mov r1, sb str sb, [sp, #0x74] bl sub_0208E904 ldr r2, _0208B9F4 ; =_020AEED0 mov sl, r0 add r3, r2, r8, lsl #3 mov r4, r1 ldr r0, [sp, #0x70] ldr r2, [r2, r8, lsl #3] ldr r3, [r3, #4] mov r1, sb bl sub_0208DEC8 mov r3, r1 mov r2, r0 ldr r1, _0208B9B0 ; =0x3FF00000 mov r0, #0 bl sub_020902AC str r1, [sp, #0x24] mov fp, r0 ldr r3, [sp, #0x24] mov r0, sl mov r1, r4 mov r2, fp bl sub_0208E3EC mov r2, sb, asr #1 orr r2, r2, #0x20000000 mov sb, r1 add r2, r2, #0x80000 add r1, r2, r8, lsl #18 ldr r2, _0208B9F4 ; =_020AEED0 str r0, [sp, #0x28] add r3, r2, r8, lsl #3 mov r0, #0 ldr r2, [r2, r8, lsl #3] ldr r3, [r3, #4] str sb, [sp, #0x4c] str r1, [sp, #0x44] str r0, [sp, #0x48] str r0, [sp, #0x40] bl sub_0208E904 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x70] ldr r1, [sp, #0x74] bl sub_0208E904 str r0, [sp, #0x2c] str r1, [sp, #0x1c] ldr r0, [sp, #0x48] ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] mov r1, sb bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, sl mov r1, r4 bl sub_0208E904 mov sl, r0 mov r4, r1 ldr r2, [sp, #0x2c] ldr r3, [sp, #0x1c] ldr r0, [sp, #0x48] mov r1, sb bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, sl mov r1, r4 bl sub_0208E904 mov r3, r1 mov r2, r0 ldr r1, [sp, #0x24] mov r0, fp bl sub_0208E3EC str r0, [sp, #0x30] ldr r0, [sp, #0x28] str r1, [sp, #0x14] mov r1, sb mov r2, r0 mov r3, sb bl sub_0208E3EC mov r4, r0 mov sl, r1 mov r2, r4 mov r3, sl bl sub_0208E3EC str r0, [sp, #0x34] mov fp, r1 ldr r0, _0208B9F8 ; =0x4A454EEF ldr r1, _0208B9FC ; =0x3FCA7E28 mov r2, r4 mov r3, sl bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA00 ; =0x93C9DB65 ldr r1, _0208BA04 ; =0x3FCD864A bl sub_0208DEC8 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA08 ; =0xA91D4101 ldr r1, _0208BA0C ; =0x3FD17460 bl sub_0208DEC8 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA10 ; =0x518F264D ldr r1, _0208BA14 ; =0x3FD55555 bl sub_0208DEC8 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA18 ; =0xDB6FABFF ldr r1, _0208BA1C ; =0x3FDB6DB6 bl sub_0208DEC8 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA20 ; =0x33333303 ldr r1, _0208BA24 ; =0x3FE33333 bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x34] mov r1, fp bl sub_0208E3EC mov r4, r0 mov sl, r1 ldr r0, [sp, #0x48] ldr r2, [sp, #0x28] mov r1, sb mov r3, sb bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x30] ldr r1, [sp, #0x14] bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208DEC8 mov r4, r0 ldr r0, [sp, #0x48] mov sl, r1 mov r1, sb mov r2, r0 mov r3, r1 bl sub_0208E3EC str r1, [sp, #0xc] mov fp, r0 ldr r1, _0208BA28 ; =0x40080000 ldr r3, [sp, #0xc] mov r0, #0 mov r2, fp bl sub_0208DEC8 mov r2, r4 mov r3, sl bl sub_0208DEC8 mov r0, #0 ldr r3, _0208BA28 ; =0x40080000 mov r2, r0 str r1, [sp, #0x44] str r0, [sp, #0x40] bl sub_0208E904 ldr r3, [sp, #0xc] mov r2, fp bl sub_0208E904 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208E904 str r0, [sp, #0x38] str r1, [sp, #4] ldr r0, [sp, #0x48] ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] mov r1, sb bl sub_0208E3EC mov r4, r0 mov sl, r1 ldr r0, [sp, #0x30] ldr r1, [sp, #0x14] ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] bl sub_0208E3EC str r0, [sp, #0x3c] mov fp, r1 ldr r0, [sp, #0x38] ldr r1, [sp, #4] ldr r2, [sp, #0x28] mov r3, sb bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, [sp, #0x3c] mov r1, fp bl sub_0208DEC8 mov sb, r0 mov fp, r1 mov r0, r4 mov r1, sl mov r2, sb mov r3, fp bl sub_0208DEC8 mov r0, #0 mov r2, r4 mov r3, sl str r1, [sp, #0x6c] str r0, [sp, #0x68] bl sub_0208E904 mov r2, r0 mov r3, r1 mov r0, sb mov r1, fp bl sub_0208E904 mov sl, r1 mov fp, r0 ldr r1, _0208BA2C ; =0x3FEEC709 ldr r2, [sp, #0x68] ldr r3, [sp, #0x6c] mov r0, #0xe0000000 bl sub_0208E3EC mov r4, r0 mov sb, r1 ldr r0, _0208BA30 ; =0x145B01F5 ldr r1, _0208BA34 ; =0xBE3E2FE0 ldr r2, [sp, #0x68] ldr r3, [sp, #0x6c] bl sub_0208E3EC mov r2, fp mov r3, sl mov fp, r0 mov sl, r1 ldr r0, _0208BA38 ; =0xDC3A03FD ldr r1, _0208BA2C ; =0x3FEEC709 bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, fp mov r1, sl bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, _0208BA3C ; =_020AEEE0 add r1, r0, r8, lsl #3 ldr r0, [r0, r8, lsl #3] ldr r1, [r1, #4] bl sub_0208DEC8 mov fp, r0 mov sl, r1 mov r0, r6 bl sub_0208E370 str r0, [sp, #0x50] str r1, [sp, #0x54] mov r0, r4 mov r1, sb mov r2, fp mov r3, sl bl sub_0208DEC8 ldr r2, _0208BA40 ; =_020AEEC0 add r3, r2, r8, lsl #3 ldr r2, [r2, r8, lsl #3] ldr r3, [r3, #4] bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] bl sub_0208DEC8 str r1, [sp, #0x5c] mov r0, #0 str r0, [sp, #0x58] ldr r2, [sp, #0x50] ldr r3, [sp, #0x54] bl sub_0208E904 ldr r2, _0208BA40 ; =_020AEEC0 add r3, r2, r8, lsl #3 ldr r2, [r2, r8, lsl #3] ldr r3, [r3, #4] bl sub_0208E904 mov r2, r4 mov r3, sb bl sub_0208E904 mov r2, r0 mov r0, fp mov r3, r1 mov r1, sl bl sub_0208E904 mov r4, r0 mov r8, r1 _0208BFF8: sub r0, r5, #1 ldr r1, [sp, #0xb4] orrs r0, r7, r0 ldr r5, _0208B9B0 ; =0x3FF00000 mov r2, #0 ldr r0, [sp, #0xb0] mov r3, r1 mov r6, #0 subeq r5, r5, #0x80000000 str r1, [sp, #0x64] str r2, [sp, #0x60] bl sub_0208E904 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x58] ldr r1, [sp, #0x5c] bl sub_0208E3EC mov r7, r0 mov sb, r1 ldr r0, [sp, #0xb0] ldr r1, [sp, #0xb4] mov r2, r4 mov r3, r8 bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, r7 mov r1, sb bl sub_0208DEC8 mov r7, r0 mov r8, r1 ldr r0, [sp, #0x60] ldr r1, [sp, #0x64] ldr r2, [sp, #0x58] ldr r3, [sp, #0x5c] bl sub_0208E3EC mov r2, r0 mov r3, r1 mov r0, r7 mov r1, r8 str r2, [sp, #0x68] str r3, [sp, #0x6c] bl sub_0208DEC8 mov sb, r1 ldr r2, _0208BA44 ; =0x40900000 str r0, [sp, #0x78] str sb, [sp, #0x7c] cmp sb, r2 blt _0208C184 add r1, sb, #0xf700000 add r1, r1, #0xb0000000 orrs r0, r1, r0 beq _0208C104 ldr r0, _0208BA48 ; =0x8800759C ldr r1, _0208BA4C ; =0x7E37E43C mov r2, r6 mov r3, r5 bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA48 ; =0x8800759C ldr r1, _0208BA4C ; =0x7E37E43C bl sub_0208E3EC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208C104: ldr r0, _0208B9E8 ; =0x652B82FE ldr r1, _0208BA50 ; =0x3C971547 mov r2, r7 mov r3, r8 bl sub_0208DEC8 mov r4, r0 mov sl, r1 ldr r0, [sp, #0x78] ldr r2, [sp, #0x68] ldr r3, [sp, #0x6c] mov r1, sb bl sub_0208E904 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sl bl sub_0208EEDC bls _0208C238 ldr r0, _0208BA48 ; =0x8800759C ldr r1, _0208BA4C ; =0x7E37E43C mov r2, r6 mov r3, r5 bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA48 ; =0x8800759C ldr r1, _0208BA4C ; =0x7E37E43C bl sub_0208E3EC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208C184: bic r3, sb, #0x80000000 add r2, r2, #0xcc00 cmp r3, r2 blt _0208C238 ldr r2, _0208BA54 ; =0x3F6F3400 add r2, sb, r2 orrs r2, r2, r0 beq _0208C1DC ldr r0, _0208BA58 ; =0xC2F8F359 ldr r1, _0208BA5C ; =0x01A56E1F mov r2, r6 mov r3, r5 bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA58 ; =0xC2F8F359 ldr r1, _0208BA5C ; =0x01A56E1F bl sub_0208E3EC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208C1DC: ldr r2, [sp, #0x68] ldr r3, [sp, #0x6c] bl sub_0208E904 mov r2, r0 mov r3, r1 mov r0, r7 mov r1, r8 bl sub_0208EF74 bhi _0208C238 ldr r0, _0208BA58 ; =0xC2F8F359 ldr r1, _0208BA5C ; =0x01A56E1F mov r2, r6 mov r3, r5 bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA58 ; =0xC2F8F359 ldr r1, _0208BA5C ; =0x01A56E1F bl sub_0208E3EC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0208C238: ldr r0, _0208B9BC ; =0xFFFFFC01 bic r3, sb, #0x80000000 ldr r1, _0208B9C0 ; =0x3FE00000 add r2, r0, r3, asr #20 cmp r3, r1 mov r4, #0 ble _0208C2B4 mov r1, #0x100000 add r2, r2, #1 add r2, sb, r1, asr r2 bic r3, r2, #0x80000000 add r0, r0, r3, asr #20 sub r3, r1, #1 mvn r3, r3, asr r0 sub r1, r1, #1 and r1, r2, r1 and r2, r2, r3 str r2, [sp, #0x54] str r4, [sp, #0x50] orr r1, r1, #0x100000 rsb r0, r0, #0x14 mov r4, r1, asr r0 cmp sb, #0 ldr r0, [sp, #0x68] ldr r1, [sp, #0x6c] ldr r2, [sp, #0x50] ldr r3, [sp, #0x54] rsblt r4, r4, #0 bl sub_0208E904 str r0, [sp, #0x68] str r1, [sp, #0x6c] _0208C2B4: ldr r2, [sp, #0x68] ldr r3, [sp, #0x6c] mov r0, r7 mov r1, r8 bl sub_0208DEC8 mov r3, r1 mov r0, #0 ldr r1, _0208BA60 ; =0x3FE62E43 mov r2, r0 str r3, [sp, #0x54] str r0, [sp, #0x50] bl sub_0208E3EC mov sb, r0 mov sl, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] ldr r2, [sp, #0x68] ldr r3, [sp, #0x6c] bl sub_0208E904 mov r2, r0 mov r0, r7 mov r3, r1 mov r1, r8 bl sub_0208E904 mov r2, r0 mov r3, r1 ldr r0, _0208BA64 ; =0xFEFA39EF ldr r1, _0208BA68 ; =0x3FE62E42 bl sub_0208E3EC mov r7, r0 mov r8, r1 ldr r0, _0208BA6C ; =0x0CA86C39 ldr r1, _0208BA70 ; =0xBE205C61 ldr r2, [sp, #0x50] ldr r3, [sp, #0x54] bl sub_0208E3EC mov r2, r0 mov r0, r7 mov r3, r1 mov r1, r8 bl sub_0208DEC8 mov r7, r0 mov r8, r1 mov r0, sb mov r1, sl mov r2, r7 mov r3, r8 bl sub_0208DEC8 mov r2, sb mov r3, sl str r0, [sp, #0x78] str r1, [sp, #0x7c] bl sub_0208E904 mov r2, r0 mov r3, r1 mov r0, r7 mov r1, r8 bl sub_0208E904 mov r8, r0 mov sb, r1 ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] mov r2, r0 mov r3, r1 bl sub_0208E3EC mov r2, r0 str r2, [sp, #0x50] mov r3, r1 str r3, [sp, #0x54] ldr r0, _0208BA74 ; =0x72BEA4D0 ldr r1, _0208BA78 ; =0x3E663769 bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA7C ; =0xC5D26BF1 ldr r1, _0208BA80 ; =0xBEBBBD41 bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA84 ; =0xAF25DE2C ldr r1, _0208BA88 ; =0x3F11566A bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA8C ; =0x16BEBD93 ldr r1, _0208BA90 ; =0xBF66C16C bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, _0208BA94 ; =0x5555553E ldr r1, _0208BA98 ; =0x3FC55555 bl sub_0208DEC8 mov r2, r0 mov r3, r1 ldr r0, [sp, #0x50] ldr r1, [sp, #0x54] bl sub_0208E3EC mov r2, r0 mov r3, r1 ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] bl sub_0208E904 mov r2, r0 str r2, [sp, #0x58] mov r3, r1 str r3, [sp, #0x5c] ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] bl sub_0208E3EC mov r7, r0 mov sl, r1 ldr r0, [sp, #0x58] ldr r1, [sp, #0x5c] mov r2, #0 mov r3, #0x40000000 bl sub_0208E904 mov r2, r0 mov r0, r7 mov r3, r1 mov r1, sl bl sub_020902AC mov r7, r0 mov sl, r1 ldr r0, [sp, #0x78] ldr r1, [sp, #0x7c] mov r2, r8 mov r3, sb bl sub_0208E3EC mov r2, r0 mov r0, r8 mov r3, r1 mov r1, sb bl sub_0208DEC8 mov r2, r0 mov r0, r7 mov r3, r1 mov r1, sl bl sub_0208E904 ldr r2, [sp, #0x78] ldr r3, [sp, #0x7c] bl sub_0208E904 mov r3, r1 mov r2, r0 ldr r1, _0208B9B0 ; =0x3FF00000 mov r0, #0 bl sub_0208E904 add r3, r1, r4, lsl #20 mov r2, r3, asr #0x14 str r0, [sp, #0x78] cmp r2, #0 str r1, [sp, #0x7c] addgt r0, sp, #0x78 strgt r3, [r0, #4] bgt _0208C568 mov r2, r4 bl sub_0208DE1C str r0, [sp, #0x78] str r1, [sp, #0x7c] _0208C568: ldr r2, [sp, #0x78] ldr r3, [sp, #0x7c] mov r0, r6 mov r1, r5 bl sub_0208E3EC add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr arm_func_end sub_0208B404 arm_func_start sub_0208C58C sub_0208C58C: ; 0x0208C58C stmdb sp!, {r0, r1, r2, r3} ldr r1, [sp, #4] ldr r0, [sp, #0xc] bic r1, r1, #0x80000000 and r0, r0, #0x80000000 orr r1, r1, r0 ldr r0, [sp] str r1, [sp, #4] add sp, sp, #0x10 bx lr arm_func_end sub_0208C58C arm_func_start sub_0208C5B4 sub_0208C5B4: ; 0x0208C5B4 stmdb sp!, {r0, r1, r2, r3} add r2, sp, #0 ldr r1, [r2, #4] ldr r0, [sp] bic r1, r1, #0x80000000 str r1, [r2, #4] add sp, sp, #0x10 bx lr arm_func_end sub_0208C5B4 arm_func_start sub_0208C5D4 sub_0208C5D4: ; 0x0208C5D4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} ldr r1, [sp, #0xc] ldr r0, _0208C680 ; =0x7FF00000 mov r4, r2 bic r3, r1, #0x80000000 mov r2, #0 str r2, [r4] cmp r3, r0 ldr r0, [sp, #8] bge _0208C608 orrs r0, r3, r0 bne _0208C61C _0208C608: ldr r0, [sp, #8] ldr r1, [sp, #0xc] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C61C: cmp r3, #0x100000 bge _0208C648 ldr r0, [sp, #8] ldr r1, [sp, #0xc] ldr r3, _0208C684 ; =0x43500000 bl sub_0208E3EC mvn r2, #0x35 str r0, [sp, #8] str r1, [sp, #0xc] str r2, [r4] bic r3, r1, #0x80000000 _0208C648: ldr r2, _0208C688 ; =0x800FFFFF ldr r0, _0208C68C ; =0xFFFFFC02 and r1, r1, r2 orr r1, r1, #0xfe00000 orr r1, r1, #0x30000000 ldr r2, [r4] add r0, r0, r3, asr #20 add r2, r2, r0 ldr r0, [sp, #8] str r2, [r4] str r1, [sp, #0xc] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 _0208C680: .word 0x7FF00000 _0208C684: .word 0x43500000 _0208C688: .word 0x800FFFFF _0208C68C: .word 0xFFFFFC02 arm_func_end sub_0208C5D4 arm_func_start sub_0208C690 sub_0208C690: ; 0x0208C690 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} ldr r0, [sp, #8] ldr r1, [sp, #0xc] mov r4, r2 bl sub_0208DDAC cmp r0, #2 ble _0208C6C8 mov r0, #0 ldr r2, [sp, #8] ldr r3, [sp, #0xc] mov r1, r0 bl sub_0208F0B4 bne _0208C6DC _0208C6C8: ldr r0, [sp, #8] ldr r1, [sp, #0xc] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C6DC: ldr r3, [sp, #0xc] ldr r0, _0208C8B0 ; =0x7FF00000 ldr r1, [sp, #8] and r0, r3, r0 movs ip, r0, asr #0x14 bne _0208C768 bic r0, r3, #0x80000000 orrs r0, r1, r0 ldreq r0, [sp, #8] ldreq r1, [sp, #0xc] ldmeqia sp!, {r4, lr} addeq sp, sp, #0x10 bxeq lr ldr r0, [sp, #8] ldr r1, [sp, #0xc] ldr r3, _0208C8B4 ; =0x43500000 mov r2, #0 bl sub_0208E3EC mov r3, r1 ldr r1, _0208C8B0 ; =0x7FF00000 ldr ip, _0208C8B8 ; =0xFFFF3CB0 and r1, r3, r1 mov r2, r0 mov r0, r1, asr #0x14 str r2, [sp, #8] str r3, [sp, #0xc] cmp r4, ip sub ip, r0, #0x36 bge _0208C768 ldr r0, _0208C8BC ; =0xC2F8F359 ldr r1, _0208C8C0 ; =0x01A56E1F bl sub_0208E3EC ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C768: ldr r0, _0208C8C4 ; =0x000007FF cmp ip, r0 bne _0208C794 ldr r0, [sp, #8] ldr r1, [sp, #0xc] mov r2, r0 mov r3, r1 bl sub_0208DEC8 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C794: add r2, ip, r4 sub r0, r0, #1 cmp r2, r0 ble _0208C7D8 ldr r2, [sp, #8] ldr r3, [sp, #0xc] ldr r0, _0208C8C8 ; =0x8800759C ldr r1, _0208C8CC ; =0x7E37E43C bl sub_0208C58C mov r2, r0 mov r3, r1 ldr r0, _0208C8C8 ; =0x8800759C ldr r1, _0208C8CC ; =0x7E37E43C bl sub_0208E3EC ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C7D8: cmp r2, #0 ble _0208C800 ldr r1, _0208C8D0 ; =0x800FFFFF ldr r0, [sp, #8] and r1, r3, r1 orr r1, r1, r2, lsl #20 str r1, [sp, #0xc] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C800: mvn r0, #0x35 cmp r2, r0 bgt _0208C880 ldr r0, _0208C8D4 ; =0x0000C350 cmp r4, r0 ble _0208C84C ldr r2, [sp, #8] ldr r3, [sp, #0xc] ldr r0, _0208C8C8 ; =0x8800759C ldr r1, _0208C8CC ; =0x7E37E43C bl sub_0208C58C mov r2, r0 mov r3, r1 ldr r0, _0208C8C8 ; =0x8800759C ldr r1, _0208C8CC ; =0x7E37E43C bl sub_0208E3EC ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C84C: ldr r2, [sp, #8] ldr r3, [sp, #0xc] ldr r0, _0208C8BC ; =0xC2F8F359 ldr r1, _0208C8C0 ; =0x01A56E1F bl sub_0208C58C mov r2, r0 mov r3, r1 ldr r0, _0208C8BC ; =0xC2F8F359 ldr r1, _0208C8C0 ; =0x01A56E1F bl sub_0208E3EC ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0208C880: ldr r0, _0208C8D0 ; =0x800FFFFF add r1, r2, #0x36 and r0, r3, r0 orr r3, r0, r1, lsl #20 ldr r2, [sp, #8] ldr r1, _0208C8D8 ; =0x3C900000 mov r0, #0 str r3, [sp, #0xc] bl sub_0208E3EC ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 _0208C8B0: .word 0x7FF00000 _0208C8B4: .word 0x43500000 _0208C8B8: .word 0xFFFF3CB0 _0208C8BC: .word 0xC2F8F359 _0208C8C0: .word 0x01A56E1F _0208C8C4: .word 0x000007FF _0208C8C8: .word 0x8800759C _0208C8CC: .word 0x7E37E43C _0208C8D0: .word 0x800FFFFF _0208C8D4: .word 0x0000C350 _0208C8D8: .word 0x3C900000 arm_func_end sub_0208C690 arm_func_start sub_0208C8DC sub_0208C8DC: ; 0x0208C8DC ldr ip, _0208C8E4 ; =sub_0208B404 bx ip .align 2, 0 _0208C8E4: .word sub_0208B404 arm_func_end sub_0208C8DC arm_func_start sub_0208C8E8 sub_0208C8E8: ; 0x0208C8E8 add r3, r0, #5 ldrb r2, [r3, r1] add ip, r3, r1 cmp r2, #5 movhi r0, #1 bxhi lr mvnlo r0, #0 bxlo lr ldrb r2, [r0, #4] add ip, ip, #1 add r3, r3, r2 cmp ip, r3 bhs _0208C938 _0208C91C: ldrb r2, [ip] cmp r2, #0 movne r0, #1 bxne lr add ip, ip, #1 cmp ip, r3 blo _0208C91C _0208C938: sub r1, r1, #1 add r0, r0, r1 ldrb r0, [r0, #5] tst r0, #1 movne r0, #1 mvneq r0, #0 bx lr arm_func_end sub_0208C8E8 arm_func_start sub_0208C954 sub_0208C954: ; 0x0208C954 add r3, r0, #5 add r1, r3, r1 sub ip, r1, #1 mov r1, #0 _0208C964: ldrb r2, [ip] cmp r2, #9 addlo r0, r2, #1 strlob r0, [ip] bxlo lr cmp ip, r3 bne _0208C998 mov r1, #1 strb r1, [ip] ldrsh r1, [r0, #2] add r1, r1, #1 strh r1, [r0, #2] bx lr _0208C998: strb r1, [ip], #-1 b _0208C964 arm_func_end sub_0208C954 arm_func_start sub_0208C9A0 sub_0208C9A0: ; 0x0208C9A0 bx lr arm_func_end sub_0208C9A0 arm_func_start sub_0208C9A4 sub_0208C9A4: ; 0x0208C9A4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 cmp r4, #0 ldmleia sp!, {r3, r4, r5, pc} ldrb r2, [r5, #4] cmp r4, r2 ldmgeia sp!, {r3, r4, r5, pc} bl sub_0208C8E8 strb r4, [r5, #4] cmp r0, #0 ldmltia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl sub_0208C954 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0208C9A4 arm_func_start sub_0208C9E4 sub_0208C9E4: ; 0x0208C9E4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r0, #0 mov r8, r2 strb r0, [sl] mov sb, r1 cmp r8, #0 strb r0, [sl, #4] cmpeq sb, #0 beq _0208CA70 mov r6, #0xa mov fp, r0 mov r5, r0 mov r4, r0 _0208CA1C: ldrb r1, [sl, #4] mov r0, sb mov r2, r6 add r3, r1, #1 mov r7, r1 strb r3, [sl, #4] mov r1, r8 mov r3, fp bl sub_0208FE48 add r1, sl, r7 strb r0, [r1, #5] mov r0, sb mov r1, r8 mov r2, #0xa mov r3, #0 bl sub_0208FE3C mov r8, r1 mov sb, r0 cmp r8, r5 cmpeq sb, r4 bne _0208CA1C _0208CA70: ldrb r0, [sl, #4] add r2, sl, #5 add r0, r2, r0 sub r3, r0, #1 cmp r2, r3 bhs _0208CAA0 _0208CA88: ldrb r0, [r3] ldrb r1, [r2] strb r0, [r2], #1 strb r1, [r3], #-1 cmp r2, r3 blo _0208CA88 _0208CAA0: ldrb r0, [sl, #4] sub r0, r0, #1 strh r0, [sl, #2] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end sub_0208C9E4 arm_func_start sub_0208CAB0 sub_0208CAB0: ; 0x0208CAB0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x40 ldrb r6, [r1, #4] ldrb r5, [r2, #4] mov r4, #0 add r3, sp, #0 add r5, r6, r5 sub r5, r5, #1 add r3, r3, r5 add r6, r3, #1 mov r7, r6 strb r4, [r0] cmp r5, #0 ble _0208CB78 add lr, r1, #5 add fp, r2, #5 _0208CAF0: ldrb r3, [r2, #4] sub sl, r3, #1 sub r3, r5, sl subs sb, r3, #1 ldrb r3, [r1, #4] movmi sb, #0 submi sl, r5, #1 add r8, sl, #1 sub r3, r3, sb cmp r8, r3 movgt r8, r3 add sl, fp, sl add sb, lr, sb cmp r8, #0 ble _0208CB44 _0208CB2C: ldrb ip, [sb], #1 ldrb r3, [sl], #-1 sub r8, r8, #1 cmp r8, #0 mla r4, ip, r3, r4 bgt _0208CB2C _0208CB44: ldr r3, _0208CC30 ; =0xCCCCCCCD sub r5, r5, #1 umull r8, sb, r4, r3 mov sb, sb, lsr #3 cmp r5, #0 mov sl, #0xa umull r8, sb, sl, sb sub sb, r4, r8 strb sb, [r6, #-1]! mov r8, r4 umull r3, r4, r8, r3 mov r4, r4, lsr #3 bgt _0208CAF0 _0208CB78: ldrsh r3, [r1, #2] ldrsh r1, [r2, #2] cmp r4, #0 add r1, r3, r1 strh r1, [r0, #2] beq _0208CBA0 strb r4, [r6, #-1]! ldrsh r1, [r0, #2] add r1, r1, #1 strh r1, [r0, #2] _0208CBA0: mov r3, #0 b _0208CBB8 _0208CBA8: ldrb r2, [r6], #1 add r1, r0, r3 add r3, r3, #1 strb r2, [r1, #5] _0208CBB8: cmp r3, #0x20 bge _0208CBC8 cmp r6, r7 blo _0208CBA8 _0208CBC8: cmp r6, r7 addhs sp, sp, #0x40 strb r3, [r0, #4] ldmhsia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r1, [r6] cmp r1, #5 addlo sp, sp, #0x40 ldmloia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bne _0208CC20 add r2, r6, #1 cmp r2, r7 bhs _0208CC10 _0208CBF8: ldrb r1, [r2] cmp r1, #0 bne _0208CC20 add r2, r2, #1 cmp r2, r7 blo _0208CBF8 _0208CC10: ldrb r1, [r6, #-1] tst r1, #1 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208CC20: ldrb r1, [r0, #4] bl sub_0208C954 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0208CC30: .word 0xCCCCCCCD arm_func_end sub_0208CAB0 arm_func_start sub_0208CC34 sub_0208CC34: ; 0x0208CC34 stmdb sp!, {r3, lr} strh r2, [r0, #2] mov ip, #0 strb ip, [r0] b _0208CC5C _0208CC48: ldrsb r3, [r1], #1 add r2, r0, ip add ip, ip, #1 sub r3, r3, #0x30 strb r3, [r2, #5] _0208CC5C: cmp ip, #0x20 bge _0208CC70 ldrsb r2, [r1] cmp r2, #0 bne _0208CC48 _0208CC70: strb ip, [r0, #4] ldrsb r2, [r1] cmp r2, #0 ldmeqia sp!, {r3, pc} cmp r2, #5 ldmltia sp!, {r3, pc} bgt _0208CCC4 ldrsb r2, [r1, #1] add r1, r1, #1 cmp r2, #0 beq _0208CCB0 _0208CC9C: cmp r2, #0x30 bne _0208CCC4 ldrsb r2, [r1, #1]! cmp r2, #0 bne _0208CC9C _0208CCB0: sub r1, ip, #1 add r1, r0, r1 ldrb r1, [r1, #5] tst r1, #1 ldmeqia sp!, {r3, pc} _0208CCC4: ldrb r1, [r0, #4] bl sub_0208C954 ldmia sp!, {r3, pc} arm_func_end sub_0208CC34 arm_func_start sub_0208CCD0 sub_0208CCD0: ; 0x0208CCD0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c mov r4, r1 mvn r2, #0x34 mov r5, r0 cmp r4, r2 bgt _0208CD00 bge _0208CDCC sub r0, r2, #0xb cmp r4, r0 beq _0208CDB4 b _0208CF5C _0208CD00: add r1, r4, #0x20 cmp r1, #0x28 addls pc, pc, r1, lsl #2 b _0208CF5C _0208CD10: ; jump table b _0208CDE0 ; case 0 b _0208CF5C ; case 1 b _0208CF5C ; case 2 b _0208CF5C ; case 3 b _0208CF5C ; case 4 b _0208CF5C ; case 5 b _0208CF5C ; case 6 b _0208CF5C ; case 7 b _0208CF5C ; case 8 b _0208CF5C ; case 9 b _0208CF5C ; case 10 b _0208CF5C ; case 11 b _0208CF5C ; case 12 b _0208CF5C ; case 13 b _0208CF5C ; case 14 b _0208CF5C ; case 15 b _0208CDF4 ; case 16 b _0208CF5C ; case 17 b _0208CF5C ; case 18 b _0208CF5C ; case 19 b _0208CF5C ; case 20 b _0208CF5C ; case 21 b _0208CF5C ; case 22 b _0208CF5C ; case 23 b _0208CE08 ; case 24 b _0208CE1C ; case 25 b _0208CE30 ; case 26 b _0208CE44 ; case 27 b _0208CE58 ; case 28 b _0208CE6C ; case 29 b _0208CE80 ; case 30 b _0208CE94 ; case 31 b _0208CEA8 ; case 32 b _0208CEBC ; case 33 b _0208CED0 ; case 34 b _0208CEE4 ; case 35 b _0208CEF8 ; case 36 b _0208CF0C ; case 37 b _0208CF20 ; case 38 b _0208CF34 ; case 39 b _0208CF48 ; case 40 _0208CDB4: ldr r1, _0208D000 ; =_020B3268 mov r0, r5 mvn r2, #0x13 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CDCC: ldr r1, _0208D004 ; =_020B3298 add r2, r2, #0x25 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CDE0: ldr r1, _0208D008 ; =_020B32C0 add r2, r2, #0x2b bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CDF4: ldr r1, _0208D00C ; =_020B32D8 add r2, r2, #0x30 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE08: ldr r1, _0208D010 ; =_020B32E8 add r2, r2, #0x32 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE1C: ldr r1, _0208D014 ; =_020B32F0 add r2, r2, #0x32 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE30: ldr r1, _0208D018 ; =_020B32F8 add r2, r2, #0x33 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE44: ldr r1, _0208D01C ; =_020B3300 add r2, r2, #0x33 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE58: ldr r1, _0208D020 ; =_020B3308 add r2, r2, #0x33 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE6C: ldr r1, _0208D024 ; =_020B330C add r2, r2, #0x34 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE80: ldr r1, _0208D028 ; =_020B3310 add r2, r2, #0x34 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CE94: ldr r1, _0208D02C ; =_020B3314 add r2, r2, #0x34 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CEA8: ldr r1, _0208D030 ; =_020B3318 mov r2, #0 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CEBC: ldr r1, _0208D034 ; =_020B331C mov r2, #0 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CED0: ldr r1, _0208D038 ; =_020B3320 mov r2, #0 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CEE4: ldr r1, _0208D03C ; =_020B3324 mov r2, #0 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CEF8: ldr r1, _0208D040 ; =_020B3328 mov r2, #1 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CF0C: ldr r1, _0208D044 ; =_020B332C mov r2, #1 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CF20: ldr r1, _0208D048 ; =_020B3330 mov r2, #1 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CF34: ldr r1, _0208D04C ; =_020B3334 mov r2, #2 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CF48: ldr r1, _0208D050 ; =_020B3338 mov r2, #2 bl sub_0208CC34 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _0208CF5C: and r0, r4, #0x80000000 add r1, r4, r0, lsr #31 add r0, sp, #0x26 mov r1, r1, asr #1 bl sub_0208CCD0 add r1, sp, #0x26 mov r0, r5 mov r2, r1 bl sub_0208CAB0 tst r4, #1 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, pc} add r3, sp, #0 mov ip, r5 mov r2, #9 _0208CF98: ldrh r1, [ip] ldrh r0, [ip, #2] add ip, ip, #4 subs r2, r2, #1 strh r1, [r3] strh r0, [r3, #2] add r3, r3, #4 bne _0208CF98 ldrh r0, [ip] cmp r4, #0 strh r0, [r3] add r0, sp, #0x26 ble _0208CFDC ldr r1, _0208D034 ; =_020B331C mov r2, #0 bl sub_0208CC34 b _0208CFE8 _0208CFDC: ldr r1, _0208D02C ; =_020B3314 mvn r2, #0 bl sub_0208CC34 _0208CFE8: add r1, sp, #0 add r2, sp, #0x26 mov r0, r5 bl sub_0208CAB0 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} .align 2, 0 _0208D000: .word _020B3268 _0208D004: .word _020B3298 _0208D008: .word _020B32C0 _0208D00C: .word _020B32D8 _0208D010: .word _020B32E8 _0208D014: .word _020B32F0 _0208D018: .word _020B32F8 _0208D01C: .word _020B3300 _0208D020: .word _020B3308 _0208D024: .word _020B330C _0208D028: .word _020B3310 _0208D02C: .word _020B3314 _0208D030: .word _020B3318 _0208D034: .word _020B331C _0208D038: .word _020B3320 _0208D03C: .word _020B3324 _0208D040: .word _020B3328 _0208D044: .word _020B332C _0208D048: .word _020B3330 _0208D04C: .word _020B3334 _0208D050: .word _020B3338 arm_func_end sub_0208CCD0 arm_func_start sub_0208D054 sub_0208D054: ; 0x0208D054 stmdb sp!, {r4, lr} ldrb r3, [r0, #5] cmp r3, #0 bne _0208D078 ldrb r0, [r1, #5] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, pc} _0208D078: ldrb r2, [r1, #5] cmp r2, #0 bne _0208D094 cmp r3, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, pc} _0208D094: ldrsh r3, [r0, #2] ldrsh r2, [r1, #2] cmp r3, r2 bne _0208D12C ldrb r4, [r0, #4] ldrb r2, [r1, #4] mov ip, #0 mov lr, r4 cmp r4, r2 movgt lr, r2 cmp lr, #0 ble _0208D0EC _0208D0C4: add r3, r0, ip add r2, r1, ip ldrb r3, [r3, #5] ldrb r2, [r2, #5] cmp r3, r2 movne r0, #0 ldmneia sp!, {r4, pc} add ip, ip, #1 cmp ip, lr blt _0208D0C4 _0208D0EC: cmp lr, r4 moveq r0, r1 ldrb r1, [r0, #4] cmp ip, r1 bge _0208D124 _0208D100: add r1, r0, ip ldrb r1, [r1, #5] cmp r1, #0 movne r0, #0 ldmneia sp!, {r4, pc} ldrb r1, [r0, #4] add ip, ip, #1 cmp ip, r1 blt _0208D100 _0208D124: mov r0, #1 ldmia sp!, {r4, pc} _0208D12C: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end sub_0208D054 arm_func_start sub_0208D134 sub_0208D134: ; 0x0208D134 stmdb sp!, {r3, r4, r5, lr} ldrb r2, [r0, #5] cmp r2, #0 bne _0208D158 ldrb r0, [r1, #5] cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} _0208D158: ldrb r2, [r1, #5] cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrsh r3, [r1, #2] ldrsh r2, [r0, #2] cmp r2, r3 bne _0208D208 ldrb r5, [r0, #4] ldrb r4, [r1, #4] mov ip, #0 mov lr, r5 cmp r5, r4 movgt lr, r4 cmp lr, #0 ble _0208D1CC _0208D198: add r3, r1, ip add r2, r0, ip ldrb r3, [r3, #5] ldrb r2, [r2, #5] cmp r2, r3 movlo r0, #1 ldmloia sp!, {r3, r4, r5, pc} cmp r3, r2 movlo r0, #0 ldmloia sp!, {r3, r4, r5, pc} add ip, ip, #1 cmp ip, lr blt _0208D198 _0208D1CC: cmp lr, r5 bne _0208D200 cmp ip, r4 bge _0208D200 _0208D1DC: add r0, r1, ip ldrb r0, [r0, #5] cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r1, #4] add ip, ip, #1 cmp ip, r0 blt _0208D1DC _0208D200: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0208D208: movlt r0, #1 movge r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0208D134 arm_func_start sub_0208D214 sub_0208D214: ; 0x0208D214 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, #9 _0208D220: ldrh r4, [r1] ldrh r3, [r1, #2] add r1, r1, #4 subs r5, r5, #1 strh r4, [r6] strh r3, [r6, #2] add r6, r6, #4 bne _0208D220 ldrh r1, [r1] strh r1, [r6] ldrb r1, [r2, #5] cmp r1, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r7, [r0, #4] ldrb r3, [r2, #4] ldrsh r4, [r0, #2] mov r1, r7 cmp r7, r3 movlt r1, r3 ldrsh r3, [r2, #2] sub r6, r4, r3 add r1, r1, r6 cmp r1, #0x20 movgt r1, #0x20 cmp r7, r1 bge _0208D2AC mov r4, #0 _0208D28C: ldrb r5, [r0, #4] add r3, r0, r7 add r5, r5, #1 strb r5, [r0, #4] strb r4, [r3, #5] ldrb r7, [r0, #4] cmp r7, r1 blt _0208D28C _0208D2AC: ldrb r4, [r2, #4] add r3, r0, #5 add ip, r3, r1 add r4, r4, r6 cmp r4, r1 addlt ip, r3, r4 sub r4, ip, r3 add r1, r2, #5 sub r4, r4, r6 add lr, r1, r4 mov r4, lr b _0208D340 _0208D2DC: ldrb r7, [ip, #-1]! ldrb r5, [lr, #-1]! cmp r7, r5 bhs _0208D330 ldrb r7, [ip, #-1] sub r5, ip, #1 cmp r7, #0 bne _0208D308 _0208D2FC: ldrb r7, [r5, #-1]! cmp r7, #0 beq _0208D2FC _0208D308: cmp r5, ip beq _0208D330 _0208D310: ldrb r7, [r5] sub r7, r7, #1 strb r7, [r5] ldrb r7, [r5, #1]! cmp r5, ip add r7, r7, #0xa strb r7, [r5] bne _0208D310 _0208D330: ldrb r7, [ip] ldrb r5, [lr] sub r5, r7, r5 strb r5, [ip] _0208D340: cmp ip, r3 cmphi lr, r1 bhi _0208D2DC ldrb r5, [r2, #4] sub lr, r4, r1 cmp lr, r5 bge _0208D41C ldrb r1, [r4] mov r7, #0 cmp r1, #5 movlo r7, #1 blo _0208D3B8 bne _0208D3B8 add r1, r2, #5 add r2, r1, r5 add r4, r4, #1 cmp r4, r2 bhs _0208D3A0 _0208D388: ldrb r1, [r4] cmp r1, #0 bne _0208D41C add r4, r4, #1 cmp r4, r2 blo _0208D388 _0208D3A0: add r1, r3, lr add r2, r1, r6 ldrb r1, [r2, #-1] sub ip, r2, #1 tst r1, #1 movne r7, #1 _0208D3B8: cmp r7, #0 beq _0208D41C ldrb r1, [ip] cmp r1, #1 bhs _0208D410 ldrb r1, [ip, #-1] sub r2, ip, #1 cmp r1, #0 bne _0208D3E8 _0208D3DC: ldrb r1, [r2, #-1]! cmp r1, #0 beq _0208D3DC _0208D3E8: cmp r2, ip beq _0208D410 _0208D3F0: ldrb r1, [r2] sub r1, r1, #1 strb r1, [r2] ldrb r1, [r2, #1]! cmp r2, ip add r1, r1, #0xa strb r1, [r2] bne _0208D3F0 _0208D410: ldrb r1, [ip] sub r1, r1, #1 strb r1, [ip] _0208D41C: ldrb r1, [r3] mov r5, r3 cmp r1, #0 bne _0208D438 _0208D42C: ldrb r1, [r5, #1]! cmp r1, #0 beq _0208D42C _0208D438: cmp r5, r3 bls _0208D480 ldrsh r1, [r0, #2] sub r2, r5, r3 and r4, r2, #0xff sub r1, r1, r4 strh r1, [r0, #2] ldrb r1, [r0, #4] add r2, r3, r1 cmp r5, r2 bhs _0208D474 _0208D464: ldrb r1, [r5], #1 cmp r5, r2 strb r1, [r3], #1 blo _0208D464 _0208D474: ldrb r1, [r0, #4] sub r1, r1, r4 strb r1, [r0, #4] _0208D480: ldrb r1, [r0, #4] add r2, r0, #5 add r3, r2, r1 cmp r3, r2 bls _0208D4A8 _0208D494: ldrb r1, [r3, #-1]! cmp r1, #0 bne _0208D4A8 cmp r3, r2 bhi _0208D494 _0208D4A8: sub r1, r3, r2 add r1, r1, #1 strb r1, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0208D214 arm_func_start sub_0208D4B8 sub_0208D4B8: ; 0x0208D4B8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x58 mov r8, r1 mov r6, r2 mov r7, r0 mov r0, r8 mov r1, r6 bl sub_0208DD98 cmp r0, #0 movne r1, #1 moveq r1, #0 mov r4, r1, lsl #0x18 mov r0, #0 mov r1, r0 mov r2, r8 mov r3, r6 mov r5, r4, asr #0x18 bl sub_0208F0B4 bne _0208D524 strb r5, [r7] mov r1, #0 strh r1, [r7, #2] mov r0, #1 strb r0, [r7, #4] add sp, sp, #0x58 strb r1, [r7, #5] ldmia sp!, {r4, r5, r6, r7, r8, pc} _0208D524: mov r0, r8 mov r1, r6 bl sub_0208DDAC cmp r0, #2 bgt _0208D570 strb r5, [r7] mov r2, #0 strh r2, [r7, #2] mov r2, #1 mov r0, r8 mov r1, r6 strb r2, [r7, #4] bl sub_0208DDAC cmp r0, #1 moveq r0, #0x4e movne r0, #0x49 add sp, sp, #0x58 strb r0, [r7, #5] ldmia sp!, {r4, r5, r6, r7, r8, pc} _0208D570: cmp r5, #0 beq _0208D594 mov r0, #0 mov r1, r0 mov r2, r8 mov r3, r6 bl sub_0208E904 mov r8, r0 mov r6, r1 _0208D594: add r2, sp, #8 mov r0, r8 mov r1, r6 bl sub_0208C5D4 mov r4, r0 mov r6, r1 orr ip, r4, #0 rsbs r2, ip, #0 orr r3, r6, #0x100000 rsc r1, r3, #0 mov r0, #0 and r3, r3, r1 sub r1, r0, #1 and ip, ip, r2 mov r2, r1 adds r0, ip, r1 adc r1, r3, r2 str r4, [sp] str r6, [sp, #4] bl sub_0208DD04 rsb r8, r0, #0x35 ldr r1, [sp, #8] add r0, sp, #0xc sub r1, r1, r8 bl sub_0208CCD0 mov r0, r4 mov r1, r6 mov r2, r8 bl sub_0208C690 bl sub_0208E2E4 mov r2, r1 mov r1, r0 add r0, sp, #0x32 bl sub_0208C9E4 mov r0, r7 add r1, sp, #0x32 add r2, sp, #0xc bl sub_0208CAB0 strb r5, [r7] add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_0208D4B8 arm_func_start sub_0208D638 sub_0208D638: ; 0x0208D638 stmdb sp!, {r3, r4, r5, lr} mov r4, r3 ldrsh r5, [r0, #2] mov r0, r4 bl sub_0208D4B8 ldrb r0, [r4, #5] cmp r0, #9 ldmhiia sp!, {r3, r4, r5, pc} cmp r5, #0x20 movgt r5, #0x20 mov r0, r4 mov r1, r5 bl sub_0208C9A4 ldrb r0, [r4, #4] cmp r0, r5 bge _0208D69C mov r1, #0 _0208D67C: ldrb r2, [r4, #4] add r0, r4, r0 add r2, r2, #1 strb r2, [r4, #4] strb r1, [r0, #5] ldrb r0, [r4, #4] cmp r0, r5 blt _0208D67C _0208D69C: ldrsh r1, [r4, #2] sub r0, r0, #1 mov r2, #0 sub r0, r1, r0 strh r0, [r4, #2] ldrb r0, [r4, #4] cmp r0, #0 ldmleia sp!, {r3, r4, r5, pc} _0208D6BC: add r1, r4, r2 ldrb r0, [r1, #5] add r2, r2, #1 add r0, r0, #0x30 strb r0, [r1, #5] ldrb r0, [r4, #4] cmp r2, r0 blt _0208D6BC ldmia sp!, {r3, r4, r5, pc} arm_func_end sub_0208D638 arm_func_start sub_0208D6E0 sub_0208D6E0: ; 0x0208D6E0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xfc mov r4, r0 ldrb r0, [r4, #4] cmp r0, #0 bne _0208D720 ldrsb r0, [r4] mov r2, #0 cmp r0, #0 ldreq r3, _0208DCE4 ; =0x3FF00000 mov r0, #0 ldrne r3, _0208DCE8 ; =0xBFF00000 mov r1, r0 bl sub_0208C58C add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208D720: ldrb r0, [r4, #5] cmp r0, #0x30 beq _0208D740 cmp r0, #0x49 beq _0208D768 cmp r0, #0x4e beq _0208D79C b _0208D7E4 _0208D740: ldrsb r0, [r4] mov r2, #0 cmp r0, #0 ldreq r3, _0208DCE4 ; =0x3FF00000 mov r0, #0 ldrne r3, _0208DCE8 ; =0xBFF00000 mov r1, r0 bl sub_0208C58C add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208D768: ldrsb r0, [r4] mov r5, #0 cmp r0, #0 ldreq r4, _0208DCE4 ; =0x3FF00000 ldr r0, _0208DCEC ; =_020B2FB8 ldrne r4, _0208DCE8 ; =0xBFF00000 ldr r0, [r0] bl __extendsfdf2 mov r2, r5 mov r3, r4 bl sub_0208C58C add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208D79C: ldr r1, _0208DCF0 ; =0x7FF00000 add r3, sp, #0x10 mov r2, #0 str r2, [r3] str r1, [r3, #4] ldrsb r0, [r4] cmp r0, #0 beq _0208D7CC orr r0, r1, #0x80000000 orr r1, r2, r2 str r1, [r3] str r0, [r3, #4] _0208D7CC: ldmia r3, {r0, r1} orr r0, r0, #0 orr r1, r1, #0x80000 stmia r3, {r0, r1} add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208D7E4: add r3, sp, #0xd6 mov r5, r4 mov r2, #9 _0208D7F0: ldrh r1, [r5] ldrh r0, [r5, #2] add r5, r5, #4 subs r2, r2, #1 strh r1, [r3] strh r0, [r3, #2] add r3, r3, #4 bne _0208D7F0 ldrh r0, [r5] add r1, sp, #0xdb strh r0, [r3] ldrb r0, [sp, #0xda] add r5, r1, r0 cmp r1, r5 bhs _0208D840 _0208D82C: ldrb r0, [r1] sub r0, r0, #0x30 strb r0, [r1], #1 cmp r1, r5 blo _0208D82C _0208D840: ldrb r1, [sp, #0xda] ldrsh r2, [sp, #0xd8] add r0, sp, #0xb0 sub r1, r1, #1 add r1, r2, r1 strh r1, [sp, #0xd8] ldr r1, _0208DCF4 ; =_020B333C mov r2, #0x134 ldrsh fp, [sp, #0xd8] bl sub_0208CC34 add r0, sp, #0xb0 add r1, sp, #0xd6 bl sub_0208D134 cmp r0, #0 beq _0208D8B0 ldrsb r0, [r4] mov r5, #0 cmp r0, #0 ldreq r4, _0208DCE4 ; =0x3FF00000 ldr r0, _0208DCEC ; =_020B2FB8 ldrne r4, _0208DCE8 ; =0xBFF00000 ldr r0, [r0] bl __extendsfdf2 mov r2, r5 mov r3, r4 bl sub_0208C58C add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0208D8B0: add r1, sp, #0xdb ldrb r0, [r1] add r8, r1, #1 bl sub_0208E3B0 str r0, [sp, #8] str r1, [sp, #0xc] cmp r8, r5 bhs _0208D988 _0208D8D0: sub r0, r5, r8 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #29 adds r7, r1, r0, ror #29 moveq r7, #8 mov r6, #0 mov r2, #0 cmp r7, #0 ble _0208D90C mov r0, #0xa _0208D8F8: ldrb r1, [r8], #1 add r2, r2, #1 cmp r2, r7 mla r6, r0, r6, r1 blt _0208D8F8 _0208D90C: ldr r0, _0208DCF8 ; =_020B3228 ldr r1, [sp, #0xc] add r3, r0, r7, lsl #3 ldr r2, [r3, #-8] ldr r0, [sp, #8] ldr r3, [r3, #-4] bl sub_0208E3EC mov r4, r0 mov sb, r1 mov r0, r6 bl sub_0208E3B0 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, sb bl sub_0208DEC8 cmp r6, #0 mov r6, r0 mov sl, r1 beq _0208D974 mov r0, r4 mov r1, sb mov r2, r6 mov r3, sl bl sub_0208F0B4 beq _0208D988 _0208D974: str r6, [sp, #8] str sl, [sp, #0xc] cmp r8, r5 sub fp, fp, r7 blo _0208D8D0 _0208D988: cmp fp, #0 bge _0208D9CC rsb r0, fp, #0 bl sub_0208E370 mov r3, r1 mov r2, r0 ldr r1, _0208DCFC ; =0x40140000 mov r0, #0 bl sub_0208C8DC mov r2, r0 mov r3, r1 ldr r0, [sp, #8] ldr r1, [sp, #0xc] bl sub_020902AC str r0, [sp, #8] str r1, [sp, #0xc] b _0208DA04 _0208D9CC: mov r0, fp bl sub_0208E370 mov r3, r1 mov r2, r0 ldr r1, _0208DCFC ; =0x40140000 mov r0, #0 bl sub_0208C8DC mov r2, r0 mov r3, r1 ldr r0, [sp, #8] ldr r1, [sp, #0xc] bl sub_0208E3EC str r0, [sp, #8] str r1, [sp, #0xc] _0208DA04: ldr r0, [sp, #8] ldr r1, [sp, #0xc] mov r2, fp bl sub_0208C690 str r0, [sp, #8] str r1, [sp, #0xc] bl sub_0208DDAC cmp r0, #2 bne _0208DA38 ldr r0, _0208DD00 ; =0x7FEFFFFF mvn r1, #0 str r1, [sp, #8] str r0, [sp, #0xc] _0208DA38: ldr r1, [sp, #8] ldr r2, [sp, #0xc] add r0, sp, #0x8a add r4, sp, #0 mov r5, #0 bl sub_0208D4B8 add r0, sp, #0x8a add r1, sp, #0xd6 bl sub_0208D054 cmp r0, #0 bne _0208DCAC add r0, sp, #0x8a add r1, sp, #0xd6 bl sub_0208D134 cmp r0, #0 movne r5, #1 ldr r1, [sp, #8] ldr r0, [sp, #0xc] cmp r5, #0 moveq r6, #1 str r1, [sp] str r0, [sp, #4] movne r6, #0 _0208DA94: cmp r6, #0 bne _0208DABC ldmia r4, {r0, r1} adds r0, r0, #1 adc r1, r1, #0 stmia r4, {r0, r1} bl sub_0208DDAC cmp r0, #2 beq _0208DCAC b _0208DAD4 _0208DABC: ldr r1, [r4] ldr r0, [r4, #4] subs r1, r1, #1 sbc r0, r0, #0 str r1, [r4] str r0, [r4, #4] _0208DAD4: ldr r1, [sp] ldr r2, [sp, #4] add r0, sp, #0x64 bl sub_0208D4B8 cmp r5, #0 beq _0208DB00 add r0, sp, #0x64 add r1, sp, #0xd6 bl sub_0208D134 cmp r0, #0 beq _0208DC24 _0208DB00: cmp r5, #0 bne _0208DBDC add r0, sp, #0xd6 add r1, sp, #0x64 bl sub_0208D134 cmp r0, #0 bne _0208DBDC add r3, sp, #0x8a add r5, sp, #0x3e mov r2, #9 _0208DB28: ldrh r1, [r3] ldrh r0, [r3, #2] add r3, r3, #4 strh r1, [r5] strh r0, [r5, #2] add r5, r5, #4 subs r2, r2, #1 bne _0208DB28 ldrh r0, [r3] add r3, sp, #0x64 add r4, sp, #0x8a strh r0, [r5] mov r2, #9 _0208DB5C: ldrh r1, [r3] ldrh r0, [r3, #2] add r3, r3, #4 strh r1, [r4] strh r0, [r4, #2] add r4, r4, #4 subs r2, r2, #1 bne _0208DB5C ldrh r0, [r3] add r3, sp, #0x3e add r5, sp, #0x64 strh r0, [r4] mov r2, #9 _0208DB90: ldrh r1, [r3] ldrh r0, [r3, #2] add r3, r3, #4 strh r1, [r5] strh r0, [r5, #2] add r5, r5, #4 subs r2, r2, #1 bne _0208DB90 ldrh r4, [r3] ldr r3, [sp, #8] ldr r1, [sp] ldr r2, [sp, #0xc] ldr r0, [sp, #4] strh r4, [r5] str r1, [sp, #8] str r0, [sp, #0xc] str r3, [sp] str r2, [sp, #4] b _0208DC24 _0208DBDC: add r7, sp, #0x64 add r3, sp, #0x8a mov r2, #9 _0208DBE8: ldrh r1, [r7] ldrh r0, [r7, #2] add r7, r7, #4 strh r1, [r3] strh r0, [r3, #2] add r3, r3, #4 subs r2, r2, #1 bne _0208DBE8 ldrh r2, [r7] ldr r1, [sp] ldr r0, [sp, #4] strh r2, [r3] str r1, [sp, #8] str r0, [sp, #0xc] b _0208DA94 _0208DC24: add r0, sp, #0x3e add r1, sp, #0xd6 add r2, sp, #0x8a bl sub_0208D214 add r0, sp, #0x18 add r1, sp, #0x64 add r2, sp, #0xd6 bl sub_0208D214 add r0, sp, #0x3e add r1, sp, #0x18 bl sub_0208D054 cmp r0, #0 beq _0208DC88 ldr r1, [sp, #8] ldr r0, [sp, #0xc] and r1, r1, #1 and r0, r0, #0 cmp r0, #0 cmpeq r1, #0 beq _0208DCAC ldr r1, [sp] ldr r0, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] b _0208DCAC _0208DC88: add r0, sp, #0x3e add r1, sp, #0x18 bl sub_0208D134 cmp r0, #0 bne _0208DCAC ldr r1, [sp] ldr r0, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] _0208DCAC: ldrsb r0, [sp, #0xd6] cmp r0, #0 beq _0208DCD4 mov r0, #0 ldr r2, [sp, #8] ldr r3, [sp, #0xc] mov r1, r0 bl sub_0208E904 str r0, [sp, #8] str r1, [sp, #0xc] _0208DCD4: ldr r0, [sp, #8] ldr r1, [sp, #0xc] add sp, sp, #0xfc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0208DCE4: .word 0x3FF00000 _0208DCE8: .word 0xBFF00000 _0208DCEC: .word _020B2FB8 _0208DCF0: .word 0x7FF00000 _0208DCF4: .word _020B333C _0208DCF8: .word _020B3228 _0208DCFC: .word 0x40140000 _0208DD00: .word 0x7FEFFFFF arm_func_end sub_0208D6E0 arm_func_start sub_0208DD04 sub_0208DD04: ; 0x0208DD04 mov r3, r0, lsr #1 ldr r2, _0208DD8C ; =0x55555555 orr r3, r3, r1, lsl #31 and r3, r3, r2 subs ip, r0, r3 and r2, r2, r1, lsr #1 ldr r0, _0208DD90 ; =0x33333333 sbc r3, r1, r2 mov r1, ip, lsr #2 orr r1, r1, r3, lsl #30 and r2, ip, r0 and r1, r1, r0 adds r2, r2, r1 and r1, r3, r0 and r0, r0, r3, lsr #2 adc r1, r1, r0 mov r0, r2, lsr #4 orr r0, r0, r1, lsl #28 adds r2, r2, r0 ldr r0, _0208DD94 ; =0x0F0F0F0F adc r1, r1, r1, lsr #4 and r3, r2, r0 and r2, r1, r0 mov r0, r3, lsr #8 orr r0, r0, r2, lsl #24 adds r1, r3, r0 adc r2, r2, r2, lsr #8 mov r0, r1, lsr #0x10 orr r0, r0, r2, lsl #16 adds r1, r1, r0 adc r0, r2, r2, lsr #16 adds r0, r1, r0 and r0, r0, #0xff bx lr .align 2, 0 _0208DD8C: .word 0x55555555 _0208DD90: .word 0x33333333 _0208DD94: .word 0x0F0F0F0F arm_func_end sub_0208DD04 arm_func_start sub_0208DD98 sub_0208DD98: ; 0x0208DD98 stmdb sp!, {r0, r1, r2, r3} ldr r0, [sp, #4] and r0, r0, #0x80000000 add sp, sp, #0x10 bx lr arm_func_end sub_0208DD98 arm_func_start sub_0208DDAC sub_0208DDAC: ; 0x0208DDAC stmdb sp!, {r0, r1, r2, r3} ldr r2, [sp, #4] ldr r0, _0208DE14 ; =0x7FF00000 ands r1, r2, r0 beq _0208DDE8 cmp r1, r0 bne _0208DE08 ldr r0, _0208DE18 ; =0x000FFFFF tst r2, r0 ldreq r0, [sp] add sp, sp, #0x10 cmpeq r0, #0 movne r0, #1 moveq r0, #2 bx lr _0208DDE8: ldr r0, _0208DE18 ; =0x000FFFFF tst r2, r0 ldreq r0, [sp] add sp, sp, #0x10 cmpeq r0, #0 movne r0, #5 moveq r0, #3 bx lr _0208DE08: mov r0, #4 add sp, sp, #0x10 bx lr .align 2, 0 _0208DE14: .word 0x7FF00000 _0208DE18: .word 0x000FFFFF arm_func_end sub_0208DDAC arm_func_start sub_0208DE1C sub_0208DE1C: ; 0x0208DE1C stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r2 add r2, sp, #0 bl sub_0208C5D4 ldr r2, [sp] add r2, r2, r4 str r2, [sp] bl sub_0208C690 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end sub_0208DE1C arm_func_start sub_0208DE48 sub_0208DE48: ; 0x0208DE48 stmdb sp!, {r3, lr} ldr r3, _0208DEAC ; =_020AECB0 _0208DE50: ldrb r2, [r0], #1 cmp r2, #0 blt _0208DE68 cmp r2, #0x80 bge _0208DE68 ldrb r2, [r3, r2] _0208DE68: ldrb lr, [r1], #1 and ip, r2, #0xff cmp lr, #0 blt _0208DE84 cmp lr, #0x80 bge _0208DE84 ldrb lr, [r3, lr] _0208DE84: and r2, lr, #0xff cmp ip, r2 mvnlo r0, #0 ldmloia sp!, {r3, pc} movhi r0, #1 ldmhiia sp!, {r3, pc} cmp ip, #0 bne _0208DE50 mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0208DEAC: .word _020AECB0 arm_func_end sub_0208DE48 arm_func_start sub_0208DEB0 sub_0208DEB0: ; 0x0208DEB0 ldr ip, _0208DEB8 ; =sub_02086C64 bx ip .align 2, 0 _0208DEB8: .word sub_02086C64 arm_func_end sub_0208DEB0 arm_func_start sub_0208DEBC sub_0208DEBC: ; 0x0208DEBC ldr ip, _0208DEC4 ; =sub_0208DE48 bx ip .align 2, 0 _0208DEC4: .word sub_0208DE48 arm_func_end sub_0208DEBC arm_func_start sub_0208DEC8 sub_0208DEC8: ; 0x0208DEC8 stmdb sp!, {r4, lr} eors ip, r1, r3 eormi r3, r3, #0x80000000 bmi _0208E914 _0208DED8: subs ip, r0, r2 sbcs lr, r1, r3 bhs _0208DEF4 adds r2, r2, ip adc r3, r3, lr subs r0, r0, ip sbc r1, r1, lr _0208DEF4: mov lr, #0x80000000 mov ip, r1, lsr #0x14 orr r1, lr, r1, lsl #11 orr r1, r1, r0, lsr #21 mov r0, r0, lsl #0xb movs r4, ip, lsl #0x15 cmnne r4, #0x200000 beq _0208DFF0 mov r4, r3, lsr #0x14 orr r3, lr, r3, lsl #11 orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs lr, r4, lsl #0x15 beq _0208E038 _0208DF2C: subs r4, ip, r4 beq _0208DF84 cmp r4, #0x20 ble _0208DF68 cmp r4, #0x38 movge r4, #0x3f sub r4, r4, #0x20 rsb lr, r4, #0x20 orrs lr, r2, r3, lsl lr mov r2, r3, lsr r4 orrne r2, r2, #1 adds r0, r0, r2 adcs r1, r1, #0 blo _0208DFAC b _0208DF90 _0208DF68: rsb lr, r4, #0x20 movs lr, r2, lsl lr rsb lr, r4, #0x20 mov r2, r2, lsr r4 orr r2, r2, r3, lsl lr mov r3, r3, lsr r4 orrne r2, r2, #1 _0208DF84: adds r0, r0, r2 adcs r1, r1, r3 blo _0208DFAC _0208DF90: add ip, ip, #1 and r4, r0, #1 movs r1, r1, rrx orr r0, r4, r0, rrx mov lr, ip, lsl #0x15 cmn lr, #0x200000 beq _0208E1BC _0208DFAC: movs r2, r0, lsl #0x15 mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 mov r1, r1, lsr #0xc orr r1, r1, ip, lsl #20 tst r2, #0x80000000 ldmeqia sp!, {r4, lr} bxeq lr movs r2, r2, lsl #1 andeqs r2, r0, #1 ldmeqia sp!, {r4, lr} bxeq lr adds r0, r0, #1 adc r1, r1, #0 ldmia sp!, {r4, lr} bx lr _0208DFF0: cmp ip, #0x800 movge lr, #0x80000000 movlt lr, #0 bics ip, ip, #0x800 beq _0208E05C orrs r4, r0, r1, lsl #1 bne _0208E198 mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r4, r4, lsl #0x15 beq _0208E184 cmn r4, #0x200000 bne _0208E184 orrs r4, r2, r3, lsl #1 beq _0208E184 b _0208E198 _0208E038: cmp r4, #0x800 movge lr, #0x80000000 movlt lr, #0 bic ip, ip, #0x800 bics r4, r4, #0x800 beq _0208E0C8 orrs r4, r2, r3, lsl #1 bne _0208E198 b _0208E184 _0208E05C: orrs r4, r0, r1, lsl #1 beq _0208E09C mov ip, #1 bic r1, r1, #0x80000000 mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r4, r4, lsl #0x15 cmnne r4, #0x200000 mov r4, r4, lsr #0x15 orr r4, r4, lr, lsr #20 beq _0208E038 orr r3, r3, #0x80000000 orr ip, ip, lr, lsr #20 b _0208DF2C _0208E09C: mov ip, r3, lsr #0x14 mov r1, r3, lsl #0xb orr r1, r1, r2, lsr #21 mov r0, r2, lsl #0xb movs r4, ip, lsl #0x15 beq _0208E150 cmn r4, #0x200000 bne _0208E150 orrs r4, r0, r1, lsl #1 beq _0208E184 b _0208E19C _0208E0C8: orrs r4, r2, r3, lsl #1 beq _0208E160 mov r4, #1 bic r3, r3, #0x80000000 cmp r1, #0 bpl _0208E0EC orr ip, ip, lr, lsr #20 orr r4, r4, lr, lsr #20 b _0208DF2C _0208E0EC: adds r0, r0, r2 adcs r1, r1, r3 blo _0208E10C add ip, ip, #1 and r4, r0, #1 movs r1, r1, rrx mov r0, r0, rrx orr r0, r0, r4 _0208E10C: cmp r1, #0 subges ip, ip, #1 movs r2, r0, lsl #0x15 mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 orr r1, lr, r1, lsr #12 orr r1, r1, ip, lsl #20 ldmeqia sp!, {r4, lr} bxeq lr tst r2, #0x80000000 ldmeqia sp!, {r4, lr} bxeq lr movs r2, r2, lsl #1 andeqs r2, r0, #1 ldmeqia sp!, {r4, lr} bxeq lr _0208E150: mov r1, r3 mov r0, r2 ldmia sp!, {r4, lr} bx lr _0208E160: cmp r1, #0 subges ip, ip, #1 mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 orr r1, lr, r1, lsr #12 orr r1, r1, ip, lsl #20 ldmia sp!, {r4, lr} bx lr _0208E184: ldr r1, _0208E1DC ; =0x7FF00000 orr r1, lr, r1 mov r0, #0 ldmia sp!, {r4, lr} bx lr _0208E198: mov r1, r3 _0208E19C: mvn r0, #0 bic r1, r0, #0x80000000 ldmia sp!, {r4, lr} bx lr _0208E1AC: mvn r0, #0 bic r1, r0, #0x80000000 ldmia sp!, {r4, lr} bx lr _0208E1BC: cmp ip, #0x800 movge lr, #0x80000000 movlt lr, #0 ldr r1, _0208E1DC ; =0x7FF00000 orr r1, lr, r1 mov r0, #0 ldmia sp!, {r4, lr} bx lr .align 2, 0 _0208E1DC: .word 0x7FF00000 arm_func_end sub_0208DEC8 arm_func_start sub_0208E1E0 sub_0208E1E0: ; 0x0208E1E0 and r2, r1, #0x80000000 mov ip, r1, lsr #0x14 bics ip, ip, #0x800 beq _0208E258 mov r3, ip, lsl #0x15 cmn r3, #0x200000 bhs _0208E23C subs ip, ip, #0x380 bls _0208E268 cmp ip, #0xff bge _0208E2D8 mov r1, r1, lsl #0xc orr r3, r2, r1, lsr #9 orr r3, r3, r0, lsr #29 movs r1, r0, lsl #3 orr r0, r3, ip, lsl #23 bxeq lr tst r1, #0x80000000 bxeq lr movs r1, r1, lsl #1 andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208E23C: orrs r3, r0, r1, lsl #12 bne _0208E250 mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr _0208E250: mvn r0, #0x80000000 bx lr _0208E258: orrs r3, r0, r1, lsl #12 bne _0208E2D0 mov r0, r2 bx lr _0208E268: cmn ip, #0x17 beq _0208E2BC bmi _0208E2D0 mov r1, r1, lsl #0xb orr r1, r1, #0x80000000 mov r3, r1, lsr #8 orr r3, r3, r0, lsr #29 rsb ip, ip, #1 movs r1, r0, lsl #3 orr r0, r2, r3, lsr ip rsb ip, ip, #0x20 mov r3, r3, lsl ip orrne r3, r3, #1 movs r1, r3 bxeq lr tst r1, #0x80000000 bxeq lr movs r1, r1, lsl #1 andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208E2BC: orr r0, r0, r1, lsl #12 movs r1, r0 mov r0, r2 addne r0, r0, #1 bx lr _0208E2D0: mov r0, r2 bx lr _0208E2D8: mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr arm_func_end sub_0208E1E0 arm_func_start sub_0208E2E4 sub_0208E2E4: ; 0x0208E2E4 tst r1, #0x80000000 bne _0208E348 ldr r2, _0208E36C ; =0x0000043E subs r2, r2, r1, lsr #20 blt _0208E360 cmp r2, #0x40 bge _0208E33C mov ip, r1, lsl #0xb orr ip, ip, #0x80000000 orr ip, ip, r0, lsr #21 cmp r2, #0x20 ble _0208E324 sub r2, r2, #0x20 mov r1, #0 mov r0, ip, lsr r2 bx lr _0208E324: mov r3, r0, lsl #0xb mov r1, ip, lsr r2 mov r0, r3, lsr r2 rsb r2, r2, #0x20 orr r0, r0, ip, lsl r2 bx lr _0208E33C: mov r1, #0 mov r0, #0 bx lr _0208E348: cmn r1, #0x100000 cmpeq r0, #0 bhi _0208E360 mov r1, #0 mov r0, #0 bx lr _0208E360: mvn r1, #0 mvn r0, #0 bx lr .align 2, 0 _0208E36C: .word 0x0000043E arm_func_end sub_0208E2E4 arm_func_start sub_0208E370 sub_0208E370: ; 0x0208E370 ands r2, r0, #0x80000000 rsbmi r0, r0, #0 cmp r0, #0 mov r1, #0 bxeq lr mov r3, #0x400 add r3, r3, #0x1e clz ip, r0 movs r0, r0, lsl ip sub r3, r3, ip movs r1, r0 mov r0, r1, lsl #0x15 add r1, r1, r1 orr r1, r2, r1, lsr #12 orr r1, r1, r3, lsl #20 bx lr arm_func_end sub_0208E370 arm_func_start sub_0208E3B0 sub_0208E3B0: ; 0x0208E3B0 cmp r0, #0 mov r1, #0 bxeq lr mov r3, #0x400 add r3, r3, #0x1e bmi _0208E3D4 clz ip, r0 movs r0, r0, lsl ip sub r3, r3, ip _0208E3D4: mov r1, r0 mov r0, r1, lsl #0x15 add r1, r1, r1 mov r1, r1, lsr #0xc orr r1, r1, r3, lsl #20 bx lr arm_func_end sub_0208E3B0 arm_func_start sub_0208E3EC sub_0208E3EC: ; 0x0208E3EC stmdb sp!, {r4, r5, r6, r7, lr} eor lr, r1, r3 and lr, lr, #0x80000000 mov ip, r1, lsr #0x14 mov r1, r1, lsl #0xb orr r1, r1, r0, lsr #21 mov r0, r0, lsl #0xb movs r6, ip, lsl #0x15 cmnne r6, #0x200000 beq _0208E4F4 orr r1, r1, #0x80000000 bic ip, ip, #0x800 mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r5, r4, lsl #0x15 cmnne r5, #0x200000 beq _0208E53C orr r3, r3, #0x80000000 bic r4, r4, #0x800 _0208E440: add ip, r4, ip umull r5, r4, r0, r2 umull r7, r6, r0, r3 adds r4, r7, r4 adc r6, r6, #0 umull r7, r0, r1, r2 adds r4, r7, r4 adcs r0, r0, r6 umull r7, r2, r1, r3 adc r1, r2, #0 adds r0, r0, r7 adc r1, r1, #0 orrs r4, r4, r5 orrne r0, r0, #1 cmp r1, #0 blt _0208E48C sub ip, ip, #1 adds r0, r0, r0 adc r1, r1, r1 _0208E48C: add ip, ip, #2 subs ip, ip, #0x400 bmi _0208E628 beq _0208E628 mov r6, ip, lsl #0x14 cmn r6, #0x100000 bmi _0208E728 movs r2, r0, lsl #0x15 mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 orr r1, lr, r1, lsr #12 orr r1, r1, ip, lsl #20 ldmeqia sp!, {r4, r5, r6, r7, lr} bxeq lr tst r2, #0x80000000 ldmeqia sp!, {r4, r5, r6, r7, lr} bxeq lr movs r2, r2, lsl #1 andeqs r2, r0, #1 ldmeqia sp!, {r4, r5, r6, r7, lr} bxeq lr adds r0, r0, #1 adc r1, r1, #0 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E4F4: bics ip, ip, #0x800 beq _0208E550 orrs r6, r0, r1, lsl #1 bne _0208E6DC mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r5, r4, lsl #0x15 beq _0208E530 cmn r5, #0x200000 bne _0208E6C8 orrs r5, r2, r3, lsl #1 beq _0208E6C8 b _0208E6DC _0208E530: orrs r5, r3, r2 beq _0208E6F0 b _0208E6C8 _0208E53C: bics r4, r4, #0x800 beq _0208E5E4 orrs r6, r2, r3, lsl #1 bne _0208E6DC b _0208E6C8 _0208E550: orrs r6, r0, r1, lsl #1 beq _0208E5B8 mov ip, #1 cmp r1, #0 bne _0208E574 sub ip, ip, #0x20 movs r1, r0 mov r0, #0 bmi _0208E590 _0208E574: clz r6, r1 movs r1, r1, lsl r6 rsb r6, r6, #0x20 orr r1, r1, r0, lsr r6 rsb r6, r6, #0x20 mov r0, r0, lsl r6 sub ip, ip, r6 _0208E590: mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r5, r4, lsl #0x15 cmnne r5, #0x200000 beq _0208E53C orr r3, r3, #0x80000000 bic r4, r4, #0x800 b _0208E440 _0208E5B8: mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r5, r4, lsl #0x15 beq _0208E73C cmn r5, #0x200000 bne _0208E73C orrs r6, r2, r3, lsl #1 beq _0208E6F0 b _0208E6DC _0208E5E4: orrs r5, r2, r3, lsl #1 beq _0208E73C mov r4, #1 cmp r3, #0 bne _0208E608 sub r4, r4, #0x20 movs r3, r2 mov r2, #0 bmi _0208E440 _0208E608: clz r6, r3 movs r3, r3, lsl r6 rsb r6, r6, #0x20 orr r3, r3, r2, lsr r6 rsb r6, r6, #0x20 mov r2, r2, lsl r6 sub r4, r4, r6 b _0208E440 _0208E628: cmn ip, #0x34 beq _0208E6C0 bmi _0208E718 mov r2, r1 mov r3, r0 add r4, ip, #0x34 cmp r4, #0x20 movge r2, r3 movge r3, #0 subge r4, r4, #0x20 rsb r5, r4, #0x20 mov r2, r2, lsl r4 orr r2, r2, r3, lsr r5 movs r3, r3, lsl r4 orrne r2, r2, #1 rsb ip, ip, #0xc cmp ip, #0x20 movge r0, r1 movge r1, #0 subge ip, ip, #0x20 rsb r4, ip, #0x20 mov r0, r0, lsr ip orr r0, r0, r1, lsl r4 orr r1, lr, r1, lsr ip cmp r2, #0 ldmeqia sp!, {r4, r5, r6, r7, lr} bxeq lr tst r2, #0x80000000 ldmeqia sp!, {r4, r5, r6, r7, lr} bxeq lr movs r2, r2, lsl #1 andeqs r2, r0, #1 ldmeqia sp!, {r4, r5, r6, r7, lr} bxeq lr adds r0, r0, #1 adc r1, r1, #0 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E6C0: orr r0, r0, r1, lsl #1 b _0208E700 _0208E6C8: ldr r1, _0208E74C ; =0x7FF00000 orr r1, lr, r1 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E6DC: mov r1, r3 mvn r0, #0 bic r1, r0, #0x80000000 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E6F0: mvn r0, #0 bic r1, r0, #0x80000000 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E700: movs r2, r0 mov r1, lr mov r0, #0 addne r0, r0, #1 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E718: mov r1, lr mov r0, #0 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E728: ldr r1, _0208E74C ; =0x7FF00000 orr r1, lr, r1 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, lr} bx lr _0208E73C: mov r1, lr mov r0, #0 ldmia sp!, {r4, r5, r6, r7, lr} bx lr .align 2, 0 _0208E74C: .word 0x7FF00000 arm_func_end sub_0208E3EC arm_func_start sub_0208E750 sub_0208E750: ; 0x0208E750 stmdb sp!, {r4, r5, r6, lr} ldr r2, _0208E8E0 ; =0x7FF00000 cmp r1, r2 bhs _0208E89C movs ip, r1, lsr #0x14 beq _0208E848 bic r1, r1, r2 orr r1, r1, #0x100000 _0208E770: movs ip, ip, asr #1 bhs _0208E784 sub ip, ip, #1 movs r0, r0, lsl #1 adc r1, r1, r1 _0208E784: movs r3, r0, lsl #1 adc r1, r1, r1 mov r2, #0 mov r4, #0 mov lr, #0x200000 _0208E798: add r6, r4, lr cmp r6, r1 addle r4, r6, lr suble r1, r1, r6 addle r2, r2, lr movs r3, r3, lsl #1 adc r1, r1, r1 movs lr, lr, lsr #1 bne _0208E798 mov r0, #0 mov r5, #0 cmp r1, r4 cmpeq r3, #0x80000000 blo _0208E7E0 subs r3, r3, #0x80000000 sbc r1, r1, r4 add r4, r4, #1 mov r0, #0x80000000 _0208E7E0: movs r3, r3, lsl #1 adc r1, r1, r1 mov lr, #0x40000000 _0208E7EC: add r6, r5, lr cmp r4, r1 cmpeq r6, r3 bhi _0208E80C add r5, r6, lr subs r3, r3, r6 sbc r1, r1, r4 add r0, r0, lr _0208E80C: movs r3, r3, lsl #1 adc r1, r1, r1 movs lr, lr, lsr #1 bne _0208E7EC orrs r1, r1, r3 biceq r0, r0, #1 movs r1, r2, lsr #1 movs r0, r0, rrx adcs r0, r0, #0 adc r1, r1, #0 add r1, r1, #0x20000000 sub r1, r1, #0x100000 add r1, r1, ip, lsl #20 ldmia sp!, {r4, r5, r6, lr} bx lr _0208E848: cmp r1, #0 bne _0208E878 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, lr} bxeq lr mvn ip, #0x13 clz r5, r0 movs r0, r0, lsl r5 sub ip, ip, r5 mov r1, r0, lsr #0xb mov r0, r0, lsl #0x15 b _0208E770 _0208E878: clz r2, r1 movs r1, r1, lsl r2 rsb r2, r2, #0x2b mov r1, r1, lsr #0xb orr r1, r1, r0, lsr r2 rsb r2, r2, #0x20 mov r0, r0, lsl r2 rsb ip, r2, #1 b _0208E770 _0208E89C: tst r1, #0x80000000 beq _0208E8B8 bics r3, r1, #0x80000000 cmpeq r0, #0 ldmeqia sp!, {r4, r5, r6, lr} bxeq lr b _0208E8C4 _0208E8B8: orrs r2, r0, r1, lsl #12 ldmeqia sp!, {r4, r5, r6, lr} bxeq lr _0208E8C4: ldr r2, _0208E8E4 ; =0x7FF80000 orr r1, r1, r2 ldr r3, _0208E8E8 ; =_022BCA70 mov r4, #0x21 str r4, [r3] ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 _0208E8E0: .word 0x7FF00000 _0208E8E4: .word 0x7FF80000 _0208E8E8: .word _022BCA70 arm_func_end sub_0208E750 _0208E8EC: .byte 0x03, 0x10, 0x21, 0xE0 .byte 0x03, 0x30, 0x21, 0xE0, 0x03, 0x10, 0x21, 0xE0, 0x02, 0x00, 0x20, 0xE0, 0x02, 0x20, 0x20, 0xE0 .byte 0x02, 0x00, 0x20, 0xE0 arm_func_start sub_0208E904 sub_0208E904: ; 0x0208E904 stmdb sp!, {r4, lr} eors ip, r1, r3 eormi r3, r3, #0x80000000 bmi _0208DED8 _0208E914: subs ip, r0, r2 sbcs lr, r1, r3 bhs _0208E934 eor lr, lr, #0x80000000 adds r2, r2, ip adc r3, r3, lr subs r0, r0, ip sbc r1, r1, lr _0208E934: mov lr, #0x80000000 mov ip, r1, lsr #0x14 orr r1, lr, r1, lsl #11 orr r1, r1, r0, lsr #21 mov r0, r0, lsl #0xb movs r4, ip, lsl #0x15 cmnne r4, #0x200000 beq _0208EB38 mov r4, r3, lsr #0x14 orr r3, lr, r3, lsl #11 orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs lr, r4, lsl #0x15 beq _0208EB80 _0208E96C: subs r4, ip, r4 beq _0208EA14 cmp r4, #0x20 ble _0208E9A8 cmp r4, #0x38 movge r4, #0x3f sub r4, r4, #0x20 rsb lr, r4, #0x20 orrs lr, r2, r3, lsl lr mov r2, r3, lsr r4 orrne r2, r2, #1 subs r0, r0, r2 sbcs r1, r1, #0 bmi _0208E9D0 b _0208EAC0 _0208E9A8: rsb lr, r4, #0x20 movs lr, r2, lsl lr rsb lr, r4, #0x20 mov r2, r2, lsr r4 orr r2, r2, r3, lsl lr mov r3, r3, lsr r4 orrne r2, r2, #1 subs r0, r0, r2 sbcs r1, r1, r3 bpl _0208EAC0 _0208E9D0: movs r2, r0, lsl #0x15 mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 mov r1, r1, lsr #0xc orr r1, r1, ip, lsl #20 tst r2, #0x80000000 ldmeqia sp!, {r4, lr} bxeq lr movs r2, r2, lsl #1 andeqs r2, r0, #1 ldmeqia sp!, {r4, lr} bxeq lr adds r0, r0, #1 adc r1, r1, #0 ldmia sp!, {r4, lr} bx lr _0208EA14: subs r0, r0, r2 sbc r1, r1, r3 orrs lr, r1, r0 beq _0208ECA4 mov lr, ip, lsl #0x14 and lr, lr, #0x80000000 bic ip, ip, #0x800 cmp r1, #0 bmi _0208EA9C bne _0208EA4C sub ip, ip, #0x20 movs r1, r0 mov r0, #0 bmi _0208EA68 _0208EA4C: clz r4, r1 movs r1, r1, lsl r4 rsb r4, r4, #0x20 orr r1, r1, r0, lsr r4 rsb r4, r4, #0x20 mov r0, r0, lsl r4 sub ip, ip, r4 _0208EA68: cmp ip, #0 bgt _0208EAA4 rsb ip, ip, #0xc cmp ip, #0x20 movge r0, r1 movge r1, #0 subge ip, ip, #0x20 rsb r4, ip, #0x20 mov r0, r0, lsr ip orr r0, r0, r1, lsl r4 orr r1, lr, r1, lsr ip ldmia sp!, {r4, lr} bx lr _0208EA9C: cmp r1, #0 subges ip, ip, #1 _0208EAA4: mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 orr r1, lr, r1, lsr #12 orr r1, r1, ip, lsl #20 ldmia sp!, {r4, lr} bx lr _0208EAC0: mov lr, ip, lsl #0x14 and lr, lr, #0x80000000 bic ip, ip, #0x800 cmp r1, #0 bne _0208EAE4 sub ip, ip, #0x20 movs r1, r0 mov r0, #0 bmi _0208EB00 _0208EAE4: clz r4, r1 movs r1, r1, lsl r4 rsb r4, r4, #0x20 orr r1, r1, r0, lsr r4 rsb r4, r4, #0x20 mov r0, r0, lsl r4 sub ip, ip, r4 _0208EB00: cmp ip, #0 orrgt ip, ip, lr, lsr #20 bgt _0208E9D0 rsb ip, ip, #0xc cmp ip, #0x20 movge r0, r1 movge r1, #0 subge ip, ip, #0x20 rsb r4, ip, #0x20 mov r0, r0, lsr ip orr r0, r0, r1, lsl r4 orr r1, lr, r1, lsr ip ldmia sp!, {r4, lr} bx lr _0208EB38: cmp ip, #0x800 movge lr, #0x80000000 movlt lr, #0 bics ip, ip, #0x800 beq _0208EBA4 orrs r4, r0, r1, lsl #1 bne _0208EC80 mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r4, r4, lsl #0x15 beq _0208EC6C cmn r4, #0x200000 bne _0208EC6C orrs r4, r2, r3, lsl #1 beq _0208EC94 b _0208EC80 _0208EB80: cmp r4, #0x800 movge lr, #0x80000000 movlt lr, #0 bic ip, ip, #0x800 bics r4, r4, #0x800 beq _0208EC1C orrs r4, r2, r3, lsl #1 bne _0208EC80 b _0208EC6C _0208EBA4: orrs r4, r0, r1, lsl #1 beq _0208EBE4 mov ip, #1 bic r1, r1, #0x80000000 mov r4, r3, lsr #0x14 mov r3, r3, lsl #0xb orr r3, r3, r2, lsr #21 mov r2, r2, lsl #0xb movs r4, r4, lsl #0x15 cmnne r4, #0x200000 mov r4, r4, lsr #0x15 orr r4, r4, lr, lsr #20 beq _0208EB80 orr r3, r3, #0x80000000 orr ip, ip, lr, lsr #20 b _0208E96C _0208EBE4: mov ip, r3, lsr #0x14 mov r1, r3, lsl #0xb orr r1, r1, r2, lsr #21 mov r0, r2, lsl #0xb movs r4, ip, lsl #0x15 beq _0208EC10 cmn r4, #0x200000 bne _0208EC38 orrs r4, r0, r1, lsl #1 bne _0208EC84 b _0208EC6C _0208EC10: orrs r4, r0, r1, lsl #1 beq _0208ECA4 b _0208EC38 _0208EC1C: orrs r4, r2, r3, lsl #1 beq _0208EC48 mov r4, #1 bic r3, r3, #0x80000000 orr ip, ip, lr, lsr #20 orr r4, r4, lr, lsr #20 b _0208E96C _0208EC38: mov r1, r3 mov r0, r2 ldmia sp!, {r4, lr} bx lr _0208EC48: cmp r1, #0 subges ip, ip, #1 mov r0, r0, lsr #0xb orr r0, r0, r1, lsl #21 add r1, r1, r1 orr r1, lr, r1, lsr #12 orr r1, r1, ip, lsl #20 ldmia sp!, {r4, lr} bx lr _0208EC6C: ldr r1, _0208ECB4 ; =0x7FF00000 orr r1, lr, r1 mov r0, #0 ldmia sp!, {r4, lr} bx lr _0208EC80: mov r1, r3 _0208EC84: mvn r0, #0 bic r1, r0, #0x80000000 ldmia sp!, {r4, lr} bx lr _0208EC94: mvn r0, #0 bic r1, r0, #0x80000000 ldmia sp!, {r4, lr} bx lr _0208ECA4: mov r1, #0 mov r0, #0 ldmia sp!, {r4, lr} bx lr .align 2, 0 _0208ECB4: .word 0x7FF00000 arm_func_end sub_0208E904 arm_func_start __addsf3 __addsf3: ; 0x0208ECB8 eors r2, r0, r1 eormi r1, r1, #0x80000000 bmi _0208FA10 _0208ECC4: subs ip, r0, r1 sublo r0, r0, ip addlo r1, r1, ip mov r2, #0x80000000 mov r3, r0, lsr #0x17 orr r0, r2, r0, lsl #8 ands ip, r3, #0xff cmpne ip, #0xff beq _0208ED58 mov ip, r1, lsr #0x17 orr r1, r2, r1, lsl #8 ands r2, ip, #0xff beq _0208ED98 _0208ECF8: subs ip, r3, ip beq _0208ED10 rsb r2, ip, #0x20 movs r2, r1, lsl r2 mov r1, r1, lsr ip orrne r1, r1, #1 _0208ED10: adds r0, r0, r1 blo _0208ED30 and r1, r0, #1 orr r0, r1, r0, rrx add r3, r3, #1 and r2, r3, #0xff cmp r2, #0xff beq _0208EEA0 _0208ED30: ands r1, r0, #0xff add r0, r0, r0 mov r0, r0, lsr #9 orr r0, r0, r3, lsl #23 tst r1, #0x80 bxeq lr ands r1, r1, #0x7f andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208ED58: cmp r3, #0x100 movge r2, #0x80000000 movlt r2, #0 ands r3, r3, #0xff beq _0208EDBC movs r0, r0, lsl #1 bne _0208EECC mov ip, r1, lsr #0x17 mov r1, r1, lsl #9 ands ip, ip, #0xff beq _0208EEC0 cmp ip, #0xff blt _0208EEC0 cmp r1, #0 beq _0208EEC0 b _0208EECC _0208ED98: cmp r3, #0x100 movge r2, #0x80000000 movlt r2, #0 and r3, r3, #0xff ands ip, ip, #0xff beq _0208EE18 _0208EDB0: movs r1, r1, lsl #1 bne _0208EECC b _0208EEC0 _0208EDBC: movs r0, r0, lsl #1 beq _0208EDF4 mov r3, #1 mov r0, r0, lsr #1 mov ip, r1, lsr #0x17 mov r1, r1, lsl #8 ands ip, ip, #0xff beq _0208EE18 cmp ip, #0xff beq _0208EDB0 orr r1, r1, #0x80000000 orr r3, r3, r2, lsr #23 orr ip, ip, r2, lsr #23 b _0208ECF8 _0208EDF4: mov r3, r1, lsr #0x17 mov r0, r1, lsl #9 ands r3, r3, #0xff beq _0208EE80 cmp r3, #0xff blt _0208EE80 cmp r0, #0 beq _0208EEC0 b _0208EEB8 _0208EE18: movs r1, r1, lsl #1 beq _0208EE88 mov r1, r1, lsr #1 mov ip, #1 orr r3, r3, r2, lsr #23 orr ip, ip, r2, lsr #23 cmp r0, #0 bmi _0208ECF8 adds r0, r0, r1 blo _0208EE4C and r1, r0, #1 orr r0, r1, r0, rrx add ip, ip, #1 _0208EE4C: cmp r0, #0 subge ip, ip, #1 ands r1, r0, #0xff add r0, r0, r0 mov r0, r0, lsr #9 orr r0, r0, ip, lsl #23 bxeq lr tst r1, #0x80 bxeq lr ands r1, r1, #0x7f andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208EE80: mov r0, r1 bx lr _0208EE88: cmp r0, #0 subges r3, r3, #1 add r0, r0, r0 orr r0, r2, r0, lsr #9 orr r0, r0, r3, lsl #23 bx lr _0208EEA0: cmp r3, #0x100 movge r2, #0x80000000 movlt r2, #0 mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr _0208EEB8: mvn r0, #0x80000000 bx lr _0208EEC0: mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr _0208EECC: mvn r0, #0x80000000 bx lr arm_func_end __addsf3 arm_func_start sub_0208EED4 sub_0208EED4: ; 0x0208EED4 mvn r0, #0x80000000 bx lr arm_func_end sub_0208EED4 arm_func_start sub_0208EEDC sub_0208EEDC: ; 0x0208EEDC mov ip, #0x200000 cmn ip, r1, lsl #1 bhs _0208EF50 cmn ip, r3, lsl #1 bhs _0208EF64 _0208EEF0: orrs ip, r3, r1 bmi _0208EF20 cmp r1, r3 cmpeq r0, r2 movhi r0, #1 movls r0, #0 bx lr _0208EF0C: mov r0, #0 mrs ip, cpsr bic ip, ip, #0x20000000 msr cpsr_f, ip bx lr _0208EF20: orr ip, r0, ip, lsl #1 orrs ip, ip, r2 moveq r0, #0 mrs ip, cpsr bic ip, ip, #0x20000000 msr cpsr_f, ip bxeq lr cmp r3, r1 cmpeq r2, r0 movhi r0, #1 movls r0, #0 bx lr _0208EF50: bne _0208EF0C cmp r0, #0 bhi _0208EF0C cmn ip, r3, lsl #1 blo _0208EEF0 _0208EF64: bne _0208EF0C cmp r2, #0 bhi _0208EF0C b _0208EEF0 arm_func_end sub_0208EEDC arm_func_start sub_0208EF74 sub_0208EF74: ; 0x0208EF74 mov ip, #0x200000 cmn ip, r1, lsl #1 bhs _0208EFF4 cmn ip, r3, lsl #1 bhs _0208F008 _0208EF88: orrs ip, r3, r1 bmi _0208EFBC cmp r1, r3 cmpeq r0, r2 movls r0, #1 movhi r0, #0 bx lr _0208EFA4: mov r0, #0 mrs ip, cpsr bic ip, ip, #0x40000000 orr ip, ip, #0x20000000 msr cpsr_f, ip bx lr _0208EFBC: orr ip, r0, ip, lsl #1 orrs ip, ip, r2 moveq r0, #1 bne _0208EFE0 mrs ip, cpsr bic ip, ip, #0x20000000 orr ip, ip, #0x40000000 msr cpsr_f, ip bxeq lr _0208EFE0: cmp r3, r1 cmpeq r2, r0 movls r0, #1 movhi r0, #0 bx lr _0208EFF4: bne _0208EFA4 cmp r0, #0 bhi _0208EFA4 cmn ip, r3, lsl #1 blo _0208EF88 _0208F008: bne _0208EFA4 cmp r2, #0 bhi _0208EFA4 b _0208EF88 arm_func_end sub_0208EF74 arm_func_start sub_0208F018 sub_0208F018: ; 0x0208F018 mov ip, #0x200000 cmn ip, r1, lsl #1 bhs _0208F090 cmn ip, r3, lsl #1 bhs _0208F0A4 _0208F02C: orrs ip, r3, r1 bmi _0208F05C cmp r1, r3 cmpeq r0, r2 movlo r0, #1 movhs r0, #0 bx lr _0208F048: mov r0, #0 mrs ip, cpsr orr ip, ip, #0x20000000 msr cpsr_f, ip bx lr _0208F05C: orr ip, r0, ip, lsl #1 orrs ip, ip, r2 moveq r0, #0 bne _0208F07C mrs ip, cpsr orr ip, ip, #0x20000000 msr cpsr_f, ip bxeq lr _0208F07C: cmp r3, r1 cmpeq r2, r0 movlo r0, #1 movhs r0, #0 bx lr _0208F090: bne _0208F048 cmp r0, #0 bhi _0208F048 cmn ip, r3, lsl #1 blo _0208F02C _0208F0A4: bne _0208F048 cmp r2, #0 bhi _0208F048 b _0208F02C arm_func_end sub_0208F018 arm_func_start sub_0208F0B4 sub_0208F0B4: ; 0x0208F0B4 mov ip, #0x200000 cmn ip, r1, lsl #1 bhs _0208F11C cmn ip, r3, lsl #1 bhs _0208F130 _0208F0C8: orrs ip, r3, r1 bmi _0208F0F8 cmp r1, r3 cmpeq r0, r2 moveq r0, #1 movne r0, #0 bx lr _0208F0E4: mov r0, #0 mrs ip, cpsr bic ip, ip, #0x40000000 msr cpsr_f, ip bx lr _0208F0F8: orr ip, r0, ip, lsl #1 orrs ip, ip, r2 moveq r0, #1 bxeq lr cmp r3, r1 cmpeq r2, r0 moveq r0, #1 movne r0, #0 bx lr _0208F11C: bne _0208F0E4 cmp r0, #0 bhi _0208F0E4 cmn ip, r3, lsl #1 blo _0208F0C8 _0208F130: bne _0208F0E4 cmp r2, #0 bhi _0208F0E4 b _0208F0C8 arm_func_end sub_0208F0B4 arm_func_start sub_0208F140 sub_0208F140: ; 0x0208F140 mov ip, #0x200000 cmn ip, r1, lsl #1 bhs _0208F1A8 cmn ip, r3, lsl #1 bhs _0208F1BC _0208F154: orrs ip, r3, r1 bmi _0208F184 cmp r1, r3 cmpeq r0, r2 movne r0, #1 moveq r0, #0 bx lr _0208F170: mov r0, #1 mrs ip, cpsr bic ip, ip, #0x40000000 msr cpsr_f, ip bx lr _0208F184: orr ip, r0, ip, lsl #1 orrs ip, ip, r2 moveq r0, #0 bxeq lr cmp r3, r1 cmpeq r2, r0 movne r0, #1 moveq r0, #0 bx lr _0208F1A8: bne _0208F170 cmp r0, #0 bhi _0208F170 cmn ip, r3, lsl #1 blo _0208F154 _0208F1BC: bne _0208F170 cmp r2, #0 bhi _0208F170 b _0208F154 arm_func_end sub_0208F140 arm_func_start sub_0208F1CC sub_0208F1CC: ; 0x0208F1CC mov r3, #0xff000000 cmp r3, r0, lsl #1 cmphs r3, r1, lsl #1 blo _0208F214 cmp r0, #0 bicmi r0, r0, #0x80000000 rsbmi r0, r0, #0 cmp r1, #0 bicmi r1, r1, #0x80000000 rsbmi r1, r1, #0 cmp r0, r1 movlt r0, #1 movge r0, #0 mrs ip, cpsr orrge ip, ip, #0x20000000 biclt ip, ip, #0x20000000 msr cpsr_f, ip bx lr _0208F214: mov r0, #0 mrs ip, cpsr orr ip, ip, #0x20000000 msr cpsr_f, ip bx lr arm_func_end sub_0208F1CC _0208F228: .byte 0x01, 0x00, 0x20, 0xE0, 0x01, 0x10, 0x20, 0xE0 .byte 0x01, 0x00, 0x20, 0xE0 arm_func_start __divsf3 __divsf3: ; 0x0208F234 stmdb sp!, {lr} mov ip, #0xff ands r3, ip, r0, lsr #23 cmpne r3, #0xff beq _0208F408 ands ip, ip, r1, lsr #23 cmpne ip, #0xff beq _0208F444 orr r1, r1, #0x800000 orr r0, r0, #0x800000 bic r2, r0, #0xff000000 bic lr, r1, #0xff000000 _0208F264: cmp r2, lr movlo r2, r2, lsl #1 sublo r3, r3, #1 teq r0, r1 sub r0, pc, #0x94 ldrb r1, [r0, lr, lsr #15] rsb lr, lr, #0 mov r0, lr, asr #1 mul r0, r1, r0 add r0, r0, #0x80000000 mov r0, r0, lsr #6 mul r0, r1, r0 mov r0, r0, lsr #0xe mul r1, lr, r0 sub ip, r3, ip mov r1, r1, lsr #0xc mul r1, r0, r1 mov r0, r0, lsl #0xe add r0, r0, r1, lsr #15 umull r1, r0, r2, r0 mov r3, r0 orrmi r0, r0, #0x80000000 adds ip, ip, #0x7e bmi _0208F50C cmp ip, #0xfe bge _0208F5C0 add r0, r0, ip, lsl #23 mov ip, r1, lsr #0x1c cmp ip, #7 beq _0208F3E8 add r0, r0, r1, lsr #31 ldmia sp!, {lr} bx lr _0208F2E8: .byte 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 .byte 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1, 0xF0, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA .byte 0xEA, 0xE9, 0xE8, 0xE7, 0xE6, 0xE6, 0xE5, 0xE4, 0xE3, 0xE2, 0xE2, 0xE1, 0xE0, 0xDF, 0xDF, 0xDE .byte 0xDD, 0xDC, 0xDC, 0xDB, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xD7, 0xD6, 0xD5, 0xD4, 0xD4, 0xD3, 0xD2 .byte 0xD2, 0xD1, 0xD0, 0xD0, 0xCF, 0xCE, 0xCE, 0xCD, 0xCC, 0xCC, 0xCB, 0xCB, 0xCA, 0xC9, 0xC9, 0xC8 .byte 0xC8, 0xC7, 0xC6, 0xC6, 0xC5, 0xC5, 0xC4, 0xC3, 0xC3, 0xC2, 0xC2, 0xC1, 0xC0, 0xC0, 0xBF, 0xBF .byte 0xBE, 0xBE, 0xBD, 0xBD, 0xBC, 0xBC, 0xBB, 0xBA, 0xBA, 0xB9, 0xB9, 0xB8, 0xB8, 0xB7, 0xB7, 0xB6 .byte 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB3, 0xB3, 0xB2, 0xB2, 0xB1, 0xB1, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF .byte 0xAE, 0xAE, 0xAD, 0xAD, 0xAC, 0xAC, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA8, 0xA8, 0xA7 .byte 0xA7, 0xA7, 0xA6, 0xA6, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA1, 0xA1 .byte 0xA0, 0xA0, 0xA0, 0x9F, 0x9F, 0x9E, 0x9E, 0x9E, 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B .byte 0x9A, 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x97, 0x97, 0x96, 0x96, 0x96, 0x95, 0x95 .byte 0x95, 0x94, 0x94, 0x94, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x90, 0x90 .byte 0x90, 0x8F, 0x8F, 0x8F, 0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B, 0x8B .byte 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x89, 0x89, 0x89, 0x88, 0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x86 .byte 0x86, 0x86, 0x86, 0x85, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82 .byte 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80 _0208F3E8: mov r1, r3, lsl #1 add r1, r1, #1 rsb lr, lr, #0 mul r1, lr, r1 cmp r1, r2, lsl #24 addmi r0, r0, #1 ldmia sp!, {lr} bx lr _0208F408: eor lr, r0, r1 and lr, lr, #0x80000000 cmp r3, #0 beq _0208F460 movs r0, r0, lsl #9 bne _0208F5A8 mov ip, r1, lsr #0x17 mov r1, r1, lsl #9 ands ip, ip, #0xff beq _0208F598 cmp ip, #0xff blt _0208F598 cmp r1, #0 beq _0208F5B4 b _0208F590 _0208F444: eor lr, r0, r1 and lr, lr, #0x80000000 cmp ip, #0 beq _0208F4C4 _0208F454: movs r1, r1, lsl #9 bne _0208F590 b _0208F5E0 _0208F460: movs r2, r0, lsl #9 beq _0208F494 clz r3, r2 movs r2, r2, lsl r3 rsb r3, r3, #0 mov r2, r2, lsr #8 ands ip, ip, r1, lsr #23 beq _0208F4EC cmp ip, #0xff beq _0208F454 orr r1, r1, #0x800000 bic lr, r1, #0xff000000 b _0208F264 _0208F494: mov ip, r1, lsr #0x17 mov r1, r1, lsl #9 ands ip, ip, #0xff beq _0208F4B8 cmp ip, #0xff blt _0208F5E0 cmp r1, #0 beq _0208F5E0 b _0208F590 _0208F4B8: cmp r1, #0 beq _0208F5B4 b _0208F5E0 _0208F4C4: movs ip, r1, lsl #9 beq _0208F598 mov lr, ip clz ip, lr movs lr, lr, lsl ip rsb ip, ip, #0 mov lr, lr, lsr #8 orr r0, r0, #0x800000 bic r2, r0, #0xff000000 b _0208F264 _0208F4EC: movs ip, r1, lsl #9 beq _0208F598 mov lr, ip clz ip, lr movs lr, lr, lsl ip rsb ip, ip, #0 mov lr, lr, lsr #8 b _0208F264 _0208F50C: and r0, r0, #0x80000000 cmn ip, #0x18 beq _0208F580 bmi _0208F5D8 add r1, ip, #0x17 mov r2, r2, lsl r1 rsb ip, ip, #0 mov r3, r3, lsr ip orr r0, r0, r3 rsb lr, lr, #0 mul r1, lr, r3 cmp r1, r2 ldmeqia sp!, {lr} bxeq lr add r1, r1, lr cmp r1, r2 beq _0208F574 addmi r0, r0, #1 subpl r1, r1, lr add r1, lr, r1, lsl #1 cmp r1, r2, lsl #1 and r3, r0, #1 addmi r0, r0, #1 addeq r0, r0, r3 ldmia sp!, {lr} bx lr _0208F574: add r0, r0, #1 ldmia sp!, {lr} bx lr _0208F580: cmn r2, lr addne r0, r0, #1 ldmia sp!, {lr} bx lr _0208F590: mov r0, r1 b _0208F5A8 _0208F598: mov r0, #0xff000000 orr r0, lr, r0, lsr #1 ldmia sp!, {lr} bx lr _0208F5A8: mvn r0, #0x80000000 ldmia sp!, {lr} bx lr _0208F5B4: mvn r0, #0x80000000 ldmia sp!, {lr} bx lr _0208F5C0: tst r0, #0x80000000 mov r0, #0xff000000 movne r0, r0, asr #1 moveq r0, r0, lsr #1 ldmia sp!, {lr} bx lr _0208F5D8: ldmia sp!, {lr} bx lr _0208F5E0: mov r0, lr ldmia sp!, {lr} bx lr arm_func_end __divsf3 arm_func_start __extendsfdf2 __extendsfdf2: ; 0x0208F5EC and r2, r0, #0x80000000 mov ip, r0, lsr #0x17 mov r3, r0, lsl #9 ands ip, ip, #0xff beq _0208F61C cmp ip, #0xff beq _0208F648 _0208F608: add ip, ip, #0x380 mov r0, r3, lsl #0x14 orr r1, r2, r3, lsr #12 orr r1, r1, ip, lsl #20 bx lr _0208F61C: cmp r3, #0 bne _0208F630 mov r1, r2 mov r0, #0 bx lr _0208F630: mov r3, r3, lsr #1 clz ip, r3 movs r3, r3, lsl ip rsb ip, ip, #1 add r3, r3, r3 b _0208F608 _0208F648: cmp r3, #0 bhi _0208F660 ldr r1, _0208F66C ; =0x7FF00000 orr r1, r1, r2 mov r0, #0 bx lr _0208F660: mvn r0, #0 bic r1, r0, #0x80000000 bx lr .align 2, 0 _0208F66C: .word 0x7FF00000 arm_func_end __extendsfdf2 arm_func_start __fixsfsi __fixsfsi: ; 0x0208F670 bic r1, r0, #0x80000000 mov r2, #0x9e subs r2, r2, r1, lsr #23 ble _0208F698 mov r1, r1, lsl #8 orr r1, r1, #0x80000000 cmp r0, #0 mov r0, r1, lsr r2 rsbmi r0, r0, #0 bx lr _0208F698: mvn r0, r0, asr #31 add r0, r0, #0x80000000 bx lr arm_func_end __fixsfsi arm_func_start __floatsisf __floatsisf: ; 0x0208F6A4 ands r2, r0, #0x80000000 rsbmi r0, r0, #0 cmp r0, #0 bxeq lr clz r3, r0 movs r0, r0, lsl r3 rsb r3, r3, #0x9e ands r1, r0, #0xff add r0, r0, r0 orr r0, r2, r0, lsr #9 orr r0, r0, r3, lsl #23 bxeq lr tst r1, #0x80 bxeq lr ands r3, r1, #0x7f andeqs r3, r0, #1 addne r0, r0, #1 bx lr arm_func_end __floatsisf arm_func_start __floatunsisf __floatunsisf: ; 0x0208F6EC cmp r0, #0 bxeq lr mov r3, #0x9e bmi _0208F708 clz ip, r0 movs r0, r0, lsl ip sub r3, r3, ip _0208F708: ands r2, r0, #0xff add r0, r0, r0 mov r0, r0, lsr #9 orr r0, r0, r3, lsl #23 bxeq lr tst r2, #0x80 bxeq lr ands r1, r2, #0x7f andeqs r1, r0, #1 addne r0, r0, #1 bx lr arm_func_end __floatunsisf arm_func_start __mulsf3 __mulsf3: ; 0x0208F734 eor r2, r0, r1 and r2, r2, #0x80000000 mov ip, #0xff ands r3, ip, r0, lsr #23 mov r0, r0, lsl #8 cmpne r3, #0xff beq _0208F7B0 orr r0, r0, #0x80000000 ands ip, ip, r1, lsr #23 mov r1, r1, lsl #8 cmpne ip, #0xff beq _0208F7F0 orr r1, r1, #0x80000000 _0208F768: add ip, r3, ip umull r1, r3, r0, r1 movs r0, r3 addpl r0, r0, r0 subpl ip, ip, #1 subs ip, ip, #0x7f bmi _0208F87C cmp ip, #0xfe bge _0208F8E8 ands r3, r0, #0xff orr r0, r2, r0, lsr #8 add r0, r0, ip, lsl #23 tst r3, #0x80 bxeq lr orrs r1, r1, r3, lsl #25 andeqs r3, r0, #1 addne r0, r0, #1 bx lr _0208F7B0: cmp r3, #0 beq _0208F804 movs r0, r0, lsl #1 bne _0208F8D8 mov ip, r1, lsr #0x17 mov r1, r1, lsl #9 ands ip, ip, #0xff beq _0208F7E4 cmp ip, #0xff blt _0208F8CC cmp r1, #0 beq _0208F8CC b _0208F8D8 _0208F7E4: cmp r1, #0 beq _0208F8E0 b _0208F8CC _0208F7F0: cmp ip, #0 beq _0208F860 _0208F7F8: movs r1, r1, lsl #1 bne _0208F8D8 b _0208F8CC _0208F804: movs r0, r0, lsl #1 beq _0208F83C mov r0, r0, lsr #1 clz r3, r0 movs r0, r0, lsl r3 rsb r3, r3, #1 mov ip, r1, lsr #0x17 mov r1, r1, lsl #8 ands ip, ip, #0xff beq _0208F860 cmp ip, #0xff beq _0208F7F8 orr r1, r1, #0x80000000 b _0208F768 _0208F83C: mov ip, r1, lsr #0x17 mov r1, r1, lsl #9 ands ip, ip, #0xff beq _0208F90C cmp ip, #0xff blt _0208F90C cmp r1, #0 beq _0208F8E0 b _0208F8D8 _0208F860: movs r1, r1, lsl #1 beq _0208F90C mov r1, r1, lsr #1 clz ip, r1 movs r1, r1, lsl ip rsb ip, ip, #1 b _0208F768 _0208F87C: cmn ip, #0x18 beq _0208F8C4 bmi _0208F904 cmp r1, #0 orrne r0, r0, #1 mov r3, r0 mov r0, r0, lsr #8 rsb ip, ip, #0 orr r0, r2, r0, lsr ip rsb ip, ip, #0x18 movs r1, r3, lsl ip bxeq lr tst r1, #0x80000000 bxeq lr movs r1, r1, lsl #1 andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208F8C4: mov r0, r0, lsl #1 b _0208F8F4 _0208F8CC: mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr _0208F8D8: mvn r0, #0x80000000 bx lr _0208F8E0: mvn r0, #0x80000000 bx lr _0208F8E8: mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr _0208F8F4: movs r1, r0 mov r0, r2 addne r0, r0, #1 bx lr _0208F904: mov r0, r2 bx lr _0208F90C: mov r0, r2 bx lr arm_func_end __mulsf3 arm_func_start sqrtf sqrtf: ; 0x0208F914 stmdb sp!, {lr} mov r2, #0xff cmp r0, r2, lsl #23 bhs _0208F9B8 movs ip, r0, lsr #0x17 beq _0208F998 bic r0, r0, r2, lsl #23 orr r0, r0, #0x800000 _0208F934: movs ip, ip, asr #1 bhs _0208F944 sub ip, ip, #1 mov r0, r0, lsl #1 _0208F944: movs r1, r0, lsl #1 mov r0, #0 mov r2, #0 mov lr, #0x1000000 _0208F954: add r3, r2, lr cmp r3, r1 addle r2, r3, lr suble r1, r1, r3 addle r0, r0, lr mov r1, r1, lsl #1 movs lr, lr, lsr #1 bne _0208F954 cmp r1, #0 biceq r0, r0, #1 movs r0, r0, lsr #1 adc r0, r0, #0 add r0, r0, #0x20000000 sub r0, r0, #0x800000 add r0, r0, ip, lsl #23 ldmia sp!, {lr} bx lr _0208F998: cmp r0, #0 ldmeqia sp!, {lr} bxeq lr clz ip, r0 movs r0, r0, lsl ip rsb ip, ip, #9 mov r0, r0, lsr #8 b _0208F934 _0208F9B8: ldmeqia sp!, {lr} bxeq lr tst r0, #0x80000000 beq _0208F9D4 bics r3, r0, #0x80000000 ldmeqia sp!, {lr} bxeq lr _0208F9D4: ldr r2, _0208F9F0 ; =0x7FC00000 orr r0, r0, r2 ldr r3, _0208F9F4 ; =_022BCA70 mov r4, #0x21 str r4, [r3] ldmia sp!, {lr} bx lr .align 2, 0 _0208F9F0: .word 0x7FC00000 _0208F9F4: .word _022BCA70 arm_func_end sqrtf _0208F9F8: .byte 0x01, 0x00, 0x20, 0xE0, 0x01, 0x10, 0x20, 0xE0 .byte 0x01, 0x00, 0x20, 0xE0 arm_func_start __subsf3 __subsf3: ; 0x0208FA04 eors r2, r0, r1 eormi r1, r1, #0x80000000 bmi _0208ECC4 _0208FA10: subs ip, r0, r1 eorlo ip, ip, #0x80000000 sublo r0, r0, ip addlo r1, r1, ip mov r2, #0x80000000 mov r3, r0, lsr #0x17 orr r0, r2, r0, lsl #8 ands ip, r3, #0xff cmpne ip, #0xff beq _0208FB2C mov ip, r1, lsr #0x17 orr r1, r2, r1, lsl #8 ands r2, ip, #0xff beq _0208FB6C _0208FA48: subs ip, r3, ip beq _0208FA90 rsb r2, ip, #0x20 movs r2, r1, lsl r2 mov r1, r1, lsr ip orrne r1, r1, #1 subs r0, r0, r1 bpl _0208FAD4 ands r1, r0, #0xff add r0, r0, r0 mov r0, r0, lsr #9 orr r0, r0, r3, lsl #23 tst r1, #0x80 bxeq lr ands r1, r1, #0x7f andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208FA90: subs r0, r0, r1 beq _0208FC38 mov r2, r3, lsl #0x17 and r2, r2, #0x80000000 bic r3, r3, #0x100 clz ip, r0 movs r0, r0, lsl ip sub r3, r3, ip cmp r3, #0 bgt _0208FAC4 rsb r3, r3, #9 orr r0, r2, r0, lsr r3 bx lr _0208FAC4: add r0, r0, r0 orr r0, r2, r0, lsr #9 orr r0, r0, r3, lsl #23 bx lr _0208FAD4: mov r2, r3, lsl #0x17 and r2, r2, #0x80000000 bic r3, r3, #0x100 clz ip, r0 movs r0, r0, lsl ip sub r3, r3, ip cmp r3, #0 bgt _0208FB00 rsb r3, r3, #9 orr r0, r2, r0, lsr r3 bx lr _0208FB00: ands r1, r0, #0xff add r0, r0, r0 orr r0, r2, r0, lsr #9 orr r0, r0, r3, lsl #23 bxeq lr tst r1, #0x80 bxeq lr ands r1, r1, #0x7f andeqs r1, r0, #1 addne r0, r0, #1 bx lr _0208FB2C: cmp r3, #0x100 movge r2, #0x80000000 movlt r2, #0 ands r3, r3, #0xff beq _0208FB94 movs r0, r0, lsl #1 bne _0208FC6C mov ip, r1, lsr #0x17 mov r1, r1, lsl #9 ands ip, ip, #0xff beq _0208FC60 cmp ip, #0xff blt _0208FC60 cmp r1, #0 beq _0208FC74 b _0208FC6C _0208FB6C: cmp ip, #0x100 movge r2, #0x80000000 movlt r2, #0 and r3, r3, #0xff ands ip, ip, #0xff beq _0208FBFC _0208FB84: eor r2, r2, #0x80000000 movs r1, r1, lsl #1 bne _0208FC6C b _0208FC60 _0208FB94: movs r0, r0, lsl #1 beq _0208FBCC mov r0, r0, lsr #1 mov r3, #1 mov ip, r1, lsr #0x17 mov r1, r1, lsl #8 ands ip, ip, #0xff beq _0208FBFC cmp ip, #0xff beq _0208FB84 orr r1, r1, #0x80000000 orr r3, r3, r2, lsr #23 orr ip, ip, r2, lsr #23 b _0208FA48 _0208FBCC: mov r3, r1, lsr #0x17 mov r0, r1, lsl #9 ands r2, r3, #0xff beq _0208FBF0 cmp r2, #0xff blt _0208FC18 cmp r0, #0 bne _0208FC58 b _0208FC60 _0208FBF0: cmp r0, #0 beq _0208FC38 b _0208FC18 _0208FBFC: movs r1, r1, lsl #1 beq _0208FC20 mov r1, r1, lsr #1 mov ip, #1 orr ip, ip, r2, lsr #23 orr r3, r3, r2, lsr #23 b _0208FA48 _0208FC18: mov r0, r1 bx lr _0208FC20: cmp r0, #0 subges r3, r3, #1 add r0, r0, r0 orr r0, r2, r0, lsr #9 orr r0, r0, r3, lsl #23 bx lr _0208FC38: mov r0, #0 bx lr _0208FC40: cmp r0, #0 subges r3, r3, #1 add r0, r0, r0 mov r0, r0, lsr #9 orr r0, r0, r3, lsl #23 bx lr _0208FC58: mvn r0, #0x80000000 bx lr _0208FC60: mov r0, #0xff000000 orr r0, r2, r0, lsr #1 bx lr _0208FC6C: mvn r0, #0x80000000 bx lr _0208FC74: mvn r0, #0x80000000 bx lr arm_func_end __subsf3 arm_func_start sub_0208FC7C sub_0208FC7C: ; 0x0208FC7C stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} mov r4, r1 orr r4, r4, #1 b _0208FC9C arm_func_end sub_0208FC7C arm_func_start sub_0208FC8C sub_0208FC8C: ; 0x0208FC8C stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} eor r4, r1, r3 mov r4, r4, asr #1 mov r4, r4, lsl #1 _0208FC9C: orrs r5, r3, r2 bne _0208FCAC ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr _0208FCAC: mov r5, r0, lsr #0x1f add r5, r5, r1 mov r6, r2, lsr #0x1f add r6, r6, r3 orrs r6, r5, r6 bne _0208FCE0 mov r1, r2 bl __divsi3 ands r4, r4, #1 movne r0, r1 mov r1, r0, asr #0x1f ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr _0208FCE0: cmp r1, #0 bge _0208FCF0 rsbs r0, r0, #0 rsc r1, r1, #0 _0208FCF0: cmp r3, #0 bge _0208FD00 rsbs r2, r2, #0 rsc r3, r3, #0 _0208FD00: orrs r5, r1, r0 beq _0208FE24 mov r5, #0 mov r6, #1 cmp r3, #0 bmi _0208FD2C _0208FD18: add r5, r5, #1 adds r2, r2, r2 adcs r3, r3, r3 bpl _0208FD18 add r6, r6, r5 _0208FD2C: cmp r1, #0 blt _0208FD4C _0208FD34: cmp r6, #1 beq _0208FD4C sub r6, r6, #1 adds r0, r0, r0 adcs r1, r1, r1 bpl _0208FD34 _0208FD4C: mov r7, #0 mov ip, #0 mov fp, #0 b _0208FD74 _0208FD5C: orr ip, ip, #1 subs r6, r6, #1 beq _0208FDCC adds r0, r0, r0 adcs r1, r1, r1 adcs r7, r7, r7 _0208FD74: subs r0, r0, r2 sbcs r1, r1, r3 sbcs r7, r7, #0 adds ip, ip, ip adc fp, fp, fp cmp r7, #0 bge _0208FD5C _0208FD90: subs r6, r6, #1 beq _0208FDC4 adds r0, r0, r0 adcs r1, r1, r1 adc r7, r7, r7 adds r0, r0, r2 adcs r1, r1, r3 adc r7, r7, #0 adds ip, ip, ip adc fp, fp, fp cmp r7, #0 bge _0208FD5C b _0208FD90 _0208FDC4: adds r0, r0, r2 adc r1, r1, r3 _0208FDCC: ands r7, r4, #1 moveq r0, ip moveq r1, fp beq _0208FE04 subs r7, r5, #0x20 movge r0, r1, lsr r7 bge _0208FE28 rsb r7, r5, #0x20 mov r0, r0, lsr r5 orr r0, r0, r1, lsl r7 mov r1, r1, lsr r5 b _0208FE04 _0208FDFC: mov r0, r1, lsr r7 mov r1, #0 _0208FE04: cmp r4, #0 blt _0208FE14 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr _0208FE14: rsbs r0, r0, #0 rsc r1, r1, #0 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr _0208FE24: mov r0, #0 _0208FE28: mov r1, #0 cmp r4, #0 blt _0208FE14 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr arm_func_end sub_0208FC8C arm_func_start sub_0208FE3C sub_0208FE3C: ; 0x0208FE3C stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} mov r4, #0 b _0208FE50 arm_func_end sub_0208FE3C arm_func_start sub_0208FE48 sub_0208FE48: ; 0x0208FE48 stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} mov r4, #1 _0208FE50: orrs r5, r3, r2 bne _0208FE60 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr _0208FE60: orrs r5, r1, r3 bne _0208FD00 mov r1, r2 bl __udivsi3_no_zero_check cmp r4, #0 movne r0, r1 mov r1, #0 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr arm_func_end sub_0208FE48 arm_func_start sub_0208FE84 sub_0208FE84: ; 0x0208FE84 stmdb sp!, {r4, r5, lr} umull r5, r4, r0, r2 mla r4, r0, r3, r4 mla r4, r2, r1, r4 mov r1, r4 mov r0, r5 ldmia sp!, {r4, r5, lr} bx lr arm_func_end sub_0208FE84 arm_func_start __divsi3 __divsi3: ; 0x0208FEA4 eor ip, r0, r1 and ip, ip, #0x80000000 cmp r0, #0 rsblt r0, r0, #0 addlt ip, ip, #1 cmp r1, #0 rsblt r1, r1, #0 beq _0209009C cmp r0, r1 movlo r1, r0 movlo r0, #0 blo _0209009C mov r2, #0x1c mov r3, r0, lsr #4 cmp r1, r3, lsr #12 suble r2, r2, #0x10 movle r3, r3, lsr #0x10 cmp r1, r3, lsr #4 suble r2, r2, #8 movle r3, r3, lsr #8 cmp r1, r3 suble r2, r2, #4 movle r3, r3, lsr #4 mov r0, r0, lsl r2 rsb r1, r1, #0 adds r0, r0, r0 add r2, r2, r2, lsl #1 add pc, pc, r2, lsl #2 mov r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 mov r1, r3 _0209009C: ands r3, ip, #0x80000000 rsbne r0, r0, #0 ands r3, ip, #1 rsbne r1, r1, #0 bx lr arm_func_end __divsi3 arm_func_start __udivsi3 __udivsi3: ; 0x020900B0 cmp r1, #0 bxeq lr arm_func_end __udivsi3 arm_func_start __udivsi3_no_zero_check __udivsi3_no_zero_check: ; 0x020900B8 cmp r0, r1 movlo r1, r0 movlo r0, #0 bxlo lr mov r2, #0x1c mov r3, r0, lsr #4 cmp r1, r3, lsr #12 suble r2, r2, #0x10 movle r3, r3, lsr #0x10 cmp r1, r3, lsr #4 suble r2, r2, #8 movle r3, r3, lsr #8 cmp r1, r3 suble r2, r2, #4 movle r3, r3, lsr #4 mov r0, r0, lsl r2 rsb r1, r1, #0 adds r0, r0, r0 add r2, r2, r2, lsl #1 add pc, pc, r2, lsl #2 mov r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 adcs r3, r1, r3, lsl #1 sublo r3, r3, r1 adcs r0, r0, r0 mov r1, r3 bx lr arm_func_end __udivsi3_no_zero_check _02090294: .byte 0x03, 0x10, 0x21, 0xE0, 0x03, 0x30, 0x21, 0xE0, 0x03, 0x10, 0x21, 0xE0 .byte 0x02, 0x00, 0x20, 0xE0, 0x02, 0x20, 0x20, 0xE0, 0x02, 0x00, 0x20, 0xE0 arm_func_start sub_020902AC sub_020902AC: ; 0x020902AC stmdb sp!, {r4, r5, r6, lr} ldr lr, _020907EC ; =0x00000FFE eor r4, r1, r3 ands ip, lr, r1, lsr #19 cmpne ip, lr beq _02090658 bic r1, r1, lr, lsl #20 orr r1, r1, #0x100000 add ip, ip, r4, lsr #31 _020902D0: ands r4, lr, r3, lsr #19 cmpne r4, lr beq _020906F0 bic r3, r3, lr, lsl #20 orr r3, r3, #0x100000 _020902E4: sub ip, ip, r4 cmp r1, r3 cmpeq r0, r2 bhs _02090300 adds r0, r0, r0 adc r1, r1, r1 sub ip, ip, #2 _02090300: sub r4, pc, #0x24 ldrb lr, [r4, r3, lsr #12] rsbs r2, r2, #0 rsc r3, r3, #0 mov r4, #0x20000000 mla r5, lr, r3, r4 mov r6, r3, lsl #0xa mov r5, r5, lsr #7 mul lr, r5, lr orr r6, r6, r2, lsr #22 mov lr, lr, lsr #0xd mul r5, lr, r6 mov r6, r1, lsl #0xa orr r6, r6, r0, lsr #22 mov r5, r5, lsr #0x10 mul r5, lr, r5 mov lr, lr, lsl #0xe add lr, lr, r5, lsr #16 umull r5, r6, lr, r6 umull r4, r5, r6, r2 mla r5, r3, r6, r5 mov r4, r4, lsr #0x1a orr r4, r4, r5, lsl #6 add r4, r4, r0, lsl #2 umull lr, r5, r4, lr mov r4, #0 adds r5, r5, r6, lsl #24 adc r4, r4, r6, lsr #8 cmp ip, #0x800 bge _020904E4 add ip, ip, #0x7f0 adds ip, ip, #0xc bmi _020904FC orr r1, r4, ip, lsl #31 bic ip, ip, #1 add r1, r1, ip, lsl #19 tst lr, #0x80000000 bne _020903D4 rsbs r2, r2, #0 mov r4, r4, lsl #1 add r4, r4, r5, lsr #31 mul lr, r2, r4 mov r6, #0 mov r4, r5, lsl #1 orr r4, r4, #1 umlal r6, lr, r4, r2 rsc r3, r3, #0 mla lr, r4, r3, lr cmp lr, r0, lsl #21 bmi _020903D4 mov r0, r5 ldmia sp!, {r4, r5, r6, lr} bx lr _020903D4: adds r0, r5, #1 adc r1, r1, #0 ldmia sp!, {r4, r5, r6, lr} bx lr _020903E4: .byte 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5 .byte 0xF4, 0xF3, 0xF2, 0xF1, 0xF0, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA, 0xEA, 0xE9, 0xE8, 0xE7 .byte 0xE6, 0xE6, 0xE5, 0xE4, 0xE3, 0xE2, 0xE2, 0xE1, 0xE0, 0xDF, 0xDF, 0xDE, 0xDD, 0xDC, 0xDC, 0xDB .byte 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xD7, 0xD6, 0xD5, 0xD4, 0xD4, 0xD3, 0xD2, 0xD2, 0xD1, 0xD0, 0xD0 .byte 0xCF, 0xCE, 0xCE, 0xCD, 0xCC, 0xCC, 0xCB, 0xCB, 0xCA, 0xC9, 0xC9, 0xC8, 0xC8, 0xC7, 0xC6, 0xC6 .byte 0xC5, 0xC5, 0xC4, 0xC3, 0xC3, 0xC2, 0xC2, 0xC1, 0xC0, 0xC0, 0xBF, 0xBF, 0xBE, 0xBE, 0xBD, 0xBD .byte 0xBC, 0xBC, 0xBB, 0xBA, 0xBA, 0xB9, 0xB9, 0xB8, 0xB8, 0xB7, 0xB7, 0xB6, 0xB6, 0xB5, 0xB5, 0xB4 .byte 0xB4, 0xB3, 0xB3, 0xB2, 0xB2, 0xB1, 0xB1, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAE, 0xAE, 0xAD, 0xAD .byte 0xAC, 0xAC, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA8, 0xA8, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6 .byte 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA1, 0xA1, 0xA0, 0xA0, 0xA0, 0x9F .byte 0x9F, 0x9E, 0x9E, 0x9E, 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x99 .byte 0x99, 0x99, 0x98, 0x98, 0x98, 0x97, 0x97, 0x96, 0x96, 0x96, 0x95, 0x95, 0x95, 0x94, 0x94, 0x94 .byte 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x90, 0x90, 0x90, 0x8F, 0x8F, 0x8F .byte 0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A .byte 0x8A, 0x89, 0x89, 0x89, 0x88, 0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x85 .byte 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 .byte 0x81, 0x81, 0x80, 0x80 _020904E4: movs r1, ip, lsl #0x1f orr r1, r1, #0x7f000000 orr r1, r1, #0xf00000 mov r0, #0 ldmia sp!, {r4, r5, r6, lr} bx lr _020904FC: mvn r6, ip, asr #1 cmp r6, #0x34 bgt _02090648 beq _02090624 cmp r6, #0x14 bge _02090544 rsb r6, r6, #0x13 mov lr, r0, lsl r6 rsb r6, r6, #0x14 mov r0, r5, lsr r6 rsb r6, r6, #0x20 orr r0, r0, r4, lsl r6 rsb r6, r6, #0x20 mov r4, r4, lsr r6 orr r1, r4, ip, lsl #31 mov ip, lr mov lr, #0 b _02090574 _02090544: rsb r6, r6, #0x33 mov lr, r1, lsl r6 mov r1, ip, lsl #0x1f rsb r6, r6, #0x20 orr ip, lr, r0, lsr r6 rsb r6, r6, #0x20 mov lr, r0, lsl r6 mov r5, r5, lsr #0x15 orr r5, r5, r4, lsl #11 rsb r6, r6, #0x1f mov r0, r5, lsr r6 mov r4, #0 _02090574: rsbs r2, r2, #0 mul r4, r2, r4 mov r5, #0 umlal r5, r4, r2, r0 rsc r3, r3, #0 mla r4, r0, r3, r4 cmp r4, ip cmpeq r5, lr ldmeqia sp!, {r4, r5, r6, lr} bxeq lr adds r5, r5, r2 adc r4, r4, r3 cmp r4, ip bmi _02090618 bne _020905BC cmp r5, lr beq _02090608 blo _02090618 _020905BC: subs r5, r5, r2 sbc r4, r4, r3 _020905C4: adds r5, r5, r5 adc r4, r4, r4 adds r5, r5, r2 adc r4, r4, r3 adds lr, lr, lr adc ip, ip, ip cmp r4, ip bmi _02090608 ldmneia sp!, {r4, r5, r6, lr} bxne lr cmp r5, lr blo _02090608 ldmneia sp!, {r4, r5, r6, lr} bxne lr tst r0, #1 ldmeqia sp!, {r4, r5, r6, lr} bxeq lr _02090608: adds r0, r0, #1 adc r1, r1, #0 ldmia sp!, {r4, r5, r6, lr} bx lr _02090618: adds r0, r0, #1 adc r1, r1, #0 b _020905C4 _02090624: rsbs r2, r2, #0 rsc r3, r3, #0 cmp r1, r3 cmpeq r0, r2 mov r1, ip, lsl #0x1f mov r0, #0 movne r0, #1 ldmia sp!, {r4, r5, r6, lr} bx lr _02090648: mov r1, ip, lsl #0x1f mov r0, #0 ldmia sp!, {r4, r5, r6, lr} bx lr _02090658: orrs r5, r0, r1, lsl #1 beq _0209077C cmp ip, lr beq _020906C0 movs r1, r1, lsl #0xc beq _0209069C clz r5, r1 movs r1, r1, lsl r5 sub ip, ip, r5 add r5, ip, #0x1f mov r1, r1, lsr #0xb orr r1, r1, r0, lsr r5 rsb r5, r5, #0x20 mov r0, r0, lsl r5 mov ip, ip, lsl #1 orr ip, ip, r4, lsr #31 b _020902D0 _0209069C: mvn ip, #0x13 clz r5, r0 movs r0, r0, lsl r5 sub ip, ip, r5 mov r1, r0, lsr #0xb mov r0, r0, lsl #0x15 mov ip, ip, lsl #1 orr ip, ip, r4, lsr #31 b _020902D0 _020906C0: orrs r5, r0, r1, lsl #12 bne _020907A4 bic r5, r3, #0x80000000 cmp r5, lr, lsl #19 bhs _020906E4 and r5, r3, #0x80000000 eor r1, r5, r1 ldmia sp!, {r4, r5, r6, lr} bx lr _020906E4: orrs r5, r2, r3, lsl #12 bne _020907C4 b _020907DC _020906F0: orrs r5, r2, r3, lsl #1 beq _02090768 cmp r4, lr beq _02090750 movs r3, r3, lsl #0xc beq _02090730 clz r5, r3 movs r3, r3, lsl r5 sub r4, r4, r5 add r5, r4, #0x1f mov r3, r3, lsr #0xb orr r3, r3, r2, lsr r5 rsb r5, r5, #0x20 mov r2, r2, lsl r5 mov r4, r4, lsl #1 b _020902E4 _02090730: mvn r4, #0x13 clz r5, r2 movs r2, r2, lsl r5 sub r4, r4, r5 mov r3, r2, lsr #0xb mov r2, r2, lsl #0x15 mov r4, r4, lsl #1 b _020902E4 _02090750: orrs r5, r2, r3, lsl #12 bne _020907C4 mov r1, ip, lsl #0x1f mov r0, #0 ldmia sp!, {r4, r5, r6, lr} bx lr _02090768: mov r1, ip, lsl #0x1f orr r1, r1, lr, lsl #19 mov r0, #0 ldmia sp!, {r4, r5, r6, lr} bx lr _0209077C: orrs r5, r2, r3, lsl #1 beq _020907DC bic r5, r3, #0x80000000 cmp r5, lr, lsl #19 cmpeq r2, #0 bhi _020907C4 eor r1, r1, r3 and r1, r1, #0x80000000 ldmia sp!, {r4, r5, r6, lr} bx lr _020907A4: tst r1, #0x80000 beq _020907DC bic r5, r3, #0x80000000 cmp r5, lr, lsl #19 cmpeq r2, #0 bhi _020907C4 ldmia sp!, {r4, r5, r6, lr} bx lr _020907C4: tst r3, #0x80000 beq _020907DC mov r1, r3 mov r0, r2 ldmia sp!, {r4, r5, r6, lr} bx lr _020907DC: orr r1, r1, #0x7f000000 orr r1, r1, #0xf80000 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 _020907EC: .word 0x00000FFE arm_func_end sub_020902AC arm_func_start sub_020907F0 sub_020907F0: ; 0x020907F0 bx lr arm_func_end sub_020907F0 arm_func_start sub_020907F4 sub_020907F4: ; 0x020907F4 str lr, [sp, #-4]! mov r1, r0 mov r0, #3 swi 0x123456 ldr pc, [sp], #4 arm_func_end sub_020907F4 arm_func_start sub_02090808 sub_02090808: ; 0x02090808 str lr, [sp, #-4]! mov r1, #0 mov r0, #7 swi 0x123456 ldr pc, [sp], #4 arm_func_end sub_02090808 arm_func_start sub_0209081C sub_0209081C: ; 0x0209081C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r2 ldr r5, [r6] mov r7, r1 cmp r5, #0 mov r4, #0 bls _02090864 _02090838: bl sub_02090808 and r1, r0, #0xff cmp r1, #0xd strb r0, [r7, r4] cmpne r1, #0xa addeq r0, r4, #1 streq r0, [r6] beq _02090864 add r4, r4, #1 cmp r4, r5 blo _02090838 _02090864: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end sub_0209081C arm_func_start sub_0209086C sub_0209086C: ; 0x0209086C stmdb sp!, {r4, r5, r6, lr} ldr r5, [r2] mov r6, r1 cmp r5, #0 mov r4, #0 bls _02090898 _02090884: add r0, r6, r4 bl sub_020907F4 add r4, r4, #1 cmp r4, r5 blo _02090884 _02090898: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end sub_0209086C arm_func_start sub_020908A0 sub_020908A0: ; 0x020908A0 mov r0, #0 bx lr arm_func_end sub_020908A0 arm_func_start sub_020908A8 sub_020908A8: ; 0x020908A8 stmdb sp!, {r4, lr} ldr r4, _020908D0 ; =_020AEEF0 b _020908BC _020908B4: blx r0 add r4, r4, #4 _020908BC: cmp r4, #0 ldrne r0, [r4] cmpne r0, #0 bne _020908B4 ldmia sp!, {r4, pc} .align 2, 0 _020908D0: .word _020AEEF0 arm_func_end sub_020908A8 ; 0x020908D4 .global _020908D4 _020908D4: .byte 0x20, 0xFF, 0x09, 0x60, 0x00, 0x00, 0x00, 0x00 .global _020908DC _020908DC: .byte 0x00, 0xFF, 0x01, 0xD0, 0x00, 0x00, 0x00, 0x00 .global _020908E4 _020908E4: .byte 0x20, 0xFF, 0x01, 0xB8, 0x00, 0x00, 0x00, 0x00 .global _020908EC _020908EC: .byte 0x00, 0xFF, 0x05, 0x20, 0x00, 0x00, 0x00, 0x00 .word sub_02086450 .byte 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02086468 .byte 0x8D, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x00 .word sub_020864F4 .byte 0x69, 0x00, 0x00, 0x00 .byte 0x00, 0x3F, 0x40, 0x00 .word sub_020865A0 .byte 0x8D, 0x00, 0x00, 0x00, 0x00, 0x07, 0x20, 0x00 .word sub_0208662C .byte 0x89, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00 .word sub_020866B4 .byte 0x0D, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x00 .word sub_020867C0 .byte 0x49, 0x03, 0x00, 0x00 .byte 0x00, 0x7F, 0x50, 0x00 .word sub_02086B08 .byte 0x75, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00 .word sub_02086B7C .byte 0xE9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00 .word sub_02086D68 .byte 0x1D, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x30, 0x00 .word sub_02086E84 .byte 0xE9, 0x01, 0x00, 0x00 .byte 0x20, 0x03, 0x40, 0x00 .word sub_0208706C .byte 0x2D, 0x01, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x00 .word sub_02087198 .byte 0x25, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00 .word TryAssignByteWrapper .byte 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00 .word wcstombs .byte 0x79, 0x00, 0x00, 0x00 .byte 0x00, 0x3F, 0x40, 0x00 .word memset .byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00 .word sub_020879C8 .byte 0x4D, 0x02, 0x00, 0x00, 0x20, 0xFF, 0x90, 0x00 .word sub_02087C14 .byte 0xFD, 0x02, 0x00, 0x00, 0x20, 0xFF, 0xA0, 0x00 .word sub_02087F10 .byte 0xDD, 0x04, 0x00, 0x00 .byte 0x20, 0x7F, 0xF0, 0x00 .word sub_02088510 .byte 0x65, 0x07, 0x00, 0x00, 0x20, 0xFF, 0xC0, 0x00 .word __vsprintf_internal_slice .byte 0x24, 0x08, 0x00, 0x00 .word _020908D4 .word TryAppendToSlice .byte 0x45, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00 .word __vsprintf_internal .byte 0x69, 0x00, 0x00, 0x00 .byte 0x00, 0x03, 0x30, 0x00 .word vsprintf .byte 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word snprintf .byte 0x29, 0x00, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00 .word sprintf .byte 0x2D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00 .word sub_02089ADC .byte 0x4C, 0x12, 0x00, 0x00 .word _020908DC .word sub_0208AD28 .byte 0xE1, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x50, 0x00 .word sub_0208AE08 .byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_0208AE18 .byte 0xE9, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x60, 0x00 .word sub_0208B200 .byte 0x99, 0x00, 0x00, 0x00 .byte 0x00, 0x03, 0x60, 0x00 .word sub_0208B298 .byte 0xC9, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0x00 .word sub_0208B360 .byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_0208B404 .byte 0x88, 0x11, 0x00, 0x00 .word _020908E4 .word sub_0208C5D4 .byte 0xBD, 0x00, 0x00, 0x00 .byte 0x20, 0x01, 0x30, 0x00 .word sub_0208C690 .byte 0x4D, 0x02, 0x00, 0x00, 0x20, 0x01, 0x30, 0x00 .word sub_0208C8DC .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_0208C9A4 .byte 0x41, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00 .word sub_0208C9E4 .byte 0xCD, 0x00, 0x00, 0x00 .byte 0x00, 0xFF, 0x50, 0x00 .word sub_0208CAB0 .byte 0x85, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xD0, 0x00 .word sub_0208CC34 .byte 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00 .word sub_0208CCD0 .byte 0x85, 0x03, 0x00, 0x00, 0x00, 0x03, 0xB0, 0x00 .word sub_0208D4B8 .byte 0x81, 0x01, 0x00, 0x00 .byte 0x00, 0x1F, 0xE0, 0x00 .word sub_0208D638 .byte 0xA9, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00 .word sub_0208D6E0 .byte 0x24, 0x06, 0x00, 0x00 .word _020908EC .word sub_0208DE1C .byte 0x2D, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00 .word sub_0209081C .byte 0x51, 0x00, 0x00, 0x00 .byte 0x00, 0x0F, 0x30, 0x00 .word sub_0209086C .byte 0x35, 0x00, 0x00, 0x00, 0x00, 0x07, 0x20, 0x00 .word sub_020908A8 .byte 0x2D, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00 .global _02090B40 _02090B40: .word _02090B60 .byte 0xC7, 0x03, 0x00, 0x00 .word _02090B60 .byte 0xFD, 0x04, 0x00, 0x00 .word _02090B60 .byte 0xCB, 0x02, 0x00, 0x00 .word _02090B60 .byte 0x2D, 0x03, 0x00, 0x00 .global _02090B60 _02090B60: .byte 0x6D, 0x65, 0x6D, 0x6F .byte 0x72, 0x79, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x2E, 0x63, 0x00 .global _02090B70 _02090B70: .byte 0x4D, 0x65, 0x6D, 0x6F .byte 0x72, 0x79, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20 .byte 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x25, 0x70, 0x5B, 0x25, 0x70, 0x5D, 0x20, 0x73 .byte 0x69, 0x7A, 0x65, 0x20, 0x25, 0x38, 0x78, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _02090BA0 _02090BA0: .byte 0x4D, 0x65, 0x6D, 0x6F .byte 0x72, 0x79, 0x20, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x20, 0x73, 0x70, 0x72, 0x69, 0x74, 0x20 .byte 0x6D, 0x61, 0x78, 0x20, 0x6F, 0x76, 0x65, 0x72, 0x20, 0x5B, 0x25, 0x33, 0x64, 0x2F, 0x25, 0x33 .byte 0x64, 0x5D, 0x00, 0x00 .global _02090BC8 _02090BC8: .byte 0x4D, 0x65, 0x6D, 0x72, 0x6F, 0x79, 0x20, 0x4C, 0x6F, 0x63, 0x61, 0x6C .byte 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x25, 0x30 .byte 0x38, 0x78, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x63, 0x61, 0x6E, 0x27, 0x74, 0x20, 0x6C, 0x6F .byte 0x63, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00 .global _02090BFC _02090BFC: .byte 0x4D, 0x65, 0x6D, 0x72, 0x6F, 0x79, 0x20, 0x4C .byte 0x6F, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x20, 0x5B, 0x25, 0x70, 0x5D, 0x20, 0x62, 0x75 .byte 0x66, 0x66, 0x65, 0x72, 0x20, 0x25, 0x38, 0x78, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x63, 0x61 .byte 0x6E, 0x27, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x65, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x61 .byte 0x74, 0x62, 0x20, 0x25, 0x30, 0x32, 0x78, 0x20, 0x67, 0x72, 0x70, 0x20, 0x25, 0x33, 0x64, 0x20 .byte 0x00, 0x00, 0x00, 0x00 .global _02090C48 _02090C48: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 .byte 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x00 .byte 0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x06, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x08, 0x00 .byte 0x08, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0B, 0x00 .byte 0x0B, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0E, 0x00 .byte 0x0E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x11, 0x00, 0x11, 0x00 .byte 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x13, 0x00, 0x13, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00 .byte 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x16, 0x00, 0x16, 0x00, 0x17, 0x00, 0x17, 0x00, 0x17, 0x00 .byte 0x18, 0x00, 0x18, 0x00, 0x19, 0x00, 0x19, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1B, 0x00 .byte 0x1B, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1D, 0x00, 0x1E, 0x00 .byte 0x1E, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x21, 0x00 .byte 0x21, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x23, 0x00, 0x23, 0x00, 0x24, 0x00, 0x24, 0x00 .byte 0x24, 0x00, 0x25, 0x00, 0x25, 0x00, 0x25, 0x00, 0x26, 0x00, 0x26, 0x00, 0x27, 0x00, 0x27, 0x00 .byte 0x27, 0x00, 0x28, 0x00, 0x28, 0x00, 0x29, 0x00, 0x29, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2A, 0x00 .byte 0x2A, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2D, 0x00 .byte 0x2E, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00 .byte 0x31, 0x00, 0x31, 0x00, 0x31, 0x00, 0x32, 0x00, 0x32, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00 .byte 0x34, 0x00, 0x34, 0x00, 0x35, 0x00, 0x35, 0x00, 0x35, 0x00, 0x36, 0x00, 0x36, 0x00, 0x36, 0x00 .byte 0x37, 0x00, 0x37, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x39, 0x00, 0x39, 0x00, 0x3A, 0x00 .byte 0x3A, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3B, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3D, 0x00 .byte 0x3D, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x40, 0x00 .byte 0x40, 0x00, 0x40, 0x00, 0x41, 0x00, 0x41, 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x43, 0x00 .byte 0x43, 0x00, 0x43, 0x00, 0x44, 0x00, 0x44, 0x00, 0x45, 0x00, 0x45, 0x00, 0x45, 0x00, 0x46, 0x00 .byte 0x46, 0x00, 0x46, 0x00, 0x47, 0x00, 0x47, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x49, 0x00 .byte 0x49, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4B, 0x00, 0x4B, 0x00, 0x4C, 0x00 .byte 0x4C, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x4F, 0x00 .byte 0x4F, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x50, 0x00, 0x51, 0x00, 0x51, 0x00, 0x51, 0x00, 0x52, 0x00 .byte 0x52, 0x00, 0x52, 0x00, 0x53, 0x00, 0x53, 0x00, 0x54, 0x00, 0x54, 0x00, 0x54, 0x00, 0x55, 0x00 .byte 0x55, 0x00, 0x55, 0x00, 0x56, 0x00, 0x56, 0x00, 0x56, 0x00, 0x57, 0x00, 0x57, 0x00, 0x58, 0x00 .byte 0x58, 0x00, 0x58, 0x00, 0x59, 0x00, 0x59, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5A, 0x00, 0x5B, 0x00 .byte 0x5B, 0x00, 0x5B, 0x00, 0x5C, 0x00, 0x5C, 0x00, 0x5C, 0x00, 0x5D, 0x00, 0x5D, 0x00, 0x5D, 0x00 .byte 0x5E, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00 .byte 0x61, 0x00, 0x61, 0x00, 0x61, 0x00, 0x62, 0x00, 0x62, 0x00, 0x63, 0x00, 0x63, 0x00, 0x63, 0x00 .byte 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x65, 0x00, 0x65, 0x00, 0x65, 0x00, 0x66, 0x00, 0x66, 0x00 .byte 0x67, 0x00, 0x67, 0x00, 0x67, 0x00, 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, 0x69, 0x00, 0x69, 0x00 .byte 0x69, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x6B, 0x00, 0x6C, 0x00, 0x6C, 0x00 .byte 0x6C, 0x00, 0x6D, 0x00, 0x6D, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6F, 0x00 .byte 0x6F, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x71, 0x00, 0x71, 0x00, 0x72, 0x00 .byte 0x72, 0x00, 0x72, 0x00, 0x73, 0x00, 0x73, 0x00, 0x73, 0x00, 0x74, 0x00, 0x74, 0x00, 0x74, 0x00 .byte 0x75, 0x00, 0x75, 0x00, 0x75, 0x00, 0x76, 0x00, 0x76, 0x00, 0x76, 0x00, 0x77, 0x00, 0x77, 0x00 .byte 0x77, 0x00, 0x78, 0x00, 0x78, 0x00, 0x79, 0x00, 0x79, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x7A, 0x00 .byte 0x7A, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7D, 0x00 .byte 0x7D, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00 .byte 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 0x82, 0x00, 0x82, 0x00 .byte 0x82, 0x00, 0x83, 0x00, 0x83, 0x00, 0x83, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x85, 0x00 .byte 0x85, 0x00, 0x85, 0x00, 0x86, 0x00, 0x86, 0x00, 0x86, 0x00, 0x87, 0x00, 0x87, 0x00, 0x87, 0x00 .byte 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x89, 0x00, 0x89, 0x00, 0x89, 0x00, 0x8A, 0x00, 0x8A, 0x00 .byte 0x8A, 0x00, 0x8B, 0x00, 0x8B, 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8C, 0x00, 0x8C, 0x00, 0x8D, 0x00 .byte 0x8D, 0x00, 0x8D, 0x00, 0x8E, 0x00, 0x8E, 0x00, 0x8E, 0x00, 0x8F, 0x00, 0x8F, 0x00, 0x8F, 0x00 .byte 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x91, 0x00, 0x91, 0x00, 0x91, 0x00, 0x92, 0x00, 0x92, 0x00 .byte 0x92, 0x00, 0x93, 0x00, 0x93, 0x00, 0x93, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x95, 0x00 .byte 0x95, 0x00, 0x95, 0x00, 0x95, 0x00, 0x96, 0x00, 0x96, 0x00, 0x96, 0x00, 0x97, 0x00, 0x97, 0x00 .byte 0x97, 0x00, 0x98, 0x00, 0x98, 0x00, 0x98, 0x00, 0x99, 0x00, 0x99, 0x00, 0x99, 0x00, 0x9A, 0x00 .byte 0x9A, 0x00, 0x9A, 0x00, 0x9B, 0x00, 0x9B, 0x00, 0x9B, 0x00, 0x9B, 0x00, 0x9C, 0x00, 0x9C, 0x00 .byte 0x9C, 0x00, 0x9D, 0x00, 0x9D, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0x9E, 0x00, 0x9E, 0x00, 0x9F, 0x00 .byte 0x9F, 0x00, 0x9F, 0x00, 0x9F, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA1, 0x00, 0xA1, 0x00 .byte 0xA1, 0x00, 0xA2, 0x00, 0xA2, 0x00, 0xA2, 0x00, 0xA3, 0x00, 0xA3, 0x00, 0xA3, 0x00, 0xA3, 0x00 .byte 0xA4, 0x00, 0xA4, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA5, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA6, 0x00 .byte 0xA6, 0x00, 0xA6, 0x00, 0xA7, 0x00, 0xA7, 0x00, 0xA7, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xA8, 0x00 .byte 0xA8, 0x00, 0xA9, 0x00, 0xA9, 0x00, 0xA9, 0x00, 0xAA, 0x00, 0xAA, 0x00, 0xAA, 0x00, 0xAB, 0x00 .byte 0xAB, 0x00, 0xAB, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xAC, 0x00, 0xAC, 0x00, 0xAD, 0x00, 0xAD, 0x00 .byte 0xAD, 0x00, 0xAD, 0x00, 0xAE, 0x00, 0xAE, 0x00, 0xAE, 0x00, 0xAF, 0x00, 0xAF, 0x00, 0xAF, 0x00 .byte 0xAF, 0x00, 0xB0, 0x00, 0xB0, 0x00, 0xB0, 0x00, 0xB1, 0x00, 0xB1, 0x00, 0xB1, 0x00, 0xB1, 0x00 .byte 0xB2, 0x00, 0xB2, 0x00, 0xB2, 0x00, 0xB3, 0x00, 0xB3, 0x00, 0xB3, 0x00, 0xB3, 0x00, 0xB4, 0x00 .byte 0xB4, 0x00, 0xB4, 0x00, 0xB5, 0x00, 0xB5, 0x00, 0xB5, 0x00, 0xB5, 0x00, 0xB6, 0x00, 0xB6, 0x00 .byte 0xB6, 0x00, 0xB6, 0x00, 0xB7, 0x00, 0xB7, 0x00, 0xB7, 0x00, 0xB8, 0x00, 0xB8, 0x00, 0xB8, 0x00 .byte 0xB8, 0x00, 0xB9, 0x00, 0xB9, 0x00, 0xB9, 0x00, 0xB9, 0x00, 0xBA, 0x00, 0xBA, 0x00, 0xBA, 0x00 .byte 0xBB, 0x00, 0xBB, 0x00, 0xBB, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBC, 0x00, 0xBC, 0x00, 0xBC, 0x00 .byte 0xBD, 0x00, 0xBD, 0x00, 0xBD, 0x00, 0xBD, 0x00, 0xBE, 0x00, 0xBE, 0x00, 0xBE, 0x00, 0xBE, 0x00 .byte 0xBF, 0x00, 0xBF, 0x00, 0xBF, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC1, 0x00 .byte 0xC1, 0x00, 0xC1, 0x00, 0xC1, 0x00, 0xC2, 0x00, 0xC2, 0x00, 0xC2, 0x00, 0xC2, 0x00, 0xC3, 0x00 .byte 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC5, 0x00 .byte 0xC5, 0x00, 0xC5, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xC6, 0x00, 0xC6, 0x00, 0xC6, 0x00, 0xC7, 0x00 .byte 0xC7, 0x00, 0xC7, 0x00, 0xC7, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0xC9, 0x00 .byte 0xC9, 0x00, 0xC9, 0x00, 0xC9, 0x00, 0xCA, 0x00, 0xCA, 0x00, 0xCA, 0x00, 0xCA, 0x00, 0xCB, 0x00 .byte 0xCB, 0x00, 0xCB, 0x00, 0xCB, 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0xCC, 0x00 .byte 0xCD, 0x00, 0xCD, 0x00, 0xCD, 0x00, 0xCD, 0x00, 0xCE, 0x00, 0xCE, 0x00, 0xCE, 0x00, 0xCE, 0x00 .byte 0xCF, 0x00, 0xCF, 0x00, 0xCF, 0x00, 0xCF, 0x00, 0xCF, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00 .byte 0xD0, 0x00, 0xD1, 0x00, 0xD1, 0x00, 0xD1, 0x00, 0xD1, 0x00, 0xD1, 0x00, 0xD2, 0x00, 0xD2, 0x00 .byte 0xD2, 0x00, 0xD2, 0x00, 0xD3, 0x00, 0xD3, 0x00, 0xD3, 0x00, 0xD3, 0x00, 0xD3, 0x00, 0xD4, 0x00 .byte 0xD4, 0x00, 0xD4, 0x00, 0xD4, 0x00, 0xD5, 0x00, 0xD5, 0x00, 0xD5, 0x00, 0xD5, 0x00, 0xD5, 0x00 .byte 0xD6, 0x00, 0xD6, 0x00, 0xD6, 0x00, 0xD6, 0x00, 0xD7, 0x00, 0xD7, 0x00, 0xD7, 0x00, 0xD7, 0x00 .byte 0xD7, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0xD9, 0x00, 0xD9, 0x00 .byte 0xD9, 0x00, 0xD9, 0x00, 0xD9, 0x00, 0xDA, 0x00, 0xDA, 0x00, 0xDA, 0x00, 0xDA, 0x00, 0xDA, 0x00 .byte 0xDB, 0x00, 0xDB, 0x00, 0xDB, 0x00, 0xDB, 0x00, 0xDB, 0x00, 0xDC, 0x00, 0xDC, 0x00, 0xDC, 0x00 .byte 0xDC, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDD, 0x00, 0xDD, 0x00, 0xDD, 0x00, 0xDD, 0x00, 0xDE, 0x00 .byte 0xDE, 0x00, 0xDE, 0x00, 0xDE, 0x00, 0xDE, 0x00, 0xDF, 0x00, 0xDF, 0x00, 0xDF, 0x00, 0xDF, 0x00 .byte 0xDF, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE1, 0x00 .byte 0xE1, 0x00, 0xE1, 0x00, 0xE1, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE2, 0x00, 0xE2, 0x00, 0xE2, 0x00 .byte 0xE2, 0x00, 0xE3, 0x00, 0xE3, 0x00, 0xE3, 0x00, 0xE3, 0x00, 0xE3, 0x00, 0xE3, 0x00, 0xE4, 0x00 .byte 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE5, 0x00, 0xE5, 0x00, 0xE5, 0x00 .byte 0xE5, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xE6, 0x00, 0xE6, 0x00, 0xE6, 0x00, 0xE6, 0x00, 0xE6, 0x00 .byte 0xE7, 0x00, 0xE7, 0x00, 0xE7, 0x00, 0xE7, 0x00, 0xE7, 0x00, 0xE7, 0x00, 0xE8, 0x00, 0xE8, 0x00 .byte 0xE8, 0x00, 0xE8, 0x00, 0xE8, 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xE9, 0x00, 0xE9, 0x00, 0xE9, 0x00 .byte 0xE9, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEA, 0x00, 0xEA, 0x00, 0xEA, 0x00, 0xEA, 0x00, 0xEA, 0x00 .byte 0xEA, 0x00, 0xEB, 0x00, 0xEB, 0x00, 0xEB, 0x00, 0xEB, 0x00, 0xEB, 0x00, 0xEB, 0x00, 0xEC, 0x00 .byte 0xEC, 0x00, 0xEC, 0x00, 0xEC, 0x00, 0xEC, 0x00, 0xEC, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xED, 0x00 .byte 0xED, 0x00, 0xED, 0x00, 0xED, 0x00, 0xED, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xEE, 0x00, 0xEE, 0x00 .byte 0xEE, 0x00, 0xEE, 0x00, 0xEE, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xEF, 0x00, 0xEF, 0x00, 0xEF, 0x00 .byte 0xEF, 0x00, 0xEF, 0x00, 0xEF, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF1, 0x00, 0xF1, 0x00, 0xF1, 0x00, 0xF1, 0x00, 0xF1, 0x00 .byte 0xF1, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF2, 0x00, 0xF2, 0x00, 0xF2, 0x00, 0xF2, 0x00, 0xF2, 0x00 .byte 0xF2, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF3, 0x00, 0xF3, 0x00, 0xF3, 0x00, 0xF3, 0x00, 0xF3, 0x00 .byte 0xF3, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00 .byte 0xF4, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF5, 0x00 .byte 0xF5, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00 .byte 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF7, 0x00, 0xF7, 0x00, 0xF7, 0x00 .byte 0xF7, 0x00, 0xF7, 0x00, 0xF7, 0x00, 0xF7, 0x00, 0xF7, 0x00, 0xF7, 0x00, 0xF7, 0x00, 0xF8, 0x00 .byte 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00 .byte 0xF8, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00 .byte 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00 .byte 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFA, 0x00 .byte 0xFA, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00 .byte 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFB, 0x00, 0xFC, 0x00 .byte 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00 .byte 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFD, 0x00 .byte 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00 .byte 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFD, 0x00 .byte 0xFD, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00 .byte 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00 .byte 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00 .byte 0xFE, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00 .global NATURAL_LOG_VALUE_TABLE NATURAL_LOG_VALUE_TABLE: .byte 0x00, 0x00, 0x00, 0x00, 0x17, 0x0B, 0x93, 0x11, 0x2E, 0x16, 0xC0, 0x19 .byte 0xAB, 0x1C, 0x22, 0x1F, 0x45, 0x21, 0x27, 0x23, 0xD7, 0x24, 0x5D, 0x26, 0xC2, 0x27, 0x0A, 0x29 .byte 0x39, 0x2A, 0x54, 0x2B, 0x5C, 0x2C, 0x54, 0x2D, 0x3E, 0x2E, 0x1C, 0x2F, 0xEE, 0x2F, 0xB6, 0x30 .byte 0x74, 0x31, 0x2A, 0x32, 0xD9, 0x32, 0x80, 0x33, 0x21, 0x34, 0xBB, 0x34, 0x50, 0x35, 0xE0, 0x35 .byte 0x6B, 0x36, 0xF1, 0x36, 0x73, 0x37, 0xF1, 0x37, 0x6B, 0x38, 0xE2, 0x38, 0x56, 0x39, 0xC6, 0x39 .byte 0x33, 0x3A, 0x9D, 0x3A, 0x05, 0x3B, 0x6A, 0x3B, 0xCD, 0x3B, 0x2D, 0x3C, 0x8C, 0x3C, 0xE8, 0x3C .byte 0x42, 0x3D, 0x9A, 0x3D, 0xF0, 0x3D, 0x44, 0x3E, 0x97, 0x3E, 0xE8, 0x3E, 0x38, 0x3F, 0x86, 0x3F .byte 0xD2, 0x3F, 0x1E, 0x40, 0x67, 0x40, 0xB0, 0x40, 0xF7, 0x40, 0x3D, 0x41, 0x82, 0x41, 0xC6, 0x41 .byte 0x08, 0x42, 0x4A, 0x42, 0x8A, 0x42, 0xCA, 0x42, 0x08, 0x43, 0x46, 0x43, 0x83, 0x43, 0xBE, 0x43 .byte 0xF9, 0x43, 0x33, 0x44, 0x6D, 0x44, 0xA5, 0x44, 0xDD, 0x44, 0x14, 0x45, 0x4A, 0x45, 0x80, 0x45 .byte 0xB5, 0x45, 0xE9, 0x45, 0x1C, 0x46, 0x4F, 0x46, 0x81, 0x46, 0xB3, 0x46, 0xE4, 0x46, 0x15, 0x47 .byte 0x45, 0x47, 0x74, 0x47, 0xA3, 0x47, 0xD1, 0x47, 0xFF, 0x47, 0x2C, 0x48, 0x59, 0x48, 0x85, 0x48 .byte 0xB1, 0x48, 0xDC, 0x48, 0x07, 0x49, 0x32, 0x49, 0x5C, 0x49, 0x85, 0x49, 0xAE, 0x49, 0xD7, 0x49 .byte 0xFF, 0x49, 0x27, 0x4A, 0x4F, 0x4A, 0x76, 0x4A, 0x9D, 0x4A, 0xC3, 0x4A, 0xEA, 0x4A, 0x0F, 0x4B .byte 0x35, 0x4B, 0x5A, 0x4B, 0x7E, 0x4B, 0xA3, 0x4B, 0xC7, 0x4B, 0xEB, 0x4B, 0x0E, 0x4C, 0x31, 0x4C .byte 0x54, 0x4C, 0x77, 0x4C, 0x99, 0x4C, 0xBB, 0x4C, 0xDD, 0x4C, 0xFE, 0x4C, 0x1F, 0x4D, 0x40, 0x4D .byte 0x61, 0x4D, 0x81, 0x4D, 0xA1, 0x4D, 0xC1, 0x4D, 0xE1, 0x4D, 0x00, 0x4E, 0x1F, 0x4E, 0x3E, 0x4E .byte 0x5D, 0x4E, 0x7C, 0x4E, 0x9A, 0x4E, 0xB8, 0x4E, 0xD6, 0x4E, 0xF3, 0x4E, 0x10, 0x4F, 0x2E, 0x4F .byte 0x4B, 0x4F, 0x67, 0x4F, 0x84, 0x4F, 0xA0, 0x4F, 0xBC, 0x4F, 0xD8, 0x4F, 0xF4, 0x4F, 0x10, 0x50 .byte 0x2B, 0x50, 0x46, 0x50, 0x61, 0x50, 0x7C, 0x50, 0x97, 0x50, 0xB1, 0x50, 0xCC, 0x50, 0xE6, 0x50 .byte 0x00, 0x51, 0x1A, 0x51, 0x33, 0x51, 0x4D, 0x51, 0x66, 0x51, 0x80, 0x51, 0x99, 0x51, 0xB1, 0x51 .byte 0xCA, 0x51, 0xE3, 0x51, 0xFB, 0x51, 0x14, 0x52, 0x2C, 0x52, 0x44, 0x52, 0x5C, 0x52, 0x73, 0x52 .byte 0x8B, 0x52, 0xA2, 0x52, 0xBA, 0x52, 0xD1, 0x52, 0xE8, 0x52, 0xFF, 0x52, 0x16, 0x53, 0x2D, 0x53 .byte 0x43, 0x53, 0x5A, 0x53, 0x70, 0x53, 0x86, 0x53, 0x9C, 0x53, 0xB2, 0x53, 0xC8, 0x53, 0xDE, 0x53 .byte 0xF3, 0x53, 0x09, 0x54, 0x1E, 0x54, 0x33, 0x54, 0x49, 0x54, 0x5E, 0x54, 0x73, 0x54, 0x88, 0x54 .byte 0x9C, 0x54, 0xB1, 0x54, 0xC5, 0x54, 0xDA, 0x54, 0xEE, 0x54, 0x02, 0x55, 0x17, 0x55, 0x2B, 0x55 .byte 0x3E, 0x55, 0x52, 0x55, 0x66, 0x55, 0x7A, 0x55, 0x8D, 0x55, 0xA1, 0x55, 0xB4, 0x55, 0xC7, 0x55 .byte 0xDB, 0x55, 0xEE, 0x55, 0x01, 0x56, 0x14, 0x56, 0x26, 0x56, 0x39, 0x56, 0x4C, 0x56, 0x5E, 0x56 .byte 0x71, 0x56, 0x83, 0x56, 0x96, 0x56, 0xA8, 0x56, 0xBA, 0x56, 0xCC, 0x56, 0xDE, 0x56, 0xF0, 0x56 .byte 0x02, 0x57, 0x14, 0x57, 0x25, 0x57, 0x37, 0x57, 0x48, 0x57, 0x5A, 0x57, 0x6B, 0x57, 0x7D, 0x57 .byte 0x8E, 0x57, 0x9F, 0x57, 0xB0, 0x57, 0xC1, 0x57, 0xD2, 0x57, 0xE3, 0x57, 0xF4, 0x57, 0x05, 0x58 .byte 0x15, 0x58, 0x26, 0x58, 0x37, 0x58, 0x47, 0x58, 0x57, 0x58, 0x68, 0x58, 0x78, 0x58, 0x88, 0x58 .byte 0x98, 0x58, 0xA9, 0x58, 0xB9, 0x58, 0xC9, 0x58, 0xD8, 0x58, 0xE8, 0x58, 0xF8, 0x58, 0x08, 0x59 .byte 0x17, 0x59, 0x27, 0x59, 0x37, 0x59, 0x46, 0x59, 0x56, 0x59, 0x65, 0x59, 0x74, 0x59, 0x83, 0x59 .byte 0x93, 0x59, 0xA2, 0x59, 0xB1, 0x59, 0xC0, 0x59, 0xCF, 0x59, 0xDE, 0x59, 0xED, 0x59, 0xFB, 0x59 .byte 0x0A, 0x5A, 0x19, 0x5A, 0x28, 0x5A, 0x36, 0x5A, 0x45, 0x5A, 0x53, 0x5A, 0x62, 0x5A, 0x70, 0x5A .byte 0x7E, 0x5A, 0x8D, 0x5A, 0x9B, 0x5A, 0xA9, 0x5A, 0xB7, 0x5A, 0xC5, 0x5A, 0xD3, 0x5A, 0xE1, 0x5A .byte 0xEF, 0x5A, 0xFD, 0x5A, 0x0B, 0x5B, 0x19, 0x5B, 0x27, 0x5B, 0x35, 0x5B, 0x42, 0x5B, 0x50, 0x5B .byte 0x5D, 0x5B, 0x6B, 0x5B, 0x78, 0x5B, 0x86, 0x5B, 0x93, 0x5B, 0xA1, 0x5B, 0xAE, 0x5B, 0xBB, 0x5B .byte 0xC9, 0x5B, 0xD6, 0x5B, 0xE3, 0x5B, 0xF0, 0x5B, 0xFD, 0x5B, 0x0A, 0x5C, 0x17, 0x5C, 0x24, 0x5C .byte 0x31, 0x5C, 0x3E, 0x5C, 0x4B, 0x5C, 0x57, 0x5C, 0x64, 0x5C, 0x71, 0x5C, 0x7D, 0x5C, 0x8A, 0x5C .byte 0x97, 0x5C, 0xA3, 0x5C, 0xB0, 0x5C, 0xBC, 0x5C, 0xC9, 0x5C, 0xD5, 0x5C, 0xE1, 0x5C, 0xEE, 0x5C .byte 0xFA, 0x5C, 0x06, 0x5D, 0x12, 0x5D, 0x1F, 0x5D, 0x2B, 0x5D, 0x37, 0x5D, 0x43, 0x5D, 0x4F, 0x5D .byte 0x5B, 0x5D, 0x67, 0x5D, 0x73, 0x5D, 0x7F, 0x5D, 0x8B, 0x5D, 0x96, 0x5D, 0xA2, 0x5D, 0xAE, 0x5D .byte 0xBA, 0x5D, 0xC5, 0x5D, 0xD1, 0x5D, 0xDD, 0x5D, 0xE8, 0x5D, 0xF4, 0x5D, 0xFF, 0x5D, 0x0B, 0x5E .byte 0x16, 0x5E, 0x22, 0x5E, 0x2D, 0x5E, 0x38, 0x5E, 0x44, 0x5E, 0x4F, 0x5E, 0x5A, 0x5E, 0x65, 0x5E .byte 0x71, 0x5E, 0x7C, 0x5E, 0x87, 0x5E, 0x92, 0x5E, 0x9D, 0x5E, 0xA8, 0x5E, 0xB3, 0x5E, 0xBE, 0x5E .byte 0xC9, 0x5E, 0xD4, 0x5E, 0xDF, 0x5E, 0xEA, 0x5E, 0xF5, 0x5E, 0x00, 0x5F, 0x0A, 0x5F, 0x15, 0x5F .byte 0x20, 0x5F, 0x2B, 0x5F, 0x35, 0x5F, 0x40, 0x5F, 0x4B, 0x5F, 0x55, 0x5F, 0x60, 0x5F, 0x6A, 0x5F .byte 0x75, 0x5F, 0x7F, 0x5F, 0x8A, 0x5F, 0x94, 0x5F, 0x9F, 0x5F, 0xA9, 0x5F, 0xB3, 0x5F, 0xBE, 0x5F .byte 0xC8, 0x5F, 0xD2, 0x5F, 0xDD, 0x5F, 0xE7, 0x5F, 0xF1, 0x5F, 0xFB, 0x5F, 0x05, 0x60, 0x0F, 0x60 .byte 0x1A, 0x60, 0x24, 0x60, 0x2E, 0x60, 0x38, 0x60, 0x42, 0x60, 0x4C, 0x60, 0x56, 0x60, 0x60, 0x60 .byte 0x69, 0x60, 0x73, 0x60, 0x7D, 0x60, 0x87, 0x60, 0x91, 0x60, 0x9B, 0x60, 0xA4, 0x60, 0xAE, 0x60 .byte 0xB8, 0x60, 0xC2, 0x60, 0xCB, 0x60, 0xD5, 0x60, 0xDE, 0x60, 0xE8, 0x60, 0xF2, 0x60, 0xFB, 0x60 .byte 0x05, 0x61, 0x0E, 0x61, 0x18, 0x61, 0x21, 0x61, 0x2B, 0x61, 0x34, 0x61, 0x3E, 0x61, 0x47, 0x61 .byte 0x50, 0x61, 0x5A, 0x61, 0x63, 0x61, 0x6C, 0x61, 0x76, 0x61, 0x7F, 0x61, 0x88, 0x61, 0x91, 0x61 .byte 0x9A, 0x61, 0xA4, 0x61, 0xAD, 0x61, 0xB6, 0x61, 0xBF, 0x61, 0xC8, 0x61, 0xD1, 0x61, 0xDA, 0x61 .byte 0xE3, 0x61, 0xEC, 0x61, 0xF5, 0x61, 0xFE, 0x61, 0x07, 0x62, 0x10, 0x62, 0x19, 0x62, 0x22, 0x62 .byte 0x2B, 0x62, 0x34, 0x62, 0x3C, 0x62, 0x45, 0x62, 0x4E, 0x62, 0x57, 0x62, 0x60, 0x62, 0x68, 0x62 .byte 0x71, 0x62, 0x7A, 0x62, 0x82, 0x62, 0x8B, 0x62, 0x94, 0x62, 0x9C, 0x62, 0xA5, 0x62, 0xAE, 0x62 .byte 0xB6, 0x62, 0xBF, 0x62, 0xC7, 0x62, 0xD0, 0x62, 0xD8, 0x62, 0xE1, 0x62, 0xE9, 0x62, 0xF2, 0x62 .byte 0xFA, 0x62, 0x03, 0x63, 0x0B, 0x63, 0x13, 0x63, 0x1C, 0x63, 0x24, 0x63, 0x2C, 0x63, 0x35, 0x63 .byte 0x3D, 0x63, 0x45, 0x63, 0x4E, 0x63, 0x56, 0x63, 0x5E, 0x63, 0x66, 0x63, 0x6F, 0x63, 0x77, 0x63 .byte 0x7F, 0x63, 0x87, 0x63, 0x8F, 0x63, 0x97, 0x63, 0x9F, 0x63, 0xA7, 0x63, 0xB0, 0x63, 0xB8, 0x63 .byte 0xC0, 0x63, 0xC8, 0x63, 0xD0, 0x63, 0xD8, 0x63, 0xE0, 0x63, 0xE8, 0x63, 0xF0, 0x63, 0xF7, 0x63 .byte 0xFF, 0x63, 0x07, 0x64, 0x0F, 0x64, 0x17, 0x64, 0x1F, 0x64, 0x27, 0x64, 0x2F, 0x64, 0x36, 0x64 .byte 0x3E, 0x64, 0x46, 0x64, 0x4E, 0x64, 0x55, 0x64, 0x5D, 0x64, 0x65, 0x64, 0x6D, 0x64, 0x74, 0x64 .byte 0x7C, 0x64, 0x84, 0x64, 0x8B, 0x64, 0x93, 0x64, 0x9B, 0x64, 0xA2, 0x64, 0xAA, 0x64, 0xB1, 0x64 .byte 0xB9, 0x64, 0xC0, 0x64, 0xC8, 0x64, 0xD0, 0x64, 0xD7, 0x64, 0xDF, 0x64, 0xE6, 0x64, 0xED, 0x64 .byte 0xF5, 0x64, 0xFC, 0x64, 0x04, 0x65, 0x0B, 0x65, 0x13, 0x65, 0x1A, 0x65, 0x21, 0x65, 0x29, 0x65 .byte 0x30, 0x65, 0x37, 0x65, 0x3F, 0x65, 0x46, 0x65, 0x4D, 0x65, 0x55, 0x65, 0x5C, 0x65, 0x63, 0x65 .byte 0x6A, 0x65, 0x72, 0x65, 0x79, 0x65, 0x80, 0x65, 0x87, 0x65, 0x8E, 0x65, 0x96, 0x65, 0x9D, 0x65 .byte 0xA4, 0x65, 0xAB, 0x65, 0xB2, 0x65, 0xB9, 0x65, 0xC0, 0x65, 0xC7, 0x65, 0xCE, 0x65, 0xD6, 0x65 .byte 0xDD, 0x65, 0xE4, 0x65, 0xEB, 0x65, 0xF2, 0x65, 0xF9, 0x65, 0x00, 0x66, 0x07, 0x66, 0x0E, 0x66 .byte 0x14, 0x66, 0x1B, 0x66, 0x22, 0x66, 0x29, 0x66, 0x30, 0x66, 0x37, 0x66, 0x3E, 0x66, 0x45, 0x66 .byte 0x4C, 0x66, 0x52, 0x66, 0x59, 0x66, 0x60, 0x66, 0x67, 0x66, 0x6E, 0x66, 0x75, 0x66, 0x7B, 0x66 .byte 0x82, 0x66, 0x89, 0x66, 0x90, 0x66, 0x96, 0x66, 0x9D, 0x66, 0xA4, 0x66, 0xAA, 0x66, 0xB1, 0x66 .byte 0xB8, 0x66, 0xBE, 0x66, 0xC5, 0x66, 0xCC, 0x66, 0xD2, 0x66, 0xD9, 0x66, 0xE0, 0x66, 0xE6, 0x66 .byte 0xED, 0x66, 0xF3, 0x66, 0xFA, 0x66, 0x01, 0x67, 0x07, 0x67, 0x0E, 0x67, 0x14, 0x67, 0x1B, 0x67 .byte 0x21, 0x67, 0x28, 0x67, 0x2E, 0x67, 0x35, 0x67, 0x3B, 0x67, 0x42, 0x67, 0x48, 0x67, 0x4E, 0x67 .byte 0x55, 0x67, 0x5B, 0x67, 0x62, 0x67, 0x68, 0x67, 0x6E, 0x67, 0x75, 0x67, 0x7B, 0x67, 0x82, 0x67 .byte 0x88, 0x67, 0x8E, 0x67, 0x95, 0x67, 0x9B, 0x67, 0xA1, 0x67, 0xA7, 0x67, 0xAE, 0x67, 0xB4, 0x67 .byte 0xBA, 0x67, 0xC1, 0x67, 0xC7, 0x67, 0xCD, 0x67, 0xD3, 0x67, 0xDA, 0x67, 0xE0, 0x67, 0xE6, 0x67 .byte 0xEC, 0x67, 0xF2, 0x67, 0xF8, 0x67, 0xFF, 0x67, 0x05, 0x68, 0x0B, 0x68, 0x11, 0x68, 0x17, 0x68 .byte 0x1D, 0x68, 0x23, 0x68, 0x2A, 0x68, 0x30, 0x68, 0x36, 0x68, 0x3C, 0x68, 0x42, 0x68, 0x48, 0x68 .byte 0x4E, 0x68, 0x54, 0x68, 0x5A, 0x68, 0x60, 0x68, 0x66, 0x68, 0x6C, 0x68, 0x72, 0x68, 0x78, 0x68 .byte 0x7E, 0x68, 0x84, 0x68, 0x8A, 0x68, 0x90, 0x68, 0x96, 0x68, 0x9C, 0x68, 0xA2, 0x68, 0xA8, 0x68 .byte 0xAD, 0x68, 0xB3, 0x68, 0xB9, 0x68, 0xBF, 0x68, 0xC5, 0x68, 0xCB, 0x68, 0xD1, 0x68, 0xD7, 0x68 .byte 0xDC, 0x68, 0xE2, 0x68, 0xE8, 0x68, 0xEE, 0x68, 0xF4, 0x68, 0xF9, 0x68, 0xFF, 0x68, 0x05, 0x69 .byte 0x0B, 0x69, 0x11, 0x69, 0x16, 0x69, 0x1C, 0x69, 0x22, 0x69, 0x28, 0x69, 0x2D, 0x69, 0x33, 0x69 .byte 0x39, 0x69, 0x3E, 0x69, 0x44, 0x69, 0x4A, 0x69, 0x4F, 0x69, 0x55, 0x69, 0x5B, 0x69, 0x60, 0x69 .byte 0x66, 0x69, 0x6C, 0x69, 0x71, 0x69, 0x77, 0x69, 0x7D, 0x69, 0x82, 0x69, 0x88, 0x69, 0x8D, 0x69 .byte 0x93, 0x69, 0x99, 0x69, 0x9E, 0x69, 0xA4, 0x69, 0xA9, 0x69, 0xAF, 0x69, 0xB4, 0x69, 0xBA, 0x69 .byte 0xBF, 0x69, 0xC5, 0x69, 0xCA, 0x69, 0xD0, 0x69, 0xD5, 0x69, 0xDB, 0x69, 0xE0, 0x69, 0xE6, 0x69 .byte 0xEB, 0x69, 0xF1, 0x69, 0xF6, 0x69, 0xFC, 0x69, 0x01, 0x6A, 0x07, 0x6A, 0x0C, 0x6A, 0x11, 0x6A .byte 0x17, 0x6A, 0x1C, 0x6A, 0x22, 0x6A, 0x27, 0x6A, 0x2C, 0x6A, 0x32, 0x6A, 0x37, 0x6A, 0x3C, 0x6A .byte 0x42, 0x6A, 0x47, 0x6A, 0x4C, 0x6A, 0x52, 0x6A, 0x57, 0x6A, 0x5C, 0x6A, 0x62, 0x6A, 0x67, 0x6A .byte 0x6C, 0x6A, 0x72, 0x6A, 0x77, 0x6A, 0x7C, 0x6A, 0x81, 0x6A, 0x87, 0x6A, 0x8C, 0x6A, 0x91, 0x6A .byte 0x96, 0x6A, 0x9C, 0x6A, 0xA1, 0x6A, 0xA6, 0x6A, 0xAB, 0x6A, 0xB1, 0x6A, 0xB6, 0x6A, 0xBB, 0x6A .byte 0xC0, 0x6A, 0xC5, 0x6A, 0xCB, 0x6A, 0xD0, 0x6A, 0xD5, 0x6A, 0xDA, 0x6A, 0xDF, 0x6A, 0xE4, 0x6A .byte 0xE9, 0x6A, 0xEF, 0x6A, 0xF4, 0x6A, 0xF9, 0x6A, 0xFE, 0x6A, 0x03, 0x6B, 0x08, 0x6B, 0x0D, 0x6B .byte 0x12, 0x6B, 0x17, 0x6B, 0x1C, 0x6B, 0x21, 0x6B, 0x27, 0x6B, 0x2C, 0x6B, 0x31, 0x6B, 0x36, 0x6B .byte 0x3B, 0x6B, 0x40, 0x6B, 0x45, 0x6B, 0x4A, 0x6B, 0x4F, 0x6B, 0x54, 0x6B, 0x59, 0x6B, 0x5E, 0x6B .byte 0x63, 0x6B, 0x68, 0x6B, 0x6D, 0x6B, 0x72, 0x6B, 0x77, 0x6B, 0x7C, 0x6B, 0x81, 0x6B, 0x86, 0x6B .byte 0x8A, 0x6B, 0x8F, 0x6B, 0x94, 0x6B, 0x99, 0x6B, 0x9E, 0x6B, 0xA3, 0x6B, 0xA8, 0x6B, 0xAD, 0x6B .byte 0xB2, 0x6B, 0xB7, 0x6B, 0xBC, 0x6B, 0xC0, 0x6B, 0xC5, 0x6B, 0xCA, 0x6B, 0xCF, 0x6B, 0xD4, 0x6B .byte 0xD9, 0x6B, 0xDE, 0x6B, 0xE2, 0x6B, 0xE7, 0x6B, 0xEC, 0x6B, 0xF1, 0x6B, 0xF6, 0x6B, 0xFA, 0x6B .byte 0xFF, 0x6B, 0x04, 0x6C, 0x09, 0x6C, 0x0E, 0x6C, 0x12, 0x6C, 0x17, 0x6C, 0x1C, 0x6C, 0x21, 0x6C .byte 0x25, 0x6C, 0x2A, 0x6C, 0x2F, 0x6C, 0x34, 0x6C, 0x38, 0x6C, 0x3D, 0x6C, 0x42, 0x6C, 0x47, 0x6C .byte 0x4B, 0x6C, 0x50, 0x6C, 0x55, 0x6C, 0x59, 0x6C, 0x5E, 0x6C, 0x63, 0x6C, 0x67, 0x6C, 0x6C, 0x6C .byte 0x71, 0x6C, 0x75, 0x6C, 0x7A, 0x6C, 0x7F, 0x6C, 0x83, 0x6C, 0x88, 0x6C, 0x8D, 0x6C, 0x91, 0x6C .byte 0x96, 0x6C, 0x9B, 0x6C, 0x9F, 0x6C, 0xA4, 0x6C, 0xA8, 0x6C, 0xAD, 0x6C, 0xB2, 0x6C, 0xB6, 0x6C .byte 0xBB, 0x6C, 0xBF, 0x6C, 0xC4, 0x6C, 0xC8, 0x6C, 0xCD, 0x6C, 0xD2, 0x6C, 0xD6, 0x6C, 0xDB, 0x6C .byte 0xDF, 0x6C, 0xE4, 0x6C, 0xE8, 0x6C, 0xED, 0x6C, 0xF1, 0x6C, 0xF6, 0x6C, 0xFA, 0x6C, 0xFF, 0x6C .byte 0x03, 0x6D, 0x08, 0x6D, 0x0C, 0x6D, 0x11, 0x6D, 0x15, 0x6D, 0x1A, 0x6D, 0x1E, 0x6D, 0x23, 0x6D .byte 0x27, 0x6D, 0x2C, 0x6D, 0x30, 0x6D, 0x35, 0x6D, 0x39, 0x6D, 0x3D, 0x6D, 0x42, 0x6D, 0x46, 0x6D .byte 0x4B, 0x6D, 0x4F, 0x6D, 0x54, 0x6D, 0x58, 0x6D, 0x5C, 0x6D, 0x61, 0x6D, 0x65, 0x6D, 0x6A, 0x6D .byte 0x6E, 0x6D, 0x72, 0x6D, 0x77, 0x6D, 0x7B, 0x6D, 0x7F, 0x6D, 0x84, 0x6D, 0x88, 0x6D, 0x8D, 0x6D .byte 0x91, 0x6D, 0x95, 0x6D, 0x9A, 0x6D, 0x9E, 0x6D, 0xA2, 0x6D, 0xA7, 0x6D, 0xAB, 0x6D, 0xAF, 0x6D .byte 0xB4, 0x6D, 0xB8, 0x6D, 0xBC, 0x6D, 0xC0, 0x6D, 0xC5, 0x6D, 0xC9, 0x6D, 0xCD, 0x6D, 0xD2, 0x6D .byte 0xD6, 0x6D, 0xDA, 0x6D, 0xDE, 0x6D, 0xE3, 0x6D, 0xE7, 0x6D, 0xEB, 0x6D, 0xEF, 0x6D, 0xF4, 0x6D .byte 0xF8, 0x6D, 0xFC, 0x6D, 0x00, 0x6E, 0x05, 0x6E, 0x09, 0x6E, 0x0D, 0x6E, 0x11, 0x6E, 0x16, 0x6E .byte 0x1A, 0x6E, 0x1E, 0x6E, 0x22, 0x6E, 0x26, 0x6E, 0x2B, 0x6E, 0x2F, 0x6E, 0x33, 0x6E, 0x37, 0x6E .byte 0x3B, 0x6E, 0x3F, 0x6E, 0x44, 0x6E, 0x48, 0x6E, 0x4C, 0x6E, 0x50, 0x6E, 0x54, 0x6E, 0x58, 0x6E .byte 0x5C, 0x6E, 0x61, 0x6E, 0x65, 0x6E, 0x69, 0x6E, 0x6D, 0x6E, 0x71, 0x6E, 0x75, 0x6E, 0x79, 0x6E .byte 0x7D, 0x6E, 0x82, 0x6E, 0x86, 0x6E, 0x8A, 0x6E, 0x8E, 0x6E, 0x92, 0x6E, 0x96, 0x6E, 0x9A, 0x6E .byte 0x9E, 0x6E, 0xA2, 0x6E, 0xA6, 0x6E, 0xAA, 0x6E, 0xAE, 0x6E, 0xB2, 0x6E, 0xB7, 0x6E, 0xBB, 0x6E .byte 0xBF, 0x6E, 0xC3, 0x6E, 0xC7, 0x6E, 0xCB, 0x6E, 0xCF, 0x6E, 0xD3, 0x6E, 0xD7, 0x6E, 0xDB, 0x6E .byte 0xDF, 0x6E, 0xE3, 0x6E, 0xE7, 0x6E, 0xEB, 0x6E, 0xEF, 0x6E, 0xF3, 0x6E, 0xF7, 0x6E, 0xFB, 0x6E .byte 0xFF, 0x6E, 0x03, 0x6F, 0x07, 0x6F, 0x0B, 0x6F, 0x0F, 0x6F, 0x13, 0x6F, 0x17, 0x6F, 0x1A, 0x6F .byte 0x1E, 0x6F, 0x22, 0x6F, 0x26, 0x6F, 0x2A, 0x6F, 0x2E, 0x6F, 0x32, 0x6F, 0x36, 0x6F, 0x3A, 0x6F .byte 0x3E, 0x6F, 0x42, 0x6F, 0x46, 0x6F, 0x4A, 0x6F, 0x4E, 0x6F, 0x51, 0x6F, 0x55, 0x6F, 0x59, 0x6F .byte 0x5D, 0x6F, 0x61, 0x6F, 0x65, 0x6F, 0x69, 0x6F, 0x6D, 0x6F, 0x70, 0x6F, 0x74, 0x6F, 0x78, 0x6F .byte 0x7C, 0x6F, 0x80, 0x6F, 0x84, 0x6F, 0x88, 0x6F, 0x8B, 0x6F, 0x8F, 0x6F, 0x93, 0x6F, 0x97, 0x6F .byte 0x9B, 0x6F, 0x9F, 0x6F, 0xA2, 0x6F, 0xA6, 0x6F, 0xAA, 0x6F, 0xAE, 0x6F, 0xB2, 0x6F, 0xB6, 0x6F .byte 0xB9, 0x6F, 0xBD, 0x6F, 0xC1, 0x6F, 0xC5, 0x6F, 0xC8, 0x6F, 0xCC, 0x6F, 0xD0, 0x6F, 0xD4, 0x6F .byte 0xD8, 0x6F, 0xDB, 0x6F, 0xDF, 0x6F, 0xE3, 0x6F, 0xE7, 0x6F, 0xEA, 0x6F, 0xEE, 0x6F, 0xF2, 0x6F .byte 0xF6, 0x6F, 0xF9, 0x6F, 0xFD, 0x6F, 0x01, 0x70, 0x05, 0x70, 0x08, 0x70, 0x0C, 0x70, 0x10, 0x70 .byte 0x13, 0x70, 0x17, 0x70, 0x1B, 0x70, 0x1F, 0x70, 0x22, 0x70, 0x26, 0x70, 0x2A, 0x70, 0x2D, 0x70 .byte 0x31, 0x70, 0x35, 0x70, 0x38, 0x70, 0x3C, 0x70, 0x40, 0x70, 0x44, 0x70, 0x47, 0x70, 0x4B, 0x70 .byte 0x4F, 0x70, 0x52, 0x70, 0x56, 0x70, 0x5A, 0x70, 0x5D, 0x70, 0x61, 0x70, 0x64, 0x70, 0x68, 0x70 .byte 0x6C, 0x70, 0x6F, 0x70, 0x73, 0x70, 0x77, 0x70, 0x7A, 0x70, 0x7E, 0x70, 0x82, 0x70, 0x85, 0x70 .byte 0x89, 0x70, 0x8C, 0x70, 0x90, 0x70, 0x94, 0x70, 0x97, 0x70, 0x9B, 0x70, 0x9E, 0x70, 0xA2, 0x70 .byte 0xA6, 0x70, 0xA9, 0x70, 0xAD, 0x70, 0xB0, 0x70, 0xB4, 0x70, 0xB7, 0x70, 0xBB, 0x70, 0xBF, 0x70 .byte 0xC2, 0x70, 0xC6, 0x70, 0xC9, 0x70, 0xCD, 0x70, 0xD0, 0x70, 0xD4, 0x70, 0xD7, 0x70, 0xDB, 0x70 .byte 0xDF, 0x70, 0xE2, 0x70, 0xE6, 0x70, 0xE9, 0x70, 0xED, 0x70, 0xF0, 0x70, 0xF4, 0x70, 0xF7, 0x70 .byte 0xFB, 0x70, 0xFE, 0x70, 0x02, 0x71, 0x05, 0x71, 0x09, 0x71, 0x0C, 0x71, 0x10, 0x71, 0x13, 0x71 .byte 0x17, 0x71, 0x1A, 0x71, 0x1E, 0x71, 0x21, 0x71, 0x25, 0x71, 0x28, 0x71, 0x2C, 0x71, 0x2F, 0x71 .byte 0x33, 0x71, 0x36, 0x71, 0x39, 0x71, 0x3D, 0x71, 0x40, 0x71, 0x44, 0x71, 0x47, 0x71, 0x4B, 0x71 .byte 0x4E, 0x71, 0x52, 0x71, 0x55, 0x71, 0x58, 0x71, 0x5C, 0x71, 0x5F, 0x71, 0x63, 0x71, 0x66, 0x71 .byte 0x6A, 0x71, 0x6D, 0x71, 0x70, 0x71, 0x74, 0x71, 0x77, 0x71, 0x7B, 0x71, 0x7E, 0x71, 0x81, 0x71 .byte 0x85, 0x71, 0x88, 0x71, 0x8C, 0x71, 0x8F, 0x71, 0x92, 0x71, 0x96, 0x71, 0x99, 0x71, 0x9D, 0x71 .byte 0xA0, 0x71, 0xA3, 0x71, 0xA7, 0x71, 0xAA, 0x71, 0xAD, 0x71, 0xB1, 0x71, 0xB4, 0x71, 0xB8, 0x71 .byte 0xBB, 0x71, 0xBE, 0x71, 0xC2, 0x71, 0xC5, 0x71, 0xC8, 0x71, 0xCC, 0x71, 0xCF, 0x71, 0xD2, 0x71 .byte 0xD6, 0x71, 0xD9, 0x71, 0xDC, 0x71, 0xE0, 0x71, 0xE3, 0x71, 0xE6, 0x71, 0xEA, 0x71, 0xED, 0x71 .byte 0xF0, 0x71, 0xF3, 0x71, 0xF7, 0x71, 0xFA, 0x71, 0xFD, 0x71, 0x01, 0x72, 0x04, 0x72, 0x07, 0x72 .byte 0x0B, 0x72, 0x0E, 0x72, 0x11, 0x72, 0x14, 0x72, 0x18, 0x72, 0x1B, 0x72, 0x1E, 0x72, 0x21, 0x72 .byte 0x25, 0x72, 0x28, 0x72, 0x2B, 0x72, 0x2F, 0x72, 0x32, 0x72, 0x35, 0x72, 0x38, 0x72, 0x3C, 0x72 .byte 0x3F, 0x72, 0x42, 0x72, 0x45, 0x72, 0x49, 0x72, 0x4C, 0x72, 0x4F, 0x72, 0x52, 0x72, 0x55, 0x72 .byte 0x59, 0x72, 0x5C, 0x72, 0x5F, 0x72, 0x62, 0x72, 0x66, 0x72, 0x69, 0x72, 0x6C, 0x72, 0x6F, 0x72 .byte 0x72, 0x72, 0x76, 0x72, 0x79, 0x72, 0x7C, 0x72, 0x7F, 0x72, 0x82, 0x72, 0x86, 0x72, 0x89, 0x72 .byte 0x8C, 0x72, 0x8F, 0x72, 0x92, 0x72, 0x96, 0x72, 0x99, 0x72, 0x9C, 0x72, 0x9F, 0x72, 0xA2, 0x72 .byte 0xA5, 0x72, 0xA9, 0x72, 0xAC, 0x72, 0xAF, 0x72, 0xB2, 0x72, 0xB5, 0x72, 0xB8, 0x72, 0xBB, 0x72 .byte 0xBF, 0x72, 0xC2, 0x72, 0xC5, 0x72, 0xC8, 0x72, 0xCB, 0x72, 0xCE, 0x72, 0xD1, 0x72, 0xD5, 0x72 .byte 0xD8, 0x72, 0xDB, 0x72, 0xDE, 0x72, 0xE1, 0x72, 0xE4, 0x72, 0xE7, 0x72, 0xEA, 0x72, 0xEE, 0x72 .byte 0xF1, 0x72, 0xF4, 0x72, 0xF7, 0x72, 0xFA, 0x72, 0xFD, 0x72, 0x00, 0x73, 0x03, 0x73, 0x06, 0x73 .byte 0x09, 0x73, 0x0D, 0x73, 0x10, 0x73, 0x13, 0x73, 0x16, 0x73, 0x19, 0x73, 0x1C, 0x73, 0x1F, 0x73 .byte 0x22, 0x73, 0x25, 0x73, 0x28, 0x73, 0x2B, 0x73, 0x2E, 0x73, 0x31, 0x73, 0x34, 0x73, 0x37, 0x73 .byte 0x3B, 0x73, 0x3E, 0x73, 0x41, 0x73, 0x44, 0x73, 0x47, 0x73, 0x4A, 0x73, 0x4D, 0x73, 0x50, 0x73 .byte 0x53, 0x73, 0x56, 0x73, 0x59, 0x73, 0x5C, 0x73, 0x5F, 0x73, 0x62, 0x73, 0x65, 0x73, 0x68, 0x73 .byte 0x6B, 0x73, 0x6E, 0x73, 0x71, 0x73, 0x74, 0x73, 0x77, 0x73, 0x7A, 0x73, 0x7D, 0x73, 0x80, 0x73 .byte 0x83, 0x73, 0x86, 0x73, 0x89, 0x73, 0x8C, 0x73, 0x8F, 0x73, 0x92, 0x73, 0x95, 0x73, 0x98, 0x73 .byte 0x9B, 0x73, 0x9E, 0x73, 0xA1, 0x73, 0xA4, 0x73, 0xA7, 0x73, 0xAA, 0x73, 0xAD, 0x73, 0xB0, 0x73 .byte 0xB3, 0x73, 0xB6, 0x73, 0xB9, 0x73, 0xBC, 0x73, 0xBF, 0x73, 0xC2, 0x73, 0xC5, 0x73, 0xC8, 0x73 .byte 0xCA, 0x73, 0xCD, 0x73, 0xD0, 0x73, 0xD3, 0x73, 0xD6, 0x73, 0xD9, 0x73, 0xDC, 0x73, 0xDF, 0x73 .byte 0xE2, 0x73, 0xE5, 0x73, 0xE8, 0x73, 0xEB, 0x73, 0xEE, 0x73, 0xF1, 0x73, 0xF4, 0x73, 0xF6, 0x73 .byte 0xF9, 0x73, 0xFC, 0x73, 0xFF, 0x73, 0x02, 0x74, 0x05, 0x74, 0x08, 0x74, 0x0B, 0x74, 0x0E, 0x74 .byte 0x11, 0x74, 0x14, 0x74, 0x16, 0x74, 0x19, 0x74, 0x1C, 0x74, 0x1F, 0x74, 0x22, 0x74, 0x25, 0x74 .byte 0x28, 0x74, 0x2B, 0x74, 0x2D, 0x74, 0x30, 0x74, 0x33, 0x74, 0x36, 0x74, 0x39, 0x74, 0x3C, 0x74 .byte 0x3F, 0x74, 0x42, 0x74, 0x44, 0x74, 0x47, 0x74, 0x4A, 0x74, 0x4D, 0x74, 0x50, 0x74, 0x53, 0x74 .byte 0x56, 0x74, 0x58, 0x74, 0x5B, 0x74, 0x5E, 0x74, 0x61, 0x74, 0x64, 0x74, 0x67, 0x74, 0x69, 0x74 .byte 0x6C, 0x74, 0x6F, 0x74, 0x72, 0x74, 0x75, 0x74, 0x78, 0x74, 0x7A, 0x74, 0x7D, 0x74, 0x80, 0x74 .byte 0x83, 0x74, 0x86, 0x74, 0x89, 0x74, 0x8B, 0x74, 0x8E, 0x74, 0x91, 0x74, 0x94, 0x74, 0x97, 0x74 .byte 0x99, 0x74, 0x9C, 0x74, 0x9F, 0x74, 0xA2, 0x74, 0xA5, 0x74, 0xA7, 0x74, 0xAA, 0x74, 0xAD, 0x74 .byte 0xB0, 0x74, 0xB2, 0x74, 0xB5, 0x74, 0xB8, 0x74, 0xBB, 0x74, 0xBE, 0x74, 0xC0, 0x74, 0xC3, 0x74 .byte 0xC6, 0x74, 0xC9, 0x74, 0xCB, 0x74, 0xCE, 0x74, 0xD1, 0x74, 0xD4, 0x74, 0xD7, 0x74, 0xD9, 0x74 .byte 0xDC, 0x74, 0xDF, 0x74, 0xE2, 0x74, 0xE4, 0x74, 0xE7, 0x74, 0xEA, 0x74, 0xED, 0x74, 0xEF, 0x74 .byte 0xF2, 0x74, 0xF5, 0x74, 0xF8, 0x74, 0xFA, 0x74, 0xFD, 0x74, 0x00, 0x75, 0x02, 0x75, 0x05, 0x75 .byte 0x08, 0x75, 0x0B, 0x75, 0x0D, 0x75, 0x10, 0x75, 0x13, 0x75, 0x16, 0x75, 0x18, 0x75, 0x1B, 0x75 .byte 0x1E, 0x75, 0x20, 0x75, 0x23, 0x75, 0x26, 0x75, 0x29, 0x75, 0x2B, 0x75, 0x2E, 0x75, 0x31, 0x75 .byte 0x33, 0x75, 0x36, 0x75, 0x39, 0x75, 0x3B, 0x75, 0x3E, 0x75, 0x41, 0x75, 0x43, 0x75, 0x46, 0x75 .byte 0x49, 0x75, 0x4C, 0x75, 0x4E, 0x75, 0x51, 0x75, 0x54, 0x75, 0x56, 0x75, 0x59, 0x75, 0x5C, 0x75 .byte 0x5E, 0x75, 0x61, 0x75, 0x64, 0x75, 0x66, 0x75, 0x69, 0x75, 0x6C, 0x75, 0x6E, 0x75, 0x71, 0x75 .byte 0x74, 0x75, 0x76, 0x75, 0x79, 0x75, 0x7C, 0x75, 0x7E, 0x75, 0x81, 0x75, 0x83, 0x75, 0x86, 0x75 .byte 0x89, 0x75, 0x8B, 0x75, 0x8E, 0x75, 0x91, 0x75, 0x93, 0x75, 0x96, 0x75, 0x99, 0x75, 0x9B, 0x75 .byte 0x9E, 0x75, 0xA0, 0x75, 0xA3, 0x75, 0xA6, 0x75, 0xA8, 0x75, 0xAB, 0x75, 0xAE, 0x75, 0xB0, 0x75 .byte 0xB3, 0x75, 0xB5, 0x75, 0xB8, 0x75, 0xBB, 0x75, 0xBD, 0x75, 0xC0, 0x75, 0xC2, 0x75, 0xC5, 0x75 .byte 0xC8, 0x75, 0xCA, 0x75, 0xCD, 0x75, 0xCF, 0x75, 0xD2, 0x75, 0xD5, 0x75, 0xD7, 0x75, 0xDA, 0x75 .byte 0xDC, 0x75, 0xDF, 0x75, 0xE2, 0x75, 0xE4, 0x75, 0xE7, 0x75, 0xE9, 0x75, 0xEC, 0x75, 0xEF, 0x75 .byte 0xF1, 0x75, 0xF4, 0x75, 0xF6, 0x75, 0xF9, 0x75, 0xFB, 0x75, 0xFE, 0x75, 0x01, 0x76, 0x03, 0x76 .byte 0x06, 0x76, 0x08, 0x76, 0x0B, 0x76, 0x0D, 0x76, 0x10, 0x76, 0x12, 0x76, 0x15, 0x76, 0x18, 0x76 .byte 0x1A, 0x76, 0x1D, 0x76, 0x1F, 0x76, 0x22, 0x76, 0x24, 0x76, 0x27, 0x76, 0x29, 0x76, 0x2C, 0x76 .byte 0x2E, 0x76, 0x31, 0x76, 0x34, 0x76, 0x36, 0x76, 0x39, 0x76, 0x3B, 0x76, 0x3E, 0x76, 0x40, 0x76 .byte 0x43, 0x76, 0x45, 0x76, 0x48, 0x76, 0x4A, 0x76, 0x4D, 0x76, 0x4F, 0x76, 0x52, 0x76, 0x54, 0x76 .byte 0x57, 0x76, 0x59, 0x76, 0x5C, 0x76, 0x5E, 0x76, 0x61, 0x76, 0x63, 0x76, 0x66, 0x76, 0x68, 0x76 .byte 0x6B, 0x76, 0x6D, 0x76, 0x70, 0x76, 0x72, 0x76, 0x75, 0x76, 0x77, 0x76, 0x7A, 0x76, 0x7C, 0x76 .byte 0x7F, 0x76, 0x81, 0x76, 0x84, 0x76, 0x86, 0x76, 0x89, 0x76, 0x8B, 0x76, 0x8E, 0x76, 0x90, 0x76 .byte 0x93, 0x76, 0x95, 0x76, 0x98, 0x76, 0x9A, 0x76, 0x9D, 0x76, 0x9F, 0x76, 0xA2, 0x76, 0xA4, 0x76 .byte 0xA7, 0x76, 0xA9, 0x76, 0xAB, 0x76, 0xAE, 0x76, 0xB0, 0x76, 0xB3, 0x76, 0xB5, 0x76, 0xB8, 0x76 .byte 0xBA, 0x76, 0xBD, 0x76, 0xBF, 0x76, 0xC2, 0x76, 0xC4, 0x76, 0xC6, 0x76, 0xC9, 0x76, 0xCB, 0x76 .byte 0xCE, 0x76, 0xD0, 0x76, 0xD3, 0x76, 0xD5, 0x76, 0xD8, 0x76, 0xDA, 0x76, 0xDC, 0x76, 0xDF, 0x76 .byte 0xE1, 0x76, 0xE4, 0x76, 0xE6, 0x76, 0xE9, 0x76, 0xEB, 0x76, 0xED, 0x76, 0xF0, 0x76, 0xF2, 0x76 .byte 0xF5, 0x76, 0xF7, 0x76, 0xF9, 0x76, 0xFC, 0x76, 0xFE, 0x76, 0x01, 0x77, 0x03, 0x77, 0x06, 0x77 .byte 0x08, 0x77, 0x0A, 0x77, 0x0D, 0x77, 0x0F, 0x77, 0x12, 0x77, 0x14, 0x77, 0x16, 0x77, 0x19, 0x77 .byte 0x1B, 0x77, 0x1E, 0x77, 0x20, 0x77, 0x22, 0x77, 0x25, 0x77, 0x27, 0x77, 0x29, 0x77, 0x2C, 0x77 .byte 0x2E, 0x77, 0x31, 0x77, 0x33, 0x77, 0x35, 0x77, 0x38, 0x77, 0x3A, 0x77, 0x3D, 0x77, 0x3F, 0x77 .byte 0x41, 0x77, 0x44, 0x77, 0x46, 0x77, 0x48, 0x77, 0x4B, 0x77, 0x4D, 0x77, 0x50, 0x77, 0x52, 0x77 .byte 0x54, 0x77, 0x57, 0x77, 0x59, 0x77, 0x5B, 0x77, 0x5E, 0x77, 0x60, 0x77, 0x62, 0x77, 0x65, 0x77 .byte 0x67, 0x77, 0x69, 0x77, 0x6C, 0x77, 0x6E, 0x77, 0x70, 0x77, 0x73, 0x77, 0x75, 0x77, 0x78, 0x77 .byte 0x7A, 0x77, 0x7C, 0x77, 0x7F, 0x77, 0x81, 0x77, 0x83, 0x77, 0x86, 0x77, 0x88, 0x77, 0x8A, 0x77 .byte 0x8D, 0x77, 0x8F, 0x77, 0x91, 0x77, 0x94, 0x77, 0x96, 0x77, 0x98, 0x77, 0x9A, 0x77, 0x9D, 0x77 .byte 0x9F, 0x77, 0xA1, 0x77, 0xA4, 0x77, 0xA6, 0x77, 0xA8, 0x77, 0xAB, 0x77, 0xAD, 0x77, 0xAF, 0x77 .byte 0xB2, 0x77, 0xB4, 0x77, 0xB6, 0x77, 0xB9, 0x77, 0xBB, 0x77, 0xBD, 0x77, 0xBF, 0x77, 0xC2, 0x77 .byte 0xC4, 0x77, 0xC6, 0x77, 0xC9, 0x77, 0xCB, 0x77, 0xCD, 0x77, 0xD0, 0x77, 0xD2, 0x77, 0xD4, 0x77 .byte 0xD6, 0x77, 0xD9, 0x77, 0xDB, 0x77, 0xDD, 0x77, 0xE0, 0x77, 0xE2, 0x77, 0xE4, 0x77, 0xE6, 0x77 .byte 0xE9, 0x77, 0xEB, 0x77, 0xED, 0x77, 0xF0, 0x77, 0xF2, 0x77, 0xF4, 0x77, 0xF6, 0x77, 0xF9, 0x77 .byte 0xFB, 0x77, 0xFD, 0x77, 0xFF, 0x77, 0x02, 0x78, 0x04, 0x78, 0x06, 0x78, 0x08, 0x78, 0x0B, 0x78 .byte 0x0D, 0x78, 0x0F, 0x78, 0x11, 0x78, 0x14, 0x78, 0x16, 0x78, 0x18, 0x78, 0x1A, 0x78, 0x1D, 0x78 .byte 0x1F, 0x78, 0x21, 0x78, 0x23, 0x78, 0x26, 0x78, 0x28, 0x78, 0x2A, 0x78, 0x2C, 0x78, 0x2F, 0x78 .byte 0x31, 0x78, 0x33, 0x78, 0x35, 0x78, 0x38, 0x78, 0x3A, 0x78, 0x3C, 0x78, 0x3E, 0x78, 0x41, 0x78 .byte 0x43, 0x78, 0x45, 0x78, 0x47, 0x78, 0x49, 0x78, 0x4C, 0x78, 0x4E, 0x78, 0x50, 0x78, 0x52, 0x78 .byte 0x55, 0x78, 0x57, 0x78, 0x59, 0x78, 0x5B, 0x78, 0x5D, 0x78, 0x60, 0x78, 0x62, 0x78, 0x64, 0x78 .byte 0x66, 0x78, 0x69, 0x78, 0x6B, 0x78, 0x6D, 0x78, 0x6F, 0x78, 0x71, 0x78, 0x74, 0x78, 0x76, 0x78 .byte 0x78, 0x78, 0x7A, 0x78, 0x7C, 0x78, 0x7F, 0x78, 0x81, 0x78, 0x83, 0x78, 0x85, 0x78, 0x87, 0x78 .byte 0x8A, 0x78, 0x8C, 0x78, 0x8E, 0x78, 0x90, 0x78, 0x92, 0x78, 0x94, 0x78, 0x97, 0x78, 0x99, 0x78 .byte 0x9B, 0x78, 0x9D, 0x78, 0x9F, 0x78, 0xA2, 0x78, 0xA4, 0x78, 0xA6, 0x78, 0xA8, 0x78, 0xAA, 0x78 .byte 0xAC, 0x78, 0xAF, 0x78, 0xB1, 0x78, 0xB3, 0x78, 0xB5, 0x78, 0xB7, 0x78, 0xB9, 0x78, 0xBC, 0x78 .byte 0xBE, 0x78, 0xC0, 0x78, 0xC2, 0x78, 0xC4, 0x78, 0xC6, 0x78, 0xC9, 0x78, 0xCB, 0x78, 0xCD, 0x78 .byte 0xCF, 0x78, 0xD1, 0x78, 0xD3, 0x78, 0xD5, 0x78, 0xD8, 0x78, 0xDA, 0x78, 0xDC, 0x78, 0xDE, 0x78 .byte 0xE0, 0x78, 0xE2, 0x78, 0xE4, 0x78, 0xE7, 0x78, 0xE9, 0x78, 0xEB, 0x78, 0xED, 0x78, 0xEF, 0x78 .byte 0xF1, 0x78, 0xF3, 0x78, 0xF6, 0x78, 0xF8, 0x78, 0xFA, 0x78, 0xFC, 0x78, 0xFE, 0x78, 0x00, 0x79 .byte 0x02, 0x79, 0x04, 0x79, 0x07, 0x79, 0x09, 0x79, 0x0B, 0x79, 0x0D, 0x79, 0x0F, 0x79, 0x11, 0x79 .byte 0x13, 0x79, 0x15, 0x79, 0x18, 0x79, 0x1A, 0x79, 0x1C, 0x79, 0x1E, 0x79, 0x20, 0x79, 0x22, 0x79 .byte 0x24, 0x79, 0x26, 0x79, 0x28, 0x79, 0x2B, 0x79, 0x2D, 0x79, 0x2F, 0x79, 0x31, 0x79, 0x33, 0x79 .byte 0x35, 0x79, 0x37, 0x79, 0x39, 0x79, 0x3B, 0x79, 0x3D, 0x79, 0x40, 0x79, 0x42, 0x79, 0x44, 0x79 .byte 0x46, 0x79, 0x48, 0x79, 0x4A, 0x79, 0x4C, 0x79, 0x4E, 0x79, 0x50, 0x79, 0x52, 0x79, 0x54, 0x79 .byte 0x57, 0x79, 0x59, 0x79, 0x5B, 0x79, 0x5D, 0x79, 0x5F, 0x79, 0x61, 0x79, 0x63, 0x79, 0x65, 0x79 .byte 0x67, 0x79, 0x69, 0x79, 0x6B, 0x79, 0x6D, 0x79, 0x6F, 0x79, 0x72, 0x79, 0x74, 0x79, 0x76, 0x79 .byte 0x78, 0x79, 0x7A, 0x79, 0x7C, 0x79, 0x7E, 0x79, 0x80, 0x79, 0x82, 0x79, 0x84, 0x79, 0x86, 0x79 .byte 0x88, 0x79, 0x8A, 0x79, 0x8C, 0x79, 0x8E, 0x79, 0x90, 0x79, 0x93, 0x79, 0x95, 0x79, 0x97, 0x79 .byte 0x99, 0x79, 0x9B, 0x79, 0x9D, 0x79, 0x9F, 0x79, 0xA1, 0x79, 0xA3, 0x79, 0xA5, 0x79, 0xA7, 0x79 .byte 0xA9, 0x79, 0xAB, 0x79, 0xAD, 0x79, 0xAF, 0x79, 0xB1, 0x79, 0xB3, 0x79, 0xB5, 0x79, 0xB7, 0x79 .byte 0xB9, 0x79, 0xBB, 0x79, 0xBD, 0x79, 0xBF, 0x79, 0xC1, 0x79, 0xC4, 0x79, 0xC6, 0x79, 0xC8, 0x79 .byte 0xCA, 0x79, 0xCC, 0x79, 0xCE, 0x79, 0xD0, 0x79, 0xD2, 0x79, 0xD4, 0x79, 0xD6, 0x79, 0xD8, 0x79 .byte 0xDA, 0x79, 0xDC, 0x79, 0xDE, 0x79, 0xE0, 0x79, 0xE2, 0x79, 0xE4, 0x79, 0xE6, 0x79, 0xE8, 0x79 .byte 0xEA, 0x79, 0xEC, 0x79, 0xEE, 0x79, 0xF0, 0x79, 0xF2, 0x79, 0xF4, 0x79, 0xF6, 0x79, 0xF8, 0x79 .byte 0xFA, 0x79, 0xFC, 0x79 .global _02092448 _02092448: .byte 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x68, 0x65, 0x61, 0x70, 0x20 .byte 0x6D, 0x61, 0x69, 0x6E, 0x20, 0x25, 0x70, 0x20, 0x25, 0x70, 0x0A, 0x00 .global _02092460 _02092460: .byte 0x00, 0x00, 0x00, 0x00 .global _02092464 _02092464: .byte 0x72, 0x6F, 0x6F, 0x74, 0x20, 0x72, 0x65, 0x73, 0x65, 0x74, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00 .global _02092474 _02092474: .byte 0x4D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00 .global _0209247C _0209247C: .byte 0x54, 0x61, 0x73, 0x6B, 0x00, 0x00, 0x00, 0x00 .global _02092484 _02092484: .byte 0x55, 0x6E, 0x4B, 0x6E, 0x6F, 0x77, 0x6E, 0x00 .global _0209248C _0209248C: .byte 0x55, 0x6E, 0x6B, 0x6E, 0x6F, 0x77, 0x6E, 0x00 .global _02092494 _02092494: .byte 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00 .global _020924A4 _020924A4: .byte 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00 .global _020924B4 _020924B4: .byte 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x43, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64, 0x00, 0x00, 0x00 .global _020924C4 _020924C4: .byte 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x4C, 0x6F, 0x61, 0x64, 0x20, 0x43, 0x6F, 0x6D, 0x6D, 0x61 .byte 0x6E, 0x64, 0x00, 0x00 .global _020924D8 _020924D8: .byte 0x74, 0x61, 0x73, 0x6B, 0x20, 0x70, 0x72, 0x6F, 0x63, 0x20, 0x62, 0x6F .byte 0x6F, 0x74, 0x0A, 0x00 .global _020924E8 _020924E8: .byte 0x73, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6D, 0x65 .byte 0x0A, 0x00, 0x00, 0x00 .global _020924F8 _020924F8: .byte 0x73, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x73, 0x6C, 0x65, 0x65, 0x70, 0x0A .byte 0x00, 0x00, 0x00, 0x00 .global _02092508 _02092508: .byte 0x63, 0x61, 0x72, 0x64, 0x20, 0x70, 0x75, 0x6C, 0x6C, 0x20, 0x6F, 0x75 .byte 0x74, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _0209251C _0209251C: .byte 0x63, 0x61, 0x72, 0x64, 0x20, 0x70, 0x75, 0x6C .byte 0x6C, 0x20, 0x6F, 0x75, 0x74, 0x0A, 0x00, 0x00 .global _0209252C _0209252C: .byte 0x63, 0x61, 0x72, 0x64, 0x20, 0x62, 0x61, 0x63 .byte 0x6B, 0x75, 0x70, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x0A, 0x00, 0x00 .global _02092540 _02092540: .byte 0x68, 0x61, 0x6C, 0x74 .byte 0x20, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x20, 0x64, 0x69, 0x73, 0x70, 0x20, 0x25, 0x64 .byte 0x0A, 0x00, 0x00, 0x00 .global _02092558 _02092558: .word _02092580 .byte 0x77, 0x03, 0x00, 0x00 .word _02092580 .byte 0x16, 0x02, 0x00, 0x00 .word _02092580 .byte 0xB1, 0x00, 0x00, 0x00 .word _02092580 .byte 0x0D, 0x01, 0x00, 0x00 .word _02092580 .byte 0x72, 0x02, 0x00, 0x00 .global _02092580 _02092580: .byte 0x6F, 0x76, 0x65, 0x72 .byte 0x6C, 0x61, 0x79, 0x2E, 0x63, 0x00, 0x00, 0x00 .global _0209258C _0209258C: .byte 0x63, 0x68, 0x65, 0x63, 0x6B, 0x20, 0x67, 0x72 .byte 0x6F, 0x75, 0x70, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x00, 0x00, 0x00 .global _020925A0 _020925A0: .byte 0x6C, 0x6F, 0x61, 0x64 .byte 0x20, 0x67, 0x72, 0x6F, 0x75, 0x70, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x00 .global _020925B4 _020925B4: .byte 0x75, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x67, 0x72, 0x6F, 0x75, 0x70, 0x20, 0x65, 0x72, 0x72 .byte 0x6F, 0x72, 0x00, 0x00 .global _020925C8 _020925C8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020925F8 _020925F8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00 .global _02092640 _02092640: .byte 0x64, 0x6D, 0x61, 0x31 .byte 0x00, 0x00, 0x00, 0x00 .global _02092648 _02092648: .byte 0x64, 0x6D, 0x61, 0x33, 0x00, 0x00, 0x00, 0x00 .global _02092650 _02092650: .byte 0x64, 0x6D, 0x61, 0x32 .byte 0x00, 0x00, 0x00, 0x00 .global _02092658 _02092658: .byte 0x64, 0x6D, 0x61, 0x30, 0x00, 0x00, 0x00, 0x00 .global _02092660 _02092660: .word sub_02005D14 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02005D90 .word sub_02005DE0 .global _02092670 _02092670: .word _02092658 .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 .word _02092660 .word _02092640 .byte 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 .word _02092660 .word _02092650 .byte 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x02, 0x00, 0x00 .word _02092660 .word _02092648 .byte 0x08, 0x00, 0x08, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 .word _02092660 .global _020926C0 _020926C0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209276C _0209276C: .byte 0x4E, 0x4F, 0x4E, 0x45, 0x00, 0x00, 0x00, 0x00 .global _02092774 _02092774: .byte 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x49, 0x4E, 0x00 .global _0209277C _0209277C: .byte 0x4E, 0x6F, 0x77, 0x20, 0x64, 0x61, 0x74, 0x65 .byte 0x20, 0x26, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x00 .global _0209278C _0209278C: .byte 0x25, 0x73, 0x20, 0x27, 0x25, 0x73, 0x27, 0x0A .byte 0x00, 0x00, 0x00, 0x00 .global _02092798 _02092798: .byte 0x25, 0x30, 0x34, 0x64, 0x2F, 0x25, 0x30, 0x32, 0x64, 0x2F, 0x25, 0x30 .byte 0x32, 0x64, 0x20, 0x25, 0x30, 0x32, 0x64, 0x3A, 0x25, 0x30, 0x32, 0x64, 0x3A, 0x25, 0x30, 0x32 .byte 0x64, 0x00, 0x00, 0x00 .global _020927B8 _020927B8: .byte 0x25, 0x73, 0x2F, 0x00 .global _020927BC _020927BC: .byte 0x46, 0x69, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65 .byte 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x20, 0x64, 0x72, 0x69, 0x76, 0x65, 0x5B, 0x25 .byte 0x73, 0x5D, 0x20, 0x70, 0x50, 0x61, 0x74, 0x68, 0x5B, 0x25, 0x73, 0x5D, 0x0A, 0x00, 0x00, 0x00 .global _020927E4 _020927E4: .byte 0x25, 0x73, 0x3A, 0x25, 0x73, 0x00, 0x00, 0x00 .global _020927EC _020927EC: .byte 0x2F, 0x00, 0x00, 0x00 .global _020927F0 _020927F0: .byte 0x64, 0x69, 0x72, 0x00 .global _020927F4 _020927F4: .byte 0x66, 0x69, 0x6C, 0x65, 0x00, 0x00, 0x00, 0x00 .global _020927FC _020927FC: .word _02092834 .byte 0xB6, 0x03, 0x00, 0x00 .word _02092834 .byte 0x86, 0x03, 0x00, 0x00 .word _02092834 .byte 0xDA, 0x03, 0x00, 0x00 .word _02092834 .byte 0x34, 0x03, 0x00, 0x00 .word _02092834 .byte 0x0E, 0x03, 0x00, 0x00 .word _02092834 .byte 0xE8, 0x02, 0x00, 0x00 .word _02092834 .byte 0x66, 0x03, 0x00, 0x00 .global _02092834 _02092834: .byte 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2E, 0x63, 0x00, 0x00, 0x00 .global _02092844 _02092844: .byte 0x46, 0x69, 0x6C, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x49, 0x6E, 0x69, 0x74, 0x20 .byte 0x27, 0x25, 0x73, 0x27, 0x00, 0x00, 0x00, 0x00 .global _0209285C _0209285C: .byte 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00 .global _02092864 _02092864: .byte 0x4E, 0x75, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00 .global _0209286C _0209286C: .byte 0x00, 0x00, 0x00, 0x00 .word _02092864 .word _0209285C .word sub_02007EB4 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02007EB8 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020928B0 _020928B0: .byte 0x72, 0x6F, 0x6D, 0x00 .global _020928B4 _020928B4: .byte 0x43, 0x41, 0x52, 0x44, 0x20, 0x52, 0x4F, 0x4D, 0x00, 0x00, 0x00, 0x00 .global _020928C0 _020928C0: .byte 0x4C, 0x6F, 0x63, 0x6B .byte 0x00, 0x00, 0x00, 0x00 .global _020928C8 _020928C8: .byte 0x50, 0x72, 0x6F, 0x67, 0x00, 0x00, 0x00, 0x00 .global _020928D0 _020928D0: .byte 0x4C, 0x6F, 0x61, 0x64 .byte 0x00, 0x00, 0x00, 0x00 .global _020928D8 _020928D8: .byte 0x4E, 0x6F, 0x6E, 0x65, 0x00, 0x00, 0x00, 0x00 .global _020928E0 _020928E0: .byte 0x53, 0x61, 0x76, 0x65 .byte 0x00, 0x00, 0x00, 0x00 .global _020928E8 _020928E8: .byte 0x41, 0x62, 0x6F, 0x72, 0x74, 0x00, 0x00, 0x00 .global _020928F0 _020928F0: .byte 0x44, 0x65, 0x6C, 0x65 .byte 0x74, 0x65, 0x00, 0x00 .global _020928F8 _020928F8: .byte 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x00 .global _02092900 _02092900: .byte 0x66, 0x69, 0x6C, 0x65 .byte 0x2E, 0x63, 0x00, 0x00 .global _02092908 _02092908: .word _02092900 .byte 0xEF, 0x01, 0x00, 0x00 .word _02092900 .byte 0x36, 0x04, 0x00, 0x00 .word _02092900 .byte 0x6D, 0x0A, 0x00, 0x00 .word _02092900 .byte 0xDF, 0x0B, 0x00, 0x00 .word _02092900 .byte 0xFA, 0x03, 0x00, 0x00 .global _02092930 _02092930: .byte 0x4C, 0x6F, 0x61, 0x64 .byte 0x53, 0x74, 0x72, 0x00 .global _02092938 _02092938: .byte 0x52, 0x65, 0x61, 0x64, 0x41, 0x6C, 0x6C, 0x00 .global _02092940 _02092940: .byte 0x53, 0x74, 0x72, 0x4F .byte 0x70, 0x65, 0x6E, 0x00 .global _02092948 _02092948: .byte 0x46, 0x69, 0x6C, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6B, 0x00, 0x00, 0x00 .global _02092954 _02092954: .byte 0x52, 0x65, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x00, 0x00 .global _02092960 _02092960: .byte 0x52, 0x65, 0x61, 0x64 .byte 0x41, 0x6C, 0x6C, 0x53, 0x74, 0x72, 0x00, 0x00 .global _0209296C _0209296C: .byte 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x68 .byte 0x65, 0x63, 0x6B, 0x00 .global _02092978 _02092978: .byte 0x00, 0x00, 0x00, 0x00 .global _0209297C _0209297C: .byte 0x46, 0x69, 0x6C, 0x65, 0x44, 0x65, 0x76, 0x69 .byte 0x63, 0x65, 0x5F, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x69, 0x74, 0x20, 0x73, 0x74 .byte 0x61, 0x72, 0x74, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _0209299C _0209299C: .byte 0x46, 0x69, 0x6C, 0x65, 0x44, 0x65, 0x76, 0x69 .byte 0x63, 0x65, 0x5F, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x69, 0x74, 0x20, 0x65, 0x6E .byte 0x64, 0x0A, 0x00, 0x00 .global _020929B8 _020929B8: .byte 0x46, 0x69, 0x6C, 0x65, 0x20, 0x43, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64 .byte 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x20, 0x25, 0x73, 0x5B, 0x25, 0x73, 0x5D, 0x20, 0x65 .byte 0x72, 0x72, 0x6F, 0x72, 0x20, 0x25, 0x64, 0x20, 0x5B, 0x25, 0x64, 0x2C, 0x25, 0x64, 0x5D, 0x20 .byte 0x66, 0x69, 0x6C, 0x65, 0x20, 0x25, 0x70, 0x20, 0x62, 0x75, 0x66, 0x20, 0x25, 0x70, 0x20, 0x64 .byte 0x61, 0x74, 0x61, 0x20, 0x25, 0x70, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x25, 0x38, 0x78, 0x00 .global _02092A04 _02092A04: .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00 .global _02092A18 _02092A18: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x06, 0x00, 0x00, 0x01, 0x06 .byte 0x00, 0x80, 0x01, 0x06, 0x00, 0x80, 0x89, 0x06, 0x00, 0xA0, 0x89, 0x06, 0x00, 0x00, 0x21, 0x06 .byte 0x00, 0x80, 0x21, 0x06 .global _02092A38 _02092A38: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x01, 0x06 .byte 0x00, 0x80, 0x01, 0x06, 0x00, 0x00, 0x20, 0x06, 0x00, 0xC0, 0x20, 0x06, 0x00, 0x00, 0x21, 0x06 .byte 0x00, 0x80, 0x21, 0x06 .global _02092A58 _02092A58: .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00 .global _02092A78 _02092A78: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x06, 0x00, 0xE0, 0x00, 0x06 .byte 0x00, 0xF0, 0x00, 0x06, 0x00, 0xD0, 0x20, 0x06, 0x00, 0xD8, 0x20, 0x06, 0x00, 0xE0, 0x20, 0x06 .byte 0x00, 0xF0, 0x20, 0x06 .global _02092A98 _02092A98: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 .byte 0x00, 0x10, 0x00, 0x00 .global _02092AB8 _02092AB8: .byte 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x20, 0x73, 0x65, 0x74, 0x20 .byte 0x6D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x2D, 0x3E, 0x20, 0x25, 0x33, 0x64, 0x0A .byte 0x00, 0x00, 0x00, 0x00 .global _02092AD8 _02092AD8: .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 .byte 0x00, 0x20, 0x00, 0x00 .global CART_REMOVED_IMG_DATA CART_REMOVED_IMG_DATA: .byte 0x41, 0x54, 0x34, 0x50 .word _02196A58 .byte 0x04, 0x06, 0x08, 0x0A .byte 0x0C, 0x0E, 0x00, 0x0D, 0x00, 0xC0, 0x00, 0x20, 0x20, 0x1F, 0xFC, 0x5F, 0xF8, 0xBF, 0xF2, 0xFF .byte 0xE2, 0xFF, 0xD0, 0xFF, 0xBE, 0x00, 0xFF, 0xAC, 0xFF, 0x9A, 0xFF, 0x88, 0xFF, 0x76, 0xFF, 0x64 .byte 0xFF, 0x52, 0xFF, 0x40, 0xFF, 0x2E, 0x00, 0xFF, 0x1C, 0xFF, 0x0A, 0xFE, 0xF8, 0xFE, 0xE6, 0xFE .byte 0xD4, 0xFE, 0xC2, 0xFE, 0xB0, 0xFE, 0x9E, 0x00, 0xFE, 0x8C, 0xFE, 0x7A, 0xFE, 0x68, 0xFE, 0x56 .byte 0xFE, 0x44, 0xFE, 0x32, 0xFE, 0x20, 0xFE, 0x0E, 0x00, 0xFD, 0xFC, 0xFD, 0xEA, 0xFD, 0xD8, 0xFD .byte 0xC6, 0xFD, 0xB4, 0xFD, 0xA2, 0xFD, 0x90, 0xFD, 0x7E, 0x00, 0xFD, 0x6C, 0xFD, 0x5A, 0xFD, 0x48 .byte 0xFD, 0x36, 0xFD, 0x24, 0xFD, 0x12, 0xFD, 0x00, 0xFC, 0xEE, 0x00, 0xFC, 0xDC, 0xFC, 0xCA, 0xFC .byte 0xB8, 0xFC, 0xA6, 0xFC, 0x94, 0xFC, 0x82, 0xFC, 0x70, 0xFC, 0x5E, 0x00, 0xFC, 0x4C, 0xFC, 0x3A .byte 0xFC, 0x28, 0xFC, 0x16, 0xFC, 0x04, 0xFB, 0xF2, 0xFB, 0xE0, 0xFB, 0xCE, 0x00, 0xFB, 0xBC, 0xFB .byte 0xAA, 0xFB, 0x98, 0xFB, 0x86, 0xFB, 0x74, 0xFB, 0x62, 0xFB, 0x50, 0xFB, 0x3E, 0x00, 0xFB, 0x2C .byte 0xFB, 0x1A, 0xFB, 0x08, 0xFA, 0xF6, 0xFA, 0xE4, 0xFA, 0xD2, 0xFA, 0xC0, 0xFA, 0xAE, 0x00, 0xFA .byte 0x9C, 0xFA, 0x8A, 0xFA, 0x78, 0xFA, 0x66, 0xFA, 0x54, 0xFA, 0x42, 0xFA, 0x30, 0xFA, 0x1E, 0x00 .byte 0xFA, 0x0C, 0xF9, 0xFA, 0xF9, 0xE8, 0xF9, 0xD6, 0xF9, 0xC4, 0xF9, 0xB2, 0xF9, 0xA0, 0xF9, 0x8E .byte 0x00, 0xF9, 0x7C, 0xF9, 0x6A, 0xF9, 0x58, 0xF9, 0x46, 0xF9, 0x34, 0xF9, 0x22, 0xF9, 0x10, 0xF8 .byte 0xFE, 0x00, 0xF8, 0xEC, 0xF8, 0xDA, 0xF8, 0xC8, 0xF8, 0xB6, 0xF8, 0xA4, 0xF8, 0x92, 0xF8, 0x80 .byte 0xF8, 0x6E, 0x00, 0xF8, 0x5C, 0xF8, 0x4A, 0xF8, 0x38, 0xF8, 0x26, 0xF8, 0x14, 0xF8, 0x02, 0xF7 .byte 0xF0, 0xF7, 0xDE, 0x00, 0xF7, 0xCC, 0xF7, 0xBA, 0xF7, 0xA8, 0xF7, 0x96, 0xF7, 0x84, 0xF7, 0x72 .byte 0xF7, 0x60, 0xF7, 0x4E, 0x00, 0xF7, 0x3C, 0xF7, 0x2A, 0xF7, 0x18, 0xF7, 0x06, 0xF6, 0xF4, 0xF6 .byte 0xE2, 0xF6, 0xD0, 0xF6, 0xBE, 0x00, 0xF6, 0xAC, 0xF6, 0x9A, 0xF6, 0x88, 0xF6, 0x76, 0xF6, 0x64 .byte 0xF6, 0x52, 0xF6, 0x40, 0xF6, 0x2E, 0x00, 0xF6, 0x1C, 0xF6, 0x0A, 0xF5, 0xF8, 0xF5, 0xE6, 0xF5 .byte 0xD4, 0xF5, 0xC2, 0xF5, 0xB0, 0xF5, 0x9E, 0x00, 0xF5, 0x8C, 0xF5, 0x7A, 0xF5, 0x68, 0xF5, 0x56 .byte 0xF5, 0x44, 0xF5, 0x32, 0xF5, 0x20, 0xF5, 0x0E, 0x00, 0xF4, 0xFC, 0xF4, 0xEA, 0xF4, 0xD8, 0xF4 .byte 0xC6, 0xF4, 0xB4, 0xF4, 0xA2, 0xF4, 0x90, 0xF4, 0x7E, 0x00, 0xF4, 0x6C, 0xF4, 0x5A, 0xF4, 0x48 .byte 0xF4, 0x36, 0xF4, 0x24, 0xF4, 0x12, 0xF4, 0x00, 0xF3, 0xEE, 0x00, 0xF3, 0xDC, 0xF3, 0xCA, 0xF3 .byte 0xB8, 0xF3, 0xA6, 0xF3, 0x94, 0xF3, 0x82, 0xF3, 0x70, 0xF3, 0x5E, 0x00, 0xF3, 0x4C, 0xF3, 0x3A .byte 0xF3, 0x28, 0xF3, 0x16, 0xF3, 0x04, 0xF2, 0xF2, 0xF2, 0xE0, 0xF2, 0xCE, 0x00, 0xF2, 0xBC, 0xF2 .byte 0xAA, 0xF2, 0x98, 0xF2, 0x86, 0xF2, 0x74, 0xF2, 0x62, 0xF2, 0x50, 0xF2, 0x3E, 0x00, 0xF2, 0x2C .byte 0xF2, 0x1A, 0xF2, 0x08, 0xF1, 0xF6, 0xF1, 0xE4, 0xF1, 0xD2, 0xF1, 0xC0, 0xF1, 0xAE, 0x00, 0xF1 .byte 0x9C, 0xF1, 0x8A, 0xF1, 0x78, 0xF1, 0x66, 0xF1, 0x54, 0xF1, 0x42, 0xF1, 0x30, 0xF1, 0x1E, 0x00 .byte 0xF1, 0x0C, 0xF0, 0xFA, 0xF0, 0xE8, 0xF0, 0xD6, 0xF0, 0xC4, 0xF0, 0xB2, 0xF0, 0xA0, 0xF0, 0x8E .byte 0x00, 0xF0, 0x7C, 0xF0, 0x6A, 0xF0, 0x58, 0xF0, 0x46, 0xF0, 0x34, 0xF0, 0x22, 0xF0, 0x10, 0xF0 .byte 0x00, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF6, 0xFF, 0x7F, 0xFF, 0x7F, 0x1F, 0xFC, 0xFF, 0x7F .byte 0x20, 0x00, 0x1F, 0xFC, 0xF0, 0x0C, 0x50, 0x0C, 0x5F, 0xDA, 0xF0, 0x0E, 0xF0, 0x0E, 0x90, 0x0E .byte 0xFF, 0xC8, 0x00, 0xF0, 0x02, 0xFF, 0x86, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0 .byte 0x02, 0xF0, 0x02, 0x00, 0x10, 0x02, 0xFF, 0x04, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10 .byte 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0 .byte 0x10, 0x9E, 0x64, 0x10, 0x04, 0xFF, 0x08, 0x21, 0xFF, 0x7F, 0x08, 0x21, 0x08, 0x21, 0x00, 0x3F .byte 0xF8, 0xF0, 0x04, 0x30, 0x04, 0x1D, 0xE0, 0x3F, 0xDC, 0xF0, 0x06, 0xF0, 0x06, 0x70, 0x06, 0x18 .byte 0xFF, 0xC8, 0xF0, 0x0E, 0x1D, 0x86, 0x08, 0x21, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0x00, 0xF0 .byte 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0x1E, 0xFC, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0x00 .byte 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04 .byte 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xB0, 0x04, 0x5F, 0x04, 0x9C, 0x1E, 0x1B, 0xE8, 0xBC, 0x3A, 0x5E .byte 0x5E, 0x00, 0x1E, 0x56, 0x5F, 0xE2, 0x7B, 0xC6, 0x5B, 0xC4, 0xFF, 0xC8, 0xFF, 0xC8, 0x3B, 0x96 .byte 0xBF, 0xBC, 0x00, 0x7E, 0x00, 0x9B, 0x7A, 0x3B, 0x6E, 0x7F, 0x74, 0x9F, 0x5E, 0x5C, 0x4A, 0x9F .byte 0x74, 0x3C, 0x36, 0x00, 0x3F, 0x44, 0xBF, 0xCA, 0x9C, 0x1C, 0xFF, 0xAA, 0x1A, 0xFA, 0xFD, 0x7E .byte 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0 .byte 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xBE, 0x02, 0x7C, 0x82, 0x3B, 0xF8 .byte 0x59, 0xF6, 0x1B, 0xE8, 0x9C, 0x38, 0x00, 0xBE, 0x5E, 0x3F, 0xE2, 0x7F, 0xCE, 0x5F, 0xF0, 0x20 .byte 0xFF, 0xC8, 0x79, 0xBE, 0x5F, 0xE2, 0x00, 0x3D, 0xA2, 0x5B, 0xB0, 0xBB, 0x86, 0x9C, 0x76, 0x1B .byte 0x66, 0x3B, 0x86, 0x7F, 0x6A, 0x1B, 0x54, 0x00, 0x99, 0x6C, 0x1F, 0x8E, 0x3F, 0x54, 0xFF, 0x6C .byte 0xBF, 0x34, 0x7D, 0x18, 0xBF, 0xD0, 0x3F, 0x4C, 0x00, 0xFB, 0x7E, 0xF0, 0x08, 0xF0, 0x08, 0xF0 .byte 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08 .byte 0xF0, 0x08, 0xF0, 0x08, 0xFE, 0x00, 0x3A, 0x82, 0x3A, 0xFC, 0x00, 0x3E, 0x8C, 0x37, 0xE8, 0x9C .byte 0x6A, 0xFC, 0x08, 0x59, 0xCE, 0xFF, 0xC8, 0x9C, 0x32, 0x9A, 0x26, 0x00, 0x5F, 0xAA, 0x39, 0x8E .byte 0x38, 0x88, 0x3B, 0xB0, 0xBF, 0xDA, 0x5B, 0xDE, 0x1D, 0xB2, 0x17, 0x68, 0x00, 0x5C, 0x60, 0xFB .byte 0x6A, 0x5D, 0xF2, 0x57, 0x38, 0xFF, 0x6C, 0x7F, 0x2A, 0x9F, 0xAA, 0xFF, 0xD0, 0x00, 0xF9, 0x7E .byte 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xFC, 0x00, 0xFE, 0x00, 0x37, 0xEE, 0x00 .byte 0xFE, 0x38, 0x9C, 0x6E, 0xFE, 0x00, 0x57, 0xB6, 0xFE, 0x00, 0x56, 0x9C, 0x37, 0x92, 0x78, 0x92 .byte 0x00, 0x9E, 0x62, 0x75, 0x96, 0x9F, 0xDA, 0x5C, 0x00, 0x37, 0xDE, 0xFB, 0x6A, 0x57, 0x60, 0x5F .byte 0x4E, 0x00, 0xBE, 0x10, 0xFD, 0x5C, 0x7D, 0x1A, 0x97, 0x0A, 0xF8, 0x00, 0xF0, 0x0C, 0xF0, 0x0C .byte 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0 .byte 0x0C, 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x0C, 0x9A, 0xE8, 0x36, 0x74, 0x5B, 0xF6, 0xFA, 0x00 .byte 0x3A, 0x6E, 0x5C, 0x4C, 0x00, 0xFE, 0x94, 0x37, 0xE2, 0xF9, 0xC8, 0x33, 0xA0, 0xBF, 0xC8, 0xFC .byte 0x00, 0x99, 0xD6, 0x35, 0x8E, 0x00, 0x55, 0xE4, 0x59, 0xF6, 0xB5, 0xD4, 0xFD, 0xB8, 0x9F, 0xD0 .byte 0xBF, 0x34, 0x5B, 0x1C, 0x5B, 0xAC, 0x00, 0x5F, 0x56, 0xFD, 0x7E, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x7C, 0xC4, 0x00, 0x32, 0xFC, 0x7A, 0x74, 0x58, 0x5E, 0x94 .byte 0x36, 0x7F, 0xEC, 0x9A, 0x38, 0x9E, 0x5E, 0x3A, 0x54, 0x00, 0x3A, 0x4A, 0x98, 0x5C, 0x7E, 0x34 .byte 0x36, 0x96, 0xB8, 0x1C, 0xF6, 0x82, 0x7D, 0x9A, 0x76, 0x2E, 0x00, 0x75, 0x88, 0xF9, 0xA2, 0x56 .byte 0x08, 0x78, 0x36, 0xBA, 0x0A, 0x5D, 0xB4, 0x93, 0x96, 0xFF, 0x32, 0x00, 0xF0, 0xFE, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF1, 0xFC, 0x30, 0x08, 0x5A, 0x9C, 0x00, 0x31, 0xE8 .byte 0x98, 0x46, 0x5F, 0xEE, 0x73, 0xFA, 0x36, 0x78, 0xBF, 0xCE, 0xFF, 0xC8, 0xFF, 0xC8, 0x00, 0x9F .byte 0xC8, 0x5F, 0x8A, 0x96, 0x2C, 0x7F, 0x76, 0x71, 0xEC, 0x31, 0x60, 0xFF, 0x6A, 0xBD, 0x96, 0x00 .byte 0x55, 0xE6, 0xFF, 0x6C, 0x95, 0xCC, 0xBF, 0xAA, 0x5F, 0x08, 0xBF, 0xC4, 0xF0, 0x04, 0xF0, 0x04 .byte 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0 .byte 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x22, 0xF0, 0x10, 0xF0, 0x20, 0xF0, 0x0E, 0xF0, 0x0E .byte 0xF0, 0x2A, 0x00, 0xF0, 0x18, 0xF0, 0x06, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0 .byte 0x0C, 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10 .byte 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0 .byte 0x10, 0xF1, 0x36, 0xF1, 0x24, 0x00, 0xF1, 0x12, 0xF1, 0x00, 0xF0, 0xEE, 0xF0, 0xDC, 0xF0, 0xCA .byte 0xF0, 0xB8, 0xF0, 0xA6, 0xF0, 0x94, 0x00, 0xF0, 0x82, 0xF0, 0x70, 0xF0, 0x5E, 0xF0, 0x4C, 0xF0 .byte 0x3A, 0xF0, 0x28, 0xF0, 0x16, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04 .byte 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF1 .byte 0x2C, 0xF1, 0x1A, 0xF1, 0x08, 0xF0, 0xF6, 0xF0, 0xE4, 0x00, 0xF0, 0xD2, 0xF0, 0xC0, 0xF0, 0xAE .byte 0xF0, 0x9C, 0xF0, 0x8A, 0xF0, 0x78, 0xF0, 0x66, 0xF0, 0x54, 0x00, 0xF0, 0x42, 0xF0, 0x30, 0xF0 .byte 0x1E, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x0C .byte 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF1, 0x34, 0x00, 0xF1, 0x22, 0xF1 .byte 0x10, 0xF0, 0xFE, 0xF0, 0xEC, 0xF0, 0xDA, 0xF0, 0xC8, 0xF0, 0xB6, 0xF0, 0xA4, 0x00, 0xF0, 0x92 .byte 0xF0, 0x80, 0xF0, 0x6E, 0xF0, 0x5C, 0xF0, 0x4A, 0xF0, 0x38, 0xF0, 0x26, 0xF0, 0x14, 0x00, 0xF0 .byte 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x00 .byte 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xB0, 0x02, 0x34, 0x36, 0x34, 0x12, 0xF1, 0x0E .byte 0x00, 0xF0, 0xFC, 0xBF, 0xC2, 0x54, 0x10, 0x74, 0x80, 0x91, 0xCE, 0x50, 0x0C, 0xF0, 0xB6, 0xF0 .byte 0xA4, 0x00, 0xF0, 0x92, 0xF0, 0x80, 0xF0, 0x6E, 0xF0, 0x5C, 0xF0, 0x4A, 0xF0, 0x38, 0xF0, 0x26 .byte 0xF0, 0x14, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0 .byte 0x02, 0xF0, 0x02, 0x06, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x08, 0x21 .byte 0x10, 0x00, 0x00, 0xF4, 0x7E, 0xF0, 0xFA, 0xF0, 0xE8, 0x30, 0x5C, 0x50, 0x0C, 0xB4, 0x3A, 0xF0 .byte 0xA8, 0xF0, 0xA8, 0x00, 0xF0, 0x96, 0xF0, 0x84, 0xF0, 0x72, 0xF0, 0x60, 0xF0, 0x4E, 0xF0, 0x3C .byte 0xF0, 0x2A, 0xF0, 0x18, 0x00, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0 .byte 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06 .byte 0x91, 0x26, 0x50, 0x72, 0x10, 0x5A, 0x00, 0x30, 0xFC, 0x10, 0x50, 0x30, 0x12, 0x30, 0x16, 0xFB .byte 0xCC, 0x70, 0x68, 0x70, 0x5E, 0xBF, 0xAC, 0x00, 0xFF, 0xC0, 0x30, 0x8E, 0x9B, 0xDE, 0x7B, 0x88 .byte 0x5B, 0x7E, 0x3F, 0x7C, 0x30, 0x88, 0x5F, 0x70, 0x00, 0x9F, 0x68, 0x9F, 0xE0, 0xF0, 0x62, 0xF0 .byte 0x50, 0xF0, 0x3E, 0xF0, 0x2C, 0xF0, 0x1A, 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08 .byte 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0 .byte 0x08, 0xF1, 0x28, 0x3A, 0x46, 0x30, 0x08, 0x7C, 0x4E, 0x39, 0xF0, 0x00, 0x10, 0x1E, 0x3B, 0xE4 .byte 0x9E, 0x8A, 0x3C, 0x0C, 0x5D, 0xD4, 0x50, 0x46, 0x3B, 0xBC, 0xBD, 0xFE, 0x00, 0xBF, 0xC0, 0x9F .byte 0xC8, 0x5E, 0x20, 0x3F, 0x9E, 0x3D, 0x8C, 0x1B, 0x78, 0x19, 0xB0, 0x70, 0x0A, 0x00, 0x1B, 0x68 .byte 0x7F, 0x92, 0x7F, 0x6C, 0xF0, 0x62, 0xF0, 0x50, 0xF0, 0x3E, 0xF0, 0x2C, 0xF0, 0x1A, 0x00, 0xF0 .byte 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0x00 .byte 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xFC, 0x00, 0x5E, 0x84, 0x3E, 0x8A .byte 0x00, 0x9E, 0x28, 0xFE, 0x6A, 0x9F, 0xD4, 0x7E, 0x34, 0xB0, 0x0E, 0x9A, 0x00, 0x3E, 0x36, 0x37 .byte 0x94, 0x00, 0xBE, 0x20, 0x3E, 0x0E, 0xBF, 0xD4, 0x7B, 0x7C, 0x19, 0x64, 0x5F, 0xCA, 0xFD, 0x9E .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xFC, 0x00, 0x5E, 0x00, 0x9E, 0x28, 0x59, 0xDE, 0x7B .byte 0xD2, 0x9E, 0x22, 0x9B, 0xBC, 0x00, 0x96, 0x00, 0x37, 0xE8, 0x37, 0xE2, 0x77, 0x9A, 0xFE, 0x00 .byte 0x37, 0x7E, 0x9D, 0xAC, 0x7F, 0x7C, 0x00, 0x57, 0x64, 0x5F, 0xDC, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0 .byte 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E .byte 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0 .byte 0x0E, 0xF4, 0x3C, 0xFA, 0x00, 0x5A, 0x7A, 0xF6, 0x3A, 0x00, 0xBC, 0x54, 0xBF, 0xD8, 0xF7, 0xAA .byte 0x99, 0xAC, 0x55, 0xD8, 0x50, 0x0C, 0x57, 0xA4, 0xBE, 0x00, 0x00, 0x9C, 0x02, 0x7B, 0x6C, 0xB9 .byte 0xE6, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x92, 0x56, 0x7E, 0x12, 0x11, 0xF0, 0x00, 0x9C, 0x94 .byte 0xF4, 0x3A, 0x52, 0x0C, 0x7C, 0x22, 0xFC, 0x00, 0x76, 0x40, 0xB9, 0xFA, 0x33, 0xD0, 0x00, 0x7E .byte 0x00, 0x13, 0x8A, 0x57, 0x84, 0x7F, 0xE4, 0x7C, 0x02, 0x71, 0xA8, 0xBC, 0x00, 0xF5, 0xFA, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x24, 0x90, 0x12, 0x76, 0x8C, 0x5E, 0x6E, 0x9F, 0xEE, 0x10, 0x0C, 0x76, 0x6A .byte 0x3F, 0xF2, 0x00, 0x56, 0x5A, 0x9F, 0xC6, 0xF0, 0x18, 0x11, 0xE6, 0x35, 0xA4, 0x35, 0x9E, 0xF1 .byte 0xDE, 0x70, 0x08, 0x00, 0x91, 0x7E, 0x7F, 0xC8, 0x9F, 0x92, 0xB5, 0xE6, 0xF0, 0x04, 0xF0, 0x04 .byte 0xF0, 0x04, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0 .byte 0x04, 0xF0, 0x04, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04 .byte 0xF0, 0x04, 0xF0, 0x1C, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x38, 0xF0, 0x26, 0xF0, 0x14, 0xF0 .byte 0x02, 0x20, 0xBD, 0xAA, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0x31, 0x88, 0xFF, 0xC6, 0xF0, 0x10, 0xF0 .byte 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10 .byte 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0 .byte 0xD4, 0xF0, 0xC2, 0xF0, 0xB0, 0xF0, 0x9E, 0xF0, 0x8C, 0x00, 0xF0, 0x7A, 0xF0, 0x68, 0xF0, 0x56 .byte 0xF0, 0x44, 0xF0, 0x32, 0xF0, 0x20, 0x50, 0x0E, 0xFD, 0xC8, 0x00, 0xF0, 0x06, 0xF0, 0x06, 0xF0 .byte 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0, 0x06, 0xF0, 0x06 .byte 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0, 0x06, 0xF0 .byte 0xBA, 0xF0, 0xA8, 0xF0, 0x96, 0xF0, 0x84, 0xF0, 0x72, 0xF0, 0x60, 0xF0, 0x4E, 0x00, 0xF0, 0x3C .byte 0xF0, 0x2A, 0xF0, 0x18, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0 .byte 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00 .byte 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0xCA, 0xF0, 0xB8, 0xF0, 0xA6 .byte 0x00, 0xF0, 0x94, 0xF0, 0x82, 0xF0, 0x70, 0xF0, 0x5E, 0xF0, 0x4C, 0xF0, 0x3A, 0xF0, 0x28, 0xF0 .byte 0x16, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04 .byte 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0 .byte 0x04, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0xB4, 0x72, 0x66, 0xF0, 0x98, 0xF0, 0x86 .byte 0xFF, 0xD2, 0x74, 0x08, 0x00, 0x32, 0x3A, 0xF0, 0x52, 0x74, 0x04, 0x12, 0x02, 0xF0, 0x32, 0xF0 .byte 0x20, 0xB0, 0x0E, 0x51, 0xCC, 0x00, 0xF0, 0x0A, 0x93, 0x30, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10 .byte 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0 .byte 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0, 0xD2, 0xF0, 0xC0, 0xBE, 0x9A .byte 0xF6, 0x66, 0xF0, 0x8E, 0xF1, 0xC0, 0x92, 0x28, 0x00, 0xF0, 0x50, 0x90, 0x4C, 0x31, 0xF8, 0x10 .byte 0x08, 0xF0, 0x36, 0xF0, 0x24, 0xBE, 0x26, 0x11, 0xCC, 0x00, 0xF2, 0x00, 0xBF, 0xA2, 0xF5, 0xA8 .byte 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0 .byte 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04 .byte 0xBC, 0xD4, 0x5C, 0x76, 0x5C, 0x6E, 0x3C, 0x66, 0x9C, 0x96, 0x7C, 0x8A, 0x00, 0x7F, 0xD4, 0x1C .byte 0x1E, 0x10, 0x30, 0x9F, 0xD8, 0x50, 0x50, 0x10, 0x18, 0x9C, 0x56, 0x5F, 0x9E, 0x03, 0xBD, 0xDE .byte 0x51, 0xA8, 0x9F, 0x80, 0x5F, 0xAE, 0x5B, 0xB6, 0xB0, 0x16, 0xFF, 0x7F, 0x00, 0x91, 0x88, 0xFF .byte 0x74, 0x3F, 0x6C, 0x7F, 0xDA, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E .byte 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0 .byte 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x60, 0x5E, 0x3C, 0x5C, 0xAC, 0x5C, 0x6E, 0x1E, 0x98, 0x00 .byte 0x1E, 0x94, 0x3C, 0x5E, 0x5C, 0x52, 0x3C, 0x50, 0x5F, 0xEC, 0x5C, 0x3C, 0x3C, 0x16, 0x92, 0x36 .byte 0x00, 0x5F, 0xC6, 0x5C, 0x56, 0x3C, 0x12, 0x9C, 0x4C, 0x9E, 0x5E, 0x7F, 0xE2, 0x7F, 0x8E, 0x9F .byte 0x88, 0x00, 0xFF, 0xC8, 0x79, 0x9A, 0x5F, 0x60, 0x9B, 0xB0, 0x1B, 0xAA, 0xF1, 0xA8, 0xF0, 0x08 .byte 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0 .byte 0x08, 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xBA, 0x44 .byte 0x30, 0x7A, 0x38, 0xA6, 0x00, 0x3C, 0x9E, 0x5E, 0x00, 0x5A, 0x3A, 0xBC, 0x5E, 0x7D, 0xE2, 0x58 .byte 0x10, 0xB0, 0x38, 0x7F, 0xBC, 0x00, 0x39, 0xFA, 0x9F, 0xA6, 0x9F, 0xCE, 0xBC, 0x08, 0x5E, 0x48 .byte 0x9F, 0x7E, 0x38, 0x12, 0x72, 0x12, 0x00, 0xBC, 0x26, 0x5F, 0xE2, 0x3D, 0x56, 0x3B, 0x84, 0x11 .byte 0xE6, 0xFC, 0x00, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06 .byte 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0 .byte 0x06, 0xF0, 0x06, 0xF8, 0xD4, 0x5E, 0xC4, 0x18, 0xA4, 0x00, 0x5E, 0xBE, 0x9E, 0x3A, 0x17, 0xF0 .byte 0x3A, 0x14, 0x3F, 0xDE, 0xBC, 0x9C, 0xBE, 0x6A, 0x7D, 0xCC, 0x00, 0x9F, 0xB6, 0x5F, 0xA6, 0xBD .byte 0xCE, 0x3B, 0x98, 0x3F, 0xA2, 0xFE, 0x00, 0x3B, 0x7E, 0x18, 0x10, 0x00, 0xF9, 0xC8, 0x35, 0xA0 .byte 0x3C, 0x14, 0x79, 0xEA, 0xBF, 0x4C, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10, 0xF0 .byte 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x10 .byte 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x10, 0x7C, 0xCE, 0x9C, 0xC4, 0x5C, 0xB8, 0x00, 0x9B .byte 0xF6, 0x5C, 0xA4, 0x5B, 0xE2, 0xB6, 0x22, 0xFE, 0x00, 0x7C, 0x7A, 0x9B, 0xB6, 0xF5, 0xCE, 0x00 .byte 0xBB, 0x98, 0xFB, 0xC8, 0x3C, 0x32, 0xF5, 0x96, 0x5D, 0x74, 0x5B, 0xA0, 0x56, 0x10, 0xFE, 0x00 .byte 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0 .byte 0x04, 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04 .byte 0xF0, 0x04, 0x00, 0xB8, 0x76, 0x34, 0x68, 0x9E, 0xAA, 0x59, 0xF0, 0x7F, 0xE6, 0x58, 0x32, 0xB8 .byte 0x0E, 0xB0, 0x04, 0x00, 0xBE, 0x60, 0x77, 0x9A, 0x92, 0x5C, 0x32, 0x00, 0x3A, 0x50, 0x11, 0xF4 .byte 0xFA, 0x00, 0xFF, 0xC8, 0x00, 0x56, 0x20, 0x33, 0x60, 0x9A, 0x00, 0xB1, 0xA8, 0x39, 0xFA, 0xF0 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0 .byte 0x00, 0x30, 0x00, 0x92, 0xD4, 0x7A, 0x94, 0x00, 0x12, 0xBE, 0x32, 0xBA, 0x32, 0xB4, 0x9F, 0xE6 .byte 0x9F, 0xE8, 0x50, 0x1E, 0xB7, 0xFE, 0x31, 0xC0, 0x00, 0xFF, 0xC0, 0x90, 0x10, 0x99, 0xEE, 0x59 .byte 0x88, 0xBF, 0x8E, 0x33, 0xE0, 0xFF, 0xA6, 0xBF, 0x74, 0x00, 0x7F, 0x56, 0x5F, 0x30, 0x39, 0xCE .byte 0xF3, 0xFA, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0 .byte 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0, 0x0E .byte 0xF0, 0x0E, 0xF0, 0x2E, 0xF0, 0x1C, 0xF0, 0x0A, 0xF0, 0x50, 0xF0, 0x3E, 0x00, 0xF0, 0x2C, 0xF0 .byte 0x1A, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x4C, 0xF0, 0x3A, 0xF0, 0x28, 0x93, 0xE2, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0xF2, 0x00 .byte 0xF0, 0xE0, 0xF0, 0xCE, 0xF0, 0xBC, 0xF0, 0xAA, 0xF0, 0x98, 0xF0, 0x86, 0xF0, 0x74, 0xF0, 0x62 .byte 0x00, 0xF0, 0x50, 0xF0, 0x3E, 0xF0, 0x2C, 0xF0, 0x1A, 0x3B, 0xC6, 0xF0, 0x02, 0xF0, 0x02, 0xF0 .byte 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02 .byte 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0xEC, 0xF0 .byte 0xDA, 0xF0, 0xC8, 0x00, 0xF0, 0xB6, 0xF0, 0xA4, 0xF0, 0x92, 0xF0, 0x80, 0xF0, 0x6E, 0xF0, 0x5C .byte 0xF0, 0x4A, 0xF0, 0x38, 0x00, 0xF0, 0x26, 0xF0, 0x14, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0 .byte 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02 .byte 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0xF2, 0xF0, 0xE0, 0xF0, 0xCE, 0xF0 .byte 0xBC, 0xF0, 0xAA, 0xF0, 0x98, 0xF0, 0x86, 0x00, 0xF0, 0x74, 0xF0, 0x62, 0xF0, 0x50, 0xF0, 0x3E .byte 0xF0, 0x2C, 0xF0, 0x1A, 0xF0, 0x08, 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0 .byte 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08, 0x00, 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0x08 .byte 0xF0, 0x08, 0xF0, 0x08, 0xF0, 0xF0, 0x30, 0x08, 0x30, 0x02, 0x00, 0xF0, 0xD2, 0xF0, 0xC0, 0x30 .byte 0x8A, 0xF0, 0xA8, 0xF0, 0x96, 0x78, 0x7A, 0xFF, 0xCC, 0xF0, 0x68, 0x00, 0xF0, 0x56, 0xF0, 0x44 .byte 0xF0, 0x32, 0xFF, 0x48, 0xB3, 0x7A, 0xFF, 0x52, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x56, 0xD6, 0x70, 0x52, 0xF0, 0xD2, 0x00, 0xFE .byte 0xAE, 0x92, 0x08, 0xF0, 0xA2, 0xB0, 0x90, 0xF0, 0x70, 0xF0, 0x70, 0xF0, 0x5E, 0xF0, 0x4C, 0x00 .byte 0xF0, 0x3A, 0x72, 0x10, 0xFF, 0x70, 0x91, 0x9A, 0xFF, 0x52, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0 .byte 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0xBC, 0x70, 0xA8, 0x3B, 0xEE .byte 0x10, 0x12, 0x00, 0xBF, 0xEC, 0x54, 0xAA, 0x30, 0x4A, 0x5F, 0xE0, 0x3B, 0xF0, 0x5F, 0xEC, 0x30 .byte 0x2E, 0xF0, 0x1C, 0x00, 0x5F, 0x9C, 0x9F, 0xA4, 0xB0, 0x50, 0x7F, 0xA2, 0x7B, 0x6E, 0xBB, 0xBE .byte 0x9F, 0x8E, 0x3F, 0x62, 0x00, 0xBF, 0x6E, 0xBF, 0xA4, 0x5F, 0x76, 0x5D, 0x80, 0x90, 0x08, 0x7F .byte 0xE4, 0x5F, 0xDA, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E .byte 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0 .byte 0xFE, 0x1A, 0x2E, 0x10, 0x0A, 0x10, 0xD2, 0xC0, 0x08, 0x21, 0x1E, 0x08, 0x1E, 0x04, 0x5F, 0xF6 .byte 0x3F, 0xE6, 0xBE, 0xC2, 0x5F, 0xD2, 0x00, 0x3F, 0xC6, 0x3D, 0xF0, 0xBF, 0xBE, 0xBC, 0x80, 0x1F .byte 0xAA, 0x5F, 0xB8, 0x7F, 0xA4, 0x9C, 0x40, 0x00, 0xFF, 0x88, 0x70, 0x0C, 0x10, 0x3A, 0x9F, 0x6E .byte 0x3F, 0x62, 0xBF, 0xE0, 0xFF, 0x48, 0x20, 0x00, 0x7F, 0x3E, 0x3F, 0x30, 0x7B, 0xD0, 0x9F, 0xE4 .byte 0x3F, 0x0E, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0 .byte 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C .byte 0x3E, 0x00, 0x3D, 0xFA, 0x7E, 0x2E, 0x1B, 0xEA, 0x3E, 0x48, 0x00, 0x5F, 0xE0, 0xBA, 0x90, 0x7A .byte 0x28, 0x3D, 0xC8, 0x37, 0xB8, 0xF9, 0xB8, 0x9A, 0x00, 0x3E, 0x36, 0x00, 0x3B, 0x90, 0xBE, 0x20 .byte 0x5D, 0xB6, 0x79, 0x78, 0x5D, 0x78, 0x5D, 0x74, 0x5F, 0xCA, 0x7F, 0x92, 0x00, 0xFF, 0x70, 0x5B .byte 0x3C, 0x5F, 0x48, 0x3D, 0xFC, 0xBE, 0x02, 0xBF, 0x18, 0xF9, 0x08, 0xF0, 0x06, 0x00, 0xF0, 0x06 .byte 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0x00, 0xF0 .byte 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xF0, 0x06, 0xBC, 0x5C, 0xBE, 0x00, 0x1B, 0xF0, 0xBC, 0x1A, 0x00 .byte 0xFF, 0xD2, 0x57, 0xCC, 0x38, 0x1E, 0xFE, 0x00, 0xF7, 0xA4, 0x3C, 0x36, 0x5F, 0xA4, 0xFD, 0xB0 .byte 0x00, 0xFD, 0xD4, 0x9D, 0x7E, 0x3F, 0x6C, 0x7F, 0x92, 0xFD, 0x70, 0x5B, 0x48, 0x7E, 0x00, 0x39 .byte 0x2A, 0x00, 0xB7, 0x50, 0xBD, 0x46, 0x5D, 0x02, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C .byte 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0, 0x0C, 0xF0 .byte 0x0C, 0xF0, 0x0C, 0x00, 0xF0, 0x0C, 0xFC, 0x5C, 0x35, 0xF0, 0xBB, 0xE6, 0xFC, 0x00, 0x9C, 0x4A .byte 0xFC, 0x00, 0xF5, 0xA4, 0x00, 0x5E, 0x00, 0xB3, 0xBC, 0x57, 0x80, 0x9E, 0x14, 0x53, 0x6A, 0x5A .byte 0x46, 0x78, 0x3A, 0xFE, 0x00, 0x00, 0xFE, 0x30, 0x7B, 0x48, 0x59, 0x5E, 0xB8, 0x02, 0xBD, 0x46 .byte 0xFD, 0xAE, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x98, 0xEC .byte 0xBA, 0x56, 0x7C, 0xB4, 0xFC, 0xDE, 0x95, 0xE4, 0x00, 0xBC, 0x94, 0xF3, 0xB8, 0x55, 0xE0, 0x9A .byte 0x26, 0xBA, 0x6E, 0x37, 0x88, 0x33, 0xAC, 0x57, 0xB4, 0x00, 0x59, 0xB2, 0x9B, 0xA4, 0x9F, 0x6E .byte 0xB7, 0x70, 0x7F, 0xCA, 0x79, 0xA4, 0x57, 0x6A, 0xF6, 0x00, 0x00, 0x35, 0x16, 0x37, 0xE0, 0xB9 .byte 0x90, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x16, 0x11 .byte 0xFE, 0x32, 0x28, 0x32, 0x22, 0x15, 0xEE, 0x10, 0x02, 0x9F, 0xEC, 0x70, 0x0A, 0x00, 0x7F, 0xDC .byte 0x7F, 0xC8, 0xFF, 0xD2, 0x50, 0x1A, 0xFF, 0xA4, 0x91, 0xBE, 0xBA, 0x2E, 0x5F, 0x88, 0x00, 0x5F .byte 0x84, 0x71, 0x94, 0xBF, 0x6E, 0x90, 0x18, 0x39, 0x52, 0x30, 0x06, 0x7F, 0xF4, 0xFF, 0x3E, 0x00 .byte 0x9F, 0x40, 0xBF, 0x14, 0x7F, 0x16, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04 .byte 0x00, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0, 0x04, 0xF0 .byte 0x04, 0x00, 0xF0, 0x16, 0xF0, 0x04, 0xF0, 0x22, 0xF0, 0x10, 0xF0, 0x30, 0xF0, 0x1E, 0xF0, 0x0C .byte 0xBE, 0x40, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0xF0, 0x4A, 0xF0, 0x38, 0xF0, 0x26, 0xF0, 0x14, 0xF0 .byte 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02 .byte 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF1 .byte 0x06, 0xF0, 0xF4, 0xF0, 0xE2, 0x00, 0xF0, 0xD0, 0xF0, 0xBE, 0xF0, 0xAC, 0xF0, 0x9A, 0xF0, 0x88 .byte 0xF0, 0x76, 0xF0, 0x64, 0xF0, 0x52, 0x00, 0xF0, 0x40, 0xF0, 0x2E, 0xF0, 0x1C, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF1, 0x0E, 0xF0, 0xFC, 0xF0 .byte 0xEA, 0xF0, 0xD8, 0xF0, 0xC6, 0xF0, 0xB4, 0xF0, 0xA2, 0x00, 0xF0, 0x90, 0xF0, 0x7E, 0xF0, 0x6C .byte 0xF0, 0x5A, 0xF0, 0x48, 0xF0, 0x36, 0xF0, 0x24, 0xF0, 0x12, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF1, 0x0E, 0xF0, 0xFC, 0x00, 0xF0, 0xEA, 0xF0 .byte 0xD8, 0xF0, 0xC6, 0xF0, 0xB4, 0xF0, 0xA2, 0xF0, 0x90, 0xF0, 0x7E, 0xF0, 0x6C, 0x00, 0xF0, 0x5A .byte 0xF0, 0x48, 0xF0, 0x36, 0xF0, 0x24, 0xF0, 0x12, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0xF0 .byte 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF1, 0x0E, 0xF0, 0xFC, 0xF0, 0xEA, 0xF0, 0xD8, 0xF0, 0xC6, 0xF0, 0xB4 .byte 0x00, 0xF0, 0xA2, 0xF0, 0x90, 0xF0, 0x7E, 0xF0, 0x6C, 0xF0, 0x5A, 0xF0, 0x48, 0xF0, 0x36, 0xF0 .byte 0x24, 0x00, 0xF0, 0x12, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00 .byte 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0 .byte 0x00, 0xF1, 0x10, 0x00, 0xF0, 0xFE, 0xF0, 0xEC, 0xF0, 0xDA, 0xF0, 0xC8, 0xF0, 0xB6, 0xF0, 0xA4 .byte 0xF0, 0x92, 0xF0, 0x80, 0x00, 0xF0, 0x6E, 0xF0, 0x5C, 0xF0, 0x4A, 0xF0, 0x38, 0xF0, 0x26, 0xF0 .byte 0x14, 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02 .byte 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF1, 0x10, 0xF0 .byte 0xFE, 0xF0, 0xEC, 0xF0, 0xDA, 0xF0, 0xC8, 0x00, 0xF0, 0xB6, 0xF0, 0xA4, 0xF0, 0x92, 0xF0, 0x80 .byte 0xF0, 0x6E, 0xF0, 0x5C, 0xF0, 0x4A, 0xF0, 0x38, 0x00, 0xF0, 0x26, 0xF0, 0x14, 0xF0, 0x02, 0xF0 .byte 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02 .byte 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0xF0, 0x02, 0x00, 0xF1, 0x0A, 0xF0, 0xF8, 0xF0 .byte 0xE6, 0xF0, 0xD4, 0xF0, 0xC2, 0xF0, 0xB0, 0xF0, 0x9E, 0xF0, 0x8C, 0x00, 0xF0, 0x7A, 0xF0, 0x68 .byte 0xF0, 0x56, 0xF0, 0x44, 0xF0, 0x32, 0xF0, 0x20, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E, 0xF0 .byte 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0, 0x0E .byte 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0xF0, 0x0E, 0x00, 0xF0 .byte 0x0E, 0xF0, 0x0E, 0xF0, 0x1C, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00 .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A .byte 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0 .byte 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0xF0, 0x0A, 0x00, 0xF0, 0x0A, 0x30, 0x0A, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _02094AE8 _02094AE8: .byte 0x00, 0x00, 0x00, 0xFF, 0x00, 0x01, 0x00, 0x00 .global _02094AF0 _02094AF0: .byte 0x03, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .global STRING_DEBUG_EMPTY ; 0x02094afc STRING_DEBUG_EMPTY: .string "" .align 4 .global STRING_DEBUG_FORMAT_LINE_FILE ; 0x02094b00 STRING_DEBUG_FORMAT_LINE_FILE: .string "%sfile = '%s' line = %5d\n" .align 4 .global STRING_DEBUG_NO_PROG_POS ; 0x02094b1c STRING_DEBUG_NO_PROG_POS: .string "%sProgPos info NULL\n" .align 4 .global STRING_DEBUG_SPACED_PRINT ; 0x02094b34 STRING_DEBUG_SPACED_PRINT: .string " Print " .align 4 .global STRING_DEBUG_FATAL ; 0x02094b40 STRING_DEBUG_FATAL: .string "!!!!! Fatal !!!!!\n" .align 4 .global STRING_DEBUG_NEWLINE ; 0x02094b54 STRING_DEBUG_NEWLINE: .string "\n" .align 4 .global STRING_DEBUG_LOG_NULL ; 0x02094b58 STRING_DEBUG_LOG_NULL: .string "(NULL)\n" .align 4 .global STRING_DEBUG_STRING_NEWLINE ; 0x02094b60 STRING_DEBUG_STRING_NEWLINE: .string "%s\n" .align 4 ; section for pack files .global STRING_EFFECT_EFFECT_BIN ; 0x02094b64 STRING_EFFECT_EFFECT_BIN: .string "EFFECT/effect.bin" .align 4 .global STRING_MONSTER_MONSTER_BIN ; 0x02094b78 STRING_MONSTER_MONSTER_BIN: .string "MONSTER/monster.bin" .align 4 .global STRING_BALANCE_M_LEVEL_BIN ; 0x02094b8c STRING_BALANCE_M_LEVEL_BIN: .string "BALANCE/m_level.bin" .align 4 .global STRING_DUNGEON_DUNGEON_BIN ; 0x02094ba0 STRING_DUNGEON_DUNGEON_BIN: .string "DUNGEON/dungeon.bin" .align 4 .global STRING_MONSTER_M_ATTACK_BIN ; 0x02094bb4 STRING_MONSTER_M_ATTACK_BIN: .string "MONSTER/m_attack.bin" .align 4 .global STRING_MONSTER_M_GROUND_BIN ; 0x02094bcc STRING_MONSTER_M_GROUND_BIN: .string "MONSTER/m_ground.bin" .align 4 .global STRING_FILE_DIRECTORY_INIT ; 0x02094be4 STRING_FILE_DIRECTORY_INIT: .string "file directory init %4d %4d %08x %s\n" .align 4 ; 0x02094c0c .global _02094C0C _02094C0C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _02094C18 _02094C18: .byte 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x02 .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x64, 0x00, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _02094D00 _02094D00: .byte 0x30, 0x31, 0x32, 0x33 .byte 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x00, 0x00 .global _02094D0C _02094D0C: .byte 0xA0, 0x86, 0x01, 0x00, 0x10, 0x27, 0x00, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .global _02094D20 _02094D20: .byte 0x01, 0x00, 0x03, 0x00 .byte 0x05, 0x00, 0x07, 0x00, 0x02, 0x00, 0x03, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 .global AVAILABLE_ITEMS_IN_GROUP_TABLE AVAILABLE_ITEMS_IN_GROUP_TABLE: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0xD2, 0x08, 0x08, 0x60, 0xF0, 0x4F .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x52, 0xD6, 0x08, 0x08, 0x6F, 0xF0, 0x26 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xE0, 0xA4, 0x00, 0x08, 0xC4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x04, 0x04, 0x00, 0x01, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x08, 0x08, 0x2F, 0xF0, 0x7F .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xE0, 0xBC, 0x02, 0x00, 0xC4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x04, 0x04, 0x00, 0x01, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x08, 0x08, 0x6F, 0xF0, 0x7F .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xBC, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x08, 0x08, 0x20, 0x80, 0xA6 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x01, 0x04, 0x0C, 0x40, 0x00, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x08, 0x08, 0x20, 0x80, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x04, 0x04, 0x00, 0x01, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x08, 0x08, 0x20, 0x80, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xBC, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x04, 0x0C, 0x40, 0x01, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x08, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xE4, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x04, 0x1C, 0x40, 0x01, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x88, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0xA4, 0x00, 0x08, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x01, 0x8E, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x88, 0x09, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x85, 0xCF, 0xE1, 0x84, 0x22, 0x08, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x8E, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x12, 0xD6, 0x88, 0x09, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE0, 0x84, 0x00, 0x08, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x8E, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x92, 0xD6, 0xC8, 0x09, 0x2F, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE1, 0x9C, 0x03, 0x1C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x1C, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x92, 0xD6, 0xC8, 0x09, 0x2F, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x41, 0xFF, 0xE1, 0x9C, 0x03, 0x1C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x1C, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x92, 0xD6, 0xC8, 0x09, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x41, 0xFF, 0xE1, 0x9C, 0x03, 0x1C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x0C, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x92, 0xD6, 0xC8, 0x09, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE1, 0x9C, 0x03, 0x1C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x1C, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x92, 0xD6, 0xC8, 0x09, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x41, 0xFF, 0xE1, 0x9C, 0x03, 0x1C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x0C, 0x1E, 0x40, 0x01, 0x00, 0x00, 0x60, 0x02, 0xD6, 0x88, 0x09, 0x20, 0x80, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x61, 0xFF, 0xE1, 0x9E, 0x00, 0x0C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0xE1, 0x86, 0x8E, 0x60, 0x03, 0x00, 0x00, 0x60, 0x92, 0xD6, 0x88, 0x09, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x61, 0xFF, 0xE1, 0x9E, 0x00, 0x0C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0xE0, 0x86, 0x8E, 0x60, 0x03, 0x02, 0x00, 0x60, 0x52, 0xD7, 0x8C, 0x09, 0x6F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x61, 0xFF, 0xE1, 0x9E, 0x00, 0x0C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0xE0, 0x9E, 0x9E, 0x60, 0x03, 0x06, 0x00, 0x60, 0x52, 0xD7, 0x8C, 0x09, 0x6F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xB1, 0xDC, 0x8E, 0x34, 0x98, 0xC5, 0x07, 0xFC .byte 0x72, 0x1A, 0x19, 0x00, 0x00, 0x00, 0x61, 0xFF, 0xE1, 0x9E, 0x00, 0x0C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA0, 0x3E, 0xBE, 0x70, 0x07, 0x0A, 0x00, 0x40, 0x5F, 0x5F, 0x84, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xEF, 0xDE, 0x34, 0xD8, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8C, 0xA0, 0x8E, 0x3E, 0x71, 0x00, 0x00, 0x00, 0x40, 0x46, 0x07, 0x00, 0x09, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8C, 0xA0, 0x8E, 0x3E, 0x71, 0x00, 0x00, 0x00, 0x40, 0x46, 0x07, 0x00, 0x09, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xBE, 0xBE, 0x71, 0x47, 0x2B, 0x00, 0x40, 0x4F, 0x4F, 0x05, 0x09, 0xEF, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0xA0, 0x06, 0x1C, 0x41, 0x00, 0x00, 0x00, 0x40, 0x46, 0x07, 0x00, 0x08, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0xA0, 0xA4, 0x80, 0x30, 0x03, 0x00, 0x00, 0x40, 0x5C, 0x17, 0x00, 0x08, 0x2F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8C, 0xA0, 0xA4, 0x80, 0x30, 0x03, 0x08, 0x00, 0x40, 0x5F, 0x5F, 0x04, 0x08, 0x6F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA0, 0xA4, 0x80, 0x30, 0x03, 0x00, 0x00, 0x40, 0x5F, 0x5F, 0x04, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA0, 0xA4, 0x80, 0x30, 0x03, 0x00, 0x00, 0x40, 0x5F, 0x5F, 0x04, 0x08, 0x2F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _021EA084 .byte 0x60, 0x06, 0x08, 0x00, 0x40, 0x04, 0x06, 0x00, 0x08, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA0, 0xA4, 0x80, 0x30, 0x03, 0x00, 0x00, 0x40, 0x5F, 0x5F, 0x04, 0x08, 0x2F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xBE, 0xBE, 0x70, 0x47, 0x0B, 0x00, 0x40, 0xD6, 0x1E, 0x08, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x01, 0x9E, 0xBC, 0x51, 0x44, 0x00, 0x00, 0x60, 0x5C, 0x1E, 0x08, 0x08, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xA8 .byte 0x1E, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x04, 0x04, 0x20, 0x03, 0x00, 0x00, 0x40, 0x5C, 0x16, 0x00, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0xA0, 0x04, 0x04, 0x20, 0x03, 0x00, 0x00, 0x40, 0x5C, 0x16, 0x00, 0x08, 0x2F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x88, 0xA1, 0x9E, 0xBC, 0x51, 0x44, 0x00, 0x00, 0x60, 0x5C, 0x1F, 0x00, 0x00, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x88, 0xA1, 0x9E, 0xBC, 0x51, 0x44, 0x00, 0x00, 0x60, 0x08, 0x17, 0x00, 0x00, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA0, 0x9E, 0xBC, 0x51, 0x44, 0x00, 0x00, 0x60, 0x5E, 0x5F, 0x04, 0x08, 0x2F, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x56, 0x00, 0x08, 0x20, 0x80, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x56, 0xDE, 0x8C, 0x09, 0x20, 0x80, 0xFF .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xBB, 0xDF, 0xFF, 0xF7, 0xFA, 0xEF, 0xFF, 0xFF .byte 0xF3, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0xF0, 0x9F, 0xE1, 0x04, 0x02, 0x00, 0xFC, 0x04, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xBF, 0xBE, 0x71, 0x47, 0x2B, 0x00, 0x40, 0x4B, 0x57, 0x04, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0xA0, 0xBF, 0xBE, 0x71, 0x47, 0x2B, 0x00, 0x40, 0x57, 0x5F, 0x04, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1C, 0x56, 0x00, 0x08, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x14, 0x57, 0x00, 0x08, 0x0F, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xA6, 0x3E, 0x40, 0x47, 0x0D, 0x00, 0x40, 0xDE, 0x5F, 0x00, 0x08, 0x2F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xBB, 0xDF, 0xDE, 0xF7, 0xFA, 0xE7, 0x07, 0xFC .byte 0x73, 0x7E, 0x5F, 0x00, 0x00, 0xE0, 0xD7, 0xFF, 0xE7, 0xDE, 0x35, 0xDD, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7D, 0xDF, 0xCC, 0x78, 0x1F, 0xF0, 0xFF .byte 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xA4, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xBE, 0xBE, 0xF1, 0xF7, 0x1F, 0x00, 0xE0, 0x7F, 0xDF, 0x0F, 0x79, 0xFF, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xBB, 0xDD, 0x9E, 0xF7, 0xFA, 0xE7, 0x05, 0xFC .byte 0xF3, 0xFF, 0x1F, 0x00, 0x00, 0xE0, 0x87, 0xB7, 0x0F, 0x3D, 0x46, 0x8C, 0x1C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xAE, 0x3E, 0xF1, 0x63, 0x0E, 0x00, 0xE0, 0x7F, 0xDF, 0x8E, 0x79, 0xFF, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xBB, 0xDD, 0x9E, 0xF7, 0xFA, 0xE7, 0x05, 0xFC .byte 0xF3, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xEF, 0xFF, 0x42, 0x8C, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xBE, 0x3E, 0xF1, 0xE7, 0x1F, 0x00, 0xE0, 0x77, 0x5F, 0xCF, 0x79, 0xFF, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xBB, 0xDD, 0x9E, 0xF7, 0xFA, 0xE7, 0x05, 0xFC .byte 0xF3, 0xFF, 0x1F, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xEF, 0xFF, 0xF7, 0xDD, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0x01, 0xFF, 0xFF, 0xF5, 0xF7, 0x3F, 0x00, 0xE0, 0xFD, 0xDF, 0x0F, 0x08, 0xE0, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x31, 0xCC, 0x8E, 0x30, 0x80, 0x45, 0x06, 0xF4 .byte 0x12, 0x18, 0x11, 0x20, 0x01, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0x3C, 0x9E, 0x61, 0x03, 0x31, 0x00, 0x40, 0x5F, 0x0E, 0x04, 0x08, 0x2F, 0x70, 0x59 .byte 0x7A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0xC4, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0xBE, 0x3E, 0xF1, 0xE7, 0x1F, 0x00, 0xE0, 0x75, 0x5F, 0xCF, 0x79, 0xFD, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xEF, 0xFF, 0xF7, 0xDD, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0x3C, 0x9E, 0x61, 0x03, 0x31, 0x00, 0x40, 0x5F, 0x0E, 0x04, 0x08, 0x2F, 0x70, 0x59 .byte 0x7A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0xC4, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0xA1, 0x3C, 0x9E, 0x61, 0x03, 0x31, 0x00, 0x40, 0x5F, 0x0E, 0x04, 0x08, 0x2F, 0x70, 0x59 .byte 0x7A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0xC4, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0xA0, 0x86, 0x3E, 0x41, 0x47, 0x05, 0x00, 0x40, 0x5D, 0x5F, 0x4E, 0x08, 0x2F, 0xF0, 0xFF .byte 0x7F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xD7, 0xFF, 0xE7, 0xDE, 0x35, 0xDD, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0xA0, 0x86, 0x3E, 0x41, 0x47, 0x05, 0x00, 0x40, 0x5D, 0x5F, 0x4E, 0x08, 0x2F, 0xF0, 0xFF .byte 0x7F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xD7, 0xFF, 0xE7, 0xDE, 0x35, 0xDD, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0xA0, 0x86, 0x3E, 0x41, 0x47, 0x05, 0x00, 0x40, 0x5D, 0x5F, 0x4E, 0x08, 0x2F, 0xF0, 0xFF .byte 0x7F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xD7, 0xFF, 0xE7, 0xDE, 0x35, 0xDD, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0xA0, 0x86, 0x3E, 0x41, 0x47, 0x05, 0x00, 0x40, 0x5D, 0x5F, 0x4E, 0x08, 0x2F, 0xF0, 0xFF .byte 0x7F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xD7, 0xFF, 0xE7, 0xDE, 0x35, 0xDD, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0xA0, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x2F, 0x70, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x80, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x02, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xE4, 0x20, 0x1C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x47, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0xE4, 0x20, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x1E, 0x60, 0x03, 0x00, 0x00, 0x40, 0x02, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xE4, 0x20, 0x1C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x02, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x86, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xD6, 0x00, 0x08, 0x20, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x87, 0x0E, 0xDC, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0x01, 0x3C, 0x9E, 0x61, 0x03, 0x31, 0x00, 0x40, 0x5F, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x59 .byte 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0xC4, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x8E, 0x01, 0x3C, 0x9E, 0x61, 0x03, 0x31, 0x00, 0x40, 0x5F, 0x0E, 0x04, 0x08, 0x20, 0x00, 0x59 .byte 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0xC4, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _02097F34 _02097F34: .byte 0x5B, 0x43, 0x53, 0x3A, 0x49, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x5B, 0x43, 0x53, 0x3A .byte 0x56, 0x5D, 0x28, 0x25, 0x64, 0x29, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00 .global _02097F50 _02097F50: .byte 0x25, 0x73, 0x28, 0x25 .byte 0x64, 0x29, 0x00, 0x00 .global _02097F58 _02097F58: .byte 0x5B, 0x43, 0x53, 0x3A, 0x49, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D .byte 0x00, 0x00, 0x00, 0x00 .global _02097F68 _02097F68: .byte 0x25, 0x73, 0x00, 0x00 .global _02097F6C _02097F6C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x55, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02097F7C _02097F7C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x47, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x5B, 0x4D, 0x3A, 0x53, 0x30, 0x5D, 0x00, 0x00 .global _02097F90 _02097F90: .byte 0x25, 0x73, 0x5B, 0x4D .byte 0x3A, 0x53, 0x30, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02097F9C _02097F9C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x5A, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02097FAC _02097FAC: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x34, 0x5D, 0x25, 0x73 .byte 0x00, 0x00, 0x00, 0x00 .global _02097FB8 _02097FB8: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x31, 0x5D, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00 .global _02097FC4 _02097FC4: .byte 0x25, 0x73, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x25, 0x64, 0x5D, 0x5B .byte 0x43, 0x53, 0x3A, 0x31, 0x3A, 0x52, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x3A, 0x31, 0x5D, 0x00 .global _02097FE4 _02097FE4: .byte 0x25, 0x73, 0x5B, 0x43, 0x53, 0x3A, 0x31, 0x3A, 0x52, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x3A .byte 0x31, 0x5D, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_2097FF8 ARM9_UNKNOWN_TABLE__NA_2097FF8: .byte 0xC8, 0x01, 0xAC, 0x00, 0xC9, 0x01, 0xAD, 0x00, 0xCA, 0x01, 0xAE, 0x00 .byte 0xCB, 0x01, 0xAF, 0x00, 0xCC, 0x01, 0x07, 0x01, 0xCD, 0x01, 0x09, 0x01, 0xCE, 0x01, 0x0A, 0x01 .byte 0xCF, 0x01, 0x0B, 0x01, 0xD0, 0x01, 0x46, 0x01, 0xD1, 0x01, 0x88, 0x01, 0xD2, 0x01, 0xE0, 0x01 .byte 0xD3, 0x01, 0xE1, 0x01, 0xD4, 0x01, 0xE2, 0x01, 0xD5, 0x01, 0xE9, 0x01, 0xD6, 0x01, 0xF4, 0x01 .byte 0xD7, 0x01, 0x13, 0x02 .global _02098038 _02098038: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x2F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43 .byte 0x45, 0x2F, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x70, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00 .global _02098054 _02098054: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x2F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43, 0x45, 0x2F, 0x69, 0x74 .byte 0x65, 0x6D, 0x5F, 0x73, 0x5F, 0x70, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00 .global _02098070 _02098070: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x2F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43, 0x45, 0x2F, 0x73, 0x74, 0x5F, 0x69, 0x32, 0x6E .byte 0x5F, 0x6A, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00 .global _0209808C _0209808C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x55, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _0209809C _0209809C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x5A, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _020980AC _020980AC: .byte 0x25, 0x73, 0x00, 0x00 .global _020980B0 _020980B0: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x49, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global KECLEON_SHOP_ITEM_TABLE_LISTS_1 KECLEON_SHOP_ITEM_TABLE_LISTS_1: .byte 0x10, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .global KECLEON_SHOP_ITEM_TABLE_LISTS_2 KECLEON_SHOP_ITEM_TABLE_LISTS_2: .byte 0x11, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global EXCLUSIVE_ITEM_ATTACK_BOOSTS EXCLUSIVE_ITEM_ATTACK_BOOSTS: .byte 0x00 .global EXCLUSIVE_ITEM_DEFENSE_BOOSTS EXCLUSIVE_ITEM_DEFENSE_BOOSTS: .byte 0x00 .global EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS EXCLUSIVE_ITEM_SPECIAL_ATTACK_BOOSTS: .byte 0x00 .global EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS EXCLUSIVE_ITEM_SPECIAL_DEFENSE_BOOSTS: .byte 0x00, 0x0A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x07 .byte 0x0A, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00 .byte 0x05, 0x00, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03 .byte 0x05, 0x00, 0x00, 0x03, 0x00, 0x03, 0x05, 0x00, 0x00, 0x00, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00 .global EXCLUSIVE_ITEM_EFFECT_DATA EXCLUSIVE_ITEM_EFFECT_DATA: .byte 0x09 .global EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES EXCLUSIVE_ITEM_STAT_BOOST_DATA_INDEXES: .byte 0x00, 0x16, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x17, 0x00, 0x0B, 0x00, 0x13, 0x00 .byte 0x50, 0x00, 0x20, 0x00, 0x18, 0x00, 0x44, 0x00, 0x52, 0x00, 0x56, 0x00, 0x56, 0x00, 0x54, 0x00 .byte 0x45, 0x00, 0x46, 0x00, 0x4C, 0x00, 0x4C, 0x00, 0x4C, 0x00, 0x56, 0x00, 0x4C, 0x00, 0x46, 0x00 .byte 0x56, 0x00, 0x56, 0x00, 0x49, 0x00, 0x65, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x58, 0x00 .byte 0x59, 0x00, 0x44, 0x00, 0x44, 0x00, 0x1F, 0x00, 0x58, 0x00, 0x21, 0x00, 0x47, 0x00, 0x1E, 0x00 .byte 0x1E, 0x00, 0x1E, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x3A, 0x00, 0x37, 0x00, 0x36, 0x00, 0x48, 0x00 .byte 0x58, 0x00, 0x08, 0x00, 0x10, 0x00, 0x1B, 0x00, 0x1B, 0x00, 0x1B, 0x00, 0x5A, 0x00, 0x5B, 0x00 .byte 0x48, 0x00, 0x59, 0x00, 0x15, 0x00, 0x55, 0x00, 0x64, 0x00, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x02 .byte 0x2B, 0x00, 0x6A, 0x00, 0x00, 0x02, 0x00, 0x03, 0x29, 0x00, 0x67, 0x00, 0x00, 0x02, 0x00, 0x04 .byte 0x2C, 0x00, 0x69, 0x00, 0x00, 0x02, 0x00, 0x04, 0x30, 0x00, 0x66, 0x00, 0x00, 0x02, 0x00, 0x03 .byte 0x32, 0x00, 0x6B, 0x00, 0x00, 0x02, 0x00, 0x04, 0x2D, 0x00, 0x66, 0x00, 0x00, 0x01, 0x00, 0x03 .byte 0x2F, 0x00, 0x6D, 0x00, 0x00, 0x01, 0x00, 0x03, 0x2B, 0x00, 0x6B, 0x00, 0x00, 0x01, 0x00, 0x04 .byte 0x2A, 0x00, 0x68, 0x00, 0x00, 0x01, 0x00, 0x02, 0x2F, 0x00, 0x69, 0x00, 0x00, 0x02, 0x00, 0x03 .byte 0x2E, 0x00, 0x70, 0x00, 0x00, 0x01, 0x00, 0x03, 0x28, 0x00, 0x6C, 0x00, 0x00, 0x01, 0x00, 0x04 .byte 0x31, 0x00, 0x71, 0x00, 0x00, 0x01, 0x00, 0x02, 0x35, 0x00, 0x6E, 0x00, 0x00, 0x03, 0x00, 0x04 .byte 0x28, 0x00, 0x6F, 0x00, 0x00, 0x03, 0x00, 0x04, 0x2E, 0x00, 0x6A, 0x00, 0x00, 0x01, 0x00, 0x04 .byte 0x2A, 0x00, 0x6B, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x57, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x72, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x30, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x73, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x06, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x75, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x4A, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x44, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x77, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x57, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x72, 0x00, 0x00, 0x09, 0x00, 0x05 .byte 0x00, 0x0B, 0x4C, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x30, 0x00, 0x00, 0x06, 0x00, 0x05 .byte 0x00, 0x07, 0x73, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x0C, 0x4C, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x23, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x75, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x4C, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x23, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x72, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x30, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x73, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x53, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x14, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x74, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x49, 0x00, 0x00, 0x09, 0x00, 0x06 .byte 0x00, 0x0D, 0x77, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x4C, 0x00, 0x00, 0x08, 0x00, 0x05 .byte 0x00, 0x0E, 0x57, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x07, 0x74, 0x00, 0x00, 0x09, 0x00, 0x06 .byte 0x00, 0x0D, 0x0F, 0x00, 0x00, 0x09, 0x00, 0x06, 0x00, 0x0D, 0x30, 0x00, 0x00, 0x09, 0x00, 0x06 .byte 0x00, 0x0D, 0x73, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x4C, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x23, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x07, 0x78, 0x00, 0x00, 0x06, 0x00, 0x05 .byte 0x00, 0x07, 0x4C, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x07, 0x77, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x53, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x79, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x06, 0x00, 0x72, 0x00, 0x00, 0x08, 0x00, 0x09, 0x4F, 0x00, 0x09, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x11, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x4A, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x77, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x4C, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x0D, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x77, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x52, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x75, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x03, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x77, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x49, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x77, 0x00, 0x00, 0x05, 0x00, 0x09, 0x24, 0x00, 0x50, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x12, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x7F, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x4A, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x01, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x78, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x4A, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x30, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x73, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x4A, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x14, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x75, 0x00, 0x00, 0x08, 0x00, 0x09, 0x4F, 0x00, 0x51, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x4F, 0x00, 0x51, 0x00, 0x00, 0x08, 0x00, 0x09, 0x07, 0x00, 0x28, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x7F, 0x00, 0x00, 0x05, 0x00, 0x09 .byte 0x00, 0x0B, 0x03, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x75, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x4A, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x10, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x78, 0x00, 0x00, 0x05, 0x00, 0x09, 0x02, 0x00, 0x78, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x33, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x75, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x53, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x7D, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x4A, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x72, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x05, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x80, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x50, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x7F, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x50, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x51, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x77, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x4C, 0x00, 0x00, 0x05, 0x00, 0x06 .byte 0x00, 0x07, 0x44, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x7E, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x45, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x0D, 0x7A, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x4C, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x75, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x64, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x1F, 0x00, 0x00, 0x08, 0x00, 0x09 .byte 0x00, 0x0A, 0x73, 0x00, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0B, 0x5F, 0x00, 0x00, 0x06, 0x00, 0x09 .byte 0x00, 0x0D, 0x74, 0x00, 0x5D, 0x00, 0x4C, 0x00, 0x7C, 0x00, 0x5D, 0x00, 0x54, 0x00, 0x7C, 0x00 .byte 0x53, 0x00, 0x3D, 0x00, 0x7C, 0x00, 0x44, 0x00, 0x77, 0x00, 0x3D, 0x00, 0x7C, 0x00, 0x14, 0x00 .byte 0x7A, 0x00, 0x05, 0x00, 0x74, 0x00, 0x4A, 0x00, 0x50, 0x00, 0x7A, 0x00, 0x4C, 0x00, 0x51, 0x00 .byte 0x7A, 0x00, 0x40, 0x00, 0x57, 0x00, 0x11, 0x00, 0x57, 0x00, 0x72, 0x00, 0x01, 0x00, 0x72, 0x00 .byte 0x50, 0x00, 0x7C, 0x00, 0x53, 0x00, 0x74, 0x00, 0x3D, 0x00, 0x75, 0x00, 0x16, 0x00, 0x7A, 0x00 .byte 0x4F, 0x00, 0x73, 0x00, 0x41, 0x00, 0x11, 0x00, 0x79, 0x00, 0x08, 0x00, 0x18, 0x00, 0x7F, 0x00 .byte 0x05, 0x00, 0x44, 0x00, 0x7A, 0x00, 0x06, 0x00, 0x5D, 0x00, 0x72, 0x00, 0x14, 0x00, 0x7A, 0x00 .byte 0x49, 0x00, 0x07, 0x00, 0x74, 0x00, 0x30, 0x00, 0x73, 0x00, 0x1D, 0x00, 0x7F, 0x00, 0x01, 0x00 .byte 0x40, 0x00, 0x45, 0x00, 0x5F, 0x00, 0x7C, 0x00, 0x51, 0x00, 0x7C, 0x00, 0x17, 0x00, 0x7A, 0x00 .byte 0x41, 0x00, 0x7C, 0x00, 0x43, 0x00, 0x60, 0x00, 0x7D, 0x00, 0x06, 0x00, 0x0D, 0x00, 0x7F, 0x00 .byte 0x49, 0x00, 0x75, 0x00, 0x06, 0x00, 0x78, 0x00, 0x08, 0x00, 0x7B, 0x00, 0x24, 0x00, 0x74, 0x00 .byte 0x5E, 0x00, 0x17, 0x00, 0x7A, 0x00, 0x07, 0x00, 0x44, 0x00, 0x14, 0x00, 0x5F, 0x00, 0x17, 0x00 .byte 0x33, 0x00, 0x33, 0x00, 0x75, 0x00, 0x49, 0x00, 0x7F, 0x00, 0x44, 0x00, 0x20, 0x00, 0x52, 0x00 .byte 0x75, 0x00, 0x5E, 0x00, 0x27, 0x00, 0x44, 0x00, 0x74, 0x00, 0x02, 0x00, 0x74, 0x00, 0x58, 0x00 .byte 0x43, 0x00, 0x4A, 0x00, 0x76, 0x00, 0x32, 0x00, 0x77, 0x00, 0x45, 0x00, 0x7C, 0x00, 0x2F, 0x00 .byte 0x7C, 0x00, 0x1D, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x10, 0x00, 0x78, 0x00, 0x5F, 0x00, 0x7C, 0x00 .byte 0x0A, 0x00, 0x1F, 0x00, 0x78, 0x00, 0x29, 0x00, 0x75, 0x00, 0x3E, 0x00, 0x49, 0x00, 0x76, 0x00 .byte 0x61, 0x00, 0x3E, 0x00, 0x72, 0x00, 0x09, 0x00, 0x09, 0x00, 0x74, 0x00, 0x18, 0x00, 0x1F, 0x00 .byte 0x1C, 0x00, 0x11, 0x00, 0x11, 0x00, 0x4C, 0x00, 0x79, 0x00, 0x32, 0x00, 0x31, 0x00, 0x78, 0x00 .byte 0x52, 0x00, 0x77, 0x00, 0x54, 0x00, 0x5D, 0x00, 0x44, 0x00, 0x4F, 0x00, 0x73, 0x00, 0x4F, 0x00 .byte 0x13, 0x00, 0x09, 0x00, 0x24, 0x00, 0x75, 0x00, 0x3B, 0x00, 0x20, 0x00, 0x16, 0x00, 0x77, 0x00 .byte 0x7E, 0x00, 0x60, 0x00, 0x11, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x16, 0x00, 0x06, 0x00, 0x77, 0x00 .byte 0x32, 0x00, 0x77, 0x00, 0x61, 0x00, 0x77, 0x00, 0x4F, 0x00, 0x05, 0x00, 0x7C, 0x00, 0x09, 0x00 .byte 0x7A, 0x00, 0x4C, 0x00, 0x41, 0x00, 0x7B, 0x00, 0x4C, 0x00, 0x3E, 0x00, 0x7B, 0x00, 0x50, 0x00 .byte 0x7C, 0x00, 0x51, 0x00, 0x75, 0x00, 0x4A, 0x00, 0x46, 0x00, 0x7F, 0x00, 0x33, 0x00, 0x7C, 0x00 .byte 0x01, 0x00, 0x79, 0x00, 0x0D, 0x00, 0x44, 0x00, 0x77, 0x00, 0x49, 0x00, 0x7C, 0x00, 0x7D, 0x00 .byte 0x4A, 0x00, 0x0A, 0x00, 0x77, 0x00, 0x20, 0x00, 0x7A, 0x00, 0x02, 0x00, 0x17, 0x00, 0x18, 0x00 .byte 0x05, 0x00, 0x07, 0x00, 0x77, 0x00, 0x3D, 0x00, 0x7D, 0x00, 0x23, 0x00, 0x78, 0x00, 0x62, 0x00 .byte 0x56, 0x00, 0x23, 0x00, 0x5D, 0x00, 0x7A, 0x00, 0x33, 0x00, 0x7B, 0x00, 0x51, 0x00, 0x75, 0x00 .byte 0x4C, 0x00, 0x73, 0x00, 0x0F, 0x00, 0x62, 0x00, 0x7F, 0x00, 0x56, 0x00, 0x3F, 0x00, 0x0A, 0x00 .byte 0x76, 0x00, 0x31, 0x00, 0x7B, 0x00, 0x26, 0x00, 0x76, 0x00, 0x20, 0x00, 0x16, 0x00, 0x51, 0x00 .byte 0x52, 0x00, 0x41, 0x00, 0x74, 0x00, 0x16, 0x00, 0x7B, 0x00, 0x18, 0x00, 0x7F, 0x00, 0x14, 0x00 .byte 0x80, 0x00, 0x4C, 0x00, 0x73, 0x00, 0x62, 0x00, 0x75, 0x00, 0x5E, 0x00, 0x40, 0x00, 0x7D, 0x00 .byte 0x0A, 0x00, 0x0D, 0x00, 0x0B, 0x00, 0x7F, 0x00, 0x1C, 0x00, 0x13, 0x00, 0x72, 0x00, 0x13, 0x00 .byte 0x34, 0x00, 0x75, 0x00, 0x06, 0x00, 0x75, 0x00, 0x74, 0x00, 0x08, 0x00, 0x12, 0x00, 0x05, 0x00 .byte 0x07, 0x00, 0x76, 0x00, 0x07, 0x00, 0x46, 0x00, 0x78, 0x00, 0x11, 0x00, 0x05, 0x00, 0x7C, 0x00 .byte 0x4C, 0x00, 0x79, 0x00, 0x51, 0x00, 0x72, 0x00, 0x44, 0x00, 0x80, 0x00, 0x54, 0x00, 0x77, 0x00 .byte 0x4C, 0x00, 0x0B, 0x00, 0x7C, 0x00, 0x56, 0x00, 0x7C, 0x00, 0x33, 0x00, 0x74, 0x00, 0x77, 0x00 .byte 0x04, 0x00, 0x77, 0x00, 0x7D, 0x00, 0x75, 0x00, 0x12, 0x00, 0x77, 0x00, 0x5E, 0x00, 0x16, 0x00 .byte 0x78, 0x00, 0x17, 0x00, 0x7D, 0x00, 0x25, 0x00, 0x3F, 0x00, 0x74, 0x00, 0x14, 0x00, 0x78, 0x00 .byte 0x56, 0x00, 0x7A, 0x00, 0x5D, 0x00, 0x33, 0x00, 0x75, 0x00, 0x3B, 0x00, 0x72, 0x00, 0x78, 0x00 .byte 0x77, 0x00, 0x74, 0x00, 0x72, 0x00, 0x7C, 0x00, 0x76, 0x00, 0x80, 0x00, 0x77, 0x00, 0x7D, 0x00 .byte 0x77, 0x00, 0x7D, 0x00, 0x7F, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209889C _0209889C: .byte 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00 .global _020988A4 _020988A4: .byte 0x03, 0x00, 0x00, 0x00 .global _020988A8 _020988A8: .byte 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x96, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .global RECYCLE_SHOP_ITEM_LIST RECYCLE_SHOP_ITEM_LIST: .byte 0x46, 0x00, 0x00, 0x00 .global _020988D0 _020988D0: .byte 0x00, 0x00, 0x00, 0x00 .global _020988D4 _020988D4: .byte 0x00, 0x00, 0x00, 0x00 .global _020988D8 _020988D8: .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x6D, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x01, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00 .byte 0x6D, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x06, 0x00, 0x6E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x6F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x4A, 0x01, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00 .byte 0x63, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x06, 0x00, 0x6D, 0x00, 0x01, 0x00, 0x63, 0x00, 0x01, 0x00, 0x4A, 0x01, 0x01, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x6D, 0x00, 0x01, 0x00, 0x63, 0x00, 0x01, 0x00 .byte 0x4A, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x6D, 0x00, 0x01, 0x00 .byte 0x63, 0x00, 0x01, 0x00, 0x4A, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00 .byte 0x6D, 0x00, 0x01, 0x00, 0x63, 0x00, 0x01, 0x00, 0x4A, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x08, 0x00, 0x46, 0x00, 0x03, 0x00, 0x4C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x46, 0x00, 0x03, 0x00, 0x54, 0x00, 0x01, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x46, 0x00, 0x03, 0x00 .byte 0x4A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00 .byte 0x46, 0x00, 0x03, 0x00, 0x53, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x6A, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x08, 0x00, 0x4E, 0x00, 0x03, 0x00, 0x52, 0x00, 0x03, 0x00, 0x51, 0x00, 0x03, 0x00 .byte 0x5A, 0x00, 0x03, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x46, 0x00, 0x03, 0x00, 0x55, 0x00, 0x01, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x46, 0x00, 0x02, 0x00 .byte 0x6D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00 .byte 0x46, 0x00, 0x02, 0x00, 0x6D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x06, 0x00, 0x46, 0x00, 0x03, 0x00, 0x6D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x46, 0x00, 0x03, 0x00, 0x55, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x78, 0x05, 0x04, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0D, 0x00 .byte 0x78, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xAB, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x11, 0x00, 0x78, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x78, 0x05, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global TYPE_SPECIFIC_EXCLUSIVE_ITEMS TYPE_SPECIFIC_EXCLUSIVE_ITEMS: .byte 0xFA, 0x01, 0xFB, 0x01, 0xFC, 0x01, 0xFD, 0x01 .byte 0xFE, 0x01, 0xFF, 0x01, 0x00, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02 .byte 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0B, 0x02 .word _020D020C .byte 0x0E, 0x02, 0x0F, 0x02 .word _02110210 .byte 0x12, 0x02, 0x13, 0x02 .word _02150214 .byte 0x16, 0x02, 0x17, 0x02 .word _02190218 .byte 0x1A, 0x02, 0x1B, 0x02 .word _021D021C .byte 0x1E, 0x02, 0x1F, 0x02 .word _02210220 .byte 0x22, 0x02, 0x23, 0x02 .word _02250224 .byte 0x26, 0x02, 0x27, 0x02 .word _02290228 .byte 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x02 .byte 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02 .byte 0x36, 0x02, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x02 .global _02098CB4 _02098CB4: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x53, 0x59, 0x4E, 0x54, 0x48, 0x2F, 0x73, 0x79, 0x6E, 0x74, 0x68 .byte 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00 .global _02098CCC _02098CCC: .byte 0x53, 0x79, 0x6E, 0x74, 0x68, 0x65, 0x73, 0x69 .byte 0x73, 0x5F, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00 .global _02098D24 _02098D24: .byte 0x20, 0x20, 0x20, 0x20, 0x70, 0x69, 0x63, 0x6B, 0x20, 0x75, 0x70, 0x20, 0x70, 0x61, 0x72, 0x74 .byte 0x79, 0x20, 0x25, 0x34, 0x64, 0x20, 0x25, 0x34, 0x64, 0x20, 0x25, 0x34, 0x64, 0x20, 0x25, 0x34 .byte 0x64, 0x0A, 0x00, 0x00 .global _02098D48 _02098D48: .byte 0x20, 0x20, 0x20, 0x20, 0x70, 0x69, 0x63, 0x6B, 0x20, 0x75, 0x70, 0x20 .byte 0x73, 0x61, 0x6D, 0x65, 0x20, 0x69, 0x74, 0x65, 0x6D, 0x20, 0x25, 0x34, 0x64, 0x0A, 0x00, 0x00 .global _02098D64 _02098D64: .byte 0x00, 0x00, 0x00, 0x00 .global _02098D68 _02098D68: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global RECOIL_MOVE_LIST RECOIL_MOVE_LIST: .byte 0x74, 0x00, 0x8C, 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xCE, 0x00, 0x62, 0x01, 0xB9, 0x01, 0x05, 0x02 .byte 0x06, 0x02, 0x15, 0x02, 0x00, 0x00 .global PUNCH_MOVE_LIST PUNCH_MOVE_LIST: .byte 0x41, 0x00, 0x4B, 0x00, 0x67, 0x00, 0x7E, 0x00, 0x88, 0x00 .byte 0xF6, 0x00, 0x08, 0x01, 0x24, 0x01, 0x2C, 0x01, 0x42, 0x01, 0x58, 0x01, 0x5B, 0x01, 0xAE, 0x01 .byte 0xF4, 0x01, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00 .global _02098DAC _02098DAC: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x2F, 0x42, 0x41 .byte 0x4C, 0x41, 0x4E, 0x43, 0x45, 0x2F, 0x77, 0x61, 0x7A, 0x61, 0x5F, 0x70, 0x2E, 0x62, 0x69, 0x6E .byte 0x00, 0x00, 0x00, 0x00 .global _02098DC8 _02098DC8: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x2F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43 .byte 0x45, 0x2F, 0x77, 0x61, 0x7A, 0x61, 0x5F, 0x70, 0x32, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00, 0x00 .global _02098DE4 _02098DE4: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25, 0x2B, 0x64, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00 .global _02098DF4 _02098DF4: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4D, 0x5D, 0x25, 0x73, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00 .global _02098E04 _02098E04: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x32, 0x5D, 0x00, 0x00 .global _02098E0C _02098E0C: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x31, 0x5D, 0x00, 0x00 .global _02098E14 _02098E14: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25, 0x73, 0x25, 0x73, 0x25, 0x73, 0x5B, 0x43, 0x4C .byte 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x31, 0x31, 0x5D, 0x25, 0x32, 0x64, 0x5B, 0x43 .byte 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x32, 0x33, 0x5D, 0x2F, 0x5B, 0x43, 0x4C .byte 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x32, 0x38, 0x5D, 0x25, 0x32, 0x64, 0x5B, 0x43 .byte 0x52, 0x5D, 0x00, 0x00 .global _02098E58 _02098E58: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x3A, 0x5D, 0x25, 0x73, 0x25, 0x73 .byte 0x25, 0x73, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x31, 0x31, 0x5D .byte 0x25, 0x32, 0x64, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x32, 0x33 .byte 0x5D, 0x2F, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x32, 0x38, 0x5D .byte 0x25, 0x32, 0x64, 0x5B, 0x43, 0x52, 0x5D, 0x00 .global _02098E9C _02098E9C: .byte 0x25, 0x73, 0x20, 0x25, 0x32, 0x64, 0x2F, 0x25 .byte 0x32, 0x64, 0x00, 0x00 .global _02098EA8 _02098EA8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _02098EB0 _02098EB0: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x62, 0x61, 0x6E, 0x6E, 0x65, 0x72, 0x2E, 0x62, 0x69, 0x6E .byte 0x00, 0x00, 0x00, 0x00 .global _02098EC8 _02098EC8: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x62, 0x61 .byte 0x6E, 0x6E, 0x65, 0x72, 0x5F, 0x63, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00 .global _02098EE0 _02098EE0: .byte 0xFF, 0xFF, 0xFF, 0xFF .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F .byte 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00 .byte 0x00, 0x00, 0x00, 0xFF, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x00 .byte 0x00, 0x00, 0xF0, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00 .byte 0x00, 0xF0, 0xFF, 0xFF, 0x14, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x00, 0xFF, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0xF0, 0xFF, 0xFF, 0xFF, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .global _02098F60 _02098F60: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x62, 0x5F, 0x70, 0x61, 0x6C, 0x5F, 0x72, 0x2E, 0x62, 0x69 .byte 0x6E, 0x00, 0x00, 0x00 .global _02098F78 _02098F78: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x62, 0x5F .byte 0x70, 0x61, 0x6C, 0x5F, 0x70, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00, 0x00 .global _02098F90 _02098F90: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x62, 0x5F, 0x70, 0x61, 0x6C, 0x32, 0x2E, 0x62, 0x69, 0x6E .byte 0x00, 0x00, 0x00, 0x00 .global _02098FA8 _02098FA8: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x62, 0x5F .byte 0x70, 0x61, 0x6C, 0x2E, 0x62, 0x69, 0x6E, 0x00 .global _02098FBC _02098FBC: .byte 0x5B, 0x52, 0x5D, 0x00 .global _02098FC0 _02098FC0: .byte 0x4C, 0x49, 0x4E, 0x45 .byte 0x00, 0x00, 0x00, 0x00 .global _02098FC8 _02098FC8: .byte 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0xA0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x58, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0xD0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .global _0209901C _0209901C: .byte 0x00, 0x00, 0x00, 0x00 .global _02099020 _02099020: .byte 0x00, 0x00, 0x00, 0x00 .global _02099024 _02099024: .word sub_02016788 .global _02099028 _02099028: .byte 0x00, 0x00, 0x00, 0x00 .global _0209902C _0209902C: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word sub_02016814 .word sub_02016774 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02016888 .byte 0x00, 0x00, 0x00, 0x00 .word sub_020168C8 .word sub_0201693C .word sub_02016BF0 .word sub_02016BB8 .byte 0x02, 0x00, 0x00, 0x00 .word sub_02016EAC .word sub_02017144 .word sub_02017314 .word sub_0201758C .byte 0x00, 0x00, 0x00, 0x00 .word sub_02016814 .word sub_020167FC .byte 0x00, 0x00, 0x00, 0x00 .word sub_02016888 .global _02099080 _02099080: .byte 0x01, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0xBE, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00 .byte 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00 .global _02099110 _02099110: .byte 0x47, 0x52, 0x4F, 0x55 .byte 0x4E, 0x44, 0x2F, 0x73, 0x32, 0x30, 0x70, 0x30, 0x31, 0x61, 0x31, 0x2E, 0x77, 0x61, 0x6E, 0x00 .global _02099124 _02099124: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x73, 0x32, 0x30, 0x70, 0x30, 0x31, 0x61, 0x32, 0x2E .byte 0x77, 0x61, 0x6E, 0x00 .global _02099138 _02099138: .byte 0x25, 0x73, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00 .global _02099140 _02099140: .byte 0x25, 0x73, 0x00, 0x00 .global _02099144 _02099144: .byte 0x00, 0x00, 0x00, 0x00 .global _02099148 _02099148: .byte 0x42, 0x00, 0x00, 0x00 .global _0209914C _0209914C: .byte 0x25, 0x73, 0x25, 0x63, 0x46, 0x00, 0x00, 0x00 .global _02099154 _02099154: .byte 0x25, 0x73, 0x25, 0x63, 0x25, 0x63, 0x46, 0x00 .global _0209915C _0209915C: .byte 0x02, 0x3F, 0x03, 0x3F, 0x03, 0x3F, 0x01, 0x3F .byte 0x04, 0x3F, 0x06, 0x3F, 0x07, 0x3F, 0x0B, 0x3F .global _0209916C _0209916C: .byte 0x73, 0x65, 0x20, 0x70, 0x6C, 0x61, 0x79, 0x20 .byte 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25, 0x33, 0x64, 0x20, 0x20, 0x76, 0x6F, 0x6C, 0x75, 0x6D, 0x65 .byte 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00 .global _0209918C _0209918C: .byte 0x73, 0x65, 0x20, 0x70, 0x6C, 0x61, 0x79, 0x20 .byte 0x66, 0x75, 0x6C, 0x6C, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25 .byte 0x33, 0x64, 0x20, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x20, 0x76, 0x6F .byte 0x6C, 0x75, 0x6D, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x20, 0x70, 0x61, 0x6E, 0x20, 0x25, 0x33 .byte 0x64, 0x00, 0x00, 0x00 .global _020991C8 _020991C8: .byte 0x73, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x20, 0x76, 0x6F .byte 0x6C, 0x75, 0x6D, 0x65, 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25, 0x33, 0x64, 0x20, 0x20, 0x76 .byte 0x6F, 0x6C, 0x75, 0x6D, 0x65, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00 .global _020991F0 _020991F0: .byte 0x73, 0x65, 0x20, 0x63 .byte 0x68, 0x61, 0x6E, 0x67, 0x65, 0x20, 0x70, 0x61, 0x6E, 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25 .byte 0x33, 0x64, 0x20, 0x20, 0x70, 0x61, 0x6E, 0x20, 0x25, 0x33, 0x64, 0x00 .global _02099210 _02099210: .byte 0x73, 0x65, 0x20, 0x73 .byte 0x74, 0x6F, 0x70, 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00 .global _02099224 _02099224: .byte 0x73, 0x65, 0x20, 0x73, 0x74, 0x6F, 0x70, 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25, 0x33, 0x64 .byte 0x20, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00 .global _02099240 _02099240: .byte 0x61, 0x75, 0x64, 0x69 .byte 0x6F, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64, 0x20, 0x6C, 0x69, 0x73, 0x74, 0x00, 0x00 .global _02099254 _02099254: .byte 0x00, 0x00, 0x00, 0x00 .global _02099258 _02099258: .byte 0x74, 0x72, 0x61, 0x70, 0x00, 0x00, 0x00, 0x00 .global _02099260 _02099260: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x39, 0x00, 0x00, 0x00 .global _02099268 _02099268: .byte 0x77, 0x61, 0x7A, 0x61, 0x38, 0x00, 0x00, 0x00 .global _02099270 _02099270: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x36, 0x00, 0x00, 0x00 .global _02099278 _02099278: .byte 0x77, 0x61, 0x7A, 0x61, 0x32, 0x00, 0x00, 0x00 .global _02099280 _02099280: .byte 0x65, 0x76, 0x65, 0x6E .byte 0x74, 0x00, 0x00, 0x00 .global _02099288 _02099288: .byte 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00 .global _02099290 _02099290: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x37, 0x00, 0x00, 0x00 .global _02099298 _02099298: .byte 0x77, 0x61, 0x7A, 0x61, 0x35, 0x00, 0x00, 0x00 .global _020992A0 _020992A0: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x31, 0x00, 0x00, 0x00 .global _020992A8 _020992A8: .byte 0x77, 0x61, 0x7A, 0x61, 0x33, 0x00, 0x00, 0x00 .global _020992B0 _020992B0: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x34, 0x00, 0x00, 0x00 .global _020992B8 _020992B8: .byte 0x65, 0x76, 0x5F, 0x65, 0x30, 0x33, 0x00, 0x00 .global _020992C0 _020992C0: .byte 0x65, 0x76, 0x5F, 0x6D .byte 0x30, 0x31, 0x00, 0x00 .global _020992C8 _020992C8: .byte 0x65, 0x76, 0x5F, 0x65, 0x30, 0x34, 0x00, 0x00 .global _020992D0 _020992D0: .byte 0x65, 0x76, 0x5F, 0x65 .byte 0x30, 0x36, 0x00, 0x00 .global _020992D8 _020992D8: .byte 0x65, 0x76, 0x5F, 0x6D, 0x31, 0x34, 0x00, 0x00 .global _020992E0 _020992E0: .byte 0x65, 0x76, 0x5F, 0x6D .byte 0x31, 0x38, 0x00, 0x00 .global _020992E8 _020992E8: .byte 0x65, 0x76, 0x5F, 0x65, 0x30, 0x38, 0x00, 0x00 .global _020992F0 _020992F0: .byte 0x65, 0x76, 0x5F, 0x6D .byte 0x32, 0x35, 0x00, 0x00 .global _020992F8 _020992F8: .byte 0x65, 0x76, 0x5F, 0x6D, 0x31, 0x30, 0x00, 0x00 .global _02099300 _02099300: .byte 0x65, 0x76, 0x5F, 0x6D .byte 0x30, 0x35, 0x00, 0x00 .global _02099308 _02099308: .byte 0x65, 0x76, 0x5F, 0x73, 0x30, 0x31, 0x00, 0x00 .global _02099310 _02099310: .byte 0x65, 0x76, 0x5F, 0x65 .byte 0x30, 0x39, 0x00, 0x00 .global _02099318 _02099318: .byte 0x65, 0x76, 0x5F, 0x73, 0x31, 0x30, 0x00, 0x00 .global _02099320 _02099320: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x31, 0x35, 0x00, 0x00 .global _02099328 _02099328: .byte 0x65, 0x76, 0x5F, 0x6D, 0x32, 0x36, 0x00, 0x00 .global _02099330 _02099330: .byte 0x65, 0x76, 0x5F, 0x73 .byte 0x33, 0x30, 0x00, 0x00 .global _02099338 _02099338: .byte 0x65, 0x76, 0x5F, 0x73, 0x32, 0x33, 0x00, 0x00 .global _02099340 _02099340: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x31, 0x30, 0x00, 0x00 .global _02099348 _02099348: .byte 0x65, 0x76, 0x5F, 0x65, 0x74, 0x31, 0x00, 0x00 .global _02099350 _02099350: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x31, 0x31, 0x00, 0x00 .global _02099358 _02099358: .byte 0x77, 0x61, 0x7A, 0x61, 0x31, 0x32, 0x00, 0x00 .global _02099360 _02099360: .byte 0x65, 0x76, 0x5F, 0x65 .byte 0x30, 0x31, 0x00, 0x00 .global _02099368 _02099368: .byte 0x77, 0x61, 0x7A, 0x61, 0x31, 0x33, 0x00, 0x00 .global _02099370 _02099370: .byte 0x77, 0x61, 0x7A, 0x61 .byte 0x31, 0x34, 0x00, 0x00 .global _02099378 _02099378: .byte 0x65, 0x76, 0x5F, 0x65, 0x30, 0x32, 0x00, 0x00 .global _02099380 _02099380: .byte 0x65, 0x76, 0x65, 0x6E .byte 0x74, 0x5F, 0x73, 0x00 .global _02099388 _02099388: .byte 0x65, 0x76, 0x5F, 0x65, 0x30, 0x39, 0x62, 0x00 .global _02099390 _02099390: .byte 0x6D, 0x6F, 0x74, 0x69 .byte 0x6F, 0x6E, 0x5F, 0x73, 0x00, 0x00, 0x00, 0x00 .global _0209939C _0209939C: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x53, 0x59 .byte 0x53, 0x54, 0x45, 0x4D, 0x2F, 0x73, 0x65, 0x5F, 0x73, 0x79, 0x73, 0x2E, 0x73, 0x77, 0x64, 0x00 .global _020993B4 _020993B4: .byte 0x65, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x20, 0x73, 0x65, 0x20 .byte 0x73, 0x77, 0x64, 0x20, 0x25, 0x30, 0x34, 0x78, 0x0A, 0x00, 0x00, 0x00 .global _020993D0 _020993D0: .byte 0x53, 0x4F, 0x55, 0x4E .byte 0x44, 0x2F, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x2F, 0x73, 0x65, 0x5F, 0x73, 0x79, 0x73, 0x2E .byte 0x73, 0x65, 0x64, 0x00 .global _020993E8 _020993E8: .byte 0x65, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6D .byte 0x20, 0x73, 0x65, 0x20, 0x73, 0x65, 0x64, 0x20, 0x25, 0x30, 0x34, 0x78, 0x0A, 0x00, 0x00, 0x00 .global _02099404 _02099404: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x53, 0x45, 0x2F, 0x6D, 0x6F, 0x74, 0x69, 0x6F, 0x6E, 0x2E .byte 0x73, 0x77, 0x64, 0x00 .global _02099418 _02099418: .byte 0x65, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x6D, 0x6F, 0x74, 0x69, 0x6F, 0x6E .byte 0x20, 0x73, 0x65, 0x20, 0x73, 0x77, 0x64, 0x20, 0x25, 0x30, 0x34, 0x78, 0x0A, 0x00, 0x00, 0x00 .global _02099434 _02099434: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x53, 0x45, 0x2F, 0x6D, 0x6F, 0x74, 0x69, 0x6F, 0x6E, 0x2E .byte 0x73, 0x65, 0x64, 0x00 .global _02099448 _02099448: .byte 0x65, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x6D, 0x6F, 0x74, 0x69, 0x6F, 0x6E .byte 0x20, 0x73, 0x65, 0x20, 0x73, 0x65, 0x64, 0x20, 0x25, 0x30, 0x34, 0x78, 0x0A, 0x00, 0x00, 0x00 .global _02099464 _02099464: .byte 0x62, 0x67, 0x6D, 0x20, 0x65, 0x6E, 0x64, 0x20, 0x25, 0x64, 0x00, 0x00 .global _02099470 _02099470: .byte 0x62, 0x67, 0x6D, 0x32 .byte 0x20, 0x65, 0x6E, 0x64, 0x20, 0x25, 0x64, 0x00 .global _0209947C _0209947C: .byte 0x72, 0x65, 0x73, 0x75, 0x6D, 0x65, 0x20, 0x62 .byte 0x67, 0x6D, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00 .global _0209948C _0209948C: .byte 0x72, 0x65, 0x73, 0x75, 0x6D, 0x65, 0x20, 0x62 .byte 0x67, 0x6D, 0x32, 0x20, 0x25, 0x64, 0x00, 0x00 .global _0209949C _0209949C: .byte 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x44, 0x72, 0x69 .byte 0x76, 0x65, 0x72, 0x5F, 0x52, 0x65, 0x73, 0x65, 0x74, 0x0A, 0x00, 0x00 .global _020994B0 _020994B0: .byte 0x53, 0x4F, 0x55, 0x4E .byte 0x44, 0x2F, 0x53, 0x45, 0x2F, 0x25, 0x73, 0x2E, 0x73, 0x65, 0x64, 0x00 .global _020994C0 _020994C0: .byte 0x73, 0x65, 0x20, 0x70 .byte 0x6C, 0x61, 0x79, 0x20, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x25, 0x30, 0x34, 0x78, 0x20, 0x5B, 0x25 .byte 0x73, 0x5D, 0x00, 0x00 .global _020994D8 _020994D8: .byte 0x73, 0x65, 0x20, 0x62, 0x61, 0x6E, 0x6B, 0x20, 0x6C, 0x69, 0x73, 0x74 .byte 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25, 0x30, 0x34, 0x78, 0x5B, 0x25, 0x30, 0x34, 0x78, 0x5D .byte 0x20, 0x20, 0x73, 0x75, 0x6D, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00 .global _02099500 _02099500: .byte 0x20, 0x20, 0x20, 0x20 .byte 0x5B, 0x25, 0x33, 0x64, 0x5D, 0x20, 0x25, 0x33, 0x64, 0x5B, 0x25, 0x30, 0x34, 0x78, 0x5D, 0x00 .global _02099514 _02099514: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x53, 0x57, 0x44, 0x2F, 0x25, 0x30, 0x33, 0x64, 0x2E, 0x73 .byte 0x77, 0x64, 0x00, 0x00 .global _02099528 _02099528: .byte 0x20, 0x20, 0x20, 0x20, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x25, 0x32, 0x64 .byte 0x20, 0x5B, 0x25, 0x73, 0x5D, 0x00, 0x00, 0x00 .global _0209953C _0209953C: .byte 0x62, 0x67, 0x6D, 0x20, 0x70, 0x6C, 0x61, 0x79 .byte 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00 .global _02099554 _02099554: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x42, 0x47, 0x4D, 0x2F, 0x62, 0x67, 0x6D, 0x25, 0x30, 0x34 .byte 0x64, 0x2E, 0x73, 0x6D, 0x64, 0x00, 0x00, 0x00 .global _0209956C _0209956C: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x42, 0x47 .byte 0x4D, 0x2F, 0x62, 0x67, 0x6D, 0x25, 0x30, 0x34, 0x64, 0x2E, 0x73, 0x77, 0x64, 0x00, 0x00, 0x00 .global _02099584 _02099584: .byte 0x62, 0x67, 0x6D, 0x20, 0x73, 0x74, 0x6F, 0x70, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00 .global _02099594 _02099594: .byte 0x42, 0x67, 0x6D, 0x53, 0x74, 0x6F, 0x70, 0x20, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x64 .byte 0x20, 0x25, 0x64, 0x20, 0x20, 0x6E, 0x75, 0x6D, 0x20, 0x25, 0x64, 0x20, 0x20, 0x74, 0x69, 0x6D .byte 0x65, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020995BC _020995BC: .byte 0x62, 0x67, 0x6D, 0x20, 0x63, 0x68, 0x61, 0x6E .byte 0x67, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00 .global _020995D0 _020995D0: .byte 0x62, 0x67, 0x6D, 0x32 .byte 0x20, 0x70, 0x6C, 0x61, 0x79, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33 .byte 0x64, 0x00, 0x00, 0x00 .global _020995E8 _020995E8: .byte 0x62, 0x67, 0x6D, 0x32, 0x20, 0x73, 0x74, 0x6F, 0x70, 0x20, 0x25, 0x33 .byte 0x64, 0x00, 0x00, 0x00 .global _020995F8 _020995F8: .byte 0x62, 0x67, 0x6D, 0x32, 0x20, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x20 .byte 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00 .global _0209960C _0209960C: .byte 0x6D, 0x65, 0x20, 0x70, 0x6C, 0x61, 0x79, 0x20 .byte 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00 .global _02099620 _02099620: .byte 0x53, 0x4F, 0x55, 0x4E .byte 0x44, 0x2F, 0x4D, 0x45, 0x2F, 0x6D, 0x65, 0x25, 0x30, 0x34, 0x64, 0x2E, 0x73, 0x6D, 0x64, 0x00 .global _02099634 _02099634: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x4D, 0x45, 0x2F, 0x6D, 0x65, 0x2E, 0x73, 0x77, 0x64, 0x00 .global _02099644 _02099644: .byte 0x6D, 0x65, 0x20, 0x73, 0x74, 0x6F, 0x70, 0x20, 0x25, 0x33, 0x64, 0x00 .global _02099650 _02099650: .byte 0x73, 0x65, 0x20, 0x70 .byte 0x6C, 0x61, 0x79, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00 .global _02099660 _02099660: .byte 0x73, 0x65, 0x20, 0x70 .byte 0x6C, 0x61, 0x79, 0x20, 0x66, 0x75, 0x6C, 0x6C, 0x20, 0x73, 0x70, 0x65, 0x63, 0x20, 0x25, 0x33 .byte 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00 .global _02099684 _02099684: .byte 0x73, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x20, 0x76, 0x6F, 0x6C, 0x75, 0x6D, 0x65 .byte 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00 .global _020996A4 _020996A4: .byte 0x73, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x20, 0x70, 0x61, 0x6E, 0x20, 0x25, 0x33 .byte 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00, 0x00, 0x00 .global _020996C0 _020996C0: .byte 0x73, 0x65, 0x20, 0x73 .byte 0x74, 0x6F, 0x70, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x00, 0xC0, 0xFF, 0xC0, 0xFF .byte 0x00, 0x01, 0xC0, 0x00 .global _020996D8 _020996D8: .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020996E0 _020996E0: .byte 0x41, 0x6E, 0x69, 0x6D .byte 0x65, 0x43, 0x74, 0x72, 0x6C, 0x5F, 0x53, 0x65, 0x74, 0x56, 0x72, 0x61, 0x6D, 0x4E, 0x6F, 0x54 .byte 0x72, 0x61, 0x6E, 0x73, 0x20, 0x3A, 0x20, 0x61, 0x6E, 0x69, 0x6D, 0x65, 0x20, 0x66, 0x69, 0x6C .byte 0x65, 0x20, 0x6E, 0x6F, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x2E, 0x00, 0x00, 0x00 .global _02099714 _02099714: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x00, 0x00, 0x00 .global _0209971C _0209971C: .byte 0x57, 0x54, 0x45, 0x00 .global _02099720 _02099720: .byte 0x57, 0x54, 0x55, 0x00 .global _02099724 _02099724: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _02099734 _02099734: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .global _02099744 _02099744: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .global _02099764 _02099764: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .global _02099784 _02099784: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .global _020997A4 _020997A4: .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .global _020997B4 _020997B4: .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .global _020997C0 _020997C0: .byte 0x45, 0x00, 0x00, 0x00 .global _020997C4 _020997C4: .byte 0x4F, 0x00, 0x00, 0x00 .global _020997C8 _020997C8: .byte 0x45, 0x32, 0x00, 0x00 .global _020997CC _020997CC: .byte 0x45, 0x52, 0x00, 0x00 .global _020997D0 _020997D0: .byte 0x52, 0x45, 0x00, 0x00 .global _020997D4 _020997D4: .byte 0x52, 0x51, 0x00, 0x00 .global _020997D8 _020997D8: .byte 0x45, 0x31, 0x00, 0x00 .global _020997DC _020997DC: .byte 0x53, 0x31, 0x00, 0x00 .global _020997E0 _020997E0: .byte 0x53, 0x32, 0x00, 0x00 .global _020997E4 _020997E4: .byte 0x8B, 0x87, 0x8C, 0x87 .word _020998F8 .byte 0x1C, 0x09, 0x00, 0x00 .word _020998F8 .byte 0x9D, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x92, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x72, 0x08, 0x00, 0x00 .word _020998F8 .byte 0xAC, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x42, 0x09, 0x00, 0x00 .word _020998F8 .byte 0xB6, 0x09, 0x00, 0x00 .word _020998F8 .byte 0xBA, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x6D, 0x06, 0x00, 0x00 .word _020998F8 .byte 0xFE, 0x07, 0x00, 0x00 .word _020998F8 .byte 0x69, 0x06, 0x00, 0x00 .word _020998F8 .byte 0x60, 0x06, 0x00, 0x00 .word _020998F8 .byte 0x5A, 0x06, 0x00, 0x00 .word _020998F8 .byte 0x47, 0x06, 0x00, 0x00 .word _020998F8 .byte 0x29, 0x06, 0x00, 0x00 .word _020998F8 .byte 0x17, 0x06, 0x00, 0x00 .word _020998F8 .byte 0xF6, 0x05, 0x00, 0x00 .word _020998F8 .byte 0xBD, 0x05, 0x00, 0x00 .word _020998F8 .byte 0x61, 0x05, 0x00, 0x00 .word _020998F8 .byte 0x49, 0x05, 0x00, 0x00 .word _020998F8 .byte 0xCC, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x7D, 0x09, 0x00, 0x00 .word _020998F8 .byte 0x13, 0x08, 0x00, 0x00 .word _020998F8 .byte 0xEF, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x33, 0x08, 0x00, 0x00 .word _020998F8 .byte 0xA1, 0x09, 0x00, 0x00 .word _020998F8 .byte 0xBC, 0x09, 0x00, 0x00 .word _020998F8 .byte 0x51, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x94, 0x04, 0x00, 0x00 .word _020998F8 .byte 0x09, 0x09, 0x00, 0x00 .word _020998F8 .byte 0x1C, 0x05, 0x00, 0x00 .word _020998F8 .byte 0x29, 0x05, 0x00, 0x00 .word _020998F8 .byte 0x63, 0x08, 0x00, 0x00 .word _020998F8 .byte 0x01, 0x0A, 0x00, 0x00 .global _020998F8 _020998F8: .byte 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5F, 0x61, 0x6E, 0x61, 0x6C .byte 0x79, 0x7A, 0x65, 0x2E, 0x63, 0x00, 0x00, 0x00 .global _0209990C _0209990C: .word _020997CC .byte 0x96, 0x00, 0x00, 0x00 .word _020997D0 .byte 0x97, 0x00, 0x00, 0x00 .word _020997C4 .byte 0xBA, 0x00, 0x00, 0x00 .word _020997C0 .byte 0x8D, 0x00, 0x00, 0x00 .word _020997D4 .byte 0xBF, 0x00, 0x00, 0x00 .word _020997DC .byte 0x91, 0x00, 0x00, 0x00 .word _020997D8 .byte 0x92, 0x00, 0x00, 0x00 .word _020997E0 .byte 0x93, 0x00, 0x00, 0x00 .word _020997C8 .byte 0x94, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209995C _0209995C: .word _020997CC .byte 0x96, 0x00, 0x00, 0x00 .word _020997D0 .byte 0x97, 0x00, 0x00, 0x00 .word _020997C4 .byte 0xBA, 0x00, 0x00, 0x00 .word _020997C0 .byte 0x8D, 0x00, 0x00, 0x00 .word _020997D4 .byte 0xBF, 0x00, 0x00, 0x00 .word _020997DC .byte 0xB8, 0x00, 0x00, 0x00 .word _020997D8 .byte 0x91, 0x00, 0x00, 0x00 .word _020997E0 .byte 0xB7, 0x00, 0x00, 0x00 .word _020997C8 .byte 0x93, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020999AC _020999AC: .byte 0x42, 0x41, 0x52, 0x00 .global _020999B0 _020999B0: .byte 0x74, 0x61, 0x67, 0x20 .byte 0x63, 0x6F, 0x64, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x5B, 0x25, 0x73, 0x5D, 0x5B .byte 0x25, 0x73, 0x5D, 0x00 .global _020999C8 _020999C8: .byte 0x43, 0x53, 0x00, 0x00 .global _020999CC _020999CC: .byte 0x43, 0x52, 0x00, 0x00 .global _020999D0 _020999D0: .byte 0x43, 0x4E, 0x00, 0x00 .global _020999D4 _020999D4: .byte 0x43, 0x00, 0x00, 0x00 .global _020999D8 _020999D8: .byte 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00 .global _020999E4 _020999E4: .byte 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x4F, 0x46, 0x46, 0x53, 0x45, 0x54, 0x00 .global _020999F0 _020999F0: .byte 0x48, 0x52, 0x00, 0x00 .global _020999F4 _020999F4: .byte 0x46, 0x00, 0x00, 0x00 .global _020999F8 _020999F8: .byte 0x46, 0x54, 0x00, 0x00 .global _020999FC _020999FC: .byte 0x4B, 0x00, 0x00, 0x00 .global _02099A00 _02099A00: .byte 0x4C, 0x53, 0x00, 0x00 .global _02099A04 _02099A04: .byte 0x4C, 0x45, 0x00, 0x00 .global _02099A08 _02099A08: .byte 0x4C, 0x49, 0x4E, 0x45, 0x00, 0x00, 0x00, 0x00 .global _02099A10 _02099A10: .byte 0x4D, 0x00, 0x00, 0x00 .global _02099A14 _02099A14: .byte 0x4D, 0x53, 0x00, 0x00 .global _02099A18 _02099A18: .byte 0x4D, 0x50, 0x00, 0x00 .global _02099A1C _02099A1C: .byte 0x4D, 0x45, 0x5F, 0x50, 0x4C, 0x41, 0x59, 0x00 .global _02099A24 _02099A24: .byte 0x50, 0x00, 0x00, 0x00 .global _02099A28 _02099A28: .byte 0x52, 0x00, 0x00, 0x00 .global _02099A2C _02099A2C: .byte 0x53, 0x00, 0x00, 0x00 .global _02099A30 _02099A30: .byte 0x53, 0x54, 0x53, 0x00 .global _02099A34 _02099A34: .byte 0x53, 0x54, 0x45, 0x00 .global _02099A38 _02099A38: .byte 0x53, 0x45, 0x5F, 0x50, 0x4C, 0x41, 0x59, 0x00 .global _02099A40 _02099A40: .byte 0x57, 0x00, 0x00, 0x00 .global _02099A44 _02099A44: .byte 0x61, 0x6E, 0x61, 0x6C, 0x79, 0x7A, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x5B, 0x25 .byte 0x73, 0x5D, 0x5B, 0x25, 0x73, 0x5D, 0x00, 0x00 .global _02099A5C _02099A5C: .byte 0x5B, 0x53, 0x54, 0x53, 0x5D, 0x00, 0x00, 0x00 .global _02099A64 _02099A64: .byte 0x5B, 0x4D, 0x3A, 0x54, 0x30, 0x5D, 0x5B, 0x53, 0x54, 0x45, 0x5D, 0x00 .global _02099A70 _02099A70: .byte 0x00, 0x00, 0x00, 0x00 .global _02099A74 _02099A74: .byte 0x61, 0x72, 0x65, 0x61, 0x00, 0x00, 0x00, 0x00 .global _02099A7C _02099A7C: .byte 0x61, 0x64, 0x76, 0x65, 0x72, 0x62, 0x00, 0x00 .global _02099A84 _02099A84: .byte 0x62, 0x61, 0x6E, 0x6B, 0x00, 0x00, 0x00, 0x00 .global _02099A8C _02099A8C: .byte 0x62, 0x61, 0x6E, 0x6B, 0x5F, 0x6C, 0x65, 0x66 .byte 0x74, 0x00, 0x00, 0x00 .global _02099A98 _02099A98: .byte 0x63, 0x5F, 0x6B, 0x69, 0x6E, 0x64, 0x00, 0x00 .global _02099AA0 _02099AA0: .byte 0x63, 0x5F, 0x69, 0x00 .global _02099AA4 _02099AA4: .byte 0x63, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x00 .global _02099AAC _02099AAC: .byte 0x63, 0x5F, 0x73, 0x74, 0x61, 0x6D, 0x6D, 0x65 .byte 0x72, 0x00, 0x00, 0x00 .global _02099AB8 _02099AB8: .byte 0x63, 0x6C, 0x61, 0x73, 0x73, 0x00, 0x00, 0x00 .global _02099AC0 _02099AC0: .byte 0x83, 0x4E, 0x83, 0x89 .byte 0x83, 0x58, 0x00, 0x00 .global _02099AC8 _02099AC8: .byte 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x00, 0x00 .global _02099AD0 _02099AD0: .byte 0x25, 0x64, 0x00, 0x00 .global _02099AD4 _02099AD4: .byte 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x5F, 0x63, 0x00, 0x00, 0x00, 0x00 .global _02099AE0 _02099AE0: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x56, 0x5D, 0x25, 0x64, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099AF0 _02099AF0: .byte 0x64, 0x75, 0x6E, 0x67 .byte 0x65, 0x6F, 0x6E, 0x00 .global _02099AF8 _02099AF8: .byte 0x65, 0x71, 0x75, 0x69, 0x70, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x00, 0x00 .global _02099B04 _02099B04: .byte 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6E, 0x63, 0x65, 0x00, 0x00 .global _02099B10 _02099B10: .byte 0x66, 0x6C, 0x6F, 0x6F .byte 0x72, 0x00, 0x00, 0x00 .global _02099B18 _02099B18: .byte 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x62, 0x61, 0x67, 0x00, 0x00 .global _02099B24 _02099B24: .byte 0x67, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x00, 0x00 .global _02099B2C _02099B2C: .byte 0x67, 0x6F, 0x6C, 0x64, 0x00, 0x00, 0x00, 0x00 .global _02099B34 _02099B34: .byte 0x67, 0x6F, 0x6C, 0x64, 0x5F, 0x6C, 0x65, 0x66, 0x74, 0x00, 0x00, 0x00 .global _02099B40 _02099B40: .byte 0x68, 0x65, 0x72, 0x6F .byte 0x00, 0x00, 0x00, 0x00 .global _02099B48 _02099B48: .byte 0x69, 0x74, 0x65, 0x6D, 0x00, 0x00, 0x00, 0x00 .global _02099B50 _02099B50: .byte 0x6B, 0x69, 0x6E, 0x64 .byte 0x00, 0x00, 0x00, 0x00 .global _02099B58 _02099B58: .byte 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00 .global _02099B60 _02099B60: .byte 0x6E, 0x6F, 0x77, 0x5F .byte 0x74, 0x65, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x00 .global _02099B6C _02099B6C: .byte 0x6D, 0x6F, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00 .global _02099B74 _02099B74: .byte 0x6D, 0x65, 0x5F, 0x70, 0x6C, 0x61, 0x79, 0x00 .global _02099B7C _02099B7C: .byte 0x5B, 0x4D, 0x45, 0x5F, 0x50, 0x4C, 0x41, 0x59 .byte 0x3A, 0x25, 0x64, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099B8C _02099B8C: .byte 0x6D, 0x6F, 0x76, 0x65, 0x5F, 0x68, 0x69, 0x74 .byte 0x5F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x00, 0x00 .global _02099B9C _02099B9C: .byte 0x6D, 0x6F, 0x76, 0x65, 0x5F, 0x70, 0x6F, 0x77 .byte 0x65, 0x72, 0x00, 0x00 .global _02099BA8 _02099BA8: .byte 0x70, 0x61, 0x72, 0x74, 0x6E, 0x65, 0x72, 0x00 .global _02099BB0 _02099BB0: .byte 0x70, 0x61, 0x72, 0x74 .byte 0x6E, 0x65, 0x72, 0x32, 0x00, 0x00, 0x00, 0x00 .global _02099BBC _02099BBC: .byte 0x70, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x00, 0x00 .global _02099BC4 _02099BC4: .byte 0x70, 0x75, 0x72, 0x70, 0x6F, 0x73, 0x65, 0x00 .global _02099BCC _02099BCC: .byte 0x72, 0x61, 0x6E, 0x6B, 0x00, 0x00, 0x00, 0x00 .global _02099BD4 _02099BD4: .byte 0x72, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x00, 0x00 .global _02099BDC _02099BDC: .byte 0x73, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x00, 0x00 .global _02099BE4 _02099BE4: .byte 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x30, 0x00 .global _02099BEC _02099BEC: .byte 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x00 .global _02099BF4 _02099BF4: .byte 0x73, 0x65, 0x5F, 0x70, 0x6C, 0x61, 0x79, 0x00 .global _02099BFC _02099BFC: .byte 0x5B, 0x53, 0x45, 0x5F, 0x50, 0x4C, 0x41, 0x59 .byte 0x3A, 0x25, 0x64, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099C0C _02099C0C: .byte 0x74, 0x79, 0x70, 0x65, 0x00, 0x00, 0x00, 0x00 .global _02099C14 _02099C14: .byte 0x74, 0x72, 0x61, 0x70, 0x00, 0x00, 0x00, 0x00 .global _02099C1C _02099C1C: .byte 0x74, 0x61, 0x63, 0x74, 0x69, 0x63, 0x73, 0x00 .global _02099C24 _02099C24: .byte 0x74, 0x65, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x00 .global _02099C2C _02099C2C: .byte 0x74, 0x69, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00 .global _02099C34 _02099C34: .byte 0x25, 0x64, 0x3A, 0x25, 0x30, 0x32, 0x64, 0x3A, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00, 0x00 .global _02099C44 _02099C44: .byte 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x00, 0x00 .global _02099C4C _02099C4C: .byte 0x76, 0x61, 0x6C, 0x75, 0x65, 0x30, 0x00, 0x00 .global _02099C54 _02099C54: .byte 0x25, 0x30, 0x2A, 0x64, 0x00, 0x00, 0x00, 0x00 .global _02099C5C _02099C5C: .byte 0x5B, 0x53, 0x3A, 0x30, 0x30, 0x5D, 0x25, 0x73 .byte 0x00, 0x00, 0x00, 0x00 .global _02099C68 _02099C68: .byte 0x76, 0x61, 0x6C, 0x75, 0x65, 0x5F, 0x69, 0x00 .global _02099C70 _02099C70: .byte 0x77, 0x65, 0x61, 0x74 .byte 0x68, 0x65, 0x72, 0x00 .global _02099C78 _02099C78: .byte 0x77, 0x69, 0x73, 0x65, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x00, 0x00, 0x00 .global _02099C84 _02099C84: .byte 0x74, 0x61, 0x67, 0x20, 0x63, 0x6F, 0x64, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x25 .byte 0x30, 0x32, 0x78, 0x20, 0x25, 0x63, 0x20, 0x5B, 0x25, 0x73, 0x5D, 0x00 .global _02099CA0 _02099CA0: .byte 0xBD, 0xBE, 0x2D, 0x00 .global _02099CA4 _02099CA4: .byte 0x3C, 0x00, 0x3D, 0x00, 0xFF, 0xFF, 0x00, 0x00 .global _02099CAC _02099CAC: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _02099CB8 _02099CB8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _02099CC4 _02099CC4: .byte 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0xFF, 0xFF .global MOVE_POWER_STARS_TABLE MOVE_POWER_STARS_TABLE: .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .global MOVE_ACCURACY_STARS_TABLE MOVE_ACCURACY_STARS_TABLE: .byte 0x1E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x5F, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00 .global _02099D0C _02099D0C: .byte 0x25, 0x64, 0x00, 0x00 .global _02099D10 _02099D10: .byte 0x5B, 0x4D, 0x53, 0x3A .byte 0x25, 0x64, 0x5D, 0x25, 0x73, 0x00, 0x00, 0x00 .global _02099D1C _02099D1C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4B, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099D2C _02099D2C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4E, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099D3C _02099D3C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4B, 0x5D, 0x5B, 0x4D .byte 0x3A, 0x54, 0x31, 0x5D, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099D50 _02099D50: .byte 0x00, 0x00, 0x00, 0x00 .global _02099D54 _02099D54: .byte 0x5B, 0x43, 0x53, 0x3A, 0x59, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099D64 _02099D64: .byte 0x5B, 0x43, 0x53, 0x3A, 0x46, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099D74 _02099D74: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4D, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099D84 _02099D84: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x00, 0x00 .global _02099D8C _02099D8C: .byte 0x25, 0x73, 0x00, 0x00 .global _02099D90 _02099D90: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x48, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099DA0 _02099DA0: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x56, 0x5D, 0x25, 0x64, 0x5B, 0x43, 0x52, 0x5D, 0x46, 0x00, 0x00, 0x00 .global _02099DB0 _02099DB0: .byte 0x42, 0x5B, 0x43, 0x53 .byte 0x3A, 0x56, 0x5D, 0x25, 0x64, 0x5B, 0x43, 0x52, 0x5D, 0x46, 0x00, 0x00 .global _02099DC0 _02099DC0: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x50, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _02099DD0 _02099DD0: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x50, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x20, 0x20, 0x5B, 0x43, 0x53, 0x3A, 0x56, 0x5D .byte 0x25, 0x64, 0x5B, 0x43, 0x52, 0x5D, 0x46, 0x00 .global _02099DEC _02099DEC: .byte 0x5B, 0x43, 0x53, 0x3A, 0x50, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x20, 0x42, 0x5B, 0x43, 0x53, 0x3A, 0x56, 0x5D, 0x25, 0x64, 0x5B, 0x43 .byte 0x52, 0x5D, 0x46, 0x00 .global _02099E08 _02099E08: .byte 0x5B, 0x43, 0x53, 0x3A, 0x58, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D .byte 0x00, 0x00, 0x00, 0x00 .global _02099E18 _02099E18: .byte 0x5B, 0x42, 0x41, 0x52, 0x5D, 0x00, 0x00, 0x00 .global _02099E20 _02099E20: .byte 0x0A, 0x5B, 0x43, 0x4C .byte 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x36, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x4C, 0x55 .byte 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x39, 0x36, 0x5D, 0x25, 0x73, 0x00 .global _02099E40 _02099E40: .byte 0x0A, 0x00, 0x00, 0x00 .global _02099E44 _02099E44: .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 .byte 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10 .byte 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18 .byte 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20 .byte 0x00, 0x01, 0x00, 0x0A, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x06 .byte 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, 0x00, 0x3D .byte 0x00, 0x5F, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66 .byte 0x00, 0x67, 0x00, 0x68, 0x00, 0x12, 0x00, 0x3F, 0x00, 0x52, 0x00, 0x54, 0x00, 0x55, 0x00, 0x0B .byte 0x00, 0x1A, 0x00, 0x69, 0x00, 0x79, 0x00, 0x7B, 0x00, 0x7F, 0x00, 0x83, 0x00, 0x8D, 0x00, 0x8F .byte 0x00, 0x91, 0x00, 0x93, 0x00, 0x9D, 0x00, 0x9F, 0x00, 0xA1, 0x00, 0xA3, 0x00, 0xA5, 0x00, 0xA9 .byte 0x00, 0xB9, 0x00, 0xBB, 0x00, 0xBD, 0x00, 0xBF, 0x00, 0xC4, 0x00, 0xC8, 0x00, 0xD2, 0x00, 0xD4 .byte 0x00, 0xD6, 0x00, 0xD8, 0x00, 0xDE, 0x00, 0x42, 0x00, 0x5B, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45 .byte 0x00, 0x46, 0x01, 0x69, 0x01, 0x79, 0x01, 0x7B, 0x01, 0x7F, 0x01, 0x83, 0x01, 0x8D, 0x01, 0x8F .byte 0x01, 0x91, 0x01, 0x93, 0x01, 0x9D, 0x01, 0x9F, 0x01, 0xA1, 0x01, 0xA3, 0x01, 0xA5, 0x01, 0xA9 .byte 0x01, 0xB9, 0x01, 0xBB, 0x01, 0xBD, 0x01, 0xBF, 0x01, 0xC4, 0x01, 0xC8, 0x01, 0xD2, 0x01, 0xD4 .byte 0x01, 0xD6, 0x01, 0xD8, 0x01, 0xDE, 0x00, 0x42, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x01 .byte 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x05, 0x00, 0x17, 0x00, 0x0B, 0x00, 0x0C .byte 0x00, 0x0D, 0x00, 0x0E, 0x02, 0xBF, 0x00, 0x53, 0x00, 0xB0, 0x00, 0x0F, 0x02, 0xDE, 0x00, 0x10 .byte 0x00, 0x11, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14 .byte 0x00, 0x15, 0x00, 0x16, 0x03, 0xBF, 0x00, 0x18, 0x01, 0xB0, 0x00, 0x19, 0x03, 0xDE, 0x04, 0xD8 .byte 0x00, 0x01, 0x00, 0x0C, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5C, 0x00, 0x1B, 0x00, 0x5D .byte 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x08, 0x00, 0x21, 0x00, 0x22 .byte 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A .byte 0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x19, 0x00, 0x18, 0x00, 0x0D .byte 0x04, 0x69, 0x02, 0x69, 0x06, 0x69, 0x0A, 0x69, 0x08, 0x69, 0x0C, 0x69, 0x00, 0x6A, 0x02, 0x7B .byte 0x04, 0x83, 0x02, 0x83, 0x06, 0x83, 0x08, 0x83, 0x04, 0x93, 0x02, 0x93, 0x06, 0x93, 0x08, 0x93 .byte 0x00, 0x80, 0x02, 0xA5, 0x04, 0xA9, 0x02, 0xA9, 0x06, 0xA9, 0x09, 0xA9, 0x07, 0xA9, 0x00, 0x56 .byte 0x0B, 0xA9, 0x04, 0xC8, 0x06, 0xC8, 0x08, 0xC8, 0x0A, 0xC8, 0x02, 0xD8, 0x00, 0xC6, 0x00, 0xC3 .byte 0x05, 0x69, 0x03, 0x69, 0x07, 0x69, 0x0B, 0x69, 0x09, 0x69, 0x0D, 0x69, 0x01, 0x6A, 0x03, 0x7B .byte 0x05, 0x83, 0x03, 0x83, 0x07, 0x83, 0x09, 0x83, 0x05, 0x93, 0x03, 0x93, 0x07, 0x93, 0x09, 0x93 .byte 0x01, 0x80, 0x03, 0xA5, 0x05, 0xA9, 0x03, 0xA9, 0x07, 0xA9, 0x0A, 0xA9, 0x08, 0xA9, 0x00, 0x57 .byte 0x0C, 0xA9, 0x05, 0xC8, 0x07, 0xC8, 0x09, 0xC8, 0x0B, 0xC8, 0x03, 0xD8, 0x01, 0xC6, 0x05, 0xD8 .global _0209A044 _0209A044: .byte 0x20, 0x00 .global _0209A046 _0209A046: .byte 0x20, 0x00, 0x21, 0x00, 0x21, 0x00, 0x22, 0x00, 0x22, 0x00, 0x23, 0x00, 0x23, 0x00 .byte 0x24, 0x00, 0x24, 0x00, 0x25, 0x00, 0x25, 0x00, 0x26, 0x00, 0x26, 0x00, 0x27, 0x00, 0x27, 0x00 .byte 0x28, 0x00, 0x28, 0x00, 0x29, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x2B, 0x00, 0x2B, 0x00 .byte 0x2C, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x2F, 0x00 .byte 0x30, 0x00, 0x30, 0x00, 0x31, 0x00, 0x31, 0x00, 0x32, 0x00, 0x32, 0x00, 0x33, 0x00, 0x33, 0x00 .byte 0x34, 0x00, 0x34, 0x00, 0x35, 0x00, 0x35, 0x00, 0x36, 0x00, 0x36, 0x00, 0x37, 0x00, 0x37, 0x00 .byte 0x38, 0x00, 0x38, 0x00, 0x39, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3B, 0x00 .byte 0x3C, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x3F, 0x00 .byte 0x40, 0x00, 0x40, 0x00, 0x41, 0x00, 0x41, 0x00, 0x42, 0x00, 0x42, 0x00, 0x43, 0x00, 0x43, 0x00 .byte 0x44, 0x00, 0x44, 0x00, 0x45, 0x00, 0x45, 0x00, 0x46, 0x00, 0x46, 0x00, 0x47, 0x00, 0x47, 0x00 .byte 0x48, 0x00, 0x48, 0x00, 0x49, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4B, 0x00 .byte 0x4C, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x4F, 0x00 .byte 0x50, 0x00, 0x50, 0x00, 0x51, 0x00, 0x51, 0x00, 0x52, 0x00, 0x52, 0x00, 0x53, 0x00, 0x53, 0x00 .byte 0x54, 0x00, 0x54, 0x00, 0x55, 0x00, 0x55, 0x00, 0x56, 0x00, 0x56, 0x00, 0x57, 0x00, 0x57, 0x00 .byte 0x58, 0x00, 0x58, 0x00, 0x59, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5B, 0x00 .byte 0xA5, 0x00, 0xA5, 0x00, 0x5D, 0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x5F, 0x00 .byte 0x60, 0x00, 0x60, 0x00, 0x61, 0x00, 0x61, 0x00, 0x62, 0x00, 0x62, 0x00, 0x63, 0x00, 0x63, 0x00 .byte 0x64, 0x00, 0x64, 0x00, 0x65, 0x00, 0x65, 0x00, 0x66, 0x00, 0x66, 0x00, 0x67, 0x00, 0x67, 0x00 .byte 0x68, 0x00, 0x68, 0x00, 0x69, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x6B, 0x00 .byte 0x6C, 0x00, 0x6C, 0x00, 0x6D, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x6F, 0x00 .byte 0x70, 0x00, 0x70, 0x00, 0x71, 0x00, 0x71, 0x00, 0x72, 0x00, 0x72, 0x00, 0x73, 0x00, 0x73, 0x00 .byte 0x74, 0x00, 0x74, 0x00, 0x75, 0x00, 0x75, 0x00, 0x76, 0x00, 0x76, 0x00, 0x77, 0x00, 0x77, 0x00 .byte 0x78, 0x00, 0x78, 0x00, 0x79, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7B, 0x00 .byte 0x7C, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7D, 0x00, 0x80, 0x00, 0x80, 0x00, 0x85, 0x00, 0x85, 0x00 .byte 0x86, 0x00, 0x86, 0x00, 0x88, 0x00, 0x88, 0x00, 0x89, 0x00, 0x89, 0x00, 0x8A, 0x00, 0x8A, 0x00 .byte 0x8B, 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8C, 0x00, 0x8D, 0x00, 0x8D, 0x00, 0x8E, 0x00, 0x8E, 0x00 .byte 0x8F, 0x00, 0x8F, 0x00, 0x90, 0x00, 0x90, 0x00, 0x91, 0x00, 0x91, 0x00, 0x92, 0x00, 0x92, 0x00 .byte 0x93, 0x00, 0x93, 0x00, 0x94, 0x00, 0x94, 0x00, 0x95, 0x00, 0x95, 0x00, 0x96, 0x00, 0x96, 0x00 .byte 0x97, 0x00, 0x97, 0x00, 0x98, 0x00, 0x98, 0x00, 0x99, 0x00, 0x99, 0x00, 0x9A, 0x00, 0x9A, 0x00 .byte 0x9B, 0x00, 0x9B, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x9D, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0x9E, 0x00 .byte 0x9F, 0x00, 0x9F, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA1, 0x00, 0xA1, 0x00, 0xA2, 0x00, 0xA2, 0x00 .byte 0xA3, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA6, 0x00 .byte 0xA7, 0x00, 0xA7, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xA9, 0x00, 0xA9, 0x00, 0xAA, 0x00, 0xAA, 0x00 .byte 0xAB, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xAC, 0x00, 0xAD, 0x00, 0xAD, 0x00, 0xAE, 0x00, 0xAE, 0x00 .byte 0xAF, 0x00, 0xAF, 0x00, 0xB0, 0x00, 0xB0, 0x00, 0xB1, 0x00, 0xB1, 0x00, 0xB2, 0x00, 0xB2, 0x00 .byte 0xB3, 0x00, 0xB3, 0x00, 0xB4, 0x00, 0xB4, 0x00, 0xB5, 0x00, 0xB5, 0x00, 0xB6, 0x00, 0xB6, 0x00 .byte 0xB7, 0x00, 0xB7, 0x00, 0xB8, 0x00, 0xB8, 0x00, 0xB9, 0x00, 0xB9, 0x00, 0xBA, 0x00, 0xBA, 0x00 .byte 0xBB, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBC, 0x00, 0xBD, 0x00, 0xBD, 0x00, 0xBE, 0x00, 0xBE, 0x00 .byte 0xBF, 0x00, 0xBF, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xC1, 0x00, 0xC2, 0x00, 0xC2, 0x00 .byte 0xC3, 0x00, 0xC3, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xC6, 0x00 .byte 0xC7, 0x00, 0xC7, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0xC9, 0x00, 0xC9, 0x00, 0xCA, 0x00, 0xCA, 0x00 .byte 0xCB, 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0xCD, 0x00, 0xCD, 0x00, 0xCE, 0x00, 0xCE, 0x00 .byte 0xCF, 0x00, 0xCF, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD1, 0x00, 0xD1, 0x00, 0xD2, 0x00, 0xD2, 0x00 .byte 0xD3, 0x00, 0xD3, 0x00, 0xD4, 0x00, 0xD4, 0x00, 0xD5, 0x00, 0xD5, 0x00, 0xD6, 0x00, 0xD6, 0x00 .byte 0xD7, 0x00, 0xD7, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0xD9, 0x00, 0xD9, 0x00, 0xDA, 0x00, 0xDA, 0x00 .byte 0xDB, 0x00, 0xDB, 0x00, 0xDC, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDD, 0x00, 0xDE, 0x00, 0xDE, 0x00 .byte 0xDF, 0x00, 0xDF, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE2, 0x00 .byte 0xE3, 0x00, 0xE3, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xE6, 0x00 .byte 0xE7, 0x00, 0xE7, 0x00, 0xE8, 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEA, 0x00 .byte 0xEB, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xEE, 0x00 .byte 0xEF, 0x00, 0xEF, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF2, 0x00 .byte 0xF3, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF6, 0x00, 0xF6, 0x00 .byte 0xF7, 0x00, 0xF7, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFA, 0x00 .byte 0xFB, 0x00, 0xFB, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0xFE, 0x00, 0xFE, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00, 0x3E, 0x20, 0x3E, 0x20, 0xA8, 0x81, 0x92, 0x21, 0xF4, 0x81, 0x6A, 0x26 .global _0209A3B4 _0209A3B4: .byte 0x20, 0x00 .global _0209A3B6 _0209A3B6: .byte 0x20, 0x00, 0x21, 0x00, 0x21, 0x00, 0x22, 0x00, 0x22, 0x00, 0x23, 0x00, 0x23, 0x00 .byte 0x24, 0x00, 0x24, 0x00, 0x25, 0x00, 0x25, 0x00, 0x26, 0x00, 0x26, 0x00, 0x27, 0x00, 0x27, 0x00 .byte 0x28, 0x00, 0x28, 0x00, 0x29, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x2B, 0x00, 0x2B, 0x00 .byte 0x2C, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x2F, 0x00 .byte 0x30, 0x00, 0x30, 0x00, 0x31, 0x00, 0x31, 0x00, 0x32, 0x00, 0x32, 0x00, 0x33, 0x00, 0x33, 0x00 .byte 0x34, 0x00, 0x34, 0x00, 0x35, 0x00, 0x35, 0x00, 0x36, 0x00, 0x36, 0x00, 0x37, 0x00, 0x37, 0x00 .byte 0x38, 0x00, 0x38, 0x00, 0x39, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3B, 0x00 .byte 0x3C, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x3F, 0x00 .byte 0x40, 0x00, 0x40, 0x00, 0x41, 0x00, 0x41, 0x00, 0x42, 0x00, 0x42, 0x00, 0x43, 0x00, 0x43, 0x00 .byte 0x44, 0x00, 0x44, 0x00, 0x45, 0x00, 0x45, 0x00, 0x46, 0x00, 0x46, 0x00, 0x47, 0x00, 0x47, 0x00 .byte 0x48, 0x00, 0x48, 0x00, 0x49, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4B, 0x00 .byte 0x4C, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x4F, 0x00 .byte 0x50, 0x00, 0x50, 0x00, 0x51, 0x00, 0x51, 0x00, 0x52, 0x00, 0x52, 0x00, 0x53, 0x00, 0x53, 0x00 .byte 0x54, 0x00, 0x54, 0x00, 0x55, 0x00, 0x55, 0x00, 0x56, 0x00, 0x56, 0x00, 0x57, 0x00, 0x57, 0x00 .byte 0x58, 0x00, 0x58, 0x00, 0x59, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x3F, 0x00 .byte 0x5C, 0x00, 0x5C, 0x00, 0x5E, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x60, 0x00 .byte 0x61, 0x00, 0x61, 0x00, 0x62, 0x00, 0x62, 0x00, 0x63, 0x00, 0x63, 0x00, 0x64, 0x00, 0x64, 0x00 .byte 0x65, 0x00, 0x65, 0x00, 0x66, 0x00, 0x66, 0x00, 0x67, 0x00, 0x67, 0x00, 0x68, 0x00, 0x68, 0x00 .byte 0x69, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x6B, 0x00, 0x6C, 0x00, 0x6C, 0x00 .byte 0x6D, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x70, 0x00 .byte 0x71, 0x00, 0x71, 0x00, 0x72, 0x00, 0x72, 0x00, 0x73, 0x00, 0x73, 0x00, 0x74, 0x00, 0x74, 0x00 .byte 0x75, 0x00, 0x75, 0x00, 0x76, 0x00, 0x76, 0x00, 0x77, 0x00, 0x77, 0x00, 0x78, 0x00, 0x78, 0x00 .byte 0x79, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7C, 0x00 .byte 0x7D, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0xA1, 0x00, 0xA1, 0x00, 0xA2, 0x00, 0xA2, 0x00 .byte 0xA3, 0x00, 0xA3, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xA9, 0x00, 0xA9, 0x00, 0xAE, 0x00, 0xAE, 0x00 .byte 0xB0, 0x00, 0xB0, 0x00, 0xB1, 0x00, 0xB1, 0x00, 0xB4, 0x00, 0xB4, 0x00, 0xB7, 0x00, 0x8F, 0x00 .byte 0xBF, 0x00, 0xBF, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xC1, 0x00, 0xC2, 0x00, 0xC2, 0x00 .byte 0xC3, 0x00, 0xC3, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xC6, 0x00 .byte 0xC7, 0x00, 0xC7, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0xC9, 0x00, 0xC9, 0x00, 0xCA, 0x00, 0xCA, 0x00 .byte 0xCB, 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0xCD, 0x00, 0xCD, 0x00, 0xCE, 0x00, 0xCE, 0x00 .byte 0xCF, 0x00, 0xCF, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD1, 0x00, 0xD1, 0x00, 0xD2, 0x00, 0xD2, 0x00 .byte 0xD3, 0x00, 0xD3, 0x00, 0xD4, 0x00, 0xD4, 0x00, 0xD5, 0x00, 0xD5, 0x00, 0xD6, 0x00, 0xD6, 0x00 .byte 0xD7, 0x00, 0xD7, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0xD9, 0x00, 0xD9, 0x00, 0xDA, 0x00, 0xDA, 0x00 .byte 0xDB, 0x00, 0xDB, 0x00, 0xDC, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDD, 0x00, 0xDF, 0x00, 0xDF, 0x00 .byte 0xE0, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE3, 0x00 .byte 0xE4, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xE6, 0x00, 0xE7, 0x00, 0xE7, 0x00 .byte 0xE8, 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEB, 0x00 .byte 0xEC, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xEF, 0x00 .byte 0xF0, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF3, 0x00 .byte 0xF4, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0xF5, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF7, 0x00, 0xF7, 0x00 .byte 0xF8, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFB, 0x00 .byte 0xFC, 0x00, 0xFC, 0x00, 0xFD, 0x00, 0xFD, 0x00, 0x52, 0x01, 0x8C, 0x00, 0x53, 0x01, 0x89, 0x00 .byte 0xC6, 0x02, 0x5E, 0x00, 0xDC, 0x02, 0x3F, 0x00, 0x10, 0x20, 0x2D, 0x00, 0x15, 0x20, 0x3F, 0x00 .byte 0x18, 0x20, 0x91, 0x00, 0x19, 0x20, 0x92, 0x00, 0x1A, 0x20, 0x3F, 0x00, 0x1C, 0x20, 0x93, 0x00 .byte 0x1D, 0x20, 0x94, 0x00, 0x1E, 0x20, 0x3F, 0x00, 0x22, 0x20, 0x8F, 0x00, 0x26, 0x20, 0x85, 0x00 .byte 0x32, 0x20, 0xB4, 0x00, 0x33, 0x20, 0x22, 0x00, 0x3A, 0x20, 0x3E, 0x00, 0x3B, 0x20, 0x3F, 0x00 .byte 0xAC, 0x20, 0x3F, 0x00, 0x22, 0x21, 0x99, 0x00, 0x90, 0x21, 0x3F, 0x00, 0x91, 0x21, 0x3F, 0x00 .byte 0x92, 0x21, 0x3F, 0x00, 0x93, 0x21, 0x3F, 0x00, 0x1E, 0x22, 0x3F, 0x00, 0x34, 0x22, 0x3F, 0x00 .byte 0xA0, 0x25, 0x3F, 0x00, 0xA1, 0x25, 0x3F, 0x00, 0xB2, 0x25, 0x3F, 0x00, 0xB3, 0x25, 0x3F, 0x00 .byte 0xBC, 0x25, 0x3F, 0x00, 0xBD, 0x25, 0x3F, 0x00, 0xC6, 0x25, 0x3F, 0x00, 0xC7, 0x25, 0x3F, 0x00 .byte 0xCB, 0x25, 0x3F, 0x00, 0xCE, 0x25, 0x3F, 0x00, 0xCF, 0x25, 0x3F, 0x00, 0x05, 0x26, 0x3F, 0x00 .byte 0x06, 0x26, 0x3F, 0x00, 0x6A, 0x26, 0xF4, 0x81, 0x6D, 0x26, 0x3F, 0x00, 0x6F, 0x26, 0x23, 0x00 .byte 0x00, 0x30, 0x20, 0x00, 0x01, 0x30, 0x3F, 0x00, 0x02, 0x30, 0x3F, 0x00, 0x05, 0x30, 0x3F, 0x00 .byte 0x08, 0x30, 0x3C, 0x00, 0x09, 0x30, 0x3E, 0x00, 0x0C, 0x30, 0x3F, 0x00, 0x0D, 0x30, 0x3F, 0x00 .byte 0x12, 0x30, 0x3F, 0x00, 0x14, 0x30, 0x3F, 0x00, 0x15, 0x30, 0x3F, 0x00, 0x41, 0x30, 0x3F, 0x00 .byte 0x42, 0x30, 0x3F, 0x00, 0x43, 0x30, 0x3F, 0x00, 0x44, 0x30, 0x3F, 0x00, 0x45, 0x30, 0x3F, 0x00 .byte 0x46, 0x30, 0x3F, 0x00, 0x47, 0x30, 0x3F, 0x00, 0x48, 0x30, 0x3F, 0x00, 0x49, 0x30, 0x3F, 0x00 .byte 0x4A, 0x30, 0x3F, 0x00, 0x4B, 0x30, 0x3F, 0x00, 0x4C, 0x30, 0x3F, 0x00, 0x4D, 0x30, 0x3F, 0x00 .byte 0x4E, 0x30, 0x3F, 0x00, 0x4F, 0x30, 0x3F, 0x00, 0x50, 0x30, 0x3F, 0x00, 0x51, 0x30, 0x3F, 0x00 .byte 0x52, 0x30, 0x3F, 0x00, 0x53, 0x30, 0x3F, 0x00, 0x54, 0x30, 0x3F, 0x00, 0x55, 0x30, 0x3F, 0x00 .byte 0x56, 0x30, 0x3F, 0x00, 0x57, 0x30, 0x3F, 0x00, 0x58, 0x30, 0x3F, 0x00, 0x59, 0x30, 0x3F, 0x00 .byte 0x5A, 0x30, 0x3F, 0x00, 0x5B, 0x30, 0x3F, 0x00, 0x5C, 0x30, 0x3F, 0x00, 0x5D, 0x30, 0x3F, 0x00 .byte 0x5E, 0x30, 0x3F, 0x00, 0x5F, 0x30, 0x3F, 0x00, 0x60, 0x30, 0x3F, 0x00, 0x61, 0x30, 0x3F, 0x00 .byte 0x62, 0x30, 0x3F, 0x00, 0x63, 0x30, 0x3F, 0x00, 0x64, 0x30, 0x3F, 0x00, 0x65, 0x30, 0x3F, 0x00 .byte 0x66, 0x30, 0x3F, 0x00, 0x67, 0x30, 0x3F, 0x00, 0x68, 0x30, 0x3F, 0x00, 0x69, 0x30, 0x3F, 0x00 .byte 0x6A, 0x30, 0x3F, 0x00, 0x6B, 0x30, 0x3F, 0x00, 0x6C, 0x30, 0x3F, 0x00, 0x6D, 0x30, 0x3F, 0x00 .byte 0x6E, 0x30, 0x3F, 0x00, 0x6F, 0x30, 0x3F, 0x00, 0x70, 0x30, 0x3F, 0x00, 0x71, 0x30, 0x3F, 0x00 .byte 0x72, 0x30, 0x3F, 0x00, 0x73, 0x30, 0x3F, 0x00, 0x74, 0x30, 0x3F, 0x00, 0x75, 0x30, 0x3F, 0x00 .byte 0x76, 0x30, 0x3F, 0x00, 0x77, 0x30, 0x3F, 0x00, 0x78, 0x30, 0x3F, 0x00, 0x79, 0x30, 0x3F, 0x00 .byte 0x7A, 0x30, 0x3F, 0x00, 0x7B, 0x30, 0x3F, 0x00, 0x7C, 0x30, 0x3F, 0x00, 0x7D, 0x30, 0x3F, 0x00 .byte 0x7E, 0x30, 0x3F, 0x00, 0x7F, 0x30, 0x3F, 0x00, 0x80, 0x30, 0x3F, 0x00, 0x81, 0x30, 0x3F, 0x00 .byte 0x82, 0x30, 0x3F, 0x00, 0x83, 0x30, 0x3F, 0x00, 0x84, 0x30, 0x3F, 0x00, 0x85, 0x30, 0x3F, 0x00 .byte 0x86, 0x30, 0x3F, 0x00, 0x87, 0x30, 0x3F, 0x00, 0x88, 0x30, 0x3F, 0x00, 0x89, 0x30, 0x3F, 0x00 .byte 0x8A, 0x30, 0x3F, 0x00, 0x8B, 0x30, 0x3F, 0x00, 0x8C, 0x30, 0x3F, 0x00, 0x8D, 0x30, 0x3F, 0x00 .byte 0x8E, 0x30, 0x3F, 0x00, 0x8F, 0x30, 0x3F, 0x00, 0x90, 0x30, 0x3F, 0x00, 0x91, 0x30, 0x3F, 0x00 .byte 0x92, 0x30, 0x3F, 0x00, 0x93, 0x30, 0x3F, 0x00, 0x9B, 0x30, 0x3F, 0x00, 0x9C, 0x30, 0x3F, 0x00 .byte 0x9D, 0x30, 0x3F, 0x00, 0x9E, 0x30, 0x3F, 0x00, 0xA1, 0x30, 0x3F, 0x00, 0xA2, 0x30, 0x3F, 0x00 .byte 0xA3, 0x30, 0x3F, 0x00, 0xA4, 0x30, 0x3F, 0x00, 0xA5, 0x30, 0x3F, 0x00, 0xA6, 0x30, 0x3F, 0x00 .byte 0xA7, 0x30, 0x3F, 0x00, 0xA8, 0x30, 0x3F, 0x00, 0xA9, 0x30, 0x3F, 0x00, 0xAA, 0x30, 0x3F, 0x00 .byte 0xAB, 0x30, 0x3F, 0x00, 0xAC, 0x30, 0x3F, 0x00, 0xAD, 0x30, 0x3F, 0x00, 0xAE, 0x30, 0x3F, 0x00 .byte 0xAF, 0x30, 0x3F, 0x00, 0xB0, 0x30, 0x3F, 0x00, 0xB1, 0x30, 0x3F, 0x00, 0xB2, 0x30, 0x3F, 0x00 .byte 0xB3, 0x30, 0x3F, 0x00, 0xB4, 0x30, 0x3F, 0x00, 0xB5, 0x30, 0x3F, 0x00, 0xB6, 0x30, 0x3F, 0x00 .byte 0xB7, 0x30, 0x3F, 0x00, 0xB8, 0x30, 0x3F, 0x00, 0xB9, 0x30, 0x3F, 0x00, 0xBA, 0x30, 0x3F, 0x00 .byte 0xBB, 0x30, 0x3F, 0x00, 0xBC, 0x30, 0x3F, 0x00, 0xBD, 0x30, 0x3F, 0x00, 0xBE, 0x30, 0x3F, 0x00 .byte 0xBF, 0x30, 0x3F, 0x00, 0xC0, 0x30, 0x3F, 0x00, 0xC1, 0x30, 0x3F, 0x00, 0xC2, 0x30, 0x3F, 0x00 .byte 0xC3, 0x30, 0x3F, 0x00, 0xC4, 0x30, 0x3F, 0x00, 0xC5, 0x30, 0x3F, 0x00, 0xC6, 0x30, 0x3F, 0x00 .byte 0xC7, 0x30, 0x3F, 0x00, 0xC8, 0x30, 0x3F, 0x00, 0xC9, 0x30, 0x3F, 0x00, 0xCA, 0x30, 0x3F, 0x00 .byte 0xCB, 0x30, 0x3F, 0x00, 0xCC, 0x30, 0x3F, 0x00, 0xCD, 0x30, 0x3F, 0x00, 0xCE, 0x30, 0x3F, 0x00 .byte 0xCF, 0x30, 0x3F, 0x00, 0xD0, 0x30, 0x3F, 0x00, 0xD1, 0x30, 0x3F, 0x00, 0xD2, 0x30, 0x3F, 0x00 .byte 0xD3, 0x30, 0x3F, 0x00, 0xD4, 0x30, 0x3F, 0x00, 0xD5, 0x30, 0x3F, 0x00, 0xD6, 0x30, 0x3F, 0x00 .byte 0xD7, 0x30, 0x3F, 0x00, 0xD8, 0x30, 0x3F, 0x00, 0xD9, 0x30, 0x3F, 0x00, 0xDA, 0x30, 0x3F, 0x00 .byte 0xDB, 0x30, 0x3F, 0x00, 0xDC, 0x30, 0x3F, 0x00, 0xDD, 0x30, 0x3F, 0x00, 0xDE, 0x30, 0x3F, 0x00 .byte 0xDF, 0x30, 0x3F, 0x00, 0xE0, 0x30, 0x3F, 0x00, 0xE1, 0x30, 0x3F, 0x00, 0xE2, 0x30, 0x3F, 0x00 .byte 0xE3, 0x30, 0x3F, 0x00, 0xE4, 0x30, 0x3F, 0x00, 0xE5, 0x30, 0x3F, 0x00, 0xE6, 0x30, 0x3F, 0x00 .byte 0xE7, 0x30, 0x3F, 0x00, 0xE8, 0x30, 0x3F, 0x00, 0xE9, 0x30, 0x3F, 0x00, 0xEA, 0x30, 0x3F, 0x00 .byte 0xEB, 0x30, 0x3F, 0x00, 0xEC, 0x30, 0x3F, 0x00, 0xED, 0x30, 0x3F, 0x00, 0xEE, 0x30, 0x3F, 0x00 .byte 0xEF, 0x30, 0x3F, 0x00, 0xF0, 0x30, 0x3F, 0x00, 0xF1, 0x30, 0x3F, 0x00, 0xF2, 0x30, 0x3F, 0x00 .byte 0xF3, 0x30, 0x3F, 0x00, 0xF4, 0x30, 0x3F, 0x00, 0xF5, 0x30, 0x3F, 0x00, 0xF6, 0x30, 0x3F, 0x00 .byte 0xFB, 0x30, 0x8F, 0x00, 0xFC, 0x30, 0x2D, 0x00, 0x00, 0xE0, 0x8F, 0x00, 0x01, 0xE0, 0x8F, 0x00 .byte 0x02, 0xE0, 0x8F, 0x00, 0x03, 0xE0, 0x8F, 0x00, 0x04, 0xE0, 0x8F, 0x00, 0x05, 0xE0, 0x8F, 0x00 .byte 0x06, 0xE0, 0x8F, 0x00, 0x07, 0xE0, 0x8F, 0x00, 0x08, 0xE0, 0x8F, 0x00, 0x09, 0xE0, 0x8F, 0x00 .byte 0x0A, 0xE0, 0x8F, 0x00, 0x0B, 0xE0, 0x8F, 0x00, 0x0C, 0xE0, 0x8F, 0x00, 0x0D, 0xE0, 0x8F, 0x00 .byte 0x0E, 0xE0, 0x8F, 0x00, 0x0F, 0xE0, 0x8F, 0x00, 0x10, 0xE0, 0x8F, 0x00, 0x11, 0xE0, 0x8F, 0x00 .byte 0x12, 0xE0, 0x8F, 0x00, 0x13, 0xE0, 0x8F, 0x00, 0x15, 0xE0, 0x8F, 0x00, 0x16, 0xE0, 0x8F, 0x00 .byte 0x17, 0xE0, 0x8F, 0x00, 0x18, 0xE0, 0x8F, 0x00, 0x19, 0xE0, 0x8F, 0x00, 0x1A, 0xE0, 0x8F, 0x00 .byte 0x1B, 0xE0, 0x8F, 0x00, 0x1C, 0xE0, 0x8F, 0x00, 0x28, 0xE0, 0x8F, 0x00, 0x01, 0xFF, 0x21, 0x00 .byte 0x06, 0xFF, 0x26, 0x00, 0x08, 0xFF, 0x28, 0x00, 0x09, 0xFF, 0x29, 0x00, 0x0B, 0xFF, 0x2B, 0x00 .byte 0x0C, 0xFF, 0x2C, 0x00, 0x0D, 0xFF, 0x2D, 0x00, 0x0E, 0xFF, 0x2E, 0x00, 0x0F, 0xFF, 0x2F, 0x00 .byte 0x1A, 0xFF, 0x3A, 0x00, 0x1B, 0xFF, 0x3B, 0x00, 0x1D, 0xFF, 0x3D, 0x00, 0x1F, 0xFF, 0x3F, 0x00 .byte 0x3B, 0xFF, 0x3F, 0x00, 0x3C, 0xFF, 0x3F, 0x00, 0x3D, 0xFF, 0x3F, 0x00, 0x3E, 0xFF, 0x5E, 0x00 .byte 0x3F, 0xFF, 0x5F, 0x00, 0x40, 0xFF, 0x60, 0x00, 0x5B, 0xFF, 0x7B, 0x00, 0x5C, 0xFF, 0x7C, 0x00 .byte 0x5D, 0xFF, 0x7D, 0x00, 0x5E, 0xFF, 0x3F, 0x00, 0xE3, 0xFF, 0xAF, 0x00 .global _0209AAB0 _0209AAB0: .byte 0x2F, 0x4D, 0x45, 0x53 .byte 0x53, 0x41, 0x47, 0x45, 0x2F, 0x74, 0x65, 0x78, 0x74, 0x5F, 0x65, 0x2E, 0x73, 0x74, 0x72, 0x00 .global _0209AAC4 _0209AAC4: .byte 0x2F, 0x4D, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x2F, 0x74, 0x65, 0x78, 0x74, 0x5F, 0x6A, 0x2E .byte 0x73, 0x74, 0x72, 0x00 .global _0209AAD8 _0209AAD8: .byte 0x2F, 0x4D, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x2F, 0x74, 0x62, 0x6C .byte 0x5F, 0x74, 0x61, 0x6C, 0x6B, 0x2E, 0x74, 0x6C, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AB60 _0209AB60: .byte 0xA1, 0x81, 0x0A, 0x00 .byte 0xFF, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0xFF, 0x03 .byte 0xFF, 0x03, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00 .global _0209AB7C _0209AB7C: .byte 0x73, 0x74, 0x61, 0x66, 0x66, 0x6F, 0x6E, 0x74 .byte 0x2E, 0x64, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00 .global _0209AB8C _0209AB8C: .byte 0x73, 0x74, 0x61, 0x66, 0x66, 0x6F, 0x6E, 0x74 .byte 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00, 0x00, 0x00 .global _0209AB9C _0209AB9C: .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0xF0, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .word sub_02025EE8 .word sub_02025F10 .word sub_02025FE0 .word sub_02026010 .word sub_02025FF0 .word sub_02026000 .word sub_02026020 .word sub_02026038 .word sub_0202654C .word sub_02026594 .word sub_02026048 .word sub_02026060 .word sub_02026070 .word sub_020260B4 .word sub_020260C4 .global _0209ABF0 _0209ABF0: .byte 0x2F, 0x46, 0x4F, 0x4E .byte 0x54, 0x2F, 0x6B, 0x61, 0x6E, 0x6A, 0x69, 0x5F, 0x72, 0x64, 0x2E, 0x64, 0x61, 0x74, 0x00, 0x00 .global _0209AC04 _0209AC04: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x75, 0x6E, 0x6B, 0x6E, 0x6F, 0x5F, 0x72, 0x64, 0x2E, 0x64 .byte 0x61, 0x74, 0x00, 0x00 .global _0209AC18 _0209AC18: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x6D, 0x61, 0x72, 0x6B, 0x66, 0x6F .byte 0x6E, 0x74, 0x2E, 0x64, 0x61, 0x74, 0x00, 0x00 .global _0209AC2C _0209AC2C: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x25, 0x73 .byte 0x00, 0x00, 0x00, 0x00 .global _0209AC38 _0209AC38: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x6D, 0x61, 0x72, 0x6B, 0x66, 0x6F .byte 0x6E, 0x74, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209AC4C _0209AC4C: .byte 0x00, 0x00, 0x00, 0xFF .global _0209AC50 _0209AC50: .byte 0x00, 0x00, 0x00, 0xFF .global _0209AC54 _0209AC54: .byte 0x00, 0x00, 0x00, 0x00 .global _0209AC58 _0209AC58: .byte 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0x06, 0x00, 0xFF, 0xFF, 0x02, 0x00 .global _0209AC64 _0209AC64: .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 .byte 0xFF, 0x00, 0xFF, 0x00 .global _0209AC78 _0209AC78: .byte 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x18, 0x00, 0x58, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x70, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x18, 0x00 .global _0209ACA8 _0209ACA8: .byte 0x00, 0x10, 0x20, 0x30 .global _0209ACAC _0209ACAC: .byte 0x00, 0x01, 0x02, 0x03 .global _0209ACB0 _0209ACB0: .byte 0x46, 0x4F, 0x4E, 0x54 .byte 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x33, 0x2E, 0x77, 0x74, 0x65, 0x00 .global _0209ACC0 _0209ACC0: .byte 0x46, 0x4F, 0x4E, 0x54 .byte 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x34, 0x2E, 0x77, 0x74, 0x65, 0x00 .global _0209ACD0 _0209ACD0: .byte 0x46, 0x4F, 0x4E, 0x54 .byte 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x30, 0x2E, 0x77, 0x74, 0x65, 0x00 .global _0209ACE0 _0209ACE0: .byte 0x46, 0x4F, 0x4E, 0x54 .byte 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x31, 0x2E, 0x77, 0x74, 0x65, 0x00 .global _0209ACF0 _0209ACF0: .byte 0x46, 0x4F, 0x4E, 0x54 .byte 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x32, 0x2E, 0x77, 0x74, 0x65, 0x00 .global _0209AD00 _0209AD00: .byte 0x2F, 0x46, 0x4F, 0x4E .byte 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x33, 0x2E, 0x63, 0x68, 0x72, 0x00, 0x00 .global _0209AD14 _0209AD14: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x33, 0x2E, 0x70 .byte 0x61, 0x6C, 0x00, 0x00 .global _0209AD28 _0209AD28: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F .byte 0x62, 0x34, 0x2E, 0x63, 0x68, 0x72, 0x00, 0x00 .global _0209AD3C _0209AD3C: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72 .byte 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x34, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209AD50 _0209AD50: .byte 0x2F, 0x46, 0x4F, 0x4E .byte 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x30, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209AD64 _0209AD64: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x31, 0x2E, 0x63 .byte 0x68, 0x72, 0x00, 0x00 .global _0209AD78 _0209AD78: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F .byte 0x62, 0x31, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209AD8C _0209AD8C: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72 .byte 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x32, 0x2E, 0x63, 0x68, 0x72, 0x00, 0x00 .global _0209ADA0 _0209ADA0: .byte 0x2F, 0x46, 0x4F, 0x4E .byte 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x32, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209ADB4 _0209ADB4: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x5F, 0x62, 0x30, 0x2E, 0x63 .byte 0x68, 0x72, 0x00, 0x00 .global _0209ADC8 _0209ADC8: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x6D, 0x61, 0x72, 0x6B, 0x66, 0x6F .byte 0x6E, 0x74, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209ADDC _0209ADDC: .byte 0x2F, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x74, 0x65 .byte 0x78, 0x74, 0x5F, 0x70, 0x61, 0x6C, 0x2E, 0x70, 0x61, 0x6C, 0x00, 0x00 .global _0209ADF0 _0209ADF0: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x63, 0x75, 0x72, 0x73, 0x6F, 0x72, 0x2E, 0x77, 0x61, 0x6E .byte 0x00, 0x00, 0x00, 0x00 .global _0209AE08 _0209AE08: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x63, 0x75 .byte 0x72, 0x73, 0x6F, 0x72, 0x31, 0x36, 0x2E, 0x77, 0x61, 0x6E, 0x00, 0x00 .global _0209AE20 _0209AE20: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x61, 0x6C, 0x65, 0x72, 0x74, 0x2E, 0x77, 0x61, 0x6E, 0x00 .global _0209AE34 _0209AE34: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AE44 _0209AE44: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AE54 _0209AE54: .byte 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x63, 0x6C, 0x72, 0x6D, 0x61, 0x72, 0x6B, 0x31, 0x2E, 0x77, 0x31 .byte 0x36, 0x00, 0x00, 0x00 .global _0209AE68 _0209AE68: .byte 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x63, 0x6C, 0x72, 0x6D, 0x61, 0x72, 0x6B .byte 0x32, 0x2E, 0x77, 0x31, 0x36, 0x00, 0x00, 0x00 .global _0209AE7C _0209AE7C: .byte 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x72, 0x61, 0x6E .byte 0x6B, 0x6D, 0x61, 0x72, 0x6B, 0x2E, 0x77, 0x31, 0x36, 0x00, 0x00, 0x00 .global _0209AE90 _0209AE90: .word sub_0202ABFC .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AEA0 _0209AEA0: .word sub_0202B5C8 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AEB0 _0209AEB0: .word sub_0202BD64 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AEC0 _0209AEC0: .word sub_0202C808 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AED0 _0209AED0: .word sub_0202D618 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AEE0 _0209AEE0: .byte 0x5B, 0x64, 0x69, 0x67 .byte 0x69, 0x74, 0x73, 0x3A, 0x30, 0x5D, 0x00, 0x00 .global _0209AEEC _0209AEEC: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x37, 0x5D, 0x00 .global _0209AEF4 _0209AEF4: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x34, 0x5D, 0x00 .global _0209AEFC _0209AEFC: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x38, 0x5D, 0x00 .global _0209AF04 _0209AF04: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x35, 0x5D, 0x00 .global _0209AF0C _0209AF0C: .word sub_0202DF98 .byte 0x1E, 0x0F, 0x00, 0x00 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF1C _0209AF1C: .word sub_0202E708 .byte 0x02, 0x02, 0x1C, 0x14 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF2C _0209AF2C: .word sub_0202F488 .byte 0x02, 0x11, 0x1C, 0x05 .byte 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF3C _0209AF3C: .word sub_0202F70C .byte 0x01, 0x0A, 0x05, 0x05 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF4C _0209AF4C: .word sub_0202FA5C .byte 0x01, 0x10, 0x1E, 0x06 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF5C _0209AF5C: .word sub_0202FD8C .byte 0x1E, 0x0F, 0x00, 0x00 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF6C _0209AF6C: .byte 0x5B, 0x61, 0x72, 0x65, 0x61, 0x3A, 0x30, 0x5D .byte 0x00, 0x00, 0x00, 0x00 .global _0209AF78 _0209AF78: .word sub_0202FF10 .byte 0x02, 0x02, 0x1C, 0x14, 0x01, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AF94 _0209AF94: .word sub_02030274 .byte 0x02, 0x11, 0x1C, 0x05, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AFA4 _0209AFA4: .word sub_02030AE8 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AFB4 _0209AFB4: .word sub_0203123C .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209AFC4 _0209AFC4: .byte 0x28, 0x5B, 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x3A, 0x30, 0x5D, 0x2F, 0x5B, 0x64, 0x69, 0x67 .byte 0x69, 0x74, 0x73, 0x3A, 0x31, 0x5D, 0x29, 0x00 .global _0209AFDC _0209AFDC: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x33, 0x31, 0x5D, 0x00 .global _0209AFE4 _0209AFE4: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x38, 0x5D, 0x00 .global _0209AFEC _0209AFEC: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x33, 0x32, 0x5D, 0x00 .global _0209AFF4 _0209AFF4: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x39, 0x5D, 0x00 .global _0209AFFC _0209AFFC: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x39, 0x5D, 0x00 .global _0209B004 _0209B004: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x36, 0x5D, 0x00 .global _0209B00C _0209B00C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x33, 0x30, 0x5D, 0x00 .global _0209B014 _0209B014: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x37, 0x5D, 0x00 .global _0209B01C _0209B01C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x37, 0x5D, 0x00 .global _0209B024 _0209B024: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x34, 0x5D, 0x00 .global _0209B02C _0209B02C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x38, 0x5D, 0x00 .global _0209B034 _0209B034: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x35, 0x5D, 0x00 .global _0209B03C _0209B03C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x35, 0x5D, 0x00 .global _0209B044 _0209B044: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x32, 0x5D, 0x00 .global _0209B04C _0209B04C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x36, 0x5D, 0x00 .global _0209B054 _0209B054: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x33, 0x5D, 0x00 .global _0209B05C _0209B05C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x34, 0x5D, 0x00 .global _0209B064 _0209B064: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x31, 0x5D, 0x00 .global _0209B06C _0209B06C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x32, 0x5D, 0x00 .global _0209B074 _0209B074: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x39, 0x5D, 0x00, 0x00 .global _0209B07C _0209B07C: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x32, 0x33, 0x5D, 0x00 .global _0209B084 _0209B084: .byte 0x5B, 0x4D, 0x3A, 0x42, 0x31, 0x30, 0x5D, 0x00 .global _0209B08C _0209B08C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B09C _0209B09C: .byte 0x00, 0x00, 0x00, 0x00 .word sub_020350D4 .word sub_02035154 .word sub_020351DC .global _0209B0AC _0209B0AC: .byte 0x97, 0x01, 0x98, 0x01, 0x00, 0x00, 0x94, 0x01 .byte 0x95, 0x01, 0x00, 0x00 .global _0209B0B8 _0209B0B8: .byte 0x9A, 0x01, 0x9B, 0x01, 0x00, 0x00, 0x9D, 0x01, 0x9E, 0x01, 0x00, 0x00 .global _0209B0C4 _0209B0C4: .byte 0xA0, 0x01, 0xA1, 0x01, 0x00, 0x00, 0xA3, 0x01, 0xA4, 0x01, 0x00, 0x00 .global _0209B0D0 _0209B0D0: .byte 0x86, 0x01, 0x87, 0x01 .byte 0x88, 0x01, 0x00, 0x00 .global _0209B0D8 _0209B0D8: .byte 0x90, 0x01, 0x91, 0x01, 0x92, 0x01, 0x00, 0x00 .global _0209B0E0 _0209B0E0: .byte 0x8A, 0x01, 0x8B, 0x01 .byte 0x8C, 0x01, 0x8D, 0x01, 0x8E, 0x01, 0x00, 0x00 .global _0209B0EC _0209B0EC: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B0FC _0209B0FC: .byte 0x00, 0x00, 0x00, 0x00 .word sub_02035640 .word sub_02035768 .word sub_020357F0 .global _0209B10C _0209B10C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02035768 .word sub_020357F0 .global _0209B11C _0209B11C: .byte 0xA6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xA7, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209B134 _0209B134: .byte 0x85, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _0209B0D0 .byte 0x89, 0x01, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word _0209B0E0 .byte 0x8F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _0209B0D8 .byte 0x93, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0xB0, 0x09, 0x02 .byte 0x96, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _0209B0AC .byte 0x99, 0x01, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word _0209B0B8 .byte 0x9C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xBE, 0xB0, 0x09, 0x02, 0x9F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _0209B0C4 .byte 0xA2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xB0, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B1AC _0209B1AC: .byte 0xAA, 0x01, 0xAB, 0x01, 0xAC, 0x01, 0xAD, 0x01 .byte 0xAE, 0x01, 0x00, 0x00 .global _0209B1B8 _0209B1B8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02035DB0 .word sub_02035E38 .global _0209B1C8 _0209B1C8: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209B1D8 _0209B1D8: .byte 0xA6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x01, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209B1F0 _0209B1F0: .byte 0xA9, 0x01, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word _0209B1AC .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209B208 _0209B208: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209B218 _0209B218: .byte 0x00, 0x00, 0x00, 0x00 .word sub_02036358 .word sub_0203643C .word sub_02036478 .global _0209B228 _0209B228: .byte 0x67, 0x3C, 0x68, 0x3C, 0x69, 0x3C, 0x6A, 0x3C, 0x6B, 0x3C, 0x6C, 0x3C .byte 0x6D, 0x3C, 0x6E, 0x3C, 0x6F, 0x3C, 0x70, 0x3C, 0x71, 0x3C, 0x72, 0x3C, 0x00, 0x00, 0x00, 0x00 .global _0209B244 _0209B244: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B254 _0209B254: .byte 0x00, 0x00, 0x00, 0x00 .word sub_020365A0 .word sub_02036684 .word sub_020366C0 .global _0209B264 _0209B264: .byte 0x74, 0x3C, 0x75, 0x3C, 0x76, 0x3C, 0x77, 0x3C, 0x78, 0x3C, 0x79, 0x3C, 0x7A, 0x3C, 0x7B, 0x3C .byte 0x7C, 0x3C, 0x7D, 0x3C, 0x7E, 0x3C, 0x7F, 0x3C, 0x80, 0x3C, 0x81, 0x3C, 0x82, 0x3C, 0x83, 0x3C .byte 0x00, 0x00, 0x00, 0x00 .global _0209B288 _0209B288: .byte 0x17, 0x19, 0x00, 0x00 .global _0209B28C _0209B28C: .byte 0x00, 0x80, 0xFF, 0xFF .word _0209B2A8 .word _0209B2B0 .global _0209B298 _0209B298: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02037C4C .word sub_02037778 .global _0209B2A8 _0209B2A8: .byte 0x5B, 0x43, 0x53, 0x3A, 0x44, 0x5D, 0x00, 0x00 .global _0209B2B0 _0209B2B0: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x43, 0x5D, 0x00, 0x00 .global _0209B2B8 _0209B2B8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x11, 0x12, 0x12, 0x00, 0x00, 0x00 .global _0209B2C4 _0209B2C4: .byte 0x42, 0x42, 0x42, 0x42, 0x58, 0x08, 0x08, 0x08, 0x08, 0x58, 0x00, 0x00 .global _0209B2D0 _0209B2D0: .byte 0x16, 0x16, 0x16, 0x16 .byte 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 .global _0209B2DC _0209B2DC: .byte 0x00, 0x00, 0x00, 0x00 .global _0209B2E0 _0209B2E0: .byte 0x01 .global _0209B2E1 _0209B2E1: .byte 0x0C .global _0209B2E2 _0209B2E2: .byte 0x1E .global _0209B2E3 _0209B2E3: .byte 0x0A .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B2EC _0209B2EC: .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x18, 0x05 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B2FC _0209B2FC: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x1E, 0x08 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B30C _0209B30C: .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x1E, 0x08 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B31C _0209B31C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1C, 0x14 .byte 0x01, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B32C _0209B32C: .byte 0x06, 0x00 .global _0209B32E _0209B32E: .byte 0x12, 0x00, 0x13, 0x00, 0x12, 0x00 .byte 0x20, 0x00, 0x12, 0x00, 0x2D, 0x00, 0x12, 0x00, 0x3A, 0x00, 0x12, 0x00, 0x4B, 0x00, 0x14, 0x00 .byte 0x58, 0x00, 0x14, 0x00, 0x65, 0x00, 0x14, 0x00, 0x72, 0x00, 0x14, 0x00, 0x7F, 0x00, 0x14, 0x00 .byte 0x8C, 0x00, 0x14, 0x00, 0x99, 0x00, 0x14, 0x00, 0xAA, 0x00, 0x12, 0x00, 0xB7, 0x00, 0x12, 0x00 .byte 0xC4, 0x00, 0x12, 0x00, 0xD1, 0x00, 0x12, 0x00, 0xDE, 0x00, 0x12, 0x00, 0x06, 0x00, 0x24, 0x00 .byte 0x13, 0x00, 0x24, 0x00, 0x20, 0x00, 0x24, 0x00, 0x2D, 0x00, 0x24, 0x00, 0x3A, 0x00, 0x24, 0x00 .byte 0x4B, 0x00, 0x26, 0x00, 0x58, 0x00, 0x26, 0x00, 0x65, 0x00, 0x26, 0x00, 0x72, 0x00, 0x26, 0x00 .byte 0x7F, 0x00, 0x26, 0x00, 0x8C, 0x00, 0x26, 0x00, 0x99, 0x00, 0x26, 0x00, 0xAA, 0x00, 0x24, 0x00 .byte 0xB7, 0x00, 0x24, 0x00, 0xC4, 0x00, 0x24, 0x00, 0xD1, 0x00, 0x24, 0x00, 0xDE, 0x00, 0x24, 0x00 .global _0209B3B4 _0209B3B4: .byte 0x03, 0x00 .global _0209B3B6 _0209B3B6: .byte 0x0F, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x1D, 0x00, 0x0F, 0x00, 0x2A, 0x00, 0x0F, 0x00 .byte 0x37, 0x00, 0x0F, 0x00, 0x44, 0x00, 0x0F, 0x00, 0x51, 0x00, 0x11, 0x00, 0x5E, 0x00, 0x11, 0x00 .byte 0x6B, 0x00, 0x11, 0x00, 0x78, 0x00, 0x11, 0x00, 0x85, 0x00, 0x11, 0x00, 0x92, 0x00, 0x11, 0x00 .byte 0x9F, 0x00, 0x0F, 0x00, 0xAC, 0x00, 0x0F, 0x00, 0xB9, 0x00, 0x0F, 0x00, 0xC6, 0x00, 0x0F, 0x00 .byte 0xD3, 0x00, 0x0F, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x03, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x1E, 0x00 .byte 0x1D, 0x00, 0x1E, 0x00, 0x2A, 0x00, 0x1E, 0x00, 0x37, 0x00, 0x1E, 0x00, 0x44, 0x00, 0x1E, 0x00 .byte 0x51, 0x00, 0x20, 0x00, 0x5E, 0x00, 0x20, 0x00, 0x6B, 0x00, 0x20, 0x00, 0x78, 0x00, 0x20, 0x00 .byte 0x85, 0x00, 0x20, 0x00, 0x92, 0x00, 0x20, 0x00, 0x9F, 0x00, 0x1E, 0x00, 0xAC, 0x00, 0x1E, 0x00 .byte 0xB9, 0x00, 0x1E, 0x00, 0xC6, 0x00, 0x1E, 0x00, 0xD3, 0x00, 0x1E, 0x00, 0xE0, 0x00, 0x1E, 0x00 .byte 0x03, 0x00, 0x2D, 0x00, 0x10, 0x00, 0x2D, 0x00, 0x1D, 0x00, 0x2D, 0x00, 0x2A, 0x00, 0x2D, 0x00 .byte 0x37, 0x00, 0x2D, 0x00, 0x44, 0x00, 0x2D, 0x00, 0x51, 0x00, 0x2F, 0x00, 0x5E, 0x00, 0x2F, 0x00 .byte 0x6B, 0x00, 0x2F, 0x00, 0x78, 0x00, 0x2F, 0x00, 0x85, 0x00, 0x2F, 0x00, 0x92, 0x00, 0x2F, 0x00 .byte 0x9F, 0x00, 0x2D, 0x00, 0xAC, 0x00, 0x2D, 0x00, 0xB9, 0x00, 0x2D, 0x00, 0xC6, 0x00, 0x2D, 0x00 .byte 0xD3, 0x00, 0x2D, 0x00, 0xE0, 0x00, 0x2D, 0x00 .global _0209B48C _0209B48C: .byte 0x70, 0x72, 0x6F, 0x63, 0x20, 0x63, 0x68, 0x61 .byte 0x6E, 0x67, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x2D, 0x3E, 0x20, 0x25, 0x33, 0x64, 0x0A, 0x00 .global _0209B4A4 _0209B4A4: .byte 0x5B, 0x4D, 0x3A, 0x54, 0x33, 0x5D, 0x00, 0x00 .global _0209B4AC _0209B4AC: .byte 0x5B, 0x43, 0x53, 0x3A, 0x42, 0x5D, 0x25, 0x63 .byte 0x00, 0x00, 0x00, 0x00 .global _0209B4B8 _0209B4B8: .byte 0x5B, 0x4D, 0x3A, 0x54, 0x32, 0x5D, 0x00, 0x00 .global _0209B4C0 _0209B4C0: .byte 0x25, 0x63, 0x00, 0x00 .global _0209B4C4 _0209B4C4: .byte 0x5B, 0x43, 0x53, 0x3A, 0x57, 0x5D, 0x25, 0x63, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _0209B4D4 _0209B4D4: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x11, 0x1C, 0x05, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B4E4 _0209B4E4: .byte 0xA9, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209B4FC _0209B4FC: .byte 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _0209B50C _0209B50C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x58, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _0209B51C _0209B51C: .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00 .byte 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x05, 0x04, 0x51, 0x09, 0x04, 0x2A, 0x03, 0x00, 0x09, 0x01 .byte 0x03, 0x05, 0x52, 0x0A, 0x04, 0x37, 0x03, 0x00, 0x07, 0x01, 0x04, 0x03, 0x11, 0x0B, 0x04, 0x44 .byte 0x03, 0x00, 0x08, 0x01, 0x0B, 0x07, 0x4E, 0x0C, 0x2A, 0x03, 0x00, 0x00, 0x61, 0x00, 0x06, 0x08 .byte 0x4F, 0x0D, 0x2A, 0x10, 0x00, 0x00, 0x6E, 0x00, 0x07, 0x09, 0x50, 0x0E, 0x2A, 0x1D, 0x00, 0x00 .byte 0x41, 0x00, 0x08, 0x0A, 0x03, 0x0F, 0x2A, 0x2A, 0x00, 0x00, 0x4E, 0x00, 0x09, 0x0B, 0x04, 0x10 .byte 0x2A, 0x37, 0x00, 0x00, 0x30, 0x00, 0x0A, 0x06, 0x05, 0x11, 0x2A, 0x44, 0x00, 0x00, 0x2D, 0x00 .byte 0x11, 0x0D, 0x06, 0x12, 0x39, 0x03, 0x00, 0x00, 0x62, 0x00, 0x0C, 0x0E, 0x07, 0x13, 0x39, 0x10 .byte 0x00, 0x00, 0x6F, 0x00, 0x0D, 0x0F, 0x08, 0x14, 0x39, 0x1D, 0x00, 0x00, 0x42, 0x00, 0x0E, 0x10 .byte 0x09, 0x15, 0x39, 0x2A, 0x00, 0x00, 0x4F, 0x00, 0x0F, 0x11, 0x0A, 0x16, 0x39, 0x37, 0x00, 0x00 .byte 0x31, 0x00, 0x10, 0x0C, 0x0B, 0x05, 0x39, 0x44, 0x00, 0x00, 0x5F, 0x00, 0x16, 0x13, 0x0C, 0x18 .byte 0x48, 0x03, 0x00, 0x00, 0x63, 0x00, 0x12, 0x14, 0x0D, 0x19, 0x48, 0x10, 0x00, 0x00, 0x70, 0x00 .byte 0x13, 0x15, 0x0E, 0x1A, 0x48, 0x1D, 0x00, 0x00, 0x43, 0x00, 0x14, 0x16, 0x0F, 0x1B, 0x48, 0x2A .byte 0x00, 0x00, 0x50, 0x00, 0x15, 0x12, 0x10, 0x1C, 0x48, 0x37, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x48, 0x44, 0x00, 0x00, 0x10, 0x01, 0x1C, 0x19, 0x12, 0x1E, 0x57, 0x03, 0x00, 0x00 .byte 0x64, 0x00, 0x18, 0x1A, 0x13, 0x1F, 0x57, 0x10, 0x00, 0x00, 0x71, 0x00, 0x19, 0x1B, 0x14, 0x20 .byte 0x57, 0x1D, 0x00, 0x00, 0x44, 0x00, 0x1A, 0x1C, 0x15, 0x21, 0x57, 0x2A, 0x00, 0x00, 0x51, 0x00 .byte 0x1B, 0x18, 0x16, 0x22, 0x57, 0x37, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x44 .byte 0x00, 0x00, 0x10, 0x01, 0x22, 0x1F, 0x18, 0x24, 0x66, 0x03, 0x00, 0x00, 0x65, 0x00, 0x1E, 0x20 .byte 0x19, 0x25, 0x66, 0x10, 0x00, 0x00, 0x72, 0x00, 0x1F, 0x21, 0x1A, 0x26, 0x66, 0x1D, 0x00, 0x00 .byte 0x45, 0x00, 0x20, 0x22, 0x1B, 0x27, 0x66, 0x2A, 0x00, 0x00, 0x52, 0x00, 0x21, 0x1E, 0x1C, 0x28 .byte 0x66, 0x37, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x44, 0x00, 0x00, 0x10, 0x01 .byte 0x28, 0x25, 0x1E, 0x2A, 0x75, 0x03, 0x00, 0x00, 0x66, 0x00, 0x24, 0x26, 0x1F, 0x2B, 0x75, 0x10 .byte 0x00, 0x00, 0x73, 0x00, 0x25, 0x27, 0x20, 0x2C, 0x75, 0x1D, 0x00, 0x00, 0x46, 0x00, 0x26, 0x28 .byte 0x21, 0x2D, 0x75, 0x2A, 0x00, 0x00, 0x53, 0x00, 0x27, 0x24, 0x22, 0x2E, 0x75, 0x37, 0x00, 0x00 .byte 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x44, 0x00, 0x00, 0x10, 0x01, 0x2E, 0x2B, 0x24, 0x30 .byte 0x84, 0x03, 0x00, 0x00, 0x67, 0x00, 0x2A, 0x2C, 0x25, 0x31, 0x84, 0x10, 0x00, 0x00, 0x74, 0x00 .byte 0x2B, 0x2D, 0x26, 0x32, 0x84, 0x1D, 0x00, 0x00, 0x47, 0x00, 0x2C, 0x2E, 0x27, 0x33, 0x84, 0x2A .byte 0x00, 0x00, 0x54, 0x00, 0x2D, 0x2A, 0x28, 0x34, 0x84, 0x37, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x84, 0x44, 0x00, 0x00, 0x10, 0x01, 0x34, 0x31, 0x2A, 0x36, 0x93, 0x03, 0x00, 0x00 .byte 0x68, 0x00, 0x30, 0x32, 0x2B, 0x37, 0x93, 0x10, 0x00, 0x00, 0x75, 0x00, 0x31, 0x33, 0x2C, 0x38 .byte 0x93, 0x1D, 0x00, 0x00, 0x48, 0x00, 0x32, 0x34, 0x2D, 0x39, 0x93, 0x2A, 0x00, 0x00, 0x55, 0x00 .byte 0x33, 0x30, 0x2E, 0x3A, 0x93, 0x37, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x44 .byte 0x00, 0x00, 0x10, 0x01, 0x3A, 0x37, 0x30, 0x3C, 0xA2, 0x03, 0x00, 0x00, 0x69, 0x00, 0x36, 0x38 .byte 0x31, 0x3D, 0xA2, 0x10, 0x00, 0x00, 0x76, 0x00, 0x37, 0x39, 0x32, 0x3E, 0xA2, 0x1D, 0x00, 0x00 .byte 0x49, 0x00, 0x38, 0x3A, 0x33, 0x3F, 0xA2, 0x2A, 0x00, 0x00, 0x56, 0x00, 0x39, 0x36, 0x34, 0x40 .byte 0xA2, 0x37, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x44, 0x00, 0x00, 0x10, 0x01 .byte 0x40, 0x3D, 0x36, 0x42, 0xB1, 0x03, 0x00, 0x00, 0x6A, 0x00, 0x3C, 0x3E, 0x37, 0x43, 0xB1, 0x10 .byte 0x00, 0x00, 0x77, 0x00, 0x3D, 0x3F, 0x38, 0x44, 0xB1, 0x1D, 0x00, 0x00, 0x4A, 0x00, 0x3E, 0x40 .byte 0x39, 0x45, 0xB1, 0x2A, 0x00, 0x00, 0x57, 0x00, 0x3F, 0x3C, 0x3A, 0x46, 0xB1, 0x37, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x44, 0x00, 0x00, 0x10, 0x01, 0x46, 0x43, 0x3C, 0x48 .byte 0xC0, 0x03, 0x00, 0x00, 0x6B, 0x00, 0x42, 0x44, 0x3D, 0x49, 0xC0, 0x10, 0x00, 0x00, 0x78, 0x00 .byte 0x43, 0x45, 0x3E, 0x4A, 0xC0, 0x1D, 0x00, 0x00, 0x4B, 0x00, 0x44, 0x46, 0x3F, 0x4B, 0xC0, 0x2A .byte 0x00, 0x00, 0x58, 0x00, 0x45, 0x42, 0x40, 0x4C, 0xC0, 0x37, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0xC0, 0x44, 0x00, 0x00, 0x10, 0x01, 0x4C, 0x49, 0x42, 0x4E, 0xCF, 0x03, 0x00, 0x00 .byte 0x6C, 0x00, 0x48, 0x4A, 0x43, 0x4F, 0xCF, 0x10, 0x00, 0x00, 0x79, 0x00, 0x49, 0x4B, 0x44, 0x50 .byte 0xCF, 0x1D, 0x00, 0x00, 0x4C, 0x00, 0x4A, 0x4C, 0x45, 0x51, 0xCF, 0x2A, 0x00, 0x00, 0x59, 0x00 .byte 0x4B, 0x48, 0x46, 0x52, 0xCF, 0x37, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x44 .byte 0x00, 0x00, 0x10, 0x01, 0x52, 0x4F, 0x48, 0x06, 0xDE, 0x03, 0x00, 0x00, 0x6D, 0x00, 0x4E, 0x50 .byte 0x49, 0x07, 0xDE, 0x10, 0x00, 0x00, 0x7A, 0x00, 0x4F, 0x51, 0x4A, 0x08, 0xDE, 0x1D, 0x00, 0x00 .byte 0x4D, 0x00, 0x50, 0x52, 0x4B, 0x03, 0xDE, 0x2A, 0x00, 0x00, 0x5A, 0x00, 0x51, 0x4E, 0x4C, 0x04 .byte 0xDE, 0x37, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x44, 0x00, 0x00, 0x10, 0x01 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x00, 0x11, 0x01, 0x00, 0x00 .global _0209B870 _0209B870: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x03, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x10, 0x01 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x05, 0x04, 0x51, 0x09, 0x04, 0x2A .byte 0x03, 0x00, 0x09, 0x01, 0x03, 0x05, 0x52, 0x0A, 0x04, 0x37, 0x03, 0x00, 0x07, 0x01, 0x04, 0x03 .byte 0x53, 0x0B, 0x04, 0x44, 0x03, 0x00, 0x08, 0x01, 0x0B, 0x07, 0x4E, 0x0C, 0x2A, 0x03, 0x00, 0x00 .byte 0x61, 0x00, 0x06, 0x08, 0x4F, 0x0D, 0x2A, 0x10, 0x00, 0x00, 0x6E, 0x00, 0x07, 0x09, 0x50, 0x0E .byte 0x2A, 0x1D, 0x00, 0x00, 0x41, 0x00, 0x08, 0x0A, 0x03, 0x0F, 0x2A, 0x2A, 0x00, 0x00, 0x4E, 0x00 .byte 0x09, 0x0B, 0x04, 0x10, 0x2A, 0x37, 0x00, 0x00, 0x30, 0x00, 0x0A, 0x06, 0x05, 0x11, 0x2A, 0x44 .byte 0x00, 0x00, 0x2D, 0x00, 0x11, 0x0D, 0x06, 0x12, 0x39, 0x03, 0x00, 0x00, 0x62, 0x00, 0x0C, 0x0E .byte 0x07, 0x13, 0x39, 0x10, 0x00, 0x00, 0x6F, 0x00, 0x0D, 0x0F, 0x08, 0x14, 0x39, 0x1D, 0x00, 0x00 .byte 0x42, 0x00, 0x0E, 0x10, 0x09, 0x15, 0x39, 0x2A, 0x00, 0x00, 0x4F, 0x00, 0x0F, 0x11, 0x0A, 0x16 .byte 0x39, 0x37, 0x00, 0x00, 0x31, 0x00, 0x10, 0x0C, 0x0B, 0x17, 0x39, 0x44, 0x00, 0x00, 0x5F, 0x00 .byte 0x17, 0x13, 0x0C, 0x18, 0x48, 0x03, 0x00, 0x00, 0x63, 0x00, 0x12, 0x14, 0x0D, 0x19, 0x48, 0x10 .byte 0x00, 0x00, 0x70, 0x00, 0x13, 0x15, 0x0E, 0x1A, 0x48, 0x1D, 0x00, 0x00, 0x43, 0x00, 0x14, 0x16 .byte 0x0F, 0x1B, 0x48, 0x2A, 0x00, 0x00, 0x50, 0x00, 0x15, 0x17, 0x10, 0x1C, 0x48, 0x37, 0x00, 0x00 .byte 0x32, 0x00, 0x16, 0x12, 0x11, 0x1D, 0x48, 0x44, 0x00, 0x00, 0x23, 0x00, 0x1D, 0x19, 0x12, 0x1E .byte 0x57, 0x03, 0x00, 0x00, 0x64, 0x00, 0x18, 0x1A, 0x13, 0x1F, 0x57, 0x10, 0x00, 0x00, 0x71, 0x00 .byte 0x19, 0x1B, 0x14, 0x20, 0x57, 0x1D, 0x00, 0x00, 0x44, 0x00, 0x1A, 0x1C, 0x15, 0x21, 0x57, 0x2A .byte 0x00, 0x00, 0x51, 0x00, 0x1B, 0x1D, 0x16, 0x22, 0x57, 0x37, 0x00, 0x00, 0x33, 0x00, 0x1C, 0x18 .byte 0x17, 0x23, 0x57, 0x44, 0x00, 0x00, 0x24, 0x00, 0x23, 0x1F, 0x18, 0x24, 0x66, 0x03, 0x00, 0x00 .byte 0x65, 0x00, 0x1E, 0x20, 0x19, 0x25, 0x66, 0x10, 0x00, 0x00, 0x72, 0x00, 0x1F, 0x21, 0x1A, 0x26 .byte 0x66, 0x1D, 0x00, 0x00, 0x45, 0x00, 0x20, 0x22, 0x1B, 0x27, 0x66, 0x2A, 0x00, 0x00, 0x52, 0x00 .byte 0x21, 0x23, 0x1C, 0x28, 0x66, 0x37, 0x00, 0x00, 0x34, 0x00, 0x22, 0x1E, 0x1D, 0x29, 0x66, 0x44 .byte 0x00, 0x00, 0x25, 0x00, 0x29, 0x25, 0x1E, 0x2A, 0x75, 0x03, 0x00, 0x00, 0x66, 0x00, 0x24, 0x26 .byte 0x1F, 0x2B, 0x75, 0x10, 0x00, 0x00, 0x73, 0x00, 0x25, 0x27, 0x20, 0x2C, 0x75, 0x1D, 0x00, 0x00 .byte 0x46, 0x00, 0x26, 0x28, 0x21, 0x2D, 0x75, 0x2A, 0x00, 0x00, 0x53, 0x00, 0x27, 0x29, 0x22, 0x2E .byte 0x75, 0x37, 0x00, 0x00, 0x35, 0x00, 0x28, 0x24, 0x23, 0x2F, 0x75, 0x44, 0x00, 0x00, 0x3A, 0x00 .byte 0x2F, 0x2B, 0x24, 0x30, 0x84, 0x03, 0x00, 0x00, 0x67, 0x00, 0x2A, 0x2C, 0x25, 0x31, 0x84, 0x10 .byte 0x00, 0x00, 0x74, 0x00, 0x2B, 0x2D, 0x26, 0x32, 0x84, 0x1D, 0x00, 0x00, 0x47, 0x00, 0x2C, 0x2E .byte 0x27, 0x33, 0x84, 0x2A, 0x00, 0x00, 0x54, 0x00, 0x2D, 0x2F, 0x28, 0x34, 0x84, 0x37, 0x00, 0x00 .byte 0x36, 0x00, 0x2E, 0x2A, 0x29, 0x35, 0x84, 0x44, 0x00, 0x00, 0x3B, 0x00, 0x35, 0x31, 0x2A, 0x36 .byte 0x93, 0x03, 0x00, 0x00, 0x68, 0x00, 0x30, 0x32, 0x2B, 0x37, 0x93, 0x10, 0x00, 0x00, 0x75, 0x00 .byte 0x31, 0x33, 0x2C, 0x38, 0x93, 0x1D, 0x00, 0x00, 0x48, 0x00, 0x32, 0x34, 0x2D, 0x39, 0x93, 0x2A .byte 0x00, 0x00, 0x55, 0x00, 0x33, 0x35, 0x2E, 0x3A, 0x93, 0x37, 0x00, 0x00, 0x37, 0x00, 0x34, 0x30 .byte 0x2F, 0x3B, 0x93, 0x44, 0x00, 0x00, 0x2A, 0x00, 0x3B, 0x37, 0x30, 0x3C, 0xA2, 0x03, 0x00, 0x00 .byte 0x69, 0x00, 0x36, 0x38, 0x31, 0x3D, 0xA2, 0x10, 0x00, 0x00, 0x76, 0x00, 0x37, 0x39, 0x32, 0x3E .byte 0xA2, 0x1D, 0x00, 0x00, 0x49, 0x00, 0x38, 0x3A, 0x33, 0x3F, 0xA2, 0x2A, 0x00, 0x00, 0x56, 0x00 .byte 0x39, 0x3B, 0x34, 0x40, 0xA2, 0x37, 0x00, 0x00, 0x38, 0x00, 0x3A, 0x36, 0x35, 0x41, 0xA2, 0x44 .byte 0x00, 0x00, 0x2B, 0x00, 0x41, 0x3D, 0x36, 0x42, 0xB1, 0x03, 0x00, 0x00, 0x6A, 0x00, 0x3C, 0x3E .byte 0x37, 0x43, 0xB1, 0x10, 0x00, 0x00, 0x77, 0x00, 0x3D, 0x3F, 0x38, 0x44, 0xB1, 0x1D, 0x00, 0x00 .byte 0x4A, 0x00, 0x3E, 0x40, 0x39, 0x45, 0xB1, 0x2A, 0x00, 0x00, 0x57, 0x00, 0x3F, 0x41, 0x3A, 0x46 .byte 0xB1, 0x37, 0x00, 0x00, 0x39, 0x00, 0x40, 0x3C, 0x3B, 0x47, 0xB1, 0x44, 0x00, 0x00, 0x3C, 0x00 .byte 0x47, 0x43, 0x3C, 0x48, 0xC0, 0x03, 0x00, 0x00, 0x6B, 0x00, 0x42, 0x44, 0x3D, 0x49, 0xC0, 0x10 .byte 0x00, 0x00, 0x78, 0x00, 0x43, 0x45, 0x3E, 0x4A, 0xC0, 0x1D, 0x00, 0x00, 0x4B, 0x00, 0x44, 0x46 .byte 0x3F, 0x4B, 0xC0, 0x2A, 0x00, 0x00, 0x58, 0x00, 0x45, 0x47, 0x40, 0x4C, 0xC0, 0x37, 0x00, 0x00 .byte 0x40, 0x00, 0x46, 0x42, 0x41, 0x4D, 0xC0, 0x44, 0x00, 0x00, 0x3D, 0x00, 0x4D, 0x49, 0x42, 0x4E .byte 0xCF, 0x03, 0x00, 0x00, 0x6C, 0x00, 0x48, 0x4A, 0x43, 0x4F, 0xCF, 0x10, 0x00, 0x00, 0x79, 0x00 .byte 0x49, 0x4B, 0x44, 0x50, 0xCF, 0x1D, 0x00, 0x00, 0x4C, 0x00, 0x4A, 0x4C, 0x45, 0x51, 0xCF, 0x2A .byte 0x00, 0x00, 0x59, 0x00, 0x4B, 0x4D, 0x46, 0x52, 0xCF, 0x37, 0x00, 0x00, 0x2E, 0x00, 0x4C, 0x48 .byte 0x47, 0x53, 0xCF, 0x44, 0x00, 0x00, 0x3E, 0x00, 0x53, 0x4F, 0x48, 0x06, 0xDE, 0x03, 0x00, 0x00 .byte 0x6D, 0x00, 0x4E, 0x50, 0x49, 0x07, 0xDE, 0x10, 0x00, 0x00, 0x7A, 0x00, 0x4F, 0x51, 0x4A, 0x08 .byte 0xDE, 0x1D, 0x00, 0x00, 0x4D, 0x00, 0x50, 0x52, 0x4B, 0x03, 0xDE, 0x2A, 0x00, 0x00, 0x5A, 0x00 .byte 0x51, 0x53, 0x4C, 0x04, 0xDE, 0x37, 0x00, 0x00, 0x26, 0x00, 0x52, 0x4E, 0x4D, 0x05, 0xDE, 0x44 .byte 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x00, 0x11, 0x01, 0x00, 0x00 .global _0209BBC4 _0209BBC4: .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x10, 0x01, 0x05, 0x02, 0x4F, 0x07, 0x04, 0x10 .byte 0x00, 0x00, 0x04, 0x01, 0x01, 0x03, 0x32, 0x08, 0x04, 0x1D, 0x00, 0x00, 0x05, 0x01, 0x02, 0x04 .byte 0x51, 0x09, 0x04, 0x2A, 0x03, 0x00, 0x09, 0x01, 0x03, 0x05, 0x52, 0x0A, 0x04, 0x37, 0x03, 0x00 .byte 0x07, 0x01, 0x04, 0x01, 0x41, 0x0B, 0x04, 0x44, 0x03, 0x00, 0x08, 0x01, 0x0B, 0x07, 0x4E, 0x0C .byte 0x2A, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x06, 0x08, 0x01, 0x0D, 0x2A, 0x10, 0x00, 0x00, 0xED, 0x00 .byte 0x07, 0x09, 0x02, 0x0E, 0x2A, 0x1D, 0x00, 0x00, 0xFE, 0x00, 0x08, 0x0A, 0x03, 0x0F, 0x2A, 0x2A .byte 0x00, 0x00, 0xC0, 0x00, 0x09, 0x0B, 0x04, 0x10, 0x2A, 0x37, 0x00, 0x00, 0xCD, 0x00, 0x0A, 0x06 .byte 0x05, 0x11, 0x2A, 0x44, 0x00, 0x00, 0xDE, 0x00, 0x11, 0x0D, 0x06, 0x12, 0x39, 0x03, 0x00, 0x00 .byte 0xE1, 0x00, 0x0C, 0x0E, 0x07, 0x13, 0x39, 0x10, 0x00, 0x00, 0xEE, 0x00, 0x0D, 0x0F, 0x08, 0x14 .byte 0x39, 0x1D, 0x00, 0x00, 0xF9, 0x00, 0x0E, 0x10, 0x09, 0x15, 0x39, 0x2A, 0x00, 0x00, 0xC1, 0x00 .byte 0x0F, 0x11, 0x0A, 0x16, 0x39, 0x37, 0x00, 0x00, 0xCE, 0x00, 0x10, 0x0C, 0x0B, 0x17, 0x39, 0x44 .byte 0x00, 0x00, 0xD9, 0x00, 0x17, 0x13, 0x0C, 0x18, 0x48, 0x03, 0x00, 0x00, 0xE2, 0x00, 0x12, 0x14 .byte 0x0D, 0x19, 0x48, 0x10, 0x00, 0x00, 0xEF, 0x00, 0x13, 0x15, 0x0E, 0x1A, 0x48, 0x1D, 0x00, 0x00 .byte 0xFA, 0x00, 0x14, 0x16, 0x0F, 0x1B, 0x48, 0x2A, 0x00, 0x00, 0xC2, 0x00, 0x15, 0x17, 0x10, 0x1C .byte 0x48, 0x37, 0x00, 0x00, 0xCF, 0x00, 0x16, 0x12, 0x11, 0x1D, 0x48, 0x44, 0x00, 0x00, 0xDA, 0x00 .byte 0x1D, 0x19, 0x12, 0x1E, 0x57, 0x03, 0x00, 0x00, 0xE3, 0x00, 0x18, 0x1A, 0x13, 0x1F, 0x57, 0x10 .byte 0x00, 0x00, 0xF0, 0x00, 0x19, 0x1B, 0x14, 0x20, 0x57, 0x1D, 0x00, 0x00, 0xFB, 0x00, 0x1A, 0x1C .byte 0x15, 0x21, 0x57, 0x2A, 0x00, 0x00, 0xC3, 0x00, 0x1B, 0x1D, 0x16, 0x22, 0x57, 0x37, 0x00, 0x00 .byte 0xD0, 0x00, 0x1C, 0x18, 0x17, 0x23, 0x57, 0x44, 0x00, 0x00, 0xDB, 0x00, 0x23, 0x1F, 0x18, 0x24 .byte 0x66, 0x03, 0x00, 0x00, 0xE4, 0x00, 0x1E, 0x20, 0x19, 0x25, 0x66, 0x10, 0x00, 0x00, 0xF1, 0x00 .byte 0x1F, 0x21, 0x1A, 0x26, 0x66, 0x1D, 0x00, 0x00, 0xFC, 0x00, 0x20, 0x22, 0x1B, 0x27, 0x66, 0x2A .byte 0x00, 0x00, 0xC4, 0x00, 0x21, 0x23, 0x1C, 0x28, 0x66, 0x37, 0x00, 0x00, 0xD1, 0x00, 0x22, 0x1E .byte 0x1D, 0x29, 0x66, 0x44, 0x00, 0x00, 0xDC, 0x00, 0x29, 0x25, 0x1E, 0x2A, 0x75, 0x03, 0x00, 0x00 .byte 0xE5, 0x00, 0x24, 0x26, 0x1F, 0x2B, 0x75, 0x10, 0x00, 0x00, 0xF2, 0x00, 0x25, 0x27, 0x20, 0x2C .byte 0x75, 0x1D, 0x00, 0x00, 0xFD, 0x00, 0x26, 0x28, 0x21, 0x2D, 0x75, 0x2A, 0x00, 0x00, 0xC5, 0x00 .byte 0x27, 0x29, 0x22, 0x2E, 0x75, 0x37, 0x00, 0x00, 0xD2, 0x00, 0x28, 0x24, 0x23, 0x2F, 0x75, 0x44 .byte 0x00, 0x00, 0xDD, 0x00, 0x2F, 0x2B, 0x24, 0x30, 0x84, 0x03, 0x00, 0x00, 0xE6, 0x00, 0x2A, 0x2C .byte 0x25, 0x31, 0x84, 0x10, 0x00, 0x00, 0xF3, 0x00, 0x2B, 0x2D, 0x26, 0x32, 0x84, 0x1D, 0x00, 0x00 .byte 0xFF, 0x00, 0x2C, 0x2E, 0x27, 0x33, 0x84, 0x2A, 0x00, 0x00, 0xC6, 0x00, 0x2D, 0x2F, 0x28, 0x34 .byte 0x84, 0x37, 0x00, 0x00, 0xD3, 0x00, 0x2E, 0x2A, 0x29, 0x35, 0x84, 0x44, 0x00, 0x00, 0x9F, 0x00 .byte 0x35, 0x31, 0x2A, 0x36, 0x93, 0x03, 0x00, 0x00, 0xE7, 0x00, 0x30, 0x32, 0x2B, 0x37, 0x93, 0x10 .byte 0x00, 0x00, 0xF4, 0x00, 0x31, 0x33, 0x2C, 0x02, 0x93, 0x1D, 0x00, 0x00, 0x9E, 0x00, 0x32, 0x34 .byte 0x2D, 0x39, 0x93, 0x2A, 0x00, 0x00, 0xC7, 0x00, 0x33, 0x35, 0x2E, 0x3A, 0x93, 0x37, 0x00, 0x00 .byte 0xD4, 0x00, 0x34, 0x30, 0x2F, 0x3B, 0x93, 0x44, 0x00, 0x00, 0x8E, 0x00, 0x3B, 0x37, 0x30, 0x3C .byte 0xA2, 0x03, 0x00, 0x00, 0xE8, 0x00, 0x36, 0x39, 0x31, 0x3D, 0xA2, 0x10, 0x00, 0x00, 0xF5, 0x00 .byte 0x37, 0x39, 0x32, 0x3E, 0xA2, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x37, 0x3A, 0x33, 0x3F, 0xA2, 0x2A .byte 0x00, 0x00, 0xC8, 0x00, 0x39, 0x3B, 0x34, 0x40, 0xA2, 0x37, 0x00, 0x00, 0xD5, 0x00, 0x3A, 0x36 .byte 0x35, 0x41, 0xA2, 0x44, 0x00, 0x00, 0xDF, 0x00, 0x41, 0x3D, 0x36, 0x42, 0xB1, 0x03, 0x00, 0x00 .byte 0xE9, 0x00, 0x3C, 0x3F, 0x37, 0x43, 0xB1, 0x10, 0x00, 0x00, 0xF6, 0x00, 0x3D, 0x3F, 0x38, 0x44 .byte 0xB1, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x3D, 0x40, 0x39, 0x45, 0xB1, 0x2A, 0x00, 0x00, 0xC9, 0x00 .byte 0x3F, 0x41, 0x3A, 0x46, 0xB1, 0x37, 0x00, 0x00, 0xD6, 0x00, 0x40, 0x3C, 0x3B, 0x05, 0xB1, 0x44 .byte 0x00, 0x00, 0x85, 0x00, 0x46, 0x43, 0x3C, 0x48, 0xC0, 0x03, 0x00, 0x00, 0xEA, 0x00, 0x42, 0x45 .byte 0x3D, 0x49, 0xC0, 0x10, 0x00, 0x00, 0xF8, 0x00, 0x43, 0x45, 0x3E, 0x4A, 0xC0, 0x1D, 0x00, 0x00 .byte 0x10, 0x01, 0x43, 0x46, 0x3F, 0x4B, 0xC0, 0x2A, 0x00, 0x00, 0xCA, 0x00, 0x45, 0x42, 0x40, 0x4C .byte 0xC0, 0x37, 0x00, 0x00, 0xD8, 0x00, 0x46, 0x42, 0x41, 0x4D, 0xC0, 0x44, 0x00, 0x00, 0x10, 0x01 .byte 0x4C, 0x49, 0x42, 0x4E, 0xCF, 0x03, 0x00, 0x00, 0xEB, 0x00, 0x48, 0x4B, 0x43, 0x4F, 0xCF, 0x10 .byte 0x00, 0x00, 0x9C, 0x00, 0x49, 0x4B, 0x44, 0x50, 0xCF, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x49, 0x4C .byte 0x45, 0x51, 0xCF, 0x2A, 0x00, 0x00, 0xCB, 0x00, 0x4B, 0x48, 0x46, 0x52, 0xCF, 0x37, 0x00, 0x00 .byte 0x8C, 0x00, 0x4C, 0x48, 0x47, 0x53, 0xCF, 0x44, 0x00, 0x00, 0x10, 0x01, 0x52, 0x4F, 0x48, 0x06 .byte 0xDE, 0x03, 0x00, 0x00, 0xEC, 0x00, 0x4E, 0x51, 0x49, 0x01, 0xDE, 0x10, 0x00, 0x00, 0x9A, 0x00 .byte 0x4F, 0x51, 0x4A, 0x08, 0xDE, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x4F, 0x52, 0x4B, 0x03, 0xDE, 0x2A .byte 0x00, 0x00, 0xCC, 0x00, 0x51, 0x4E, 0x4C, 0x04, 0xDE, 0x37, 0x00, 0x00, 0x8A, 0x00, 0x52, 0x4E .byte 0x4D, 0x05, 0xDE, 0x44, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x00 .byte 0x11, 0x01, 0x00, 0x00 .global _0209BF18 _0209BF18: .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x10, 0x01, 0x05, 0x02 .byte 0x4F, 0x07, 0x04, 0x10, 0x00, 0x00, 0x04, 0x01, 0x01, 0x03, 0x50, 0x08, 0x04, 0x1D, 0x00, 0x00 .byte 0x05, 0x01, 0x02, 0x04, 0x51, 0x09, 0x04, 0x2A, 0x03, 0x00, 0x09, 0x01, 0x03, 0x05, 0x52, 0x0A .byte 0x04, 0x37, 0x03, 0x00, 0x07, 0x01, 0x04, 0x01, 0x53, 0x0B, 0x04, 0x44, 0x03, 0x00, 0x08, 0x01 .byte 0x0B, 0x07, 0x4E, 0x0C, 0x2A, 0x03, 0x00, 0x00, 0x61, 0x00, 0x06, 0x08, 0x01, 0x0D, 0x2A, 0x10 .byte 0x00, 0x00, 0x6E, 0x00, 0x07, 0x09, 0x02, 0x0E, 0x2A, 0x1D, 0x00, 0x00, 0x41, 0x00, 0x08, 0x0A .byte 0x03, 0x0F, 0x2A, 0x2A, 0x00, 0x00, 0x4E, 0x00, 0x09, 0x0B, 0x04, 0x10, 0x2A, 0x37, 0x00, 0x00 .byte 0x31, 0x00, 0x0A, 0x06, 0x05, 0x11, 0x2A, 0x44, 0x00, 0x00, 0x2C, 0x00, 0x11, 0x0D, 0x06, 0x12 .byte 0x39, 0x03, 0x00, 0x00, 0x62, 0x00, 0x0C, 0x0E, 0x07, 0x13, 0x39, 0x10, 0x00, 0x00, 0x6F, 0x00 .byte 0x0D, 0x0F, 0x08, 0x14, 0x39, 0x1D, 0x00, 0x00, 0x42, 0x00, 0x0E, 0x10, 0x09, 0x15, 0x39, 0x2A .byte 0x00, 0x00, 0x4F, 0x00, 0x0F, 0x11, 0x0A, 0x16, 0x39, 0x37, 0x00, 0x00, 0x32, 0x00, 0x10, 0x0C .byte 0x0B, 0x17, 0x39, 0x44, 0x00, 0x00, 0x2E, 0x00, 0x17, 0x13, 0x0C, 0x18, 0x48, 0x03, 0x00, 0x00 .byte 0x63, 0x00, 0x12, 0x14, 0x0D, 0x19, 0x48, 0x10, 0x00, 0x00, 0x70, 0x00, 0x13, 0x15, 0x0E, 0x1A .byte 0x48, 0x1D, 0x00, 0x00, 0x43, 0x00, 0x14, 0x16, 0x0F, 0x1B, 0x48, 0x2A, 0x00, 0x00, 0x50, 0x00 .byte 0x15, 0x17, 0x10, 0x1C, 0x48, 0x37, 0x00, 0x00, 0x33, 0x00, 0x16, 0x12, 0x11, 0x1D, 0x48, 0x44 .byte 0x00, 0x00, 0xA1, 0x00, 0x1D, 0x19, 0x12, 0x1E, 0x57, 0x03, 0x00, 0x00, 0x64, 0x00, 0x18, 0x1A .byte 0x13, 0x1F, 0x57, 0x10, 0x00, 0x00, 0x71, 0x00, 0x19, 0x1B, 0x14, 0x20, 0x57, 0x1D, 0x00, 0x00 .byte 0x44, 0x00, 0x1A, 0x1C, 0x15, 0x21, 0x57, 0x2A, 0x00, 0x00, 0x51, 0x00, 0x1B, 0x1D, 0x16, 0x22 .byte 0x57, 0x37, 0x00, 0x00, 0x34, 0x00, 0x1C, 0x18, 0x17, 0x23, 0x57, 0x44, 0x00, 0x00, 0x21, 0x00 .byte 0x23, 0x1F, 0x18, 0x24, 0x66, 0x03, 0x00, 0x00, 0x65, 0x00, 0x1E, 0x20, 0x19, 0x25, 0x66, 0x10 .byte 0x00, 0x00, 0x72, 0x00, 0x1F, 0x21, 0x1A, 0x26, 0x66, 0x1D, 0x00, 0x00, 0x45, 0x00, 0x20, 0x22 .byte 0x1B, 0x27, 0x66, 0x2A, 0x00, 0x00, 0x52, 0x00, 0x21, 0x23, 0x1C, 0x28, 0x66, 0x37, 0x00, 0x00 .byte 0x35, 0x00, 0x22, 0x1E, 0x1D, 0x29, 0x66, 0x44, 0x00, 0x00, 0xBF, 0x00, 0x29, 0x25, 0x1E, 0x2A .byte 0x75, 0x03, 0x00, 0x00, 0x66, 0x00, 0x24, 0x26, 0x1F, 0x2B, 0x75, 0x10, 0x00, 0x00, 0x73, 0x00 .byte 0x25, 0x27, 0x20, 0x2C, 0x75, 0x1D, 0x00, 0x00, 0x46, 0x00, 0x26, 0x28, 0x21, 0x2D, 0x75, 0x2A .byte 0x00, 0x00, 0x53, 0x00, 0x27, 0x29, 0x22, 0x2E, 0x75, 0x37, 0x00, 0x00, 0x36, 0x00, 0x28, 0x24 .byte 0x23, 0x2F, 0x75, 0x44, 0x00, 0x00, 0x3F, 0x00, 0x2F, 0x2B, 0x24, 0x30, 0x84, 0x03, 0x00, 0x00 .byte 0x67, 0x00, 0x2A, 0x2C, 0x25, 0x31, 0x84, 0x10, 0x00, 0x00, 0x74, 0x00, 0x2B, 0x2D, 0x26, 0x32 .byte 0x84, 0x1D, 0x00, 0x00, 0x47, 0x00, 0x2C, 0x2E, 0x27, 0x33, 0x84, 0x2A, 0x00, 0x00, 0x54, 0x00 .byte 0x2D, 0x2F, 0x28, 0x34, 0x84, 0x37, 0x00, 0x00, 0x37, 0x00, 0x2E, 0x2A, 0x29, 0x35, 0x84, 0x44 .byte 0x00, 0x00, 0x91, 0x00, 0x35, 0x31, 0x2A, 0x36, 0x93, 0x03, 0x00, 0x00, 0x68, 0x00, 0x30, 0x32 .byte 0x2B, 0x37, 0x93, 0x10, 0x00, 0x00, 0x75, 0x00, 0x31, 0x33, 0x2C, 0x38, 0x93, 0x1D, 0x00, 0x00 .byte 0x48, 0x00, 0x32, 0x34, 0x2D, 0x39, 0x93, 0x2A, 0x00, 0x00, 0x55, 0x00, 0x33, 0x35, 0x2E, 0x3A .byte 0x93, 0x37, 0x00, 0x00, 0x38, 0x00, 0x34, 0x30, 0x2F, 0x3B, 0x93, 0x44, 0x00, 0x00, 0x92, 0x00 .byte 0x3B, 0x37, 0x30, 0x3C, 0xA2, 0x03, 0x00, 0x00, 0x69, 0x00, 0x36, 0x38, 0x31, 0x3D, 0xA2, 0x10 .byte 0x00, 0x00, 0x76, 0x00, 0x37, 0x39, 0x32, 0x3E, 0xA2, 0x1D, 0x00, 0x00, 0x49, 0x00, 0x38, 0x3A .byte 0x33, 0x3F, 0xA2, 0x2A, 0x00, 0x00, 0x56, 0x00, 0x39, 0x3B, 0x34, 0x40, 0xA2, 0x37, 0x00, 0x00 .byte 0x39, 0x00, 0x3A, 0x36, 0x35, 0x41, 0xA2, 0x44, 0x00, 0x00, 0x93, 0x00, 0x41, 0x3D, 0x36, 0x42 .byte 0xB1, 0x03, 0x00, 0x00, 0x6A, 0x00, 0x3C, 0x3E, 0x37, 0x43, 0xB1, 0x10, 0x00, 0x00, 0x77, 0x00 .byte 0x3D, 0x3F, 0x38, 0x44, 0xB1, 0x1D, 0x00, 0x00, 0x4A, 0x00, 0x3E, 0x40, 0x39, 0x45, 0xB1, 0x2A .byte 0x00, 0x00, 0x57, 0x00, 0x3F, 0x41, 0x3A, 0x46, 0xB1, 0x37, 0x00, 0x00, 0x30, 0x00, 0x40, 0x3C .byte 0x3B, 0x47, 0xB1, 0x44, 0x00, 0x00, 0x94, 0x00, 0x47, 0x43, 0x3C, 0x48, 0xC0, 0x03, 0x00, 0x00 .byte 0x6B, 0x00, 0x42, 0x44, 0x3D, 0x49, 0xC0, 0x10, 0x00, 0x00, 0x78, 0x00, 0x43, 0x45, 0x3E, 0x4A .byte 0xC0, 0x1D, 0x00, 0x00, 0x4B, 0x00, 0x44, 0x46, 0x3F, 0x4B, 0xC0, 0x2A, 0x00, 0x00, 0x58, 0x00 .byte 0x45, 0x47, 0x40, 0x4C, 0xC0, 0x37, 0x00, 0x00, 0x3A, 0x00, 0x46, 0x42, 0x41, 0x4D, 0xC0, 0x44 .byte 0x00, 0x00, 0xBD, 0x00, 0x4D, 0x49, 0x42, 0x4E, 0xCF, 0x03, 0x00, 0x00, 0x6C, 0x00, 0x48, 0x4A .byte 0x43, 0x4F, 0xCF, 0x10, 0x00, 0x00, 0x79, 0x00, 0x49, 0x4B, 0x44, 0x50, 0xCF, 0x1D, 0x00, 0x00 .byte 0x4C, 0x00, 0x4A, 0x4C, 0x45, 0x51, 0xCF, 0x2A, 0x00, 0x00, 0x59, 0x00, 0x4B, 0x4D, 0x46, 0x52 .byte 0xCF, 0x37, 0x00, 0x00, 0x2B, 0x00, 0x4C, 0x48, 0x47, 0x53, 0xCF, 0x44, 0x00, 0x00, 0xBE, 0x00 .byte 0x53, 0x4F, 0x48, 0x06, 0xDE, 0x03, 0x00, 0x00, 0x6D, 0x00, 0x4E, 0x50, 0x49, 0x01, 0xDE, 0x10 .byte 0x00, 0x00, 0x7A, 0x00, 0x4F, 0x51, 0x4A, 0x02, 0xDE, 0x1D, 0x00, 0x00, 0x4D, 0x00, 0x50, 0x52 .byte 0x4B, 0x03, 0xDE, 0x2A, 0x00, 0x00, 0x5A, 0x00, 0x51, 0x53, 0x4C, 0x04, 0xDE, 0x37, 0x00, 0x00 .byte 0x2D, 0x00, 0x52, 0x4E, 0x4D, 0x05, 0xDE, 0x44, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x03, 0x02, 0x00, 0x11, 0x01, 0x00, 0x00 .global _0209C26C _0209C26C: .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00 .byte 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x1D, 0x00, 0x00, 0x10, 0x01, 0x05, 0x04, 0x51, 0x09, 0x04, 0x2A, 0x03, 0x00, 0x09, 0x01 .byte 0x03, 0x05, 0x52, 0x0A, 0x04, 0x37, 0x03, 0x00, 0x07, 0x01, 0x04, 0x03, 0x53, 0x0B, 0x04, 0x44 .byte 0x03, 0x00, 0x08, 0x01, 0x0B, 0x07, 0x4E, 0x0C, 0x2A, 0x03, 0x00, 0x00, 0x61, 0x00, 0x06, 0x08 .byte 0x4F, 0x0D, 0x2A, 0x10, 0x00, 0x00, 0x6E, 0x00, 0x07, 0x09, 0x50, 0x0E, 0x2A, 0x1D, 0x00, 0x00 .byte 0x41, 0x00, 0x08, 0x0A, 0x03, 0x0F, 0x2A, 0x2A, 0x00, 0x00, 0x4E, 0x00, 0x09, 0x0B, 0x04, 0x10 .byte 0x2A, 0x37, 0x00, 0x00, 0x31, 0x00, 0x0A, 0x06, 0x05, 0x11, 0x2A, 0x44, 0x00, 0x00, 0x2C, 0x00 .byte 0x11, 0x0D, 0x06, 0x12, 0x39, 0x03, 0x00, 0x00, 0x62, 0x00, 0x0C, 0x0E, 0x07, 0x13, 0x39, 0x10 .byte 0x00, 0x00, 0x6F, 0x00, 0x0D, 0x0F, 0x08, 0x14, 0x39, 0x1D, 0x00, 0x00, 0x42, 0x00, 0x0E, 0x10 .byte 0x09, 0x15, 0x39, 0x2A, 0x00, 0x00, 0x4F, 0x00, 0x0F, 0x11, 0x0A, 0x16, 0x39, 0x37, 0x00, 0x00 .byte 0x32, 0x00, 0x10, 0x0C, 0x0B, 0x17, 0x39, 0x44, 0x00, 0x00, 0x2E, 0x00, 0x17, 0x13, 0x0C, 0x18 .byte 0x48, 0x03, 0x00, 0x00, 0x63, 0x00, 0x12, 0x14, 0x0D, 0x19, 0x48, 0x10, 0x00, 0x00, 0x70, 0x00 .byte 0x13, 0x15, 0x0E, 0x1A, 0x48, 0x1D, 0x00, 0x00, 0x43, 0x00, 0x14, 0x16, 0x0F, 0x1B, 0x48, 0x2A .byte 0x00, 0x00, 0x50, 0x00, 0x15, 0x17, 0x10, 0x1C, 0x48, 0x37, 0x00, 0x00, 0x33, 0x00, 0x16, 0x12 .byte 0x11, 0x1D, 0x48, 0x44, 0x00, 0x00, 0xA1, 0x00, 0x1D, 0x19, 0x12, 0x1E, 0x57, 0x03, 0x00, 0x00 .byte 0x64, 0x00, 0x18, 0x1A, 0x13, 0x1F, 0x57, 0x10, 0x00, 0x00, 0x71, 0x00, 0x19, 0x1B, 0x14, 0x20 .byte 0x57, 0x1D, 0x00, 0x00, 0x44, 0x00, 0x1A, 0x1C, 0x15, 0x21, 0x57, 0x2A, 0x00, 0x00, 0x51, 0x00 .byte 0x1B, 0x1D, 0x16, 0x22, 0x57, 0x37, 0x00, 0x00, 0x34, 0x00, 0x1C, 0x18, 0x17, 0x23, 0x57, 0x44 .byte 0x00, 0x00, 0x21, 0x00, 0x23, 0x1F, 0x18, 0x24, 0x66, 0x03, 0x00, 0x00, 0x65, 0x00, 0x1E, 0x20 .byte 0x19, 0x25, 0x66, 0x10, 0x00, 0x00, 0x72, 0x00, 0x1F, 0x21, 0x1A, 0x26, 0x66, 0x1D, 0x00, 0x00 .byte 0x45, 0x00, 0x20, 0x22, 0x1B, 0x27, 0x66, 0x2A, 0x00, 0x00, 0x52, 0x00, 0x21, 0x23, 0x1C, 0x28 .byte 0x66, 0x37, 0x00, 0x00, 0x35, 0x00, 0x22, 0x1E, 0x1D, 0x29, 0x66, 0x44, 0x00, 0x00, 0xBF, 0x00 .byte 0x29, 0x25, 0x1E, 0x2A, 0x75, 0x03, 0x00, 0x00, 0x66, 0x00, 0x24, 0x26, 0x1F, 0x2B, 0x75, 0x10 .byte 0x00, 0x00, 0x73, 0x00, 0x25, 0x27, 0x20, 0x2C, 0x75, 0x1D, 0x00, 0x00, 0x46, 0x00, 0x26, 0x28 .byte 0x21, 0x2D, 0x75, 0x2A, 0x00, 0x00, 0x53, 0x00, 0x27, 0x29, 0x22, 0x2E, 0x75, 0x37, 0x00, 0x00 .byte 0x36, 0x00, 0x28, 0x24, 0x23, 0x2F, 0x75, 0x44, 0x00, 0x00, 0x3F, 0x00, 0x2F, 0x2B, 0x24, 0x30 .byte 0x84, 0x03, 0x00, 0x00, 0x67, 0x00, 0x2A, 0x2C, 0x25, 0x31, 0x84, 0x10, 0x00, 0x00, 0x74, 0x00 .byte 0x2B, 0x2D, 0x26, 0x32, 0x84, 0x1D, 0x00, 0x00, 0x47, 0x00, 0x2C, 0x2E, 0x27, 0x33, 0x84, 0x2A .byte 0x00, 0x00, 0x54, 0x00, 0x2D, 0x2F, 0x28, 0x34, 0x84, 0x37, 0x00, 0x00, 0x37, 0x00, 0x2E, 0x2A .byte 0x29, 0x35, 0x84, 0x44, 0x00, 0x00, 0x91, 0x00, 0x35, 0x31, 0x2A, 0x36, 0x93, 0x03, 0x00, 0x00 .byte 0x68, 0x00, 0x30, 0x32, 0x2B, 0x37, 0x93, 0x10, 0x00, 0x00, 0x75, 0x00, 0x31, 0x33, 0x2C, 0x38 .byte 0x93, 0x1D, 0x00, 0x00, 0x48, 0x00, 0x32, 0x34, 0x2D, 0x39, 0x93, 0x2A, 0x00, 0x00, 0x55, 0x00 .byte 0x33, 0x35, 0x2E, 0x3A, 0x93, 0x37, 0x00, 0x00, 0x38, 0x00, 0x34, 0x30, 0x2F, 0x3B, 0x93, 0x44 .byte 0x00, 0x00, 0x92, 0x00, 0x3B, 0x37, 0x30, 0x3C, 0xA2, 0x03, 0x00, 0x00, 0x69, 0x00, 0x36, 0x38 .byte 0x31, 0x3D, 0xA2, 0x10, 0x00, 0x00, 0x76, 0x00, 0x37, 0x39, 0x32, 0x3E, 0xA2, 0x1D, 0x00, 0x00 .byte 0x49, 0x00, 0x38, 0x3A, 0x33, 0x3F, 0xA2, 0x2A, 0x00, 0x00, 0x56, 0x00, 0x39, 0x3B, 0x34, 0x40 .byte 0xA2, 0x37, 0x00, 0x00, 0x39, 0x00, 0x3A, 0x36, 0x35, 0x41, 0xA2, 0x44, 0x00, 0x00, 0x93, 0x00 .byte 0x41, 0x3D, 0x36, 0x42, 0xB1, 0x03, 0x00, 0x00, 0x6A, 0x00, 0x3C, 0x3E, 0x37, 0x43, 0xB1, 0x10 .byte 0x00, 0x00, 0x77, 0x00, 0x3D, 0x3F, 0x38, 0x44, 0xB1, 0x1D, 0x00, 0x00, 0x4A, 0x00, 0x3E, 0x40 .byte 0x39, 0x45, 0xB1, 0x2A, 0x00, 0x00, 0x57, 0x00, 0x3F, 0x41, 0x3A, 0x46, 0xB1, 0x37, 0x00, 0x00 .byte 0x30, 0x00, 0x40, 0x3C, 0x3B, 0x47, 0xB1, 0x44, 0x00, 0x00, 0x94, 0x00, 0x47, 0x43, 0x3C, 0x48 .byte 0xC0, 0x03, 0x00, 0x00, 0x6B, 0x00, 0x42, 0x44, 0x3D, 0x49, 0xC0, 0x10, 0x00, 0x00, 0x78, 0x00 .byte 0x43, 0x45, 0x3E, 0x4A, 0xC0, 0x1D, 0x00, 0x00, 0x4B, 0x00, 0x44, 0x46, 0x3F, 0x4B, 0xC0, 0x2A .byte 0x00, 0x00, 0x58, 0x00, 0x45, 0x47, 0x40, 0x4C, 0xC0, 0x37, 0x00, 0x00, 0x3A, 0x00, 0x46, 0x42 .byte 0x41, 0x4D, 0xC0, 0x44, 0x00, 0x00, 0xBD, 0x00, 0x4D, 0x49, 0x42, 0x4E, 0xCF, 0x03, 0x00, 0x00 .byte 0x6C, 0x00, 0x48, 0x4A, 0x43, 0x4F, 0xCF, 0x10, 0x00, 0x00, 0x79, 0x00, 0x49, 0x4B, 0x44, 0x50 .byte 0xCF, 0x1D, 0x00, 0x00, 0x4C, 0x00, 0x4A, 0x4C, 0x45, 0x51, 0xCF, 0x2A, 0x00, 0x00, 0x59, 0x00 .byte 0x4B, 0x4D, 0x46, 0x52, 0xCF, 0x37, 0x00, 0x00, 0x2B, 0x00, 0x4C, 0x48, 0x47, 0x53, 0xCF, 0x44 .byte 0x00, 0x00, 0xBE, 0x00, 0x53, 0x4F, 0x48, 0x06, 0xDE, 0x03, 0x00, 0x00, 0x6D, 0x00, 0x4E, 0x50 .byte 0x49, 0x07, 0xDE, 0x10, 0x00, 0x00, 0x7A, 0x00, 0x4F, 0x51, 0x4A, 0x08, 0xDE, 0x1D, 0x00, 0x00 .byte 0x4D, 0x00, 0x50, 0x52, 0x4B, 0x03, 0xDE, 0x2A, 0x00, 0x00, 0x5A, 0x00, 0x51, 0x53, 0x4C, 0x04 .byte 0xDE, 0x37, 0x00, 0x00, 0x2D, 0x00, 0x52, 0x4E, 0x4D, 0x05, 0xDE, 0x44, 0x00, 0x00, 0x20, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x00, 0x11, 0x01, 0x00, 0x00 .global _0209C5C0 _0209C5C0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x01, 0x0C, 0x05, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C5D0 _0209C5D0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x01, 0x0E, 0x07, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C5E0 _0209C5E0: .byte 0x01, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00 .byte 0xA0, 0x86, 0x01, 0x00, 0x40, 0x42, 0x0F, 0x00, 0x80, 0x96, 0x98, 0x00, 0x00, 0xE1, 0xF5, 0x05 .global _0209C604 _0209C604: .word _0209C6F0 .byte 0xCF, 0x04, 0x00, 0x00 .global _0209C60C _0209C60C: .byte 0x0D, 0x03, 0x04, 0x03, 0x05, 0x03, 0x06, 0x03 .byte 0x07, 0x03, 0x00, 0x00 .global _0209C618 _0209C618: .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x02, 0x0B, 0x00, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C628 _0209C628: .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x02, 0x0B, 0x08, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C638 _0209C638: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x0F, 0x02, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C648 _0209C648: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x1C, 0x04, 0x00, 0xFD, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C658 _0209C658: .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x02, 0x0B, 0x00, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C668 _0209C668: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x0F, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C678 _0209C678: .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x02, 0x0B, 0x00, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C688 _0209C688: .byte 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x09, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00 .global _0209C6B8 _0209C6B8: .byte 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x0A, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x03, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .global _0209C6F0 _0209C6F0: .byte 0x6D, 0x65, 0x6E, 0x75 .byte 0x5F, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6F, 0x75 .byte 0x73, 0x65, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00 .global _0209C70C _0209C70C: .word sub_0203BCEC .word sub_0203BE18 .word sub_0203BEDC .word sub_0203BF10 .word sub_0203C030 .word sub_0203C088 .word sub_0203C0D4 .word sub_0203C124 .word sub_0203C1F8 .word sub_0203C32C .word sub_0203C37C .word sub_0203C3AC .word sub_0203C408 .word sub_0203C4B8 .word sub_0203C4F0 .word sub_0203C53C .word sub_0203C56C .word sub_0203C5C8 .word sub_0203C688 .word sub_0203C6C0 .word sub_0203C70C .word sub_0203C73C .global _0209C764 _0209C764: .byte 0x6D, 0x65, 0x6E, 0x75, 0x4D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x57, 0x61, 0x72, 0x65, 0x68 .byte 0x6F, 0x75, 0x73, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33 .byte 0x64, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x33, 0x64, 0x20, 0x69, 0x64, 0x20, 0x25, 0x33 .byte 0x64, 0x0A, 0x00, 0x00 .global _0209C798 _0209C798: .byte 0x25, 0x73, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A .byte 0x33, 0x36, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D .byte 0x00, 0x00, 0x00, 0x00 .global _0209C7B8 _0209C7B8: .byte 0x25, 0x73, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A .byte 0x33, 0x36, 0x5D, 0x25, 0x73, 0x00, 0x00, 0x00 .global _0209C7CC _0209C7CC: .byte 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .global _0209C7D4 _0209C7D4: .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x05, 0x14, 0x0F, 0x01, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C7E4 _0209C7E4: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x1C, 0x04, 0x01, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C7F4 _0209C7F4: .word sub_0203CA40 .word sub_0203CA6C .word sub_0203CA90 .word sub_0203CACC .word sub_0203CAF0 .word sub_0203CB58 .word sub_0203CB84 .word sub_0203CC60 .word sub_0203CC84 .word sub_0203CCB0 .word sub_0203CCD4 .global _0209C820 _0209C820: .byte 0x5B, 0x76, 0x61, 0x6C .byte 0x75, 0x65, 0x3A, 0x30, 0x3A, 0x33, 0x5D, 0x00 .global _0209C82C _0209C82C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25 .byte 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00 .global _0209C83C _0209C83C: .byte 0x25, 0x73, 0x20, 0x28, 0x25, 0x73, 0x29, 0x00 .global _0209C844 _0209C844: .byte 0xF7, 0x00 .global _0209C846 _0209C846: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C850 _0209C850: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209C85C _0209C85C: .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C86C _0209C86C: .byte 0xA7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xA8, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209C884 _0209C884: .byte 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209C89C _0209C89C: .byte 0x00, 0x00, 0x4F, 0x09, 0x70, 0x09, 0x71, 0x09 .byte 0x50, 0x09, 0x74, 0x09 .global _0209C8A8 _0209C8A8: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x14, 0x12, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C8B8 _0209C8B8: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x18, 0x13, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C8C8 _0209C8C8: .byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209C928 _0209C928: .byte 0x00, 0x80, 0xFF, 0xFF .global _0209C92C _0209C92C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x0E .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C93C _0209C93C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x0C .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C94C _0209C94C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x0D, 0x12, 0x0A .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C95C _0209C95C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x0C .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C96C _0209C96C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25 .byte 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00 .global _0209C97C _0209C97C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x18, 0x13 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C98C _0209C98C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x00 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C99C _0209C99C: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x00 .byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C9AC _0209C9AC: .byte 0x74, 0x0A, 0x00, 0x00 .global _0209C9B0 _0209C9B0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x75, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x0A, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global _0209C9CC _0209C9CC: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x00, 0x00 .global _0209C9D4 _0209C9D4: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x32, 0x5D, 0x00, 0x00 .global _0209C9DC _0209C9DC: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x31, 0x5D, 0x00, 0x00 .global _0209C9E4 _0209C9E4: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209C9F4 _0209C9F4: .byte 0x25, 0x64, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00 .global _0209C9FC _0209C9FC: .byte 0x5B, 0x4D, 0x53, 0x3A, 0x31, 0x5D, 0x25, 0x73 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CA08 _0209CA08: .byte 0x5B, 0x43, 0x53, 0x3A, 0x57, 0x5D, 0x25, 0x64, 0x25, 0x73, 0x5B, 0x43 .byte 0x52, 0x5D, 0x00, 0x00 .global _0209CA18 _0209CA18: .byte 0x5B, 0x43, 0x53, 0x3A, 0x57, 0x5D, 0x5B, 0x4D, 0x53, 0x3A, 0x31, 0x5D .byte 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00 .global _0209CA2C _0209CA2C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x57, 0x5D, 0x25, 0x73 .byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _0209CA3C _0209CA3C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _0209CA48 _0209CA48: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x12, 0x02, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CA58 _0209CA58: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CA68 _0209CA68: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x12, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CA78 _0209CA78: .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x02, 0x0B, 0x14, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CA88 _0209CA88: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x1C, 0x04, 0x00, 0xFD, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CA98 _0209CA98: .word sub_020435CC .word sub_0204376C .word sub_020437C4 .word sub_02043844 .word sub_02043944 .word sub_020439FC .word sub_02043B7C .global _0209CAB4 _0209CAB4: .byte 0xF6, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xF4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xF5, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0xF8, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0xF9, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xFA, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0xFD, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .global _0209CB0C _0209CB0C: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x14, 0x08, 0x02 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x14, 0x08, 0x02 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x12, 0x08, 0x04 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CB3C _0209CB3C: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x12, 0x02 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CB4C _0209CB4C: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x0F, 0x08, 0x03 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x04 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CB6C _0209CB6C: .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6A, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _0209CB78 _0209CB78: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x0A, 0x02, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CB88 _0209CB88: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x0E, 0x12, 0x04, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CB98 _0209CB98: .byte 0x00, 0x00, 0x00, 0x00, 0x0E, 0x02, 0x10, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CBA8 _0209CBA8: .byte 0x5B, 0x4D, 0x3A, 0x48, 0x37, 0x5D, 0x00, 0x00 .global _0209CBB0 _0209CBB0: .byte 0x5B, 0x4D, 0x3A, 0x48 .byte 0x30, 0x5D, 0x00, 0x00 .global _0209CBB8 _0209CBB8: .byte 0x5B, 0x4D, 0x3A, 0x48, 0x31, 0x5D, 0x00, 0x00 .global _0209CBC0 _0209CBC0: .byte 0x5B, 0x4D, 0x3A, 0x48 .byte 0x32, 0x5D, 0x00, 0x00 .global _0209CBC8 _0209CBC8: .byte 0x5B, 0x4D, 0x3A, 0x48, 0x33, 0x5D, 0x00, 0x00 .global _0209CBD0 _0209CBD0: .byte 0x5B, 0x4D, 0x3A, 0x48 .byte 0x34, 0x5D, 0x00, 0x00 .global _0209CBD8 _0209CBD8: .byte 0x5B, 0x4D, 0x3A, 0x48, 0x35, 0x5D, 0x00, 0x00 .global _0209CBE0 _0209CBE0: .byte 0x5B, 0x4D, 0x3A, 0x48 .byte 0x36, 0x5D, 0x00, 0x00 .global _0209CBE8 _0209CBE8: .byte 0x5B, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x30, 0x5D, 0x5B, 0x43 .byte 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x38, 0x30, 0x5D, 0x5B, 0x73, 0x74, 0x72, 0x69 .byte 0x6E, 0x67, 0x3A, 0x31, 0x5D, 0x00, 0x00, 0x00 .global _0209CC0C _0209CC0C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _0209CC18 _0209CC18: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x06, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CC28 _0209CC28: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x18, 0x13, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CC38 _0209CC38: .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _0209CC48 _0209CC48: .byte 0x78, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x79, 0x02, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209CC60 _0209CC60: .byte 0xD2, 0x02, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xD3, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xD4, 0x02, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209CC80 _0209CC80: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x03, 0x03, 0x1A, 0x10, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CC90 _0209CC90: .byte 0x88, 0x00, 0x00, 0x00 .byte 0xB0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00 .global _0209CCA0 _0209CCA0: .byte 0x00, 0x00, 0x00, 0x00 .word sub_0204682C .word sub_02046898 .word sub_020468D4 .global _0209CCB0 _0209CCB0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02047578 .word sub_020474E0 .global _0209CCC0 _0209CCC0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x1C, 0x14, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CCD0 _0209CCD0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x1C, 0x14, 0x01, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CCE0 _0209CCE0: .byte 0x5B, 0x52, 0x5D, 0x00 .global PARTNER_TALK_KIND_TABLE PARTNER_TALK_KIND_TABLE: .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xA9, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x73, 0x03, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xF0, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xDD, 0x02, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x7D, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xA0, 0x03, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _0209CD3C _0209CD3C: .byte 0x50, 0x4F, 0x4B, 0x45, 0x5F, 0x44, 0x55, 0x4E .byte 0x5F, 0x53, 0x4F, 0x52, 0x41, 0x00, 0x00, 0x00 .global _0209CD4C _0209CD4C: .byte 0x4E, 0x6F, 0x74, 0x65, 0x20, 0x53, 0x65, 0x74 .byte 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x64, 0x20, 0x2D, 0x3E .byte 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _0209CD6C _0209CD6C: .byte 0x4E, 0x6F, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65 .byte 0x20, 0x42, 0x61, 0x73, 0x65, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _0209CD84 _0209CD84: .byte 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x25, 0x66, 0x0A, 0x00, 0x00 .global _0209CD94 _0209CD94: .byte 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x25, 0x66, 0x0A, 0x00, 0x00 .global _0209CDA4 _0209CDA4: .byte 0x4E, 0x6F, 0x74, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x20, 0x42, 0x61, 0x73, 0x65, 0x20, 0x25, 0x64 .byte 0x0A, 0x00, 0x00, 0x00 .global _0209CDB8 _0209CDB8: .byte 0x4E, 0x6F, 0x74, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x20, 0x42, 0x61, 0x73 .byte 0x65, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00 .global _0209CDD0 _0209CDD0: .byte 0x00, 0x00, 0x00, 0x00 .word sub_02049684 .word sub_020496F4 .word sub_02049730 .global _0209CDE0 _0209CDE0: .byte 0x49, 0x02, 0x4B, 0x02 .byte 0x3B, 0x02, 0x3B, 0x02, 0x3B, 0x02, 0x3D, 0x02, 0x3D, 0x02, 0x45, 0x02, 0x3F, 0x02, 0x41, 0x02 .byte 0x3B, 0x02, 0x3B, 0x02 .global _0209CDF8 _0209CDF8: .byte 0x4A, 0x02, 0x4C, 0x02, 0x3C, 0x02, 0x3C, 0x02, 0x3C, 0x02, 0x3E, 0x02 .byte 0x3E, 0x02, 0x46, 0x02, 0x40, 0x02, 0x43, 0x02, 0x3C, 0x02, 0x3C, 0x02 .global _0209CE10 _0209CE10: .byte 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _0209CE40 _0209CE40: .byte 0x00, 0x00, 0x00, 0x00 .word sub_02049A74 .word sub_02049AD0 .word sub_02049B0C .global _0209CE50 _0209CE50: .byte 0x52, 0x02, 0x54, 0x02 .global _0209CE54 _0209CE54: .byte 0x51, 0x02, 0x53, 0x02 .global _0209CE58 _0209CE58: .byte 0x00, 0x00, 0x00, 0x00 .word sub_02049D84 .word sub_02049DF4 .word sub_02049E30 .global _0209CE68 _0209CE68: .byte 0x00, 0x00, 0x00, 0x00 .word sub_0204A02C .word sub_0204A080 .word sub_0204A0BC .global _0209CE78 _0209CE78: .byte 0x00, 0x00, 0x00, 0x00 .word sub_0204A0FC .word sub_0204A154 .word sub_0204A190 .global _0209CE88 _0209CE88: .byte 0xFF .global _0209CE89 _0209CE89: .byte 0x00, 0x00, 0x00 .global _0209CE8C _0209CE8C: .byte 0x4C, 0x4F, 0x43, 0x41, 0x4C, 0x32, 0x00, 0x00 .global _0209CE94 _0209CE94: .byte 0x4C, 0x4F, 0x43, 0x41, 0x4C, 0x33, 0x00, 0x00 .global _0209CE9C _0209CE9C: .byte 0x4C, 0x4F, 0x43, 0x41, 0x4C, 0x30, 0x00, 0x00 .global _0209CEA4 _0209CEA4: .byte 0x4C, 0x4F, 0x43, 0x41, 0x4C, 0x31, 0x00, 0x00 .global _0209CEAC _0209CEAC: .word _0209CEBC .byte 0xE9, 0x03, 0x00, 0x00 .word _0209CEBC .byte 0x14, 0x04, 0x00, 0x00 .global _0209CEBC _0209CEBC: .byte 0x65, 0x76, 0x65, 0x6E, 0x74, 0x5F, 0x66, 0x6C .byte 0x61, 0x67, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00 .global SCRIPT_VARS_LOCALS SCRIPT_VARS_LOCALS: .byte 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .word _0209CE9C .byte 0x06, 0x00, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .word _0209CEA4 .byte 0x06, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .word _0209CE8C .byte 0x06, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .word _0209CE94 .global _0209CF0C _0209CF0C: .byte 0x45, 0x76, 0x65, 0x6E, 0x74, 0x46, 0x6C, 0x61 .byte 0x67, 0x53, 0x69, 0x7A, 0x65, 0x20, 0x25, 0x30, 0x34, 0x78, 0x2F, 0x25, 0x30, 0x34, 0x78, 0x0A .byte 0x00, 0x00, 0x00, 0x00 .global _0209CF28 _0209CF28: .byte 0x65, 0x76, 0x65, 0x6E, 0x74, 0x20, 0x66, 0x6C, 0x61, 0x67, 0x20, 0x65 .byte 0x78, 0x70, 0x61, 0x6E, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x25 .byte 0x64, 0x00, 0x00, 0x00 .global _0209CF48 _0209CF48: .byte 0x65, 0x76, 0x65, 0x6E, 0x74, 0x20, 0x66, 0x6C, 0x61, 0x67, 0x20, 0x72 .byte 0x75, 0x6C, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00 .global _0209CF64 _0209CF64: .byte 0x45, 0x76, 0x65, 0x6E, 0x74, 0x46, 0x6C, 0x61, 0x67, 0x20, 0x52, 0x65, 0x73, 0x75, 0x6D, 0x65 .byte 0x47, 0x61, 0x6D, 0x65, 0x4D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _0209CF84 _0209CF84: .byte 0x45, 0x76, 0x65, 0x6E, 0x74, 0x46, 0x6C, 0x61, 0x67, 0x20, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70 .byte 0x47, 0x61, 0x6D, 0x65, 0x4D, 0x6F, 0x64, 0x65, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _0209CFA4 _0209CFA4: .byte 0x53, 0x55, 0x4D, 0x00 .global _0209CFA8 _0209CFA8: .byte 0x56, 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, 0x00 .global _0209CFB0 _0209CFB0: .byte 0x55, 0x4E, 0x49, 0x54 .byte 0x5F, 0x53, 0x55, 0x4D, 0x00, 0x00, 0x00, 0x00 .global _0209CFBC _0209CFBC: .byte 0x47, 0x41, 0x4D, 0x45, 0x5F, 0x4D, 0x4F, 0x44 .byte 0x45, 0x00, 0x00, 0x00 .global _0209CFC8 _0209CFC8: .byte 0x42, 0x41, 0x4E, 0x4B, 0x5F, 0x47, 0x4F, 0x4C, 0x44, 0x00, 0x00, 0x00 .global _0209CFD4 _0209CFD4: .byte 0x43, 0x4F, 0x4E, 0x44, 0x49, 0x54, 0x49, 0x4F, 0x4E, 0x00, 0x00, 0x00 .global _0209CFE0 _0209CFE0: .byte 0x50, 0x4F, 0x53, 0x49 .byte 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x59, 0x00, 0x00 .global _0209CFEC _0209CFEC: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x4D .byte 0x41, 0x50, 0x00, 0x00 .global _0209CFF8 _0209CFF8: .byte 0x43, 0x41, 0x52, 0x52, 0x59, 0x5F, 0x47, 0x4F, 0x4C, 0x44, 0x00, 0x00 .global _0209D004 _0209D004: .byte 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x58, 0x00, 0x00 .global _0209D010 _0209D010: .byte 0x46, 0x52, 0x49, 0x45 .byte 0x4E, 0x44, 0x5F, 0x53, 0x55, 0x4D, 0x00, 0x00 .global _0209D01C _0209D01C: .byte 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x42, 0x41, 0x43 .byte 0x4B, 0x55, 0x50, 0x00 .global _0209D028 _0209D028: .byte 0x53, 0x49, 0x44, 0x45, 0x30, 0x36, 0x5F, 0x52, 0x4F, 0x4F, 0x4D, 0x00 .global _0209D034 _0209D034: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x4B, 0x49, 0x4E, 0x44, 0x00 .global _0209D040 _0209D040: .byte 0x53, 0x49, 0x44, 0x45 .byte 0x30, 0x32, 0x5F, 0x54, 0x41, 0x4C, 0x4B, 0x00 .global _0209D04C _0209D04C: .byte 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4C, 0x4F .byte 0x43, 0x41, 0x4C, 0x00 .global _0209D058 _0209D058: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D068 _0209D068: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x50, 0x4C, 0x41, 0x43, 0x45 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D078 _0209D078: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x34, 0x00, 0x00, 0x00 .global _0209D088 _0209D088: .byte 0x52, 0x45, 0x43, 0x59, 0x43, 0x4C, 0x45, 0x5F, 0x43, 0x4F, 0x55, 0x4E .byte 0x54, 0x00, 0x00, 0x00 .global _0209D098 _0209D098: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x49, 0x44 .byte 0x45, 0x00, 0x00, 0x00 .global _0209D0A8 _0209D0A8: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x38, 0x00, 0x00, 0x00 .global _0209D0B8 _0209D0B8: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45 .byte 0x52, 0x00, 0x00, 0x00 .global _0209D0C8 _0209D0C8: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x37, 0x00, 0x00, 0x00 .global _0209D0D8 _0209D0D8: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x33, 0x00, 0x00, 0x00 .global _0209D0E8 _0209D0E8: .byte 0x4C, 0x41, 0x4E, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5F, 0x54, 0x59, 0x50 .byte 0x45, 0x00, 0x00, 0x00 .global _0209D0F8 _0209D0F8: .byte 0x50, 0x4C, 0x41, 0x59, 0x5F, 0x4F, 0x4C, 0x44, 0x5F, 0x47, 0x41, 0x4D .byte 0x45, 0x00, 0x00, 0x00 .global _0209D108 _0209D108: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x31, 0x00, 0x00, 0x00 .global _0209D118 _0209D118: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x36, 0x00, 0x00, 0x00 .global _0209D128 _0209D128: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x32, 0x00, 0x00, 0x00 .global _0209D138 _0209D138: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x47, 0x45, 0x54, 0x4F, 0x55 .byte 0x54, 0x00, 0x00, 0x00 .global _0209D148 _0209D148: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x4D, 0x41, 0x49 .byte 0x4E, 0x00, 0x00, 0x00 .global _0209D158 _0209D158: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x55, 0x42 .byte 0x35, 0x00, 0x00, 0x00 .global _0209D168 _0209D168: .byte 0x52, 0x4F, 0x4D, 0x5F, 0x56, 0x41, 0x52, 0x49, 0x41, 0x54, 0x49, 0x4F .byte 0x4E, 0x00, 0x00, 0x00 .global _0209D178 _0209D178: .byte 0x53, 0x49, 0x44, 0x45, 0x30, 0x31, 0x5F, 0x42, 0x4F, 0x53, 0x53, 0x32 .byte 0x4E, 0x44, 0x00, 0x00 .global _0209D188 _0209D188: .byte 0x48, 0x45, 0x52, 0x4F, 0x5F, 0x54, 0x41, 0x4C, 0x4B, 0x5F, 0x4B, 0x49 .byte 0x4E, 0x44, 0x00, 0x00 .global _0209D198 _0209D198: .byte 0x53, 0x55, 0x42, 0x33, 0x30, 0x5F, 0x50, 0x52, 0x4F, 0x4A, 0x45, 0x43 .byte 0x54, 0x50, 0x00, 0x00 .global _0209D1A8 _0209D1A8: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x53, 0x45, 0x4C, 0x45 .byte 0x43, 0x54, 0x00, 0x00 .global _0209D1B8 _0209D1B8: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x52, 0x45, 0x53, 0x55 .byte 0x4C, 0x54, 0x00, 0x00 .global _0209D1C8 _0209D1C8: .byte 0x53, 0x49, 0x44, 0x45, 0x30, 0x38, 0x5F, 0x42, 0x4F, 0x53, 0x53, 0x32 .byte 0x4E, 0x44, 0x00, 0x00 .global _0209D1D8 _0209D1D8: .byte 0x4C, 0x4F, 0x54, 0x54, 0x45, 0x52, 0x59, 0x5F, 0x52, 0x45, 0x53, 0x55 .byte 0x4C, 0x54, 0x00, 0x00 .global _0209D1E8 _0209D1E8: .byte 0x57, 0x4F, 0x52, 0x4C, 0x44, 0x5F, 0x4D, 0x41, 0x50, 0x5F, 0x4C, 0x45 .byte 0x56, 0x45, 0x4C, 0x00 .global _0209D1F8 _0209D1F8: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x45, 0x4C .byte 0x45, 0x43, 0x54, 0x00 .global _0209D208 _0209D208: .byte 0x48, 0x45, 0x52, 0x4F, 0x5F, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5F, 0x4B .byte 0x49, 0x4E, 0x44, 0x00 .global _0209D218 _0209D218: .byte 0x48, 0x45, 0x52, 0x4F, 0x5F, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5F, 0x4E .byte 0x41, 0x4D, 0x45, 0x00 .global _0209D228 _0209D228: .byte 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x48, 0x45, 0x49 .byte 0x47, 0x48, 0x54, 0x00 .global _0209D238 _0209D238: .byte 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x5F .byte 0x47, 0x45, 0x54, 0x00 .global _0209D248 _0209D248: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x31, 0x5F, 0x4B .byte 0x49, 0x4E, 0x44, 0x00 .global _0209D258 _0209D258: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x32, 0x5F, 0x4B .byte 0x49, 0x4E, 0x44, 0x00 .global _0209D268 _0209D268: .byte 0x53, 0x55, 0x42, 0x33, 0x30, 0x5F, 0x53, 0x50, 0x4F, 0x54, 0x5F, 0x4C .byte 0x45, 0x56, 0x45, 0x4C, 0x00, 0x00, 0x00, 0x00 .global _0209D27C _0209D27C: .byte 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4C, 0x5F .byte 0x43, 0x4F, 0x4C, 0x4F, 0x52, 0x5F, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00 .global _0209D290 _0209D290: .byte 0x43, 0x52, 0x59, 0x53 .byte 0x54, 0x41, 0x4C, 0x5F, 0x43, 0x4F, 0x4C, 0x4F, 0x52, 0x5F, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00 .global _0209D2A4 _0209D2A4: .byte 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x5F, 0x54, 0x41, 0x4B, 0x45 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D2B8 _0209D2B8: .byte 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4C, 0x5F, 0x43, 0x4F, 0x4C, 0x4F .byte 0x52, 0x5F, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00 .global _0209D2CC _0209D2CC: .byte 0x4E, 0x4F, 0x54, 0x45, 0x5F, 0x4D, 0x4F, 0x44 .byte 0x49, 0x46, 0x59, 0x5F, 0x46, 0x4C, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00 .global _0209D2E0 _0209D2E0: .byte 0x50, 0x41, 0x52, 0x54 .byte 0x4E, 0x45, 0x52, 0x5F, 0x54, 0x41, 0x4C, 0x4B, 0x5F, 0x4B, 0x49, 0x4E, 0x44, 0x00, 0x00, 0x00 .global _0209D2F4 _0209D2F4: .byte 0x43, 0x4F, 0x4E, 0x46, 0x49, 0x47, 0x5F, 0x43, 0x4F, 0x4C, 0x4F, 0x52, 0x5F, 0x4B, 0x49, 0x4E .byte 0x44, 0x00, 0x00, 0x00 .global _0209D308 _0209D308: .byte 0x53, 0x54, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x49, 0x54, 0x45, 0x4D .byte 0x5F, 0x54, 0x45, 0x4D, 0x50, 0x00, 0x00, 0x00 .global _0209D31C _0209D31C: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x4D .byte 0x41, 0x50, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00 .global _0209D330 _0209D330: .byte 0x44, 0x45, 0x4C, 0x49 .byte 0x56, 0x45, 0x52, 0x5F, 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x54, 0x45, 0x4D, 0x50, 0x00, 0x00, 0x00 .global _0209D344 _0209D344: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x4F, 0x50, 0x45, 0x4E, 0x5F, 0x4C, 0x49, 0x53 .byte 0x54, 0x00, 0x00, 0x00 .global _0209D358 _0209D358: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54 .byte 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x00, 0x00, 0x00 .global _0209D36C _0209D36C: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x45 .byte 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x49, 0x4E, 0x4B, 0x00, 0x00, 0x00 .global _0209D380 _0209D380: .byte 0x50, 0x4C, 0x41, 0x59 .byte 0x45, 0x52, 0x5F, 0x4B, 0x49, 0x4E, 0x44, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00 .global _0209D394 _0209D394: .byte 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x5F, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5F, 0x4B, 0x49 .byte 0x4E, 0x44, 0x00, 0x00 .global _0209D3A8 _0209D3A8: .byte 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x5F, 0x46, 0x49, 0x52, 0x53 .byte 0x54, 0x5F, 0x4E, 0x41, 0x4D, 0x45, 0x00, 0x00 .global _0209D3BC _0209D3BC: .byte 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E .byte 0x5F, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4F, 0x4E, 0x00, 0x00 .global _0209D3D0 _0209D3D0: .byte 0x44, 0x55, 0x4E, 0x47 .byte 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x00, 0x00 .global _0209D3E4 _0209D3E4: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x49 .byte 0x53, 0x54, 0x00, 0x00 .global _0209D3F8 _0209D3F8: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x56, 0x45, 0x4E .byte 0x54, 0x5F, 0x4C, 0x4F, 0x43, 0x41, 0x4C, 0x00 .global _0209D40C _0209D40C: .byte 0x53, 0x54, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x5F .byte 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x00 .global _0209D420 _0209D420: .byte 0x47, 0x52, 0x4F, 0x55 .byte 0x4E, 0x44, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00 .global _0209D434 _0209D434: .byte 0x44, 0x45, 0x4C, 0x49, 0x56, 0x45, 0x52, 0x5F, 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x53, 0x54, 0x41 .byte 0x54, 0x49, 0x43, 0x00 .global _0209D448 _0209D448: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x50, 0x4C, 0x41, 0x43, 0x45 .byte 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00 .global _0209D45C _0209D45C: .byte 0x53, 0x55, 0x42, 0x33, 0x30, 0x5F, 0x53, 0x50 .byte 0x4F, 0x54, 0x5F, 0x44, 0x49, 0x53, 0x43, 0x4F, 0x56, 0x45, 0x52, 0x00 .global _0209D470 _0209D470: .byte 0x44, 0x55, 0x4E, 0x47 .byte 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x49, 0x4E, 0x44, 0x45, 0x58, 0x00 .global _0209D484 _0209D484: .byte 0x42, 0x49, 0x54, 0x5F, 0x46, 0x55, 0x57, 0x41, 0x52, 0x41, 0x4E, 0x54, 0x45, 0x5F, 0x4C, 0x4F .byte 0x43, 0x41, 0x4C, 0x00 .global _0209D498 _0209D498: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x41, 0x52, 0x52, 0x49 .byte 0x56, 0x45, 0x5F, 0x4C, 0x49, 0x53, 0x54, 0x00 .global _0209D4AC _0209D4AC: .byte 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5F .byte 0x43, 0x4C, 0x45, 0x41, 0x52, 0x5F, 0x43, 0x4F, 0x55, 0x4E, 0x54, 0x00 .global _0209D4C0 _0209D4C0: .byte 0x49, 0x54, 0x45, 0x4D .byte 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x5F, 0x4B, 0x55, 0x52, 0x45, 0x4B, 0x55, 0x52, 0x45 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D4D8 _0209D4D8: .byte 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4C, 0x5F, 0x45, 0x50, 0x49, 0x53 .byte 0x4F, 0x44, 0x45, 0x5F, 0x54, 0x59, 0x50, 0x45, 0x00, 0x00, 0x00, 0x00 .global _0209D4F0 _0209D4F0: .byte 0x53, 0x50, 0x45, 0x43 .byte 0x49, 0x41, 0x4C, 0x5F, 0x45, 0x50, 0x49, 0x53, 0x4F, 0x44, 0x45, 0x5F, 0x4F, 0x50, 0x45, 0x4E .byte 0x00, 0x00, 0x00, 0x00 .global _0209D508 _0209D508: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x47, 0x45, 0x54, 0x4F, 0x55 .byte 0x54, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00 .global _0209D520 _0209D520: .byte 0x44, 0x55, 0x4E, 0x47 .byte 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D538 _0209D538: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x50, 0x52, 0x45, 0x53 .byte 0x45, 0x4E, 0x54, 0x5F, 0x4C, 0x49, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00 .global _0209D550 _0209D550: .byte 0x44, 0x55, 0x4E, 0x47 .byte 0x45, 0x4F, 0x4E, 0x5F, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5F, 0x4C, 0x49, 0x53, 0x54 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D568 _0209D568: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x42, 0x41, 0x4C .byte 0x41, 0x4E, 0x43, 0x45, 0x5F, 0x46, 0x4C, 0x41, 0x47, 0x00, 0x00, 0x00 .global _0209D580 _0209D580: .byte 0x54, 0x45, 0x41, 0x4D .byte 0x5F, 0x52, 0x41, 0x4E, 0x4B, 0x5F, 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4C, 0x45, 0x56, 0x45 .byte 0x4C, 0x00, 0x00, 0x00 .global _0209D598 _0209D598: .byte 0x43, 0x4F, 0x4D, 0x50, 0x55, 0x4C, 0x53, 0x4F, 0x52, 0x59, 0x5F, 0x53 .byte 0x41, 0x56, 0x45, 0x5F, 0x50, 0x4F, 0x49, 0x4E, 0x54, 0x00, 0x00, 0x00 .global _0209D5B0 _0209D5B0: .byte 0x44, 0x55, 0x4E, 0x47 .byte 0x45, 0x4F, 0x4E, 0x5F, 0x43, 0x4F, 0x4E, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5F, 0x4C, 0x49, 0x53 .byte 0x54, 0x00, 0x00, 0x00 .global _0209D5C8 _0209D5C8: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x52, 0x45, 0x53, 0x55 .byte 0x4C, 0x54, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00 .global _0209D5E0 _0209D5E0: .byte 0x41, 0x54, 0x54, 0x45 .byte 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x31, 0x5F, 0x4B, 0x49, 0x4E, 0x44, 0x5F, 0x42, 0x41, 0x43, 0x4B .byte 0x55, 0x50, 0x00, 0x00 .global _0209D5F8 _0209D5F8: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x32, 0x5F, 0x4B .byte 0x49, 0x4E, 0x44, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00 .global _0209D610 _0209D610: .byte 0x53, 0x43, 0x45, 0x4E .byte 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x4D, 0x41, 0x49, 0x4E, 0x5F, 0x42, 0x49, 0x54, 0x5F, 0x46, 0x4C .byte 0x41, 0x47, 0x00, 0x00 .global _0209D628 _0209D628: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x54, 0x41, 0x4C .byte 0x4B, 0x5F, 0x42, 0x49, 0x54, 0x5F, 0x46, 0x4C, 0x41, 0x47, 0x00, 0x00 .global _0209D640 _0209D640: .byte 0x53, 0x43, 0x45, 0x4E .byte 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43, 0x45, 0x5F, 0x44, 0x45, 0x42 .byte 0x55, 0x47, 0x00, 0x00 .global _0209D658 _0209D658: .byte 0x53, 0x43, 0x45, 0x4E, 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x53, 0x45, 0x4C .byte 0x45, 0x43, 0x54, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00 .global _0209D670 _0209D670: .byte 0x53, 0x55, 0x42, 0x33 .byte 0x30, 0x5F, 0x54, 0x52, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5F, 0x44, 0x49, 0x53, 0x43, 0x4F .byte 0x56, 0x45, 0x52, 0x00 .global _0209D688 _0209D688: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45 .byte 0x52, 0x5F, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x43, 0x59, 0x00 .global _0209D6A0 _0209D6A0: .byte 0x47, 0x52, 0x4F, 0x55 .byte 0x4E, 0x44, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x49, 0x4E, 0x4B, 0x5F, 0x42, 0x41 .byte 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00 .global _0209D6BC _0209D6BC: .byte 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4C, 0x5F .byte 0x45, 0x50, 0x49, 0x53, 0x4F, 0x44, 0x45, 0x5F, 0x4F, 0x50, 0x45, 0x4E, 0x5F, 0x4F, 0x4C, 0x44 .byte 0x00, 0x00, 0x00, 0x00 .global _0209D6D8 _0209D6D8: .byte 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4C, 0x5F, 0x45, 0x50, 0x49, 0x53 .byte 0x4F, 0x44, 0x45, 0x5F, 0x43, 0x4F, 0x4E, 0x51, 0x55, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00 .global _0209D6F4 _0209D6F4: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5F, 0x4D, 0x4F, 0x44 .byte 0x45, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00 .global _0209D710 _0209D710: .byte 0x52, 0x41, 0x4E, 0x44 .byte 0x4F, 0x4D, 0x5F, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x33 .byte 0x5F, 0x4B, 0x49, 0x4E, 0x44, 0x00, 0x00, 0x00 .global _0209D72C _0209D72C: .byte 0x50, 0x45, 0x52, 0x46, 0x4F, 0x52, 0x4D, 0x41 .byte 0x4E, 0x43, 0x45, 0x5F, 0x50, 0x52, 0x4F, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5F, 0x4C, 0x49, 0x53 .byte 0x54, 0x00, 0x00, 0x00 .global _0209D748 _0209D748: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45 .byte 0x52, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00 .global _0209D764 _0209D764: .byte 0x57, 0x4F, 0x52, 0x4C, 0x44, 0x5F, 0x4D, 0x41, 0x50, 0x5F, 0x4D, 0x41, 0x52, 0x4B, 0x5F, 0x4C .byte 0x49, 0x53, 0x54, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, 0x00, 0x00 .global _0209D780 _0209D780: .byte 0x52, 0x45, 0x51, 0x55 .byte 0x45, 0x53, 0x54, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x5F, 0x52, 0x45, 0x53, 0x55, 0x4C .byte 0x54, 0x5F, 0x4B, 0x49, 0x4E, 0x44, 0x00, 0x00 .global _0209D79C _0209D79C: .byte 0x43, 0x4F, 0x4D, 0x50, 0x55, 0x4C, 0x53, 0x4F .byte 0x52, 0x59, 0x5F, 0x53, 0x41, 0x56, 0x45, 0x5F, 0x50, 0x4F, 0x49, 0x4E, 0x54, 0x5F, 0x53, 0x49 .byte 0x44, 0x45, 0x00, 0x00 .global _0209D7B8 _0209D7B8: .byte 0x44, 0x55, 0x4E, 0x47, 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45 .byte 0x52, 0x5F, 0x49, 0x4E, 0x44, 0x45, 0x58, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00 .global _0209D7D4 _0209D7D4: .byte 0x57, 0x4F, 0x52, 0x4C, 0x44, 0x5F, 0x4D, 0x41, 0x50, 0x5F, 0x4D, 0x41, 0x52, 0x4B, 0x5F, 0x4C .byte 0x49, 0x53, 0x54, 0x5F, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4C, 0x00 .global _0209D7F0 _0209D7F0: .byte 0x45, 0x58, 0x45, 0x43 .byte 0x55, 0x54, 0x45, 0x5F, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4C, 0x5F, 0x45, 0x50, 0x49, 0x53 .byte 0x4F, 0x44, 0x45, 0x5F, 0x54, 0x59, 0x50, 0x45, 0x00, 0x00, 0x00, 0x00 .global _0209D810 _0209D810: .byte 0x53, 0x43, 0x45, 0x4E .byte 0x41, 0x52, 0x49, 0x4F, 0x5F, 0x4D, 0x41, 0x49, 0x4E, 0x5F, 0x42, 0x49, 0x54, 0x5F, 0x46, 0x4C .byte 0x41, 0x47, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00, 0x00 .global _0209D830 _0209D830: .byte 0x44, 0x55, 0x4E, 0x47 .byte 0x45, 0x4F, 0x4E, 0x5F, 0x45, 0x4E, 0x54, 0x45, 0x52, 0x5F, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45 .byte 0x4E, 0x43, 0x59, 0x5F, 0x42, 0x41, 0x43, 0x4B, 0x55, 0x50, 0x00, 0x00 .global _0209D850 _0209D850: .byte 0x52, 0x45, 0x51, 0x55 .byte 0x45, 0x53, 0x54, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x5F, 0x52, 0x45, 0x53, 0x55, 0x4C .byte 0x54, 0x5F, 0x56, 0x41, 0x52, 0x49, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x00 .global SCRIPT_VARS SCRIPT_VARS: .byte 0x08, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 .word _0209CFA8 .byte 0x08, 0x00, 0x02, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209CFD4 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xBA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D1F8 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xBC, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D148 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xBE, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D098 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D108 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xC2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D128 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xC4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D0D8 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xC6, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D078 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xC8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D158 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xCA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D118 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xCC, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D0C8 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xCE, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D0A8 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x1B, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .word _0209D040 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x1B, 0x01, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00 .word _0209D028 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x1B, 0x01, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D1C8 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x1B, 0x01, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D178 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x1C, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .word _0209D610 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x2C, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D628 .byte 0x04, 0x00, 0x06, 0x00 .byte 0xB0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D568 .byte 0x04, 0x00, 0x06, 0x00 .byte 0xB1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D640 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xD0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D27C .byte 0x03, 0x00, 0x06, 0x00 .byte 0xD1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D290 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xD2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D2B8 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xD3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D598 .byte 0x03, 0x00, 0x06, 0x00 .byte 0xD4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D79C .byte 0x03, 0x00, 0x06, 0x00 .byte 0xD5, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .word _0209D658 .byte 0x01, 0x00, 0x06, 0x00 .byte 0x4C, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 .word _0209D810 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D058 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xDD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D36C .byte 0x06, 0x00, 0x02, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D138 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209CFEC .byte 0x06, 0x00, 0x02, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D068 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x38, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D420 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xDE, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D6A0 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x42, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D508 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D31C .byte 0x06, 0x00, 0x02, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D448 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D1A8 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D0B8 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D3D0 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x66, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D470 .byte 0x05, 0x00, 0x02, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D688 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xE3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D1B8 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xE4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D358 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D520 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D748 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x7C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D7B8 .byte 0x05, 0x00, 0x02, 0x00 .byte 0xA6, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D830 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xE5, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D5C8 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xEA, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D6F4 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xEF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D4AC .byte 0x03, 0x00, 0x02, 0x00 .byte 0xF0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D034 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xF1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D248 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xF2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D258 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xF3, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D380 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xF8, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D5E0 .byte 0x03, 0x00, 0x02, 0x00 .byte 0xFD, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D5F8 .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D010 .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209CFB0 .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209CFF8 .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209CFC8 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x86, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D208 .byte 0x02, 0x00, 0x02, 0x00 .byte 0x07, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .word _0209D218 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x88, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D394 .byte 0x02, 0x00, 0x02, 0x00 .byte 0x11, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .word _0209D3A8 .byte 0x04, 0x00, 0x02, 0x00 .byte 0xB2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D188 .byte 0x04, 0x00, 0x02, 0x00 .byte 0xB3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D2E0 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x8A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D710 .byte 0x04, 0x00, 0x02, 0x00 .byte 0xB4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D2F4 .byte 0x04, 0x00, 0x02, 0x00 .byte 0xB5, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D168 .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D0E8 .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209CFBC .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D7F0 .byte 0x04, 0x00, 0x02, 0x00 .byte 0xB6, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D4D8 .byte 0x01, 0x00, 0x02, 0x00 .byte 0x8C, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .word _0209D4F0 .byte 0x01, 0x00, 0x02, 0x00 .byte 0x8D, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .word _0209D6BC .byte 0x01, 0x00, 0x02, 0x00 .byte 0x8E, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .word _0209D6D8 .byte 0x01, 0x00, 0x02, 0x00 .byte 0x8F, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .word _0209D72C .byte 0x01, 0x00, 0x04, 0x00 .byte 0x97, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D344 .byte 0x01, 0x00, 0x04, 0x00 .byte 0xB7, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D3E4 .byte 0x01, 0x00, 0x04, 0x00 .byte 0xD7, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D498 .byte 0x01, 0x00, 0x04, 0x00 .byte 0xF7, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D5B0 .byte 0x01, 0x00, 0x04, 0x00 .byte 0x17, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D538 .byte 0x01, 0x00, 0x04, 0x00 .byte 0x37, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .word _0209D550 .byte 0x01, 0x00, 0x05, 0x00 .byte 0x57, 0x02, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00 .word _0209D764 .byte 0x01, 0x00, 0x05, 0x00 .byte 0x7F, 0x02, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00 .word _0209D7D4 .byte 0x03, 0x00, 0x05, 0x00 .byte 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D1E8 .byte 0x07, 0x00, 0x02, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .word _0209D004 .byte 0x07, 0x00, 0x02, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .word _0209CFE0 .byte 0x07, 0x00, 0x02, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .word _0209D228 .byte 0x04, 0x00, 0x02, 0x00 .byte 0xB7, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .word _0209D3BC .byte 0x06, 0x00, 0x05, 0x00 .byte 0x8C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D04C .byte 0x06, 0x00, 0x04, 0x00 .byte 0x8E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D3F8 .byte 0x01, 0x00, 0x05, 0x00 .byte 0xA7, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .word _0209D40C .byte 0x01, 0x00, 0x05, 0x00 .byte 0xAB, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .word _0209D308 .byte 0x01, 0x00, 0x05, 0x00 .byte 0xAF, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .word _0209D434 .byte 0x01, 0x00, 0x05, 0x00 .byte 0xB1, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .word _0209D330 .byte 0x01, 0x00, 0x06, 0x00 .byte 0xB3, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .word _0209D484 .byte 0x03, 0x00, 0x06, 0x00 .byte 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D1D8 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x90, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D01C .byte 0x06, 0x00, 0x02, 0x00 .byte 0x94, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D4C0 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x98, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D2A4 .byte 0x06, 0x00, 0x02, 0x00 .byte 0x9C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .word _0209D238 .byte 0x06, 0x00, 0x02, 0x00 .byte 0xA0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D780 .byte 0x06, 0x00, 0x02, 0x00 .byte 0xA2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D850 .byte 0x01, 0x00, 0x06, 0x00 .byte 0xB3, 0x02, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D670 .byte 0x01, 0x00, 0x06, 0x00 .byte 0xB3, 0x02, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D45C .byte 0x07, 0x00, 0x02, 0x00 .byte 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D088 .byte 0x03, 0x00, 0x02, 0x00 .byte 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D268 .byte 0x03, 0x00, 0x02, 0x00 .byte 0x05, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D580 .byte 0x03, 0x00, 0x02, 0x00 .byte 0x06, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D0F8 .global _0209DF70 _0209DF70: .byte 0x09, 0x00, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D2CC .byte 0x01, 0x00, 0x06, 0x00 .byte 0xB3, 0x02, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00 .word _0209D198 .byte 0x00, 0x00, 0x00, 0x00 .byte 0xB4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _0209CFA4 .global _0209DFA0 _0209DFA0: .byte 0x53, 0x43, 0x45, 0x4E .byte 0x41, 0x52, 0x49, 0x4F, 0x20, 0x43, 0x41, 0x4C, 0x43, 0x20, 0x5B, 0x25, 0x33, 0x64, 0x5D, 0x20 .byte 0x25, 0x34, 0x64, 0x20, 0x25, 0x34, 0x64, 0x20, 0x2D, 0x3E, 0x20, 0x25, 0x34, 0x64, 0x20, 0x25 .byte 0x34, 0x64, 0x00, 0x00 .global _0209DFC8 _0209DFC8: .byte 0x53, 0x63, 0x65, 0x6E, 0x61, 0x72, 0x69, 0x6F, 0x46, 0x6C, 0x61, 0x67 .byte 0x20, 0x52, 0x65, 0x73, 0x75, 0x6D, 0x65, 0x47, 0x61, 0x6D, 0x65, 0x4D, 0x6F, 0x64, 0x65, 0x20 .byte 0x25, 0x64, 0x0A, 0x00 .global _0209DFE8 _0209DFE8: .byte 0x53, 0x63, 0x65, 0x6E, 0x61, 0x72, 0x69, 0x6F, 0x46, 0x6C, 0x61, 0x67 .byte 0x20, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x47, 0x61, 0x6D, 0x65, 0x4D, 0x6F, 0x64, 0x65, 0x20 .byte 0x25, 0x64, 0x0A, 0x00 .global _0209E008 _0209E008: .byte 0x63, 0x64, 0x65, 0x66, 0x67, 0xFF, 0x00, 0x00 .global _0209E010 _0209E010: .byte 0xFF .global _0209E011 _0209E011: .byte 0x00, 0x00, 0x00 .global PORTRAIT_LAYOUTS PORTRAIT_LAYOUTS: .byte 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x01, 0x00, 0x08, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x09, 0x00, 0x01, 0x00, 0x0E, 0x00, 0x05, 0x00, 0x01, 0x00, 0x02, 0x00, 0x09, 0x00 .byte 0x01, 0x00, 0x19, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x09, 0x00, 0x01, 0x00, 0x15, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x04, 0x00, 0x01, 0x00, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x02, 0x00 .byte 0x01, 0x00, 0x0E, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x19, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, 0x14, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0D, 0x00 .byte 0x00, 0x00, 0x11, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x11, 0x00, 0x0D, 0x00, 0x00, 0x00 .global KAOMADO_FILEPATH KAOMADO_FILEPATH: .byte 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x6B, 0x61, 0x6F, 0x6D, 0x61, 0x64, 0x6F, 0x2E, 0x6B, 0x61, 0x6F .byte 0x00, 0x00, 0x00, 0x00 .global WONDER_MAIL_BITS_MAP WONDER_MAIL_BITS_MAP: .byte 0x26, 0x36, 0x37, 0x4E, 0x50, 0x52, 0x38, 0x39, 0x46, 0x30, 0x2B, 0x23 .byte 0x53, 0x54, 0x58, 0x59, 0x34, 0x35, 0x4D, 0x43, 0x48, 0x4A, 0x2D, 0x4B, 0x31, 0x32, 0x3D, 0x25 .byte 0x33, 0x51, 0x40, 0x57 .global WONDER_MAIL_BITS_SWAP WONDER_MAIL_BITS_SWAP: .byte 0x07, 0x1B, 0x0D, 0x1F, 0x15, 0x1A, 0x06, 0x01, 0x17, 0x1C, 0x09, 0x1E .byte 0x0A, 0x20, 0x10, 0x21, 0x0F, 0x08, 0x1D, 0x11, 0x14, 0x00, 0x13, 0x16, 0x05, 0x12, 0x0E, 0x04 .byte 0x03, 0x18, 0x02, 0x0B, 0x0C, 0x19, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_209E12C ARM9_UNKNOWN_TABLE__NA_209E12C: .byte 0x0D, 0x07, 0x19, 0x0F, 0x04, 0x1D, 0x2A, 0x31 .byte 0x08, 0x13, 0x2D, 0x18, 0x0E, 0x1A, 0x1B, 0x29, 0x01, 0x20, 0x21, 0x22, 0x11, 0x33, 0x26, 0x00 .byte 0x35, 0x0A, 0x2B, 0x1F, 0x12, 0x23, 0x2C, 0x17, 0x27, 0x10, 0x1C, 0x30, 0x0B, 0x02, 0x24, 0x09 .byte 0x32, 0x05, 0x28, 0x34, 0x2E, 0x03, 0x1E, 0x0C, 0x25, 0x14, 0x2F, 0x16, 0x06, 0x15, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_209E164 ARM9_UNKNOWN_TABLE__NA_209E164: .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0x0B, 0xFF, 0x1B, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0xFF, 0x16, 0xFF, 0xFF .byte 0x09, 0x18, 0x19, 0x1C, 0x10, 0x11, 0x01, 0x02, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0x1A, 0xFF, 0xFF .byte 0x1E, 0xFF, 0xFF, 0x13, 0xFF, 0xFF, 0x08, 0xFF, 0x14, 0xFF, 0x15, 0x17, 0xFF, 0x12, 0x03, 0xFF .byte 0x04, 0x1D, 0x05, 0x0C, 0x0D, 0xFF, 0xFF, 0x1F, 0x0E, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .global _0209E264 _0209E264: .byte 0x63, 0x68, 0x65, 0x63, 0x6B, 0x73, 0x75, 0x6D, 0x3A, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78 .byte 0x20, 0x30, 0x78, 0x25, 0x30, 0x32, 0x78, 0x0A, 0x00, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_209E280 ARM9_UNKNOWN_TABLE__NA_209E280: .byte 0x1B, 0x0E, 0x16, 0x1E .byte 0x13, 0x19, 0x03, 0x0F, 0x00, 0x05, 0x18, 0x06, 0x1C, 0x15, 0x04, 0x1D, 0x17, 0x1F, 0x11, 0x02 .byte 0x10, 0x12, 0x14, 0x08, 0x0B, 0x0D, 0x01, 0x09, 0x1A, 0x0A, 0x07, 0x0C .global WONDER_MAIL_ENCRYPTION_TABLE WONDER_MAIL_ENCRYPTION_TABLE: .byte 0x2E, 0x75, 0x3F, 0x99 .byte 0x09, 0x6C, 0xBC, 0x61, 0x7C, 0x2A, 0x96, 0x4A, 0xF4, 0x6D, 0x29, 0xFA, 0x90, 0x14, 0x9D, 0x33 .byte 0x6F, 0xCB, 0x49, 0x3C, 0x48, 0x80, 0x7B, 0x46, 0x67, 0x01, 0x17, 0x59, 0xB8, 0xFA, 0x70, 0xC0 .byte 0x44, 0x78, 0x48, 0xFB, 0x26, 0x80, 0x81, 0xFC, 0xFD, 0x61, 0x70, 0xC7, 0xFE, 0xA8, 0x70, 0x28 .byte 0x6C, 0x9C, 0x07, 0xA4, 0xCB, 0x3F, 0x70, 0xA3, 0x8C, 0xD6, 0xFF, 0xB0, 0x7A, 0x3A, 0x35, 0x54 .byte 0xE9, 0x9A, 0x3B, 0x61, 0x16, 0x41, 0xE9, 0xA3, 0x90, 0xA3, 0xE9, 0xEE, 0x0E, 0xFA, 0xDC, 0x9B .byte 0xD6, 0xFB, 0x24, 0xB5, 0x41, 0x9A, 0x20, 0xBA, 0xB3, 0x51, 0x7A, 0x36, 0x3E, 0x60, 0x0E, 0x3D .byte 0x02, 0xB0, 0x34, 0x57, 0x69, 0x81, 0xEB, 0x67, 0xF3, 0xEB, 0x8C, 0x47, 0x93, 0xCE, 0x2A, 0xAF .byte 0x35, 0xF4, 0x74, 0x87, 0x50, 0x2C, 0x39, 0x68, 0xBB, 0x47, 0x1A, 0x02, 0xA3, 0x93, 0x64, 0x2E .byte 0x8C, 0xAD, 0xB1, 0xC4, 0x61, 0x04, 0x5F, 0xBD, 0x59, 0x21, 0x1C, 0xE7, 0x0E, 0x29, 0x26, 0x97 .byte 0x70, 0xA9, 0xCD, 0x18, 0xA3, 0x7B, 0x74, 0x70, 0x96, 0xDE, 0xA6, 0x72, 0xDD, 0x13, 0x93, 0xAA .byte 0x90, 0x6C, 0xA7, 0xB5, 0x76, 0x2F, 0xA8, 0x7A, 0xC8, 0x81, 0x06, 0xBB, 0x85, 0x75, 0x11, 0x0C .byte 0xD2, 0xD1, 0xC9, 0xF8, 0x81, 0x70, 0xEE, 0xC8, 0x71, 0x53, 0x3D, 0xAF, 0x76, 0xCB, 0x0D, 0xC1 .byte 0x56, 0x28, 0xE8, 0x3C, 0x61, 0x64, 0x4B, 0xB8, 0xEF, 0x3B, 0x41, 0x09, 0x72, 0x07, 0x50, 0xAD .byte 0xF3, 0x2E, 0x5C, 0x43, 0xFF, 0xC3, 0xB3, 0x32, 0x7A, 0x3E, 0x9C, 0xA3, 0xC2, 0xAB, 0x10, 0x60 .byte 0x99, 0xFB, 0x08, 0x8A, 0x90, 0x57, 0x8A, 0x7F, 0x61, 0x90, 0x21, 0x88, 0x55, 0xE8, 0xFC, 0x4B .byte 0x0D, 0x4A, 0x7A, 0x48, 0xC9, 0xB0, 0xC7, 0xA6, 0xD0, 0x04, 0x7E, 0x05 .global DUNGEON_DATA_LIST DUNGEON_DATA_LIST: .byte 0x03 .global _0209E3A1 _0209E3A1: .byte 0x00 .global _0209E3A2 _0209E3A2: .byte 0x00 .global _0209E3A3 _0209E3A3: .byte 0x03 .byte 0x04, 0x01, 0x00, 0x05, 0x01, 0x01, 0x04, 0x05, 0x06, 0x02, 0x00, 0x06, 0x09, 0x03, 0x00, 0x0A .byte 0x01, 0x03, 0x09, 0x0A, 0x08, 0x04, 0x00, 0x08, 0x0C, 0x05, 0x00, 0x0C, 0x09, 0x06, 0x00, 0x09 .byte 0x05, 0x07, 0x00, 0x05, 0x0E, 0x08, 0x00, 0x0E, 0x05, 0x09, 0x00, 0x05, 0x0B, 0x0A, 0x00, 0x0B .byte 0x05, 0x0B, 0x00, 0x05, 0x08, 0x0C, 0x00, 0x10, 0x07, 0x0C, 0x08, 0x10, 0x01, 0x0C, 0x0F, 0x10 .byte 0x0A, 0x0D, 0x00, 0x14, 0x09, 0x0D, 0x0A, 0x14, 0x01, 0x0D, 0x13, 0x14, 0x0F, 0x0E, 0x00, 0x0F .byte 0x0A, 0x0F, 0x00, 0x15, 0x0A, 0x0F, 0x0A, 0x15, 0x01, 0x0F, 0x14, 0x15, 0x0B, 0x10, 0x00, 0x0B .byte 0x0D, 0x11, 0x00, 0x0E, 0x01, 0x11, 0x0D, 0x0E, 0x08, 0x12, 0x00, 0x08, 0x0F, 0x13, 0x00, 0x0F .byte 0x08, 0x14, 0x00, 0x0F, 0x06, 0x14, 0x08, 0x0F, 0x01, 0x14, 0x0E, 0x0F, 0x08, 0x15, 0x00, 0x08 .byte 0x0C, 0x16, 0x00, 0x0C, 0x14, 0x17, 0x00, 0x14, 0x09, 0x18, 0x00, 0x0F, 0x05, 0x18, 0x09, 0x0F .byte 0x01, 0x18, 0x0E, 0x0F, 0x0F, 0x19, 0x00, 0x18, 0x08, 0x19, 0x0F, 0x18, 0x01, 0x19, 0x17, 0x18 .byte 0x0D, 0x1A, 0x00, 0x18, 0x0A, 0x1A, 0x0D, 0x18, 0x01, 0x1A, 0x17, 0x18, 0x0D, 0x1B, 0x00, 0x0E .byte 0x01, 0x1B, 0x0D, 0x0E, 0x14, 0x29, 0x00, 0x14, 0x0A, 0x2B, 0x00, 0x0F, 0x04, 0x2B, 0x0A, 0x0F .byte 0x01, 0x2B, 0x0E, 0x0F, 0x14, 0x21, 0x00, 0x14, 0x12, 0x22, 0x00, 0x17, 0x04, 0x22, 0x12, 0x17 .byte 0x01, 0x22, 0x16, 0x17, 0x03, 0x34, 0x00, 0x14, 0x01, 0x34, 0x03, 0x14, 0x03, 0x34, 0x04, 0x14 .byte 0x01, 0x34, 0x07, 0x14, 0x04, 0x34, 0x08, 0x14, 0x01, 0x34, 0x0C, 0x14, 0x05, 0x34, 0x0D, 0x14 .byte 0x01, 0x34, 0x12, 0x14, 0x13, 0x38, 0x00, 0x13, 0x11, 0x39, 0x00, 0x11, 0x0F, 0x3A, 0x00, 0x19 .byte 0x09, 0x3A, 0x0F, 0x19, 0x01, 0x3A, 0x18, 0x19, 0x0F, 0x36, 0x00, 0x1E, 0x0E, 0x36, 0x0F, 0x1E .byte 0x01, 0x36, 0x1D, 0x1E, 0x1E, 0x23, 0x00, 0x1E, 0x01, 0x23, 0x1E, 0x1E, 0x13, 0x37, 0x00, 0x13 .byte 0x31, 0x20, 0x00, 0x32, 0x01, 0x20, 0x31, 0x32, 0x09, 0x2A, 0x00, 0x0A, 0x01, 0x2A, 0x09, 0x0A .byte 0x13, 0x2C, 0x00, 0x14, 0x01, 0x2C, 0x13, 0x14, 0x13, 0x2D, 0x00, 0x14, 0x01, 0x2D, 0x13, 0x14 .byte 0x1D, 0x2E, 0x00, 0x1E, 0x01, 0x2E, 0x1D, 0x1E, 0x31, 0x33, 0x00, 0x32, 0x01, 0x33, 0x31, 0x32 .byte 0x1D, 0x25, 0x00, 0x1E, 0x01, 0x25, 0x1D, 0x1E, 0x08, 0x27, 0x00, 0x08, 0x0D, 0x28, 0x00, 0x0D .byte 0x06, 0x2F, 0x00, 0x06, 0x05, 0x30, 0x00, 0x05, 0x0A, 0x31, 0x00, 0x0A, 0x05, 0x32, 0x00, 0x05 .byte 0x19, 0x1D, 0x00, 0x19, 0x14, 0x26, 0x00, 0x14, 0x14, 0x1E, 0x00, 0x14, 0x12, 0x1F, 0x00, 0x12 .byte 0x12, 0x24, 0x00, 0x12, 0x19, 0x1C, 0x00, 0x19, 0x4B, 0x3B, 0x00, 0x4B, 0x28, 0x3D, 0x00, 0x28 .byte 0x28, 0x3C, 0x00, 0x28, 0x63, 0x3E, 0x00, 0x63, 0x32, 0x40, 0x00, 0x32, 0x63, 0x41, 0x00, 0x63 .byte 0x0A, 0x42, 0x00, 0x0A, 0x05, 0x43, 0x00, 0x05, 0x0F, 0x44, 0x00, 0x0F, 0x14, 0x45, 0x00, 0x14 .byte 0x19, 0x46, 0x00, 0x19, 0x1E, 0x47, 0x00, 0x1E, 0x03, 0x48, 0x00, 0x28, 0x03, 0x48, 0x03, 0x28 .byte 0x03, 0x48, 0x06, 0x28, 0x03, 0x48, 0x09, 0x28, 0x04, 0x48, 0x0C, 0x28, 0x04, 0x48, 0x10, 0x28 .byte 0x04, 0x48, 0x14, 0x28, 0x04, 0x48, 0x18, 0x28, 0x05, 0x48, 0x1C, 0x28, 0x05, 0x48, 0x21, 0x28 .byte 0x01, 0x48, 0x26, 0x28, 0x01, 0x48, 0x27, 0x28, 0x07, 0x49, 0x00, 0x11, 0x04, 0x49, 0x07, 0x11 .byte 0x01, 0x49, 0x0B, 0x11, 0x04, 0x49, 0x0C, 0x11, 0x01, 0x49, 0x10, 0x11, 0x07, 0x4A, 0x00, 0x07 .byte 0x0A, 0x4B, 0x00, 0x0A, 0x08, 0x4C, 0x00, 0x0F, 0x06, 0x4C, 0x08, 0x0F, 0x01, 0x4C, 0x0E, 0x0F .byte 0x05, 0x4D, 0x00, 0x0B, 0x05, 0x4D, 0x05, 0x0B, 0x01, 0x4D, 0x0A, 0x0B, 0x04, 0x4E, 0x00, 0x10 .byte 0x0A, 0x4F, 0x00, 0x14, 0x0A, 0x4F, 0x0A, 0x14, 0x07, 0x50, 0x00, 0x08, 0x01, 0x50, 0x07, 0x08 .byte 0x0A, 0x51, 0x00, 0x0A, 0x0A, 0x52, 0x00, 0x0F, 0x04, 0x52, 0x0A, 0x0F, 0x01, 0x52, 0x0E, 0x0F .byte 0x0A, 0x53, 0x00, 0x0A, 0x09, 0x54, 0x00, 0x12, 0x08, 0x54, 0x09, 0x12, 0x01, 0x54, 0x11, 0x12 .byte 0x0A, 0x55, 0x00, 0x0A, 0x05, 0x56, 0x00, 0x0B, 0x05, 0x56, 0x05, 0x0B, 0x01, 0x56, 0x0A, 0x0B .byte 0x05, 0x57, 0x00, 0x05, 0x05, 0x58, 0x00, 0x05, 0x05, 0x59, 0x00, 0x0B, 0x05, 0x59, 0x05, 0x0B .byte 0x01, 0x59, 0x0A, 0x0B, 0x04, 0x5A, 0x00, 0x13, 0x01, 0x5A, 0x04, 0x13, 0x04, 0x5A, 0x05, 0x13 .byte 0x01, 0x5A, 0x09, 0x13, 0x04, 0x5A, 0x0A, 0x13, 0x04, 0x5A, 0x0E, 0x13, 0x01, 0x5A, 0x12, 0x13 .byte 0x05, 0x5C, 0x00, 0x05, 0x06, 0x5D, 0x00, 0x06, 0x07, 0x5E, 0x00, 0x07, 0x06, 0x5F, 0x00, 0x06 .byte 0x05, 0x60, 0x00, 0x05, 0x05, 0x61, 0x00, 0x05, 0x05, 0x62, 0x00, 0x05, 0x05, 0x63, 0x00, 0x05 .byte 0x05, 0x63, 0x05, 0x05, 0x10, 0x5B, 0x00, 0x10, 0x03, 0x4F, 0x00, 0x14, 0x03, 0x4F, 0x03, 0x14 .byte 0x03, 0x4F, 0x06, 0x14, 0x06, 0x4F, 0x09, 0x14, 0x01, 0x3F, 0x00, 0x01 .global ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS ADVENTURE_LOG_ENCOUNTERS_MONSTER_IDS: .byte 0x90, 0x00, 0x91, 0x00 .byte 0x92, 0x00, 0x96, 0x00, 0x97, 0x00, 0xC9, 0x00, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x14, 0x01 .byte 0x15, 0x01, 0x16, 0x01, 0x99, 0x01, 0x9A, 0x01, 0x9B, 0x01, 0x9C, 0x01, 0x9D, 0x01, 0x9E, 0x01 .byte 0x9F, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA2, 0x01, 0x09, 0x02, 0x0A, 0x02, 0x0B, 0x02, 0x0C, 0x02 .byte 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x14, 0x02 .byte 0x15, 0x02, 0x16, 0x02, 0x00, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_DATA__NA_209E6BC ARM9_UNKNOWN_DATA__NA_209E6BC: .byte 0xFF .global _0209E6BD _0209E6BD: .byte 0x00, 0x00, 0x00 .global TACTIC_NAME_STRING_IDS TACTIC_NAME_STRING_IDS: .byte 0xCF, 0x26, 0xD0, 0x26 .byte 0xD1, 0x26, 0xD2, 0x26, 0xD3, 0x26, 0xD4, 0x26, 0xD5, 0x26, 0xD6, 0x26, 0xD7, 0x26, 0xD8, 0x26 .byte 0xD9, 0x26, 0x00, 0x00 .global STATUS_NAME_STRING_IDS STATUS_NAME_STRING_IDS: .byte 0xE9, 0x08, 0xEA, 0x08, 0xEB, 0x08, 0xEC, 0x08, 0xED, 0x08, 0xEE, 0x08 .byte 0xEF, 0x08, 0xF0, 0x08, 0xF1, 0x08, 0xF2, 0x08, 0xF3, 0x08, 0xF4, 0x08, 0xF5, 0x08, 0xF6, 0x08 .byte 0xF7, 0x08, 0xF8, 0x08, 0xF9, 0x08, 0xFA, 0x08, 0xFB, 0x08, 0xFC, 0x08, 0xFD, 0x08, 0xFE, 0x08 .byte 0xFF, 0x08, 0x00, 0x09, 0x01, 0x09, 0x02, 0x09, 0x03, 0x09, 0x04, 0x09, 0x05, 0x09, 0x06, 0x09 .byte 0x07, 0x09, 0x08, 0x09, 0x09, 0x09, 0x0A, 0x09, 0x0B, 0x09, 0x0C, 0x09, 0x0D, 0x09, 0x0E, 0x09 .byte 0x0F, 0x09, 0x10, 0x09, 0x11, 0x09, 0x12, 0x09, 0x13, 0x09, 0x14, 0x09, 0x15, 0x09, 0x16, 0x09 .byte 0x17, 0x09, 0x18, 0x09, 0x19, 0x09, 0x1A, 0x09, 0x1B, 0x09, 0x1C, 0x09, 0x1D, 0x09, 0x1E, 0x09 .byte 0x1F, 0x09, 0x20, 0x09, 0x21, 0x09, 0x22, 0x09, 0x23, 0x09, 0x24, 0x09, 0x25, 0x09, 0x26, 0x09 .byte 0x27, 0x09, 0x28, 0x09, 0x29, 0x09, 0x2A, 0x09, 0x2B, 0x09, 0x2C, 0x09, 0x2D, 0x09, 0x2E, 0x09 .byte 0x2F, 0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x33, 0x09, 0x34, 0x09, 0x35, 0x09, 0x36, 0x09 .byte 0x37, 0x09, 0x38, 0x09, 0x39, 0x09, 0x3A, 0x09, 0x3B, 0x09, 0x3C, 0x09, 0x3D, 0x09, 0x3E, 0x09 .byte 0x3F, 0x09, 0x40, 0x09, 0x41, 0x09, 0x42, 0x09, 0x43, 0x09, 0x44, 0x09, 0x45, 0x09, 0x46, 0x09 .byte 0x47, 0x09, 0x48, 0x09, 0x49, 0x09, 0x4A, 0x09, 0x4B, 0x09, 0x4C, 0x09, 0x4D, 0x09, 0x4E, 0x09 .global DUNGEON_RETURN_STATUS_TABLE DUNGEON_RETURN_STATUS_TABLE: .byte 0x00, 0x00 .global _0209E7A6 _0209E7A6: .byte 0xDB, 0x09, 0x00, 0x00, 0xDC, 0x09, 0x00, 0x00, 0xDD, 0x09, 0x00, 0x00, 0xDE, 0x09 .byte 0x00, 0x00, 0xDF, 0x09, 0x00, 0x00, 0xE0, 0x09, 0x00, 0x00, 0xE1, 0x09, 0x01, 0x00, 0xE2, 0x09 .byte 0x01, 0x00, 0xE3, 0x09, 0x00, 0x00, 0xE4, 0x09, 0x00, 0x00, 0xE5, 0x09, 0x01, 0x00, 0xE6, 0x09 .byte 0x01, 0x00, 0xE7, 0x09, 0x01, 0x00, 0xE8, 0x09, 0x01, 0x00, 0xE9, 0x09, 0x01, 0x00, 0xEA, 0x09 .byte 0x01, 0x00, 0xEB, 0x09, 0x01, 0x00, 0xEC, 0x09, 0x00, 0x00, 0xED, 0x09, 0x00, 0x00, 0xEE, 0x09 .byte 0x00, 0x00, 0xEF, 0x09, 0x00, 0x00, 0xF0, 0x09, 0x00, 0x00, 0xF1, 0x09, 0x00, 0x00, 0xF2, 0x09 .byte 0x00, 0x00, 0xF3, 0x09, 0x00, 0x00, 0xF4, 0x09, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0xF6, 0x09 .byte 0x00, 0x00, 0xF7, 0x09, 0x00, 0x00, 0xF8, 0x09, 0x00, 0x00, 0xF9, 0x09, 0x00, 0x00, 0xFA, 0x09 .byte 0x00, 0x00, 0xFB, 0x09, 0x00, 0x00, 0xFC, 0x09, 0x01, 0x00, 0xFD, 0x09, 0x00, 0x00, 0xFE, 0x09 .byte 0x00, 0x00, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x01, 0x0A, 0x00, 0x00, 0x02, 0x0A .byte 0x00, 0x00, 0x03, 0x0A, 0x00, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x05, 0x0A, 0x00, 0x00, 0x06, 0x0A .byte 0x00, 0x00, 0x07, 0x0A, 0x00, 0x00, 0x08, 0x0A, 0x00, 0x00, 0x09, 0x0A, 0x00, 0x00, 0x0A, 0x0A .byte 0x00, 0x00, 0x0B, 0x0A, 0x00, 0x00, 0x0C, 0x0A, 0x00, 0x00, 0x0D, 0x0A, 0x00, 0x00, 0x0E, 0x0A .byte 0x00, 0x00, 0x0F, 0x0A, 0x00, 0x00, 0x10, 0x0A, 0x00, 0x00, 0x11, 0x0A, 0x00, 0x00, 0x12, 0x0A .byte 0x00, 0x00, 0x13, 0x0A, 0x00, 0x00, 0x14, 0x0A, 0x00, 0x00, 0x15, 0x0A, 0x00, 0x00, 0x16, 0x0A .byte 0x00, 0x00, 0x17, 0x0A, 0x00, 0x00, 0x18, 0x0A, 0x00, 0x00, 0x19, 0x0A, 0x00, 0x00, 0x1A, 0x0A .byte 0x00, 0x00, 0x1B, 0x0A, 0x00, 0x00, 0x1C, 0x0A, 0x00, 0x00, 0x1D, 0x0A, 0x00, 0x00, 0x1E, 0x0A .byte 0x00, 0x00, 0x1F, 0x0A, 0x00, 0x00, 0x20, 0x0A, 0x00, 0x00, 0x21, 0x0A, 0x00, 0x00, 0x22, 0x0A .byte 0x00, 0x00, 0x23, 0x0A, 0x00, 0x00, 0x24, 0x0A, 0x00, 0x00, 0x25, 0x0A, 0x00, 0x00, 0x26, 0x0A .byte 0x00, 0x00, 0x27, 0x0A, 0x00, 0x00, 0x28, 0x0A, 0x00, 0x00, 0x29, 0x0A, 0x00, 0x00, 0x2A, 0x0A .byte 0x00, 0x00, 0x2B, 0x0A, 0x00, 0x00, 0x2C, 0x0A, 0x00, 0x00, 0x2D, 0x0A, 0x00, 0x00, 0x2E, 0x0A .byte 0x00, 0x00, 0x2F, 0x0A, 0x00, 0x00, 0x30, 0x0A, 0x00, 0x00, 0x31, 0x0A, 0x00, 0x00, 0x32, 0x0A .byte 0x00, 0x00, 0x33, 0x0A, 0x00, 0x00, 0x34, 0x0A, 0x00, 0x00, 0x35, 0x0A .global STATUSES_FULL_DESCRIPTION_STRING_IDS STATUSES_FULL_DESCRIPTION_STRING_IDS: .byte 0xF3, 0x34 .global _0209E912 _0209E912: .byte 0xF4, 0x34 .byte 0xF5, 0x34, 0xF6, 0x34, 0xF7, 0x34, 0xF8, 0x34, 0xF9, 0x34, 0xFA, 0x34, 0xFB, 0x34, 0xFC, 0x34 .byte 0xFD, 0x34, 0xFE, 0x34, 0xFF, 0x34, 0x00, 0x35, 0x01, 0x35, 0x02, 0x35, 0x03, 0x35, 0x04, 0x35 .byte 0x05, 0x35, 0x06, 0x35, 0x07, 0x35, 0x08, 0x35, 0x09, 0x35, 0x0A, 0x35, 0x0B, 0x35, 0x0C, 0x35 .byte 0x0D, 0x35, 0x0E, 0x35, 0x0F, 0x35, 0x10, 0x35, 0x11, 0x35, 0x12, 0x35, 0x13, 0x35, 0x14, 0x35 .byte 0x15, 0x35, 0x16, 0x35, 0x17, 0x35, 0x18, 0x35, 0x19, 0x35, 0x1A, 0x35, 0x1B, 0x35, 0x1C, 0x35 .byte 0x1D, 0x35, 0x1E, 0x35, 0x1F, 0x35, 0x20, 0x35, 0x21, 0x35, 0x22, 0x35, 0x23, 0x35, 0x24, 0x35 .byte 0x25, 0x35, 0x26, 0x35, 0x27, 0x35, 0x28, 0x35, 0x29, 0x35, 0x2A, 0x35, 0x2B, 0x35, 0x2C, 0x35 .byte 0x2D, 0x35, 0x2E, 0x35, 0x2F, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35 .byte 0x35, 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x35, 0x3A, 0x35, 0x3B, 0x35, 0x3C, 0x35 .byte 0x3D, 0x35, 0x3E, 0x35, 0x3F, 0x35, 0x40, 0x35, 0x41, 0x35, 0x42, 0x35, 0x43, 0x35, 0x44, 0x35 .byte 0x45, 0x35, 0x46, 0x35, 0x47, 0x35, 0x48, 0x35, 0x49, 0x35, 0x4A, 0x35, 0x4B, 0x35, 0x4C, 0x35 .byte 0x4D, 0x35, 0x4E, 0x35, 0x4F, 0x35, 0x50, 0x35, 0x51, 0x35, 0x52, 0x35, 0x53, 0x35, 0x54, 0x35 .byte 0x55, 0x35, 0x56, 0x35, 0x57, 0x35, 0x58, 0x35, 0x59, 0x35, 0x5A, 0x35, 0x5B, 0x35, 0x5C, 0x35 .byte 0x5D, 0x35, 0x5E, 0x35, 0x5F, 0x35, 0x60, 0x35, 0x61, 0x35, 0x62, 0x35, 0x63, 0x35, 0x64, 0x35 .byte 0x65, 0x35, 0x66, 0x35, 0x67, 0x35, 0x68, 0x35, 0x69, 0x35, 0x6A, 0x35, 0x6B, 0x35, 0x6C, 0x35 .byte 0x6D, 0x35, 0x6E, 0x35, 0x6F, 0x35, 0x70, 0x35, 0x71, 0x35, 0x72, 0x35, 0x73, 0x35, 0x74, 0x35 .byte 0x75, 0x35, 0x76, 0x35, 0x77, 0x35, 0x78, 0x35, 0x79, 0x35, 0x7A, 0x35, 0x7B, 0x35, 0x7C, 0x35 .byte 0x7D, 0x35, 0x7E, 0x35, 0x7F, 0x35, 0x80, 0x35, 0x81, 0x35, 0x82, 0x35, 0x83, 0x35, 0x84, 0x35 .byte 0x85, 0x35, 0x86, 0x35, 0x87, 0x35, 0x88, 0x35, 0x89, 0x35, 0x8A, 0x35, 0x8B, 0x35, 0x8C, 0x35 .byte 0x8D, 0x35, 0x8E, 0x35, 0x8F, 0x35, 0x90, 0x35, 0x91, 0x35, 0x92, 0x35, 0x93, 0x35, 0x94, 0x35 .byte 0x97, 0x35, 0x98, 0x35, 0x9A, 0x35, 0x9B, 0x35, 0x99, 0x35, 0x9C, 0x35, 0x9D, 0x35, 0x9E, 0x35 .byte 0x9F, 0x35, 0xA0, 0x35, 0xA1, 0x35, 0xA2, 0x35, 0xA3, 0x35, 0xA4, 0x35, 0xA5, 0x35, 0xA6, 0x35 .byte 0xA7, 0x35, 0xA8, 0x35, 0xA9, 0x35, 0xAA, 0x35, 0xAB, 0x35, 0xAC, 0x35, 0xAD, 0x35, 0xAE, 0x35 .byte 0xAF, 0x35, 0xB0, 0x35, 0xB1, 0x35, 0xB2, 0x35, 0xB3, 0x35, 0xB4, 0x35, 0xB5, 0x35, 0xB6, 0x35 .byte 0xB7, 0x35, 0xB8, 0x35, 0xB9, 0x35, 0xBA, 0x35, 0xBB, 0x35, 0xBC, 0x35, 0xBD, 0x35, 0xBE, 0x35 .byte 0xBF, 0x35, 0xC0, 0x35, 0x00, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_DATA__NA_209EAAC ARM9_UNKNOWN_DATA__NA_209EAAC: .byte 0x00, 0x07, 0x00, 0x00 .global MISSION_FLOOR_RANKS_AND_ITEM_LISTS_1 MISSION_FLOOR_RANKS_AND_ITEM_LISTS_1: .byte 0x00, 0x01, 0x01, 0x01 .global _0209EAB4 _0209EAB4: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 .global _0209EABC _0209EABC: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 .global _0209EAC4 _0209EAC4: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00 .global _0209EACC _0209EACC: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00 .global _0209EAD4 _0209EAD4: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00 .global _0209EADC _0209EADC: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 .global _0209EAE4 _0209EAE4: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 .global _0209EAEC _0209EAEC: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 .global _0209EAF4 _0209EAF4: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00 .global _0209EAFC _0209EAFC: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00 .global _0209EB04 _0209EB04: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00 .global _0209EB0C _0209EB0C: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00 .global _0209EB14 _0209EB14: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00 .global _0209EB1C _0209EB1C: .byte 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00 .global _0209EB24 _0209EB24: .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x00 .global _0209EB2C _0209EB2C: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00 .global _0209EB34 _0209EB34: .byte 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x00 .global _0209EB3C _0209EB3C: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00 .global _0209EB44 _0209EB44: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02 .global _0209EB4C _0209EB4C: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .global _0209EB54 _0209EB54: .byte 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00 .global _0209EB60 _0209EB60: .byte 0x00, 0x01, 0x02, 0x03 .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00 .global _0209EB6C _0209EB6C: .byte 0x00, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 .byte 0x06, 0x00, 0x00, 0x00 .global _0209EB78 _0209EB78: .byte 0x00, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00 .global _0209EB84 _0209EB84: .byte 0x00, 0x01, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00 .global _0209EB90 _0209EB90: .byte 0x00, 0x01, 0x03, 0x03 .byte 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00 .global _0209EB9C _0209EB9C: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x09, 0x09, 0x09, 0x00 .global _0209EBA8 _0209EBA8: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x00 .global _0209EBB4 _0209EBB4: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x00 .global _0209EBC0 _0209EBC0: .byte 0x00, 0x01, 0x02, 0x02 .byte 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00 .global _0209EBCC _0209EBCC: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x09, 0x09, 0x09, 0x00 .global _0209EBD8 _0209EBD8: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x00 .global _0209EBE4 _0209EBE4: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x00 .global _0209EBF0 _0209EBF0: .byte 0x00, 0x01, 0x02, 0x02 .byte 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00 .global _0209EBFC _0209EBFC: .byte 0x00, 0x01, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07 .byte 0x07, 0x07, 0x07, 0x07 .global _0209EC08 _0209EC08: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .global _0209EC14 _0209EC14: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .global _0209EC20 _0209EC20: .byte 0x00, 0x01, 0x03, 0x04 .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 .global _0209EC2C _0209EC2C: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x09, 0x09, 0x09, 0x09 .global _0209EC38 _0209EC38: .byte 0x00, 0x01, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 .byte 0x04, 0x00, 0x00, 0x00 .global _0209EC48 _0209EC48: .byte 0x00, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07 .byte 0x07, 0x00, 0x00, 0x00 .global _0209EC58 _0209EC58: .byte 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 .byte 0x03, 0x03, 0x00, 0x00 .global _0209EC68 _0209EC68: .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 .byte 0x04, 0x04, 0x04, 0x00 .global _0209EC78 _0209EC78: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x00 .global _0209EC88 _0209EC88: .byte 0x00, 0x01, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07 .byte 0x07, 0x07, 0x07, 0x00 .global _0209EC98 _0209EC98: .byte 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x09 .global _0209ECA8 _0209ECA8: .byte 0x00, 0x01, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 .byte 0x07, 0x07, 0x07, 0x07 .global _0209ECB8 _0209ECB8: .byte 0x00, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07 .byte 0x07, 0x07, 0x07, 0x07 .global _0209ECC8 _0209ECC8: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x09 .global _0209ECD8 _0209ECD8: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08 .global _0209ECE8 _0209ECE8: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B .byte 0x0C, 0x0C, 0x0C, 0x0C .global _0209ECF8 _0209ECF8: .byte 0x00, 0x01, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 .byte 0x06, 0x06, 0x06, 0x06 .global _0209ED08 _0209ED08: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x09 .global _0209ED18 _0209ED18: .byte 0x00, 0x01, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00 .global _0209ED2C _0209ED2C: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02 .byte 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00 .global _0209ED40 _0209ED40: .byte 0x00, 0x01, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x00, 0x00, 0x00 .global _0209ED54 _0209ED54: .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 .byte 0x04, 0x04, 0x00, 0x00 .global _0209ED68 _0209ED68: .byte 0x00, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00 .global _0209ED7C _0209ED7C: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x00 .global _0209ED90 _0209ED90: .byte 0x00, 0x01, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x00 .global _0209EDA4 _0209EDA4: .byte 0x00, 0x01, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x00 .global _0209EDB8 _0209EDB8: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A .global _0209EDCC _0209EDCC: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .global _0209EDE0 _0209EDE0: .byte 0x00, 0x01, 0x08, 0x08 .byte 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .global _0209EDF4 _0209EDF4: .byte 0x00, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x00, 0x00, 0x00 .global _0209EE0C _0209EE0C: .byte 0x00, 0x01, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05 .byte 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00 .global _0209EE24 _0209EE24: .byte 0x00, 0x01, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00 .global _0209EE3C _0209EE3C: .byte 0x00, 0x01, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00 .global _0209EE54 _0209EE54: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00 .global _0209EE6C _0209EE6C: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09 .byte 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00 .global _0209EE84 _0209EE84: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00 .global _0209EE9C _0209EE9C: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x0A .byte 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00 .global _0209EEB4 _0209EEB4: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B .byte 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00 .global _0209EECC _0209EECC: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x0A .byte 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00 .global _0209EEE4 _0209EEE4: .byte 0x00, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00 .global _0209EEFC _0209EEFC: .byte 0x00, 0x01, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06 .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00 .global _0209EF14 _0209EF14: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B .global _0209EF2C _0209EF2C: .byte 0x00, 0x01, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x00, 0x00, 0x00 .global _0209EF48 _0209EF48: .byte 0x00, 0x01, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00 .global _0209EF64 _0209EF64: .byte 0x00, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00 .global _0209EF80 _0209EF80: .byte 0x00, 0x01, 0x08, 0x08 .byte 0x08, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00 .global _0209EF9C _0209EF9C: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x00, 0x00 .global _0209EFB8 _0209EFB8: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x00 .global _0209EFD4 _0209EFD4: .byte 0x00, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00 .global _0209EFF4 _0209EFF4: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00 .global _0209F014 _0209F014: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00 .global _0209F034 _0209F034: .byte 0x00, 0x01, 0x08, 0x08, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C .byte 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00 .global _0209F054 _0209F054: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x00 .global _0209F074 _0209F074: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00 .global _0209F0A0 _0209F0A0: .byte 0x00, 0x01, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x00, 0x00, 0x00 .global _0209F0CC _0209F0CC: .byte 0x00, 0x01, 0x07, 0x08, 0x08, 0x09, 0x09, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C .byte 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C .byte 0x0C, 0x00, 0x00, 0x00 .global _0209F0F8 _0209F0F8: .byte 0x00, 0x01, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09 .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C .byte 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00 .global _0209F12C _0209F12C: .byte 0x00, 0x0A, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F .byte 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F .byte 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F .byte 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00 .global _0209F160 _0209F160: .byte 0x00, 0x01, 0x08, 0x09 .byte 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C .byte 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E .byte 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00 .global _0209F194 _0209F194: .byte 0x31, 0x75, 0xC4, 0x09, 0x6A, 0x18, 0x10, 0x27, 0x43, 0x75, 0x10, 0x27, 0x6D, 0x75, 0xA0, 0x0F .byte 0x33, 0x75, 0x40, 0x1F, 0x49, 0x75, 0x10, 0x27, 0x43, 0x75, 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06 .byte 0x31, 0x09, 0x7D, 0x0B, 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12, 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19 .byte 0x93, 0x1B, 0xDF, 0x1D, 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24, 0x10, 0x27, 0x14, 0x76, 0x00, 0x00 .global _0209F1D4 _0209F1D4: .byte 0x00, 0x01, 0x08, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C .byte 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D .byte 0x0D, 0x0D, 0x0D, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F .byte 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F .global _0209F220 _0209F220: .byte 0x31, 0x75, 0x98, 0x04 .byte 0x62, 0x12, 0x2B, 0x20, 0x10, 0x27, 0x42, 0x75, 0x10, 0x27, 0x42, 0x75, 0xC4, 0x09, 0x88, 0x13 .byte 0x34, 0x75, 0x4C, 0x1D, 0x37, 0x75, 0x10, 0x27, 0x4C, 0x75, 0xA0, 0x0F, 0x33, 0x75, 0x40, 0x1F .byte 0x49, 0x75, 0x10, 0x27, 0x43, 0x75, 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06, 0x31, 0x09, 0x7D, 0x0B .byte 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12, 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19, 0x93, 0x1B, 0xDF, 0x1D .byte 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24, 0x10, 0x27, 0x14, 0x76, 0x00, 0x00 .global _0209F270 _0209F270: .byte 0x33, 0x75, 0x83, 0x06 .byte 0x34, 0x75, 0x8D, 0x20, 0x10, 0x27, 0xBE, 0x75, 0x88, 0x13, 0x10, 0x27, 0x33, 0x75, 0x65, 0x01 .byte 0x32, 0x75, 0xCA, 0x02, 0x2F, 0x04, 0x36, 0x75, 0x95, 0x05, 0xFA, 0x06, 0x5F, 0x08, 0xC4, 0x09 .byte 0x29, 0x0B, 0x8E, 0x0C, 0xF3, 0x0D, 0x59, 0x0F, 0xBE, 0x10, 0x23, 0x12, 0x88, 0x13, 0xED, 0x14 .byte 0x52, 0x16, 0xB7, 0x17, 0x31, 0x75, 0x1D, 0x19, 0x82, 0x1A, 0xE7, 0x1B, 0x4C, 0x1D, 0xB1, 0x1E .byte 0x16, 0x20, 0x7B, 0x21, 0x35, 0x75, 0xE1, 0x22, 0x46, 0x24, 0x31, 0x75, 0xAB, 0x25, 0x33, 0x75 .byte 0x10, 0x27, 0xCB, 0x75, 0x88, 0x13, 0x37, 0x75, 0x10, 0x27, 0x3D, 0x75 .global _0209F2D0 _0209F2D0: .byte 0x31, 0x75, 0xE2, 0x04 .byte 0x6A, 0x18, 0x10, 0x27, 0x43, 0x75, 0xAE, 0x08, 0x10, 0x27, 0x6D, 0x75, 0xC9, 0x05, 0x32, 0x75 .byte 0x05, 0x0D, 0x34, 0x75, 0xEA, 0x0F, 0x32, 0x75, 0xCF, 0x12, 0xB4, 0x15, 0x31, 0x75, 0x98, 0x18 .byte 0x31, 0x75, 0x0B, 0x1A, 0xEF, 0x1C, 0x33, 0x75, 0xD4, 0x1F, 0x34, 0x75, 0x47, 0x21, 0x32, 0x75 .byte 0x10, 0x27, 0x39, 0x75, 0x05, 0x0D, 0x39, 0x75, 0xA6, 0x0E, 0x47, 0x10, 0xE7, 0x11, 0x88, 0x13 .byte 0x29, 0x15, 0xC9, 0x16, 0x6A, 0x18, 0x0B, 0x1A, 0xAB, 0x1B, 0x4C, 0x1D, 0x31, 0x75, 0xED, 0x1E .byte 0x8D, 0x20, 0x2E, 0x22, 0xCF, 0x23, 0x6F, 0x25, 0x10, 0x27, 0x14, 0x76 .global _0209F330 _0209F330: .byte 0x00, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .global _0209F394 _0209F394: .byte 0x00, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B .byte 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C .byte 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D .byte 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D .byte 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E .byte 0x0E, 0x0E, 0x0E, 0x0E .global _0209F3F8 _0209F3F8: .byte 0x00, 0x01, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0A .byte 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C .byte 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D .byte 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E .byte 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E .byte 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F .byte 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F .global _0209F45C _0209F45C: .byte 0xE8, 0x03, 0xD0, 0x07, 0x70, 0x17, 0x28, 0x23 .byte 0x10, 0x27, 0x3D, 0x75, 0x8D, 0x20, 0x10, 0x27, 0x33, 0x75, 0xAE, 0x08, 0x10, 0x27, 0x38, 0x75 .byte 0x83, 0x06, 0x37, 0x75, 0x05, 0x0D, 0x88, 0x13, 0x0B, 0x1A, 0x8D, 0x20, 0x39, 0x75, 0x10, 0x27 .byte 0x4E, 0x75, 0x35, 0x05, 0x33, 0x75, 0xA0, 0x0F, 0x38, 0x75, 0xD5, 0x14, 0x31, 0x75, 0x0B, 0x1A .byte 0x31, 0x75, 0x40, 0x1F, 0x39, 0x75, 0xDB, 0x21, 0x32, 0x75, 0x10, 0x27, 0x39, 0x75, 0x05, 0x0D .byte 0x39, 0x75, 0xA6, 0x0E, 0x47, 0x10, 0xE7, 0x11, 0x88, 0x13, 0x29, 0x15, 0xC9, 0x16, 0x6A, 0x18 .byte 0x0B, 0x1A, 0xAB, 0x1B, 0x4C, 0x1D, 0x31, 0x75, 0xED, 0x1E, 0x8D, 0x20, 0x2E, 0x22, 0xCF, 0x23 .byte 0x6F, 0x25, 0x10, 0x27, 0x14, 0x76, 0x00, 0x00 .global _0209F4CC _0209F4CC: .byte 0xE8, 0x03, 0xD0, 0x07, 0x70, 0x17, 0x28, 0x23 .byte 0x10, 0x27, 0x3D, 0x75, 0x8D, 0x20, 0x10, 0x27, 0x33, 0x75, 0xAE, 0x08, 0x10, 0x27, 0x38, 0x75 .byte 0x83, 0x06, 0x37, 0x75, 0x05, 0x0D, 0x88, 0x13, 0x0B, 0x1A, 0x8D, 0x20, 0x39, 0x75, 0x10, 0x27 .byte 0x4E, 0x75, 0x35, 0x05, 0x33, 0x75, 0xA0, 0x0F, 0x38, 0x75, 0xD5, 0x14, 0x31, 0x75, 0x0B, 0x1A .byte 0x31, 0x75, 0x40, 0x1F, 0x39, 0x75, 0xDB, 0x21, 0x32, 0x75, 0x10, 0x27, 0x39, 0x75, 0x05, 0x0D .byte 0x39, 0x75, 0xA6, 0x0E, 0x47, 0x10, 0xE7, 0x11, 0x88, 0x13, 0x29, 0x15, 0xC9, 0x16, 0x6A, 0x18 .byte 0x0B, 0x1A, 0xAB, 0x1B, 0x4C, 0x1D, 0x31, 0x75, 0xED, 0x1E, 0x8D, 0x20, 0x2E, 0x22, 0xCF, 0x23 .byte 0x6F, 0x25, 0x10, 0x27, 0x14, 0x76, 0x00, 0x00 .global _0209F53C _0209F53C: .byte 0x01, 0x03, 0x02, 0x06, 0x09, 0x15, 0x0F, 0x24 .byte 0x10, 0x27, 0x3D, 0x75, 0x8D, 0x20, 0x10, 0x27, 0x33, 0x75, 0xAE, 0x08, 0x10, 0x27, 0x38, 0x75 .byte 0x02, 0x06, 0x37, 0x75, 0x05, 0x0C, 0x07, 0x12, 0x0A, 0x18, 0x0B, 0x1B, 0x0E, 0x21, 0x3A, 0x75 .byte 0x10, 0x27, 0x4C, 0x75, 0x20, 0x03, 0x33, 0x75, 0x60, 0x09, 0x34, 0x75, 0xA0, 0x0F, 0x33, 0x75 .byte 0xE0, 0x15, 0x38, 0x75, 0x20, 0x1C, 0x33, 0x75, 0xB0, 0x1D, 0x40, 0x1F, 0xD0, 0x20, 0x31, 0x75 .byte 0x10, 0x27, 0x39, 0x75, 0x05, 0x0D, 0x39, 0x75, 0xA6, 0x0E, 0x47, 0x10, 0xE7, 0x11, 0x88, 0x13 .byte 0x29, 0x15, 0xC9, 0x16, 0x6A, 0x18, 0x0B, 0x1A, 0xAB, 0x1B, 0x4C, 0x1D, 0x31, 0x75, 0xED, 0x1E .byte 0x8D, 0x20, 0x2E, 0x22, 0xCF, 0x23, 0x6F, 0x25, 0x10, 0x27, 0x14, 0x76 .global _0209F5B0 _0209F5B0: .byte 0x32, 0x75, 0xD0, 0x07 .byte 0x70, 0x17, 0x40, 0x1F, 0x10, 0x27, 0x5A, 0x75, 0x10, 0x27, 0x54, 0x75, 0xB8, 0x03, 0x71, 0x07 .byte 0x32, 0x75, 0xBE, 0x10, 0x34, 0x75, 0x76, 0x14, 0x32, 0x75, 0x2E, 0x18, 0xE7, 0x1B, 0x34, 0x75 .byte 0x9F, 0x1F, 0x3B, 0x75, 0x10, 0x27, 0x39, 0x75, 0x83, 0x06, 0x05, 0x0D, 0x38, 0x75, 0x88, 0x13 .byte 0x31, 0x75, 0x0B, 0x1A, 0x8D, 0x20, 0x32, 0x75, 0x10, 0x27, 0x71, 0x75, 0x24, 0x01, 0x48, 0x02 .byte 0x33, 0x75, 0x91, 0x02, 0xB5, 0x03, 0x34, 0x75, 0x90, 0x04, 0xD8, 0x06, 0x32, 0x75, 0xFC, 0x07 .byte 0x20, 0x09, 0x31, 0x75, 0xB2, 0x09, 0xFB, 0x09, 0x8D, 0x0A, 0x33, 0x75, 0x1F, 0x0B, 0x34, 0x75 .byte 0x67, 0x0D, 0xD4, 0x0E, 0x39, 0x75, 0x1C, 0x11, 0x40, 0x12, 0x31, 0x75, 0x1B, 0x13, 0x33, 0x75 .byte 0x3E, 0x14, 0x32, 0x75, 0x62, 0x15, 0x86, 0x16, 0x37, 0x75, 0xCE, 0x18, 0x31, 0x75, 0x17, 0x19 .byte 0x3B, 0x1A, 0x83, 0x1C, 0xCC, 0x1C, 0x31, 0x75, 0xF0, 0x1D, 0x32, 0x75, 0xA6, 0x1F, 0x31, 0x75 .byte 0x5C, 0x21, 0x34, 0x75, 0xA4, 0x23, 0xC8, 0x24, 0x33, 0x75, 0xEC, 0x25, 0x33, 0x75, 0x10, 0x27 .byte 0x87, 0x75, 0x00, 0x00 .global _0209F658 _0209F658: .byte 0x32, 0x75, 0xA7, 0x0A, 0xC1, 0x11, 0xDC, 0x18, 0x34, 0x75, 0xF6, 0x1F .byte 0x10, 0x27, 0x46, 0x75, 0xDC, 0x01, 0xB8, 0x03, 0x31, 0x75, 0x95, 0x05, 0x71, 0x07, 0x33, 0x75 .byte 0x4D, 0x09, 0x29, 0x0B, 0x05, 0x0D, 0xE2, 0x0E, 0xBE, 0x10, 0x36, 0x75, 0x9A, 0x12, 0x76, 0x14 .byte 0x52, 0x16, 0x31, 0x75, 0x2E, 0x18, 0x0B, 0x1A, 0x33, 0x75, 0xE7, 0x1B, 0xC3, 0x1D, 0x9F, 0x1F .byte 0x7B, 0x21, 0x58, 0x23, 0x31, 0x75, 0x34, 0x25, 0x10, 0x27, 0x40, 0x75, 0xE2, 0x04, 0xC4, 0x09 .byte 0x31, 0x75, 0xA6, 0x0E, 0x17, 0x11, 0x36, 0x75, 0xF9, 0x15, 0x33, 0x75, 0xDB, 0x1A, 0x34, 0x75 .byte 0x4C, 0x1D, 0x39, 0x75, 0x10, 0x27, 0x39, 0x75, 0xD0, 0x07, 0x3A, 0x75, 0xB8, 0x0B, 0xA0, 0x0F .byte 0x88, 0x13, 0x70, 0x17, 0x58, 0x1B, 0x40, 0x1F, 0x28, 0x23, 0x10, 0x27, 0xE5, 0x75, 0x72, 0x01 .byte 0x32, 0x75, 0xE5, 0x02, 0x57, 0x04, 0xC9, 0x05, 0x3C, 0x07, 0xAE, 0x08, 0x31, 0x75, 0x93, 0x0B .byte 0x05, 0x0D, 0x78, 0x0E, 0x5C, 0x11, 0x33, 0x75, 0x41, 0x14, 0x26, 0x17, 0x0B, 0x1A, 0x31, 0x75 .byte 0x7D, 0x1B, 0x31, 0x75, 0xEF, 0x1C, 0x62, 0x1E, 0x34, 0x75, 0xD4, 0x1F, 0x32, 0x75, 0x47, 0x21 .byte 0x36, 0x75, 0x2B, 0x24, 0x32, 0x75, 0x10, 0x27, 0x3B, 0x75, 0x10, 0x27, 0x31, 0x75, 0x00, 0x00 .global MISSION_FLOORS_FORBIDDEN MISSION_FLOORS_FORBIDDEN: .byte 0x01, 0x05, 0x03, 0x0A, 0x0C, 0x10, 0x0D, 0x14, 0x0F, 0x15, 0x11, 0x0E, 0x14, 0x0F, 0x18, 0x0F .byte 0x19, 0x18, 0x1A, 0x18, 0x1B, 0x0E, 0x1C, 0x0F, 0x1C, 0x19, 0x1D, 0x0F, 0x1D, 0x19, 0x1E, 0x0F .byte 0x1E, 0x14, 0x1F, 0x0F, 0x1F, 0x12, 0x20, 0x32, 0x21, 0x14, 0x22, 0x15, 0x22, 0x17, 0x23, 0x1D .byte 0x23, 0x1E, 0x24, 0x0F, 0x24, 0x12, 0x25, 0x1E, 0x26, 0x0F, 0x26, 0x14, 0x27, 0x08, 0x28, 0x0D .byte 0x2A, 0x0A, 0x2B, 0x0F, 0x2C, 0x14, 0x2D, 0x14, 0x2E, 0x1E, 0x2F, 0x06, 0x30, 0x05, 0x31, 0x0A .byte 0x32, 0x05, 0x33, 0x32, 0x34, 0x04, 0x34, 0x08, 0x34, 0x0D, 0x34, 0x13, 0x35, 0x33, 0x36, 0x1E .byte 0x37, 0x13, 0x3A, 0x18, 0x3A, 0x19, 0x3B, 0x0A, 0x3B, 0x0D, 0x3B, 0x10, 0x3B, 0x13, 0x3B, 0x16 .byte 0x3B, 0x1A, 0x3B, 0x1E, 0x3B, 0x23, 0x3B, 0x28, 0x3B, 0x2D, 0x3B, 0x4B, 0x3C, 0x09, 0x3C, 0x0D .byte 0x3C, 0x11, 0x3C, 0x15, 0x3C, 0x19, 0x3C, 0x1D, 0x3C, 0x21, 0x3C, 0x25, 0x3C, 0x28, 0x3D, 0x0A .byte 0x3D, 0x0F, 0x3D, 0x14, 0x3D, 0x23, 0x3D, 0x28, 0x3E, 0x0F, 0x3E, 0x19, 0x3E, 0x60, 0x3E, 0x63 .byte 0x40, 0x32, 0x44, 0x0F, 0x45, 0x14, 0x46, 0x19, 0x47, 0x1E, 0x48, 0x27, 0x48, 0x28, 0x49, 0x0C .byte 0x49, 0x11, 0x4C, 0x0F, 0x4D, 0x0B, 0x50, 0x08, 0x52, 0x0F, 0x54, 0x12, 0x56, 0x0B, 0x59, 0x0B .byte 0x5A, 0x05, 0x5A, 0x0A, 0x5A, 0x13, 0x64, 0xFF .global MISSION_FLOOR_RANKS_AND_ITEM_LISTS_2 MISSION_FLOOR_RANKS_AND_ITEM_LISTS_2: .byte 0x35, 0x75, 0xC4, 0x09, 0x33, 0x75, 0x10, 0x27 .byte 0xF2, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75 .byte 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06 .byte 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09 .byte 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75 .byte 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11 .byte 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14 .byte 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75 .byte 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C .byte 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21 .byte 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25 .byte 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x46, 0x75, 0xBA, 0x02, 0x2D, 0x08, 0xA0, 0x0D .byte 0x31, 0x75, 0x89, 0x0E, 0x48, 0x75, 0x14, 0x13, 0x32, 0x75, 0x9F, 0x17, 0x31, 0x75, 0x29, 0x1C .byte 0x42, 0x75, 0xFA, 0x1D, 0xCC, 0x1F, 0x9D, 0x21, 0x6E, 0x23, 0x3F, 0x25, 0x10, 0x27, 0x34, 0x75 .global _0209F8B4 _0209F8B4: .byte 0x35, 0x75, 0xC4, 0x09, 0x33, 0x75, 0x10, 0x27, 0xF2, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02 .byte 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04 .byte 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08 .byte 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A .byte 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F .byte 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13 .byte 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16 .byte 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A .byte 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E .byte 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23 .byte 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27 .byte 0x46, 0x75, 0xBA, 0x02, 0x2D, 0x08, 0xA0, 0x0D, 0x31, 0x75, 0x89, 0x0E, 0x48, 0x75, 0x14, 0x13 .byte 0x32, 0x75, 0x9F, 0x17, 0x31, 0x75, 0x29, 0x1C, 0x42, 0x75, 0xFA, 0x1D, 0xCC, 0x1F, 0x9D, 0x21 .byte 0x6E, 0x23, 0x3F, 0x25, 0x10, 0x27, 0x34, 0x75 .global _0209F98C _0209F98C: .byte 0x35, 0x75, 0x6A, 0x18, 0x33, 0x75, 0x10, 0x27 .byte 0xF2, 0x75, 0x00, 0x01, 0x80, 0x01, 0x7F, 0x02, 0xFF, 0x02, 0x7F, 0x03, 0xFF, 0x03, 0x31, 0x75 .byte 0x7F, 0x04, 0x9F, 0x04, 0x1F, 0x05, 0x31, 0x75, 0x3F, 0x05, 0xBF, 0x05, 0x3E, 0x06, 0x9E, 0x06 .byte 0x9E, 0x07, 0x1E, 0x08, 0x31, 0x75, 0x9E, 0x08, 0x1E, 0x09, 0x9E, 0x09, 0xDE, 0x09, 0xFE, 0x09 .byte 0x3D, 0x0A, 0xBD, 0x0A, 0x31, 0x75, 0xF7, 0x0A, 0x37, 0x0B, 0xB7, 0x0B, 0xF7, 0x0B, 0xF6, 0x0C .byte 0x31, 0x75, 0xF6, 0x0D, 0x96, 0x0E, 0x96, 0x0F, 0x36, 0x10, 0x31, 0x75, 0x35, 0x11, 0x31, 0x75 .byte 0xB5, 0x11, 0x35, 0x12, 0x75, 0x12, 0xB5, 0x12, 0xB5, 0x13, 0x35, 0x14, 0x75, 0x14, 0xD4, 0x14 .byte 0x34, 0x15, 0x31, 0x75, 0x94, 0x15, 0x14, 0x16, 0x94, 0x16, 0x94, 0x17, 0x14, 0x18, 0x94, 0x18 .byte 0x37, 0x75, 0x93, 0x19, 0x13, 0x1A, 0x33, 0x1A, 0xB3, 0x1A, 0xB3, 0x1B, 0xD3, 0x1B, 0xF3, 0x1B .byte 0x73, 0x1C, 0x32, 0x75, 0x32, 0x1D, 0xB2, 0x1D, 0x72, 0x1E, 0xF2, 0x1E, 0xB2, 0x1F, 0xB2, 0x20 .byte 0x31, 0x21, 0x31, 0x22, 0xB1, 0x22, 0x31, 0x23, 0xB1, 0x23, 0x31, 0x24, 0xB1, 0x24, 0x30, 0x25 .byte 0xF0, 0x25, 0x70, 0x26, 0xF0, 0x26, 0x31, 0x75, 0x10, 0x27, 0x46, 0x75, 0xBA, 0x02, 0x2D, 0x08 .byte 0xA0, 0x0D, 0x31, 0x75, 0x89, 0x0E, 0x48, 0x75, 0x14, 0x13, 0x32, 0x75, 0x9F, 0x17, 0x31, 0x75 .byte 0x29, 0x1C, 0x42, 0x75, 0xFA, 0x1D, 0xCC, 0x1F, 0x9D, 0x21, 0x6E, 0x23, 0x3F, 0x25, 0x10, 0x27 .byte 0x34, 0x75, 0x00, 0x00 .global _0209FA68 _0209FA68: .byte 0x31, 0x75, 0x01, 0x03, 0x05, 0x0C, 0x0C, 0x1E, 0x8E, 0x22, 0x10, 0x27 .byte 0x41, 0x75, 0x10, 0x27, 0x41, 0x75, 0xD0, 0x07, 0xA0, 0x0F, 0x70, 0x17, 0x40, 0x1F, 0x3B, 0x75 .byte 0x10, 0x27, 0x4C, 0x75, 0xD0, 0x07, 0x33, 0x75, 0xA0, 0x0F, 0x44, 0x75, 0x70, 0x17, 0x31, 0x75 .byte 0x40, 0x1F, 0x32, 0x75, 0x10, 0x27, 0x43, 0x75, 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06, 0x31, 0x09 .byte 0x7D, 0x0B, 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12, 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19, 0x93, 0x1B .byte 0xDF, 0x1D, 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24, 0x10, 0x27, 0x64, 0x75, 0x2E, 0x01, 0x31, 0x75 .byte 0x5B, 0x02, 0xF2, 0x02, 0x89, 0x03, 0xFA, 0x03, 0x32, 0x75, 0x20, 0x04, 0xB7, 0x04, 0x31, 0x75 .byte 0xDC, 0x04, 0x32, 0x75, 0x4D, 0x05, 0x7B, 0x06, 0x12, 0x07, 0x31, 0x75, 0xA9, 0x07, 0x40, 0x08 .byte 0xD6, 0x08, 0x22, 0x09, 0x48, 0x09, 0x93, 0x09, 0x33, 0x75, 0xDE, 0x09, 0x31, 0x75, 0x2A, 0x0A .byte 0x57, 0x0B, 0x31, 0x75, 0x85, 0x0C, 0x42, 0x0D, 0x6F, 0x0E, 0x2C, 0x0F, 0x31, 0x75, 0x3B, 0x10 .byte 0x31, 0x75, 0x8F, 0x11, 0x26, 0x12, 0x32, 0x75, 0x53, 0x13, 0xEA, 0x13, 0x31, 0x75, 0x5B, 0x14 .byte 0x32, 0x75, 0xCC, 0x14, 0x63, 0x15, 0xFA, 0x15, 0x28, 0x17, 0xBE, 0x17, 0x55, 0x18, 0x37, 0x75 .byte 0x83, 0x19, 0x1A, 0x1A, 0x3F, 0x1A, 0xD6, 0x1A, 0x04, 0x1C, 0x2A, 0x1C, 0x31, 0x75, 0xC0, 0x1C .byte 0x32, 0x75, 0xA3, 0x1D, 0x3A, 0x1E, 0x1C, 0x1F, 0x32, 0x75, 0x49, 0x20, 0xE0, 0x20, 0x0E, 0x22 .byte 0xA5, 0x22, 0x3C, 0x23, 0xD2, 0x23, 0x31, 0x75, 0x69, 0x24, 0x4C, 0x25, 0xE2, 0x25, 0x79, 0x26 .byte 0x10, 0x27, 0x87, 0x75 .global _0209FB58 _0209FB58: .byte 0x31, 0x75, 0x20, 0x03, 0x80, 0x0C, 0x40, 0x1F, 0xF0, 0x23, 0x10, 0x27 .byte 0x41, 0x75, 0x10, 0x27, 0x41, 0x75, 0xD0, 0x07, 0xA0, 0x0F, 0x70, 0x17, 0x34, 0x75, 0x40, 0x1F .byte 0x37, 0x75, 0x10, 0x27, 0x4C, 0x75, 0x29, 0x0B, 0x33, 0x75, 0x52, 0x16, 0x44, 0x75, 0xE7, 0x1B .byte 0x31, 0x75, 0x7B, 0x21, 0x32, 0x75, 0x10, 0x27, 0x43, 0x75, 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06 .byte 0x31, 0x09, 0x7D, 0x0B, 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12, 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19 .byte 0x93, 0x1B, 0xDF, 0x1D, 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24, 0x10, 0x27, 0x64, 0x75, 0x2E, 0x01 .byte 0x31, 0x75, 0x5B, 0x02, 0xF2, 0x02, 0x89, 0x03, 0xFA, 0x03, 0x32, 0x75, 0x20, 0x04, 0xB7, 0x04 .byte 0x31, 0x75, 0xDC, 0x04, 0x32, 0x75, 0x4D, 0x05, 0x7B, 0x06, 0x12, 0x07, 0x31, 0x75, 0xA9, 0x07 .byte 0x40, 0x08, 0xD6, 0x08, 0x22, 0x09, 0x48, 0x09, 0x93, 0x09, 0x33, 0x75, 0xDE, 0x09, 0x31, 0x75 .byte 0x2A, 0x0A, 0x57, 0x0B, 0x31, 0x75, 0x85, 0x0C, 0x42, 0x0D, 0x6F, 0x0E, 0x2C, 0x0F, 0x31, 0x75 .byte 0x3B, 0x10, 0x31, 0x75, 0x8F, 0x11, 0x26, 0x12, 0x32, 0x75, 0x53, 0x13, 0xEA, 0x13, 0x31, 0x75 .byte 0x5B, 0x14, 0x32, 0x75, 0xCC, 0x14, 0x63, 0x15, 0xFA, 0x15, 0x28, 0x17, 0xBE, 0x17, 0x55, 0x18 .byte 0x37, 0x75, 0x83, 0x19, 0x1A, 0x1A, 0x3F, 0x1A, 0xD6, 0x1A, 0x04, 0x1C, 0x2A, 0x1C, 0x31, 0x75 .byte 0xC0, 0x1C, 0x32, 0x75, 0xA3, 0x1D, 0x3A, 0x1E, 0x1C, 0x1F, 0x32, 0x75, 0x49, 0x20, 0xE0, 0x20 .byte 0x0E, 0x22, 0xA5, 0x22, 0x3C, 0x23, 0xD2, 0x23, 0x31, 0x75, 0x69, 0x24, 0x4C, 0x25, 0xE2, 0x25 .byte 0x79, 0x26, 0x10, 0x27, 0x87, 0x75, 0x00, 0x00 .global _0209FC4C _0209FC4C: .byte 0x35, 0x75, 0xC0, 0x0F, 0x32, 0x75, 0x50, 0x17 .byte 0x10, 0x27, 0xEC, 0x75, 0x10, 0x27, 0x35, 0x75, 0xE9, 0x00, 0x5E, 0x01, 0x47, 0x02, 0xBC, 0x02 .byte 0x31, 0x03, 0xA5, 0x03, 0x31, 0x75, 0x1A, 0x04, 0x37, 0x04, 0xAC, 0x04, 0x31, 0x75, 0xC9, 0x04 .byte 0x3E, 0x05, 0xB3, 0x05, 0x0A, 0x06, 0xF3, 0x06, 0x68, 0x07, 0x31, 0x75, 0xDD, 0x07, 0x52, 0x08 .byte 0xC6, 0x08, 0x01, 0x09, 0x1E, 0x09, 0x58, 0x09, 0xCD, 0x09, 0x07, 0x0A, 0x3C, 0x0A, 0x76, 0x0A .byte 0xEB, 0x0A, 0x25, 0x0B, 0x0E, 0x0C, 0x31, 0x75, 0xF8, 0x0C, 0x8A, 0x0D, 0x73, 0x0E, 0x05, 0x0F .byte 0x31, 0x75, 0xEE, 0x0F, 0x31, 0x75, 0x63, 0x10, 0xD8, 0x10, 0x12, 0x11, 0x4C, 0x11, 0x36, 0x12 .byte 0xAA, 0x12, 0xE5, 0x12, 0x3C, 0x13, 0x94, 0x13, 0x31, 0x75, 0xEB, 0x13, 0x60, 0x14, 0xD5, 0x14 .byte 0xBE, 0x15, 0x33, 0x16, 0xA7, 0x16, 0xE2, 0x16, 0x1C, 0x17, 0x56, 0x17, 0x91, 0x17, 0xCB, 0x17 .byte 0x05, 0x18, 0x40, 0x18, 0x29, 0x19, 0x9E, 0x19, 0xBB, 0x19, 0x30, 0x1A, 0x19, 0x1B, 0x36, 0x1B .byte 0x53, 0x1B, 0xC8, 0x1B, 0x32, 0x75, 0x77, 0x1C, 0xEC, 0x1C, 0x9B, 0x1D, 0x0F, 0x1E, 0xBE, 0x1E .byte 0xA8, 0x1F, 0x1D, 0x20, 0x06, 0x21, 0x7B, 0x21, 0xEF, 0x21, 0x64, 0x22, 0xD9, 0x22, 0x4D, 0x23 .byte 0xC2, 0x23, 0x71, 0x24, 0xE6, 0x24, 0x5A, 0x25, 0x95, 0x25, 0xB2, 0x25, 0xEC, 0x25, 0x27, 0x26 .byte 0x61, 0x26, 0x9B, 0x26, 0xD6, 0x26, 0x10, 0x27, 0x40, 0x75, 0xBA, 0x02, 0x2D, 0x08, 0xA0, 0x0D .byte 0x31, 0x75, 0x89, 0x0E, 0x48, 0x75, 0x14, 0x13, 0x32, 0x75, 0x9F, 0x17, 0x31, 0x75, 0x29, 0x1C .byte 0x42, 0x75, 0xFA, 0x1D, 0xCC, 0x1F, 0x9D, 0x21, 0x6E, 0x23, 0x3F, 0x25, 0x10, 0x27, 0x34, 0x75 .global _0209FD44 _0209FD44: .byte 0x32, 0x75, 0x04, 0x09, 0x09, 0x15, 0x0C, 0x1E, 0x10, 0x27, 0x4B, 0x75, 0x57, 0x04, 0x35, 0x75 .byte 0xAE, 0x08, 0x31, 0x75, 0x05, 0x0D, 0x5C, 0x11, 0xB4, 0x15, 0x0B, 0x1A, 0x39, 0x75, 0x62, 0x1E .byte 0x31, 0x75, 0xB9, 0x22, 0x10, 0x27, 0x4B, 0x75, 0x83, 0x06, 0x33, 0x75, 0x05, 0x0D, 0x35, 0x75 .byte 0x88, 0x13, 0x3E, 0x75, 0x0B, 0x1A, 0x31, 0x75, 0x8D, 0x20, 0x32, 0x75, 0x10, 0x27, 0x43, 0x75 .byte 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06, 0x31, 0x09, 0x7D, 0x0B, 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12 .byte 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19, 0x93, 0x1B, 0xDF, 0x1D, 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24 .byte 0x10, 0x27, 0x64, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03 .byte 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05 .byte 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09 .byte 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C .byte 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75 .byte 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14 .byte 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18 .byte 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75 .byte 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20 .byte 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25 .byte 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x85, 0x75 .global _0209FE50 _0209FE50: .byte 0x32, 0x75, 0xC4, 0x09 .byte 0x88, 0x13, 0x4C, 0x1D, 0x10, 0x27, 0x4A, 0x75, 0x01, 0x03, 0x02, 0x06, 0x35, 0x75, 0x04, 0x09 .byte 0x31, 0x75, 0x05, 0x0C, 0x06, 0x0F, 0x07, 0x12, 0x09, 0x15, 0x37, 0x75, 0x0A, 0x18, 0x0B, 0x1B .byte 0x0C, 0x1E, 0x31, 0x75, 0x0E, 0x21, 0x0F, 0x24, 0x3A, 0x75, 0x10, 0x27, 0x40, 0x75, 0x83, 0x06 .byte 0x33, 0x75, 0x05, 0x0D, 0x35, 0x75, 0x88, 0x13, 0x3E, 0x75, 0x0B, 0x1A, 0x31, 0x75, 0x8D, 0x20 .byte 0x32, 0x75, 0x10, 0x27, 0x43, 0x75, 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06, 0x31, 0x09, 0x7D, 0x0B .byte 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12, 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19, 0x93, 0x1B, 0xDF, 0x1D .byte 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24, 0x10, 0x27, 0x64, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02 .byte 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04 .byte 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08 .byte 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A .byte 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F .byte 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13 .byte 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16 .byte 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A .byte 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E .byte 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23 .byte 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27 .byte 0x85, 0x75, 0x00, 0x00 .global _0209FF68 _0209FF68: .byte 0x32, 0x75, 0xC4, 0x09, 0x88, 0x13, 0x4C, 0x1D, 0x10, 0x27, 0x4A, 0x75 .byte 0x01, 0x03, 0x02, 0x06, 0x35, 0x75, 0x04, 0x09, 0x31, 0x75, 0x05, 0x0C, 0x06, 0x0F, 0x07, 0x12 .byte 0x09, 0x15, 0x37, 0x75, 0x0A, 0x18, 0x0B, 0x1B, 0x0C, 0x1E, 0x31, 0x75, 0x0E, 0x21, 0x0F, 0x24 .byte 0x3A, 0x75, 0x10, 0x27, 0x40, 0x75, 0x95, 0x05, 0x33, 0x75, 0x29, 0x0B, 0x35, 0x75, 0xBE, 0x10 .byte 0x3E, 0x75, 0x52, 0x16, 0x31, 0x75, 0xE7, 0x1B, 0x7B, 0x21, 0x31, 0x75, 0x10, 0x27, 0x43, 0x75 .byte 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06, 0x31, 0x09, 0x7D, 0x0B, 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12 .byte 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19, 0x93, 0x1B, 0xDF, 0x1D, 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24 .byte 0x10, 0x27, 0x64, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03 .byte 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05 .byte 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09 .byte 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C .byte 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75 .byte 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14 .byte 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18 .byte 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75 .byte 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20 .byte 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25 .byte 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x85, 0x75 .global _020A0080 _020A0080: .byte 0x32, 0x75, 0xE2, 0x04 .byte 0x31, 0x75, 0x88, 0x13, 0x2E, 0x22, 0x32, 0x75, 0x9F, 0x24, 0x31, 0x75, 0x10, 0x27, 0x46, 0x75 .byte 0xCA, 0x02, 0x33, 0x75, 0x95, 0x05, 0x33, 0x75, 0x5F, 0x08, 0x29, 0x0B, 0xF3, 0x0D, 0xBE, 0x10 .byte 0x38, 0x75, 0x88, 0x13, 0x32, 0x75, 0x52, 0x16, 0x1D, 0x19, 0x32, 0x75, 0xE7, 0x1B, 0x37, 0x75 .byte 0xB1, 0x1E, 0x31, 0x75, 0x7B, 0x21, 0x46, 0x24, 0x10, 0x27, 0x50, 0x75, 0xD0, 0x07, 0x3A, 0x75 .byte 0xA0, 0x0F, 0x70, 0x17, 0x40, 0x1F, 0x35, 0x75, 0x10, 0x27, 0x4E, 0x75, 0x72, 0x01, 0xE5, 0x02 .byte 0x57, 0x04, 0xC9, 0x05, 0x3C, 0x07, 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D, 0x78, 0x0E .byte 0xEA, 0x0F, 0x5C, 0x11, 0xCF, 0x12, 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18, 0x0B, 0x1A .byte 0x7D, 0x1B, 0xEF, 0x1C, 0x62, 0x1E, 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24, 0x9E, 0x25 .byte 0x10, 0x27, 0x46, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03 .byte 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05 .byte 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09 .byte 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C .byte 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75 .byte 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14 .byte 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18 .byte 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75 .byte 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20 .byte 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25 .byte 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x83, 0x75, 0x10, 0x27, 0x31, 0x75 .global _020A01B4 _020A01B4: .byte 0x32, 0x75, 0xB8, 0x0B, 0x31, 0x75, 0x70, 0x17, 0x28, 0x23, 0x32, 0x75, 0x1C, 0x25, 0x31, 0x75 .byte 0x10, 0x27, 0x45, 0x75, 0x9B, 0x02, 0x35, 0x05, 0x33, 0x75, 0xD0, 0x07, 0x31, 0x75, 0x6B, 0x0A .byte 0x05, 0x0D, 0xA0, 0x0F, 0x3B, 0x12, 0xD5, 0x14, 0x70, 0x17, 0x37, 0x75, 0x0B, 0x1A, 0xA5, 0x1C .byte 0x40, 0x1F, 0x31, 0x75, 0xDB, 0x21, 0x75, 0x24, 0x3A, 0x75, 0x10, 0x27, 0x40, 0x75, 0x83, 0x06 .byte 0x33, 0x75, 0x05, 0x0D, 0x35, 0x75, 0x88, 0x13, 0x3E, 0x75, 0x0B, 0x1A, 0x32, 0x75, 0x8D, 0x20 .byte 0x31, 0x75, 0x10, 0x27, 0x57, 0x75, 0x72, 0x01, 0xE5, 0x02, 0x57, 0x04, 0xC9, 0x05, 0x3C, 0x07 .byte 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D, 0x78, 0x0E, 0xEA, 0x0F, 0x5C, 0x11, 0xCF, 0x12 .byte 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18, 0x0B, 0x1A, 0x7D, 0x1B, 0xEF, 0x1C, 0x62, 0x1E .byte 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24, 0x9E, 0x25, 0x10, 0x27, 0x46, 0x75, 0x06, 0x01 .byte 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75, 0x94, 0x03, 0x16, 0x04 .byte 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75 .byte 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75 .byte 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D .byte 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12 .byte 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15 .byte 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19 .byte 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C .byte 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22 .byte 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26 .byte 0x31, 0x75, 0x10, 0x27, 0x83, 0x75, 0x10, 0x27, 0x31, 0x75, 0x00, 0x00 .global _020A02F0 _020A02F0: .byte 0x32, 0x75, 0xE2, 0x04 .byte 0x31, 0x75, 0x88, 0x13, 0x2E, 0x22, 0x32, 0x75, 0x9F, 0x24, 0x31, 0x75, 0x10, 0x27, 0x46, 0x75 .byte 0x2C, 0x02, 0x33, 0x75, 0x57, 0x04, 0x32, 0x75, 0x83, 0x06, 0xAE, 0x08, 0xDA, 0x0A, 0x05, 0x0D .byte 0x31, 0x0F, 0x37, 0x75, 0x5C, 0x11, 0x88, 0x13, 0xB4, 0x15, 0x31, 0x75, 0xDF, 0x17, 0x0B, 0x1A .byte 0x32, 0x75, 0x36, 0x1C, 0x34, 0x75, 0x62, 0x1E, 0x32, 0x75, 0x8D, 0x20, 0x31, 0x75, 0xB9, 0x22 .byte 0xE4, 0x24, 0x10, 0x27, 0x50, 0x75, 0xD0, 0x07, 0x3A, 0x75, 0xA0, 0x0F, 0x70, 0x17, 0x40, 0x1F .byte 0x35, 0x75, 0x10, 0x27, 0x4E, 0x75, 0x72, 0x01, 0xE5, 0x02, 0x57, 0x04, 0xC9, 0x05, 0x3C, 0x07 .byte 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D, 0x78, 0x0E, 0xEA, 0x0F, 0x5C, 0x11, 0xCF, 0x12 .byte 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18, 0x0B, 0x1A, 0x7D, 0x1B, 0xEF, 0x1C, 0x62, 0x1E .byte 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24, 0x9E, 0x25, 0x10, 0x27, 0x46, 0x75, 0x06, 0x01 .byte 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75, 0x94, 0x03, 0x16, 0x04 .byte 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75 .byte 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75 .byte 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D .byte 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12 .byte 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15 .byte 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19 .byte 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C .byte 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22 .byte 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26 .byte 0x31, 0x75, 0x10, 0x27, 0x83, 0x75, 0x10, 0x27, 0x31, 0x75, 0x00, 0x00 .global _020A0430 _020A0430: .byte 0x32, 0x75, 0xB8, 0x0B .byte 0x31, 0x75, 0x70, 0x17, 0x28, 0x23, 0x32, 0x75, 0x1C, 0x25, 0x31, 0x75, 0x10, 0x27, 0x45, 0x75 .byte 0x2C, 0x02, 0x57, 0x04, 0x33, 0x75, 0x83, 0x06, 0x31, 0x75, 0xAE, 0x08, 0xDA, 0x0A, 0x05, 0x0D .byte 0x31, 0x0F, 0x5C, 0x11, 0x88, 0x13, 0x37, 0x75, 0xB4, 0x15, 0xDF, 0x17, 0x0B, 0x1A, 0x31, 0x75 .byte 0x36, 0x1C, 0x62, 0x1E, 0x3A, 0x75, 0x8D, 0x20, 0x31, 0x75, 0xB9, 0x22, 0xE4, 0x24, 0x10, 0x27 .byte 0x3C, 0x75, 0x1B, 0x06, 0x33, 0x75, 0x35, 0x0C, 0x44, 0x75, 0x50, 0x12, 0x32, 0x75, 0x6A, 0x18 .byte 0x32, 0x75, 0x14, 0x1C, 0xBD, 0x1F, 0x67, 0x23, 0x35, 0x75, 0x10, 0x27, 0x4E, 0x75, 0x72, 0x01 .byte 0xE5, 0x02, 0x57, 0x04, 0xC9, 0x05, 0x3C, 0x07, 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D .byte 0x78, 0x0E, 0xEA, 0x0F, 0x5C, 0x11, 0xCF, 0x12, 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18 .byte 0x0B, 0x1A, 0x7D, 0x1B, 0xEF, 0x1C, 0x62, 0x1E, 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24 .byte 0x9E, 0x25, 0x10, 0x27, 0x46, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03 .byte 0x73, 0x03, 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05 .byte 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08 .byte 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B .byte 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10 .byte 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75 .byte 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17 .byte 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B .byte 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F .byte 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24 .byte 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x83, 0x75, 0x10, 0x27 .byte 0x31, 0x75, 0x00, 0x00 .global _020A0578 _020A0578: .byte 0x32, 0x75, 0xE2, 0x04, 0x31, 0x75, 0x88, 0x13, 0x2E, 0x22, 0x32, 0x75 .byte 0x9F, 0x24, 0x31, 0x75, 0x10, 0x27, 0x46, 0x75, 0x2C, 0x02, 0x33, 0x75, 0x57, 0x04, 0x32, 0x75 .byte 0x83, 0x06, 0xAE, 0x08, 0xDA, 0x0A, 0x05, 0x0D, 0x31, 0x0F, 0x37, 0x75, 0x5C, 0x11, 0x88, 0x13 .byte 0xB4, 0x15, 0x31, 0x75, 0xDF, 0x17, 0x0B, 0x1A, 0x32, 0x75, 0x36, 0x1C, 0x34, 0x75, 0x62, 0x1E .byte 0x32, 0x75, 0x8D, 0x20, 0x31, 0x75, 0xB9, 0x22, 0xE4, 0x24, 0x10, 0x27, 0x3C, 0x75, 0x83, 0x06 .byte 0x33, 0x75, 0x05, 0x0D, 0x3F, 0x75, 0xED, 0x10, 0x37, 0x75, 0x70, 0x17, 0x32, 0x75, 0x58, 0x1B .byte 0x40, 0x1F, 0x28, 0x23, 0x35, 0x75, 0x10, 0x27, 0x4E, 0x75, 0x72, 0x01, 0xE5, 0x02, 0x57, 0x04 .byte 0xC9, 0x05, 0x3C, 0x07, 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D, 0x78, 0x0E, 0xEA, 0x0F .byte 0x5C, 0x11, 0xCF, 0x12, 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18, 0x0B, 0x1A, 0x7D, 0x1B .byte 0xEF, 0x1C, 0x62, 0x1E, 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24, 0x9E, 0x25, 0x10, 0x27 .byte 0x46, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75 .byte 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06 .byte 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09 .byte 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75 .byte 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11 .byte 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14 .byte 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75 .byte 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C .byte 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21 .byte 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25 .byte 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x83, 0x75, 0x10, 0x27, 0x31, 0x75, 0x00, 0x00 .global _020A06C4 _020A06C4: .byte 0x32, 0x75, 0xE2, 0x04, 0x31, 0x75, 0x88, 0x13, 0x2E, 0x22, 0x32, 0x75, 0x9F, 0x24, 0x31, 0x75 .byte 0x10, 0x27, 0x46, 0x75, 0x2C, 0x02, 0x33, 0x75, 0x57, 0x04, 0x31, 0x75, 0x83, 0x06, 0xAE, 0x08 .byte 0xDA, 0x0A, 0x05, 0x0D, 0x31, 0x0F, 0x5C, 0x11, 0x37, 0x75, 0x88, 0x13, 0xB4, 0x15, 0xDF, 0x17 .byte 0x31, 0x75, 0x0B, 0x1A, 0x36, 0x1C, 0x37, 0x75, 0x62, 0x1E, 0x32, 0x75, 0x8D, 0x20, 0x31, 0x75 .byte 0xB9, 0x22, 0xE4, 0x24, 0x10, 0x27, 0x3C, 0x75, 0x95, 0x05, 0x33, 0x75, 0x29, 0x0B, 0x3F, 0x75 .byte 0x82, 0x0E, 0x34, 0x75, 0x17, 0x14, 0x32, 0x75, 0xAB, 0x19, 0x32, 0x75, 0x05, 0x1D, 0x5E, 0x20 .byte 0xB7, 0x23, 0x35, 0x75, 0x10, 0x27, 0x4E, 0x75, 0x72, 0x01, 0xE5, 0x02, 0x57, 0x04, 0xC9, 0x05 .byte 0x3C, 0x07, 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D, 0x78, 0x0E, 0xEA, 0x0F, 0x5C, 0x11 .byte 0xCF, 0x12, 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18, 0x0B, 0x1A, 0x7D, 0x1B, 0xEF, 0x1C .byte 0x62, 0x1E, 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24, 0x9E, 0x25, 0x10, 0x27, 0x46, 0x75 .byte 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03, 0x73, 0x03, 0x32, 0x75, 0x94, 0x03 .byte 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05, 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07 .byte 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08, 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09 .byte 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B, 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D .byte 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10, 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12 .byte 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75, 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75 .byte 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17, 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19 .byte 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B, 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75 .byte 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F, 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22 .byte 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24, 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26 .byte 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x83, 0x75, 0x10, 0x27, 0x31, 0x75 .global _020A0810 _020A0810: .byte 0x32, 0x75, 0x60, 0x09 .byte 0xC0, 0x12, 0x20, 0x1C, 0x80, 0x25, 0x32, 0x75, 0x10, 0x27, 0x47, 0x75, 0xCA, 0x02, 0x95, 0x05 .byte 0x35, 0x75, 0x5F, 0x08, 0x29, 0x0B, 0xF3, 0x0D, 0xBE, 0x10, 0x88, 0x13, 0x52, 0x16, 0x37, 0x75 .byte 0x1D, 0x19, 0xE7, 0x1B, 0xB1, 0x1E, 0x31, 0x75, 0x7B, 0x21, 0x46, 0x24, 0x3A, 0x75, 0x10, 0x27 .byte 0x40, 0x75, 0x83, 0x06, 0x33, 0x75, 0x05, 0x0D, 0x35, 0x75, 0x88, 0x13, 0x3E, 0x75, 0x0B, 0x1A .byte 0x32, 0x75, 0x8D, 0x20, 0x31, 0x75, 0x10, 0x27, 0x43, 0x75, 0x4C, 0x02, 0x98, 0x04, 0xE5, 0x06 .byte 0x31, 0x09, 0x7D, 0x0B, 0xC9, 0x0D, 0x16, 0x10, 0x62, 0x12, 0xAE, 0x14, 0xFA, 0x16, 0x47, 0x19 .byte 0x93, 0x1B, 0xDF, 0x1D, 0x2B, 0x20, 0x78, 0x22, 0xC4, 0x24, 0x10, 0x27, 0x33, 0x75, 0x72, 0x01 .byte 0xE5, 0x02, 0x57, 0x04, 0xC9, 0x05, 0x3C, 0x07, 0xAE, 0x08, 0x21, 0x0A, 0x93, 0x0B, 0x05, 0x0D .byte 0x78, 0x0E, 0xEA, 0x0F, 0x5C, 0x11, 0xCF, 0x12, 0x41, 0x14, 0xB4, 0x15, 0x26, 0x17, 0x98, 0x18 .byte 0x0B, 0x1A, 0x7D, 0x1B, 0xEF, 0x1C, 0x62, 0x1E, 0xD4, 0x1F, 0x47, 0x21, 0xB9, 0x22, 0x2B, 0x24 .byte 0x9E, 0x25, 0x10, 0x27, 0x46, 0x75, 0x06, 0x01, 0x31, 0x75, 0x0B, 0x02, 0x8E, 0x02, 0x11, 0x03 .byte 0x73, 0x03, 0x32, 0x75, 0x94, 0x03, 0x16, 0x04, 0x31, 0x75, 0x37, 0x04, 0xBA, 0x04, 0x3D, 0x05 .byte 0x9F, 0x05, 0xA4, 0x06, 0x27, 0x07, 0x31, 0x75, 0xAA, 0x07, 0x2D, 0x08, 0xB0, 0x08, 0xF1, 0x08 .byte 0x12, 0x09, 0x53, 0x09, 0xD6, 0x09, 0x31, 0x75, 0x11, 0x0A, 0x52, 0x0A, 0xD5, 0x0A, 0x16, 0x0B .byte 0x1C, 0x0C, 0x31, 0x75, 0x22, 0x0D, 0xC5, 0x0D, 0xCB, 0x0E, 0x6E, 0x0F, 0x31, 0x75, 0x74, 0x10 .byte 0x31, 0x75, 0x9A, 0x11, 0x1D, 0x12, 0x5E, 0x12, 0xA0, 0x12, 0xA5, 0x13, 0x28, 0x14, 0x31, 0x75 .byte 0x8A, 0x14, 0xEC, 0x14, 0x31, 0x75, 0x4F, 0x15, 0xD1, 0x15, 0x54, 0x16, 0x5A, 0x17, 0xDD, 0x17 .byte 0x5F, 0x18, 0x37, 0x75, 0x65, 0x19, 0xE8, 0x19, 0x08, 0x1A, 0x8B, 0x1A, 0x91, 0x1B, 0xB2, 0x1B .byte 0x31, 0x75, 0x34, 0x1C, 0x32, 0x75, 0xF9, 0x1C, 0x7B, 0x1D, 0x40, 0x1E, 0xC2, 0x1E, 0x87, 0x1F .byte 0x8C, 0x20, 0x0F, 0x21, 0x15, 0x22, 0x97, 0x22, 0x1A, 0x23, 0x9D, 0x23, 0x20, 0x24, 0xA3, 0x24 .byte 0x25, 0x25, 0xEA, 0x25, 0x6C, 0x26, 0xEF, 0x26, 0x31, 0x75, 0x10, 0x27, 0x85, 0x75, 0x00, 0x00 .global _020A0964 _020A0964: .byte 0x56, 0x0C, 0x31, 0x75, 0x81, 0x12, 0x9D, 0x16, 0xBA, 0x1A, 0xD7, 0x1E, 0x33, 0x75, 0xF3, 0x22 .byte 0x10, 0x27, 0x39, 0x75, 0xC4, 0x09, 0x88, 0x13, 0x4C, 0x1D, 0x32, 0x75, 0x10, 0x27, 0x37, 0x75 .byte 0xB3, 0x01, 0x66, 0x03, 0x31, 0x75, 0x18, 0x05, 0xCB, 0x06, 0x33, 0x75, 0x7E, 0x08, 0x31, 0x0A .byte 0xE3, 0x0B, 0x96, 0x0D, 0x49, 0x0F, 0x36, 0x75, 0xFC, 0x10, 0xAF, 0x12, 0x61, 0x14, 0x14, 0x16 .byte 0xC7, 0x17, 0x7A, 0x19, 0x33, 0x75, 0x2D, 0x1B, 0xDF, 0x1C, 0x92, 0x1E, 0x45, 0x20, 0xF8, 0x21 .byte 0x31, 0x75, 0xAA, 0x23, 0x5D, 0x25, 0x44, 0x75, 0x05, 0x0D, 0x3F, 0x75, 0x0B, 0x1A, 0x39, 0x75 .byte 0x10, 0x27, 0x54, 0x75, 0x88, 0x13, 0x10, 0x27, 0x58, 0x75, 0x10, 0x27, 0x39, 0x75, 0x2E, 0x01 .byte 0x31, 0x75, 0x5B, 0x02, 0xF2, 0x02, 0x89, 0x03, 0xFA, 0x03, 0x32, 0x75, 0x20, 0x04, 0xB7, 0x04 .byte 0x31, 0x75, 0xDC, 0x04, 0x32, 0x75, 0x4D, 0x05, 0x7B, 0x06, 0x12, 0x07, 0x31, 0x75, 0xA9, 0x07 .byte 0x40, 0x08, 0xD6, 0x08, 0x22, 0x09, 0x48, 0x09, 0x93, 0x09, 0x33, 0x75, 0xDE, 0x09, 0x31, 0x75 .byte 0x2A, 0x0A, 0x57, 0x0B, 0x31, 0x75, 0x85, 0x0C, 0x42, 0x0D, 0x6F, 0x0E, 0x2C, 0x0F, 0x31, 0x75 .byte 0x3B, 0x10, 0x31, 0x75, 0x8F, 0x11, 0x26, 0x12, 0x32, 0x75, 0x53, 0x13, 0xEA, 0x13, 0x31, 0x75 .byte 0x5B, 0x14, 0x32, 0x75, 0xCC, 0x14, 0x63, 0x15, 0xFA, 0x15, 0x28, 0x17, 0xBE, 0x17, 0x55, 0x18 .byte 0x37, 0x75, 0x83, 0x19, 0x1A, 0x1A, 0x3F, 0x1A, 0xD6, 0x1A, 0x04, 0x1C, 0x2A, 0x1C, 0x31, 0x75 .byte 0xC0, 0x1C, 0x32, 0x75, 0xA3, 0x1D, 0x3A, 0x1E, 0x1C, 0x1F, 0x32, 0x75, 0x49, 0x20, 0xE0, 0x20 .byte 0x0E, 0x22, 0xA5, 0x22, 0x3C, 0x23, 0xD2, 0x23, 0x31, 0x75, 0x69, 0x24, 0x00, 0x25, 0xE2, 0x25 .byte 0x79, 0x26, 0x10, 0x27, 0x48, 0x75, 0xC4, 0x00, 0x88, 0x01, 0x4C, 0x02, 0x10, 0x03, 0xD4, 0x03 .byte 0x98, 0x04, 0x5D, 0x05, 0x31, 0x75, 0x21, 0x06, 0xE5, 0x06, 0xA9, 0x07, 0x6D, 0x08, 0x31, 0x09 .byte 0xF5, 0x09, 0xB9, 0x0A, 0x7D, 0x0B, 0x41, 0x0C, 0xC9, 0x0D, 0x8D, 0x0E, 0x52, 0x0F, 0xDA, 0x10 .byte 0x9E, 0x11, 0x62, 0x12, 0x31, 0x75, 0xEA, 0x13, 0x72, 0x15, 0xFA, 0x16, 0xBE, 0x17, 0x83, 0x18 .byte 0x47, 0x19, 0x0B, 0x1A, 0xCF, 0x1A, 0x93, 0x1B, 0x57, 0x1C, 0x1B, 0x1D, 0x31, 0x75, 0xDF, 0x1D .byte 0x32, 0x75, 0xA3, 0x1E, 0x67, 0x1F, 0x2B, 0x20, 0xEF, 0x20, 0xB3, 0x21, 0x32, 0x75, 0x3C, 0x23 .byte 0x00, 0x24, 0x31, 0x75, 0x88, 0x25, 0x4C, 0x26, 0x10, 0x27, 0x39, 0x75, 0x10, 0x27, 0x31, 0x75 .global MISSION_FLOOR_RANKS_PTRS MISSION_FLOOR_RANKS_PTRS: .word MISSION_FLOOR_RANKS_AND_ITEM_LISTS_1 .word _0209EAB4 .word _0209EB24 .word _0209EBF0 .word _0209EB54 .word _0209EC38 .word _0209EB90 .word _0209EAE4 .word _0209EC68 .word _0209EAEC .word _0209EC20 .word _0209EABC .word _0209ED18 .word _0209EE0C .word _0209ECF8 .word _0209EEFC .word _0209EBFC .word _0209EC88 .word _0209EB84 .word _0209ECA8 .word _0209ECB8 .word _0209EB78 .word _0209EC48 .word _0209EE24 .word _0209ECD8 .word _0209EF2C .word _0209EF48 .word _0209EC78 .word _0209EF80 .word _0209EF9C .word _0209EE54 .word _0209ED7C .word _0209F0F8 .word _0209EE6C .word _0209EF14 .word _0209EFF4 .word _0209EDA4 .word _0209F014 .word _0209EE84 .word _0209EB60 .word _0209EC58 .word _0209EE9C .word _0209EBA8 .word _0209ECE8 .word _0209EEB4 .word _0209EECC .word _0209F034 .word _0209EB34 .word _0209EADC .word _0209EBC0 .word _0209EB1C .word _0209F160 .word _0209EEE4 .word _0209F330 .word _0209F054 .word _0209EDCC .word _0209EDE0 .word _0209ED68 .word _0209EFB8 .word _0209F1D4 .word _0209F0A0 .word _0209F0CC .word _0209F394 .word ARM9_UNKNOWN_DATA__NA_209EAAC .word _0209F12C .word _0209F3F8 .word _0209EBCC .word _0209EB04 .word _0209EC98 .word _0209EDF4 .word _0209EF64 .word _0209EFD4 .word _0209F074 .word _0209ED54 .word _0209EB4C .word _0209EBE4 .word _0209ECC8 .word _0209EC2C .word _0209ED40 .word _0209EE3C .word _0209EB6C .word _0209EBB4 .word _0209ED08 .word _0209EB9C .word _0209ED90 .word _0209EBD8 .word _0209EC08 .word _0209EB14 .word _0209EAFC .word _0209EC14 .word _0209EDB8 .word _0209ED2C .word _0209EACC .word _0209EB3C .word _0209EB44 .word _0209EB2C .word _0209EAD4 .word _0209EAC4 .word _0209EAF4 .word _0209EB0C .global DUNGEON_RESTRICTIONS DUNGEON_RESTRICTIONS: .byte 0xE0, 0x07, 0x00, 0x00 .global _020A0C68 _020A0C68: .byte 0x0A .global _020A0C69 _020A0C69: .byte 0x30 .global _020A0C6A _020A0C6A: .byte 0x04, 0x00 .global _020A0C6C _020A0C6C: .byte 0xE8, 0x03 .global _020A0C6E _020A0C6E: .byte 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x02, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x02, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x02, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x02, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x02, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x02, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0x14, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA0, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xB4, 0x04, 0x00, 0x00, 0x0A, 0x10, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0xB4, 0x04, 0x00, 0x00 .byte 0x0A, 0x00, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x94, 0x04, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0xA0, 0x06, 0x00, 0x00, 0xFF, 0x10, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x95, 0x07, 0x00, 0x00, 0xFF, 0x00, 0x01, 0x00, 0xD0, 0x07, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00, 0xFF, 0x08, 0x02, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0x84, 0x04, 0x00, 0x00, 0xFF, 0x08, 0x02, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 .byte 0xFF, 0x08, 0x01, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00, 0xFF, 0x08, 0x01, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0x78, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0x78, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0x78, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0x78, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0x78, 0x03, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0x8D, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x8C, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0x78, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00 .byte 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00 .byte 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x00, 0x04, 0x00, 0xF4, 0x01, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xFF, 0x00, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00 .byte 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00 .byte 0xE8, 0x03, 0x00, 0x00, 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00 .byte 0xA4, 0x04, 0x00, 0x00, 0xFF, 0x30, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .byte 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00 .byte 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00 .byte 0xD0, 0x07, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x0A, 0x30, 0x04, 0x00, 0xD0, 0x07, 0x00, 0x00 .global _020A1864 _020A1864: .byte 0xB4, 0x00, 0x00, 0x00 .global _020A1868 _020A1868: .byte 0x32, 0x00, 0x00, 0x00 .global SPECIAL_BAND_STAT_BOOST SPECIAL_BAND_STAT_BOOST: .byte 0x0C, 0x00, 0x00, 0x00 .global _020A1870 _020A1870: .byte 0x0A, 0x00, 0x00, 0x00 .global _020A1874 _020A1874: .byte 0x04, 0x00, 0x00, 0x00 .global _020A1878 _020A1878: .byte 0x0A, 0x00, 0x00, 0x00 .global MUNCH_BELT_STAT_BOOST MUNCH_BELT_STAT_BOOST: .byte 0x08, 0x00, 0x00, 0x00 .global _020A1880 _020A1880: .byte 0x2C, 0x01, 0x00, 0x00 .global _020A1884 _020A1884: .byte 0x2C, 0x01, 0x00, 0x00 .global GUMMI_STAT_BOOST GUMMI_STAT_BOOST: .byte 0x01, 0x00, 0x00, 0x00 .global MIN_IQ_EXCLUSIVE_MOVE_USER MIN_IQ_EXCLUSIVE_MOVE_USER: .byte 0x4B, 0x01, 0x00, 0x00 .global WONDER_GUMMI_IQ_GAIN WONDER_GUMMI_IQ_GAIN: .byte 0x0F, 0x00, 0x00, 0x00 .global _020A1894 _020A1894: .byte 0x32, 0x00, 0x00, 0x00 .global AURA_BOW_STAT_BOOST AURA_BOW_STAT_BOOST: .byte 0x01, 0x00, 0x00, 0x00 .global _020A189C _020A189C: .byte 0x2C, 0x01, 0x00, 0x00 .global _020A18A0 _020A18A0: .byte 0x05, 0x00, 0x00, 0x00 .global MIN_IQ_ITEM_MASTER MIN_IQ_ITEM_MASTER: .byte 0x96, 0x00, 0x00, 0x00 .global DEF_SCARF_STAT_BOOST DEF_SCARF_STAT_BOOST: .byte 0x08, 0x00, 0x00, 0x00 .global POWER_BAND_STAT_BOOST POWER_BAND_STAT_BOOST: .byte 0x0C, 0x00, 0x00, 0x00 .global WONDER_GUMMI_STAT_BOOST WONDER_GUMMI_STAT_BOOST: .byte 0x03, 0x00, 0x00, 0x00 .global ZINC_BAND_STAT_BOOST ZINC_BAND_STAT_BOOST: .byte 0x08, 0x00, 0x00, 0x00 .global EGG_HP_BONUS EGG_HP_BONUS: .byte 0x0A, 0x00, 0x00, 0x00 .global _020A18BC _020A18BC: .byte 0x78, 0x05, 0x00, 0x00 .global _020A18C0 _020A18C0: .byte 0x2C, 0x01, 0x00, 0x00 .global EVOLUTION_HP_BONUS EVOLUTION_HP_BONUS: .byte 0x0A, 0x00, 0x00, 0x00 .global _020A18C8 _020A18C8: .byte 0x02, 0x00, 0x00, 0x00 .global DAMAGE_FORMULA_FLV_SHIFT DAMAGE_FORMULA_FLV_SHIFT: .byte 0x00, 0x32, 0x00, 0x00 .global EVOLUTION_PHYSICAL_STAT_BONUSES EVOLUTION_PHYSICAL_STAT_BONUSES: .byte 0x05, 0x00, 0x05, 0x00 .global DAMAGE_FORMULA_CONSTANT_SHIFT DAMAGE_FORMULA_CONSTANT_SHIFT: .byte 0x00, 0xC9, 0xFE, 0xFF .global DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR DAMAGE_FORMULA_FLV_DEFICIT_DIVISOR: .byte 0x00, 0x08, 0x00, 0x00 .global EGG_STAT_BONUSES EGG_STAT_BONUSES: .byte 0x05, 0x00, 0x05, 0x00 .global _020A18E0 _020A18E0: .byte 0x05, 0x00, 0x05, 0x00 .global EVOLUTION_SPECIAL_STAT_BONUSES EVOLUTION_SPECIAL_STAT_BONUSES: .byte 0x05, 0x00, 0x05, 0x00 .global DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER DAMAGE_FORMULA_NON_TEAM_MEMBER_MODIFIER: .byte 0x54, 0x01, 0x00, 0x00 .global DAMAGE_FORMULA_LN_PREFACTOR DAMAGE_FORMULA_LN_PREFACTOR: .byte 0x00, 0x32, 0x00, 0x00 .global DAMAGE_FORMULA_DEF_PREFACTOR DAMAGE_FORMULA_DEF_PREFACTOR: .byte 0x80, 0xFF, 0xFF, 0xFF .global DAMAGE_FORMULA_AT_PREFACTOR DAMAGE_FORMULA_AT_PREFACTOR: .byte 0x99, 0x00, 0x00, 0x00 .global DAMAGE_FORMULA_LN_ARG_PREFACTOR DAMAGE_FORMULA_LN_ARG_PREFACTOR: .byte 0x00, 0x0A, 0x00, 0x00 .global _020A18FC _020A18FC: .byte 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0x00, 0x00, 0x00 .global _020A1904 _020A1904: .byte 0x96, 0x97, 0x98, 0x99, 0x9A, 0x00, 0x00, 0x00 .global _020A190C _020A190C: .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x00, 0x01, 0x00 .global FORBIDDEN_FORGOT_MOVE_LIST FORBIDDEN_FORGOT_MOVE_LIST: .byte 0x18, 0x03, 0xD6, 0x00, 0xFB, 0x00, 0x19, 0x01, 0xD6, 0x00, 0x08, 0x00 .byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020A192C _020A192C: .byte 0x00, 0x0E, 0x03, 0x04, 0x0C, 0x09, 0x02, 0x0E .byte 0x11, 0x0A, 0x0D, 0x10, 0x08, 0x07, 0x01, 0x11, 0x10, 0x05, 0x00, 0x00 .global TACTICS_UNLOCK_LEVEL_TABLE TACTICS_UNLOCK_LEVEL_TABLE: .byte 0x01, 0x00, 0x14, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x03, 0xE7, 0x03, 0x23, 0x00, 0x1E, 0x00, 0xE7, 0x03, 0x0A, 0x00 .byte 0x0F, 0x00, 0xE7, 0x03 .global _020A1958 _020A1958: .byte 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E .byte 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E .byte 0x8F, 0x90, 0x00, 0x00 .global CLIENT_LEVEL_TABLE CLIENT_LEVEL_TABLE: .byte 0x00, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00 .byte 0x0B, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00 .global OUTLAW_LEVEL_TABLE OUTLAW_LEVEL_TABLE: .byte 0x00, 0x00, 0x11, 0x00, 0x14, 0x00, 0x19, 0x00, 0x20, 0x00, 0x25, 0x00 .byte 0x2A, 0x00, 0x2F, 0x00, 0x34, 0x00, 0x39, 0x00, 0x3C, 0x00, 0x41, 0x00, 0x46, 0x00, 0x4B, 0x00 .byte 0x50, 0x00, 0x5A, 0x00 .global OUTLAW_MINION_LEVEL_TABLE OUTLAW_MINION_LEVEL_TABLE: .byte 0x00, 0x00, 0x11, 0x00, 0x14, 0x00, 0x19, 0x00, 0x20, 0x00, 0x25, 0x00 .byte 0x2A, 0x00, 0x2F, 0x00, 0x34, 0x00, 0x39, 0x00, 0x3C, 0x00, 0x41, 0x00, 0x46, 0x00, 0x4B, 0x00 .byte 0x50, 0x00, 0x5A, 0x00 .global HIDDEN_POWER_BASE_POWER_TABLE HIDDEN_POWER_BASE_POWER_TABLE: .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .global VERSION_EXCLUSIVE_MONSTERS VERSION_EXCLUSIVE_MONSTERS: .byte 0xC8, 0x01, 0x01, 0x00 .byte 0x20, 0x04, 0x01, 0x00, 0xC6, 0x01, 0x01, 0x00, 0x1E, 0x04, 0x01, 0x00, 0x0C, 0x00, 0x01, 0x00 .byte 0x64, 0x02, 0x01, 0x00, 0xD5, 0x01, 0x00, 0x01, 0x2D, 0x04, 0x00, 0x01, 0xBF, 0x01, 0x00, 0x01 .byte 0x17, 0x04, 0x00, 0x01, 0xC0, 0x01, 0x00, 0x01, 0x18, 0x04, 0x00, 0x01, 0xC1, 0x01, 0x00, 0x01 .byte 0x19, 0x04, 0x00, 0x01, 0x0F, 0x00, 0x00, 0x01, 0x67, 0x02, 0x00, 0x01, 0xE9, 0x01, 0x01, 0x00 .byte 0x41, 0x04, 0x01, 0x00, 0xEA, 0x01, 0x01, 0x00, 0x42, 0x04, 0x01, 0x00, 0x16, 0x01, 0x01, 0x00 .byte 0x09, 0x02, 0x00, 0x01, 0x96, 0x00, 0x00, 0x01 .global IQ_SKILL_RESTRICTIONS IQ_SKILL_RESTRICTIONS: .byte 0x0F, 0x27, 0x04, 0x00, 0x01, 0x00, 0x02, 0x00 .byte 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00 .byte 0x0A, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x10, 0x00 .byte 0x14, 0x00, 0x09, 0x00, 0x11, 0x00, 0x06, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00 .byte 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00 .byte 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00 .byte 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00 .byte 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00 .byte 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00 .byte 0x44, 0x00, 0x00, 0x00 .global SECONDARY_TERRAIN_TYPES SECONDARY_TERRAIN_TYPES: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 .global SENTRY_DUTY_MONSTER_IDS SENTRY_DUTY_MONSTER_IDS: .byte 0x1B, 0x01, 0x9F, 0x00 .byte 0x85, 0x00, 0xFE, 0x00, 0x48, 0x01, 0x49, 0x01, 0xAE, 0x01, 0xA0, 0x00, 0xFB, 0x00, 0x7F, 0x00 .byte 0xEC, 0x01, 0x8F, 0x00, 0x08, 0x00, 0x09, 0x00, 0x18, 0x01, 0x80, 0x00, 0xAB, 0x01, 0x41, 0x01 .byte 0xE8, 0x01, 0x6A, 0x00, 0x6B, 0x01, 0x1C, 0x00, 0x1A, 0x01, 0x19, 0x01, 0x7B, 0x00, 0x07, 0x00 .byte 0x2F, 0x01, 0xBD, 0x01, 0x2D, 0x01, 0x96, 0x01, 0x98, 0x00, 0x54, 0x00, 0xAF, 0x00, 0xA8, 0x01 .byte 0xA6, 0x01, 0x3B, 0x01, 0x1F, 0x00, 0x34, 0x00, 0xD9, 0x01, 0xBA, 0x00, 0x1F, 0x01, 0x5F, 0x01 .byte 0x9D, 0x00, 0x1D, 0x01, 0x2B, 0x01, 0xA7, 0x01, 0x19, 0x00, 0xA9, 0x01, 0x04, 0x00, 0x9B, 0x00 .byte 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x99, 0x00, 0xF1, 0x00, 0x35, 0x00, 0xA3, 0x00, 0x21, 0x01 .byte 0xAD, 0x01, 0xAC, 0x01, 0x10, 0x00, 0x4D, 0x00, 0x89, 0x00, 0x9C, 0x00, 0x45, 0x00, 0x1E, 0x01 .byte 0x9A, 0x00, 0xAA, 0x01, 0xC6, 0x00, 0x3C, 0x01, 0x1A, 0x00, 0x20, 0x01, 0x05, 0x00, 0x06, 0x00 .byte 0xA5, 0x00, 0x1C, 0x01, 0x9E, 0x00, 0xAF, 0x01, 0x26, 0x00, 0x87, 0x01, 0x02, 0x01, 0xB6, 0x01 .byte 0x6F, 0x00, 0x65, 0x01, 0x64, 0x01, 0x51, 0x01, 0x3F, 0x01, 0x03, 0x01, 0x63, 0x01, 0x3A, 0x01 .byte 0x24, 0x01, 0x08, 0x01, 0x38, 0x00, 0xE9, 0x01, 0xEA, 0x01, 0xB7, 0x01, 0xB8, 0x01, 0x25, 0x00 .byte 0x05, 0x02, 0x88, 0x01, 0x22, 0x00, 0x00, 0x00 .global IQ_SKILLS IQ_SKILLS: .byte 0x0F, 0x27, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x01, 0x00, 0x00, 0x1C, 0x02, 0x00, 0x00 .byte 0x0F, 0x27, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0xDE, 0x03, 0x00, 0x00 .byte 0xF0, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00 .byte 0xE0, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00 .byte 0x26, 0x02, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00 .byte 0xDC, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00 .byte 0xA4, 0x01, 0x00, 0x00, 0x4A, 0x01, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00 .byte 0x0F, 0x27, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00, 0x3A, 0x02, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00 .byte 0xAA, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x22, 0x01, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00 .byte 0xB6, 0x03, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00 .byte 0x5E, 0x01, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00 .byte 0x52, 0x03, 0x00, 0x00, 0x72, 0x01, 0x00, 0x00, 0x0F, 0x27, 0x00, 0x00 .global IQ_GROUP_SKILLS IQ_GROUP_SKILLS: .byte 0x18, 0x1A, 0x1B, 0x1F .byte 0x25, 0x26, 0x36, 0x39, 0x3E, 0x41, 0x42, 0x43, 0x16, 0x03, 0x07, 0x08, 0x01, 0x17, 0x15, 0x0C .byte 0x0F, 0x14, 0x02, 0x11, 0xFF, 0x18, 0x1B, 0x1E, 0x20, 0x26, 0x2E, 0x32, 0x33, 0x34, 0x37, 0x3E .byte 0x42, 0x16, 0x03, 0x07, 0x08, 0x01, 0x17, 0x15, 0x0F, 0x13, 0x02, 0x11, 0x14, 0xFF, 0x18, 0x22 .byte 0x24, 0x25, 0x28, 0x2C, 0x2F, 0x30, 0x31, 0x38, 0x3B, 0x3C, 0x3F, 0x42, 0x16, 0x03, 0x07, 0x08 .byte 0x01, 0x17, 0x09, 0x02, 0x11, 0x14, 0xFF, 0x18, 0x1A, 0x1D, 0x1F, 0x27, 0x28, 0x2B, 0x2E, 0x30 .byte 0x3C, 0x3F, 0x40, 0x16, 0x03, 0x07, 0x08, 0x17, 0x15, 0x0E, 0x12, 0x13, 0x02, 0x05, 0x14, 0xFF .byte 0x18, 0x20, 0x23, 0x24, 0x25, 0x27, 0x2D, 0x2F, 0x32, 0x34, 0x35, 0x37, 0x38, 0x16, 0x03, 0x07 .byte 0x08, 0x04, 0x17, 0x0A, 0x0F, 0x02, 0x10, 0x14, 0xFF, 0x18, 0x1A, 0x1C, 0x1D, 0x1F, 0x26, 0x29 .byte 0x2C, 0x2D, 0x2E, 0x39, 0x42, 0x16, 0x03, 0x07, 0x08, 0x01, 0x17, 0x0B, 0x0C, 0x0F, 0x12, 0x14 .byte 0x02, 0xFF, 0x18, 0x1A, 0x1C, 0x1F, 0x29, 0x2B, 0x35, 0x36, 0x3B, 0x3C, 0x40, 0x41, 0x16, 0x03 .byte 0x07, 0x08, 0x17, 0x09, 0x0E, 0x12, 0x13, 0x02, 0x05, 0x14, 0xFF, 0x18, 0x1B, 0x1E, 0x20, 0x26 .byte 0x2D, 0x33, 0x34, 0x35, 0x37, 0x38, 0x40, 0x16, 0x03, 0x07, 0x08, 0x17, 0x0A, 0x0C, 0x0F, 0x12 .byte 0x14, 0x02, 0x05, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x16, 0x03 .byte 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x1D, 0x22, 0x24, 0x25, 0x28, 0x1F, 0x2F, 0x35, 0x37 .byte 0x3A, 0x3C, 0x16, 0x03, 0x07, 0x08, 0x17, 0x09, 0x0C, 0x0F, 0x12, 0x14, 0x02, 0x05, 0xFF, 0x18 .byte 0x1A, 0x1F, 0x23, 0x24, 0x29, 0x2D, 0x2E, 0x30, 0x39, 0x3C, 0x41, 0x16, 0x03, 0x07, 0x08, 0x04 .byte 0x17, 0x0B, 0x0D, 0x0F, 0x14, 0x02, 0x10, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17 .byte 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0x18, 0x16, 0x03, 0x07, 0x08, 0x17, 0x02, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .global MONEY_QUANTITY_TABLE MONEY_QUANTITY_TABLE: .byte 0x02, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x1D, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00 .byte 0x3E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00 .byte 0x65, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00 .byte 0x71, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00 .byte 0x8B, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00 .byte 0xA3, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00, 0x00 .byte 0xB4, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00 .byte 0xC7, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00 .byte 0xE6, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00 .byte 0xFA, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x0D, 0x01, 0x00, 0x00 .byte 0x10, 0x01, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x1A, 0x01, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00 .byte 0x25, 0x01, 0x00, 0x00, 0x33, 0x01, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00 .byte 0x3D, 0x01, 0x00, 0x00, 0x4C, 0x01, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x00 .byte 0x5D, 0x01, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00, 0x67, 0x01, 0x00, 0x00, 0x6F, 0x01, 0x00, 0x00 .byte 0x76, 0x01, 0x00, 0x00, 0x7B, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00 .byte 0x8D, 0x01, 0x00, 0x00, 0x91, 0x01, 0x00, 0x00, 0x9A, 0x01, 0x00, 0x00, 0xA3, 0x01, 0x00, 0x00 .byte 0xA5, 0x01, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00 .byte 0xBB, 0x01, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0xC9, 0x01, 0x00, 0x00, 0xCE, 0x01, 0x00, 0x00 .byte 0xD0, 0x01, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0xDF, 0x01, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00 .byte 0xEB, 0x01, 0x00, 0x00, 0xF3, 0x01, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00 .byte 0x8A, 0x02, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_20A20B0 ARM9_UNKNOWN_TABLE__NA_20A20B0: .byte 0x00 .global _020A20B1 _020A20B1: .byte 0x00, 0x01, 0x01 .byte 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09 .byte 0x0A, 0x0A, 0x0B, 0x0B, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11, 0x11 .byte 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19 .byte 0x1A, 0x1A, 0x1B, 0x1B, 0x1C, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1F, 0x1F, 0x20, 0x20, 0x21, 0x21 .byte 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29 .byte 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, 0x2D, 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 0x30, 0x30, 0x31, 0x31 .byte 0x32, 0x32, 0x33, 0x33, 0x34, 0x34, 0x35, 0x35, 0x36, 0x36, 0x37, 0x37, 0x38, 0x38, 0x39, 0x39 .byte 0x3A, 0x3A, 0x3B, 0x3B, 0x3C, 0x3C, 0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x41, 0x41 .byte 0x42, 0x42, 0x43, 0x43, 0x44, 0x44, 0x45, 0x45, 0x46, 0x46, 0x47, 0x47, 0x48, 0x48, 0x49, 0x49 .byte 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51 .byte 0x52, 0x52, 0x53, 0x53, 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x57, 0x57, 0x58, 0x58, 0x59, 0x59 .byte 0x5A, 0x5A, 0x5B, 0x5B, 0x5C, 0x5C, 0x5D, 0x5D, 0x5E, 0x5E, 0x5F, 0x5F, 0x60, 0x60, 0x61, 0x61 .byte 0x62, 0x62, 0x63, 0x63, 0x64, 0x64, 0x65, 0x65, 0x66, 0x66, 0x67, 0xFF, 0x68, 0xFF, 0x69, 0xB3 .byte 0x6A, 0xFF, 0x6B, 0xFF, 0x6C, 0xFF, 0x6D, 0xFF, 0x6E, 0xFF, 0x6F, 0xFF, 0x70, 0xFF, 0x71, 0xFF .byte 0x72, 0xFF, 0x73, 0xFF, 0x74, 0xFF, 0x75, 0xFF, 0x76, 0xFF, 0x77, 0xFF, 0x78, 0xFF, 0x79, 0xFF .byte 0x7A, 0xFF, 0x7B, 0xFF, 0x7C, 0xFF, 0x7D, 0xFF, 0x7E, 0xB1, 0x7F, 0xB2, 0x80, 0xB4, 0x81, 0xB5 .byte 0x82, 0xB6, 0x83, 0xB7, 0x84, 0xB8, 0x85, 0xB9, 0x86, 0xBA, 0x87, 0xBB, 0x88, 0xBC, 0x89, 0xBD .byte 0x8A, 0xBE, 0x8B, 0xBF, 0x8C, 0xC0, 0x8D, 0xC1, 0x8E, 0xC2, 0x8F, 0xC3, 0x90, 0xC4, 0x91, 0xC5 .byte 0x92, 0xC6, 0x93, 0xC7, 0x94, 0xC8, 0x95, 0xC9, 0x96, 0xCA, 0x97, 0xCB, 0x98, 0xCC, 0x99, 0xCD .byte 0x9A, 0xCE, 0x9B, 0xCF, 0x9C, 0xD0, 0x9D, 0xD1, 0x9E, 0xD2, 0x9F, 0xD3, 0xA0, 0xD4, 0xA1, 0xD5 .byte 0xA2, 0xD6, 0xA3, 0xD7, 0xA4, 0xD8, 0xA5, 0xD9, 0xA6, 0xDA, 0xA7, 0xDB, 0xA8, 0xDC, 0xA9, 0xDD .byte 0xAA, 0xDE, 0xAB, 0xF1, 0xAC, 0xF2, 0xAD, 0xF7, 0xAE, 0xF8, 0xAF, 0xF9, 0xB0, 0xFA, 0xB1, 0xFF .byte 0xB2, 0xFF, 0xB3, 0xFF, 0xB4, 0xFF, 0xB5, 0xFF, 0xB6, 0xFF, 0xB7, 0xFF, 0xB8, 0xFF, 0xB9, 0xFF .byte 0xBA, 0xFF, 0xBB, 0xFF, 0xBC, 0xFF, 0xBD, 0xFF, 0xBE, 0xFF, 0xBF, 0xFF, 0xC0, 0xFF, 0xC1, 0xFF .byte 0xC2, 0xFF, 0xC3, 0xFF, 0xC4, 0xFF, 0xC5, 0xFF, 0xC6, 0xFF, 0xC7, 0xFF, 0xC8, 0xFF, 0xC9, 0xFF .byte 0xCA, 0xFF, 0xCB, 0xFF, 0xCC, 0xFF, 0xCD, 0xFF, 0xCE, 0xFF, 0xCF, 0xFF, 0xD0, 0xFF, 0xD1, 0xFF .byte 0xD2, 0xFF, 0xD3, 0xFF, 0xD4, 0xFF, 0xD5, 0xFF, 0xD6, 0xFF, 0xD7, 0xFF, 0xD8, 0xFF, 0xD9, 0xFF .byte 0xDA, 0xFF, 0xDB, 0xFF, 0xDC, 0xFF, 0xDD, 0xFF, 0xDE, 0xFF, 0xDF, 0xFF, 0xE0, 0xFF, 0xE1, 0xFF .byte 0xE2, 0xFF, 0xE3, 0xFF, 0xE4, 0xFF, 0xE5, 0xFF, 0xE6, 0xFF, 0xE7, 0xFF, 0xE8, 0xFF, 0xE9, 0xFF .byte 0xEA, 0xFF, 0xEB, 0xFF, 0xEC, 0xFF, 0xED, 0xFF, 0xEE, 0xFF, 0xEF, 0xFF, 0xF0, 0xFF, 0xF1, 0xFF .byte 0xF2, 0xFF, 0xF3, 0xFF, 0xF4, 0xFF, 0xF5, 0xFF, 0xF6, 0xFF, 0xF7, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF .byte 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF .global IQ_GUMMI_GAIN_TABLE IQ_GUMMI_GAIN_TABLE: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00 .byte 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00 .byte 0x04, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00 .byte 0x04, 0x00, 0x02, 0x00, 0x05, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00 .byte 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x05, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00 .byte 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00, 0x04, 0x00 .byte 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00 .byte 0x02, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00 .byte 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x05, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00 .byte 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00 .byte 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00 .byte 0x04, 0x00, 0x03, 0x00, 0x05, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00 .byte 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03, 0x00 .byte 0x05, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00 .byte 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x03, 0x00 .byte 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00 .byte 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00 .byte 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00 .byte 0x02, 0x00, 0x05, 0x00 .global GUMMI_BELLY_RESTORE_TABLE GUMMI_BELLY_RESTORE_TABLE: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00 .byte 0x1E, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0A, 0x00 .byte 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00 .byte 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0A, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00 .byte 0x14, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x05, 0x00 .byte 0x1E, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0A, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00 .byte 0x14, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x14, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, 0x00 .byte 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1E, 0x00 .byte 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00 .byte 0x0F, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0F, 0x00 .byte 0x0A, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00 .byte 0x0A, 0x00, 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x05, 0x00, 0x14, 0x00, 0x0A, 0x00, 0x0A, 0x00 .byte 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1E, 0x00 .global BAG_CAPACITY_TABLE_SPECIAL_EPISODES BAG_CAPACITY_TABLE_SPECIAL_EPISODES: .byte 0x18, 0x00, 0x00, 0x00 .byte 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .global BAG_CAPACITY_TABLE BAG_CAPACITY_TABLE: .byte 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .global SPECIAL_EPISODE_MAIN_CHARACTERS SPECIAL_EPISODE_MAIN_CHARACTERS: .byte 0x17, 0x01, 0xEE, 0x00, 0x1A, 0x00, 0x75, 0x00, 0x29, 0x01, 0x5D, 0x00, 0x00, 0x00, 0x2D, 0x00 .byte 0x6E, 0x00, 0x00, 0x00 .global _020A2808 _020A2808: .byte 0xAE, 0x00, 0xD6, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x00 .global _020A281C _020A281C: .byte 0xA8, 0x03, 0xF0, 0x00, 0xFB, 0x01, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x6E, 0x00, 0x00, 0x00 .global _020A2830 _020A2830: .byte 0xB2, 0x01, 0xD6, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x00, 0x00 .global _020A2844 _020A2844: .byte 0x18, 0x03, 0xD6, 0x00, 0x54, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _020A2858 _020A2858: .byte 0x8E, 0x03, 0xEF, 0x00, 0xEA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x21, 0x00, 0x6E, 0x00, 0x00, 0x00 .global _020A286C _020A286C: .byte 0x07, 0x02, 0xED, 0x00, 0x58, 0x01, 0xC3, 0x01 .byte 0x2F, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x6E, 0x00, 0x82, 0x00 .global _020A2880 _020A2880: .byte 0x2E, 0x04, 0xD6, 0x00 .byte 0xFA, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00 .global _020A2894 _020A2894: .byte 0x19, 0x01, 0xD6, 0x00, 0x87, 0x00, 0xBE, 0x00, 0x50, 0x01, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global _020A28A8 _020A28A8: .byte 0x78, 0x01, 0xEC, 0x00, 0x34, 0x01, 0x45, 0x01, 0x3A, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x1C, 0x00, 0x6E, 0x00, 0x00, 0x00 .global GUEST_MONSTER_DATA GUEST_MONSTER_DATA: .byte 0x00, 0x00, 0x00, 0x00, 0x82, 0x01, 0xDF, 0x00 .byte 0x1B, 0x00, 0x18, 0x00, 0xF9, 0x00, 0x48, 0x01, 0x39, 0x00, 0x0F, 0x00, 0x6E, 0x00, 0x14, 0x00 .byte 0x14, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x7D, 0x34, 0x00, 0x00 .global _020A28E0 _020A28E0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0xED, 0x01, 0xE0, 0x00, 0x3F, 0x00, 0xC8, 0x00, 0x32, 0x01, 0x00, 0x00, 0x3E, 0x00, 0x0F, 0x00 .byte 0x6E, 0x00, 0x1B, 0x00, 0x18, 0x00, 0x11, 0x00, 0x11, 0x00, 0x00, 0x00, 0xCB, 0x37, 0x00, 0x00 .global _020A2904 _020A2904: .byte 0x00, 0x00, 0x00, 0x00, 0xB2, 0x01, 0xD9, 0x00, 0x8B, 0x00, 0xD9, 0x00, 0x2E, 0x01, 0x00, 0x00 .byte 0x38, 0x00, 0x0E, 0x00, 0x6E, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x52, 0x15, 0x00, 0x00 .global _020A2928 _020A2928: .byte 0x00, 0x00, 0x00, 0x00, 0xF5, 0x01, 0xDE, 0x00, 0x65, 0x00, 0x61, 0x00 .byte 0x54, 0x00, 0x18, 0x00, 0x40, 0x00, 0x16, 0x00, 0x6E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x15, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0xFE, 0xD6, 0x00, 0x00 .global _020A294C _020A294C: .byte 0x00, 0x00, 0x00, 0x00, 0xB2, 0x01, 0xD9, 0x00 .byte 0x8B, 0x00, 0xD9, 0x00, 0x2E, 0x01, 0x00, 0x00, 0x41, 0x00, 0x10, 0x00, 0x6E, 0x00, 0x18, 0x00 .byte 0x16, 0x00, 0x16, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2A, 0x2D, 0x00, 0x00 .global _020A2970 _020A2970: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x19, 0x01, 0xDA, 0x00, 0x87, 0x00, 0xBE, 0x00, 0x50, 0x01, 0x08, 0x00, 0x7D, 0x00, 0x2E, 0x00 .byte 0x6E, 0x00, 0x45, 0x00, 0x44, 0x00, 0x35, 0x00, 0x34, 0x00, 0x00, 0x00, 0xB2, 0xB4, 0x07, 0x00 .global _020A2994 _020A2994: .byte 0x00, 0x00, 0x00, 0x00, 0x42, 0x01, 0xE1, 0x00, 0xFA, 0x00, 0x2E, 0x00, 0xC3, 0x00, 0xAB, 0x00 .byte 0x54, 0x00, 0x1B, 0x00, 0x6E, 0x00, 0x38, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x27, 0x00, 0x00, 0x00 .byte 0xE9, 0x3F, 0x01, 0x00 .global _020A29B8 _020A29B8: .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0xE3, 0x00, 0x58, 0x01, 0xC3, 0x01 .byte 0x2F, 0x00, 0x7E, 0x00, 0x82, 0x00, 0x2D, 0x00, 0x6E, 0x00, 0x3D, 0x00, 0x39, 0x00, 0x2D, 0x00 .byte 0x35, 0x00, 0x00, 0x00, 0xE7, 0xB6, 0x05, 0x00 .global _020A29DC _020A29DC: .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x01, 0xDA, 0x00 .byte 0x87, 0x00, 0xBE, 0x00, 0x50, 0x01, 0x08, 0x00, 0x7D, 0x00, 0x2E, 0x00, 0x6E, 0x00, 0x45, 0x00 .byte 0x44, 0x00, 0x35, 0x00, 0x34, 0x00, 0x00, 0x00, 0xB2, 0xB4, 0x07, 0x00 .global _020A2A00 _020A2A00: .byte 0x00, 0x00, 0x00, 0x00 .byte 0xE3, 0x01, 0xDC, 0x00, 0xAE, 0x00, 0x28, 0x00, 0x37, 0x01, 0xFD, 0x01, 0x75, 0x00, 0x24, 0x00 .byte 0x6E, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1B, 0xE7, 0x05, 0x00 .global _020A2A24 _020A2A24: .byte 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0xDB, 0x00, 0x1A, 0x00, 0x75, 0x00, 0x29, 0x01, 0x5D, 0x00 .byte 0x78, 0x00, 0x2D, 0x00, 0x6E, 0x00, 0x2D, 0x00, 0x2D, 0x00, 0x25, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0xC1, 0xC0, 0x05, 0x00 .global _020A2A48 _020A2A48: .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x01, 0xDA, 0x00, 0x87, 0x00, 0xBE, 0x00 .byte 0x50, 0x01, 0x08, 0x00, 0x7D, 0x00, 0x2E, 0x00, 0x6E, 0x00, 0x45, 0x00, 0x44, 0x00, 0x35, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0xB2, 0xB4, 0x07, 0x00 .global _020A2A6C _020A2A6C: .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x01, 0xDA, 0x00 .byte 0x87, 0x00, 0xBE, 0x00, 0x50, 0x01, 0x08, 0x00, 0x7D, 0x00, 0x2E, 0x00, 0x6E, 0x00, 0x4A, 0x00 .byte 0x49, 0x00, 0x3A, 0x00, 0x34, 0x00, 0x00, 0x00, 0x82, 0x63, 0x0A, 0x00 .global _020A2A90 _020A2A90: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x12, 0x02, 0xDD, 0x00, 0xEA, 0x00, 0x38, 0x00, 0x2A, 0x00, 0x51, 0x00, 0x7E, 0x00, 0x2F, 0x00 .byte 0x5E, 0x01, 0x42, 0x00, 0x3F, 0x00, 0x3A, 0x00, 0x4A, 0x00, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00 .global _020A2AB4 _020A2AB4: .byte 0x00, 0x00, 0x00, 0x00, 0xB2, 0x01, 0xD9, 0x00, 0x8B, 0x00, 0xD9, 0x00, 0x2E, 0x01, 0x00, 0x00 .byte 0x41, 0x00, 0x10, 0x00, 0x6E, 0x00, 0x18, 0x00, 0x16, 0x00, 0x16, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x2A, 0x2D, 0x00, 0x00 .global _020A2AD8 _020A2AD8: .byte 0x00, 0x00, 0x00, 0x00, 0xB2, 0x01, 0xD9, 0x00, 0x8B, 0x00, 0xD9, 0x00 .byte 0x2E, 0x01, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x6E, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x52, 0x15, 0x00, 0x00 .global _020A2AFC _020A2AFC: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0xE2, 0x00 .byte 0x29, 0x01, 0x49, 0x01, 0x5E, 0x00, 0xD7, 0x01, 0x54, 0x00, 0x37, 0x00, 0x5E, 0x01, 0x40, 0x00 .byte 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0xFB, 0xB7, 0x09, 0x00 .global _020A2B20 _020A2B20: .byte 0x00, 0x00, 0x00, 0x00 .byte 0xF5, 0x01, 0xDE, 0x00, 0x65, 0x00, 0x61, 0x00, 0x54, 0x00, 0x18, 0x00, 0x40, 0x00, 0x16, 0x00 .byte 0x6E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x15, 0x00, 0x17, 0x00, 0x00, 0x00, 0xFE, 0xD6, 0x00, 0x00 .global RANK_UP_TABLE RANK_UP_TABLE: .byte 0x77, 0x01, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x78, 0x01, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00 .byte 0x79, 0x01, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00 .byte 0x7A, 0x01, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00 .byte 0x7B, 0x01, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x7C, 0x01, 0x00, 0x00, 0x4C, 0x1D, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00 .byte 0x7D, 0x01, 0x00, 0x00, 0x04, 0x29, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00 .byte 0x7E, 0x01, 0x00, 0x00, 0xBC, 0x34, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00 .byte 0x7F, 0x01, 0x00, 0x00, 0x68, 0x42, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00 .byte 0x80, 0x01, 0x00, 0x00, 0x08, 0x52, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x81, 0x01, 0x00, 0x00, 0xA8, 0x61, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x82, 0x01, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x83, 0x01, 0x00, 0x00, 0x00, 0xE1, 0xF5, 0x05, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global DS_DOWNLOAD_TEAMS DS_DOWNLOAD_TEAMS: .byte 0xFF, 0x00, 0xE9, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x1E, 0x01, 0x14, 0x00, 0x00, 0x00, 0xAC, 0x01, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0xA6, 0x01, 0x18, 0x00, 0x00, 0x00, 0x35, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .global _020A2C44 _020A2C44: .byte 0xFF, 0x00, 0x1B, 0x01, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0xC8, 0x01, 0x1E, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .global _020A2C64 _020A2C64: .byte 0xFF, 0x00, 0x36, 0x00, 0x11, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_PTR__NA_20A2C84 ARM9_UNKNOWN_PTR__NA_20A2C84: .byte 0x00, 0x00, 0x00, 0x00 .global UNOWN_SPECIES_ADDITIONAL_CHARS UNOWN_SPECIES_ADDITIONAL_CHARS: .byte 0x42, 0x00, 0x00, 0x00 .global _020A2C8C _020A2C8C: .byte 0x4D, 0x00, 0x00, 0x00 .global _020A2C90 _020A2C90: .byte 0x41, 0x00, 0x00, 0x00 .global _020A2C94 _020A2C94: .byte 0x21, 0x00, 0x00, 0x00 .global _020A2C98 _020A2C98: .byte 0x5A, 0x00, 0x00, 0x00 .global _020A2C9C _020A2C9C: .byte 0x59, 0x00, 0x00, 0x00 .global _020A2CA0 _020A2CA0: .byte 0x50, 0x00, 0x00, 0x00 .global _020A2CA4 _020A2CA4: .byte 0x4F, 0x00, 0x00, 0x00 .global _020A2CA8 _020A2CA8: .byte 0x56, 0x00, 0x00, 0x00 .global _020A2CAC _020A2CAC: .byte 0x55, 0x00, 0x00, 0x00 .global _020A2CB0 _020A2CB0: .byte 0x54, 0x00, 0x00, 0x00 .global _020A2CB4 _020A2CB4: .byte 0x53, 0x00, 0x00, 0x00 .global _020A2CB8 _020A2CB8: .byte 0x52, 0x00, 0x00, 0x00 .global _020A2CBC _020A2CBC: .byte 0x51, 0x00, 0x00, 0x00 .global _020A2CC0 _020A2CC0: .byte 0x58, 0x00, 0x00, 0x00 .global _020A2CC4 _020A2CC4: .byte 0x3F, 0x00, 0x00, 0x00 .global _020A2CC8 _020A2CC8: .byte 0x4E, 0x00, 0x00, 0x00 .global _020A2CCC _020A2CCC: .byte 0x57, 0x00, 0x00, 0x00 .global _020A2CD0 _020A2CD0: .byte 0x4C, 0x00, 0x00, 0x00 .global _020A2CD4 _020A2CD4: .byte 0x4B, 0x00, 0x00, 0x00 .global _020A2CD8 _020A2CD8: .byte 0x4A, 0x00, 0x00, 0x00 .global _020A2CDC _020A2CDC: .byte 0x49, 0x00, 0x00, 0x00 .global _020A2CE0 _020A2CE0: .byte 0x48, 0x00, 0x00, 0x00 .global _020A2CE4 _020A2CE4: .byte 0x47, 0x00, 0x00, 0x00 .global _020A2CE8 _020A2CE8: .byte 0x46, 0x00, 0x00, 0x00 .global _020A2CEC _020A2CEC: .byte 0x45, 0x00, 0x00, 0x00 .global _020A2CF0 _020A2CF0: .byte 0x44, 0x00, 0x00, 0x00 .global _020A2CF4 _020A2CF4: .byte 0x43, 0x00, 0x00, 0x00 .global _020A2CF8 _020A2CF8: .word GetKeyN2M .word GetKeyN2MBaseForm .word GetKeyM2N .word GetKeyM2NBaseForm .global MONSTER_SPRITE_DATA MONSTER_SPRITE_DATA: .byte 0x00 .global _020A2D09 _020A2D09: .byte 0x00, 0x06, 0x1D, 0x06, 0x27, 0x06, 0x25, 0x06, 0x1F, 0x06, 0x25 .byte 0x06, 0x27, 0x06, 0x1F, 0x06, 0x25, 0x06, 0x24, 0x06, 0x1D, 0x06, 0x1F, 0x06, 0x22, 0x06, 0x18 .byte 0x06, 0x13, 0x06, 0x1F, 0x06, 0x1B, 0x06, 0x1F, 0x06, 0x22, 0x06, 0x1F, 0x06, 0x1F, 0x06, 0x1D .byte 0x06, 0x20, 0x06, 0x2F, 0x06, 0x2B, 0x06, 0x26, 0x06, 0x2F, 0x06, 0x1C, 0x06, 0x24, 0x06, 0x1E .byte 0x06, 0x1B, 0x06, 0x23, 0x06, 0x21, 0x06, 0x26, 0x06, 0x26, 0x06, 0x28, 0x06, 0x25, 0x06, 0x1F .byte 0x06, 0x24, 0x06, 0x20, 0x06, 0x20, 0x06, 0x1D, 0x06, 0x1E, 0x06, 0x1B, 0x06, 0x28, 0x06, 0x22 .byte 0x06, 0x1D, 0x06, 0x1F, 0x06, 0x1B, 0x06, 0x1F, 0x06, 0x1A, 0x06, 0x27, 0x06, 0x1F, 0x06, 0x1F .byte 0x06, 0x21, 0x06, 0x20, 0x06, 0x23, 0x06, 0x24, 0x06, 0x1F, 0x06, 0x24, 0x06, 0x1C, 0x06, 0x21 .byte 0x06, 0x23, 0x06, 0x20, 0x06, 0x37, 0x06, 0x27, 0x06, 0x1E, 0x06, 0x27, 0x06, 0x26, 0x06, 0x1B .byte 0x06, 0x20, 0x06, 0x28, 0x06, 0x20, 0x06, 0x20, 0x06, 0x1E, 0x06, 0x2A, 0x06, 0x24, 0x06, 0x23 .byte 0x06, 0x28, 0x06, 0x1F, 0x06, 0x27, 0x06, 0x1D, 0x06, 0x1E, 0x06, 0x27, 0x06, 0x25, 0x06, 0x2F .byte 0x06, 0x1B, 0x06, 0x23, 0x06, 0x26, 0x06, 0x28, 0x06, 0x20, 0x06, 0x26, 0x06, 0x29, 0x06, 0x25 .byte 0x06, 0x28, 0x10, 0x44, 0x06, 0x20, 0x06, 0x2E, 0x06, 0x20, 0x06, 0x3F, 0x06, 0x17, 0x06, 0x24 .byte 0x06, 0x26, 0x06, 0x2E, 0x06, 0x29, 0x06, 0x27, 0x06, 0x2C, 0x06, 0x27, 0x06, 0x25, 0x06, 0x20 .byte 0x06, 0x30, 0x06, 0x21, 0x06, 0x2B, 0x06, 0x21, 0x06, 0x23, 0x06, 0x2B, 0x06, 0x1D, 0x06, 0x1F .byte 0x06, 0x21, 0x06, 0x25, 0x06, 0x20, 0x06, 0x1D, 0x06, 0x30, 0x06, 0x24, 0x06, 0x2E, 0x06, 0x2F .byte 0x06, 0x29, 0x06, 0x24, 0x06, 0x24, 0x06, 0x24, 0x11, 0x5E, 0x09, 0x39, 0x06, 0x1F, 0x06, 0x2B .byte 0x06, 0x30, 0x06, 0x27, 0x06, 0x29, 0x06, 0x22, 0x06, 0x1A, 0x06, 0x1F, 0x06, 0x20, 0x06, 0x26 .byte 0x06, 0x23, 0x06, 0x2B, 0x0A, 0x40, 0x0C, 0x40, 0x0C, 0x4C, 0x06, 0x25, 0x06, 0x2D, 0x06, 0x29 .byte 0x06, 0x26, 0x06, 0x22, 0x06, 0x1D, 0x06, 0x24, 0x06, 0x2E, 0x06, 0x1A, 0x06, 0x1C, 0x06, 0x27 .byte 0x06, 0x28, 0x06, 0x37, 0x06, 0x2E, 0x06, 0x30, 0x06, 0x22, 0x06, 0x1A, 0x06, 0x2B, 0x06, 0x20 .byte 0x06, 0x20, 0x06, 0x22, 0x06, 0x2A, 0x06, 0x1E, 0x06, 0x22, 0x06, 0x22, 0x06, 0x1F, 0x06, 0x23 .byte 0x06, 0x15, 0x06, 0x1A, 0x06, 0x1A, 0x06, 0x19, 0x06, 0x2B, 0x06, 0x21, 0x06, 0x1F, 0x06, 0x2B .byte 0x06, 0x27, 0x06, 0x1F, 0x06, 0x21, 0x06, 0x1F, 0x06, 0x27, 0x06, 0x28, 0x06, 0x1F, 0x06, 0x1E .byte 0x06, 0x2D, 0x06, 0x1B, 0x06, 0x25, 0x06, 0x1A, 0x06, 0x25, 0x06, 0x24, 0x06, 0x33, 0x06, 0x29 .byte 0x06, 0x1F, 0x06, 0x25, 0x06, 0x1E, 0x06, 0x10, 0x06, 0x14, 0x06, 0x15, 0x06, 0x14, 0x06, 0x14 .byte 0x06, 0x13, 0x06, 0x13, 0x06, 0x15, 0x06, 0x0F, 0x06, 0x13, 0x06, 0x13, 0x06, 0x14, 0x06, 0x11 .byte 0x06, 0x15, 0x06, 0x11, 0x06, 0x13, 0x06, 0x12, 0x06, 0x12, 0x06, 0x13, 0x06, 0x0F, 0x06, 0x10 .byte 0x06, 0x13, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10, 0x06, 0x12, 0x06, 0x10, 0x06, 0x13, 0x06, 0x20 .byte 0x06, 0x24, 0x06, 0x1B, 0x06, 0x17, 0x06, 0x1F, 0x06, 0x20, 0x10, 0x52, 0x06, 0x20, 0x06, 0x27 .byte 0x06, 0x1B, 0x06, 0x2A, 0x06, 0x23, 0x06, 0x29, 0x06, 0x33, 0x06, 0x2B, 0x06, 0x2D, 0x06, 0x1E .byte 0x06, 0x2E, 0x06, 0x1D, 0x06, 0x22, 0x06, 0x1F, 0x06, 0x21, 0x06, 0x24, 0x06, 0x36, 0x0B, 0x4C .byte 0x06, 0x28, 0x06, 0x28, 0x06, 0x2F, 0x06, 0x1F, 0x06, 0x26, 0x06, 0x27, 0x06, 0x24, 0x06, 0x25 .byte 0x06, 0x36, 0x06, 0x20, 0x06, 0x1F, 0x06, 0x1C, 0x06, 0x29, 0x06, 0x25, 0x06, 0x29, 0x06, 0x23 .byte 0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x06, 0x1F, 0x06, 0x20, 0x06, 0x25, 0x10, 0x58, 0x10, 0x68 .byte 0x06, 0x1F, 0x06, 0x1F, 0x06, 0x21, 0x06, 0x24, 0x06, 0x2A, 0x06, 0x21, 0x06, 0x22, 0x06, 0x28 .byte 0x06, 0x1E, 0x06, 0x20, 0x06, 0x2B, 0x06, 0x2A, 0x06, 0x2A, 0x06, 0x20, 0x06, 0x25, 0x06, 0x1E .byte 0x06, 0x14, 0x06, 0x23, 0x06, 0x15, 0x06, 0x23, 0x06, 0x1D, 0x06, 0x34, 0x06, 0x2A, 0x06, 0x19 .byte 0x06, 0x24, 0x06, 0x2D, 0x06, 0x17, 0x06, 0x2E, 0x06, 0x22, 0x06, 0x1B, 0x06, 0x19, 0x06, 0x1C .byte 0x06, 0x27, 0x06, 0x1F, 0x06, 0x1D, 0x06, 0x1E, 0x06, 0x25, 0x06, 0x20, 0x06, 0x1D, 0x06, 0x24 .byte 0x06, 0x1A, 0x06, 0x1D, 0x06, 0x23, 0x06, 0x24, 0x06, 0x25, 0x06, 0x23, 0x06, 0x24, 0x06, 0x30 .byte 0x06, 0x29, 0x06, 0x26, 0x06, 0x21, 0x06, 0x34, 0x06, 0x26, 0x06, 0x25, 0x06, 0x21, 0x06, 0x20 .byte 0x06, 0x32, 0x06, 0x1F, 0x06, 0x24, 0x06, 0x28, 0x06, 0x28, 0x06, 0x1C, 0x06, 0x1C, 0x06, 0x2A .byte 0x06, 0x21, 0x06, 0x2A, 0x06, 0x1E, 0x06, 0x23, 0x06, 0x23, 0x06, 0x24, 0x06, 0x1E, 0x10, 0x61 .byte 0x06, 0x21, 0x06, 0x2A, 0x06, 0x25, 0x06, 0x1C, 0x06, 0x24, 0x06, 0x31, 0x06, 0x1E, 0x06, 0x20 .byte 0x06, 0x22, 0x06, 0x23, 0x06, 0x26, 0x06, 0x1F, 0x06, 0x28, 0x06, 0x39, 0x06, 0x35, 0x06, 0x19 .byte 0x06, 0x1B, 0x06, 0x21, 0x06, 0x23, 0x06, 0x1F, 0x06, 0x23, 0x06, 0x18, 0x06, 0x1C, 0x06, 0x20 .byte 0x06, 0x27, 0x06, 0x22, 0x06, 0x34, 0x06, 0x20, 0x10, 0x5F, 0x06, 0x1A, 0x06, 0x2D, 0x06, 0x21 .byte 0x06, 0x1B, 0x06, 0x24, 0x06, 0x24, 0x06, 0x1B, 0x06, 0x26, 0x06, 0x20, 0x06, 0x25, 0x06, 0x3C .byte 0x06, 0x1C, 0x06, 0x33, 0x06, 0x20, 0x06, 0x1F, 0x06, 0x26, 0x06, 0x21, 0x06, 0x27, 0x06, 0x30 .byte 0x06, 0x1F, 0x06, 0x29, 0x06, 0x1F, 0x06, 0x25, 0x06, 0x1B, 0x06, 0x1F, 0x06, 0x27, 0x0C, 0x56 .byte 0x06, 0x1B, 0x06, 0x21, 0x06, 0x31, 0x06, 0x2D, 0x06, 0x2F, 0x06, 0x2B, 0x0A, 0x35, 0x09, 0x37 .byte 0x0B, 0x42, 0x10, 0x5D, 0x10, 0x74, 0x06, 0x26, 0x06, 0x21, 0x06, 0x34, 0x06, 0x20, 0x06, 0x34 .byte 0x06, 0x1D, 0x06, 0x22, 0x06, 0x4A, 0x06, 0x1D, 0x06, 0x34, 0x06, 0x33, 0x06, 0x21, 0x06, 0x22 .byte 0x06, 0x2D, 0x06, 0x1C, 0x06, 0x28, 0x06, 0x2C, 0x06, 0x27, 0x06, 0x22, 0x06, 0x1A, 0x06, 0x23 .byte 0x06, 0x25, 0x06, 0x25, 0x06, 0x26, 0x06, 0x21, 0x06, 0x39, 0x06, 0x25, 0x06, 0x26, 0x06, 0x22 .byte 0x06, 0x28, 0x06, 0x14, 0x06, 0x17, 0x06, 0x17, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x06, 0x20 .byte 0x06, 0x1B, 0x06, 0x22, 0x06, 0x21, 0x06, 0x26, 0x06, 0x24, 0x06, 0x30, 0x06, 0x2A, 0x06, 0x1E .byte 0x06, 0x15, 0x06, 0x16, 0x06, 0x24, 0x06, 0x23, 0x06, 0x27, 0x06, 0x28, 0x06, 0x22, 0x06, 0x2D .byte 0x06, 0x25, 0x06, 0x2D, 0x06, 0x2A, 0x06, 0x1E, 0x06, 0x30, 0x06, 0x1A, 0x06, 0x29, 0x06, 0x2B .byte 0x06, 0x1C, 0x06, 0x23, 0x06, 0x17, 0x06, 0x27, 0x06, 0x20, 0x06, 0x22, 0x06, 0x2A, 0x06, 0x25 .byte 0x06, 0x30, 0x06, 0x38, 0x06, 0x1F, 0x06, 0x23, 0x06, 0x2E, 0x06, 0x21, 0x06, 0x2B, 0x06, 0x28 .byte 0x06, 0x2B, 0x06, 0x27, 0x06, 0x27, 0x06, 0x2A, 0x06, 0x20, 0x06, 0x25, 0x06, 0x24, 0x06, 0x2E .byte 0x06, 0x2C, 0x06, 0x30, 0x06, 0x24, 0x06, 0x2D, 0x08, 0x3C, 0x06, 0x26, 0x06, 0x30, 0x06, 0x49 .byte 0x06, 0x34, 0x06, 0x23, 0x06, 0x29, 0x06, 0x28, 0x06, 0x26, 0x06, 0x2D, 0x06, 0x23, 0x06, 0x29 .byte 0x06, 0x20, 0x06, 0x30, 0x06, 0x30, 0x06, 0x21, 0x06, 0x25, 0x06, 0x27, 0x06, 0x23, 0x12, 0x7C .byte 0x10, 0x7F, 0x06, 0x2C, 0x10, 0x54, 0x0E, 0x6A, 0x06, 0x2F, 0x06, 0x21, 0x06, 0x25, 0x06, 0x2F .byte 0x06, 0x40, 0x06, 0x40, 0x11, 0x6A, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19 .byte 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19, 0x06, 0x19 .byte 0x06, 0x19, 0x06, 0x19, 0x12, 0x7C, 0x06, 0x19, 0x06, 0x03, 0x06, 0x20, 0x09, 0x12, 0x06, 0x0A .byte 0x06, 0x0E, 0x06, 0x0C, 0x06, 0x0F, 0x06, 0x0F, 0x06, 0x0F, 0x06, 0x11, 0x06, 0x1C, 0x06, 0x16 .byte 0x06, 0x22, 0x06, 0x17, 0x06, 0x1E, 0x06, 0x1E, 0x06, 0x18, 0x06, 0x12, 0x06, 0x16, 0x06, 0x13 .byte 0x06, 0x24, 0x06, 0x20, 0x06, 0x24, 0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x06, 0x27, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020A31B8 _020A31B8: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x2F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43 .byte 0x45, 0x2F, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x2E, 0x6D, 0x64, 0x00, 0x00, 0x00, 0x00 .global _020A31D4 _020A31D4: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00 .global _020A31E4 _020A31E4: .byte 0x5B, 0x43, 0x53, 0x3A, 0x25, 0x63, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x25, 0x63, 0x00 .global _020A31F4 _020A31F4: .byte 0x25, 0x73, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00 .global _020A31FC _020A31FC: .byte 0x25, 0x73, 0x00, 0x00 .global _020A3200 _020A3200: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x4B, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _020A3210 _020A3210: .byte 0x72, 0x6F, 0x6D, 0x30 .byte 0x3A, 0x2F, 0x42, 0x41, 0x4C, 0x41, 0x4E, 0x43, 0x45, 0x2F, 0x73, 0x74, 0x5F, 0x6E, 0x32, 0x6D .byte 0x5F, 0x6A, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00 .global _020A322C _020A322C: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x2F, 0x42, 0x41 .byte 0x4C, 0x41, 0x4E, 0x43, 0x45, 0x2F, 0x73, 0x74, 0x5F, 0x6D, 0x32, 0x6E, 0x5F, 0x6A, 0x2E, 0x62 .byte 0x69, 0x6E, 0x00, 0x00 .global _020A3248 _020A3248: .word sub_02054844 .word sub_02054844 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020A3258 _020A3258: .byte 0x25, 0x00, 0xA7, 0x00, 0x85, 0x00, 0x79, 0x00, 0x02, 0x01, 0x5D, 0x00 .byte 0xB6, 0x01, 0xBE, 0x00, 0xE9, 0x01, 0x3F, 0x00, 0x34, 0x00, 0x6F, 0x00, 0xE8, 0x01, 0xD9, 0x01 .byte 0x48, 0x01, 0xD9, 0x01, 0x00, 0x00, 0x00, 0x00 .global _020A327C _020A327C: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020A328C _020A328C: .byte 0xA1, 0x01, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x0E, 0x01, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x99, 0x02, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x8B, 0x02, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x8B, 0x02, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020A32D4 _020A32D4: .byte 0x83, 0x47, 0x83, 0x6C, 0x83, 0x52, 0x82, 0xCD, 0x81, 0x41, 0x82, 0xDD, 0x82, 0xE2, 0x82, 0xD4 .byte 0x82, 0xE9, 0x82, 0xF0, 0x82, 0xC6, 0x82, 0xE8, 0x82, 0xA9, 0x82, 0xA6, 0x82, 0xDC, 0x82, 0xB5 .byte 0x82, 0xBD, 0x00, 0x00 .global _020A32F8 _020A32F8: .byte 0x2D, 0x2D, 0x20, 0x4D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x53 .byte 0x6F, 0x72, 0x74, 0x4C, 0x69, 0x73, 0x74, 0x5F, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x65, 0x48 .byte 0x6F, 0x75, 0x73, 0x65, 0x4D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x4C, 0x69, 0x73, 0x74, 0x5F .byte 0x50, 0x4C, 0x41, 0x4E, 0x45, 0x20, 0x2D, 0x2D, 0x0A, 0x00, 0x00, 0x00 .global _020A3330 _020A3330: .byte 0x25, 0x34, 0x64, 0x3A .byte 0x25, 0x33, 0x64, 0x3A, 0x25, 0x73, 0x0A, 0x00 .global _020A333C _020A333C: .byte 0x25, 0x73, 0x00, 0x00 .global _020A3340 _020A3340: .byte 0x5B, 0x43, 0x53, 0x3A .byte 0x25, 0x63, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00 .global _020A3350 _020A3350: .byte 0x6D, 0x6F, 0x6E, 0x73 .byte 0x74, 0x65, 0x72, 0x20, 0x6D, 0x61, 0x69, 0x6E, 0x20, 0x63, 0x61, 0x73, 0x74, 0x20, 0x61, 0x64 .byte 0x64, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020A336C _020A336C: .byte 0x00, 0x01, 0x00, 0x00 .word _020A3380 .byte 0xD6, 0x05, 0x00, 0x00 .word _020A3380 .byte 0x1A, 0x06, 0x00, 0x00 .global _020A3380 _020A3380: .byte 0x6D, 0x6F, 0x6E, 0x73 .byte 0x74, 0x65, 0x72, 0x5F, 0x64, 0x67, 0x5F, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6F, 0x75, 0x73, 0x65 .byte 0x2E, 0x63, 0x00, 0x00 .global _020A3398 _020A3398: .byte 0x73, 0x61, 0x6C, 0x6C, 0x79, 0x20, 0x25, 0x32, 0x64, 0x20, 0x63, 0x6F .byte 0x6E, 0x76, 0x65, 0x72, 0x74, 0x20, 0x25, 0x33, 0x64, 0x20, 0x2D, 0x3E, 0x20, 0x25, 0x33, 0x64 .byte 0x0A, 0x00, 0x00, 0x00 .global _020A33B8 _020A33B8: .byte 0x64, 0x67, 0x20, 0x25, 0x32, 0x64, 0x20, 0x63, 0x6F, 0x6E, 0x76, 0x65 .byte 0x72, 0x74, 0x20, 0x25, 0x33, 0x64, 0x20, 0x2D, 0x3E, 0x20, 0x25, 0x33, 0x64, 0x0A, 0x00, 0x00 .global _020A33D4 _020A33D4: .byte 0x53, 0x65, 0x74, 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, 0x79, 0x47, 0x72, 0x6F, 0x75, 0x6E, 0x64 .byte 0x32, 0x20, 0x25, 0x33, 0x64, 0x20, 0x25, 0x33, 0x64, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00 .global _020A340C _020A340C: .byte 0x53, 0x65, 0x74, 0x75, 0x70, 0x50, 0x61, 0x72 .byte 0x74, 0x79, 0x44, 0x75, 0x6E, 0x67, 0x65, 0x6F, 0x6E, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D .byte 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00 .global _020A343C _020A343C: .byte 0x20, 0x20, 0x20, 0x20, 0x25, 0x33, 0x64, 0x5B .byte 0x25, 0x33, 0x64, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _020A344C _020A344C: .byte 0x0A, 0x00, 0x00, 0x00 .global _020A3450 _020A3450: .byte 0xFC, 0xFF, 0xFF, 0xFF .byte 0xF8, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF .byte 0xF0, 0xFF, 0xFF, 0xFF .global _020A3468 _020A3468: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00 .global _020A3498 _020A3498: .byte 0xFF .global _020A3499 _020A3499: .byte 0x00, 0x00, 0x00 .word _020A34AC .byte 0xB3, 0x03, 0x00, 0x00 .word _020A34AC .byte 0x31, 0x03, 0x00, 0x00 .global _020A34AC _020A34AC: .byte 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x32 .byte 0x2E, 0x63, 0x00, 0x00 .global _020A34B8 _020A34B8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _020A34C4 _020A34C4: .byte 0x05, 0x0A, 0x04, 0x08, 0x03, 0x06, 0x02, 0x04, 0x01, 0x02, 0x00, 0x00, 0xFF, 0x00 .global _020A34D2 _020A34D2: .byte 0x60, 0x14 .byte 0x5B, 0x13, 0x56, 0x12, 0x51, 0x11, 0x4C, 0x10, 0x47, 0x0F, 0x42, 0x0E, 0x3D, 0x0D, 0x38, 0x0C .byte 0x33, 0x0B, 0x2E, 0x0A, 0x29, 0x09, 0x24, 0x08, 0x1F, 0x07, 0x1A, 0x06, 0x15, 0x05, 0x10, 0x04 .byte 0x0B, 0x03, 0x06, 0x02, 0x00, 0x01, 0xFF, 0x00 .global _020A34FC _020A34FC: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4A, 0x5D, 0x5B, 0x73 .byte 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x31, 0x5D, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _020A3514 _020A3514: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x32, 0x5D, 0x00, 0x00 .global _020A351C _020A351C: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x31, 0x5D, 0x00, 0x00 .global _020A3524 _020A3524: .byte 0x5B, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x30, 0x5D, 0x5B, 0x73, 0x74, 0x72, 0x69, 0x6E .byte 0x67, 0x3A, 0x31, 0x5D, 0x00, 0x00, 0x00, 0x00 .global _020A353C _020A353C: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x00, 0x00 .global _020A3544 _020A3544: .byte 0x5B, 0x4D, 0x3A, 0x52, 0x31, 0x5D, 0x00, 0x00 .global _020A354C _020A354C: .byte 0x30, 0x00, 0x00, 0x00 .global _020A3550 _020A3550: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020A3670 _020A3670: .byte 0x00 .global _020A3671 _020A3671: .byte 0x00 .global _020A3672 _020A3672: .byte 0xFF .global _020A3673 _020A3673: .byte 0xFF .byte 0x00, 0x00, 0x00, 0x00 .global _020A3678 _020A3678: .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00 .global _020A3728 _020A3728: .byte 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72 .byte 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020A373C _020A373C: .byte 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x64 .byte 0x65, 0x6C, 0x69, 0x76, 0x65, 0x72, 0x79, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x69 .byte 0x74, 0x65, 0x6D, 0x20, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x7A, 0x65, 0x72, 0x6F, 0x0A, 0x00 .global _020A3764 _020A3764: .byte 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A .byte 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0A, 0x00 .global _020A377C _020A377C: .byte 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20 .byte 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x63, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x20, 0x65, 0x72 .byte 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0A, 0x00 .global _020A37A0 _020A37A0: .byte 0x74, 0x61, 0x72, 0x67 .byte 0x65, 0x74, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78 .byte 0x20, 0x42, 0x20, 0x49, 0x6C, 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6D .byte 0x65, 0x74, 0x65, 0x72, 0x2E, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020A37D0 _020A37D0: .byte 0x72, 0x65, 0x77, 0x61 .byte 0x72, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25 .byte 0x64, 0x0A, 0x00, 0x00 .global _020A37E8 _020A37E8: .byte 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x20, 0x69, 0x74, 0x65, 0x6D, 0x20 .byte 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A .byte 0x00, 0x00, 0x00, 0x00 .global _020A3808 _020A3808: .byte 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x20, 0x69, 0x74, 0x65, 0x6D, 0x20 .byte 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6F, 0x75, 0x73, 0x65, 0x20 .byte 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00 .global _020A3830 _020A3830: .byte 0x72, 0x65, 0x77, 0x61 .byte 0x72, 0x64, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78 .byte 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6E, 0x6F, 0x6E, 0x65, 0x0A, 0x00, 0x00, 0x00 .global _020A3854 _020A3854: .byte 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69 .byte 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6F, 0x76, 0x65, 0x72 .byte 0x20, 0x6D, 0x61, 0x78, 0x0A, 0x00, 0x00, 0x00 .global _020A387C _020A387C: .byte 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x20, 0x6D .byte 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72 .byte 0x6F, 0x72, 0x3A, 0x20, 0x69, 0x6C, 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x6D, 0x6F, 0x6E, 0x73 .byte 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x2D, 0x20, 0x25, 0x64, 0x0A, 0x00 .global _020A38B4 _020A38B4: .byte 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x65, 0x72 .byte 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A38D0 _020A38D0: .byte 0x61, 0x74, 0x74, 0x72 .byte 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x65 .byte 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020A38F0 _020A38F0: .byte 0x72, 0x65, 0x73, 0x74 .byte 0x72, 0x69, 0x63, 0x74, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64 .byte 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6F, 0x76, 0x65, 0x72, 0x20, 0x6D .byte 0x61, 0x78, 0x0A, 0x00 .global _020A3918 _020A3918: .byte 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x6D, 0x6F, 0x6E .byte 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72 .byte 0x3A, 0x20, 0x69, 0x6C, 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65 .byte 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x2D, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020A3954 _020A3954: .byte 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72 .byte 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6E, 0x6F .byte 0x74, 0x20, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00 .global _020A3984 _020A3984: .byte 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72 .byte 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x69, 0x6C .byte 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x6D, 0x6F, 0x6E, 0x73 .byte 0x74, 0x65, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A39C0 _020A39C0: .byte 0x64, 0x75, 0x6E, 0x67 .byte 0x65, 0x6F, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00 .global _020A39D4 _020A39D4: .byte 0x64, 0x75, 0x6E, 0x67, 0x65, 0x6F, 0x6E, 0x20, 0x66, 0x6C, 0x6F, 0x6F, 0x72, 0x20, 0x65, 0x72 .byte 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A39F0 _020A39F0: .byte 0x64, 0x75, 0x6E, 0x67 .byte 0x65, 0x6F, 0x6E, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x6D, 0x61, 0x70, 0x20, 0x65, 0x72, 0x72 .byte 0x6F, 0x72, 0x0A, 0x00 .global _020A3A08 _020A3A08: .byte 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65 .byte 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6E, 0x6F, 0x6E, 0x65, 0x0A, 0x00, 0x00 .global _020A3A24 _020A3A24: .byte 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72 .byte 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6F, 0x76, 0x65, 0x72, 0x20, 0x6D, 0x61, 0x78, 0x0A, 0x00, 0x00 .global _020A3A44 _020A3A44: .byte 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72 .byte 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x3A .byte 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A3A6C _020A3A6C: .byte 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20 .byte 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x69, 0x6C, 0x6C .byte 0x65, 0x67, 0x61, 0x6C, 0x20, 0x6D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64 .byte 0x65, 0x78, 0x20, 0x2D, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A3AA0 _020A3AA0: .byte 0x6D, 0x6F, 0x6E, 0x73 .byte 0x74, 0x65, 0x72, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A .byte 0x20, 0x69, 0x6C, 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x20, 0x6D .byte 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A3AD4 _020A3AD4: .byte 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x69, 0x74, 0x65, 0x6D, 0x20, 0x69, 0x6E, 0x64, 0x65 .byte 0x78, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00 .global _020A3AF4 _020A3AF4: .byte 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x69, 0x74, 0x65, 0x6D, 0x20, 0x69, 0x6E, 0x64, 0x65 .byte 0x78, 0x20, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25 .byte 0x64, 0x0A, 0x00, 0x00 .global _020A3B18 _020A3B18: .byte 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x69, 0x74, 0x65, 0x6D, 0x20 .byte 0x69, 0x6E, 0x64, 0x65, 0x78, 0x20, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6F, 0x75, 0x73, 0x65, 0x20 .byte 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00 .global REMOTE_STRINGS REMOTE_STRINGS: .byte 0x20, 0x00, 0x00, 0x00 .global _020A3B44 _020A3B44: .byte 0x5B, 0x4D, 0x3A, 0x52, 0x34, 0x5D, 0x00, 0x00 .global _020A3B4C _020A3B4C: .byte 0x5B, 0x4D, 0x3A, 0x52, 0x33, 0x5D, 0x00, 0x00 .global _020A3B54 _020A3B54: .byte 0x5B, 0x4D, 0x3A, 0x52, 0x37, 0x5D, 0x00, 0x00 .global _020A3B5C _020A3B5C: .byte 0x5B, 0x4D, 0x3A, 0x52, 0x35, 0x5D, 0x00, 0x00 .global _020A3B64 _020A3B64: .byte 0x5B, 0x4D, 0x3A, 0x52, 0x36, 0x5D, 0x00, 0x00 .global RANK_STRINGS_1 RANK_STRINGS_1: .byte 0x5B, 0x43, 0x53, 0x3A, 0x50, 0x5D, 0x42, 0x5B .byte 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00 .global _020A3B7C _020A3B7C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x45, 0x5D, 0x41, 0x5B .byte 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00 .global _020A3B8C _020A3B8C: .byte 0x5B, 0x43, 0x53, 0x3A, 0x42, 0x5D, 0x53, 0x5B .byte 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00 .global MISSION_MENU_STRING_IDS_1 MISSION_MENU_STRING_IDS_1: .byte 0xD0, 0x38, 0xD1, 0x38, 0xD2, 0x38, 0xD3, 0x38 .byte 0xD4, 0x38, 0xD5, 0x38, 0xD6, 0x38, 0x00, 0x00 .global RANK_STRINGS_2 RANK_STRINGS_2: .byte 0x5B, 0x43, 0x53, 0x3A, 0x44, 0x5D, 0x45, 0x5B .byte 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00 .global _020A3BBC _020A3BBC: .byte 0x5B, 0x43, 0x53, 0x3A, 0x49, 0x5D, 0x44, 0x5B .byte 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00 .global _020A3BCC _020A3BCC: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4B, 0x5D, 0x43, 0x5B .byte 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00 .global MISSION_MENU_STRING_IDS_2 MISSION_MENU_STRING_IDS_2: .byte 0xD7, 0x38, 0xD8, 0x38, 0xDB, 0x38, 0xD9, 0x38 .byte 0xDC, 0x38, 0xDA, 0x38, 0xDD, 0x38, 0xDE, 0x38 .global RANK_STRINGS_3 RANK_STRINGS_3: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43 .byte 0x53, 0x3A, 0x43, 0x5D, 0x35, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3C00 _020A3C00: .byte 0x5B, 0x4D, 0x3A, 0x53 .byte 0x33, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D, 0x36, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3C14 _020A3C14: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D, 0x39, 0x5B, 0x43, 0x52 .byte 0x3A, 0x30, 0x5D, 0x00 .global _020A3C28 _020A3C28: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D .byte 0x31, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3C3C _020A3C3C: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43 .byte 0x53, 0x3A, 0x43, 0x5D, 0x32, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3C50 _020A3C50: .byte 0x5B, 0x4D, 0x3A, 0x53 .byte 0x33, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D, 0x37, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3C64 _020A3C64: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D, 0x33, 0x5B, 0x43, 0x52 .byte 0x3A, 0x30, 0x5D, 0x00 .global _020A3C78 _020A3C78: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x43, 0x5D .byte 0x38, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3C8C _020A3C8C: .byte 0x5B, 0x4D, 0x3A, 0x53, 0x33, 0x5D, 0x5B, 0x43 .byte 0x53, 0x3A, 0x43, 0x5D, 0x34, 0x5B, 0x43, 0x52, 0x3A, 0x30, 0x5D, 0x00 .global _020A3CA0 _020A3CA0: .byte 0x64, 0x00, 0x05, 0x00 .byte 0x05, 0x00, 0x64, 0x00, 0x05, 0x00, 0x05, 0x00 .global MISSION_DUNGEON_UNLOCK_TABLE MISSION_DUNGEON_UNLOCK_TABLE: .byte 0x5B .global _020A3CAD _020A3CAD: .byte 0x02, 0x60, 0x06, 0x62, 0x06 .global NO_SEND_ITEM_TABLE NO_SEND_ITEM_TABLE: .byte 0xB2, 0x00 .byte 0xB7, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020A3CBC _020A3CBC: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_20A3CC8 ARM9_UNKNOWN_TABLE__NA_20A3CC8: .byte 0x32, 0x00, 0x50, 0x00, 0x3C, 0x00, 0x28, 0x00, 0x19, 0x00, 0x14, 0x00 .byte 0x19, 0x00 .global _020A3CD6 _020A3CD6: .byte 0x1E, 0x00, 0x50, 0x00, 0x28, 0x00, 0x3C, 0x00, 0x17, 0x00, 0x0A, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_TABLE__NA_20A3CE4 ARM9_UNKNOWN_TABLE__NA_20A3CE4: .byte 0x32, 0x00, 0x50, 0x00, 0x3C, 0x00, 0x28, 0x00, 0x19, 0x00, 0x14, 0x00, 0x19, 0x00, 0x00, 0x00 .global ARM9_UNKNOWN_FUNCTION_TABLE__NA_20A3CF4 ARM9_UNKNOWN_FUNCTION_TABLE__NA_20A3CF4: .word sub_0206063C .word sub_02060658 .word sub_02060680 .word sub_02060680 .word sub_020606E4 .word sub_0206074C .word sub_02060804 .word sub_02060904 .global MISSION_BANNED_STORY_MONSTERS MISSION_BANNED_STORY_MONSTERS: .byte 0x6D, 0x00, 0x29, 0x00, 0xDD, 0x01, 0x83, 0x01, 0x69, 0x00, 0x71, 0x00, 0x73, 0x00, 0xB2, 0x00 .byte 0xFC, 0x01, 0x33, 0x01, 0x3C, 0x01, 0x60, 0x01, 0x61, 0x01, 0x8B, 0x00, 0x8D, 0x00, 0xB7, 0x01 .byte 0xB8, 0x01, 0xE4, 0x01, 0x51, 0x01, 0x52, 0x01, 0x00, 0x00 .global ITEM_DELIVERY_TABLE ITEM_DELIVERY_TABLE: .byte 0x49, 0x00, 0x48, 0x00, 0x57, 0x00 .byte 0x56, 0x00, 0x54, 0x00, 0x4D, 0x00, 0x59, 0x00, 0x46, 0x00, 0x52, 0x00, 0x5A, 0x00, 0x4E, 0x00 .byte 0x51, 0x00, 0x47, 0x00, 0x63, 0x00, 0x6E, 0x00, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x49, 0x01 .byte 0x4A, 0x01, 0x4B, 0x01, 0x4C, 0x01, 0x00, 0x00 .global MISSION_RANK_POINTS MISSION_RANK_POINTS: .byte 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00 .byte 0x58, 0x02, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xB0, 0x04, 0x00, 0x00 .byte 0x78, 0x05, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00 .global MISSION_BANNED_MONSTERS MISSION_BANNED_MONSTERS: .byte 0x7B, 0x01, 0x7C, 0x01, 0x7D, 0x01, 0x7E, 0x01 .byte 0x26, 0x01, 0x28, 0x01, 0x0E, 0x00, 0x7F, 0x01, 0x80, 0x01, 0xC9, 0x00, 0xCA, 0x00, 0xCB, 0x00 .byte 0xCC, 0x00, 0xCD, 0x00, 0xCE, 0x00, 0xCF, 0x00, 0xD0, 0x00, 0xD1, 0x00, 0xD2, 0x00, 0xD3, 0x00 .byte 0xD4, 0x00, 0xD5, 0x00, 0xD6, 0x00, 0xD7, 0x00, 0xD8, 0x00, 0xD9, 0x00, 0xDA, 0x00, 0xDB, 0x00 .byte 0xDC, 0x00, 0xDD, 0x00, 0xDE, 0x00, 0xDF, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE3, 0x00 .byte 0xE4, 0x00, 0x89, 0x00, 0x04, 0x01, 0x04, 0x02, 0x51, 0x00, 0x52, 0x00, 0xF8, 0x01, 0x90, 0x00 .byte 0x91, 0x00, 0x92, 0x00, 0x99, 0x01, 0x9A, 0x01, 0x9B, 0x01, 0x9C, 0x01, 0x9D, 0x01, 0x9E, 0x01 .byte 0x9F, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA2, 0x01, 0xA3, 0x01, 0xA4, 0x01, 0xA5, 0x01, 0x0E, 0x01 .byte 0x0F, 0x01, 0x10, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x96, 0x00, 0x97, 0x00 .byte 0x0A, 0x02, 0x0B, 0x02 .word _020D020C .byte 0x0E, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02 .byte 0xEA, 0x01, 0x13, 0x02 .word _02150214 .byte 0x16, 0x02, 0x36, 0x01, 0x28, 0x00, 0x32, 0x00 .byte 0x33, 0x00, 0x60, 0x00, 0x7A, 0x00, 0x82, 0x00, 0x83, 0x00, 0xB7, 0x00, 0x46, 0x01, 0xC0, 0x00 .byte 0xEF, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0x19, 0x01, 0x42, 0x01, 0x4A, 0x01, 0x50, 0x01, 0x71, 0x01 .byte 0x86, 0x01, 0xB2, 0x01, 0xD6, 0x01, 0xE3, 0x01, 0xEF, 0x01, 0x07, 0x02 .word _020F0208 .byte 0x05, 0x02, 0xBA, 0x01, 0xFA, 0x01, 0x78, 0x01, 0x88, 0x01, 0xE5, 0x00, 0x63, 0x01, 0xFB, 0x00 .byte 0xF2, 0x00, 0x23, 0x01, 0xC8, 0x01, 0xF1, 0x00, 0x4B, 0x01, 0x3A, 0x01, 0x43, 0x00, 0x00, 0x00 .global MISSION_STRING_IDS MISSION_STRING_IDS: .byte 0x41, 0x3B, 0x42, 0x3B, 0x43, 0x3B, 0x3D, 0x39, 0x3E, 0x39, 0x3F, 0x39, 0x40, 0x39, 0x41, 0x39 .byte 0x42, 0x39, 0x43, 0x39, 0x44, 0x39, 0x45, 0x39, 0x46, 0x39, 0x47, 0x39, 0x1D, 0x3B, 0x1E, 0x3B .byte 0x1F, 0x3B, 0x20, 0x3B, 0x21, 0x3B, 0x22, 0x3B, 0x23, 0x3B, 0x24, 0x3B, 0x48, 0x39, 0x49, 0x39 .byte 0x4A, 0x39, 0x4B, 0x39, 0x4C, 0x39, 0x4D, 0x39, 0x4E, 0x39, 0x4F, 0x39, 0x50, 0x39, 0x51, 0x39 .byte 0x52, 0x39, 0x25, 0x3B, 0x26, 0x3B, 0x27, 0x3B, 0x28, 0x3B, 0x29, 0x3B, 0x2A, 0x3B, 0x2B, 0x3B .byte 0x2C, 0x3B, 0x2D, 0x3B, 0x2E, 0x3B, 0x2F, 0x3B, 0x53, 0x39, 0x54, 0x39, 0x55, 0x39, 0x56, 0x39 .byte 0x57, 0x39, 0x58, 0x39, 0x59, 0x39, 0x30, 0x3B, 0x31, 0x3B, 0x32, 0x3B, 0x33, 0x3B, 0x34, 0x3B .byte 0x35, 0x3B, 0x36, 0x3B, 0x5A, 0x39, 0x5B, 0x39, 0x5C, 0x39, 0x5D, 0x39, 0x5E, 0x39, 0x5F, 0x39 .byte 0x37, 0x3B, 0x38, 0x3B, 0x39, 0x3B, 0x3A, 0x3B, 0x3B, 0x3B, 0x3C, 0x3B, 0x3D, 0x3B, 0x3E, 0x3B .byte 0x3F, 0x3B, 0x40, 0x3B, 0x8E, 0x39, 0x8F, 0x39, 0x90, 0x39, 0x91, 0x39, 0x92, 0x39, 0x93, 0x39 .byte 0x94, 0x39, 0x88, 0x3B, 0x89, 0x3B, 0x8A, 0x3B, 0x8B, 0x3B, 0x8C, 0x3B, 0x8D, 0x3B, 0x8E, 0x3B .byte 0x8F, 0x3B, 0x90, 0x3B, 0x91, 0x3B, 0x71, 0x39, 0x72, 0x39, 0x73, 0x39, 0x74, 0x39, 0x75, 0x39 .byte 0x76, 0x39, 0x77, 0x39, 0x78, 0x39, 0x79, 0x39, 0x7A, 0x39, 0x7B, 0x39, 0x7C, 0x39, 0x7D, 0x39 .byte 0x7E, 0x39, 0x7F, 0x39, 0x80, 0x39, 0x81, 0x39, 0x82, 0x39, 0x83, 0x39, 0x84, 0x39, 0x85, 0x39 .byte 0x86, 0x39, 0x87, 0x39, 0x88, 0x39, 0x89, 0x39, 0x8A, 0x39, 0x8B, 0x39, 0x8C, 0x39, 0x8D, 0x39 .byte 0x75, 0x3B, 0x76, 0x3B, 0x77, 0x3B, 0x78, 0x3B, 0x79, 0x3B, 0x7A, 0x3B, 0x7B, 0x3B, 0x7C, 0x3B .byte 0x7D, 0x3B, 0x7E, 0x3B, 0x7F, 0x3B, 0x80, 0x3B, 0x81, 0x3B, 0x82, 0x3B, 0x83, 0x3B, 0x84, 0x3B .byte 0x85, 0x3B, 0x86, 0x3B, 0x87, 0x3B, 0x9C, 0x39, 0x9D, 0x39, 0x9E, 0x39, 0x9F, 0x39, 0x9D, 0x3B .byte 0x9E, 0x3B, 0x9F, 0x3B, 0xA0, 0x3B, 0xA1, 0x3B, 0xA2, 0x3B, 0xA3, 0x3B, 0xA4, 0x3B, 0xA5, 0x3B .byte 0xA6, 0x3B, 0xA7, 0x3B, 0xA8, 0x3B, 0xA9, 0x3B, 0xAA, 0x3B, 0xAB, 0x3B, 0xAC, 0x3B, 0xAD, 0x3B .byte 0xAE, 0x3B, 0x95, 0x39, 0x96, 0x39, 0x97, 0x39, 0x98, 0x39, 0x99, 0x39, 0x9A, 0x39, 0x9B, 0x39 .byte 0x92, 0x3B, 0x93, 0x3B, 0x94, 0x3B, 0x95, 0x3B, 0x96, 0x3B, 0x97, 0x3B, 0x98, 0x3B, 0x99, 0x3B .byte 0x9A, 0x3B, 0x9B, 0x3B, 0x9C, 0x3B, 0xAF, 0x3B, 0xB0, 0x3B, 0xB1, 0x3B, 0xB2, 0x3B, 0xB3, 0x3B .byte 0xB4, 0x3B, 0xB5, 0x3B, 0xB6, 0x3B, 0xB7, 0x3B, 0xB8, 0x3B, 0xB9, 0x3B, 0xBA, 0x3B, 0xBB, 0x3B .byte 0xBC, 0x3B, 0xBD, 0x3B, 0xBE, 0x3B, 0xBF, 0x3B, 0xC0, 0x3B, 0xC1, 0x3B, 0xC2, 0x3B, 0xC3, 0x3B .byte 0xC4, 0x3B, 0xC5, 0x3B, 0xC6, 0x3B, 0xC7, 0x3B, 0xC8, 0x3B, 0xC9, 0x3B, 0xCA, 0x3B, 0xCB, 0x3B .byte 0xCC, 0x3B, 0xCD, 0x3B, 0xCE, 0x3B, 0xCF, 0x3B, 0xD0, 0x3B, 0xD1, 0x3B, 0xD2, 0x3B, 0xD3, 0x3B .byte 0xD4, 0x3B, 0xD5, 0x3B, 0xD6, 0x3B, 0xD7, 0x3B, 0xD8, 0x3B, 0xD9, 0x3B, 0xDA, 0x3B, 0xDB, 0x3B .byte 0xDC, 0x3B, 0xDD, 0x3B, 0xDE, 0x3B, 0xDF, 0x3B, 0xE0, 0x3B, 0xE1, 0x3B, 0xE2, 0x3B, 0xE3, 0x3B .byte 0xE4, 0x3B, 0xE5, 0x3B, 0xE6, 0x3B, 0xE7, 0x3B, 0xE8, 0x3B, 0xE9, 0x3B, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39, 0xA0, 0x39 .byte 0xA0, 0x39, 0xA1, 0x3A, 0xA2, 0x3A, 0xA3, 0x3A, 0xA4, 0x3A, 0x0B, 0x39, 0x0C, 0x39, 0x0D, 0x39 .byte 0x8A, 0x3A, 0x8B, 0x3A, 0x8C, 0x3A, 0x8D, 0x3A, 0x8E, 0x3A, 0x8F, 0x3A, 0x90, 0x3A, 0x91, 0x3A .byte 0x92, 0x3A, 0x93, 0x3A, 0x94, 0x3A, 0x95, 0x3A, 0x96, 0x3A, 0x97, 0x3A, 0x98, 0x3A, 0x99, 0x3A .byte 0x9A, 0x3A, 0x9B, 0x3A, 0x9C, 0x3A, 0x9D, 0x3A, 0x9E, 0x3A, 0x9F, 0x3A, 0xA0, 0x3A, 0xAB, 0x3A .byte 0xAC, 0x3A, 0xAD, 0x3A, 0xAE, 0x3A, 0xAF, 0x3A, 0xB0, 0x3A, 0x65, 0x39, 0x65, 0x39, 0x65, 0x39 .byte 0x65, 0x39, 0x65, 0x39, 0x65, 0x39, 0xA5, 0x3A, 0xA6, 0x3A, 0xA7, 0x3A, 0xA8, 0x3A, 0xA9, 0x3A .byte 0xAA, 0x3A, 0x0F, 0x39, 0x10, 0x39, 0x11, 0x39, 0x12, 0x39, 0x13, 0x39, 0x14, 0x39, 0x15, 0x39 .byte 0x16, 0x39, 0x17, 0x39, 0x18, 0x39, 0x19, 0x39, 0x1A, 0x39, 0x1B, 0x39, 0x5B, 0x3A, 0x5C, 0x3A .byte 0x5D, 0x3A, 0x5E, 0x3A, 0x5F, 0x3A, 0x60, 0x3A, 0x61, 0x3A, 0x62, 0x3A, 0x63, 0x3A, 0x64, 0x3A .byte 0x65, 0x3A, 0x66, 0x3A, 0x67, 0x3A, 0x6F, 0x3A, 0x70, 0x3A, 0x71, 0x3A, 0x72, 0x3A, 0x73, 0x3A .byte 0x1C, 0x39, 0x1D, 0x39, 0x1E, 0x39, 0x1F, 0x39, 0x20, 0x39, 0x21, 0x39, 0x22, 0x39, 0x23, 0x39 .byte 0x24, 0x39, 0x25, 0x39, 0x26, 0x39, 0x27, 0x39, 0x28, 0x39, 0x68, 0x3A, 0x69, 0x3A, 0x6A, 0x3A .byte 0x6B, 0x3A, 0x6C, 0x3A, 0x6D, 0x3A, 0x6E, 0x3A, 0x74, 0x3A, 0x75, 0x3A, 0x76, 0x3A, 0x77, 0x3A .byte 0x78, 0x3A, 0x79, 0x3A, 0x7A, 0x3A, 0x7B, 0x3A, 0x7C, 0x3A, 0x7D, 0x3A, 0x85, 0x3A, 0x86, 0x3A .byte 0x87, 0x3A, 0x88, 0x3A, 0x89, 0x3A, 0x29, 0x39, 0x2A, 0x39, 0x2B, 0x39, 0x2C, 0x39, 0x7E, 0x3A .byte 0x7F, 0x3A, 0x80, 0x3A, 0x81, 0x3A, 0x82, 0x3A, 0x83, 0x3A, 0x84, 0x3A, 0xDD, 0x39, 0xDE, 0x39 .byte 0xDF, 0x39, 0xE0, 0x39, 0xE1, 0x39, 0xE2, 0x39, 0xE3, 0x39, 0xE4, 0x39, 0xE5, 0x39, 0xE6, 0x39 .byte 0xE7, 0x39, 0xE1, 0x38, 0xE2, 0x38, 0xE3, 0x38, 0xE4, 0x38, 0xE5, 0x38, 0xE6, 0x38, 0xE7, 0x38 .byte 0xE8, 0x38, 0xE9, 0x38, 0xEA, 0x38, 0xEB, 0x38, 0xEC, 0x38, 0xED, 0x38, 0xEE, 0x38, 0xEF, 0x38 .byte 0xF0, 0x38, 0xCC, 0x39, 0xCD, 0x39, 0xCE, 0x39, 0xCF, 0x39, 0xD0, 0x39, 0xD1, 0x39, 0xD2, 0x39 .byte 0xD3, 0x39, 0xD4, 0x39, 0xD5, 0x39, 0xD6, 0x39, 0xD7, 0x39, 0xD8, 0x39, 0xD9, 0x39, 0xDA, 0x39 .byte 0xDB, 0x39, 0xDC, 0x39, 0x10, 0x3A, 0x11, 0x3A, 0x12, 0x3A, 0x13, 0x3A, 0x14, 0x3A, 0x15, 0x3A .byte 0x16, 0x3A, 0x17, 0x3A, 0x18, 0x3A, 0x19, 0x3A, 0x1A, 0x3A, 0x1B, 0x3A, 0x1C, 0x3A, 0xF1, 0x38 .byte 0xF2, 0x38, 0xF3, 0x38, 0xF4, 0x38, 0xF5, 0x38, 0xF6, 0x38, 0xF7, 0x38, 0xF8, 0x38, 0xF9, 0x38 .byte 0xFA, 0x38, 0xFB, 0x38, 0xFC, 0x38, 0xFD, 0x38, 0xFE, 0x38, 0xE8, 0x39, 0xE9, 0x39, 0xEA, 0x39 .byte 0xEB, 0x39, 0xEC, 0x39, 0xED, 0x39, 0xEE, 0x39, 0xEF, 0x39, 0xF0, 0x39, 0xF1, 0x39, 0xF2, 0x39 .byte 0xF3, 0x39, 0xF4, 0x39, 0xF5, 0x39, 0xF6, 0x39, 0xF7, 0x39, 0xF8, 0x39, 0xF9, 0x39, 0xFA, 0x39 .byte 0xFB, 0x39, 0xFC, 0x39, 0xFD, 0x39, 0xFE, 0x39, 0xFF, 0x39, 0x00, 0x3A, 0x01, 0x3A, 0x02, 0x3A .byte 0x03, 0x3A, 0x04, 0x3A, 0x05, 0x3A, 0x06, 0x3A, 0x07, 0x3A, 0x08, 0x3A, 0x09, 0x3A, 0x0A, 0x3A .byte 0x0B, 0x3A, 0x0C, 0x3A, 0x0D, 0x3A, 0x0E, 0x3A, 0x0F, 0x3A, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39 .byte 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39 .byte 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x63, 0x39, 0x1D, 0x3A .byte 0x1E, 0x3A, 0x1F, 0x3A, 0x20, 0x3A, 0x21, 0x3A, 0x22, 0x3A, 0x23, 0x3A, 0x24, 0x3A, 0x25, 0x3A .byte 0x26, 0x3A, 0x27, 0x3A, 0x28, 0x3A, 0x29, 0x3A, 0x2A, 0x3A, 0x2B, 0x3A, 0x2C, 0x3A, 0x2D, 0x3A .byte 0x2E, 0x3A, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39 .byte 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39 .byte 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39 .byte 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39, 0x64, 0x39 .byte 0x64, 0x39, 0x2F, 0x3A, 0x30, 0x3A, 0x31, 0x3A, 0x32, 0x3A, 0x33, 0x3A, 0x34, 0x3A, 0x35, 0x3A .byte 0x36, 0x3A, 0x37, 0x3A, 0x38, 0x3A, 0x39, 0x3A, 0x3A, 0x3A, 0x3B, 0x3A, 0x3C, 0x3A, 0x3D, 0x3A .byte 0x3E, 0x3A, 0x3F, 0x3A, 0x40, 0x3A, 0x41, 0x3A, 0x42, 0x3A, 0x43, 0x3A, 0x44, 0x3A, 0x45, 0x3A .byte 0x46, 0x3A, 0x47, 0x3A, 0x48, 0x3A, 0x49, 0x3A, 0x4A, 0x3A, 0x4B, 0x3A, 0x4C, 0x3A, 0x4D, 0x3A .byte 0x4E, 0x3A, 0xFF, 0x38, 0x00, 0x39, 0x01, 0x39, 0x02, 0x39, 0x03, 0x39, 0x04, 0x39, 0x05, 0x39 .byte 0x06, 0x39, 0x07, 0x39, 0x08, 0x39, 0x09, 0x39, 0x0A, 0x39, 0x4F, 0x3A, 0x50, 0x3A, 0x51, 0x3A .byte 0x52, 0x3A, 0x53, 0x3A, 0x54, 0x3A, 0x55, 0x3A, 0x56, 0x3A, 0x57, 0x3A, 0x58, 0x3A, 0x59, 0x3A .byte 0x5A, 0x3A, 0x18, 0x3B, 0x19, 0x3B, 0x1A, 0x3B, 0x1B, 0x3B, 0x1C, 0x3B, 0x3B, 0x39, 0x3C, 0x39 .byte 0x10, 0x3B, 0x11, 0x3B, 0x12, 0x3B, 0x13, 0x3B, 0x14, 0x3B, 0x15, 0x3B, 0x16, 0x3B, 0x17, 0x3B .byte 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x54, 0x3B, 0x55, 0x3B, 0x56, 0x3B .byte 0x57, 0x3B, 0x58, 0x3B, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39 .byte 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39 .byte 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39 .byte 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x70, 0x39, 0x59, 0x3B, 0x5A, 0x3B .byte 0x5B, 0x3B, 0x5C, 0x3B, 0x5D, 0x3B, 0x5E, 0x3B, 0x5F, 0x3B, 0x60, 0x3B, 0x61, 0x3B, 0x62, 0x3B .byte 0x63, 0x3B, 0x64, 0x3B, 0x65, 0x3B, 0x66, 0x3B, 0x67, 0x3B, 0x68, 0x3B, 0x69, 0x3B, 0x6A, 0x3B .byte 0x6B, 0x3B, 0x6C, 0x3B, 0x6D, 0x3B, 0x6E, 0x3B, 0x6F, 0x3B, 0x70, 0x3B, 0x71, 0x3B, 0x72, 0x3B .byte 0x73, 0x3B, 0x74, 0x3B, 0x0E, 0x3B, 0x0F, 0x3B, 0x52, 0x3B, 0x53, 0x3B, 0x06, 0x3B, 0x07, 0x3B .byte 0x08, 0x3B, 0x09, 0x3B, 0x0A, 0x3B, 0x0B, 0x3B, 0x0C, 0x3B, 0x0D, 0x3B, 0x31, 0x39, 0x32, 0x39 .byte 0x33, 0x39, 0x34, 0x39, 0x35, 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, 0x39, 0x3A, 0x39 .byte 0xF8, 0x3A, 0xF9, 0x3A, 0xFA, 0x3A, 0xFB, 0x3A, 0xFC, 0x3A, 0xFD, 0x3A, 0xFE, 0x3A, 0xFF, 0x3A .byte 0x00, 0x3B, 0x01, 0x3B, 0x02, 0x3B, 0x03, 0x3B, 0x04, 0x3B, 0x05, 0x3B, 0xA1, 0x39, 0xA2, 0x39 .byte 0xA3, 0x39, 0xA4, 0x39, 0xA5, 0x39, 0xA6, 0x39, 0xA7, 0x39, 0xA8, 0x39, 0xA9, 0x39, 0xAA, 0x39 .byte 0xAB, 0x39, 0xAC, 0x39, 0xAD, 0x39, 0xAE, 0x39, 0xAF, 0x39, 0xB0, 0x39, 0xEB, 0x3B, 0xEC, 0x3B .byte 0xED, 0x3B, 0xEE, 0x3B, 0xEF, 0x3B, 0xF0, 0x3B, 0xF1, 0x3B, 0xF2, 0x3B, 0xF3, 0x3B, 0xF4, 0x3B .byte 0xF5, 0x3B, 0xF6, 0x3B, 0xF7, 0x3B, 0xF8, 0x3B, 0xF9, 0x3B, 0xFA, 0x3B, 0xFB, 0x3B, 0xFC, 0x3B .byte 0xFD, 0x3B, 0xFE, 0x3B, 0xFF, 0x3B, 0x00, 0x3C, 0x01, 0x3C, 0x02, 0x3C, 0x03, 0x3C, 0x04, 0x3C .byte 0x05, 0x3C, 0x06, 0x3C, 0xB1, 0x39, 0xB2, 0x39, 0xB3, 0x39, 0xB4, 0x39, 0xB5, 0x39, 0xB6, 0x39 .byte 0xB7, 0x39, 0xB8, 0x39, 0xB9, 0x39, 0xBA, 0x39, 0xBB, 0x39, 0xBC, 0x39, 0xBD, 0x39, 0xBE, 0x39 .byte 0xBF, 0x39, 0xC0, 0x39, 0xC1, 0x39, 0xC2, 0x39, 0xC3, 0x39, 0xC4, 0x39, 0xC5, 0x39, 0xC6, 0x39 .byte 0xC7, 0x39, 0xC8, 0x39, 0xC9, 0x39, 0xCA, 0x39, 0xCB, 0x39, 0x07, 0x3C, 0x08, 0x3C, 0x09, 0x3C .byte 0x0A, 0x3C, 0x0B, 0x3C, 0x0C, 0x3C, 0x0D, 0x3C, 0x0E, 0x3C, 0x0F, 0x3C, 0x10, 0x3C, 0x11, 0x3C .byte 0x12, 0x3C, 0x13, 0x3C, 0x14, 0x3C, 0x15, 0x3C, 0x16, 0x3C, 0x17, 0x3C, 0x18, 0x3C, 0x19, 0x3C .byte 0x1A, 0x3C, 0x1B, 0x3C, 0x1C, 0x3C, 0x1D, 0x3C, 0xBE, 0x3A, 0xBF, 0x3A, 0xC0, 0x3A, 0xC1, 0x3A .byte 0xC2, 0x3A, 0xC3, 0x3A, 0xC4, 0x3A, 0xC5, 0x3A, 0xC6, 0x3A, 0xC7, 0x3A, 0xC8, 0x3A, 0xC9, 0x3A .byte 0xCA, 0x3A, 0xCB, 0x3A, 0xCC, 0x3A, 0xCD, 0x3A, 0xCE, 0x3A, 0x61, 0x39, 0xB1, 0x3A, 0xB2, 0x3A .byte 0xB3, 0x3A, 0xB4, 0x3A, 0xB5, 0x3A, 0xB6, 0x3A, 0xB7, 0x3A, 0xB8, 0x3A, 0xB9, 0x3A, 0xBA, 0x3A .byte 0xBB, 0x3A, 0xBC, 0x3A, 0xBD, 0x3A, 0xD9, 0x3A, 0xDA, 0x3A, 0xDB, 0x3A, 0xDC, 0x3A, 0xDD, 0x3A .byte 0x2D, 0x39, 0x2E, 0x39, 0x2F, 0x39, 0x30, 0x39, 0xCF, 0x3A, 0xD0, 0x3A, 0xD1, 0x3A, 0xD2, 0x3A .byte 0xD3, 0x3A, 0xD4, 0x3A, 0xD5, 0x3A, 0xD6, 0x3A, 0xD7, 0x3A, 0xD8, 0x3A, 0xE1, 0x3A, 0xE2, 0x3A .byte 0x61, 0x39, 0xDE, 0x3A, 0xDF, 0x3A, 0xE0, 0x3A, 0x61, 0x39, 0x44, 0x3B, 0xEF, 0x3A, 0xF0, 0x3A .byte 0xF1, 0x3A, 0xF2, 0x3A, 0xF3, 0x3A, 0xF4, 0x3A, 0xF5, 0x3A, 0xF6, 0x3A, 0xF7, 0x3A, 0x62, 0x39 .byte 0xE3, 0x3A, 0xE4, 0x3A, 0xE5, 0x3A, 0xE6, 0x3A, 0xE7, 0x3A, 0xE8, 0x3A, 0xE9, 0x3A, 0xEA, 0x3A .byte 0xEB, 0x3A, 0xEC, 0x3A, 0xED, 0x3A, 0xEE, 0x3A, 0x66, 0x39, 0x67, 0x39, 0x68, 0x39, 0x69, 0x39 .byte 0x6A, 0x39, 0x6B, 0x39, 0x6C, 0x39, 0x6F, 0x39, 0x48, 0x3B, 0x49, 0x3B, 0x4A, 0x3B, 0x4B, 0x3B .byte 0x4C, 0x3B, 0x4D, 0x3B, 0x4E, 0x3B, 0x51, 0x3B .global _020A462C _020A462C: .byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x52, 0x45, 0x53 .byte 0x43, 0x55, 0x45, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2E, 0x62, 0x69, 0x6E, 0x00, 0x00 .global _020A4644 _020A4644: .byte 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x32, 0x31, 0x5D, 0x00, 0x00, 0x00 .global _020A4654 _020A4654: .byte 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x4F, 0x46, 0x46, 0x53, 0x45, 0x54, 0x3A, 0x30, 0x5D, 0x00 .global _020A4664 _020A4664: .byte 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x30, 0x5D, 0x00, 0x00, 0x00 .global _020A4674 _020A4674: .byte 0x0A, 0x00, 0x00, 0x00 .global _020A4678 _020A4678: .byte 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x31, 0x38 .byte 0x37, 0x5D, 0x00, 0x00 .global _020A4688 _020A4688: .byte 0x5B, 0x43, 0x53, 0x3A, 0x58, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D .byte 0x00, 0x00, 0x00, 0x00 .global _020A4698 _020A4698: .byte 0x5B, 0x43, 0x53, 0x3A, 0x4E, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D .byte 0x00, 0x00, 0x00, 0x00 .global _020A46A8 _020A46A8: .byte 0x5B, 0x42, 0x41, 0x52, 0x5D, 0x00, 0x00, 0x00 .global _020A46B0 _020A46B0: .byte 0x5F, 0x52, 0x65, 0x6C .byte 0x65, 0x61, 0x73, 0x65, 0x41, 0x6E, 0x69, 0x6D, 0x65, 0x46, 0x69, 0x6C, 0x65, 0x42, 0x75, 0x66 .byte 0x66, 0x20, 0x3A, 0x20, 0x25, 0x64, 0x2C, 0x20, 0x25, 0x64, 0x00, 0x00 .global _020A46D0 _020A46D0: .byte 0x5F, 0x52, 0x65, 0x6C .byte 0x65, 0x61, 0x73, 0x65, 0x41, 0x6E, 0x69, 0x6D, 0x65, 0x46, 0x69, 0x6C, 0x65, 0x42, 0x75, 0x66 .byte 0x66, 0x20, 0x3A, 0x20, 0x25, 0x73, 0x00, 0x00 .global LEVEL_LIST LEVEL_LIST: .byte 0x44, 0x30, 0x30, 0x50, 0x30, 0x31, 0x00, 0x00 .global _020A46F4 _020A46F4: .byte 0x44, 0x30, 0x30, 0x50, 0x30, 0x32, 0x00, 0x00 .global _020A46FC _020A46FC: .byte 0x56, 0x30, 0x30, 0x50, 0x30, 0x32, 0x00, 0x00 .global _020A4704 _020A4704: .byte 0x56, 0x30, 0x30, 0x50, 0x30, 0x33, 0x00, 0x00 .global _020A470C _020A470C: .byte 0x54, 0x30, 0x30, 0x50, 0x30, 0x31, 0x00, 0x00 .global _020A4714 _020A4714: .byte 0x54, 0x30, 0x30, 0x50, 0x30, 0x33, 0x00, 0x00 .global _020A471C _020A471C: .byte 0x54, 0x30, 0x30, 0x50, 0x30, 0x32, 0x00, 0x00 .global _020A4724 _020A4724: .byte 0x56, 0x30, 0x30, 0x50, 0x30, 0x31, 0x00, 0x00 .global _020A472C _020A472C: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x39, 0x41, 0x00 .global _020A4734 _020A4734: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A473C _020A473C: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A4744 _020A4744: .byte 0x56, 0x33, 0x39, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A474C _020A474C: .byte 0x56, 0x32, 0x36, 0x50, 0x31, 0x30, 0x41, 0x00 .global _020A4754 _020A4754: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A475C _020A475C: .byte 0x56, 0x33, 0x38, 0x50, 0x31, 0x30, 0x41, 0x00 .global _020A4764 _020A4764: .byte 0x56, 0x33, 0x38, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A476C _020A476C: .byte 0x56, 0x33, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4774 _020A4774: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x36, 0x44, 0x00 .global _020A477C _020A477C: .byte 0x56, 0x33, 0x39, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4784 _020A4784: .byte 0x56, 0x33, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A478C _020A478C: .byte 0x56, 0x33, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4794 _020A4794: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x36, 0x43, 0x00 .global _020A479C _020A479C: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x35, 0x43, 0x00 .global _020A47A4 _020A47A4: .byte 0x56, 0x33, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A47AC _020A47AC: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A47B4 _020A47B4: .byte 0x56, 0x32, 0x36, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A47BC _020A47BC: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x33, 0x43, 0x00 .global _020A47C4 _020A47C4: .byte 0x48, 0x30, 0x31, 0x50, 0x39, 0x39, 0x43, 0x00 .global _020A47CC _020A47CC: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A47D4 _020A47D4: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A47DC _020A47DC: .byte 0x56, 0x33, 0x37, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A47E4 _020A47E4: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A47EC _020A47EC: .byte 0x56, 0x33, 0x37, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A47F4 _020A47F4: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A47FC _020A47FC: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4804 _020A4804: .byte 0x56, 0x32, 0x35, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A480C _020A480C: .byte 0x56, 0x32, 0x35, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4814 _020A4814: .byte 0x56, 0x32, 0x35, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A481C _020A481C: .byte 0x56, 0x32, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4824 _020A4824: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x39, 0x41, 0x00 .global _020A482C _020A482C: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x38, 0x41, 0x00 .global _020A4834 _020A4834: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A483C _020A483C: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A4844 _020A4844: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A484C _020A484C: .byte 0x56, 0x33, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4854 _020A4854: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A485C _020A485C: .byte 0x50, 0x30, 0x39, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4864 _020A4864: .byte 0x56, 0x33, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A486C _020A486C: .byte 0x56, 0x32, 0x33, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A4874 _020A4874: .byte 0x56, 0x32, 0x33, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A487C _020A487C: .byte 0x56, 0x32, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4884 _020A4884: .byte 0x56, 0x32, 0x38, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A488C _020A488C: .byte 0x56, 0x32, 0x32, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4894 _020A4894: .byte 0x56, 0x32, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A489C _020A489C: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x35, 0x43, 0x00 .global _020A48A4 _020A48A4: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A48AC _020A48AC: .byte 0x56, 0x32, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A48B4 _020A48B4: .byte 0x54, 0x30, 0x30, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A48BC _020A48BC: .byte 0x56, 0x31, 0x39, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A48C4 _020A48C4: .byte 0x56, 0x31, 0x39, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A48CC _020A48CC: .byte 0x56, 0x31, 0x39, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A48D4 _020A48D4: .byte 0x56, 0x31, 0x39, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A48DC _020A48DC: .byte 0x56, 0x31, 0x36, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A48E4 _020A48E4: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A48EC _020A48EC: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A48F4 _020A48F4: .byte 0x56, 0x31, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A48FC _020A48FC: .byte 0x53, 0x31, 0x35, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4904 _020A4904: .byte 0x56, 0x31, 0x35, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A490C _020A490C: .byte 0x56, 0x31, 0x35, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4914 _020A4914: .byte 0x56, 0x31, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A491C _020A491C: .byte 0x56, 0x31, 0x34, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4924 _020A4924: .byte 0x56, 0x31, 0x34, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A492C _020A492C: .byte 0x56, 0x31, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4934 _020A4934: .byte 0x56, 0x31, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A493C _020A493C: .byte 0x56, 0x31, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4944 _020A4944: .byte 0x56, 0x31, 0x30, 0x50, 0x30, 0x33, 0x43, 0x00 .global _020A494C _020A494C: .byte 0x56, 0x31, 0x30, 0x50, 0x30, 0x31, 0x43, 0x00 .global _020A4954 _020A4954: .byte 0x56, 0x30, 0x39, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A495C _020A495C: .byte 0x56, 0x30, 0x39, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4964 _020A4964: .byte 0x56, 0x30, 0x35, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A496C _020A496C: .byte 0x56, 0x30, 0x35, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4974 _020A4974: .byte 0x56, 0x30, 0x35, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A497C _020A497C: .byte 0x56, 0x30, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4984 _020A4984: .byte 0x56, 0x30, 0x34, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A498C _020A498C: .byte 0x56, 0x30, 0x34, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4994 _020A4994: .byte 0x56, 0x30, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A499C _020A499C: .byte 0x56, 0x30, 0x33, 0x50, 0x31, 0x33, 0x41, 0x00 .global _020A49A4 _020A49A4: .byte 0x56, 0x30, 0x33, 0x50, 0x31, 0x32, 0x41, 0x00 .global _020A49AC _020A49AC: .byte 0x56, 0x30, 0x33, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A49B4 _020A49B4: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x39, 0x41, 0x00 .global _020A49BC _020A49BC: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A49C4 _020A49C4: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A49CC _020A49CC: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x36, 0x42, 0x00 .global _020A49D4 _020A49D4: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A49DC _020A49DC: .byte 0x44, 0x32, 0x31, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A49E4 _020A49E4: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A49EC _020A49EC: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A49F4 _020A49F4: .byte 0x56, 0x32, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A49FC _020A49FC: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4A04 _020A4A04: .byte 0x56, 0x30, 0x32, 0x50, 0x30, 0x38, 0x41, 0x00 .global _020A4A0C _020A4A0C: .byte 0x56, 0x30, 0x32, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A4A14 _020A4A14: .byte 0x56, 0x30, 0x32, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A4A1C _020A4A1C: .byte 0x56, 0x30, 0x32, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4A24 _020A4A24: .byte 0x56, 0x30, 0x32, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4A2C _020A4A2C: .byte 0x56, 0x32, 0x32, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4A34 _020A4A34: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x38, 0x42, 0x00 .global _020A4A3C _020A4A3C: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x37, 0x42, 0x00 .global _020A4A44 _020A4A44: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x36, 0x42, 0x00 .global _020A4A4C _020A4A4C: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x35, 0x42, 0x00 .global _020A4A54 _020A4A54: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x34, 0x42, 0x00 .global _020A4A5C _020A4A5C: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A4A64 _020A4A64: .byte 0x56, 0x32, 0x31, 0x50, 0x30, 0x32, 0x42, 0x00 .global _020A4A6C _020A4A6C: .byte 0x56, 0x32, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4A74 _020A4A74: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4A7C _020A4A7C: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4A84 _020A4A84: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x39, 0x41, 0x00 .global _020A4A8C _020A4A8C: .byte 0x56, 0x31, 0x39, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A4A94 _020A4A94: .byte 0x54, 0x30, 0x31, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4A9C _020A4A9C: .byte 0x54, 0x30, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4AA4 _020A4AA4: .byte 0x54, 0x30, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4AAC _020A4AAC: .byte 0x53, 0x39, 0x39, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4AB4 _020A4AB4: .byte 0x53, 0x39, 0x39, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4ABC _020A4ABC: .byte 0x53, 0x39, 0x39, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4AC4 _020A4AC4: .byte 0x53, 0x32, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4ACC _020A4ACC: .byte 0x53, 0x32, 0x30, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4AD4 _020A4AD4: .byte 0x53, 0x31, 0x37, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4ADC _020A4ADC: .byte 0x56, 0x31, 0x37, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4AE4 _020A4AE4: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4AEC _020A4AEC: .byte 0x53, 0x31, 0x35, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4AF4 _020A4AF4: .byte 0x53, 0x31, 0x35, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A4AFC _020A4AFC: .byte 0x56, 0x31, 0x37, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4B04 _020A4B04: .byte 0x53, 0x31, 0x35, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4B0C _020A4B0C: .byte 0x53, 0x31, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4B14 _020A4B14: .byte 0x53, 0x31, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4B1C _020A4B1C: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x39, 0x41, 0x00 .global _020A4B24 _020A4B24: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x38, 0x41, 0x00 .global _020A4B2C _020A4B2C: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A4B34 _020A4B34: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A4B3C _020A4B3C: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A4B44 _020A4B44: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x34, 0x42, 0x00 .global _020A4B4C _020A4B4C: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4B54 _020A4B54: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4B5C _020A4B5C: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4B64 _020A4B64: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x31, 0x42, 0x00 .global _020A4B6C _020A4B6C: .byte 0x53, 0x31, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4B74 _020A4B74: .byte 0x53, 0x31, 0x31, 0x50, 0x30, 0x32, 0x43, 0x00 .global _020A4B7C _020A4B7C: .byte 0x53, 0x31, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4B84 _020A4B84: .byte 0x53, 0x30, 0x38, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4B8C _020A4B8C: .byte 0x53, 0x30, 0x37, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4B94 _020A4B94: .byte 0x53, 0x30, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4B9C _020A4B9C: .byte 0x53, 0x30, 0x36, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4BA4 _020A4BA4: .byte 0x53, 0x30, 0x35, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4BAC _020A4BAC: .byte 0x53, 0x30, 0x35, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4BB4 _020A4BB4: .byte 0x53, 0x30, 0x35, 0x50, 0x30, 0x32, 0x43, 0x00 .global _020A4BBC _020A4BBC: .byte 0x53, 0x30, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4BC4 _020A4BC4: .byte 0x53, 0x30, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4BCC _020A4BCC: .byte 0x53, 0x30, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4BD4 _020A4BD4: .byte 0x53, 0x30, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4BDC _020A4BDC: .byte 0x53, 0x30, 0x31, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4BE4 _020A4BE4: .byte 0x53, 0x30, 0x31, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4BEC _020A4BEC: .byte 0x53, 0x30, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4BF4 _020A4BF4: .byte 0x53, 0x30, 0x31, 0x50, 0x30, 0x31, 0x42, 0x00 .global _020A4BFC _020A4BFC: .byte 0x53, 0x30, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C04 _020A4C04: .byte 0x50, 0x32, 0x38, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C0C _020A4C0C: .byte 0x50, 0x32, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C14 _020A4C14: .byte 0x50, 0x32, 0x36, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C1C _020A4C1C: .byte 0x50, 0x32, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C24 _020A4C24: .byte 0x50, 0x32, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C2C _020A4C2C: .byte 0x50, 0x32, 0x33, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4C34 _020A4C34: .byte 0x50, 0x32, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C3C _020A4C3C: .byte 0x50, 0x32, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C44 _020A4C44: .byte 0x50, 0x32, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4C4C _020A4C4C: .byte 0x50, 0x32, 0x30, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4C54 _020A4C54: .byte 0x50, 0x32, 0x30, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4C5C _020A4C5C: .byte 0x50, 0x32, 0x30, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C64 _020A4C64: .byte 0x50, 0x31, 0x39, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4C6C _020A4C6C: .byte 0x50, 0x31, 0x39, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C74 _020A4C74: .byte 0x50, 0x31, 0x38, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C7C _020A4C7C: .byte 0x50, 0x31, 0x37, 0x50, 0x30, 0x32, 0x43, 0x00 .global _020A4C84 _020A4C84: .byte 0x50, 0x31, 0x37, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4C8C _020A4C8C: .byte 0x50, 0x31, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C94 _020A4C94: .byte 0x50, 0x31, 0x36, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4C9C _020A4C9C: .byte 0x50, 0x31, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CA4 _020A4CA4: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x38, 0x41, 0x00 .global _020A4CAC _020A4CAC: .byte 0x50, 0x31, 0x34, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CB4 _020A4CB4: .byte 0x50, 0x31, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CBC _020A4CBC: .byte 0x50, 0x31, 0x32, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4CC4 _020A4CC4: .byte 0x50, 0x31, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CCC _020A4CCC: .byte 0x50, 0x31, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CD4 _020A4CD4: .byte 0x50, 0x31, 0x30, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CDC _020A4CDC: .byte 0x44, 0x32, 0x30, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A4CE4 _020A4CE4: .byte 0x50, 0x30, 0x38, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CEC _020A4CEC: .byte 0x50, 0x30, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CF4 _020A4CF4: .byte 0x50, 0x30, 0x36, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4CFC _020A4CFC: .byte 0x50, 0x30, 0x35, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4D04 _020A4D04: .byte 0x50, 0x30, 0x35, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4D0C _020A4D0C: .byte 0x56, 0x30, 0x33, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4D14 _020A4D14: .byte 0x50, 0x30, 0x35, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4D1C _020A4D1C: .byte 0x50, 0x30, 0x35, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4D24 _020A4D24: .byte 0x50, 0x30, 0x34, 0x50, 0x30, 0x31, 0x43, 0x00 .global _020A4D2C _020A4D2C: .byte 0x50, 0x30, 0x33, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4D34 _020A4D34: .byte 0x50, 0x30, 0x33, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4D3C _020A4D3C: .byte 0x50, 0x30, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4D44 _020A4D44: .byte 0x50, 0x30, 0x31, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4D4C _020A4D4C: .byte 0x50, 0x30, 0x31, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4D54 _020A4D54: .byte 0x50, 0x30, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4D5C _020A4D5C: .byte 0x50, 0x30, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4D64 _020A4D64: .byte 0x48, 0x30, 0x32, 0x50, 0x39, 0x39, 0x43, 0x00 .global _020A4D6C _020A4D6C: .byte 0x48, 0x30, 0x32, 0x50, 0x39, 0x39, 0x41, 0x00 .global _020A4D74 _020A4D74: .byte 0x48, 0x30, 0x31, 0x50, 0x39, 0x39, 0x45, 0x00 .global _020A4D7C _020A4D7C: .byte 0x48, 0x30, 0x31, 0x50, 0x39, 0x39, 0x44, 0x00 .global _020A4D84 _020A4D84: .byte 0x56, 0x30, 0x32, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4D8C _020A4D8C: .byte 0x48, 0x30, 0x31, 0x50, 0x39, 0x39, 0x41, 0x00 .global _020A4D94 _020A4D94: .byte 0x47, 0x30, 0x31, 0x50, 0x31, 0x30, 0x43, 0x00 .global _020A4D9C _020A4D9C: .byte 0x47, 0x30, 0x31, 0x50, 0x31, 0x30, 0x41, 0x00 .global _020A4DA4 _020A4DA4: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x39, 0x43, 0x00 .global _020A4DAC _020A4DAC: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x39, 0x41, 0x00 .global _020A4DB4 _020A4DB4: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x38, 0x41, 0x00 .global _020A4DBC _020A4DBC: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x37, 0x43, 0x00 .global _020A4DC4 _020A4DC4: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x37, 0x41, 0x00 .global _020A4DCC _020A4DCC: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x36, 0x42, 0x00 .global _020A4DD4 _020A4DD4: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x36, 0x41, 0x00 .global _020A4DDC _020A4DDC: .byte 0x44, 0x37, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4DE4 _020A4DE4: .byte 0x53, 0x31, 0x35, 0x50, 0x30, 0x35, 0x42, 0x00 .global _020A4DEC _020A4DEC: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x33, 0x42, 0x00 .global _020A4DF4 _020A4DF4: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x34, 0x43, 0x00 .global _020A4DFC _020A4DFC: .byte 0x56, 0x30, 0x31, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4E04 _020A4E04: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4E0C _020A4E0C: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x33, 0x41, 0x00 .global _020A4E14 _020A4E14: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A4E1C _020A4E1C: .byte 0x44, 0x37, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E24 _020A4E24: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x31, 0x43, 0x00 .global _020A4E2C _020A4E2C: .byte 0x54, 0x30, 0x31, 0x50, 0x30, 0x34, 0x41, 0x00 .global _020A4E34 _020A4E34: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x31, 0x42, 0x00 .global _020A4E3C _020A4E3C: .byte 0x44, 0x37, 0x39, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A4E44 _020A4E44: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4E4C _020A4E4C: .byte 0x44, 0x39, 0x35, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E54 _020A4E54: .byte 0x44, 0x39, 0x34, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E5C _020A4E5C: .byte 0x44, 0x39, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E64 _020A4E64: .byte 0x44, 0x39, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E6C _020A4E6C: .byte 0x44, 0x39, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E74 _020A4E74: .byte 0x44, 0x39, 0x30, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E7C _020A4E7C: .byte 0x44, 0x38, 0x39, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E84 _020A4E84: .byte 0x44, 0x38, 0x38, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E8C _020A4E8C: .byte 0x44, 0x38, 0x37, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E94 _020A4E94: .byte 0x44, 0x38, 0x36, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4E9C _020A4E9C: .byte 0x44, 0x38, 0x35, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4EA4 _020A4EA4: .byte 0x44, 0x38, 0x34, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4EAC _020A4EAC: .byte 0x44, 0x38, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4EB4 _020A4EB4: .byte 0x44, 0x38, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4EBC _020A4EBC: .byte 0x44, 0x38, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4EC4 _020A4EC4: .byte 0x44, 0x38, 0x30, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4ECC _020A4ECC: .byte 0x44, 0x37, 0x39, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4ED4 _020A4ED4: .byte 0x44, 0x37, 0x39, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A4EDC _020A4EDC: .byte 0x53, 0x31, 0x37, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4EE4 _020A4EE4: .byte 0x56, 0x31, 0x39, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A4EEC _020A4EEC: .byte 0x56, 0x32, 0x36, 0x50, 0x30, 0x35, 0x41, 0x00 .global _020A4EF4 _020A4EF4: .byte 0x44, 0x37, 0x30, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4EFC _020A4EFC: .byte 0x44, 0x36, 0x39, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F04 _020A4F04: .byte 0x44, 0x36, 0x38, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F0C _020A4F0C: .byte 0x44, 0x36, 0x37, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F14 _020A4F14: .byte 0x44, 0x36, 0x36, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F1C _020A4F1C: .byte 0x44, 0x36, 0x35, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F24 _020A4F24: .byte 0x44, 0x37, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F2C _020A4F2C: .byte 0x44, 0x37, 0x33, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A4F34 _020A4F34: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x39, 0x41, 0x00 .global _020A4F3C _020A4F3C: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x38, 0x41, 0x00 .global _020A4F44 _020A4F44: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x37, 0x41, 0x00 .global _020A4F4C _020A4F4C: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x36, 0x41, 0x00 .global _020A4F54 _020A4F54: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x35, 0x41, 0x00 .global _020A4F5C _020A4F5C: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x34, 0x41, 0x00 .global _020A4F64 _020A4F64: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x33, 0x41, 0x00 .global _020A4F6C _020A4F6C: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x32, 0x41, 0x00 .global _020A4F74 _020A4F74: .byte 0x44, 0x37, 0x33, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A4F7C _020A4F7C: .byte 0x44, 0x37, 0x33, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A4F84 _020A4F84: .byte 0x44, 0x36, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F8C _020A4F8C: .byte 0x44, 0x36, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F94 _020A4F94: .byte 0x44, 0x36, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4F9C _020A4F9C: .byte 0x44, 0x36, 0x30, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4FA4 _020A4FA4: .byte 0x44, 0x35, 0x39, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4FAC _020A4FAC: .byte 0x44, 0x35, 0x38, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4FB4 _020A4FB4: .byte 0x44, 0x35, 0x37, 0x50, 0x34, 0x34, 0x41, 0x00 .global _020A4FBC _020A4FBC: .byte 0x44, 0x35, 0x37, 0x50, 0x34, 0x33, 0x41, 0x00 .global _020A4FC4 _020A4FC4: .byte 0x44, 0x35, 0x37, 0x50, 0x34, 0x32, 0x41, 0x00 .global _020A4FCC _020A4FCC: .byte 0x44, 0x35, 0x37, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4FD4 _020A4FD4: .byte 0x44, 0x35, 0x37, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A4FDC _020A4FDC: .byte 0x44, 0x35, 0x36, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A4FE4 _020A4FE4: .byte 0x44, 0x35, 0x36, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A4FEC _020A4FEC: .byte 0x44, 0x35, 0x36, 0x50, 0x31, 0x32, 0x41, 0x00 .global _020A4FF4 _020A4FF4: .byte 0x44, 0x35, 0x36, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A4FFC _020A4FFC: .byte 0x44, 0x35, 0x35, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5004 _020A5004: .byte 0x44, 0x35, 0x35, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A500C _020A500C: .byte 0x44, 0x35, 0x35, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5014 _020A5014: .byte 0x44, 0x35, 0x34, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A501C _020A501C: .byte 0x44, 0x35, 0x34, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A5024 _020A5024: .byte 0x44, 0x35, 0x34, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A502C _020A502C: .byte 0x44, 0x35, 0x33, 0x50, 0x34, 0x31, 0x43, 0x00 .global _020A5034 _020A5034: .byte 0x44, 0x35, 0x33, 0x50, 0x34, 0x31, 0x42, 0x00 .global _020A503C _020A503C: .byte 0x44, 0x35, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5044 _020A5044: .byte 0x44, 0x35, 0x33, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A504C _020A504C: .byte 0x44, 0x35, 0x33, 0x50, 0x31, 0x31, 0x42, 0x00 .global _020A5054 _020A5054: .byte 0x44, 0x35, 0x33, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A505C _020A505C: .byte 0x44, 0x35, 0x32, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A5064 _020A5064: .byte 0x44, 0x35, 0x32, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A506C _020A506C: .byte 0x44, 0x35, 0x32, 0x50, 0x31, 0x31, 0x43, 0x00 .global _020A5074 _020A5074: .byte 0x44, 0x35, 0x32, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A507C _020A507C: .byte 0x44, 0x35, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5084 _020A5084: .byte 0x44, 0x35, 0x31, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A508C _020A508C: .byte 0x44, 0x35, 0x31, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5094 _020A5094: .byte 0x44, 0x35, 0x30, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A509C _020A509C: .byte 0x44, 0x34, 0x39, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A50A4 _020A50A4: .byte 0x44, 0x34, 0x38, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A50AC _020A50AC: .byte 0x44, 0x34, 0x38, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A50B4 _020A50B4: .byte 0x44, 0x34, 0x37, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A50BC _020A50BC: .byte 0x44, 0x34, 0x36, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A50C4 _020A50C4: .byte 0x44, 0x34, 0x36, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A50CC _020A50CC: .byte 0x44, 0x34, 0x36, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A50D4 _020A50D4: .byte 0x44, 0x34, 0x36, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A50DC _020A50DC: .byte 0x44, 0x34, 0x35, 0x50, 0x34, 0x32, 0x41, 0x00 .global _020A50E4 _020A50E4: .byte 0x44, 0x34, 0x35, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A50EC _020A50EC: .byte 0x44, 0x34, 0x35, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A50F4 _020A50F4: .byte 0x44, 0x34, 0x34, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A50FC _020A50FC: .byte 0x44, 0x34, 0x33, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A5104 _020A5104: .byte 0x44, 0x34, 0x32, 0x50, 0x34, 0x32, 0x41, 0x00 .global _020A510C _020A510C: .byte 0x44, 0x34, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5114 _020A5114: .byte 0x44, 0x34, 0x32, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A511C _020A511C: .byte 0x44, 0x34, 0x32, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5124 _020A5124: .byte 0x44, 0x34, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A512C _020A512C: .byte 0x44, 0x34, 0x31, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5134 _020A5134: .byte 0x44, 0x34, 0x30, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A513C _020A513C: .byte 0x44, 0x33, 0x39, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5144 _020A5144: .byte 0x44, 0x33, 0x39, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A514C _020A514C: .byte 0x44, 0x33, 0x39, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5154 _020A5154: .byte 0x44, 0x33, 0x38, 0x50, 0x31, 0x32, 0x41, 0x00 .global _020A515C _020A515C: .byte 0x44, 0x33, 0x38, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5164 _020A5164: .byte 0x44, 0x33, 0x37, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A516C _020A516C: .byte 0x44, 0x33, 0x37, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5174 _020A5174: .byte 0x44, 0x33, 0x36, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A517C _020A517C: .byte 0x44, 0x33, 0x36, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5184 _020A5184: .byte 0x44, 0x33, 0x35, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A518C _020A518C: .byte 0x44, 0x33, 0x35, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5194 _020A5194: .byte 0x44, 0x33, 0x34, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A519C _020A519C: .byte 0x44, 0x33, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A51A4 _020A51A4: .byte 0x44, 0x33, 0x32, 0x50, 0x34, 0x34, 0x41, 0x00 .global _020A51AC _020A51AC: .byte 0x44, 0x33, 0x32, 0x50, 0x34, 0x33, 0x41, 0x00 .global _020A51B4 _020A51B4: .byte 0x44, 0x33, 0x32, 0x50, 0x34, 0x32, 0x41, 0x00 .global _020A51BC _020A51BC: .byte 0x44, 0x33, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A51C4 _020A51C4: .byte 0x44, 0x33, 0x32, 0x50, 0x33, 0x33, 0x41, 0x00 .global _020A51CC _020A51CC: .byte 0x44, 0x33, 0x32, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A51D4 _020A51D4: .byte 0x44, 0x33, 0x32, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A51DC _020A51DC: .byte 0x44, 0x33, 0x32, 0x50, 0x31, 0x34, 0x41, 0x00 .global _020A51E4 _020A51E4: .byte 0x44, 0x33, 0x32, 0x50, 0x31, 0x33, 0x41, 0x00 .global _020A51EC _020A51EC: .byte 0x44, 0x33, 0x32, 0x50, 0x31, 0x32, 0x41, 0x00 .global _020A51F4 _020A51F4: .byte 0x44, 0x33, 0x32, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A51FC _020A51FC: .byte 0x44, 0x33, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5204 _020A5204: .byte 0x44, 0x33, 0x31, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A520C _020A520C: .byte 0x44, 0x33, 0x31, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5214 _020A5214: .byte 0x44, 0x33, 0x30, 0x50, 0x34, 0x32, 0x41, 0x00 .global _020A521C _020A521C: .byte 0x44, 0x33, 0x30, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5224 _020A5224: .byte 0x44, 0x33, 0x30, 0x50, 0x33, 0x34, 0x41, 0x00 .global _020A522C _020A522C: .byte 0x44, 0x33, 0x30, 0x50, 0x33, 0x33, 0x41, 0x00 .global _020A5234 _020A5234: .byte 0x44, 0x33, 0x30, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A523C _020A523C: .byte 0x44, 0x33, 0x30, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5244 _020A5244: .byte 0x44, 0x32, 0x39, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A524C _020A524C: .byte 0x44, 0x32, 0x38, 0x50, 0x34, 0x34, 0x41, 0x00 .global _020A5254 _020A5254: .byte 0x44, 0x32, 0x38, 0x50, 0x33, 0x34, 0x41, 0x00 .global _020A525C _020A525C: .byte 0x44, 0x32, 0x38, 0x50, 0x33, 0x33, 0x43, 0x00 .global _020A5264 _020A5264: .byte 0x44, 0x32, 0x38, 0x50, 0x33, 0x33, 0x41, 0x00 .global _020A526C _020A526C: .byte 0x44, 0x32, 0x38, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A5274 _020A5274: .byte 0x44, 0x32, 0x38, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A527C _020A527C: .byte 0x44, 0x32, 0x38, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5284 _020A5284: .byte 0x44, 0x32, 0x37, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A528C _020A528C: .byte 0x44, 0x32, 0x36, 0x50, 0x34, 0x33, 0x41, 0x00 .global _020A5294 _020A5294: .byte 0x44, 0x32, 0x36, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A529C _020A529C: .byte 0x44, 0x32, 0x36, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A52A4 _020A52A4: .byte 0x44, 0x32, 0x35, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A52AC _020A52AC: .byte 0x44, 0x32, 0x34, 0x50, 0x33, 0x31, 0x42, 0x00 .global _020A52B4 _020A52B4: .byte 0x44, 0x32, 0x34, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A52BC _020A52BC: .byte 0x44, 0x32, 0x34, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A52C4 _020A52C4: .byte 0x44, 0x32, 0x33, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A52CC _020A52CC: .byte 0x44, 0x32, 0x32, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A52D4 _020A52D4: .byte 0x44, 0x32, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A52DC _020A52DC: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x32, 0x41, 0x00 .global _020A52E4 _020A52E4: .byte 0x56, 0x33, 0x38, 0x50, 0x30, 0x38, 0x41, 0x00 .global _020A52EC _020A52EC: .byte 0x44, 0x31, 0x39, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A52F4 _020A52F4: .byte 0x44, 0x31, 0x38, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A52FC _020A52FC: .byte 0x44, 0x31, 0x37, 0x50, 0x34, 0x35, 0x41, 0x00 .global _020A5304 _020A5304: .byte 0x44, 0x31, 0x37, 0x50, 0x33, 0x34, 0x41, 0x00 .global _020A530C _020A530C: .byte 0x44, 0x31, 0x37, 0x50, 0x33, 0x33, 0x41, 0x00 .global _020A5314 _020A5314: .byte 0x44, 0x31, 0x37, 0x50, 0x33, 0x32, 0x41, 0x00 .global _020A531C _020A531C: .byte 0x44, 0x31, 0x37, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A5324 _020A5324: .byte 0x44, 0x31, 0x37, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A532C _020A532C: .byte 0x44, 0x31, 0x36, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A5334 _020A5334: .byte 0x44, 0x31, 0x36, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A533C _020A533C: .byte 0x44, 0x31, 0x35, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5344 _020A5344: .byte 0x44, 0x31, 0x35, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A534C _020A534C: .byte 0x44, 0x31, 0x34, 0x50, 0x31, 0x32, 0x41, 0x00 .global _020A5354 _020A5354: .byte 0x44, 0x31, 0x34, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A535C _020A535C: .byte 0x44, 0x31, 0x33, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5364 _020A5364: .byte 0x44, 0x31, 0x32, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A536C _020A536C: .byte 0x44, 0x31, 0x32, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A5374 _020A5374: .byte 0x44, 0x31, 0x31, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A537C _020A537C: .byte 0x44, 0x31, 0x30, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A5384 _020A5384: .byte 0x44, 0x31, 0x30, 0x50, 0x32, 0x31, 0x41, 0x00 .global _020A538C _020A538C: .byte 0x44, 0x30, 0x39, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A5394 _020A5394: .byte 0x44, 0x30, 0x38, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A539C _020A539C: .byte 0x44, 0x30, 0x37, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A53A4 _020A53A4: .byte 0x44, 0x30, 0x36, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A53AC _020A53AC: .byte 0x44, 0x30, 0x35, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A53B4 _020A53B4: .byte 0x44, 0x30, 0x35, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A53BC _020A53BC: .byte 0x44, 0x30, 0x34, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A53C4 _020A53C4: .byte 0x44, 0x30, 0x34, 0x50, 0x31, 0x32, 0x41, 0x00 .global _020A53CC _020A53CC: .byte 0x44, 0x30, 0x34, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A53D4 _020A53D4: .byte 0x44, 0x30, 0x33, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A53DC _020A53DC: .byte 0x44, 0x30, 0x33, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A53E4 _020A53E4: .byte 0x44, 0x30, 0x32, 0x50, 0x33, 0x31, 0x41, 0x00 .global _020A53EC _020A53EC: .byte 0x44, 0x30, 0x32, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A53F4 _020A53F4: .byte 0x44, 0x30, 0x31, 0x50, 0x34, 0x31, 0x41, 0x00 .global _020A53FC _020A53FC: .byte 0x44, 0x30, 0x31, 0x50, 0x31, 0x31, 0x42, 0x00 .global _020A5404 _020A5404: .byte 0x44, 0x30, 0x31, 0x50, 0x31, 0x31, 0x41, 0x00 .global _020A540C _020A540C: .byte 0x56, 0x33, 0x39, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A5414 _020A5414: .byte 0x53, 0x30, 0x30, 0x50, 0x30, 0x31, 0x41, 0x00 .global _020A541C _020A541C: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x31, 0x41, 0x32 .byte 0x00, 0x00, 0x00, 0x00 .global _020A5428 _020A5428: .byte 0x54, 0x30, 0x31, 0x50, 0x30, 0x33, 0x41, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A5434 _020A5434: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x31, 0x42, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A5440 _020A5440: .byte 0x47, 0x30, 0x31, 0x50 .byte 0x30, 0x31, 0x43, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A544C _020A544C: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x34, 0x41, 0x32 .byte 0x00, 0x00, 0x00, 0x00 .global _020A5458 _020A5458: .byte 0x47, 0x30, 0x31, 0x50, 0x30, 0x34, 0x43, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A5464 _020A5464: .byte 0x54, 0x30, 0x30, 0x50, 0x30, 0x34, 0x41, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A5470 _020A5470: .byte 0x50, 0x30, 0x35, 0x50 .byte 0x30, 0x32, 0x41, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A547C _020A547C: .byte 0x50, 0x31, 0x34, 0x50, 0x30, 0x31, 0x41, 0x32 .byte 0x00, 0x00, 0x00, 0x00 .global EVENTS EVENTS: .byte 0x04, 0x00 .global _020A548A _020A548A: .byte 0xB9, 0x00, 0x00, 0x00, 0xFF, 0xFF .global _020A5490 _020A5490: .word _020A5414 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 .word _020A470C .byte 0x06, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0xFF, 0xFF .word _020A471C .byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0xFF, 0xFF .word _020A4714 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0xFF, 0xFF .word _020A48B4 .byte 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0xFF, 0xFF .word _020A5464 .byte 0x0B, 0x00, 0x01, 0x00 .byte 0x06, 0x00, 0xFF, 0xFF .word LEVEL_LIST .byte 0x0A, 0x00, 0x01, 0x00, 0x07, 0x00, 0xFF, 0xFF .word _020A46F4 .byte 0x06, 0x00, 0xBA, 0x00, 0x08, 0x00, 0xFF, 0xFF .word _020A4724 .byte 0x06, 0x00, 0xBA, 0x00, 0x09, 0x00, 0xFF, 0xFF .word _020A46FC .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x0A, 0x00, 0xFF, 0xFF .word _020A4704 .byte 0x06, 0x00, 0xC4, 0x00, 0x0B, 0x00, 0xFF, 0xFF .word _020A5404 .byte 0x06, 0x00, 0xC4, 0x00, 0x0C, 0x00, 0xFF, 0xFF .word _020A53FC .byte 0x01, 0x00, 0x02, 0x00, 0x0D, 0x00, 0xFF, 0xFF .word _020A53F4 .byte 0x06, 0x00, 0x04, 0x00 .byte 0x0E, 0x00, 0xFF, 0xFF .word _020A53EC .byte 0x06, 0x00, 0x04, 0x00, 0x0F, 0x00, 0xFF, 0xFF .word _020A53E4 .byte 0x06, 0x00, 0x05, 0x00, 0x10, 0x00, 0xFF, 0xFF .word _020A53DC .byte 0x01, 0x00, 0x05, 0x00, 0x11, 0x00, 0xFF, 0xFF .word _020A53D4 .byte 0x06, 0x00, 0x07, 0x00 .byte 0x12, 0x00, 0xFF, 0xFF .word _020A53CC .byte 0x06, 0x00, 0x07, 0x00, 0x13, 0x00, 0xFF, 0xFF .word _020A53C4 .byte 0x06, 0x00, 0x07, 0x00, 0x14, 0x00, 0xFF, 0xFF .word _020A53BC .byte 0x06, 0x00, 0x08, 0x00, 0x15, 0x00, 0xFF, 0xFF .word _020A53B4 .byte 0x06, 0x00, 0x08, 0x00 .byte 0x16, 0x00, 0xFF, 0xFF .word _020A53AC .byte 0x06, 0x00, 0xC5, 0x00, 0x17, 0x00, 0xFF, 0xFF .word _020A53A4 .byte 0x06, 0x00, 0xC6, 0x00, 0x18, 0x00, 0xFF, 0xFF .word _020A539C .byte 0x06, 0x00, 0xC7, 0x00, 0x19, 0x00, 0x07, 0x00 .word _020A5394 .byte 0x06, 0x00, 0xC8, 0x00 .byte 0x1A, 0x00, 0xFF, 0xFF .word _020A538C .byte 0x0A, 0x00, 0xC9, 0x00, 0x1B, 0x00, 0xFF, 0xFF .word _020A5384 .byte 0x01, 0x00, 0x0F, 0x00, 0x1C, 0x00, 0xFF, 0xFF .word _020A537C .byte 0x06, 0x00, 0x12, 0x00, 0x1D, 0x00, 0xFF, 0xFF .word _020A5374 .byte 0x0A, 0x00, 0xCA, 0x00 .byte 0x1E, 0x00, 0xFF, 0xFF .word _020A536C .byte 0x01, 0x00, 0x12, 0x00, 0x1F, 0x00, 0xFF, 0xFF .word _020A5364 .byte 0x06, 0x00, 0x15, 0x00, 0x20, 0x00, 0xFF, 0xFF .word _020A535C .byte 0x06, 0x00, 0x16, 0x00, 0x21, 0x00, 0xFF, 0xFF .word _020A5354 .byte 0x07, 0x00, 0x16, 0x00 .byte 0x22, 0x00, 0xFF, 0xFF .word _020A534C .byte 0x0A, 0x00, 0xCB, 0x00, 0x23, 0x00, 0xFF, 0xFF .word _020A5344 .byte 0x01, 0x00, 0xBC, 0x00, 0x24, 0x00, 0xFF, 0xFF .word _020A533C .byte 0x06, 0x00, 0x19, 0x00, 0x25, 0x00, 0xFF, 0xFF .word _020A5334 .byte 0x06, 0x00, 0xCC, 0x00 .byte 0x26, 0x00, 0xFF, 0xFF .word _020A532C .byte 0x06, 0x00, 0xBD, 0x00, 0x27, 0x00, 0xFF, 0xFF .word _020A5324 .byte 0x06, 0x00, 0xBD, 0x00, 0x28, 0x00, 0xFF, 0xFF .word _020A531C .byte 0x06, 0x00, 0xBD, 0x00, 0x29, 0x00, 0xFF, 0xFF .word _020A5314 .byte 0x06, 0x00, 0xBD, 0x00 .byte 0x2A, 0x00, 0xFF, 0xFF .word _020A530C .byte 0x06, 0x00, 0xBD, 0x00, 0x2B, 0x00, 0xFF, 0xFF .word _020A5304 .byte 0x01, 0x00, 0xBD, 0x00, 0x2C, 0x00, 0xFF, 0xFF .word _020A52FC .byte 0x06, 0x00, 0xCD, 0x00, 0x2D, 0x00, 0xFF, 0xFF .word _020A52F4 .byte 0x06, 0x00, 0xCE, 0x00 .byte 0x2E, 0x00, 0xFF, 0xFF .word _020A52EC .byte 0x06, 0x00, 0xCF, 0x00, 0x2F, 0x00, 0xFF, 0xFF .word _020A4CDC .byte 0x0A, 0x00, 0xD0, 0x00, 0x30, 0x00, 0xFF, 0xFF .word _020A49DC .byte 0x01, 0x00, 0x1E, 0x00, 0x31, 0x00, 0xFF, 0xFF .word _020A52D4 .byte 0x06, 0x00, 0xD1, 0x00 .byte 0x32, 0x00, 0xFF, 0xFF .word _020A52CC .byte 0x06, 0x00, 0xD3, 0x00, 0x33, 0x00, 0xFF, 0xFF .word _020A52C4 .byte 0x06, 0x00, 0xD4, 0x00, 0x34, 0x00, 0xFF, 0xFF .word _020A52BC .byte 0x07, 0x00, 0x23, 0x00, 0x35, 0x00, 0xFF, 0xFF .word _020A52B4 .byte 0x07, 0x00, 0x23, 0x00 .byte 0x36, 0x00, 0xFF, 0xFF .word _020A52AC .byte 0x06, 0x00, 0xD5, 0x00, 0x37, 0x00, 0xFF, 0xFF .word _020A52A4 .byte 0x0A, 0x00, 0xD6, 0x00, 0x38, 0x00, 0xFF, 0xFF .word _020A529C .byte 0x06, 0x00, 0x24, 0x00, 0x39, 0x00, 0xFF, 0xFF .word _020A5294 .byte 0x01, 0x00, 0x24, 0x00 .byte 0x3A, 0x00, 0xFF, 0xFF .word _020A528C .byte 0x06, 0x00, 0xD7, 0x00, 0x3B, 0x00, 0xFF, 0xFF .word _020A5284 .byte 0x0A, 0x00, 0xD8, 0x00, 0x3C, 0x00, 0xFF, 0xFF .word _020A527C .byte 0x06, 0x00, 0xBE, 0x00, 0x3D, 0x00, 0xFF, 0xFF .word _020A5274 .byte 0x06, 0x00, 0xBE, 0x00 .byte 0x3E, 0x00, 0xFF, 0xFF .word _020A526C .byte 0x06, 0x00, 0xBE, 0x00, 0x3F, 0x00, 0xFF, 0xFF .word _020A5264 .byte 0x06, 0x00, 0xBE, 0x00, 0x40, 0x00, 0xFF, 0xFF .word _020A525C .byte 0x06, 0x00, 0xBE, 0x00, 0x41, 0x00, 0xFF, 0xFF .word _020A5254 .byte 0x01, 0x00, 0xBE, 0x00 .byte 0x42, 0x00, 0xFF, 0xFF .word _020A524C .byte 0x06, 0x00, 0xD9, 0x00, 0x43, 0x00, 0xFF, 0xFF .word _020A5244 .byte 0x0A, 0x00, 0xDA, 0x00, 0x44, 0x00, 0xFF, 0xFF .word _020A523C .byte 0x06, 0x00, 0x2A, 0x00, 0x45, 0x00, 0xFF, 0xFF .word _020A5234 .byte 0x06, 0x00, 0x2A, 0x00 .byte 0x46, 0x00, 0xFF, 0xFF .word _020A522C .byte 0x06, 0x00, 0x2A, 0x00, 0x47, 0x00, 0xFF, 0xFF .word _020A5224 .byte 0x01, 0x00, 0x2A, 0x00, 0x48, 0x00, 0xFF, 0xFF .word _020A521C .byte 0x01, 0x00, 0x2A, 0x00, 0x49, 0x00, 0xFF, 0xFF .word _020A5214 .byte 0x06, 0x00, 0xDB, 0x00 .byte 0x4A, 0x00, 0xFF, 0xFF .word _020A520C .byte 0x06, 0x00, 0x2D, 0x00, 0x4B, 0x00, 0xFF, 0xFF .word _020A5204 .byte 0x01, 0x00, 0x2D, 0x00, 0x4C, 0x00, 0xFF, 0xFF .word _020A51FC .byte 0x0A, 0x00, 0xDC, 0x00, 0x4D, 0x00, 0xFF, 0xFF .word _020A51F4 .byte 0x0A, 0x00, 0xDD, 0x00 .byte 0x4E, 0x00, 0xFF, 0xFF .word _020A51EC .byte 0x0A, 0x00, 0xDE, 0x00, 0x4F, 0x00, 0xFF, 0xFF .word _020A51E4 .byte 0x07, 0x00, 0x37, 0x00, 0x50, 0x00, 0xFF, 0xFF .word _020A51DC .byte 0x0A, 0x00, 0x37, 0x00, 0x51, 0x00, 0xFF, 0xFF .word _020A51D4 .byte 0x0A, 0x00, 0x37, 0x00 .byte 0x52, 0x00, 0xFF, 0xFF .word _020A51CC .byte 0x0A, 0x00, 0x37, 0x00, 0x53, 0x00, 0xFF, 0xFF .word _020A51C4 .byte 0x0B, 0x00, 0x37, 0x00, 0x54, 0x00, 0xFF, 0xFF .word _020A51BC .byte 0x0B, 0x00, 0x37, 0x00, 0x55, 0x00, 0xFF, 0xFF .word _020A51B4 .byte 0x0B, 0x00, 0x37, 0x00 .byte 0x56, 0x00, 0xFF, 0xFF .word _020A51AC .byte 0x01, 0x00, 0x37, 0x00, 0x57, 0x00, 0xFF, 0xFF .word _020A51A4 .byte 0x0B, 0x00, 0x47, 0x00, 0x58, 0x00, 0xFF, 0xFF .word _020A519C .byte 0x0A, 0x00, 0x33, 0x00, 0x59, 0x00, 0xFF, 0xFF .word _020A5194 .byte 0x0A, 0x00, 0xDF, 0x00 .byte 0x5A, 0x00, 0xFF, 0xFF .word _020A518C .byte 0x0B, 0x00, 0x34, 0x00, 0x5B, 0x00, 0xFF, 0xFF .word _020A5184 .byte 0x01, 0x00, 0x3F, 0x00, 0x5C, 0x00, 0xFF, 0xFF .word _020A517C .byte 0x06, 0x00, 0x3F, 0x00, 0x5D, 0x00, 0xFF, 0xFF .word _020A5174 .byte 0x0A, 0x00, 0x40, 0x00 .byte 0x5E, 0x00, 0xFF, 0xFF .word _020A516C .byte 0x0A, 0x00, 0x40, 0x00, 0x5F, 0x00, 0xFF, 0xFF .word _020A5164 .byte 0x0A, 0x00, 0x41, 0x00, 0x60, 0x00, 0xFF, 0xFF .word _020A515C .byte 0x0A, 0x00, 0xE0, 0x00, 0x61, 0x00, 0xFF, 0xFF .word _020A5154 .byte 0x0A, 0x00, 0xE1, 0x00 .byte 0x62, 0x00, 0xFF, 0xFF .word _020A514C .byte 0x0A, 0x00, 0x41, 0x00, 0x63, 0x00, 0xFF, 0xFF .word _020A5144 .byte 0x0B, 0x00, 0x41, 0x00, 0x64, 0x00, 0xFF, 0xFF .word _020A513C .byte 0x06, 0x00, 0x44, 0x00, 0x65, 0x00, 0xFF, 0xFF .word _020A5134 .byte 0x0A, 0x00, 0xE2, 0x00 .byte 0x66, 0x00, 0xFF, 0xFF .word _020A512C .byte 0x01, 0x00, 0x44, 0x00, 0x67, 0x00, 0xFF, 0xFF .word _020A5124 .byte 0x0A, 0x00, 0xE3, 0x00, 0x68, 0x00, 0xFF, 0xFF .word _020A511C .byte 0x06, 0x00, 0xE4, 0x00, 0x69, 0x00, 0xFF, 0xFF .word _020A5114 .byte 0x01, 0x00, 0xE5, 0x00 .byte 0x6A, 0x00, 0xFF, 0xFF .word _020A510C .byte 0x01, 0x00, 0xE6, 0x00, 0x6B, 0x00, 0xFF, 0xFF .word _020A5104 .byte 0x07, 0x00, 0x7C, 0x00, 0x6C, 0x00, 0xFF, 0xFF .word _020A50FC .byte 0x06, 0x00, 0x7C, 0x00, 0x6D, 0x00, 0xFF, 0xFF .word _020A50F4 .byte 0x0A, 0x00, 0xE7, 0x00 .byte 0x6E, 0x00, 0xFF, 0xFF .word _020A50EC .byte 0x06, 0x00, 0x83, 0x00, 0x6F, 0x00, 0xFF, 0xFF .word _020A50E4 .byte 0x01, 0x00, 0xE8, 0x00, 0x70, 0x00, 0xFF, 0xFF .word _020A50DC .byte 0x06, 0x00, 0xE9, 0x00, 0x71, 0x00, 0xFF, 0xFF .word _020A50D4 .byte 0x0A, 0x00, 0xEA, 0x00 .byte 0x72, 0x00, 0xFF, 0xFF .word _020A50CC .byte 0x01, 0x00, 0xEB, 0x00, 0x73, 0x00, 0xFF, 0xFF .word _020A50C4 .byte 0x01, 0x00, 0xEC, 0x00, 0x74, 0x00, 0xFF, 0xFF .word _020A50BC .byte 0x06, 0x00, 0xED, 0x00, 0x75, 0x00, 0xFF, 0xFF .word _020A50B4 .byte 0x06, 0x00, 0xEE, 0x00 .byte 0x76, 0x00, 0xFF, 0xFF .word _020A50AC .byte 0x0A, 0x00, 0xEF, 0x00, 0x77, 0x00, 0xFF, 0xFF .word _020A50A4 .byte 0x01, 0x00, 0xF0, 0x00, 0x78, 0x00, 0xFF, 0xFF .word _020A509C .byte 0x06, 0x00, 0xF1, 0x00, 0x79, 0x00, 0xFF, 0xFF .word _020A5094 .byte 0x06, 0x00, 0xF2, 0x00 .byte 0x7A, 0x00, 0xFF, 0xFF .word _020A508C .byte 0x0A, 0x00, 0xF3, 0x00, 0x7B, 0x00, 0xFF, 0xFF .word _020A5084 .byte 0x01, 0x00, 0xF4, 0x00, 0x7C, 0x00, 0xFF, 0xFF .word _020A507C .byte 0x06, 0x00, 0xF5, 0x00, 0x7D, 0x00, 0xFF, 0xFF .word _020A5074 .byte 0x06, 0x00, 0xF5, 0x00 .byte 0x7E, 0x00, 0xFF, 0xFF .word _020A506C .byte 0x06, 0x00, 0xF6, 0x00, 0x7F, 0x00, 0xFF, 0xFF .word _020A5064 .byte 0x07, 0x00, 0xF7, 0x00, 0x80, 0x00, 0xFF, 0xFF .word _020A505C .byte 0x06, 0x00, 0xF8, 0x00, 0x81, 0x00, 0xFF, 0xFF .word _020A5054 .byte 0x06, 0x00, 0xF8, 0x00 .byte 0x82, 0x00, 0xFF, 0xFF .word _020A504C .byte 0x0A, 0x00, 0xF9, 0x00, 0x83, 0x00, 0xFF, 0xFF .word _020A5044 .byte 0x01, 0x00, 0xFA, 0x00, 0x84, 0x00, 0xFF, 0xFF .word _020A503C .byte 0x01, 0x00, 0xFA, 0x00, 0x85, 0x00, 0xFF, 0xFF .word _020A5034 .byte 0x01, 0x00, 0xFA, 0x00 .byte 0x86, 0x00, 0xFF, 0xFF .word _020A502C .byte 0x06, 0x00, 0xFB, 0x00, 0x87, 0x00, 0xFF, 0xFF .word _020A5024 .byte 0x06, 0x00, 0x96, 0x00, 0x88, 0x00, 0xFF, 0xFF .word _020A501C .byte 0x06, 0x00, 0x96, 0x00, 0x89, 0x00, 0xFF, 0xFF .word _020A5014 .byte 0x06, 0x00, 0xFC, 0x00 .byte 0x8A, 0x00, 0xFF, 0xFF .word _020A500C .byte 0x0A, 0x00, 0xFD, 0x00, 0x8B, 0x00, 0xFF, 0xFF .word _020A5004 .byte 0x01, 0x00, 0xFE, 0x00, 0x8C, 0x00, 0xFF, 0xFF .word _020A4FFC .byte 0x06, 0x00, 0xFF, 0x00, 0x8D, 0x00, 0xFF, 0xFF .word _020A4FF4 .byte 0x06, 0x00, 0x9C, 0x00 .byte 0x8E, 0x00, 0xFF, 0xFF .word _020A4FEC .byte 0x0A, 0x00, 0x00, 0x01, 0x8F, 0x00, 0xFF, 0xFF .word _020A4FE4 .byte 0x01, 0x00, 0x01, 0x01, 0x90, 0x00, 0xFF, 0xFF .word _020A4FDC .byte 0x0A, 0x00, 0x02, 0x01, 0x91, 0x00, 0xFF, 0xFF .word _020A4FD4 .byte 0x01, 0x00, 0x03, 0x01 .byte 0x92, 0x00, 0xFF, 0xFF .word _020A4FCC .byte 0x01, 0x00, 0x04, 0x01, 0x93, 0x00, 0xFF, 0xFF .word _020A4FC4 .byte 0x01, 0x00, 0x05, 0x01, 0x94, 0x00, 0xFF, 0xFF .word _020A4FBC .byte 0x01, 0x00, 0x06, 0x01, 0x95, 0x00, 0xFF, 0xFF .word _020A4FB4 .byte 0x0A, 0x00, 0x68, 0x00 .byte 0x96, 0x00, 0xFF, 0xFF .word _020A4FAC .byte 0x0A, 0x00, 0x6C, 0x00, 0x97, 0x00, 0xFF, 0xFF .word _020A4FA4 .byte 0x0A, 0x00, 0x6D, 0x00, 0x98, 0x00, 0xFF, 0xFF .word _020A4F9C .byte 0x0A, 0x00, 0x6E, 0x00, 0x99, 0x00, 0xFF, 0xFF .word _020A4F94 .byte 0x0A, 0x00, 0x6F, 0x00 .byte 0x9A, 0x00, 0xFF, 0xFF .word _020A4F8C .byte 0x0A, 0x00, 0x69, 0x00, 0x9B, 0x00, 0xFF, 0xFF .word _020A4F84 .byte 0x06, 0x00, 0x07, 0x01, 0x9C, 0x00, 0xFF, 0xFF .word _020A4F7C .byte 0x0A, 0x00, 0x08, 0x01, 0x9D, 0x00, 0xFF, 0xFF .word _020A4F74 .byte 0x0A, 0x00, 0x09, 0x01 .byte 0x9E, 0x00, 0xFF, 0xFF .word _020A4F6C .byte 0x0A, 0x00, 0x0A, 0x01, 0x9F, 0x00, 0xFF, 0xFF .word _020A4F64 .byte 0x0A, 0x00, 0x0B, 0x01, 0xA0, 0x00, 0xFF, 0xFF .word _020A4F5C .byte 0x0A, 0x00, 0x0C, 0x01, 0xA1, 0x00, 0xFF, 0xFF .word _020A4F54 .byte 0x0A, 0x00, 0x0D, 0x01 .byte 0xA2, 0x00, 0xFF, 0xFF .word _020A4F4C .byte 0x0A, 0x00, 0x0E, 0x01, 0xA3, 0x00, 0xFF, 0xFF .word _020A4F44 .byte 0x06, 0x00, 0x0F, 0x01, 0xA4, 0x00, 0xFF, 0xFF .word _020A4F3C .byte 0x0A, 0x00, 0x10, 0x01, 0xA5, 0x00, 0xFF, 0xFF .word _020A4F34 .byte 0x06, 0x00, 0x11, 0x01 .byte 0xA6, 0x00, 0xFF, 0xFF .word _020A4F2C .byte 0x01, 0x00, 0x12, 0x01, 0xA7, 0x00, 0xFF, 0xFF .word _020A4F24 .byte 0x0B, 0x00, 0x51, 0x00, 0xA8, 0x00, 0xFF, 0xFF .word _020A4F1C .byte 0x0B, 0x00, 0x4D, 0x00, 0xA9, 0x00, 0xFF, 0xFF .word _020A4F14 .byte 0x0B, 0x00, 0x4F, 0x00 .byte 0xAA, 0x00, 0xFF, 0xFF .word _020A4F0C .byte 0x0B, 0x00, 0x4B, 0x00, 0xAB, 0x00, 0xFF, 0xFF .word _020A4F04 .byte 0x0B, 0x00, 0x53, 0x00, 0xAC, 0x00, 0xFF, 0xFF .word _020A4EFC .byte 0x0B, 0x00, 0x57, 0x00, 0xAD, 0x00, 0xFF, 0xFF .word _020A4EF4 .byte 0x0B, 0x00, 0x55, 0x00 .byte 0xAE, 0x00, 0xFF, 0xFF .word _020A4DDC .byte 0x0B, 0x00, 0x49, 0x00, 0xAF, 0x00, 0xFF, 0xFF .word _020A4E1C .byte 0x06, 0x00, 0x13, 0x01, 0xB0, 0x00, 0xFF, 0xFF .word _020A4E3C .byte 0x0A, 0x00, 0x14, 0x01, 0xB1, 0x00, 0xFF, 0xFF .word _020A4ED4 .byte 0x0B, 0x00, 0x30, 0x00 .byte 0xB2, 0x00, 0xFF, 0xFF .word _020A4ECC .byte 0x0B, 0x00, 0x5C, 0x00, 0xB3, 0x00, 0xFF, 0xFF .word _020A4EC4 .byte 0x0A, 0x00, 0x5E, 0x00, 0xB4, 0x00, 0xFF, 0xFF .word _020A4EBC .byte 0x0A, 0x00, 0x5F, 0x00, 0xB5, 0x00, 0xFF, 0xFF .word _020A4EB4 .byte 0x0A, 0x00, 0x60, 0x00 .byte 0xB6, 0x00, 0xFF, 0xFF .word _020A4EAC .byte 0x0A, 0x00, 0x61, 0x00, 0xB7, 0x00, 0xFF, 0xFF .word _020A4EA4 .byte 0x0A, 0x00, 0x62, 0x00, 0xB8, 0x00, 0xFF, 0xFF .word _020A4E9C .byte 0x0A, 0x00, 0x63, 0x00, 0xB9, 0x00, 0xFF, 0xFF .word _020A4E94 .byte 0x0A, 0x00, 0x64, 0x00 .byte 0xBA, 0x00, 0xFF, 0xFF .word _020A4E8C .byte 0x0A, 0x00, 0x65, 0x00, 0xBB, 0x00, 0xFF, 0xFF .word _020A4E84 .byte 0x0A, 0x00, 0x66, 0x00, 0xBC, 0x00, 0xFF, 0xFF .word _020A4E7C .byte 0x0A, 0x00, 0x67, 0x00, 0xBD, 0x00, 0xFF, 0xFF .word _020A4E74 .byte 0x0A, 0x00, 0x58, 0x00 .byte 0xBE, 0x00, 0xFF, 0xFF .word _020A4E6C .byte 0x0A, 0x00, 0x59, 0x00, 0xBF, 0x00, 0xFF, 0xFF .word _020A4E64 .byte 0x0A, 0x00, 0x5A, 0x00, 0xC0, 0x00, 0xFF, 0xFF .word _020A4E5C .byte 0x0A, 0x00, 0x5B, 0x00, 0xC1, 0x00, 0xFF, 0xFF .word _020A4E54 .byte 0x0A, 0x00, 0x5C, 0x00 .byte 0xC2, 0x00, 0xFF, 0xFF .word _020A4E4C .byte 0x06, 0x00, 0x15, 0x01, 0xC3, 0x00, 0xFF, 0xFF .word _020A4E44 .byte 0x06, 0x00, 0x15, 0x01, 0xC4, 0x00, 0xFF, 0xFF .word _020A541C .byte 0x06, 0x00, 0x15, 0x01, 0xC5, 0x00, 0xFF, 0xFF .word _020A4E34 .byte 0x06, 0x00, 0x15, 0x01 .byte 0xC6, 0x00, 0xFF, 0xFF .word _020A5434 .byte 0x06, 0x00, 0x15, 0x01, 0xC7, 0x00, 0xFF, 0xFF .word _020A4E24 .byte 0x06, 0x00, 0x15, 0x01, 0xC8, 0x00, 0xFF, 0xFF .word _020A5440 .byte 0x06, 0x00, 0x16, 0x01, 0xC9, 0x00, 0xFF, 0xFF .word _020A4E14 .byte 0x06, 0x00, 0x17, 0x01 .byte 0xCA, 0x00, 0xFF, 0xFF .word _020A4E0C .byte 0x06, 0x00, 0x18, 0x01, 0xCB, 0x00, 0xFF, 0xFF .word _020A4E04 .byte 0x06, 0x00, 0x18, 0x01, 0xCC, 0x00, 0xFF, 0xFF .word _020A544C .byte 0x06, 0x00, 0x18, 0x01, 0xCD, 0x00, 0xFF, 0xFF .word _020A4DF4 .byte 0x06, 0x00, 0x18, 0x01 .byte 0xCE, 0x00, 0xFF, 0xFF .word _020A5458 .byte 0x06, 0x00, 0x19, 0x01, 0xCF, 0x00, 0xFF, 0xFF .word _020A4A5C .byte 0x06, 0x00, 0x19, 0x01, 0xD0, 0x00, 0xFF, 0xFF .word _020A489C .byte 0x06, 0x00, 0x1A, 0x01, 0xD1, 0x00, 0xFF, 0xFF .word _020A4DD4 .byte 0x06, 0x00, 0x1A, 0x01 .byte 0xD2, 0x00, 0xFF, 0xFF .word _020A4DCC .byte 0x02, 0x00, 0x1B, 0x01, 0xD3, 0x00, 0xFF, 0xFF .word _020A4DC4 .byte 0x02, 0x00, 0x1B, 0x01, 0xD4, 0x00, 0xFF, 0xFF .word _020A4DBC .byte 0x02, 0x00, 0x1C, 0x01, 0xD5, 0x00, 0xFF, 0xFF .word _020A4DB4 .byte 0x02, 0x00, 0x1D, 0x01 .byte 0xD6, 0x00, 0xFF, 0xFF .word _020A4DAC .byte 0x02, 0x00, 0x1D, 0x01, 0xD7, 0x00, 0xFF, 0xFF .word _020A4DA4 .byte 0x02, 0x00, 0x1E, 0x01, 0xD8, 0x00, 0xFF, 0xFF .word _020A4D9C .byte 0x02, 0x00, 0x1E, 0x01, 0xD9, 0x00, 0xFF, 0xFF .word _020A4D94 .byte 0x06, 0x00, 0x1F, 0x01 .byte 0xDA, 0x00, 0xFF, 0xFF .word _020A4D8C .byte 0x06, 0x00, 0x1F, 0x01, 0xDB, 0x00, 0xFF, 0xFF .word _020A47C4 .byte 0x06, 0x00, 0x1F, 0x01, 0xDC, 0x00, 0xFF, 0xFF .word _020A4D7C .byte 0x06, 0x00, 0x1F, 0x01, 0xDD, 0x00, 0xFF, 0xFF .word _020A4D74 .byte 0x06, 0x00, 0x20, 0x01 .byte 0xDE, 0x00, 0xFF, 0xFF .word _020A4D6C .byte 0x06, 0x00, 0x21, 0x01, 0xDF, 0x00, 0xFF, 0xFF .word _020A4D64 .byte 0x06, 0x00, 0x22, 0x01, 0xE0, 0x00, 0xFF, 0xFF .word _020A4D5C .byte 0x06, 0x00, 0x23, 0x01, 0xE1, 0x00, 0xFF, 0xFF .word _020A4D54 .byte 0x06, 0x00, 0x24, 0x01 .byte 0xE2, 0x00, 0xFF, 0xFF .word _020A4D4C .byte 0x06, 0x00, 0x25, 0x01, 0xE3, 0x00, 0xFF, 0xFF .word _020A4D44 .byte 0x06, 0x00, 0x26, 0x01, 0xE4, 0x00, 0xFF, 0xFF .word _020A4D3C .byte 0x07, 0x00, 0xB7, 0x00, 0xE5, 0x00, 0x07, 0x00 .word _020A4D34 .byte 0x07, 0x00, 0xB7, 0x00 .byte 0xE6, 0x00, 0xFF, 0xFF .word _020A4D2C .byte 0x06, 0x00, 0xB7, 0x00, 0xE7, 0x00, 0xFF, 0xFF .word _020A4D24 .byte 0x09, 0x00, 0xB7, 0x00, 0xE8, 0x00, 0xFF, 0xFF .word _020A4D1C .byte 0x06, 0x00, 0x27, 0x01, 0xE9, 0x00, 0xFF, 0xFF .word _020A4D14 .byte 0x06, 0x00, 0x27, 0x01 .byte 0xEA, 0x00, 0xFF, 0xFF .word _020A5470 .byte 0x06, 0x00, 0xB7, 0x00, 0xEB, 0x00, 0xFF, 0xFF .word _020A4D04 .byte 0x06, 0x00, 0xB7, 0x00, 0xEC, 0x00, 0xFF, 0xFF .word _020A4CFC .byte 0x06, 0x00, 0xB7, 0x00, 0xED, 0x00, 0xFF, 0xFF .word _020A4CF4 .byte 0x06, 0x00, 0xB7, 0x00 .byte 0xEE, 0x00, 0xFF, 0xFF .word _020A4CEC .byte 0x06, 0x00, 0xB7, 0x00, 0xEF, 0x00, 0xFF, 0xFF .word _020A4CE4 .byte 0x06, 0x00, 0xB7, 0x00, 0xF0, 0x00, 0xFF, 0xFF .word _020A485C .byte 0x06, 0x00, 0xB7, 0x00, 0xF1, 0x00, 0xFF, 0xFF .word _020A4CD4 .byte 0x06, 0x00, 0xB7, 0x00 .byte 0xF2, 0x00, 0xFF, 0xFF .word _020A4CCC .byte 0x09, 0x00, 0xB7, 0x00, 0xF3, 0x00, 0xFF, 0xFF .word _020A4CC4 .byte 0x06, 0x00, 0xB7, 0x00, 0xF4, 0x00, 0xFF, 0xFF .word _020A4CBC .byte 0x06, 0x00, 0xB7, 0x00, 0xF5, 0x00, 0xFF, 0xFF .word _020A4CB4 .byte 0x06, 0x00, 0xB7, 0x00 .byte 0xF6, 0x00, 0xFF, 0xFF .word _020A4CAC .byte 0x06, 0x00, 0xB7, 0x00, 0xF7, 0x00, 0xFF, 0xFF .word _020A547C .byte 0x06, 0x00, 0xB7, 0x00, 0xF8, 0x00, 0xFF, 0xFF .word _020A4C9C .byte 0x06, 0x00, 0x28, 0x01, 0xF9, 0x00, 0xFF, 0xFF .word _020A4C94 .byte 0x06, 0x00, 0x29, 0x01 .byte 0xFA, 0x00, 0xFF, 0xFF .word _020A4C8C .byte 0x06, 0x00, 0x2A, 0x01, 0xFB, 0x00, 0xFF, 0xFF .word _020A4C84 .byte 0x06, 0x00, 0x2A, 0x01, 0xFC, 0x00, 0xFF, 0xFF .word _020A4C7C .byte 0x06, 0x00, 0xB7, 0x00, 0xFD, 0x00, 0xFF, 0xFF .word _020A4C74 .byte 0x07, 0x00, 0x2B, 0x01 .byte 0xFE, 0x00, 0xFF, 0xFF .word _020A4C6C .byte 0x06, 0x00, 0x2C, 0x01, 0xFF, 0x00, 0xFF, 0xFF .word _020A4C64 .byte 0x06, 0x00, 0xC3, 0x00, 0x00, 0x01, 0xFF, 0xFF .word _020A4C5C .byte 0x06, 0x00, 0xC3, 0x00, 0x01, 0x01, 0xFF, 0xFF .word _020A4C54 .byte 0x06, 0x00, 0xC3, 0x00 .byte 0x02, 0x01, 0xFF, 0xFF .word _020A4C4C .byte 0x06, 0x00, 0xB7, 0x00, 0x03, 0x01, 0xFF, 0xFF .word _020A4C44 .byte 0x06, 0x00, 0xB7, 0x00, 0x04, 0x01, 0xFF, 0xFF .word _020A4C3C .byte 0x06, 0x00, 0xB7, 0x00, 0x05, 0x01, 0xFF, 0xFF .word _020A4C34 .byte 0x06, 0x00, 0xB7, 0x00 .byte 0x06, 0x01, 0xFF, 0xFF .word _020A4C2C .byte 0x06, 0x00, 0xB7, 0x00, 0x07, 0x01, 0xFF, 0xFF .word _020A4C24 .byte 0x06, 0x00, 0xB7, 0x00, 0x08, 0x01, 0xFF, 0xFF .word _020A4C1C .byte 0x06, 0x00, 0xB7, 0x00, 0x09, 0x01, 0xFF, 0xFF .word _020A4C14 .byte 0x06, 0x00, 0xB7, 0x00 .byte 0x0A, 0x01, 0xFF, 0xFF .word _020A4C0C .byte 0x06, 0x00, 0xB7, 0x00, 0x0B, 0x01, 0xFF, 0xFF .word _020A4C04 .byte 0x09, 0x00, 0xB9, 0x00, 0x0C, 0x01, 0xFF, 0xFF .word _020A4BFC .byte 0x04, 0x00, 0xB9, 0x00, 0x0D, 0x01, 0xFF, 0xFF .word _020A4BF4 .byte 0x06, 0x00, 0x2D, 0x01 .byte 0x0E, 0x01, 0xFF, 0xFF .word _020A4BEC .byte 0x06, 0x00, 0x2E, 0x01, 0x0F, 0x01, 0xFF, 0xFF .word _020A4BE4 .byte 0x06, 0x00, 0xB9, 0x00, 0x10, 0x01, 0xFF, 0xFF .word _020A4BDC .byte 0x06, 0x00, 0xB9, 0x00, 0x11, 0x01, 0xFF, 0xFF .word _020A4BD4 .byte 0x04, 0x00, 0xB9, 0x00 .byte 0x12, 0x01, 0xFF, 0xFF .word _020A4BCC .byte 0x04, 0x00, 0xB9, 0x00, 0x14, 0x01, 0xFF, 0xFF .word _020A4BC4 .byte 0x04, 0x00, 0xB9, 0x00, 0x15, 0x01, 0xFF, 0xFF .word _020A4BBC .byte 0x09, 0x00, 0xB9, 0x00, 0x16, 0x01, 0xFF, 0xFF .word _020A4BB4 .byte 0x04, 0x00, 0xB9, 0x00 .byte 0x17, 0x01, 0xFF, 0xFF .word _020A4BAC .byte 0x04, 0x00, 0xB9, 0x00, 0x18, 0x01, 0xFF, 0xFF .word _020A4BA4 .byte 0x04, 0x00, 0xB9, 0x00, 0x19, 0x01, 0xFF, 0xFF .word _020A4B9C .byte 0x04, 0x00, 0xB9, 0x00, 0x1A, 0x01, 0xFF, 0xFF .word _020A4B94 .byte 0x04, 0x00, 0xB9, 0x00 .byte 0x1B, 0x01, 0xFF, 0xFF .word _020A4B8C .byte 0x04, 0x00, 0xB9, 0x00, 0x1C, 0x01, 0xFF, 0xFF .word _020A4B84 .byte 0x04, 0x00, 0xB9, 0x00, 0x1D, 0x01, 0xFF, 0xFF .word _020A4B7C .byte 0x09, 0x00, 0xB9, 0x00, 0x1E, 0x01, 0xFF, 0xFF .word _020A4B74 .byte 0x09, 0x00, 0xB9, 0x00 .byte 0x1F, 0x01, 0xFF, 0xFF .word _020A4B6C .byte 0x09, 0x00, 0xB9, 0x00, 0x20, 0x01, 0xFF, 0xFF .word _020A4B64 .byte 0x09, 0x00, 0xB9, 0x00, 0x21, 0x01, 0xFF, 0xFF .word _020A4B5C .byte 0x09, 0x00, 0xB9, 0x00, 0x22, 0x01, 0xFF, 0xFF .word _020A4B54 .byte 0x09, 0x00, 0xB9, 0x00 .byte 0x23, 0x01, 0xFF, 0xFF .word _020A4B4C .byte 0x09, 0x00, 0xB9, 0x00, 0x24, 0x01, 0xFF, 0xFF .word _020A4B44 .byte 0x09, 0x00, 0xB9, 0x00, 0x25, 0x01, 0xFF, 0xFF .word _020A4B3C .byte 0x09, 0x00, 0xB9, 0x00, 0x26, 0x01, 0xFF, 0xFF .word _020A4B34 .byte 0x09, 0x00, 0xB9, 0x00 .byte 0x27, 0x01, 0xFF, 0xFF .word _020A4B2C .byte 0x04, 0x00, 0xB9, 0x00, 0x28, 0x01, 0xFF, 0xFF .word _020A4B24 .byte 0x09, 0x00, 0xB9, 0x00, 0x29, 0x01, 0xFF, 0xFF .word _020A4B1C .byte 0x04, 0x00, 0xB9, 0x00, 0x2A, 0x01, 0xFF, 0xFF .word _020A4B14 .byte 0x09, 0x00, 0xB9, 0x00 .byte 0x2B, 0x01, 0xFF, 0xFF .word _020A4B0C .byte 0x09, 0x00, 0xB9, 0x00, 0x2C, 0x01, 0xFF, 0xFF .word _020A4B04 .byte 0x09, 0x00, 0xB9, 0x00, 0x2D, 0x01, 0xFF, 0xFF .word _020A48FC .byte 0x09, 0x00, 0xB9, 0x00, 0x2E, 0x01, 0xFF, 0xFF .word _020A4AEC .byte 0x04, 0x00, 0xB9, 0x00 .byte 0x2F, 0x01, 0xFF, 0xFF .word _020A4AF4 .byte 0x04, 0x00, 0xB9, 0x00, 0x30, 0x01, 0xFF, 0xFF .word _020A4DE4 .byte 0x09, 0x00, 0xB9, 0x00, 0x31, 0x01, 0xFF, 0xFF .word _020A4EDC .byte 0x01, 0x00, 0xB9, 0x00, 0x32, 0x01, 0xFF, 0xFF .word _020A4AD4 .byte 0x04, 0x00, 0xB9, 0x00 .byte 0x33, 0x01, 0xFF, 0xFF .word _020A4ACC .byte 0x04, 0x00, 0xB9, 0x00, 0x34, 0x01, 0xFF, 0xFF .word _020A4AC4 .byte 0x04, 0x00, 0xB9, 0x00, 0x35, 0x01, 0xFF, 0xFF .word _020A4ABC .byte 0x04, 0x00, 0xB9, 0x00, 0x36, 0x01, 0xFF, 0xFF .word _020A4AB4 .byte 0x09, 0x00, 0xB9, 0x00 .byte 0x37, 0x01, 0xFF, 0xFF .word _020A4AAC .byte 0x06, 0x00, 0x2F, 0x01, 0x38, 0x01, 0x03, 0x00 .word _020A4AA4 .byte 0x06, 0x00, 0x30, 0x01, 0x39, 0x01, 0x03, 0x00 .word _020A4A9C .byte 0x06, 0x00, 0x31, 0x01, 0x3A, 0x01, 0xFF, 0xFF .word _020A4A94 .byte 0x06, 0x00, 0x31, 0x01 .byte 0x3B, 0x01, 0xFF, 0xFF .word _020A5428 .byte 0x06, 0x00, 0x32, 0x01, 0x3C, 0x01, 0xFF, 0xFF .word _020A4E2C .byte 0x06, 0x00, 0xBA, 0x00, 0x3D, 0x01, 0xFF, 0xFF .word _020A4A7C .byte 0x04, 0x00, 0xBA, 0x00, 0x3E, 0x01, 0xFF, 0xFF .word _020A4A74 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x3F, 0x01, 0xFF, 0xFF .word _020A4DFC .byte 0x06, 0x00, 0xBA, 0x00, 0x40, 0x01, 0xFF, 0xFF .word _020A4DEC .byte 0x06, 0x00, 0xBA, 0x00, 0x41, 0x01, 0xFF, 0xFF .word _020A47BC .byte 0x06, 0x00, 0xBA, 0x00, 0x42, 0x01, 0xFF, 0xFF .word _020A4A54 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x43, 0x01, 0xFF, 0xFF .word _020A4A4C .byte 0x09, 0x00, 0xBA, 0x00, 0x44, 0x01, 0xFF, 0xFF .word _020A4A44 .byte 0x07, 0x00, 0xBA, 0x00, 0x45, 0x01, 0xFF, 0xFF .word _020A4A3C .byte 0x09, 0x00, 0xBA, 0x00, 0x46, 0x01, 0xFF, 0xFF .word _020A4A34 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x47, 0x01, 0xFF, 0xFF .word _020A4D84 .byte 0x09, 0x00, 0xBA, 0x00, 0x48, 0x01, 0xFF, 0xFF .word _020A4A24 .byte 0x06, 0x00, 0xBA, 0x00, 0x49, 0x01, 0xFF, 0xFF .word _020A4A1C .byte 0x06, 0x00, 0xBA, 0x00, 0x4A, 0x01, 0xFF, 0xFF .word _020A4A14 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x4B, 0x01, 0xFF, 0xFF .word _020A4A0C .byte 0x09, 0x00, 0xBA, 0x00, 0x4C, 0x01, 0xFF, 0xFF .word _020A4A04 .byte 0x09, 0x00, 0xBA, 0x00, 0x4D, 0x01, 0xFF, 0xFF .word _020A49FC .byte 0x09, 0x00, 0xBA, 0x00, 0x4E, 0x01, 0xFF, 0xFF .word _020A4D0C .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x4F, 0x01, 0xFF, 0xFF .word _020A49EC .byte 0x09, 0x00, 0xBA, 0x00, 0x50, 0x01, 0xFF, 0xFF .word _020A49E4 .byte 0x01, 0x00, 0xBA, 0x00, 0x51, 0x01, 0xFF, 0xFF .word _020A479C .byte 0x06, 0x00, 0xBA, 0x00, 0x52, 0x01, 0xFF, 0xFF .word _020A49D4 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x53, 0x01, 0xFF, 0xFF .word _020A49CC .byte 0x06, 0x00, 0xBA, 0x00, 0x54, 0x01, 0xFF, 0xFF .word _020A49C4 .byte 0x06, 0x00, 0xBA, 0x00, 0x55, 0x01, 0xFF, 0xFF .word _020A4CA4 .byte 0x06, 0x00, 0xBA, 0x00, 0x56, 0x01, 0xFF, 0xFF .word _020A49B4 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x57, 0x01, 0xFF, 0xFF .word _020A49AC .byte 0x09, 0x00, 0xBA, 0x00, 0x58, 0x01, 0xFF, 0xFF .word _020A49A4 .byte 0x09, 0x00, 0xBA, 0x00, 0x59, 0x01, 0xFF, 0xFF .word _020A499C .byte 0x06, 0x00, 0xBA, 0x00, 0x5A, 0x01, 0xFF, 0xFF .word _020A4994 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x5B, 0x01, 0xFF, 0xFF .word _020A498C .byte 0x06, 0x00, 0xBA, 0x00, 0x5C, 0x01, 0xFF, 0xFF .word _020A4984 .byte 0x06, 0x00, 0xBA, 0x00, 0x5D, 0x01, 0xFF, 0xFF .word _020A497C .byte 0x09, 0x00, 0xBA, 0x00, 0x5E, 0x01, 0xFF, 0xFF .word _020A4974 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x5F, 0x01, 0xFF, 0xFF .word _020A496C .byte 0x09, 0x00, 0xBA, 0x00, 0x60, 0x01, 0xFF, 0xFF .word _020A4964 .byte 0x06, 0x00, 0xBA, 0x00, 0x61, 0x01, 0xFF, 0xFF .word _020A495C .byte 0x06, 0x00, 0xBA, 0x00, 0x62, 0x01, 0xFF, 0xFF .word _020A4954 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x63, 0x01, 0xFF, 0xFF .word _020A494C .byte 0x09, 0x00, 0xBA, 0x00, 0x64, 0x01, 0xFF, 0xFF .word _020A4944 .byte 0x09, 0x00, 0xBA, 0x00, 0x65, 0x01, 0xFF, 0xFF .word _020A493C .byte 0x09, 0x00, 0xBA, 0x00, 0x66, 0x01, 0xFF, 0xFF .word _020A4934 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x67, 0x01, 0xFF, 0xFF .word _020A492C .byte 0x06, 0x00, 0xBA, 0x00, 0x68, 0x01, 0xFF, 0xFF .word _020A4924 .byte 0x06, 0x00, 0xBA, 0x00, 0x69, 0x01, 0xFF, 0xFF .word _020A491C .byte 0x09, 0x00, 0xBA, 0x00, 0x6A, 0x01, 0xFF, 0xFF .word _020A4914 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x6B, 0x01, 0xFF, 0xFF .word _020A490C .byte 0x06, 0x00, 0xBA, 0x00, 0x6C, 0x01, 0xFF, 0xFF .word _020A4904 .byte 0x09, 0x00, 0xBA, 0x00, 0x6D, 0x01, 0xFF, 0xFF .word _020A48DC .byte 0x04, 0x00, 0xBA, 0x00, 0x6E, 0x01, 0xFF, 0xFF .word _020A48F4 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x6F, 0x01, 0xFF, 0xFF .word _020A4ADC .byte 0x06, 0x00, 0xBA, 0x00, 0x70, 0x01, 0xFF, 0xFF .word _020A4AFC .byte 0x09, 0x00, 0xBA, 0x00, 0x71, 0x01, 0xFF, 0xFF .word _020A4EE4 .byte 0x04, 0x00, 0xBA, 0x00, 0x72, 0x01, 0xFF, 0xFF .word _020A48D4 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x73, 0x01, 0xFF, 0xFF .word _020A48CC .byte 0x09, 0x00, 0xBA, 0x00, 0x74, 0x01, 0xFF, 0xFF .word _020A48C4 .byte 0x09, 0x00, 0xBA, 0x00, 0x75, 0x01, 0xFF, 0xFF .word _020A48BC .byte 0x04, 0x00, 0xBA, 0x00, 0x76, 0x01, 0xFF, 0xFF .word _020A4A8C .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x77, 0x01, 0xFF, 0xFF .word _020A48AC .byte 0x07, 0x00, 0xBA, 0x00, 0x78, 0x01, 0xFF, 0xFF .word _020A4A6C .byte 0x07, 0x00, 0xBA, 0x00, 0x79, 0x01, 0xFF, 0xFF .word _020A4A64 .byte 0x06, 0x00, 0xBA, 0x00, 0x7A, 0x01, 0xFF, 0xFF .word _020A4894 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x7B, 0x01, 0xFF, 0xFF .word _020A488C .byte 0x09, 0x00, 0xBA, 0x00, 0x7C, 0x01, 0xFF, 0xFF .word _020A4A2C .byte 0x09, 0x00, 0xBA, 0x00, 0x7D, 0x01, 0xFF, 0xFF .word _020A487C .byte 0x06, 0x00, 0xBA, 0x00, 0x7E, 0x01, 0xFF, 0xFF .word _020A4874 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x7F, 0x01, 0xFF, 0xFF .word _020A486C .byte 0x06, 0x00, 0xBA, 0x00, 0x80, 0x01, 0xFF, 0xFF .word _020A49F4 .byte 0x06, 0x00, 0xBA, 0x00, 0x81, 0x01, 0xFF, 0xFF .word _020A4734 .byte 0x09, 0x00, 0xBA, 0x00, 0x82, 0x01, 0xFF, 0xFF .word _020A4854 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x83, 0x01, 0xFF, 0xFF .word _020A49BC .byte 0x09, 0x00, 0xBA, 0x00, 0x84, 0x01, 0xFF, 0xFF .word _020A4844 .byte 0x06, 0x00, 0xBA, 0x00, 0x85, 0x01, 0xFF, 0xFF .word _020A483C .byte 0x09, 0x00, 0xBA, 0x00, 0x86, 0x01, 0xFF, 0xFF .word _020A4834 .byte 0x09, 0x00, 0xBA, 0x00 .byte 0x87, 0x01, 0xFF, 0xFF .word _020A482C .byte 0x09, 0x00, 0xBA, 0x00, 0x88, 0x01, 0xFF, 0xFF .word _020A4824 .byte 0x09, 0x00, 0xBA, 0x00, 0x89, 0x01, 0xFF, 0xFF .word _020A481C .byte 0x09, 0x00, 0xBA, 0x00, 0x8A, 0x01, 0xFF, 0xFF .word _020A4814 .byte 0x04, 0x00, 0xBA, 0x00 .byte 0x8B, 0x01, 0xFF, 0xFF .word _020A480C .byte 0x09, 0x00, 0xBA, 0x00, 0x8C, 0x01, 0xFF, 0xFF .word _020A4804 .byte 0x09, 0x00, 0xBA, 0x00, 0x8D, 0x01, 0xFF, 0xFF .word _020A47E4 .byte 0x06, 0x00, 0xBA, 0x00, 0x8E, 0x01, 0xFF, 0xFF .word _020A47FC .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x8F, 0x01, 0xFF, 0xFF .word _020A48E4 .byte 0x09, 0x00, 0xBA, 0x00, 0x90, 0x01, 0xFF, 0xFF .word _020A4AE4 .byte 0x09, 0x00, 0xBA, 0x00, 0x91, 0x01, 0xFF, 0xFF .word _020A4EEC .byte 0x09, 0x00, 0xBA, 0x00, 0x92, 0x01, 0xFF, 0xFF .word _020A47D4 .byte 0x01, 0x00, 0xBA, 0x00 .byte 0x93, 0x01, 0xFF, 0xFF .word _020A47CC .byte 0x06, 0x00, 0xBA, 0x00, 0x94, 0x01, 0xFF, 0xFF .word _020A4A84 .byte 0x09, 0x00, 0xBA, 0x00, 0x95, 0x01, 0xFF, 0xFF .word _020A474C .byte 0x01, 0x00, 0xBA, 0x00, 0x96, 0x01, 0xFF, 0xFF .word _020A47B4 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x97, 0x01, 0xFF, 0xFF .word _020A4884 .byte 0x06, 0x00, 0xBA, 0x00, 0x98, 0x01, 0xFF, 0xFF .word _020A47A4 .byte 0x04, 0x00, 0xBA, 0x00, 0x99, 0x01, 0xFF, 0xFF .word _020A4864 .byte 0x06, 0x00, 0xBA, 0x00, 0x9A, 0x01, 0xFF, 0xFF .word _020A484C .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x9B, 0x01, 0xFF, 0xFF .word _020A478C .byte 0x06, 0x00, 0xBA, 0x00, 0x9C, 0x01, 0xFF, 0xFF .word _020A4784 .byte 0x06, 0x00, 0xBA, 0x00, 0x9D, 0x01, 0xFF, 0xFF .word _020A476C .byte 0x06, 0x00, 0xBA, 0x00, 0x9E, 0x01, 0xFF, 0xFF .word _020A47DC .byte 0x06, 0x00, 0xBA, 0x00 .byte 0x9F, 0x01, 0xFF, 0xFF .word _020A47EC .byte 0x06, 0x00, 0xBA, 0x00, 0xA0, 0x01, 0xFF, 0xFF .word _020A48EC .byte 0x06, 0x00, 0xBA, 0x00, 0xA1, 0x01, 0xFF, 0xFF .word _020A52DC .byte 0x06, 0x00, 0xBA, 0x00, 0xA2, 0x01, 0xFF, 0xFF .word _020A4754 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0xA3, 0x01, 0xFF, 0xFF .word _020A48A4 .byte 0x06, 0x00, 0xBA, 0x00, 0xA4, 0x01, 0xFF, 0xFF .word _020A47AC .byte 0x06, 0x00, 0xBA, 0x00, 0xA5, 0x01, 0xFF, 0xFF .word _020A473C .byte 0x06, 0x00, 0xBA, 0x00, 0xA6, 0x01, 0xFF, 0xFF .word _020A4794 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0xA7, 0x01, 0xFF, 0xFF .word _020A4774 .byte 0x06, 0x00, 0xBA, 0x00, 0xA8, 0x01, 0xFF, 0xFF .word _020A47F4 .byte 0x06, 0x00, 0xBA, 0x00, 0xA9, 0x01, 0xFF, 0xFF .word _020A52E4 .byte 0x06, 0x00, 0xBA, 0x00, 0xAA, 0x01, 0xFF, 0xFF .word _020A472C .byte 0x09, 0x00, 0xBA, 0x00 .byte 0xAB, 0x01, 0xFF, 0xFF .word _020A475C .byte 0x06, 0x00, 0xBA, 0x00, 0xAC, 0x01, 0xFF, 0xFF .word _020A4764 .byte 0x09, 0x00, 0xBA, 0x00, 0xAD, 0x01, 0xFF, 0xFF .word _020A540C .byte 0x06, 0x00, 0xBA, 0x00, 0xAE, 0x01, 0xFF, 0xFF .word _020A4744 .byte 0x06, 0x00, 0xBA, 0x00 .byte 0xAF, 0x01, 0xFF, 0xFF .word _020A477C .global ARM9_UNKNOWN_TABLE__NA_20A68BC ARM9_UNKNOWN_TABLE__NA_20A68BC: .byte 0x5F, 0x00, 0x22, 0x00, 0x10, 0x00, 0x13, 0x00 .byte 0x1B, 0x00, 0x29, 0x00 .global DEMO_TEAMS DEMO_TEAMS: .byte 0x01, 0x00 .global _020A68CA _020A68CA: .byte 0x04, 0x00, 0x98, 0x00, 0x07, 0x00, 0x18, 0x01, 0x73, 0x03 .byte 0xA6, 0x01, 0xAC, 0x01, 0x04, 0x00, 0xF0, 0x02, 0x9B, 0x00, 0x9E, 0x00, 0x1B, 0x01, 0x1E, 0x01 .byte 0xA9, 0x01, 0xA6, 0x01, 0x07, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x18, 0x01, 0x1E, 0x01, 0x9B, 0x00 .byte 0xAC, 0x01, 0xA9, 0x01, 0x19, 0x00, 0xA9, 0x01, 0x48, 0x01, 0xA6, 0x01, 0xE9, 0x01, 0xAC, 0x01 .byte 0x25, 0x00, 0x19, 0x00, 0x02, 0x01, 0xE8, 0x01, 0x85, 0x00, 0x34, 0x00 .global ACTOR_LIST ACTOR_LIST: .byte 0x50, 0x4C, 0x41, 0x59 .byte 0x45, 0x52, 0x00, 0x00 .global _020A6918 _020A6918: .byte 0x54, 0x41, 0x4C, 0x4B, 0x5F, 0x53, 0x55, 0x42, 0x00, 0x00, 0x00, 0x00 .global _020A6924 _020A6924: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x59, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A6930 _020A6930: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x48, 0x45, 0x52, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A693C _020A693C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x55, 0x50, 0x41, 0x41 .byte 0x00, 0x00, 0x00, 0x00 .global _020A6948 _020A6948: .byte 0x55, 0x4E, 0x49, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x31, 0x00, 0x00, 0x00 .global _020A6954 _020A6954: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x44, 0x4F, 0x4E, 0x00, 0x00, 0x00 .global _020A6960 _020A6960: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x52, 0x55, 0x47, 0x49, 0x41, 0x00, 0x00, 0x00 .global _020A696C _020A696C: .byte 0x55, 0x4E, 0x49, 0x54, 0x5F, 0x4E, 0x50, 0x43 .byte 0x33, 0x00, 0x00, 0x00 .global _020A6978 _020A6978: .byte 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, 0x30, 0x30, 0x32, 0x00, 0x00, 0x00 .global _020A6984 _020A6984: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x4F, 0x49, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A6990 _020A6990: .byte 0x55, 0x4E, 0x49, 0x54 .byte 0x5F, 0x4E, 0x50, 0x43, 0x32, 0x00, 0x00, 0x00 .global _020A699C _020A699C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x4F, 0x50, 0x50 .byte 0x4F, 0x00, 0x00, 0x00 .global _020A69A8 _020A69A8: .byte 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, 0x30, 0x30, 0x31, 0x00, 0x00, 0x00 .global _020A69B4 _020A69B4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x42, 0x55, 0x47, 0x00, 0x00, 0x00 .global _020A69C0 _020A69C0: .byte 0x54, 0x41, 0x4C, 0x4B .byte 0x5F, 0x4D, 0x41, 0x49, 0x4E, 0x00, 0x00, 0x00 .global _020A69CC _020A69CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x49, 0x50, 0x50 .byte 0x41, 0x00, 0x00, 0x00 .global _020A69D8 _020A69D8: .byte 0x55, 0x4E, 0x49, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x34, 0x00, 0x00, 0x00 .global _020A69E4 _020A69E4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x4F, 0x55, 0x4F, 0x55, 0x00, 0x00, 0x00 .global _020A69F0 _020A69F0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4B, 0x55, 0x52, 0x41, 0x42, 0x55, 0x00, 0x00 .global _020A69FC _020A69FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x4E, 0x41 .byte 0x46, 0x49, 0x00, 0x00 .global _020A6A08 _020A6A08: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x54, 0x41, 0x43, 0x48, 0x49, 0x00, 0x00 .global _020A6A14 _020A6A14: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x49, 0x47, 0x55, 0x44, 0x41, 0x00, 0x00 .global _020A6A20 _020A6A20: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4B, 0x4F, 0x49, 0x52, 0x55, 0x32, 0x00, 0x00 .global _020A6A2C _020A6A2C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x4E, 0x45 .byte 0x4E, 0x45, 0x00, 0x00 .global _020A6A38 _020A6A38: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x32, 0x00, 0x00 .global _020A6A44 _020A6A44: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E, 0x45, 0x32, 0x00, 0x00 .global _020A6A50 _020A6A50: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4D, 0x41, 0x4E, 0x4B, 0x49, 0x49, 0x00, 0x00 .global _020A6A5C _020A6A5C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E .byte 0x45, 0x37, 0x00, 0x00 .global _020A6A68 _020A6A68: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E, 0x45, 0x35, 0x00, 0x00 .global _020A6A74 _020A6A74: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E, 0x45, 0x33, 0x00, 0x00 .global _020A6A80 _020A6A80: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x47, 0x4F, 0x52, 0x4F, 0x4F, 0x4E, 0x00, 0x00 .global _020A6A8C _020A6A8C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E .byte 0x45, 0x31, 0x00, 0x00 .global _020A6A98 _020A6A98: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x59, 0x55, 0x55, 0x52, 0x41, 0x00, 0x00 .global _020A6AA4 _020A6AA4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x4B, 0x49, 0x49, 0x00, 0x00 .global _020A6AB0 _020A6AB0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4B, 0x4F, 0x44, 0x4F, 0x52, 0x41, 0x00, 0x00 .global _020A6ABC _020A6ABC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x52, 0x49 .byte 0x52, 0x49, 0x00, 0x00 .global _020A6AC8 _020A6AC8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E, 0x45, 0x38, 0x00, 0x00 .global _020A6AD4 _020A6AD4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E, 0x45, 0x34, 0x00, 0x00 .global _020A6AE0 _020A6AE0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4D, 0x41, 0x52, 0x49, 0x52, 0x55, 0x00, 0x00 .global _020A6AEC _020A6AEC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x4E, 0x4D .byte 0x55, 0x55, 0x00, 0x00 .global _020A6AF8 _020A6AF8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x44, 0x49, 0x42, 0x41, 0x00, 0x00 .global _020A6B04 _020A6B04: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x31, 0x00, 0x00 .global _020A6B10 _020A6B10: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4F, 0x4B, 0x55, 0x54, 0x41, 0x4E, 0x00, 0x00 .global _020A6B1C _020A6B1C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x49, 0x4F, 0x4E .byte 0x45, 0x36, 0x00, 0x00 .global _020A6B28 _020A6B28: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x48, 0x45, 0x49, 0x4D, 0x49, 0x00, 0x00 .global _020A6B34 _020A6B34: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x45, 0x52, 0x45, 0x42, 0x49, 0x49, 0x00 .global _020A6B40 _020A6B40: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x50, 0x4F, 0x4E, 0x49, 0x49, 0x54, 0x41, 0x00 .global _020A6B4C _020A6B4C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x5A, 0x55, 0x42, 0x41 .byte 0x54, 0x54, 0x4F, 0x00 .global _020A6B58 _020A6B58: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x41, 0x42, 0x41, 0x49, 0x54, 0x4F, 0x00 .global _020A6B64 _020A6B64: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x41, 0x49, 0x4F, 0x4F, 0x47, 0x41, 0x00 .global _020A6B70 _020A6B70: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x42, 0x49, 0x49, 0x4B, 0x55, 0x49, 0x4E, 0x00 .global _020A6B7C _020A6B7C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x55, 0x4B, 0x55 .byte 0x52, 0x49, 0x4E, 0x00 .global _020A6B88 _020A6B88: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x4F, 0x44, 0x4F, 0x52, 0x41, 0x32, 0x00 .global _020A6B94 _020A6B94: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x42, 0x49, 0x50, 0x50, 0x41, 0x00 .global _020A6BA0 _020A6BA0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x54, 0x4F, 0x47, 0x45, 0x50, 0x49, 0x49, 0x00 .global _020A6BAC _020A6BAC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x4F, 0x4F, 0x54 .byte 0x41, 0x53, 0x55, 0x00 .global _020A6BB8 _020A6BB8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x48, 0x45, 0x49, 0x4D, 0x49, 0x34, 0x00 .global _020A6BC4 _020A6BC4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x48, 0x45, 0x49, 0x4D, 0x49, 0x31, 0x00 .global _020A6BD0 _020A6BD0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x50, 0x41, 0x52, 0x55, 0x4B, 0x49, 0x41, 0x00 .global _020A6BDC _020A6BDC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x41, 0x41, 0x42, 0x4F .byte 0x4B, 0x4B, 0x55, 0x00 .global _020A6BE8 _020A6BE8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x4F, 0x52, 0x49, 0x47, 0x4F, 0x4E, 0x00 .global _020A6BF4 _020A6BF4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x45, 0x54, 0x41, 0x4D, 0x4F, 0x4E, 0x00 .global _020A6C00 _020A6C00: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x47, 0x41, 0x52, 0x55, 0x55, 0x52, 0x41, 0x00 .global _020A6C0C _020A6C0C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x39, 0x00 .global _020A6C18 _020A6C18: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x55, 0x52, 0x49, 0x49, 0x50, 0x55, 0x00 .global _020A6C24 _020A6C24: .byte 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x31, 0x00 .global _020A6C30 _020A6C30: .byte 0x46, 0x52, 0x49, 0x45 .byte 0x4E, 0x44, 0x5F, 0x4E, 0x50, 0x43, 0x31, 0x00 .global _020A6C3C _020A6C3C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x41, 0x50, 0x50, 0x4F .byte 0x49, 0x4E, 0x54, 0x00 .global _020A6C48 _020A6C48: .byte 0x4E, 0x50, 0x43, 0x5F, 0x57, 0x41, 0x54, 0x41, 0x4B, 0x4B, 0x4F, 0x00 .global _020A6C54 _020A6C54: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E, 0x50, 0x43, 0x32, 0x00 .global _020A6C60 _020A6C60: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x32, 0x00 .global _020A6C6C _020A6C6C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x36, 0x00 .global _020A6C78 _020A6C78: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x39, 0x00 .global _020A6C84 _020A6C84: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x31, 0x00 .global _020A6C90 _020A6C90: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4B, 0x4F, 0x44, 0x4F, 0x52, 0x41, 0x34, 0x00 .global _020A6C9C _020A6C9C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x55, 0x53, 0x4F, 0x4B .byte 0x4B, 0x49, 0x49, 0x00 .global _020A6CA8 _020A6CA8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x55, 0x42, 0x4F, 0x4D, 0x49, 0x49, 0x00 .global _020A6CB4 _020A6CB4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x00 .global _020A6CC0 _020A6CC0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x52, 0x49, 0x4E, 0x47, 0x55, 0x4D, 0x41, 0x00 .global _020A6CCC _020A6CCC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x41, 0x47, 0x55, 0x4E .byte 0x4F, 0x4D, 0x55, 0x00 .global _020A6CD8 _020A6CD8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x41, 0x4E, 0x45, 0x42, 0x4F, 0x4F, 0x00 .global _020A6CE4 _020A6CE4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x49, 0x41, 0x52, 0x55, 0x47, 0x41, 0x00 .global _020A6CF0 _020A6CF0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x53, 0x48, 0x45, 0x49, 0x4D, 0x49, 0x35, 0x00 .global _020A6CFC _020A6CFC: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x38, 0x00 .global _020A6D08 _020A6D08: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54, 0x30, 0x31, 0x30, 0x00 .global _020A6D14 _020A6D14: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55, 0x52, 0x41, 0x49, 0x00 .global _020A6D20 _020A6D20: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x44, 0x4F, 0x4E, 0x4D, 0x45, 0x52, 0x55, 0x00 .global _020A6D2C _020A6D2C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54 .byte 0x30, 0x30, 0x34, 0x00 .global _020A6D38 _020A6D38: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x33, 0x00 .global _020A6D44 _020A6D44: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x45, 0x52, 0x49, 0x49, 0x50, 0x55, 0x00 .global _020A6D50 _020A6D50: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x38, 0x00 .global _020A6D5C _020A6D5C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x45, 0x52, 0x55 .byte 0x47, 0x41, 0x41, 0x00 .global _020A6D68 _020A6D68: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x36, 0x00 .global _020A6D74 _020A6D74: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x55, 0x55, 0x42, 0x41, 0x41, 0x4E, 0x00 .global _020A6D80 _020A6D80: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4E, 0x41, 0x53, 0x53, 0x48, 0x49, 0x49, 0x00 .global _020A6D8C _020A6D8C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x48, 0x45, 0x49 .byte 0x4D, 0x49, 0x33, 0x00 .global _020A6D98 _020A6D98: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x4B, 0x55, 0x55, 0x44, 0x41, 0x00 .global _020A6DA4 _020A6DA4: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E, 0x50, 0x43, 0x35, 0x00 .global _020A6DB0 _020A6DB0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x48, 0x49, 0x4E, 0x42, 0x41, 0x53, 0x55, 0x00 .global _020A6DBC _020A6DBC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x4F, 0x44, 0x4F .byte 0x52, 0x41, 0x36, 0x00 .global _020A6DC8 _020A6DC8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54, 0x30, 0x30, 0x35, 0x00 .global _020A6DD4 _020A6DD4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x47, 0x41, 0x41, 0x53, 0x55, 0x00 .global _020A6DE0 _020A6DE0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x53, 0x48, 0x45, 0x49, 0x4D, 0x49, 0x32, 0x00 .global _020A6DEC _020A6DEC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x43, 0x48, 0x49, 0x52 .byte 0x49, 0x49, 0x4E, 0x00 .global _020A6DF8 _020A6DF8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x4F, 0x4F, 0x53, 0x55, 0x54, 0x4F, 0x00 .global _020A6E04 _020A6E04: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x45, 0x49, 0x54, 0x59, 0x49, 0x4F, 0x00 .global _020A6E10 _020A6E10: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x4B, 0x4F, 0x44, 0x4F, 0x52, 0x41, 0x33, 0x00 .global _020A6E1C _020A6E1C: .byte 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4E, 0x50 .byte 0x43, 0x30, 0x34, 0x00 .global _020A6E28 _020A6E28: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E, 0x50, 0x43, 0x34, 0x00 .global _020A6E34 _020A6E34: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E, 0x50, 0x43, 0x33, 0x00 .global _020A6E40 _020A6E40: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x48, 0x45, 0x49, 0x47, 0x41, 0x4E, 0x49, 0x00 .global _020A6E4C _020A6E4C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x45, 0x53, 0x54 .byte 0x30, 0x30, 0x37, 0x00 .global _020A6E58 _020A6E58: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4A, 0x55, 0x50, 0x45, 0x54, 0x54, 0x41, 0x00 .global _020A6E64 _020A6E64: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E, 0x50, 0x43, 0x37, 0x00 .global _020A6E70 _020A6E70: .byte 0x45, 0x56, 0x45, 0x4E .byte 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x32, 0x00 .global _020A6E7C _020A6E7C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x41, 0x53, 0x53 .byte 0x41, 0x4D, 0x55, 0x00 .global _020A6E88 _020A6E88: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x4F, 0x44, 0x4F, 0x52, 0x41, 0x35, 0x00 .global _020A6E94 _020A6E94: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x49, 0x49, 0x44, 0x41, 0x52, 0x55, 0x00 .global _020A6EA0 _020A6EA0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x50, 0x49, 0x4E, 0x50, 0x55, 0x4B, 0x55, 0x00 .global _020A6EAC _020A6EAC: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x48 .byte 0x45, 0x52, 0x4F, 0x00 .global _020A6EB8 _020A6EB8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x4E, 0x45, 0x42, 0x55, 0x55, 0x00 .global _020A6EC4 _020A6EC4: .byte 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x33, 0x00 .global _020A6ED0 _020A6ED0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x50, 0x45, 0x52, 0x41, 0x50, 0x50, 0x55, 0x00 .global _020A6EDC _020A6EDC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x45, 0x4D, 0x55 .byte 0x53, 0x53, 0x4F, 0x00 .global _020A6EE8 _020A6EE8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x4E, 0x52, 0x59, 0x55, 0x55, 0x00 .global _020A6EF4 _020A6EF4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x4F, 0x4F, 0x4E, 0x41, 0x4E, 0x4F, 0x00 .global _020A6F00 _020A6F00: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x44, 0x4F, 0x47, 0x4F, 0x4F, 0x4D, 0x55, 0x00 .global _020A6F0C _020A6F0C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A6F1C _020A6F1C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x45, 0x4D, 0x55, 0x52 .byte 0x49, 0x54, 0x54, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A6F2C _020A6F2C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x49, 0x4D, 0x41 .byte 0x57, 0x41, 0x52, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A6F3C _020A6F3C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x52, 0x41 .byte 0x50, 0x49, 0x4F, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020A6F4C _020A6F4C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x41, 0x41, 0x4B .byte 0x55, 0x52, 0x41, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A6F5C _020A6F5C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x4B, 0x4B .byte 0x55, 0x55, 0x5A, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A6F6C _020A6F6C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4A, 0x49, 0x52, 0x41 .byte 0x41, 0x43, 0x48, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A6F7C _020A6F7C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x36, 0x00, 0x00, 0x00, 0x00 .global _020A6F8C _020A6F8C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4F, 0x53, 0x55 .byte 0x42, 0x41, 0x4D, 0x45, 0x00, 0x00, 0x00, 0x00 .global _020A6F9C _020A6F9C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x55, 0x52, 0x41 .byte 0x4B, 0x4B, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A6FAC _020A6FAC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x4F, 0x4B, 0x55 .byte 0x54, 0x41, 0x53, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A6FBC _020A6FBC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x53, 0x48 .byte 0x41, 0x41, 0x4D, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A6FCC _020A6FCC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x5A, 0x41, 0x4E, 0x47 .byte 0x55, 0x55, 0x53, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A6FDC _020A6FDC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A6FEC _020A6FEC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x41, 0x54, 0x53 .byte 0x55, 0x42, 0x45, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A6FFC _020A6FFC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x4E, 0x44 .byte 0x4F, 0x50, 0x41, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020A700C _020A700C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x4F, 0x4B, 0x4F .byte 0x54, 0x43, 0x48, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A701C _020A701C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4E, 0x49, 0x47 .byte 0x4F, 0x4F, 0x52, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A702C _020A702C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x41, 0x4D, 0x41 .byte 0x4B, 0x45, 0x52, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A703C _020A703C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x45, 0x52, 0x55, 0x52 .byte 0x45, 0x49, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A704C _020A704C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x37, 0x00, 0x00, 0x00, 0x00 .global _020A705C _020A705C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x55, 0x52, 0x41 .byte 0x49, 0x47, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A706C _020A706C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x53, 0x41 .byte 0x49, 0x44, 0x4F, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020A707C _020A707C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x4E, 0x59 .byte 0x55, 0x55, 0x52, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A708C _020A708C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x4F, 0x52, 0x49 .byte 0x47, 0x4F, 0x4E, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A709C _020A709C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x45, 0x4E, 0x50, 0x45 .byte 0x52, 0x55, 0x54, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A70AC _020A70AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x4F, 0x4F, 0x53 .byte 0x55, 0x54, 0x4F, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A70BC _020A70BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00 .global _020A70CC _020A70CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x41, 0x49, 0x4E .byte 0x4F, 0x4F, 0x5A, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A70DC _020A70DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x41, 0x4E .byte 0x41, 0x49, 0x54, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A70EC _020A70EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x4F, 0x4F, 0x53 .byte 0x55, 0x54, 0x4F, 0x33, 0x00, 0x00, 0x00, 0x00 .global _020A70FC _020A70FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x41, 0x41, 0x4D, 0x41 .byte 0x52, 0x55, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A710C _020A710C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x33, 0x00, 0x00, 0x00, 0x00 .global _020A711C _020A711C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x49, 0x49, 0x44 .byte 0x4F, 0x52, 0x41, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020A712C _020A712C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x34, 0x00, 0x00, 0x00, 0x00 .global _020A713C _020A713C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x30, 0x00, 0x00, 0x00, 0x00 .global _020A714C _020A714C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x4F, 0x4F, 0x4E .byte 0x41, 0x4E, 0x53, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A715C _020A715C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x55, 0x4B, 0x4F .byte 0x52, 0x55, 0x50, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A716C _020A716C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x35, 0x00, 0x00, 0x00, 0x00 .global _020A717C _020A717C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x41, 0x52, 0x54 .byte 0x4E, 0x45, 0x52, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A718C _020A718C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4E, 0x50 .byte 0x41, 0x50, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A719C _020A719C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A71AC _020A71AC: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x35, 0x00, 0x00, 0x00, 0x00 .global _020A71BC _020A71BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x49, 0x4E, 0x47 .byte 0x55, 0x4D, 0x41, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A71CC _020A71CC: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x31, 0x00, 0x00, 0x00, 0x00 .global _020A71DC _020A71DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x49, 0x4B, 0x41 .byte 0x52, 0x55, 0x47, 0x45, 0x00, 0x00, 0x00, 0x00 .global _020A71EC _020A71EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x41, 0x52, 0x41 .byte 0x47, 0x41, 0x52, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A71FC _020A71FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x50, 0x55 .byte 0x52, 0x41, 0x53, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A720C _020A720C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4D, 0x55, 0x53 .byte 0x55, 0x54, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A721C _020A721C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x4F, 0x49, 0x4B .byte 0x49, 0x4E, 0x47, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A722C _020A722C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x41, 0x4D, 0x41 .byte 0x54, 0x41, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A723C _020A723C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x44, 0x49 .byte 0x47, 0x55, 0x44, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A724C _020A724C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x49, 0x4D, 0x45 .byte 0x47, 0x55, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A725C _020A725C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x55, 0x43, 0x48 .byte 0x55, 0x55, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A726C _020A726C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4A, 0x55, 0x50, 0x55 .byte 0x54, 0x4F, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A727C _020A727C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x4F, 0x4F, 0x52 .byte 0x49, 0x4B, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A728C _020A728C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x45, 0x4E, 0x44 .byte 0x4F, 0x4F, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A729C _020A729C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x42 .byte 0x49, 0x50, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A72AC _020A72AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x4B, 0x55 .byte 0x4F, 0x4E, 0x47, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A72BC _020A72BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x43, 0x48, 0x41, 0x41 .byte 0x52, 0x45, 0x4D, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A72CC _020A72CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x55, 0x43, 0x48 .byte 0x49, 0x49, 0x54, 0x4F, 0x00, 0x00, 0x00, 0x00 .global _020A72DC _020A72DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x33, 0x00, 0x00, 0x00, 0x00 .global _020A72EC _020A72EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x4B, 0x55 .byte 0x52, 0x41, 0x49, 0x34, 0x00, 0x00, 0x00, 0x00 .global _020A72FC _020A72FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x52, 0x41, 0x4D, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A730C _020A730C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x4F, 0x4D, 0x41 .byte 0x57, 0x41, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A731C _020A731C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x4A, 0x49 .byte 0x41, 0x49, 0x53, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A732C _020A732C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x55, 0x52, 0x49 .byte 0x49, 0x5A, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A733C _020A733C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x55, 0x52, 0x41 .byte 0x41, 0x44, 0x4F, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020A734C _020A734C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x4E, 0x54 .byte 0x4F, 0x52, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A735C _020A735C: .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x5F, 0x4E .byte 0x50, 0x43, 0x31, 0x36, 0x00, 0x00, 0x00, 0x00 .global _020A736C _020A736C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x55, 0x55, 0x4D .byte 0x41, 0x41, 0x4A, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A737C _020A737C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x55, 0x52, 0x45 .byte 0x47, 0x47, 0x55, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A738C _020A738C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4A, 0x49, 0x42, 0x41 .byte 0x4B, 0x4F, 0x49, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A739C _020A739C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x45, 0x52, 0x45, 0x4B .byte 0x49, 0x42, 0x55, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A73AC _020A73AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x4F, 0x4E, 0x4F .byte 0x57, 0x41, 0x41, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A73BC _020A73BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x53, 0x55 .byte 0x4B, 0x49, 0x50, 0x50, 0x41, 0x00, 0x00, 0x00 .global _020A73CC _020A73CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x49, 0x52, 0x41 .byte 0x54, 0x59, 0x49, 0x4E, 0x41, 0x00, 0x00, 0x00 .global _020A73DC _020A73DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x55, 0x52, 0x45 .byte 0x53, 0x45, 0x52, 0x49, 0x41, 0x00, 0x00, 0x00 .global _020A73EC _020A73EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x49, 0x52, 0x55, 0x4D .byte 0x49, 0x49, 0x5A, 0x45, 0x31, 0x00, 0x00, 0x00 .global _020A73FC _020A73FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x49, 0x52, 0x55, 0x4D .byte 0x49, 0x49, 0x5A, 0x45, 0x32, 0x00, 0x00, 0x00 .global _020A740C _020A740C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x49, 0x52, 0x55, 0x4D .byte 0x49, 0x49, 0x5A, 0x45, 0x33, 0x00, 0x00, 0x00 .global _020A741C _020A741C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x49, 0x52, 0x55, 0x4D .byte 0x49, 0x49, 0x5A, 0x45, 0x34, 0x00, 0x00, 0x00 .global _020A742C _020A742C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x41, 0x47, 0x45 .byte 0x42, 0x4F, 0x55, 0x5A, 0x55, 0x00, 0x00, 0x00 .global _020A743C _020A743C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x49, 0x50, 0x50 .byte 0x41, 0x5F, 0x42, 0x52, 0x4F, 0x00, 0x00, 0x00 .global _020A744C _020A744C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x49, 0x50, 0x50 .byte 0x41, 0x5F, 0x53, 0x49, 0x53, 0x00, 0x00, 0x00 .global _020A745C _020A745C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x41, 0x41, 0x00, 0x00, 0x00 .global _020A746C _020A746C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x55, 0x54, 0x4F .byte 0x52, 0x41, 0x49, 0x4B, 0x55, 0x00, 0x00, 0x00 .global _020A747C _020A747C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x59, 0x4F, 0x52 .byte 0x4F, 0x54, 0x4F, 0x4E, 0x4F, 0x00, 0x00, 0x00 .global _020A748C _020A748C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4E, 0x49, 0x47 .byte 0x4F, 0x4F, 0x52, 0x49, 0x32, 0x00, 0x00, 0x00 .global _020A749C _020A749C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4E, 0x49, 0x47 .byte 0x4F, 0x4F, 0x52, 0x49, 0x33, 0x00, 0x00, 0x00 .global _020A74AC _020A74AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x4F, 0x5A, 0x55 .byte 0x52, 0x45, 0x49, 0x44, 0x4F, 0x00, 0x00, 0x00 .global _020A74BC _020A74BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4E, 0x49, 0x47 .byte 0x4F, 0x4F, 0x52, 0x49, 0x34, 0x00, 0x00, 0x00 .global _020A74CC _020A74CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4B, 0x4F, 0x52 .byte 0x49, 0x5A, 0x41, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A74DC _020A74DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x4F, 0x4E, 0x00, 0x00, 0x00 .global _020A74EC _020A74EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x48, 0x45, 0x49 .byte 0x4D, 0x49, 0x5F, 0x46, 0x43, 0x00, 0x00, 0x00 .global _020A74FC _020A74FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x52, 0x49 .byte 0x59, 0x41, 0x41, 0x44, 0x4F, 0x00, 0x00, 0x00 .global _020A750C _020A750C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x45, 0x47, 0x41 .byte 0x59, 0x41, 0x4E, 0x4D, 0x41, 0x00, 0x00, 0x00 .global _020A751C _020A751C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x52, 0x49 .byte 0x42, 0x41, 0x41, 0x44, 0x4F, 0x00, 0x00, 0x00 .global _020A752C _020A752C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x52, 0x41, 0x4D, 0x49, 0x32, 0x00, 0x00, 0x00 .global _020A753C _020A753C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x52, 0x41, 0x4D, 0x49, 0x33, 0x00, 0x00, 0x00 .global _020A754C _020A754C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x33, 0x00, 0x00, 0x00 .global _020A755C _020A755C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x34, 0x00, 0x00, 0x00 .global _020A756C _020A756C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x35, 0x00, 0x00, 0x00 .global _020A757C _020A757C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x36, 0x00, 0x00, 0x00 .global _020A758C _020A758C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x37, 0x00, 0x00, 0x00 .global _020A759C _020A759C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x38, 0x00, 0x00, 0x00 .global _020A75AC _020A75AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x49, 0x44, 0x4F .byte 0x4B, 0x49, 0x4E, 0x47, 0x55, 0x00, 0x00, 0x00 .global _020A75BC _020A75BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x43, 0x48 .byte 0x49, 0x52, 0x49, 0x49, 0x4E, 0x00, 0x00, 0x00 .global _020A75CC _020A75CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x50, 0x55 .byte 0x4B, 0x55, 0x52, 0x49, 0x4E, 0x00, 0x00, 0x00 .global _020A75DC _020A75DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x41, 0x43, 0x48 .byte 0x49, 0x52, 0x49, 0x53, 0x55, 0x00, 0x00, 0x00 .global _020A75EC _020A75EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x41, 0x47 .byte 0x55, 0x4E, 0x4F, 0x4D, 0x55, 0x00, 0x00, 0x00 .global _020A75FC _020A75FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x41, 0x54, 0x43 .byte 0x48, 0x49, 0x49, 0x52, 0x55, 0x00, 0x00, 0x00 .global _020A760C _020A760C: .byte 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4E, 0x50 .byte 0x43, 0x5F, 0x53, 0x55, 0x42, 0x00, 0x00, 0x00 .global _020A761C _020A761C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x49, 0x52, 0x45 .byte 0x49, 0x48, 0x41, 0x4E, 0x41, 0x00, 0x00, 0x00 .global _020A762C _020A762C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x48, 0x45 .byte 0x49, 0x47, 0x41, 0x4E, 0x49, 0x00, 0x00, 0x00 .global _020A763C _020A763C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x41, 0x49, 0x42 .byte 0x4F, 0x52, 0x55, 0x54, 0x4F, 0x00, 0x00, 0x00 .global _020A764C _020A764C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x4D, 0x4F .byte 0x5F, 0x48, 0x45, 0x52, 0x4F, 0x00, 0x00, 0x00 .global _020A765C _020A765C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x50, 0x45 .byte 0x52, 0x41, 0x50, 0x50, 0x55, 0x00, 0x00, 0x00 .global _020A766C _020A766C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4E, 0x50 .byte 0x41, 0x50, 0x50, 0x41, 0x32, 0x00, 0x00, 0x00 .global _020A767C _020A767C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x45, 0x52, 0x4F .byte 0x5F, 0x52, 0x45, 0x41, 0x4C, 0x00, 0x00, 0x00 .global _020A768C _020A768C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4E, 0x50 .byte 0x41, 0x50, 0x50, 0x41, 0x33, 0x00, 0x00, 0x00 .global _020A769C _020A769C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4E, 0x50 .byte 0x41, 0x50, 0x50, 0x41, 0x34, 0x00, 0x00, 0x00 .global _020A76AC _020A76AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x47, 0x55 .byte 0x4D, 0x41, 0x47, 0x47, 0x55, 0x00, 0x00, 0x00 .global _020A76BC _020A76BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4E, 0x50 .byte 0x41, 0x50, 0x50, 0x41, 0x35, 0x00, 0x00, 0x00 .global _020A76CC _020A76CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x4F, 0x54 .byte 0x41, 0x4B, 0x55, 0x4E, 0x31, 0x00, 0x00, 0x00 .global _020A76DC _020A76DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x4F, 0x54 .byte 0x41, 0x4B, 0x55, 0x4E, 0x32, 0x00, 0x00, 0x00 .global _020A76EC _020A76EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x4F, 0x54 .byte 0x41, 0x4B, 0x55, 0x4E, 0x33, 0x00, 0x00, 0x00 .global _020A76FC _020A76FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x4F, 0x54 .byte 0x41, 0x4B, 0x55, 0x4E, 0x34, 0x00, 0x00, 0x00 .global _020A770C _020A770C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x41, 0x47, 0x55 .byte 0x54, 0x4F, 0x52, 0x49, 0x4F, 0x00, 0x00, 0x00 .global _020A771C _020A771C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x4F, 0x54 .byte 0x41, 0x4B, 0x55, 0x4E, 0x35, 0x00, 0x00, 0x00 .global _020A772C _020A772C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x4F, 0x4F, 0x54 .byte 0x41, 0x4B, 0x55, 0x4E, 0x36, 0x00, 0x00, 0x00 .global _020A773C _020A773C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x46 .byte 0x55, 0x54, 0x55, 0x52, 0x45, 0x00, 0x00, 0x00 .global _020A774C _020A774C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x52, 0x41, 0x4D, 0x49, 0x34, 0x00, 0x00, 0x00 .global _020A775C _020A775C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x47, 0x59, 0x41, 0x52 .byte 0x41, 0x44, 0x4F, 0x53, 0x55, 0x00, 0x00, 0x00 .global _020A776C _020A776C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4F, 0x4D, 0x55, 0x53 .byte 0x55, 0x54, 0x41, 0x41, 0x32, 0x00, 0x00, 0x00 .global _020A777C _020A777C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x52, 0x41, 0x4D, 0x49, 0x35, 0x00, 0x00, 0x00 .global _020A778C _020A778C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x44, 0x4F .byte 0x47, 0x4F, 0x4F, 0x4D, 0x55, 0x00, 0x00, 0x00 .global _020A779C _020A779C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x45, 0x52, 0x49 .byte 0x50, 0x50, 0x41, 0x41, 0x31, 0x00, 0x00, 0x00 .global _020A77AC _020A77AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x45, 0x52, 0x49 .byte 0x50, 0x50, 0x41, 0x41, 0x32, 0x00, 0x00, 0x00 .global _020A77BC _020A77BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x49, 0x4E, 0x4F .byte 0x47, 0x41, 0x53, 0x53, 0x41, 0x00, 0x00, 0x00 .global _020A77CC _020A77CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x41, 0x4B, 0x55 .byte 0x52, 0x45, 0x4F, 0x4E, 0x31, 0x00, 0x00, 0x00 .global _020A77DC _020A77DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x41, 0x4B, 0x55 .byte 0x52, 0x45, 0x4F, 0x4E, 0x32, 0x00, 0x00, 0x00 .global _020A77EC _020A77EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x4A, 0x49 .byte 0x52, 0x4F, 0x4B, 0x4B, 0x55, 0x00, 0x00, 0x00 .global _020A77FC _020A77FC: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x43 .byte 0x48, 0x41, 0x52, 0x4D, 0x53, 0x00, 0x00, 0x00 .global _020A780C _020A780C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x31, 0x00, 0x00, 0x00 .global _020A781C _020A781C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x55, 0x4B, 0x55 .byte 0x53, 0x48, 0x49, 0x4F, 0x32, 0x00, 0x00, 0x00 .global _020A782C _020A782C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x49, 0x4D, 0x49 .byte 0x52, 0x4F, 0x50, 0x50, 0x55, 0x00, 0x00, 0x00 .global _020A783C _020A783C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x55, 0x4B, 0x41 .byte 0x54, 0x41, 0x4E, 0x4B, 0x55, 0x00, 0x00, 0x00 .global _020A784C _020A784C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x46, 0x55, 0x57, 0x41 .byte 0x52, 0x41, 0x49, 0x44, 0x4F, 0x00, 0x00, 0x00 .global _020A785C _020A785C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x52, 0x41, 0x4D, 0x49, 0x36, 0x00, 0x00, 0x00 .global _020A786C _020A786C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x52, 0x55 .byte 0x42, 0x49, 0x49, 0x54, 0x4F, 0x31, 0x00, 0x00 .global _020A787C _020A787C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x52, 0x55 .byte 0x42, 0x49, 0x49, 0x54, 0x4F, 0x32, 0x00, 0x00 .global _020A788C _020A788C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4A, 0x49, 0x47, 0x55 .byte 0x5A, 0x41, 0x47, 0x55, 0x4D, 0x41, 0x00, 0x00 .global _020A789C _020A789C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x52, 0x55 .byte 0x42, 0x49, 0x49, 0x54, 0x4F, 0x33, 0x00, 0x00 .global _020A78AC _020A78AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x4A, 0x49 .byte 0x47, 0x49, 0x47, 0x41, 0x53, 0x55, 0x00, 0x00 .global _020A78BC _020A78BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x41, 0x52, 0x55 .byte 0x42, 0x49, 0x49, 0x54, 0x4F, 0x34, 0x00, 0x00 .global _020A78CC _020A78CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x53, 0x55 .byte 0x4B, 0x49, 0x50, 0x50, 0x41, 0x32, 0x00, 0x00 .global _020A78DC _020A78DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x53, 0x55 .byte 0x4B, 0x49, 0x50, 0x50, 0x41, 0x33, 0x00, 0x00 .global _020A78EC _020A78EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x53, 0x55 .byte 0x4B, 0x49, 0x50, 0x50, 0x41, 0x34, 0x00, 0x00 .global _020A78FC _020A78FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x53, 0x55 .byte 0x4B, 0x49, 0x50, 0x50, 0x41, 0x35, 0x00, 0x00 .global _020A790C _020A790C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x53, 0x55 .byte 0x4B, 0x49, 0x50, 0x50, 0x41, 0x36, 0x00, 0x00 .global _020A791C _020A791C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x4D, 0x49 .byte 0x4B, 0x41, 0x52, 0x41, 0x53, 0x55, 0x00, 0x00 .global _020A792C _020A792C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x4F, 0x43, 0x48 .byte 0x49, 0x45, 0x4E, 0x41, 0x5F, 0x41, 0x00, 0x00 .global _020A793C _020A793C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x4F, 0x43, 0x48 .byte 0x49, 0x45, 0x4E, 0x41, 0x5F, 0x42, 0x00, 0x00 .global _020A794C _020A794C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x4F, 0x43, 0x48 .byte 0x49, 0x45, 0x4E, 0x41, 0x5F, 0x43, 0x00, 0x00 .global _020A795C _020A795C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x55, 0x4B, 0x49 .byte 0x4B, 0x41, 0x42, 0x55, 0x52, 0x49, 0x00, 0x00 .global _020A796C _020A796C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x41, 0x41, 0x32, 0x00, 0x00 .global _020A797C _020A797C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x41, 0x41, 0x33, 0x00, 0x00 .global _020A798C _020A798C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x41, 0x41, 0x34, 0x00, 0x00 .global _020A799C _020A799C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x41, 0x41, 0x35, 0x00, 0x00 .global _020A79AC _020A79AC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x45, 0x52, 0x41 .byte 0x4B, 0x55, 0x52, 0x4F, 0x53, 0x55, 0x00, 0x00 .global _020A79BC _020A79BC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x52, 0x55 .byte 0x42, 0x49, 0x52, 0x55, 0x5F, 0x41, 0x00, 0x00 .global _020A79CC _020A79CC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x52, 0x55 .byte 0x42, 0x49, 0x52, 0x55, 0x5F, 0x42, 0x00, 0x00 .global _020A79DC _020A79DC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x52, 0x55 .byte 0x42, 0x49, 0x52, 0x55, 0x5F, 0x43, 0x00, 0x00 .global _020A79EC _020A79EC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x4F, 0x4E, 0x32, 0x00, 0x00 .global _020A79FC _020A79FC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x4F, 0x44, 0x4F .byte 0x5A, 0x45, 0x52, 0x55, 0x47, 0x41, 0x00, 0x00 .global _020A7A0C _020A7A0C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x45, 0x54, 0x4F .byte 0x42, 0x45, 0x54, 0x4F, 0x4E, 0x33, 0x00, 0x00 .global _020A7A1C _020A7A1C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x50 .byte 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x00, 0x00 .global _020A7A2C _020A7A2C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x55, 0x4B, 0x49 .byte 0x4D, 0x45, 0x4E, 0x4F, 0x4B, 0x4F, 0x00, 0x00 .global _020A7A3C _020A7A3C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x50 .byte 0x55, 0x50, 0x55, 0x52, 0x49, 0x4E, 0x00, 0x00 .global _020A7A4C _020A7A4C: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E .byte 0x54, 0x5F, 0x48, 0x45, 0x52, 0x4F, 0x00, 0x00 .global _020A7A5C _020A7A5C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x47, 0x55 .byte 0x4D, 0x41, 0x47, 0x47, 0x55, 0x32, 0x00, 0x00 .global _020A7A6C _020A7A6C: .byte 0x41, 0x44, 0x56, 0x45, 0x4E, 0x54, 0x55, 0x52 .byte 0x45, 0x5F, 0x4E, 0x50, 0x43, 0x31, 0x00, 0x00 .global _020A7A7C _020A7A7C: .byte 0x41, 0x44, 0x56, 0x45, 0x4E, 0x54, 0x55, 0x52 .byte 0x45, 0x5F, 0x4E, 0x50, 0x43, 0x32, 0x00, 0x00 .global _020A7A8C _020A7A8C: .byte 0x41, 0x44, 0x56, 0x45, 0x4E, 0x54, 0x55, 0x52 .byte 0x45, 0x5F, 0x4E, 0x50, 0x43, 0x33, 0x00, 0x00 .global _020A7A9C _020A7A9C: .byte 0x41, 0x44, 0x56, 0x45, 0x4E, 0x54, 0x55, 0x52 .byte 0x45, 0x5F, 0x4E, 0x50, 0x43, 0x34, 0x00, 0x00 .global _020A7AAC _020A7AAC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x59, 0x55 .byte 0x4B, 0x55, 0x53, 0x48, 0x49, 0x49, 0x00, 0x00 .global _020A7ABC _020A7ABC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x45, 0x4D .byte 0x55, 0x52, 0x49, 0x54, 0x54, 0x4F, 0x00, 0x00 .global _020A7ACC _020A7ACC: .byte 0x45, 0x56, 0x45, 0x4E, 0x54, 0x5F, 0x4E, 0x50 .byte 0x43, 0x5F, 0x4D, 0x41, 0x49, 0x4E, 0x00, 0x00 .global _020A7ADC _020A7ADC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x4B, 0x49 .byte 0x4D, 0x41, 0x57, 0x41, 0x52, 0x49, 0x00, 0x00 .global _020A7AEC _020A7AEC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x54, 0x53, 0x55, 0x42 .byte 0x4F, 0x54, 0x53, 0x55, 0x42, 0x4F, 0x00, 0x00 .global _020A7AFC _020A7AFC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x49, 0x52, 0x45 .byte 0x49, 0x48, 0x41, 0x4E, 0x41, 0x32, 0x00, 0x00 .global _020A7B0C _020A7B0C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4E, 0x45, 0x57, 0x5F .byte 0x46, 0x52, 0x49, 0x45, 0x4E, 0x44, 0x00, 0x00 .global _020A7B1C _020A7B1C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x4A, 0x55 .byte 0x50, 0x55, 0x54, 0x4F, 0x52, 0x55, 0x00, 0x00 .global _020A7B2C _020A7B2C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x49, 0x52, 0x45 .byte 0x49, 0x48, 0x41, 0x4E, 0x41, 0x33, 0x00, 0x00 .global _020A7B3C _020A7B3C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x48, 0x45, 0x52, 0x4F .byte 0x5F, 0x46, 0x49, 0x52, 0x53, 0x54, 0x00, 0x00 .global _020A7B4C _020A7B4C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x49, 0x52, 0x45 .byte 0x49, 0x48, 0x41, 0x4E, 0x41, 0x34, 0x00, 0x00 .global _020A7B5C _020A7B5C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x41 .byte 0x50, 0x50, 0x4F, 0x49, 0x4E, 0x54, 0x00, 0x00 .global _020A7B6C _020A7B6C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x41, 0x42, 0x55 .byte 0x54, 0x4F, 0x50, 0x55, 0x53, 0x55, 0x00, 0x00 .global _020A7B7C _020A7B7C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x57, 0x41 .byte 0x4D, 0x55, 0x52, 0x41, 0x41, 0x31, 0x00, 0x00 .global _020A7B8C _020A7B8C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x57, 0x41 .byte 0x4D, 0x55, 0x52, 0x41, 0x41, 0x32, 0x00, 0x00 .global _020A7B9C _020A7B9C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x57, 0x41 .byte 0x4D, 0x55, 0x52, 0x41, 0x41, 0x33, 0x00, 0x00 .global _020A7BAC _020A7BAC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x57, 0x41 .byte 0x4D, 0x55, 0x52, 0x41, 0x41, 0x34, 0x00, 0x00 .global _020A7BBC _020A7BBC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x57, 0x41 .byte 0x4D, 0x55, 0x52, 0x41, 0x41, 0x35, 0x00, 0x00 .global _020A7BCC _020A7BCC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x41, 0x52, 0x55 .byte 0x4B, 0x49, 0x4D, 0x4F, 0x4E, 0x4F, 0x00, 0x00 .global _020A7BDC _020A7BDC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x41, 0x57, 0x41 .byte 0x4D, 0x55, 0x52, 0x41, 0x41, 0x36, 0x00, 0x00 .global _020A7BEC _020A7BEC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4B, 0x55, 0x52, 0x45 .byte 0x53, 0x45, 0x52, 0x49, 0x41, 0x32, 0x00, 0x00 .global _020A7BFC _020A7BFC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x42, 0x4F, 0x53, 0x55 .byte 0x47, 0x4F, 0x44, 0x4F, 0x52, 0x41, 0x00, 0x00 .global _020A7C0C _020A7C0C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x47, 0x55 .byte 0x4B, 0x41, 0x52, 0x55, 0x47, 0x4F, 0x00, 0x00 .global _020A7C1C _020A7C1C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x41, 0x44, 0x41 .byte 0x54, 0x53, 0x55, 0x42, 0x4F, 0x4D, 0x49, 0x00 .global _020A7C2C _020A7C2C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x55, 0x4B, 0x49 .byte 0x57, 0x41, 0x52, 0x41, 0x53, 0x48, 0x49, 0x00 .global _020A7C3C _020A7C3C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x50 .byte 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x32, 0x00 .global _020A7C4C _020A7C4C: .byte 0x50, 0x4C, 0x41, 0x59, 0x45, 0x52, 0x5F, 0x4B .byte 0x49, 0x4D, 0x41, 0x57, 0x41, 0x52, 0x49, 0x00 .global _020A7C5C _020A7C5C: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E .byte 0x54, 0x5F, 0x42, 0x49, 0x50, 0x50, 0x41, 0x00 .global _020A7C6C _020A7C6C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x44, 0x41 .byte 0x47, 0x55, 0x54, 0x4F, 0x52, 0x49, 0x4F, 0x00 .global _020A7C7C _020A7C7C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x59, 0x4F .byte 0x4E, 0x4F, 0x57, 0x41, 0x41, 0x52, 0x55, 0x00 .global _020A7C8C _020A7C8C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x59, 0x41 .byte 0x4D, 0x49, 0x52, 0x41, 0x4D, 0x49, 0x31, 0x00 .global _020A7C9C _020A7C9C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x5F, 0x59, 0x41 .byte 0x4D, 0x49, 0x52, 0x41, 0x4D, 0x49, 0x32, 0x00 .global _020A7CAC _020A7CAC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x52, 0x45, 0x4A, 0x49 .byte 0x53, 0x55, 0x43, 0x48, 0x49, 0x52, 0x55, 0x00 .global _020A7CBC _020A7CBC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x55, 0x4B, 0x49 .byte 0x57, 0x41, 0x52, 0x41, 0x53, 0x48, 0x49, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A7CD0 _020A7CD0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x59, 0x55, 0x4B, 0x49, 0x57, 0x41, 0x52, 0x41, 0x53, 0x48, 0x49, 0x33, 0x00, 0x00, 0x00, 0x00 .global _020A7CE4 _020A7CE4: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x55, 0x4B, 0x49, 0x57, 0x41, 0x52, 0x41, 0x53, 0x48, 0x49, 0x34 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7CF8 _020A7CF8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x55, 0x4B, 0x55, 0x52, 0x49, 0x4E, 0x5F .byte 0x50, 0x41, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A7D0C _020A7D0C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x50, 0x55, 0x4B, 0x55 .byte 0x52, 0x49, 0x4E, 0x5F, 0x4D, 0x41, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A7D20 _020A7D20: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x59, 0x4F, 0x4E, 0x4F, 0x57, 0x41, 0x41, 0x52, 0x55, 0x5F, 0x4E, 0x38, 0x00, 0x00, 0x00, 0x00 .global _020A7D34 _020A7D34: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x43, 0x48, 0x41, 0x52, 0x4D, 0x53 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7D48 _020A7D48: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x4D, 0x41 .byte 0x4E, 0x41, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00 .global _020A7D5C _020A7D5C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x45, 0x4D, 0x4F .byte 0x5F, 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x00, 0x00, 0x00, 0x00 .global _020A7D70 _020A7D70: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x5F, 0x52, 0x45, 0x41, 0x4C, 0x00, 0x00, 0x00, 0x00 .global _020A7D84 _020A7D84: .byte 0x4E, 0x50, 0x43, 0x5F, 0x59, 0x4F, 0x4E, 0x4F, 0x57, 0x41, 0x41, 0x52, 0x55, 0x5F, 0x4E, 0x39 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7D98 _020A7D98: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x46, 0x55 .byte 0x54, 0x55, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00 .global _020A7DAC _020A7DAC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x44, 0x41, 0x52, 0x4B .byte 0x5F, 0x50, 0x55, 0x4B, 0x55, 0x52, 0x49, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020A7DC0 _020A7DC0: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x44, 0x41, 0x52, 0x4B, 0x5F, 0x44, 0x49, 0x41, 0x52, 0x55, 0x47, 0x41, 0x00, 0x00, 0x00, 0x00 .global _020A7DD4 _020A7DD4: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45 .byte 0x52, 0x00, 0x00, 0x00 .global _020A7DE8 _020A7DE8: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x41, 0x50 .byte 0x50, 0x4F, 0x49, 0x4E, 0x54, 0x00, 0x00, 0x00 .global _020A7DFC _020A7DFC: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E .byte 0x54, 0x5F, 0x50, 0x55, 0x50, 0x55, 0x52, 0x49, 0x4E, 0x00, 0x00, 0x00 .global _020A7E10 _020A7E10: .byte 0x4E, 0x50, 0x43, 0x5F .byte 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45, 0x52, 0x5F, 0x46, 0x49, 0x52, 0x53, 0x54, 0x00, 0x00, 0x00 .global _020A7E24 _020A7E24: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x50, 0x41, 0x52, 0x54, 0x4E, 0x45 .byte 0x52, 0x32, 0x00, 0x00 .global _020A7E38 _020A7E38: .byte 0x41, 0x54, 0x54, 0x45, 0x4E, 0x44, 0x41, 0x4E, 0x54, 0x5F, 0x4B, 0x49 .byte 0x4D, 0x41, 0x57, 0x41, 0x52, 0x49, 0x00, 0x00 .global _020A7E4C _020A7E4C: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x45, 0x54, 0x41 .byte 0x4D, 0x4F, 0x4E, 0x5F, 0x4F, 0x54, 0x41, 0x43, 0x48, 0x49, 0x00, 0x00 .global _020A7E60 _020A7E60: .byte 0x4F, 0x42, 0x4A, 0x5F .byte 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x44, 0x4F, 0x4F, 0x54, 0x41, 0x4B, 0x55, 0x4E, 0x00, 0x00 .global _020A7E74 _020A7E74: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x44, 0x4F, 0x4F, 0x54, 0x41, 0x4B .byte 0x55, 0x4E, 0x32, 0x00 .global _020A7E88 _020A7E88: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x44, 0x4F .byte 0x4F, 0x54, 0x41, 0x4B, 0x55, 0x4E, 0x33, 0x00 .global _020A7E9C _020A7E9C: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47 .byte 0x45, 0x5F, 0x44, 0x4F, 0x4F, 0x54, 0x41, 0x4B, 0x55, 0x4E, 0x34, 0x00 .global _020A7EB0 _020A7EB0: .byte 0x4F, 0x42, 0x4A, 0x5F .byte 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x44, 0x4F, 0x4F, 0x54, 0x41, 0x4B, 0x55, 0x4E, 0x35, 0x00 .global _020A7EC4 _020A7EC4: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x44, 0x4F, 0x4F, 0x54, 0x41, 0x4B .byte 0x55, 0x4E, 0x36, 0x00 .global _020A7ED8 _020A7ED8: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x53, 0x41 .byte 0x57, 0x41, 0x4D, 0x55, 0x52, 0x41, 0x41, 0x00 .global _020A7EEC _020A7EEC: .byte 0x4E, 0x50, 0x43, 0x5F, 0x53, 0x48, 0x41, 0x44 .byte 0x4F, 0x57, 0x5F, 0x44, 0x41, 0x41, 0x4B, 0x55, 0x52, 0x41, 0x49, 0x00 .global _020A7F00 _020A7F00: .byte 0x52, 0x41, 0x4E, 0x44 .byte 0x4F, 0x4D, 0x5F, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x31 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7F18 _020A7F18: .byte 0x52, 0x41, 0x4E, 0x44, 0x4F, 0x4D, 0x5F, 0x52, 0x45, 0x51, 0x55, 0x45 .byte 0x53, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00 .global _020A7F30 _020A7F30: .byte 0x52, 0x41, 0x4E, 0x44 .byte 0x4F, 0x4D, 0x5F, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5F, 0x4E, 0x50, 0x43, 0x30, 0x33 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7F48 _020A7F48: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x52, 0x45 .byte 0x4A, 0x49, 0x47, 0x49, 0x47, 0x41, 0x53, 0x55, 0x00, 0x00, 0x00, 0x00 .global _020A7F60 _020A7F60: .byte 0x4F, 0x42, 0x4A, 0x5F .byte 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x53, 0x41, 0x57, 0x41, 0x4D, 0x55, 0x52, 0x41, 0x41, 0x32 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7F78 _020A7F78: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x53, 0x41 .byte 0x57, 0x41, 0x4D, 0x55, 0x52, 0x41, 0x41, 0x33, 0x00, 0x00, 0x00, 0x00 .global _020A7F90 _020A7F90: .byte 0x4F, 0x42, 0x4A, 0x5F .byte 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x53, 0x41, 0x57, 0x41, 0x4D, 0x55, 0x52, 0x41, 0x41, 0x34 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7FA8 _020A7FA8: .byte 0x4F, 0x42, 0x4A, 0x5F, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x53, 0x41 .byte 0x57, 0x41, 0x4D, 0x55, 0x52, 0x41, 0x41, 0x35, 0x00, 0x00, 0x00, 0x00 .global _020A7FC0 _020A7FC0: .byte 0x4F, 0x42, 0x4A, 0x5F .byte 0x49, 0x4D, 0x41, 0x47, 0x45, 0x5F, 0x53, 0x41, 0x57, 0x41, 0x4D, 0x55, 0x52, 0x41, 0x41, 0x36 .byte 0x00, 0x00, 0x00, 0x00 .global _020A7FD8 _020A7FD8: .byte 0x4E, 0x50, 0x43, 0x5F, 0x4D, 0x45, 0x54, 0x41, 0x4D, 0x4F, 0x4E, 0x5F .byte 0x4B, 0x49, 0x52, 0x45, 0x49, 0x48, 0x41, 0x4E, 0x41, 0x00, 0x00, 0x00 .global ENTITIES ENTITIES: .byte 0x01, 0x00, 0x00, 0x00 .word ACTOR_LIST .byte 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00 .word _020A6EAC .byte 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00 .word _020A7A1C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x01, 0x00, 0x00, 0x00 .word _020A7C3C .byte 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00 .word _020A7B5C .byte 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0xB2, 0x01 .word _020A729C .byte 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0xAE, 0x00 .word _020A7A3C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x01, 0x00, 0xC0, 0x00 .word _020A7C4C .byte 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x40, 0x02 .word _020A773C .byte 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x2E, 0x04 .word _020A77FC .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00 .word _020A6B04 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x02, 0x00, 0x00, 0x00 .word _020A6A38 .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00 .word _020A7A4C .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00 .word _020A7DD4 .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00 .word _020A7E24 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x02, 0x00, 0x00, 0x00 .word _020A7DE8 .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0xB2, 0x01 .word _020A7C5C .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0xAE, 0x00 .word _020A7DFC .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0xC0, 0x00 .word _020A7E38 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x02, 0x00, 0x19, 0x01 .word _020A7D98 .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x2E, 0x04 .word _020A7D34 .byte 0x00, 0x00, 0x02, 0x01, 0x02, 0x00, 0x14, 0x02 .word _020A7D48 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6948 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x03, 0x00, 0x00, 0x00 .word _020A6990 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A696C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A69D8 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A7A6C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x03, 0x00, 0x00, 0x00 .word _020A7A7C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A7A8C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A7A9C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6C30 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x03, 0x00, 0x00, 0x00 .word _020A6C54 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6E34 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6E28 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6DA4 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x03, 0x00, 0x00, 0x00 .word _020A6C6C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6E64 .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6CFC .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A6C0C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x03, 0x00, 0x00, 0x00 .word _020A713C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A71CC .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A719C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A710C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x03, 0x00, 0x00, 0x00 .word _020A712C .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A71AC .byte 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00 .word _020A735C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A69C0 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x00, 0x00 .word _020A6918 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A7ACC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A760C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A7F00 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x00, 0x00 .word _020A7F18 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A7F30 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A6C24 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A6E70 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x00, 0x00 .word _020A6EC4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A6E1C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A7B0C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A764C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x00, 0x00 .word _020A7D5C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A6930 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A6CB4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A717C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x00, 0x00 .word _020A6C3C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A767C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A7D70 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 .word _020A7B3C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x00, 0x00 .word _020A7E10 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB8, 0x00 .word _020A69B4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x7F, 0x01 .word _020A6C84 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x80, 0x01 .word _020A6C60 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x35, 0x00 .word _020A6D38 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x73, 0x00 .word _020A6D2C .byte 0x00, 0x00, 0x02, 0x01, 0x06, 0x00, 0x2B, 0x01 .word _020A6DC8 .byte 0x82, 0x45, 0x02, 0x01, 0x05, 0x00, 0xEC, 0x00 .word _020A6D68 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xED, 0x00 .word _020A6E4C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x44, 0x01 .word _020A6D50 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x00 .word _020A6C78 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xBD, 0x00 .word _020A6D08 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x28, 0x00 .word _020A6B7C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x29, 0x00 .word _020A6B4C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x32, 0x00 .word _020A6A14 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x33, 0x00 .word _020A770C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x38, 0x00 .word _020A6A50 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x39, 0x00 .word _020A74CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x00 .word _020A6984 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x60, 0x00 .word _020A6C18 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x62, 0x00 .word _020A69F0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x69, 0x00 .word _020A71EC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x6D, 0x00 .word _020A6DD4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x71, 0x00 .word _020A6AA4 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x73, 0x00 .word _020A6C00 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x82, 0x00 .word _020A775C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x83, 0x00 .word _020A71FC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x8B, 0x00 .word _020A720C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x8B, 0x00 .word _020A776C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x8D, 0x00 .word _020A7B6C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB2, 0x00 .word _020A6E04 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0D, 0x03 .word _020A6EE8 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xB7, 0x00 .word _020A6AE0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB9, 0x00 .word _020A6C9C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x18, 0x03 .word _020A6F2C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4B, 0x03 .word _020A724C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xF4, 0x00 .word _020A6CC0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x17, 0x01 .word _020A6B34 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x19, 0x01 .word _020A726C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x33, 0x01 .word _020A779C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x8B, 0x03 .word _020A77AC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x3C, 0x01 .word _020A7BCC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x42, 0x01 .word _020A6F00 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x46, 0x01 .word _020A6ABC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x4A, 0x01 .word _020A72FC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xA8, 0x03 .word _020A72BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x60, 0x01 .word _020A6BAC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x61, 0x01 .word _020A6EB8 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x71, 0x01 .word _020A6E40 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x7F, 0x01 .word _020A77CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x80, 0x01 .word _020A77DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x83, 0x01 .word _020A730C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xDE, 0x03 .word _020A6DEC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x99, 0x01 .word _020A77EC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x9A, 0x01 .word _020A731C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x9B, 0x01 .word _020A7CAC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x9F, 0x01 .word _020A733C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB2, 0x01 .word _020A69CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB7, 0x01 .word _020A780C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0F, 0x04 .word _020A781C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xB8, 0x01 .word _020A734C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2E, 0x04 .word _020A782C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xDD, 0x01 .word _020A783C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x39, 0x04 .word _020A6A2C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xE3, 0x01 .word _020A6ED0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xE4, 0x01 .word _020A71DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xEF, 0x01 .word _020A737C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF8, 0x01 .word _020A738C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xFC, 0x01 .word _020A739C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x07, 0x02 .word _020A73AC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0A, 0x02 .word _020A6F0C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0B, 0x02 .word _020A6F1C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x0C, 0x02 .word _020A6CCC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0D, 0x02 .word _020A6CE4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0E, 0x02 .word _020A6BD0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x10, 0x02 .word _020A78AC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x11, 0x02 .word _020A73CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x12, 0x02 .word _020A73DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x13, 0x02 .word _020A6A8C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x13, 0x02 .word _020A6A44 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x13, 0x02 .word _020A6A74 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x13, 0x02 .word _020A6AD4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x13, 0x02 .word _020A6A68 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x13, 0x02 .word _020A6B1C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x13, 0x02 .word _020A6A5C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x13, 0x02 .word _020A6AC8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x14, 0x02 .word _020A69FC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x15, 0x02 .word _020A6F4C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x2A, 0x02 .word _020A69A8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2A, 0x02 .word _020A6978 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x00 .word _020A6A20 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x10, 0x00 .word _020A699C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x2D, 0x01 .word _020A6CD8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x31, 0x01 .word _020A6F8C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x25, 0x01 .word _020A6EDC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x1D, 0x03 .word _020A6F9C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xD9, 0x03 .word _020A742C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x1E, 0x03 .word _020A791C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x21, 0x01 .word _020A792C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x21, 0x01 .word _020A793C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x21, 0x01 .word _020A794C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x6B, 0x01 .word _020A6FCC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x7B, 0x00 .word _020A746C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x1C, 0x00 .word _020A6FFC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xA5, 0x02 .word _020A6B40 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB7, 0x03 .word _020A6D98 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x45, 0x00 .word _020A7C1C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xAF, 0x00 .word _020A6BA0 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xBA, 0x00 .word _020A747C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xA5, 0x00 .word _020A6AF8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4F, 0x00 .word _020A6954 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x3B, 0x01 .word _020A702C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x05, 0x02 .word _020A703C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xBA, 0x01 .word _020A74AC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFA, 0x01 .word _020A706C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4F, 0x04 .word _020A707C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x18, 0x00 .word _020A6BDC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xEE, 0x01 .word _020A6F3C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x1D, 0x01 .word _020A6FBC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xAE, 0x01 .word _020A709C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xF1, 0x00 .word _020A79AC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFF, 0x00 .word _020A79BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFF, 0x00 .word _020A79CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFF, 0x00 .word _020A79DC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x36, 0x01 .word _020A70DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x8D, 0x01 .word _020A79FC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xEF, 0x00 .word _020A6E7C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x7A, 0x00 .word _020A74FC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x90, 0x00 .word _020A732C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x08, 0x02 .word _020A7A2C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4C, 0x03 .word _020A71BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4A, 0x01 .word _020A752C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x4A, 0x01 .word _020A753C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4A, 0x01 .word _020A774C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4A, 0x01 .word _020A777C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4A, 0x01 .word _020A785C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xB7, 0x01 .word _020A754C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB7, 0x01 .word _020A755C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB7, 0x01 .word _020A756C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0F, 0x04 .word _020A757C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x0F, 0x04 .word _020A758C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0F, 0x04 .word _020A759C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0F, 0x02 .word _020A711C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x14, 0x01 .word _020A6960 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x97, 0x00 .word _020A6924 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x15, 0x01 .word _020A69E4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2F, 0x02 .word _020A75BC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x30, 0x02 .word _020A75CC .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x31, 0x02 .word _020A7AAC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x32, 0x02 .word _020A75EC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x33, 0x02 .word _020A7ABC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x34, 0x02 .word _020A7ADC .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x35, 0x02 .word _020A723C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x36, 0x02 .word _020A7C6C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x37, 0x02 .word _020A762C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x38, 0x02 .word _020A778C .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x39, 0x02 .word _020A6B94 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x3A, 0x02 .word _020A765C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x3B, 0x02 .word _020A7B1C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x3C, 0x02 .word _020A7C7C .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x3D, 0x02 .word _020A7C8C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x3D, 0x02 .word _020A7C9C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2B, 0x02 .word _020A7DAC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2C, 0x02 .word _020A7F48 .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0xDF, 0x01 .word _020A76CC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0xDF, 0x01 .word _020A76DC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0xDF, 0x01 .word _020A76EC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0xDF, 0x01 .word _020A76FC .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0xDF, 0x01 .word _020A771C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0xDF, 0x01 .word _020A772C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2D, 0x02 .word _020A7E60 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2D, 0x02 .word _020A7E74 .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x2D, 0x02 .word _020A7E88 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2D, 0x02 .word _020A7E9C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2D, 0x02 .word _020A7EB0 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2D, 0x02 .word _020A7EC4 .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x6A, 0x00 .word _020A7B7C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x6A, 0x00 .word _020A7B8C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x6A, 0x00 .word _020A7B9C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x6A, 0x00 .word _020A7BAC .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x6A, 0x00 .word _020A7BBC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x6A, 0x00 .word _020A7BDC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2E, 0x02 .word _020A7ED8 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2E, 0x02 .word _020A7F60 .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x2E, 0x02 .word _020A7F78 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2E, 0x02 .word _020A7F90 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2E, 0x02 .word _020A7FA8 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x2E, 0x02 .word _020A7FC0 .byte 0x00, 0x00, 0x01, 0x01 .byte 0x05, 0x00, 0x28, 0x02 .word _020A7DC0 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x3E, 0x02 .word _020A7EEC .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x12, 0x02 .word _020A7BEC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4E, 0x01 .word _020A7BFC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xF6, 0x00 .word _020A7C0C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFD, 0x01 .word _020A6D74 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xD7, 0x01 .word _020A736C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x55, 0x01 .word _020A786C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x55, 0x01 .word _020A787C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x55, 0x01 .word _020A789C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x55, 0x01 .word _020A78BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x56, 0x01 .word _020A73EC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x56, 0x01 .word _020A73FC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x56, 0x01 .word _020A740C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x56, 0x01 .word _020A741C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xE6, 0x01 .word _020A6B58 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xA0, 0x01 .word _020A6F5C .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0x9E, 0x01 .word _020A6B64 .byte 0x00, 0x00, 0x01, 0x01, 0x05, 0x00, 0xA1, 0x01 .word _020A6F6C .byte 0x00, 0x00, 0x02, 0x01, 0x06, 0x00, 0x0B, 0x04 .word _020A6E94 .byte 0x83, 0x45, 0x02, 0x01 .byte 0x06, 0x00, 0xB2, 0x01 .word _020A743C .byte 0x85, 0x45, 0x02, 0x01, 0x06, 0x00, 0x0A, 0x04 .word _020A744C .byte 0x84, 0x45, 0x02, 0x01, 0x05, 0x00, 0xEA, 0x00 .word _020A705C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x93, 0x01 .word _020A6FEC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xF5, 0x01 .word _020A795C .byte 0x00, 0x00, 0x03, 0x02, 0x05, 0x00, 0x03, 0x02 .word _020A6AEC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x8A, 0x01 .word _020A701C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x8A, 0x01 .word _020A748C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x8A, 0x01 .word _020A749C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x8A, 0x01 .word _020A74BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x89, 0x00 .word _020A6BE8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x89, 0x00 .word _020A708C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x89, 0x01 .word _020A7C2C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x89, 0x01 .word _020A7CBC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x89, 0x01 .word _020A7CD0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x89, 0x01 .word _020A7CE4 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x82, 0x01 .word _020A6E58 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xED, 0x01 .word _020A715C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x78, 0x01 .word _020A70FC .byte 0x00, 0x00, 0x03, 0x02, 0x06, 0x00, 0x28, 0x00 .word _020A7CF8 .byte 0x86, 0x45, 0x02, 0x02 .byte 0x06, 0x00, 0x3F, 0x02 .word _020A7D0C .byte 0x87, 0x45, 0x02, 0x02, 0x05, 0x00, 0xC2, 0x00 .word _020A693C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x09, 0x01 .word _020A725C .byte 0x00, 0x00, 0x02, 0x02, 0x05, 0x00, 0x11, 0x04 .word _020A6CA8 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x22, 0x00 .word _020A75AC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x88, 0x01 .word _020A6EF4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x3D, 0x03 .word _020A714C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x63, 0x01 .word _020A75FC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xFB, 0x00 .word _020A6B10 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF0, 0x00 .word _020A7AEC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2C, 0x01 .word _020A718C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2C, 0x01 .word _020A766C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x2C, 0x01 .word _020A768C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2C, 0x01 .word _020A769C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x2C, 0x01 .word _020A76BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x67, 0x00 .word _020A6D80 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x16, 0x02 .word _020A6B28 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x16, 0x02 .word _020A6BC4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x16, 0x02 .word _020A6DE0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x16, 0x02 .word _020A6D8C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x16, 0x02 .word _020A6BB8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x16, 0x02 .word _020A6CF0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x43, 0x00 .word _020A727C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x3A, 0x01 .word _020A77BC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x4B, 0x01 .word _020A72CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF2, 0x00 .word _020A6A98 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x81, 0x00 .word _020A721C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x79, 0x01 .word _020A6DB0 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xD4, 0x01 .word _020A784C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x66, 0x00 .word _020A722C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x23, 0x01 .word _020A788C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF1, 0x01 .word _020A73BC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xF1, 0x01 .word _020A78CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF1, 0x01 .word _020A78DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF1, 0x01 .word _020A78EC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF1, 0x01 .word _020A78FC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0xF1, 0x01 .word _020A790C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x58, 0x00 .word _020A745C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x58, 0x00 .word _020A796C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x58, 0x00 .word _020A797C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x58, 0x00 .word _020A798C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x58, 0x00 .word _020A799C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x59, 0x00 .word _020A74DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x59, 0x00 .word _020A79EC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x59, 0x00 .word _020A7A0C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFC, 0x00 .word _020A751C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xB3, 0x00 .word _020A6D44 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xBD, 0x00 .word _020A6C48 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x5E, 0x01 .word _020A6D20 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xC8, 0x01 .word _020A75DC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0E, 0x03 .word _020A761C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0E, 0x03 .word _020A7AFC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x0E, 0x03 .word _020A7B2C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x0E, 0x03 .word _020A7B4C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4D, 0x01 .word _020A6AB0 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4D, 0x01 .word _020A6B88 .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x4D, 0x01 .word _020A6E10 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4D, 0x01 .word _020A6C90 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4D, 0x01 .word _020A6E88 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4D, 0x01 .word _020A6DBC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x84, 0x00 .word _020A6BF4 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x4B, 0x00 .word _020A6A80 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xA1, 0x00 .word _020A6A08 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x00, 0x01 .word _020A6D5C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x68, 0x01 .word _020A6FAC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xE9, 0x00 .word _020A700C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x5D, 0x00 .word _020A6DF8 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x5D, 0x00 .word _020A70AC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x5D, 0x00 .word _020A70EC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF5, 0x00 .word _020A76AC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xF5, 0x00 .word _020A7A5C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x17, 0x02 .word _020A74EC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x52, 0x01 .word _020A763C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x01 .word _020A6D14 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x01 .word _020A6FDC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x01 .word _020A72DC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x51, 0x01 .word _020A72EC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x01 .word _020A716C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x01 .word _020A6F7C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x51, 0x01 .word _020A704C .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x51, 0x01 .word _020A70BC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x41, 0x02 .word _020A7D20 .byte 0x00, 0x00, 0x03, 0x02, 0x05, 0x00, 0x42, 0x02 .word _020A7D84 .byte 0x00, 0x00, 0x03, 0x02, 0x05, 0x00, 0x43, 0x02 .word _020A7E4C .byte 0x00, 0x00, 0x02, 0x02 .byte 0x05, 0x00, 0x44, 0x02 .word _020A7FD8 .byte 0x00, 0x00, 0x02, 0x02, 0x05, 0x00, 0xC7, 0x01 .word _020A6B70 .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x06, 0x02 .word _020A70CC .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0x43, 0x01 .word _020A72AC .byte 0x00, 0x00, 0x02, 0x01 .byte 0x05, 0x00, 0x74, 0x01 .word _020A728C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xFF, 0x01 .word _020A750C .byte 0x00, 0x00, 0x02, 0x01, 0x05, 0x00, 0xE2, 0x01 .word _020A6EA0 .byte 0x00, 0x00, 0x02, 0x01 .global _020A9208 _020A9208: .byte 0x53, 0x50, 0x45, 0x50, 0x20, 0x54, 0x59, 0x50, 0x45, 0x20, 0x25, 0x64 .byte 0x0A, 0x00, 0x00, 0x00 .global JOB_D_BOX_LAYOUT_1 JOB_D_BOX_LAYOUT_1: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global JOB_MENU_1 JOB_MENU_1: .byte 0x09, 0x38, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x38, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x08, 0x38, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_2 JOB_MENU_2: .byte 0x0A, 0x38, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x38, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x08, 0x38, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global _020A9268 _020A9268: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x0E, 0x08, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020A9278 _020A9278: .byte 0x33, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020A9288 _020A9288: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1A, 0x11, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020A9298 _020A9298: .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x05, 0x08, 0x00, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020A92A8 _020A92A8: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x1A, 0x02, 0x00, 0xFE, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global JOB_MENU_3 JOB_MENU_3: .byte 0x29, 0x38, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2A, 0x38, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_4 JOB_MENU_4: .byte 0x29, 0x38, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x2A, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_5 JOB_MENU_5: .byte 0x91, 0x37, 0x00, 0x00 .global _020A92EC _020A92EC: .byte 0x01, 0x00, 0x00, 0x00, 0x92, 0x37, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_6 JOB_MENU_6: .byte 0x29, 0x38, 0x00, 0x00 .global _020A9304 _020A9304: .byte 0x01, 0x00, 0x00, 0x00, 0x2A, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_7 JOB_MENU_7: .byte 0xB1, 0x37, 0x00, 0x00 .global _020A931C _020A931C: .byte 0x05, 0x00, 0x00, 0x00, 0xB2, 0x37, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_8 JOB_MENU_8: .byte 0xB4, 0x37, 0x00, 0x00 .global _020A9334 _020A9334: .byte 0x02, 0x00, 0x00, 0x00, 0xB5, 0x37, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_9 JOB_MENU_9: .byte 0x29, 0x38, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2A, 0x38, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_10 JOB_MENU_10: .byte 0x0E, 0x38, 0x00, 0x00 .global _020A9364 _020A9364: .byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_11 JOB_MENU_11: .byte 0x29, 0x38, 0x00, 0x00 .global _020A937C _020A937C: .byte 0x06, 0x00, 0x00, 0x00, 0x2A, 0x38, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_12 JOB_MENU_12: .byte 0x0F, 0x38, 0x00, 0x00 .global _020A9394 _020A9394: .byte 0x03, 0x00, 0x00, 0x00, 0x11, 0x38, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x38, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_MENU_13 JOB_MENU_13: .byte 0x10, 0x38, 0x00, 0x00 .global _020A93B4 _020A93B4: .byte 0x04, 0x00, 0x00, 0x00, 0x11, 0x38, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x38, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global JOB_D_BOX_LAYOUT_2 JOB_D_BOX_LAYOUT_2: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x1C, 0x14, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global DUNGEON_SWAP_ID_TABLE DUNGEON_SWAP_ID_TABLE: .byte 0x00, 0x01, 0x02, 0x03 .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13 .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23 .byte 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33 .byte 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43 .byte 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53 .byte 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63 .byte 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73 .byte 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83 .byte 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93 .byte 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3 .byte 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3 .byte 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3 .byte 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020A94BC _020A94BC: .byte 0x34, 0x01, 0x29, 0x01, 0x35, 0x01, 0xB8, 0x00 .byte 0xC1, 0x00 .global _020A94C6 _020A94C6: .byte 0x2B, 0x01, 0x2A, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01 .global MAP_MARKER_PLACEMENTS MAP_MARKER_PLACEMENTS: .byte 0x0C, 0x01 .global _020A94D2 _020A94D2: .byte 0xFF, 0xFF .byte 0xD4, 0x00, 0xB4, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x70, 0x01, 0x98, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xD4, 0x00, 0xC4, 0x00, 0x0C, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xEC, 0x00, 0xCC, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x34, 0x01, 0x84, 0x00, 0x0C, 0x01, 0x05, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x9C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x44, 0x01, 0x9C, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x24, 0x01, 0xCC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xFF, 0xFF, 0x5C, 0x01, 0xBC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xFF, 0xFF, 0x84, 0x01, 0xCC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xFF, 0xFF, 0x9C, 0x01, 0xE4, 0x00, 0x0C, 0x01, 0x0F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x04, 0x01, 0x6C, 0x00, 0x0C, 0x01, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x12, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xD0, 0x00, 0x6C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xB4, 0x00, 0x74, 0x00, 0x0C, 0x01, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x16, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x34, 0x01, 0x5C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x24, 0x01, 0x44, 0x00, 0x0C, 0x01, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0xFF, 0xFF .byte 0x6C, 0x00, 0x54, 0x00, 0x0D, 0x01, 0xFF, 0xFF, 0x74, 0x00, 0x6C, 0x00, 0x0D, 0x01, 0xFF, 0xFF .byte 0x8C, 0x00, 0x7C, 0x00, 0x0D, 0x01, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x1E, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0xFF, 0xFF, 0xA4, 0x00, 0x5C, 0x00, 0x0D, 0x01, 0xFF, 0xFF .byte 0xA4, 0x00, 0x44, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x6C, 0x01, 0x6C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xC4, 0x00, 0x9C, 0x00, 0x0C, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x24, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x54, 0x00, 0xDC, 0x00, 0x0C, 0x01, 0x27, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x3C, 0x00, 0xB4, 0x00, 0x0C, 0x01, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x2A, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xF4, 0x00, 0x84, 0x00, 0x0C, 0x01, 0x2D, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x4C, 0x00, 0x14, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0x54, 0x00, 0x24, 0x01, 0x0C, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x30, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xCC, 0x00, 0x24, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0x54, 0x00, 0x84, 0x00, 0x0C, 0x01, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x34, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x54, 0x01, 0xFC, 0x00, 0x0C, 0x01, 0x37, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x8C, 0x01, 0x84, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xFF, 0xFF, 0xBC, 0x01, 0xA4, 0x00, 0x0C, 0x01, 0x41, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x44, 0x00, 0x2C, 0x00, 0x0C, 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x44, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x6C, 0x01, 0x04, 0x01, 0x0C, 0x01, 0x47, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xAC, 0x00, 0xFC, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x9C, 0x00, 0xCC, 0x00, 0x0C, 0x01, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xB4, 0x00, 0x4C, 0x00, 0x0C, 0x01, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x6C, 0x00, 0x24, 0x01, 0x0C, 0x01, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x54, 0x00, 0x4C, 0x00, 0x0C, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x44, 0x01, 0x24, 0x01, 0x0C, 0x01, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xBC, 0x00, 0x24, 0x00, 0x0C, 0x01, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x94, 0x01, 0x54, 0x00, 0x0C, 0x01, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xEC, 0x00, 0xAC, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x3C, 0x01, 0xB4, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x0C, 0x01, 0xAC, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x04, 0x01, 0xC4, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x5C, 0x01, 0x8C, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x24, 0x01, 0x9C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xF4, 0x00, 0x1C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0xCC, 0x01, 0x2C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x34, 0x00, 0x64, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xB4, 0x01, 0x7C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xA4, 0x01, 0x04, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x24, 0x01, 0x24, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0xEC, 0x00, 0xE4, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0xF4, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xDC, 0x00, 0xF4, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0xEC, 0x00, 0x04, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0xEC, 0x00, 0xF4, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x94, 0x01, 0x24, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xFF, 0xFF .byte 0x74, 0x01, 0xD4, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x84, 0x00, 0xEC, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xBC, 0x01, 0x1C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x74, 0x00, 0x34, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x74, 0x01, 0xA4, 0x00, 0x0C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0xFF, 0xFF .byte 0x3C, 0x01, 0xC0, 0x00, 0x2B, 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0xFF, 0xFF, 0x8C, 0x00, 0x64, 0x00, 0x2A, 0x01, 0xFF, 0xFF .byte 0xFC, 0x00, 0x84, 0x00, 0x2A, 0x01, 0xFF, 0xFF, 0x44, 0x01, 0x34, 0x00, 0x2A, 0x01, 0x83, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0xFF, 0xFF .byte 0x7C, 0x00, 0x5C, 0x00, 0x2F, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x86, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0xFF, 0xFF, 0x84, 0x00, 0x44, 0x00, 0x2F, 0x01, 0xFF, 0xFF .byte 0x54, 0x00, 0x2C, 0x00, 0x2F, 0x01, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0xFF, 0xFF .byte 0xA4, 0x00, 0x5C, 0x00, 0x2F, 0x01, 0xFF, 0xFF, 0x2C, 0x01, 0x2C, 0x01, 0x2F, 0x01, 0xFF, 0xFF .byte 0xAC, 0x00, 0x7C, 0x00, 0x2E, 0x01, 0xFF, 0xFF, 0x4C, 0x00, 0x54, 0x00, 0x2E, 0x01, 0x8F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0xFF, 0xFF .byte 0x84, 0x00, 0x74, 0x00, 0x2E, 0x01, 0xFF, 0xFF, 0xBC, 0x00, 0x5C, 0x00, 0x2E, 0x01, 0x93, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0xFF, 0xFF .byte 0x24, 0x01, 0x28, 0x01, 0x2D, 0x01, 0xFF, 0xFF, 0x34, 0x01, 0x28, 0x01, 0x2D, 0x01, 0x97, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0xFF, 0xFF, 0x2C, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0xFF, 0xFF .byte 0x34, 0x01, 0x14, 0x01, 0x2D, 0x01, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x9C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0xFF, 0xFF, 0x10, 0x01, 0xBC, 0x00, 0x2C, 0x01, 0x9F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0x3C, 0x01, 0xC0, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x74, 0x01, 0xA4, 0x00, 0x2A, 0x01, 0xFF, 0xFF, 0xBC, 0x00, 0x5C, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0xEC, 0x00, 0x7C, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x24, 0x01, 0xB4, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x2C, 0x01, 0x2C, 0x01, 0x0C, 0x01, 0xFF, 0xFF, 0xD4, 0x00, 0xB4, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xFF, 0xFF .byte 0xA4, 0x00, 0x84, 0x00, 0x0C, 0x01, 0xFF, 0xFF, 0x14, 0x01, 0x34, 0x00, 0x0C, 0x01, 0xFF, 0xFF .byte 0x4C, 0x00, 0xC4, 0x00, 0x0D, 0x01, 0xFF, 0xFF, 0x5C, 0x00, 0x34, 0x00, 0x0C, 0x01, 0xB3, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0xFF, 0xFF, 0x64, 0x00, 0x3C, 0x00, 0x0C, 0x01, 0xB2, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x02, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0B, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x12, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x19, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x1D, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x1E, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x8C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x23, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x24, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x27, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x2A, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x37, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x41, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x44, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x01, 0x7C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0x83, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x86, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x86, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x8A, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x8D, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x8F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x8F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x92, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x93, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x93, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x97, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x97, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x9C, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x01, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x9F, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB0, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x30, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB3, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0xFF, 0xFF .byte 0x64, 0x00, 0x80, 0x00, 0x2A, 0x01, 0xFF, 0xFF, 0x44, 0x00, 0x84, 0x00, 0x2A, 0x01, 0x29, 0x01 .byte 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x01, 0xB1, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB5, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2B, 0x01, 0xFF, 0xFF .byte 0xD4, 0x00, 0xB4, 0x00, 0x2C, 0x01, 0xFF, 0xFF, 0xD4, 0x00, 0xB4, 0x00 .global _020A9E80 _020A9E80: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00 .global _020A9E90 _020A9E90: .byte 0x2F, 0x47, 0x52, 0x4F .byte 0x55, 0x4E, 0x44, 0x2F, 0x63, 0x5F, 0x77, 0x69, 0x70, 0x65, 0x2E, 0x77, 0x74, 0x65, 0x00, 0x00 .global _020A9EA4 _020A9EA4: .byte 0x2F, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x63, 0x5F, 0x77, 0x69, 0x70, 0x65, 0x2E, 0x77 .byte 0x74, 0x75, 0x00, 0x00 .global _020A9EB8 _020A9EB8: .byte 0x2F, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x63, 0x5F, 0x77, 0x69 .byte 0x70, 0x65, 0x32, 0x2E, 0x77, 0x74, 0x75, 0x00 .global _020A9ECC _020A9ECC: .byte 0x2F, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F .byte 0x63, 0x5F, 0x77, 0x69, 0x70, 0x65, 0x32, 0x2E, 0x77, 0x74, 0x65, 0x00 .global _020A9EE0 _020A9EE0: .byte 0x07, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00 .byte 0xA0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0xA0, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00 .global _020A9F34 _020A9F34: .byte 0x2F, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x77, 0x5F, 0x68, 0x65, 0x61, 0x72, 0x74, 0x2E .byte 0x77, 0x74, 0x65, 0x00 .global _020A9F48 _020A9F48: .byte 0x2F, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x77, 0x5F, 0x68, 0x65 .byte 0x61, 0x72, 0x74, 0x2E, 0x77, 0x74, 0x75, 0x00 .global _020A9F5C _020A9F5C: .byte 0x2F, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F .byte 0x63, 0x69, 0x72, 0x63, 0x6C, 0x65, 0x2E, 0x77, 0x74, 0x65, 0x00, 0x00 .global _020A9F70 _020A9F70: .byte 0x2F, 0x47, 0x52, 0x4F .byte 0x55, 0x4E, 0x44, 0x2F, 0x63, 0x69, 0x72, 0x63, 0x6C, 0x65, 0x2E, 0x77, 0x74, 0x75, 0x00, 0x00 .global _020A9F84 _020A9F84: .byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x73, 0x32, 0x30, 0x70, 0x30, 0x31, 0x61, 0x31, 0x2E .byte 0x77, 0x61, 0x6E, 0x00 .global _020A9F98 _020A9F98: .byte 0x65, 0x72, 0x72, 0x6F, 0x72, 0x21, 0x00, 0x00 .global _020A9FA0 _020A9FA0: .byte 0x00, 0x00, 0x10, 0x00 .byte 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global TRIG_TABLE TRIG_TABLE: .byte 0x00, 0x00, 0x00, 0x10 .byte 0x06, 0x00, 0x00, 0x10, 0x0D, 0x00, 0x00, 0x10, 0x13, 0x00, 0x00, 0x10, 0x19, 0x00, 0x00, 0x10 .byte 0x1F, 0x00, 0x00, 0x10, 0x26, 0x00, 0x00, 0x10, 0x2C, 0x00, 0x00, 0x10, 0x32, 0x00, 0x00, 0x10 .byte 0x39, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x10, 0x45, 0x00, 0xFF, 0x0F, 0x4B, 0x00, 0xFF, 0x0F .byte 0x52, 0x00, 0xFF, 0x0F, 0x58, 0x00, 0xFF, 0x0F, 0x5E, 0x00, 0xFF, 0x0F, 0x65, 0x00, 0xFF, 0x0F .byte 0x6B, 0x00, 0xFF, 0x0F, 0x71, 0x00, 0xFE, 0x0F, 0x77, 0x00, 0xFE, 0x0F, 0x7E, 0x00, 0xFE, 0x0F .byte 0x84, 0x00, 0xFE, 0x0F, 0x8A, 0x00, 0xFE, 0x0F, 0x90, 0x00, 0xFD, 0x0F, 0x97, 0x00, 0xFD, 0x0F .byte 0x9D, 0x00, 0xFD, 0x0F, 0xA3, 0x00, 0xFD, 0x0F, 0xAA, 0x00, 0xFC, 0x0F, 0xB0, 0x00, 0xFC, 0x0F .byte 0xB6, 0x00, 0xFC, 0x0F, 0xBC, 0x00, 0xFC, 0x0F, 0xC3, 0x00, 0xFB, 0x0F, 0xC9, 0x00, 0xFB, 0x0F .byte 0xCF, 0x00, 0xFB, 0x0F, 0xD6, 0x00, 0xFA, 0x0F, 0xDC, 0x00, 0xFA, 0x0F, 0xE2, 0x00, 0xFA, 0x0F .byte 0xE8, 0x00, 0xF9, 0x0F, 0xEF, 0x00, 0xF9, 0x0F, 0xF5, 0x00, 0xF9, 0x0F, 0xFB, 0x00, 0xF8, 0x0F .byte 0x01, 0x01, 0xF8, 0x0F, 0x08, 0x01, 0xF8, 0x0F, 0x0E, 0x01, 0xF7, 0x0F, 0x14, 0x01, 0xF7, 0x0F .byte 0x1B, 0x01, 0xF6, 0x0F, 0x21, 0x01, 0xF6, 0x0F, 0x27, 0x01, 0xF5, 0x0F, 0x2D, 0x01, 0xF5, 0x0F .byte 0x34, 0x01, 0xF4, 0x0F, 0x3A, 0x01, 0xF4, 0x0F, 0x40, 0x01, 0xF3, 0x0F, 0x46, 0x01, 0xF3, 0x0F .byte 0x4D, 0x01, 0xF2, 0x0F, 0x53, 0x01, 0xF2, 0x0F, 0x59, 0x01, 0xF1, 0x0F, 0x5F, 0x01, 0xF1, 0x0F .byte 0x66, 0x01, 0xF0, 0x0F, 0x6C, 0x01, 0xF0, 0x0F, 0x72, 0x01, 0xEF, 0x0F, 0x78, 0x01, 0xEF, 0x0F .byte 0x7F, 0x01, 0xEE, 0x0F, 0x85, 0x01, 0xED, 0x0F, 0x8B, 0x01, 0xED, 0x0F, 0x91, 0x01, 0xEC, 0x0F .byte 0x98, 0x01, 0xEC, 0x0F, 0x9E, 0x01, 0xEB, 0x0F, 0xA4, 0x01, 0xEA, 0x0F, 0xAA, 0x01, 0xEA, 0x0F .byte 0xB1, 0x01, 0xE9, 0x0F, 0xB7, 0x01, 0xE8, 0x0F, 0xBD, 0x01, 0xE8, 0x0F, 0xC3, 0x01, 0xE7, 0x0F .byte 0xCA, 0x01, 0xE6, 0x0F, 0xD0, 0x01, 0xE6, 0x0F, 0xD6, 0x01, 0xE5, 0x0F, 0xDC, 0x01, 0xE4, 0x0F .byte 0xE3, 0x01, 0xE3, 0x0F, 0xE9, 0x01, 0xE3, 0x0F, 0xEF, 0x01, 0xE2, 0x0F, 0xF5, 0x01, 0xE1, 0x0F .byte 0xFC, 0x01, 0xE0, 0x0F, 0x02, 0x02, 0xE0, 0x0F, 0x08, 0x02, 0xDF, 0x0F, 0x0E, 0x02, 0xDE, 0x0F .byte 0x15, 0x02, 0xDD, 0x0F, 0x1B, 0x02, 0xDC, 0x0F, 0x21, 0x02, 0xDC, 0x0F, 0x27, 0x02, 0xDB, 0x0F .byte 0x2D, 0x02, 0xDA, 0x0F, 0x34, 0x02, 0xD9, 0x0F, 0x3A, 0x02, 0xD8, 0x0F, 0x40, 0x02, 0xD7, 0x0F .byte 0x46, 0x02, 0xD6, 0x0F, 0x4D, 0x02, 0xD5, 0x0F, 0x53, 0x02, 0xD5, 0x0F, 0x59, 0x02, 0xD4, 0x0F .byte 0x5F, 0x02, 0xD3, 0x0F, 0x65, 0x02, 0xD2, 0x0F, 0x6C, 0x02, 0xD1, 0x0F, 0x72, 0x02, 0xD0, 0x0F .byte 0x78, 0x02, 0xCF, 0x0F, 0x7E, 0x02, 0xCE, 0x0F, 0x84, 0x02, 0xCD, 0x0F, 0x8B, 0x02, 0xCC, 0x0F .byte 0x91, 0x02, 0xCB, 0x0F, 0x97, 0x02, 0xCA, 0x0F, 0x9D, 0x02, 0xC9, 0x0F, 0xA3, 0x02, 0xC8, 0x0F .byte 0xAA, 0x02, 0xC7, 0x0F, 0xB0, 0x02, 0xC6, 0x0F, 0xB6, 0x02, 0xC5, 0x0F, 0xBC, 0x02, 0xC4, 0x0F .byte 0xC2, 0x02, 0xC3, 0x0F, 0xC9, 0x02, 0xC2, 0x0F, 0xCF, 0x02, 0xC0, 0x0F, 0xD5, 0x02, 0xBF, 0x0F .byte 0xDB, 0x02, 0xBE, 0x0F, 0xE1, 0x02, 0xBD, 0x0F, 0xE8, 0x02, 0xBC, 0x0F, 0xEE, 0x02, 0xBB, 0x0F .byte 0xF4, 0x02, 0xBA, 0x0F, 0xFA, 0x02, 0xB8, 0x0F, 0x00, 0x03, 0xB7, 0x0F, 0x06, 0x03, 0xB6, 0x0F .byte 0x0D, 0x03, 0xB5, 0x0F, 0x13, 0x03, 0xB4, 0x0F, 0x19, 0x03, 0xB3, 0x0F, 0x1F, 0x03, 0xB1, 0x0F .byte 0x25, 0x03, 0xB0, 0x0F, 0x2B, 0x03, 0xAF, 0x0F, 0x32, 0x03, 0xAE, 0x0F, 0x38, 0x03, 0xAC, 0x0F .byte 0x3E, 0x03, 0xAB, 0x0F, 0x44, 0x03, 0xAA, 0x0F, 0x4A, 0x03, 0xA8, 0x0F, 0x50, 0x03, 0xA7, 0x0F .byte 0x56, 0x03, 0xA6, 0x0F, 0x5D, 0x03, 0xA5, 0x0F, 0x63, 0x03, 0xA3, 0x0F, 0x69, 0x03, 0xA2, 0x0F .byte 0x6F, 0x03, 0xA1, 0x0F, 0x75, 0x03, 0x9F, 0x0F, 0x7B, 0x03, 0x9E, 0x0F, 0x81, 0x03, 0x9C, 0x0F .byte 0x88, 0x03, 0x9B, 0x0F, 0x8E, 0x03, 0x9A, 0x0F, 0x94, 0x03, 0x98, 0x0F, 0x9A, 0x03, 0x97, 0x0F .byte 0xA0, 0x03, 0x95, 0x0F, 0xA6, 0x03, 0x94, 0x0F, 0xAC, 0x03, 0x93, 0x0F, 0xB2, 0x03, 0x91, 0x0F .byte 0xB9, 0x03, 0x90, 0x0F, 0xBF, 0x03, 0x8E, 0x0F, 0xC5, 0x03, 0x8D, 0x0F, 0xCB, 0x03, 0x8B, 0x0F .byte 0xD1, 0x03, 0x8A, 0x0F, 0xD7, 0x03, 0x88, 0x0F, 0xDD, 0x03, 0x87, 0x0F, 0xE3, 0x03, 0x85, 0x0F .byte 0xE9, 0x03, 0x84, 0x0F, 0xEF, 0x03, 0x82, 0x0F, 0xF6, 0x03, 0x81, 0x0F, 0xFC, 0x03, 0x7F, 0x0F .byte 0x02, 0x04, 0x7D, 0x0F, 0x08, 0x04, 0x7C, 0x0F, 0x0E, 0x04, 0x7A, 0x0F, 0x14, 0x04, 0x79, 0x0F .byte 0x1A, 0x04, 0x77, 0x0F, 0x20, 0x04, 0x76, 0x0F, 0x26, 0x04, 0x74, 0x0F, 0x2C, 0x04, 0x72, 0x0F .byte 0x32, 0x04, 0x71, 0x0F, 0x38, 0x04, 0x6F, 0x0F, 0x3E, 0x04, 0x6D, 0x0F, 0x44, 0x04, 0x6C, 0x0F .byte 0x4B, 0x04, 0x6A, 0x0F, 0x51, 0x04, 0x68, 0x0F, 0x57, 0x04, 0x67, 0x0F, 0x5D, 0x04, 0x65, 0x0F .byte 0x63, 0x04, 0x63, 0x0F, 0x69, 0x04, 0x61, 0x0F, 0x6F, 0x04, 0x60, 0x0F, 0x75, 0x04, 0x5E, 0x0F .byte 0x7B, 0x04, 0x5C, 0x0F, 0x81, 0x04, 0x5A, 0x0F, 0x87, 0x04, 0x59, 0x0F, 0x8D, 0x04, 0x57, 0x0F .byte 0x93, 0x04, 0x55, 0x0F, 0x99, 0x04, 0x53, 0x0F, 0x9F, 0x04, 0x51, 0x0F, 0xA5, 0x04, 0x50, 0x0F .byte 0xAB, 0x04, 0x4E, 0x0F, 0xB1, 0x04, 0x4C, 0x0F, 0xB7, 0x04, 0x4A, 0x0F, 0xBD, 0x04, 0x48, 0x0F .byte 0xC3, 0x04, 0x46, 0x0F, 0xC9, 0x04, 0x45, 0x0F, 0xCF, 0x04, 0x43, 0x0F, 0xD5, 0x04, 0x41, 0x0F .byte 0xDB, 0x04, 0x3F, 0x0F, 0xE1, 0x04, 0x3D, 0x0F, 0xE7, 0x04, 0x3B, 0x0F, 0xED, 0x04, 0x39, 0x0F .byte 0xF3, 0x04, 0x37, 0x0F, 0xF9, 0x04, 0x35, 0x0F, 0xFF, 0x04, 0x33, 0x0F, 0x05, 0x05, 0x31, 0x0F .byte 0x0B, 0x05, 0x2F, 0x0F, 0x11, 0x05, 0x2D, 0x0F, 0x17, 0x05, 0x2B, 0x0F, 0x1D, 0x05, 0x29, 0x0F .byte 0x23, 0x05, 0x27, 0x0F, 0x29, 0x05, 0x25, 0x0F, 0x2F, 0x05, 0x23, 0x0F, 0x34, 0x05, 0x21, 0x0F .byte 0x3A, 0x05, 0x1F, 0x0F, 0x40, 0x05, 0x1D, 0x0F, 0x46, 0x05, 0x1B, 0x0F, 0x4C, 0x05, 0x19, 0x0F .byte 0x52, 0x05, 0x17, 0x0F, 0x58, 0x05, 0x15, 0x0F, 0x5E, 0x05, 0x13, 0x0F, 0x64, 0x05, 0x11, 0x0F .byte 0x6A, 0x05, 0x0E, 0x0F, 0x70, 0x05, 0x0C, 0x0F, 0x76, 0x05, 0x0A, 0x0F, 0x7C, 0x05, 0x08, 0x0F .byte 0x81, 0x05, 0x06, 0x0F, 0x87, 0x05, 0x04, 0x0F, 0x8D, 0x05, 0x02, 0x0F, 0x93, 0x05, 0xFF, 0x0E .byte 0x99, 0x05, 0xFD, 0x0E, 0x9F, 0x05, 0xFB, 0x0E, 0xA5, 0x05, 0xF9, 0x0E, 0xAB, 0x05, 0xF7, 0x0E .byte 0xB1, 0x05, 0xF4, 0x0E, 0xB6, 0x05, 0xF2, 0x0E, 0xBC, 0x05, 0xF0, 0x0E, 0xC2, 0x05, 0xEE, 0x0E .byte 0xC8, 0x05, 0xEB, 0x0E, 0xCE, 0x05, 0xE9, 0x0E, 0xD4, 0x05, 0xE7, 0x0E, 0xDA, 0x05, 0xE4, 0x0E .byte 0xDF, 0x05, 0xE2, 0x0E, 0xE5, 0x05, 0xE0, 0x0E, 0xEB, 0x05, 0xDD, 0x0E, 0xF1, 0x05, 0xDB, 0x0E .byte 0xF7, 0x05, 0xD9, 0x0E, 0xFD, 0x05, 0xD6, 0x0E, 0x02, 0x06, 0xD4, 0x0E, 0x08, 0x06, 0xD2, 0x0E .byte 0x0E, 0x06, 0xCF, 0x0E, 0x14, 0x06, 0xCD, 0x0E, 0x1A, 0x06, 0xCB, 0x0E, 0x1F, 0x06, 0xC8, 0x0E .byte 0x25, 0x06, 0xC6, 0x0E, 0x2B, 0x06, 0xC3, 0x0E, 0x31, 0x06, 0xC1, 0x0E, 0x37, 0x06, 0xBF, 0x0E .byte 0x3C, 0x06, 0xBC, 0x0E, 0x42, 0x06, 0xBA, 0x0E, 0x48, 0x06, 0xB7, 0x0E, 0x4E, 0x06, 0xB5, 0x0E .byte 0x54, 0x06, 0xB2, 0x0E, 0x59, 0x06, 0xB0, 0x0E, 0x5F, 0x06, 0xAD, 0x0E, 0x65, 0x06, 0xAB, 0x0E .byte 0x6B, 0x06, 0xA8, 0x0E, 0x70, 0x06, 0xA6, 0x0E, 0x76, 0x06, 0xA3, 0x0E, 0x7C, 0x06, 0xA1, 0x0E .byte 0x82, 0x06, 0x9E, 0x0E, 0x87, 0x06, 0x9B, 0x0E, 0x8D, 0x06, 0x99, 0x0E, 0x93, 0x06, 0x96, 0x0E .byte 0x99, 0x06, 0x94, 0x0E, 0x9E, 0x06, 0x91, 0x0E, 0xA4, 0x06, 0x8F, 0x0E, 0xAA, 0x06, 0x8C, 0x0E .byte 0xAF, 0x06, 0x89, 0x0E, 0xB5, 0x06, 0x87, 0x0E, 0xBB, 0x06, 0x84, 0x0E, 0xC1, 0x06, 0x81, 0x0E .byte 0xC6, 0x06, 0x7F, 0x0E, 0xCC, 0x06, 0x7C, 0x0E, 0xD2, 0x06, 0x79, 0x0E, 0xD7, 0x06, 0x77, 0x0E .byte 0xDD, 0x06, 0x74, 0x0E, 0xE3, 0x06, 0x71, 0x0E, 0xE8, 0x06, 0x6F, 0x0E, 0xEE, 0x06, 0x6C, 0x0E .byte 0xF4, 0x06, 0x69, 0x0E, 0xF9, 0x06, 0x66, 0x0E, 0xFF, 0x06, 0x64, 0x0E, 0x05, 0x07, 0x61, 0x0E .byte 0x0A, 0x07, 0x5E, 0x0E, 0x10, 0x07, 0x5B, 0x0E, 0x15, 0x07, 0x59, 0x0E, 0x1B, 0x07, 0x56, 0x0E .byte 0x21, 0x07, 0x53, 0x0E, 0x26, 0x07, 0x50, 0x0E, 0x2C, 0x07, 0x4D, 0x0E, 0x32, 0x07, 0x4B, 0x0E .byte 0x37, 0x07, 0x48, 0x0E, 0x3D, 0x07, 0x45, 0x0E, 0x42, 0x07, 0x42, 0x0E, 0x48, 0x07, 0x3F, 0x0E .byte 0x4E, 0x07, 0x3C, 0x0E, 0x53, 0x07, 0x3A, 0x0E, 0x59, 0x07, 0x37, 0x0E, 0x5E, 0x07, 0x34, 0x0E .byte 0x64, 0x07, 0x31, 0x0E, 0x6A, 0x07, 0x2E, 0x0E, 0x6F, 0x07, 0x2B, 0x0E, 0x75, 0x07, 0x28, 0x0E .byte 0x7A, 0x07, 0x25, 0x0E, 0x80, 0x07, 0x22, 0x0E, 0x85, 0x07, 0x1F, 0x0E, 0x8B, 0x07, 0x1C, 0x0E .byte 0x90, 0x07, 0x19, 0x0E, 0x96, 0x07, 0x16, 0x0E, 0x9B, 0x07, 0x13, 0x0E, 0xA1, 0x07, 0x10, 0x0E .byte 0xA6, 0x07, 0x0D, 0x0E, 0xAC, 0x07, 0x0A, 0x0E, 0xB2, 0x07, 0x07, 0x0E, 0xB7, 0x07, 0x04, 0x0E .byte 0xBD, 0x07, 0x01, 0x0E, 0xC2, 0x07, 0xFE, 0x0D, 0xC8, 0x07, 0xFB, 0x0D, 0xCD, 0x07, 0xF8, 0x0D .byte 0xD2, 0x07, 0xF5, 0x0D, 0xD8, 0x07, 0xF2, 0x0D, 0xDD, 0x07, 0xEF, 0x0D, 0xE3, 0x07, 0xEC, 0x0D .byte 0xE8, 0x07, 0xE9, 0x0D, 0xEE, 0x07, 0xE6, 0x0D, 0xF3, 0x07, 0xE3, 0x0D, 0xF9, 0x07, 0xDF, 0x0D .byte 0xFE, 0x07, 0xDC, 0x0D, 0x04, 0x08, 0xD9, 0x0D, 0x09, 0x08, 0xD6, 0x0D, 0x0E, 0x08, 0xD3, 0x0D .byte 0x14, 0x08, 0xD0, 0x0D, 0x19, 0x08, 0xCC, 0x0D, 0x1F, 0x08, 0xC9, 0x0D, 0x24, 0x08, 0xC6, 0x0D .byte 0x2A, 0x08, 0xC3, 0x0D, 0x2F, 0x08, 0xC0, 0x0D, 0x34, 0x08, 0xBC, 0x0D, 0x3A, 0x08, 0xB9, 0x0D .byte 0x3F, 0x08, 0xB6, 0x0D, 0x45, 0x08, 0xB3, 0x0D, 0x4A, 0x08, 0xB0, 0x0D, 0x4F, 0x08, 0xAC, 0x0D .byte 0x55, 0x08, 0xA9, 0x0D, 0x5A, 0x08, 0xA6, 0x0D, 0x5F, 0x08, 0xA2, 0x0D, 0x65, 0x08, 0x9F, 0x0D .byte 0x6A, 0x08, 0x9C, 0x0D, 0x6F, 0x08, 0x99, 0x0D, 0x75, 0x08, 0x95, 0x0D, 0x7A, 0x08, 0x92, 0x0D .byte 0x7F, 0x08, 0x8F, 0x0D, 0x85, 0x08, 0x8B, 0x0D, 0x8A, 0x08, 0x88, 0x0D, 0x8F, 0x08, 0x85, 0x0D .byte 0x95, 0x08, 0x81, 0x0D, 0x9A, 0x08, 0x7E, 0x0D, 0x9F, 0x08, 0x7A, 0x0D, 0xA5, 0x08, 0x77, 0x0D .byte 0xAA, 0x08, 0x74, 0x0D, 0xAF, 0x08, 0x70, 0x0D, 0xB4, 0x08, 0x6D, 0x0D, 0xBA, 0x08, 0x69, 0x0D .byte 0xBF, 0x08, 0x66, 0x0D, 0xC4, 0x08, 0x62, 0x0D, 0xC9, 0x08, 0x5F, 0x0D, 0xCF, 0x08, 0x5C, 0x0D .byte 0xD4, 0x08, 0x58, 0x0D, 0xD9, 0x08, 0x55, 0x0D, 0xDE, 0x08, 0x51, 0x0D, 0xE4, 0x08, 0x4E, 0x0D .byte 0xE9, 0x08, 0x4A, 0x0D, 0xEE, 0x08, 0x47, 0x0D, 0xF3, 0x08, 0x43, 0x0D, 0xF8, 0x08, 0x40, 0x0D .byte 0xFE, 0x08, 0x3C, 0x0D, 0x03, 0x09, 0x39, 0x0D, 0x08, 0x09, 0x35, 0x0D, 0x0D, 0x09, 0x32, 0x0D .byte 0x12, 0x09, 0x2E, 0x0D, 0x18, 0x09, 0x2A, 0x0D, 0x1D, 0x09, 0x27, 0x0D, 0x22, 0x09, 0x23, 0x0D .byte 0x27, 0x09, 0x20, 0x0D, 0x2C, 0x09, 0x1C, 0x0D, 0x31, 0x09, 0x18, 0x0D, 0x37, 0x09, 0x15, 0x0D .byte 0x3C, 0x09, 0x11, 0x0D, 0x41, 0x09, 0x0E, 0x0D, 0x46, 0x09, 0x0A, 0x0D, 0x4B, 0x09, 0x06, 0x0D .byte 0x50, 0x09, 0x03, 0x0D, 0x55, 0x09, 0xFF, 0x0C, 0x5A, 0x09, 0xFB, 0x0C, 0x5F, 0x09, 0xF8, 0x0C .byte 0x65, 0x09, 0xF4, 0x0C, 0x6A, 0x09, 0xF0, 0x0C, 0x6F, 0x09, 0xED, 0x0C, 0x74, 0x09, 0xE9, 0x0C .byte 0x79, 0x09, 0xE5, 0x0C, 0x7E, 0x09, 0xE1, 0x0C, 0x83, 0x09, 0xDE, 0x0C, 0x88, 0x09, 0xDA, 0x0C .byte 0x8D, 0x09, 0xD6, 0x0C, 0x92, 0x09, 0xD2, 0x0C, 0x97, 0x09, 0xCF, 0x0C, 0x9C, 0x09, 0xCB, 0x0C .byte 0xA1, 0x09, 0xC7, 0x0C, 0xA6, 0x09, 0xC3, 0x0C, 0xAB, 0x09, 0xC0, 0x0C, 0xB0, 0x09, 0xBC, 0x0C .byte 0xB5, 0x09, 0xB8, 0x0C, 0xBA, 0x09, 0xB4, 0x0C, 0xBF, 0x09, 0xB0, 0x0C, 0xC4, 0x09, 0xAC, 0x0C .byte 0xC9, 0x09, 0xA9, 0x0C, 0xCE, 0x09, 0xA5, 0x0C, 0xD3, 0x09, 0xA1, 0x0C, 0xD8, 0x09, 0x9D, 0x0C .byte 0xDD, 0x09, 0x99, 0x0C, 0xE2, 0x09, 0x95, 0x0C, 0xE7, 0x09, 0x91, 0x0C, 0xEC, 0x09, 0x8E, 0x0C .byte 0xF1, 0x09, 0x8A, 0x0C, 0xF6, 0x09, 0x86, 0x0C, 0xFB, 0x09, 0x82, 0x0C, 0xFF, 0x09, 0x7E, 0x0C .byte 0x04, 0x0A, 0x7A, 0x0C, 0x09, 0x0A, 0x76, 0x0C, 0x0E, 0x0A, 0x72, 0x0C, 0x13, 0x0A, 0x6E, 0x0C .byte 0x18, 0x0A, 0x6A, 0x0C, 0x1D, 0x0A, 0x66, 0x0C, 0x22, 0x0A, 0x62, 0x0C, 0x26, 0x0A, 0x5E, 0x0C .byte 0x2B, 0x0A, 0x5A, 0x0C, 0x30, 0x0A, 0x56, 0x0C, 0x35, 0x0A, 0x52, 0x0C, 0x3A, 0x0A, 0x4E, 0x0C .byte 0x3F, 0x0A, 0x4A, 0x0C, 0x44, 0x0A, 0x46, 0x0C, 0x48, 0x0A, 0x42, 0x0C, 0x4D, 0x0A, 0x3E, 0x0C .byte 0x52, 0x0A, 0x3A, 0x0C, 0x57, 0x0A, 0x36, 0x0C, 0x5C, 0x0A, 0x32, 0x0C, 0x60, 0x0A, 0x2E, 0x0C .byte 0x65, 0x0A, 0x2A, 0x0C, 0x6A, 0x0A, 0x26, 0x0C, 0x6F, 0x0A, 0x22, 0x0C, 0x73, 0x0A, 0x1E, 0x0C .byte 0x78, 0x0A, 0x19, 0x0C, 0x7D, 0x0A, 0x15, 0x0C, 0x82, 0x0A, 0x11, 0x0C, 0x86, 0x0A, 0x0D, 0x0C .byte 0x8B, 0x0A, 0x09, 0x0C, 0x90, 0x0A, 0x05, 0x0C, 0x95, 0x0A, 0x01, 0x0C, 0x99, 0x0A, 0xFC, 0x0B .byte 0x9E, 0x0A, 0xF8, 0x0B, 0xA3, 0x0A, 0xF4, 0x0B, 0xA7, 0x0A, 0xF0, 0x0B, 0xAC, 0x0A, 0xEC, 0x0B .byte 0xB1, 0x0A, 0xE8, 0x0B, 0xB5, 0x0A, 0xE3, 0x0B, 0xBA, 0x0A, 0xDF, 0x0B, 0xBF, 0x0A, 0xDB, 0x0B .byte 0xC3, 0x0A, 0xD7, 0x0B, 0xC8, 0x0A, 0xD2, 0x0B, 0xCD, 0x0A, 0xCE, 0x0B, 0xD1, 0x0A, 0xCA, 0x0B .byte 0xD6, 0x0A, 0xC6, 0x0B, 0xDB, 0x0A, 0xC1, 0x0B, 0xDF, 0x0A, 0xBD, 0x0B, 0xE4, 0x0A, 0xB9, 0x0B .byte 0xE8, 0x0A, 0xB5, 0x0B, 0xED, 0x0A, 0xB0, 0x0B, 0xF2, 0x0A, 0xAC, 0x0B, 0xF6, 0x0A, 0xA8, 0x0B .byte 0xFB, 0x0A, 0xA3, 0x0B, 0xFF, 0x0A, 0x9F, 0x0B, 0x04, 0x0B, 0x9B, 0x0B, 0x08, 0x0B, 0x97, 0x0B .byte 0x0D, 0x0B, 0x92, 0x0B, 0x11, 0x0B, 0x8E, 0x0B, 0x16, 0x0B, 0x89, 0x0B, 0x1B, 0x0B, 0x85, 0x0B .byte 0x1F, 0x0B, 0x81, 0x0B, 0x24, 0x0B, 0x7C, 0x0B, 0x28, 0x0B, 0x78, 0x0B, 0x2D, 0x0B, 0x74, 0x0B .byte 0x31, 0x0B, 0x6F, 0x0B, 0x36, 0x0B, 0x6B, 0x0B, 0x3A, 0x0B, 0x66, 0x0B, 0x3E, 0x0B, 0x62, 0x0B .byte 0x43, 0x0B, 0x5E, 0x0B, 0x47, 0x0B, 0x59, 0x0B, 0x4C, 0x0B, 0x55, 0x0B, 0x50, 0x0B, 0x50, 0x0B .byte 0x55, 0x0B, 0x4C, 0x0B, 0x59, 0x0B, 0x47, 0x0B, 0x5E, 0x0B, 0x43, 0x0B, 0x62, 0x0B, 0x3E, 0x0B .byte 0x66, 0x0B, 0x3A, 0x0B, 0x6B, 0x0B, 0x36, 0x0B, 0x6F, 0x0B, 0x31, 0x0B, 0x74, 0x0B, 0x2D, 0x0B .byte 0x78, 0x0B, 0x28, 0x0B, 0x7C, 0x0B, 0x24, 0x0B, 0x81, 0x0B, 0x1F, 0x0B, 0x85, 0x0B, 0x1B, 0x0B .byte 0x89, 0x0B, 0x16, 0x0B, 0x8E, 0x0B, 0x11, 0x0B, 0x92, 0x0B, 0x0D, 0x0B, 0x97, 0x0B, 0x08, 0x0B .byte 0x9B, 0x0B, 0x04, 0x0B, 0x9F, 0x0B, 0xFF, 0x0A, 0xA3, 0x0B, 0xFB, 0x0A, 0xA8, 0x0B, 0xF6, 0x0A .byte 0xAC, 0x0B, 0xF2, 0x0A, 0xB0, 0x0B, 0xED, 0x0A, 0xB5, 0x0B, 0xE8, 0x0A, 0xB9, 0x0B, 0xE4, 0x0A .byte 0xBD, 0x0B, 0xDF, 0x0A, 0xC1, 0x0B, 0xDB, 0x0A, 0xC6, 0x0B, 0xD6, 0x0A, 0xCA, 0x0B, 0xD1, 0x0A .byte 0xCE, 0x0B, 0xCD, 0x0A, 0xD2, 0x0B, 0xC8, 0x0A, 0xD7, 0x0B, 0xC3, 0x0A, 0xDB, 0x0B, 0xBF, 0x0A .byte 0xDF, 0x0B, 0xBA, 0x0A, 0xE3, 0x0B, 0xB5, 0x0A, 0xE8, 0x0B, 0xB1, 0x0A, 0xEC, 0x0B, 0xAC, 0x0A .byte 0xF0, 0x0B, 0xA7, 0x0A, 0xF4, 0x0B, 0xA3, 0x0A, 0xF8, 0x0B, 0x9E, 0x0A, 0xFC, 0x0B, 0x99, 0x0A .byte 0x01, 0x0C, 0x95, 0x0A, 0x05, 0x0C, 0x90, 0x0A, 0x09, 0x0C, 0x8B, 0x0A, 0x0D, 0x0C, 0x86, 0x0A .byte 0x11, 0x0C, 0x82, 0x0A, 0x15, 0x0C, 0x7D, 0x0A, 0x19, 0x0C, 0x78, 0x0A, 0x1E, 0x0C, 0x73, 0x0A .byte 0x22, 0x0C, 0x6F, 0x0A, 0x26, 0x0C, 0x6A, 0x0A, 0x2A, 0x0C, 0x65, 0x0A, 0x2E, 0x0C, 0x60, 0x0A .byte 0x32, 0x0C, 0x5C, 0x0A, 0x36, 0x0C, 0x57, 0x0A, 0x3A, 0x0C, 0x52, 0x0A, 0x3E, 0x0C, 0x4D, 0x0A .byte 0x42, 0x0C, 0x48, 0x0A, 0x46, 0x0C, 0x44, 0x0A, 0x4A, 0x0C, 0x3F, 0x0A, 0x4E, 0x0C, 0x3A, 0x0A .byte 0x52, 0x0C, 0x35, 0x0A, 0x56, 0x0C, 0x30, 0x0A, 0x5A, 0x0C, 0x2B, 0x0A, 0x5E, 0x0C, 0x26, 0x0A .byte 0x62, 0x0C, 0x22, 0x0A, 0x66, 0x0C, 0x1D, 0x0A, 0x6A, 0x0C, 0x18, 0x0A, 0x6E, 0x0C, 0x13, 0x0A .byte 0x72, 0x0C, 0x0E, 0x0A, 0x76, 0x0C, 0x09, 0x0A, 0x7A, 0x0C, 0x04, 0x0A, 0x7E, 0x0C, 0xFF, 0x09 .byte 0x82, 0x0C, 0xFB, 0x09, 0x86, 0x0C, 0xF6, 0x09, 0x8A, 0x0C, 0xF1, 0x09, 0x8E, 0x0C, 0xEC, 0x09 .byte 0x91, 0x0C, 0xE7, 0x09, 0x95, 0x0C, 0xE2, 0x09, 0x99, 0x0C, 0xDD, 0x09, 0x9D, 0x0C, 0xD8, 0x09 .byte 0xA1, 0x0C, 0xD3, 0x09, 0xA5, 0x0C, 0xCE, 0x09, 0xA9, 0x0C, 0xC9, 0x09, 0xAC, 0x0C, 0xC4, 0x09 .byte 0xB0, 0x0C, 0xBF, 0x09, 0xB4, 0x0C, 0xBA, 0x09, 0xB8, 0x0C, 0xB5, 0x09, 0xBC, 0x0C, 0xB0, 0x09 .byte 0xC0, 0x0C, 0xAB, 0x09, 0xC3, 0x0C, 0xA6, 0x09, 0xC7, 0x0C, 0xA1, 0x09, 0xCB, 0x0C, 0x9C, 0x09 .byte 0xCF, 0x0C, 0x97, 0x09, 0xD2, 0x0C, 0x92, 0x09, 0xD6, 0x0C, 0x8D, 0x09, 0xDA, 0x0C, 0x88, 0x09 .byte 0xDE, 0x0C, 0x83, 0x09, 0xE1, 0x0C, 0x7E, 0x09, 0xE5, 0x0C, 0x79, 0x09, 0xE9, 0x0C, 0x74, 0x09 .byte 0xED, 0x0C, 0x6F, 0x09, 0xF0, 0x0C, 0x6A, 0x09, 0xF4, 0x0C, 0x65, 0x09, 0xF8, 0x0C, 0x5F, 0x09 .byte 0xFB, 0x0C, 0x5A, 0x09, 0xFF, 0x0C, 0x55, 0x09, 0x03, 0x0D, 0x50, 0x09, 0x06, 0x0D, 0x4B, 0x09 .byte 0x0A, 0x0D, 0x46, 0x09, 0x0E, 0x0D, 0x41, 0x09, 0x11, 0x0D, 0x3C, 0x09, 0x15, 0x0D, 0x37, 0x09 .byte 0x18, 0x0D, 0x31, 0x09, 0x1C, 0x0D, 0x2C, 0x09, 0x20, 0x0D, 0x27, 0x09, 0x23, 0x0D, 0x22, 0x09 .byte 0x27, 0x0D, 0x1D, 0x09, 0x2A, 0x0D, 0x18, 0x09, 0x2E, 0x0D, 0x12, 0x09, 0x32, 0x0D, 0x0D, 0x09 .byte 0x35, 0x0D, 0x08, 0x09, 0x39, 0x0D, 0x03, 0x09, 0x3C, 0x0D, 0xFE, 0x08, 0x40, 0x0D, 0xF8, 0x08 .byte 0x43, 0x0D, 0xF3, 0x08, 0x47, 0x0D, 0xEE, 0x08, 0x4A, 0x0D, 0xE9, 0x08, 0x4E, 0x0D, 0xE4, 0x08 .byte 0x51, 0x0D, 0xDE, 0x08, 0x55, 0x0D, 0xD9, 0x08, 0x58, 0x0D, 0xD4, 0x08, 0x5C, 0x0D, 0xCF, 0x08 .byte 0x5F, 0x0D, 0xC9, 0x08, 0x62, 0x0D, 0xC4, 0x08, 0x66, 0x0D, 0xBF, 0x08, 0x69, 0x0D, 0xBA, 0x08 .byte 0x6D, 0x0D, 0xB4, 0x08, 0x70, 0x0D, 0xAF, 0x08, 0x74, 0x0D, 0xAA, 0x08, 0x77, 0x0D, 0xA5, 0x08 .byte 0x7A, 0x0D, 0x9F, 0x08, 0x7E, 0x0D, 0x9A, 0x08, 0x81, 0x0D, 0x95, 0x08, 0x85, 0x0D, 0x8F, 0x08 .byte 0x88, 0x0D, 0x8A, 0x08, 0x8B, 0x0D, 0x85, 0x08, 0x8F, 0x0D, 0x7F, 0x08, 0x92, 0x0D, 0x7A, 0x08 .byte 0x95, 0x0D, 0x75, 0x08, 0x99, 0x0D, 0x6F, 0x08, 0x9C, 0x0D, 0x6A, 0x08, 0x9F, 0x0D, 0x65, 0x08 .byte 0xA2, 0x0D, 0x5F, 0x08, 0xA6, 0x0D, 0x5A, 0x08, 0xA9, 0x0D, 0x55, 0x08, 0xAC, 0x0D, 0x4F, 0x08 .byte 0xB0, 0x0D, 0x4A, 0x08, 0xB3, 0x0D, 0x45, 0x08, 0xB6, 0x0D, 0x3F, 0x08, 0xB9, 0x0D, 0x3A, 0x08 .byte 0xBC, 0x0D, 0x34, 0x08, 0xC0, 0x0D, 0x2F, 0x08, 0xC3, 0x0D, 0x2A, 0x08, 0xC6, 0x0D, 0x24, 0x08 .byte 0xC9, 0x0D, 0x1F, 0x08, 0xCC, 0x0D, 0x19, 0x08, 0xD0, 0x0D, 0x14, 0x08, 0xD3, 0x0D, 0x0E, 0x08 .byte 0xD6, 0x0D, 0x09, 0x08, 0xD9, 0x0D, 0x04, 0x08, 0xDC, 0x0D, 0xFE, 0x07, 0xDF, 0x0D, 0xF9, 0x07 .byte 0xE3, 0x0D, 0xF3, 0x07, 0xE6, 0x0D, 0xEE, 0x07, 0xE9, 0x0D, 0xE8, 0x07, 0xEC, 0x0D, 0xE3, 0x07 .byte 0xEF, 0x0D, 0xDD, 0x07, 0xF2, 0x0D, 0xD8, 0x07, 0xF5, 0x0D, 0xD2, 0x07, 0xF8, 0x0D, 0xCD, 0x07 .byte 0xFB, 0x0D, 0xC8, 0x07, 0xFE, 0x0D, 0xC2, 0x07, 0x01, 0x0E, 0xBD, 0x07, 0x04, 0x0E, 0xB7, 0x07 .byte 0x07, 0x0E, 0xB2, 0x07, 0x0A, 0x0E, 0xAC, 0x07, 0x0D, 0x0E, 0xA6, 0x07, 0x10, 0x0E, 0xA1, 0x07 .byte 0x13, 0x0E, 0x9B, 0x07, 0x16, 0x0E, 0x96, 0x07, 0x19, 0x0E, 0x90, 0x07, 0x1C, 0x0E, 0x8B, 0x07 .byte 0x1F, 0x0E, 0x85, 0x07, 0x22, 0x0E, 0x80, 0x07, 0x25, 0x0E, 0x7A, 0x07, 0x28, 0x0E, 0x75, 0x07 .byte 0x2B, 0x0E, 0x6F, 0x07, 0x2E, 0x0E, 0x6A, 0x07, 0x31, 0x0E, 0x64, 0x07, 0x34, 0x0E, 0x5E, 0x07 .byte 0x37, 0x0E, 0x59, 0x07, 0x3A, 0x0E, 0x53, 0x07, 0x3C, 0x0E, 0x4E, 0x07, 0x3F, 0x0E, 0x48, 0x07 .byte 0x42, 0x0E, 0x42, 0x07, 0x45, 0x0E, 0x3D, 0x07, 0x48, 0x0E, 0x37, 0x07, 0x4B, 0x0E, 0x32, 0x07 .byte 0x4D, 0x0E, 0x2C, 0x07, 0x50, 0x0E, 0x26, 0x07, 0x53, 0x0E, 0x21, 0x07, 0x56, 0x0E, 0x1B, 0x07 .byte 0x59, 0x0E, 0x15, 0x07, 0x5B, 0x0E, 0x10, 0x07, 0x5E, 0x0E, 0x0A, 0x07, 0x61, 0x0E, 0x05, 0x07 .byte 0x64, 0x0E, 0xFF, 0x06, 0x66, 0x0E, 0xF9, 0x06, 0x69, 0x0E, 0xF4, 0x06, 0x6C, 0x0E, 0xEE, 0x06 .byte 0x6F, 0x0E, 0xE8, 0x06, 0x71, 0x0E, 0xE3, 0x06, 0x74, 0x0E, 0xDD, 0x06, 0x77, 0x0E, 0xD7, 0x06 .byte 0x79, 0x0E, 0xD2, 0x06, 0x7C, 0x0E, 0xCC, 0x06, 0x7F, 0x0E, 0xC6, 0x06, 0x81, 0x0E, 0xC1, 0x06 .byte 0x84, 0x0E, 0xBB, 0x06, 0x87, 0x0E, 0xB5, 0x06, 0x89, 0x0E, 0xAF, 0x06, 0x8C, 0x0E, 0xAA, 0x06 .byte 0x8F, 0x0E, 0xA4, 0x06, 0x91, 0x0E, 0x9E, 0x06, 0x94, 0x0E, 0x99, 0x06, 0x96, 0x0E, 0x93, 0x06 .byte 0x99, 0x0E, 0x8D, 0x06, 0x9B, 0x0E, 0x87, 0x06, 0x9E, 0x0E, 0x82, 0x06, 0xA1, 0x0E, 0x7C, 0x06 .byte 0xA3, 0x0E, 0x76, 0x06, 0xA6, 0x0E, 0x70, 0x06, 0xA8, 0x0E, 0x6B, 0x06, 0xAB, 0x0E, 0x65, 0x06 .byte 0xAD, 0x0E, 0x5F, 0x06, 0xB0, 0x0E, 0x59, 0x06, 0xB2, 0x0E, 0x54, 0x06, 0xB5, 0x0E, 0x4E, 0x06 .byte 0xB7, 0x0E, 0x48, 0x06, 0xBA, 0x0E, 0x42, 0x06, 0xBC, 0x0E, 0x3C, 0x06, 0xBF, 0x0E, 0x37, 0x06 .byte 0xC1, 0x0E, 0x31, 0x06, 0xC3, 0x0E, 0x2B, 0x06, 0xC6, 0x0E, 0x25, 0x06, 0xC8, 0x0E, 0x1F, 0x06 .byte 0xCB, 0x0E, 0x1A, 0x06, 0xCD, 0x0E, 0x14, 0x06, 0xCF, 0x0E, 0x0E, 0x06, 0xD2, 0x0E, 0x08, 0x06 .byte 0xD4, 0x0E, 0x02, 0x06, 0xD6, 0x0E, 0xFD, 0x05, 0xD9, 0x0E, 0xF7, 0x05, 0xDB, 0x0E, 0xF1, 0x05 .byte 0xDD, 0x0E, 0xEB, 0x05, 0xE0, 0x0E, 0xE5, 0x05, 0xE2, 0x0E, 0xDF, 0x05, 0xE4, 0x0E, 0xDA, 0x05 .byte 0xE7, 0x0E, 0xD4, 0x05, 0xE9, 0x0E, 0xCE, 0x05, 0xEB, 0x0E, 0xC8, 0x05, 0xEE, 0x0E, 0xC2, 0x05 .byte 0xF0, 0x0E, 0xBC, 0x05, 0xF2, 0x0E, 0xB6, 0x05, 0xF4, 0x0E, 0xB1, 0x05, 0xF7, 0x0E, 0xAB, 0x05 .byte 0xF9, 0x0E, 0xA5, 0x05, 0xFB, 0x0E, 0x9F, 0x05, 0xFD, 0x0E, 0x99, 0x05, 0xFF, 0x0E, 0x93, 0x05 .byte 0x02, 0x0F, 0x8D, 0x05, 0x04, 0x0F, 0x87, 0x05, 0x06, 0x0F, 0x81, 0x05, 0x08, 0x0F, 0x7C, 0x05 .byte 0x0A, 0x0F, 0x76, 0x05, 0x0C, 0x0F, 0x70, 0x05, 0x0E, 0x0F, 0x6A, 0x05, 0x11, 0x0F, 0x64, 0x05 .byte 0x13, 0x0F, 0x5E, 0x05, 0x15, 0x0F, 0x58, 0x05, 0x17, 0x0F, 0x52, 0x05, 0x19, 0x0F, 0x4C, 0x05 .byte 0x1B, 0x0F, 0x46, 0x05, 0x1D, 0x0F, 0x40, 0x05, 0x1F, 0x0F, 0x3A, 0x05, 0x21, 0x0F, 0x34, 0x05 .byte 0x23, 0x0F, 0x2F, 0x05, 0x25, 0x0F, 0x29, 0x05, 0x27, 0x0F, 0x23, 0x05, 0x29, 0x0F, 0x1D, 0x05 .byte 0x2B, 0x0F, 0x17, 0x05, 0x2D, 0x0F, 0x11, 0x05, 0x2F, 0x0F, 0x0B, 0x05, 0x31, 0x0F, 0x05, 0x05 .byte 0x33, 0x0F, 0xFF, 0x04, 0x35, 0x0F, 0xF9, 0x04, 0x37, 0x0F, 0xF3, 0x04, 0x39, 0x0F, 0xED, 0x04 .byte 0x3B, 0x0F, 0xE7, 0x04, 0x3D, 0x0F, 0xE1, 0x04, 0x3F, 0x0F, 0xDB, 0x04, 0x41, 0x0F, 0xD5, 0x04 .byte 0x43, 0x0F, 0xCF, 0x04, 0x45, 0x0F, 0xC9, 0x04, 0x46, 0x0F, 0xC3, 0x04, 0x48, 0x0F, 0xBD, 0x04 .byte 0x4A, 0x0F, 0xB7, 0x04, 0x4C, 0x0F, 0xB1, 0x04, 0x4E, 0x0F, 0xAB, 0x04, 0x50, 0x0F, 0xA5, 0x04 .byte 0x51, 0x0F, 0x9F, 0x04, 0x53, 0x0F, 0x99, 0x04, 0x55, 0x0F, 0x93, 0x04, 0x57, 0x0F, 0x8D, 0x04 .byte 0x59, 0x0F, 0x87, 0x04, 0x5A, 0x0F, 0x81, 0x04, 0x5C, 0x0F, 0x7B, 0x04, 0x5E, 0x0F, 0x75, 0x04 .byte 0x60, 0x0F, 0x6F, 0x04, 0x61, 0x0F, 0x69, 0x04, 0x63, 0x0F, 0x63, 0x04, 0x65, 0x0F, 0x5D, 0x04 .byte 0x67, 0x0F, 0x57, 0x04, 0x68, 0x0F, 0x51, 0x04, 0x6A, 0x0F, 0x4B, 0x04, 0x6C, 0x0F, 0x44, 0x04 .byte 0x6D, 0x0F, 0x3E, 0x04, 0x6F, 0x0F, 0x38, 0x04, 0x71, 0x0F, 0x32, 0x04, 0x72, 0x0F, 0x2C, 0x04 .byte 0x74, 0x0F, 0x26, 0x04, 0x76, 0x0F, 0x20, 0x04, 0x77, 0x0F, 0x1A, 0x04, 0x79, 0x0F, 0x14, 0x04 .byte 0x7A, 0x0F, 0x0E, 0x04, 0x7C, 0x0F, 0x08, 0x04, 0x7D, 0x0F, 0x02, 0x04, 0x7F, 0x0F, 0xFC, 0x03 .byte 0x81, 0x0F, 0xF6, 0x03, 0x82, 0x0F, 0xEF, 0x03, 0x84, 0x0F, 0xE9, 0x03, 0x85, 0x0F, 0xE3, 0x03 .byte 0x87, 0x0F, 0xDD, 0x03, 0x88, 0x0F, 0xD7, 0x03, 0x8A, 0x0F, 0xD1, 0x03, 0x8B, 0x0F, 0xCB, 0x03 .byte 0x8D, 0x0F, 0xC5, 0x03, 0x8E, 0x0F, 0xBF, 0x03, 0x90, 0x0F, 0xB9, 0x03, 0x91, 0x0F, 0xB2, 0x03 .byte 0x93, 0x0F, 0xAC, 0x03, 0x94, 0x0F, 0xA6, 0x03, 0x95, 0x0F, 0xA0, 0x03, 0x97, 0x0F, 0x9A, 0x03 .byte 0x98, 0x0F, 0x94, 0x03, 0x9A, 0x0F, 0x8E, 0x03, 0x9B, 0x0F, 0x88, 0x03, 0x9C, 0x0F, 0x81, 0x03 .byte 0x9E, 0x0F, 0x7B, 0x03, 0x9F, 0x0F, 0x75, 0x03, 0xA1, 0x0F, 0x6F, 0x03, 0xA2, 0x0F, 0x69, 0x03 .byte 0xA3, 0x0F, 0x63, 0x03, 0xA5, 0x0F, 0x5D, 0x03, 0xA6, 0x0F, 0x56, 0x03, 0xA7, 0x0F, 0x50, 0x03 .byte 0xA8, 0x0F, 0x4A, 0x03, 0xAA, 0x0F, 0x44, 0x03, 0xAB, 0x0F, 0x3E, 0x03, 0xAC, 0x0F, 0x38, 0x03 .byte 0xAE, 0x0F, 0x32, 0x03, 0xAF, 0x0F, 0x2B, 0x03, 0xB0, 0x0F, 0x25, 0x03, 0xB1, 0x0F, 0x1F, 0x03 .byte 0xB3, 0x0F, 0x19, 0x03, 0xB4, 0x0F, 0x13, 0x03, 0xB5, 0x0F, 0x0D, 0x03, 0xB6, 0x0F, 0x06, 0x03 .byte 0xB7, 0x0F, 0x00, 0x03, 0xB8, 0x0F, 0xFA, 0x02, 0xBA, 0x0F, 0xF4, 0x02, 0xBB, 0x0F, 0xEE, 0x02 .byte 0xBC, 0x0F, 0xE8, 0x02, 0xBD, 0x0F, 0xE1, 0x02, 0xBE, 0x0F, 0xDB, 0x02, 0xBF, 0x0F, 0xD5, 0x02 .byte 0xC0, 0x0F, 0xCF, 0x02, 0xC2, 0x0F, 0xC9, 0x02, 0xC3, 0x0F, 0xC2, 0x02, 0xC4, 0x0F, 0xBC, 0x02 .byte 0xC5, 0x0F, 0xB6, 0x02, 0xC6, 0x0F, 0xB0, 0x02, 0xC7, 0x0F, 0xAA, 0x02, 0xC8, 0x0F, 0xA3, 0x02 .byte 0xC9, 0x0F, 0x9D, 0x02, 0xCA, 0x0F, 0x97, 0x02, 0xCB, 0x0F, 0x91, 0x02, 0xCC, 0x0F, 0x8B, 0x02 .byte 0xCD, 0x0F, 0x84, 0x02, 0xCE, 0x0F, 0x7E, 0x02, 0xCF, 0x0F, 0x78, 0x02, 0xD0, 0x0F, 0x72, 0x02 .byte 0xD1, 0x0F, 0x6C, 0x02, 0xD2, 0x0F, 0x65, 0x02, 0xD3, 0x0F, 0x5F, 0x02, 0xD4, 0x0F, 0x59, 0x02 .byte 0xD5, 0x0F, 0x53, 0x02, 0xD5, 0x0F, 0x4D, 0x02, 0xD6, 0x0F, 0x46, 0x02, 0xD7, 0x0F, 0x40, 0x02 .byte 0xD8, 0x0F, 0x3A, 0x02, 0xD9, 0x0F, 0x34, 0x02, 0xDA, 0x0F, 0x2D, 0x02, 0xDB, 0x0F, 0x27, 0x02 .word _02210FDC .word _021B0FDC .byte 0xDD, 0x0F, 0x15, 0x02, 0xDE, 0x0F, 0x0E, 0x02 .byte 0xDF, 0x0F, 0x08, 0x02, 0xE0, 0x0F, 0x02, 0x02, 0xE0, 0x0F, 0xFC, 0x01, 0xE1, 0x0F, 0xF5, 0x01 .byte 0xE2, 0x0F, 0xEF, 0x01, 0xE3, 0x0F, 0xE9, 0x01, 0xE3, 0x0F, 0xE3, 0x01, 0xE4, 0x0F, 0xDC, 0x01 .byte 0xE5, 0x0F, 0xD6, 0x01, 0xE6, 0x0F, 0xD0, 0x01, 0xE6, 0x0F, 0xCA, 0x01, 0xE7, 0x0F, 0xC3, 0x01 .byte 0xE8, 0x0F, 0xBD, 0x01, 0xE8, 0x0F, 0xB7, 0x01, 0xE9, 0x0F, 0xB1, 0x01, 0xEA, 0x0F, 0xAA, 0x01 .byte 0xEA, 0x0F, 0xA4, 0x01, 0xEB, 0x0F, 0x9E, 0x01, 0xEC, 0x0F, 0x98, 0x01, 0xEC, 0x0F, 0x91, 0x01 .byte 0xED, 0x0F, 0x8B, 0x01, 0xED, 0x0F, 0x85, 0x01, 0xEE, 0x0F, 0x7F, 0x01, 0xEF, 0x0F, 0x78, 0x01 .byte 0xEF, 0x0F, 0x72, 0x01, 0xF0, 0x0F, 0x6C, 0x01, 0xF0, 0x0F, 0x66, 0x01, 0xF1, 0x0F, 0x5F, 0x01 .byte 0xF1, 0x0F, 0x59, 0x01, 0xF2, 0x0F, 0x53, 0x01, 0xF2, 0x0F, 0x4D, 0x01, 0xF3, 0x0F, 0x46, 0x01 .byte 0xF3, 0x0F, 0x40, 0x01, 0xF4, 0x0F, 0x3A, 0x01, 0xF4, 0x0F, 0x34, 0x01, 0xF5, 0x0F, 0x2D, 0x01 .byte 0xF5, 0x0F, 0x27, 0x01, 0xF6, 0x0F, 0x21, 0x01, 0xF6, 0x0F, 0x1B, 0x01, 0xF7, 0x0F, 0x14, 0x01 .byte 0xF7, 0x0F, 0x0E, 0x01, 0xF8, 0x0F, 0x08, 0x01, 0xF8, 0x0F, 0x01, 0x01, 0xF8, 0x0F, 0xFB, 0x00 .byte 0xF9, 0x0F, 0xF5, 0x00, 0xF9, 0x0F, 0xEF, 0x00, 0xF9, 0x0F, 0xE8, 0x00, 0xFA, 0x0F, 0xE2, 0x00 .byte 0xFA, 0x0F, 0xDC, 0x00, 0xFA, 0x0F, 0xD6, 0x00, 0xFB, 0x0F, 0xCF, 0x00, 0xFB, 0x0F, 0xC9, 0x00 .byte 0xFB, 0x0F, 0xC3, 0x00, 0xFC, 0x0F, 0xBC, 0x00, 0xFC, 0x0F, 0xB6, 0x00, 0xFC, 0x0F, 0xB0, 0x00 .byte 0xFC, 0x0F, 0xAA, 0x00, 0xFD, 0x0F, 0xA3, 0x00, 0xFD, 0x0F, 0x9D, 0x00, 0xFD, 0x0F, 0x97, 0x00 .byte 0xFD, 0x0F, 0x90, 0x00, 0xFE, 0x0F, 0x8A, 0x00, 0xFE, 0x0F, 0x84, 0x00, 0xFE, 0x0F, 0x7E, 0x00 .byte 0xFE, 0x0F, 0x77, 0x00, 0xFE, 0x0F, 0x71, 0x00, 0xFF, 0x0F, 0x6B, 0x00, 0xFF, 0x0F, 0x65, 0x00 .byte 0xFF, 0x0F, 0x5E, 0x00, 0xFF, 0x0F, 0x58, 0x00, 0xFF, 0x0F, 0x52, 0x00, 0xFF, 0x0F, 0x4B, 0x00 .byte 0xFF, 0x0F, 0x45, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x10, 0x39, 0x00, 0x00, 0x10, 0x32, 0x00 .byte 0x00, 0x10, 0x2C, 0x00, 0x00, 0x10, 0x26, 0x00, 0x00, 0x10, 0x1F, 0x00, 0x00, 0x10, 0x19, 0x00 .byte 0x00, 0x10, 0x13, 0x00, 0x00, 0x10, 0x0D, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, 0x10, 0x00, 0x00 .byte 0x00, 0x10, 0xFA, 0xFF, 0x00, 0x10, 0xF3, 0xFF, 0x00, 0x10, 0xED, 0xFF, 0x00, 0x10, 0xE7, 0xFF .byte 0x00, 0x10, 0xE1, 0xFF, 0x00, 0x10, 0xDA, 0xFF, 0x00, 0x10, 0xD4, 0xFF, 0x00, 0x10, 0xCE, 0xFF .byte 0x00, 0x10, 0xC7, 0xFF, 0x00, 0x10, 0xC1, 0xFF, 0xFF, 0x0F, 0xBB, 0xFF, 0xFF, 0x0F, 0xB5, 0xFF .byte 0xFF, 0x0F, 0xAE, 0xFF, 0xFF, 0x0F, 0xA8, 0xFF, 0xFF, 0x0F, 0xA2, 0xFF, 0xFF, 0x0F, 0x9B, 0xFF .byte 0xFF, 0x0F, 0x95, 0xFF, 0xFE, 0x0F, 0x8F, 0xFF, 0xFE, 0x0F, 0x89, 0xFF, 0xFE, 0x0F, 0x82, 0xFF .byte 0xFE, 0x0F, 0x7C, 0xFF, 0xFE, 0x0F, 0x76, 0xFF, 0xFD, 0x0F, 0x70, 0xFF, 0xFD, 0x0F, 0x69, 0xFF .byte 0xFD, 0x0F, 0x63, 0xFF, 0xFD, 0x0F, 0x5D, 0xFF, 0xFC, 0x0F, 0x56, 0xFF, 0xFC, 0x0F, 0x50, 0xFF .byte 0xFC, 0x0F, 0x4A, 0xFF, 0xFC, 0x0F, 0x44, 0xFF, 0xFB, 0x0F, 0x3D, 0xFF, 0xFB, 0x0F, 0x37, 0xFF .byte 0xFB, 0x0F, 0x31, 0xFF, 0xFA, 0x0F, 0x2A, 0xFF, 0xFA, 0x0F, 0x24, 0xFF, 0xFA, 0x0F, 0x1E, 0xFF .byte 0xF9, 0x0F, 0x18, 0xFF, 0xF9, 0x0F, 0x11, 0xFF, 0xF9, 0x0F, 0x0B, 0xFF, 0xF8, 0x0F, 0x05, 0xFF .byte 0xF8, 0x0F, 0xFF, 0xFE, 0xF8, 0x0F, 0xF8, 0xFE, 0xF7, 0x0F, 0xF2, 0xFE, 0xF7, 0x0F, 0xEC, 0xFE .byte 0xF6, 0x0F, 0xE5, 0xFE, 0xF6, 0x0F, 0xDF, 0xFE, 0xF5, 0x0F, 0xD9, 0xFE, 0xF5, 0x0F, 0xD3, 0xFE .byte 0xF4, 0x0F, 0xCC, 0xFE, 0xF4, 0x0F, 0xC6, 0xFE, 0xF3, 0x0F, 0xC0, 0xFE, 0xF3, 0x0F, 0xBA, 0xFE .byte 0xF2, 0x0F, 0xB3, 0xFE, 0xF2, 0x0F, 0xAD, 0xFE, 0xF1, 0x0F, 0xA7, 0xFE, 0xF1, 0x0F, 0xA1, 0xFE .byte 0xF0, 0x0F, 0x9A, 0xFE, 0xF0, 0x0F, 0x94, 0xFE, 0xEF, 0x0F, 0x8E, 0xFE, 0xEF, 0x0F, 0x88, 0xFE .byte 0xEE, 0x0F, 0x81, 0xFE, 0xED, 0x0F, 0x7B, 0xFE, 0xED, 0x0F, 0x75, 0xFE, 0xEC, 0x0F, 0x6F, 0xFE .byte 0xEC, 0x0F, 0x68, 0xFE, 0xEB, 0x0F, 0x62, 0xFE, 0xEA, 0x0F, 0x5C, 0xFE, 0xEA, 0x0F, 0x56, 0xFE .byte 0xE9, 0x0F, 0x4F, 0xFE, 0xE8, 0x0F, 0x49, 0xFE, 0xE8, 0x0F, 0x43, 0xFE, 0xE7, 0x0F, 0x3D, 0xFE .byte 0xE6, 0x0F, 0x36, 0xFE, 0xE6, 0x0F, 0x30, 0xFE, 0xE5, 0x0F, 0x2A, 0xFE, 0xE4, 0x0F, 0x24, 0xFE .byte 0xE3, 0x0F, 0x1D, 0xFE, 0xE3, 0x0F, 0x17, 0xFE, 0xE2, 0x0F, 0x11, 0xFE, 0xE1, 0x0F, 0x0B, 0xFE .byte 0xE0, 0x0F, 0x04, 0xFE, 0xE0, 0x0F, 0xFE, 0xFD, 0xDF, 0x0F, 0xF8, 0xFD, 0xDE, 0x0F, 0xF2, 0xFD .byte 0xDD, 0x0F, 0xEB, 0xFD, 0xDC, 0x0F, 0xE5, 0xFD, 0xDC, 0x0F, 0xDF, 0xFD, 0xDB, 0x0F, 0xD9, 0xFD .byte 0xDA, 0x0F, 0xD3, 0xFD, 0xD9, 0x0F, 0xCC, 0xFD, 0xD8, 0x0F, 0xC6, 0xFD, 0xD7, 0x0F, 0xC0, 0xFD .byte 0xD6, 0x0F, 0xBA, 0xFD, 0xD5, 0x0F, 0xB3, 0xFD, 0xD5, 0x0F, 0xAD, 0xFD, 0xD4, 0x0F, 0xA7, 0xFD .byte 0xD3, 0x0F, 0xA1, 0xFD, 0xD2, 0x0F, 0x9B, 0xFD, 0xD1, 0x0F, 0x94, 0xFD, 0xD0, 0x0F, 0x8E, 0xFD .byte 0xCF, 0x0F, 0x88, 0xFD, 0xCE, 0x0F, 0x82, 0xFD, 0xCD, 0x0F, 0x7C, 0xFD, 0xCC, 0x0F, 0x75, 0xFD .byte 0xCB, 0x0F, 0x6F, 0xFD, 0xCA, 0x0F, 0x69, 0xFD, 0xC9, 0x0F, 0x63, 0xFD, 0xC8, 0x0F, 0x5D, 0xFD .byte 0xC7, 0x0F, 0x56, 0xFD, 0xC6, 0x0F, 0x50, 0xFD, 0xC5, 0x0F, 0x4A, 0xFD, 0xC4, 0x0F, 0x44, 0xFD .byte 0xC3, 0x0F, 0x3E, 0xFD, 0xC2, 0x0F, 0x37, 0xFD, 0xC0, 0x0F, 0x31, 0xFD, 0xBF, 0x0F, 0x2B, 0xFD .byte 0xBE, 0x0F, 0x25, 0xFD, 0xBD, 0x0F, 0x1F, 0xFD, 0xBC, 0x0F, 0x18, 0xFD, 0xBB, 0x0F, 0x12, 0xFD .byte 0xBA, 0x0F, 0x0C, 0xFD, 0xB8, 0x0F, 0x06, 0xFD, 0xB7, 0x0F, 0x00, 0xFD, 0xB6, 0x0F, 0xFA, 0xFC .byte 0xB5, 0x0F, 0xF3, 0xFC, 0xB4, 0x0F, 0xED, 0xFC, 0xB3, 0x0F, 0xE7, 0xFC, 0xB1, 0x0F, 0xE1, 0xFC .byte 0xB0, 0x0F, 0xDB, 0xFC, 0xAF, 0x0F, 0xD5, 0xFC, 0xAE, 0x0F, 0xCE, 0xFC, 0xAC, 0x0F, 0xC8, 0xFC .byte 0xAB, 0x0F, 0xC2, 0xFC, 0xAA, 0x0F, 0xBC, 0xFC, 0xA8, 0x0F, 0xB6, 0xFC, 0xA7, 0x0F, 0xB0, 0xFC .byte 0xA6, 0x0F, 0xAA, 0xFC, 0xA5, 0x0F, 0xA3, 0xFC, 0xA3, 0x0F, 0x9D, 0xFC, 0xA2, 0x0F, 0x97, 0xFC .byte 0xA1, 0x0F, 0x91, 0xFC, 0x9F, 0x0F, 0x8B, 0xFC, 0x9E, 0x0F, 0x85, 0xFC, 0x9C, 0x0F, 0x7F, 0xFC .byte 0x9B, 0x0F, 0x78, 0xFC, 0x9A, 0x0F, 0x72, 0xFC, 0x98, 0x0F, 0x6C, 0xFC, 0x97, 0x0F, 0x66, 0xFC .byte 0x95, 0x0F, 0x60, 0xFC, 0x94, 0x0F, 0x5A, 0xFC, 0x93, 0x0F, 0x54, 0xFC, 0x91, 0x0F, 0x4E, 0xFC .byte 0x90, 0x0F, 0x47, 0xFC, 0x8E, 0x0F, 0x41, 0xFC, 0x8D, 0x0F, 0x3B, 0xFC, 0x8B, 0x0F, 0x35, 0xFC .byte 0x8A, 0x0F, 0x2F, 0xFC, 0x88, 0x0F, 0x29, 0xFC, 0x87, 0x0F, 0x23, 0xFC, 0x85, 0x0F, 0x1D, 0xFC .byte 0x84, 0x0F, 0x17, 0xFC, 0x82, 0x0F, 0x11, 0xFC, 0x81, 0x0F, 0x0A, 0xFC, 0x7F, 0x0F, 0x04, 0xFC .byte 0x7D, 0x0F, 0xFE, 0xFB, 0x7C, 0x0F, 0xF8, 0xFB, 0x7A, 0x0F, 0xF2, 0xFB, 0x79, 0x0F, 0xEC, 0xFB .byte 0x77, 0x0F, 0xE6, 0xFB, 0x76, 0x0F, 0xE0, 0xFB, 0x74, 0x0F, 0xDA, 0xFB, 0x72, 0x0F, 0xD4, 0xFB .byte 0x71, 0x0F, 0xCE, 0xFB, 0x6F, 0x0F, 0xC8, 0xFB, 0x6D, 0x0F, 0xC2, 0xFB, 0x6C, 0x0F, 0xBC, 0xFB .byte 0x6A, 0x0F, 0xB5, 0xFB, 0x68, 0x0F, 0xAF, 0xFB, 0x67, 0x0F, 0xA9, 0xFB, 0x65, 0x0F, 0xA3, 0xFB .byte 0x63, 0x0F, 0x9D, 0xFB, 0x61, 0x0F, 0x97, 0xFB, 0x60, 0x0F, 0x91, 0xFB, 0x5E, 0x0F, 0x8B, 0xFB .byte 0x5C, 0x0F, 0x85, 0xFB, 0x5A, 0x0F, 0x7F, 0xFB, 0x59, 0x0F, 0x79, 0xFB, 0x57, 0x0F, 0x73, 0xFB .byte 0x55, 0x0F, 0x6D, 0xFB, 0x53, 0x0F, 0x67, 0xFB, 0x51, 0x0F, 0x61, 0xFB, 0x50, 0x0F, 0x5B, 0xFB .byte 0x4E, 0x0F, 0x55, 0xFB, 0x4C, 0x0F, 0x4F, 0xFB, 0x4A, 0x0F, 0x49, 0xFB, 0x48, 0x0F, 0x43, 0xFB .byte 0x46, 0x0F, 0x3D, 0xFB, 0x45, 0x0F, 0x37, 0xFB, 0x43, 0x0F, 0x31, 0xFB, 0x41, 0x0F, 0x2B, 0xFB .byte 0x3F, 0x0F, 0x25, 0xFB, 0x3D, 0x0F, 0x1F, 0xFB, 0x3B, 0x0F, 0x19, 0xFB, 0x39, 0x0F, 0x13, 0xFB .byte 0x37, 0x0F, 0x0D, 0xFB, 0x35, 0x0F, 0x07, 0xFB, 0x33, 0x0F, 0x01, 0xFB, 0x31, 0x0F, 0xFB, 0xFA .byte 0x2F, 0x0F, 0xF5, 0xFA, 0x2D, 0x0F, 0xEF, 0xFA, 0x2B, 0x0F, 0xE9, 0xFA, 0x29, 0x0F, 0xE3, 0xFA .byte 0x27, 0x0F, 0xDD, 0xFA, 0x25, 0x0F, 0xD7, 0xFA, 0x23, 0x0F, 0xD1, 0xFA, 0x21, 0x0F, 0xCC, 0xFA .byte 0x1F, 0x0F, 0xC6, 0xFA, 0x1D, 0x0F, 0xC0, 0xFA, 0x1B, 0x0F, 0xBA, 0xFA, 0x19, 0x0F, 0xB4, 0xFA .byte 0x17, 0x0F, 0xAE, 0xFA, 0x15, 0x0F, 0xA8, 0xFA, 0x13, 0x0F, 0xA2, 0xFA, 0x11, 0x0F, 0x9C, 0xFA .byte 0x0E, 0x0F, 0x96, 0xFA, 0x0C, 0x0F, 0x90, 0xFA, 0x0A, 0x0F, 0x8A, 0xFA, 0x08, 0x0F, 0x84, 0xFA .byte 0x06, 0x0F, 0x7F, 0xFA, 0x04, 0x0F, 0x79, 0xFA, 0x02, 0x0F, 0x73, 0xFA, 0xFF, 0x0E, 0x6D, 0xFA .byte 0xFD, 0x0E, 0x67, 0xFA, 0xFB, 0x0E, 0x61, 0xFA, 0xF9, 0x0E, 0x5B, 0xFA, 0xF7, 0x0E, 0x55, 0xFA .byte 0xF4, 0x0E, 0x4F, 0xFA, 0xF2, 0x0E, 0x4A, 0xFA, 0xF0, 0x0E, 0x44, 0xFA, 0xEE, 0x0E, 0x3E, 0xFA .byte 0xEB, 0x0E, 0x38, 0xFA, 0xE9, 0x0E, 0x32, 0xFA, 0xE7, 0x0E, 0x2C, 0xFA, 0xE4, 0x0E, 0x26, 0xFA .byte 0xE2, 0x0E, 0x21, 0xFA, 0xE0, 0x0E, 0x1B, 0xFA, 0xDD, 0x0E, 0x15, 0xFA, 0xDB, 0x0E, 0x0F, 0xFA .byte 0xD9, 0x0E, 0x09, 0xFA, 0xD6, 0x0E, 0x03, 0xFA, 0xD4, 0x0E, 0xFE, 0xF9, 0xD2, 0x0E, 0xF8, 0xF9 .byte 0xCF, 0x0E, 0xF2, 0xF9, 0xCD, 0x0E, 0xEC, 0xF9, 0xCB, 0x0E, 0xE6, 0xF9, 0xC8, 0x0E, 0xE1, 0xF9 .byte 0xC6, 0x0E, 0xDB, 0xF9, 0xC3, 0x0E, 0xD5, 0xF9, 0xC1, 0x0E, 0xCF, 0xF9, 0xBF, 0x0E, 0xC9, 0xF9 .byte 0xBC, 0x0E, 0xC4, 0xF9, 0xBA, 0x0E, 0xBE, 0xF9, 0xB7, 0x0E, 0xB8, 0xF9, 0xB5, 0x0E, 0xB2, 0xF9 .byte 0xB2, 0x0E, 0xAC, 0xF9, 0xB0, 0x0E, 0xA7, 0xF9, 0xAD, 0x0E, 0xA1, 0xF9, 0xAB, 0x0E, 0x9B, 0xF9 .byte 0xA8, 0x0E, 0x95, 0xF9, 0xA6, 0x0E, 0x90, 0xF9, 0xA3, 0x0E, 0x8A, 0xF9, 0xA1, 0x0E, 0x84, 0xF9 .byte 0x9E, 0x0E, 0x7E, 0xF9, 0x9B, 0x0E, 0x79, 0xF9, 0x99, 0x0E, 0x73, 0xF9, 0x96, 0x0E, 0x6D, 0xF9 .byte 0x94, 0x0E, 0x67, 0xF9, 0x91, 0x0E, 0x62, 0xF9, 0x8F, 0x0E, 0x5C, 0xF9, 0x8C, 0x0E, 0x56, 0xF9 .byte 0x89, 0x0E, 0x51, 0xF9, 0x87, 0x0E, 0x4B, 0xF9, 0x84, 0x0E, 0x45, 0xF9, 0x81, 0x0E, 0x3F, 0xF9 .byte 0x7F, 0x0E, 0x3A, 0xF9, 0x7C, 0x0E, 0x34, 0xF9, 0x79, 0x0E, 0x2E, 0xF9, 0x77, 0x0E, 0x29, 0xF9 .byte 0x74, 0x0E, 0x23, 0xF9, 0x71, 0x0E, 0x1D, 0xF9, 0x6F, 0x0E, 0x18, 0xF9, 0x6C, 0x0E, 0x12, 0xF9 .byte 0x69, 0x0E, 0x0C, 0xF9, 0x66, 0x0E, 0x07, 0xF9, 0x64, 0x0E, 0x01, 0xF9, 0x61, 0x0E, 0xFB, 0xF8 .byte 0x5E, 0x0E, 0xF6, 0xF8, 0x5B, 0x0E, 0xF0, 0xF8, 0x59, 0x0E, 0xEB, 0xF8, 0x56, 0x0E, 0xE5, 0xF8 .byte 0x53, 0x0E, 0xDF, 0xF8, 0x50, 0x0E, 0xDA, 0xF8, 0x4D, 0x0E, 0xD4, 0xF8, 0x4B, 0x0E, 0xCE, 0xF8 .byte 0x48, 0x0E, 0xC9, 0xF8, 0x45, 0x0E, 0xC3, 0xF8, 0x42, 0x0E, 0xBE, 0xF8, 0x3F, 0x0E, 0xB8, 0xF8 .byte 0x3C, 0x0E, 0xB2, 0xF8, 0x3A, 0x0E, 0xAD, 0xF8, 0x37, 0x0E, 0xA7, 0xF8, 0x34, 0x0E, 0xA2, 0xF8 .byte 0x31, 0x0E, 0x9C, 0xF8, 0x2E, 0x0E, 0x96, 0xF8, 0x2B, 0x0E, 0x91, 0xF8, 0x28, 0x0E, 0x8B, 0xF8 .byte 0x25, 0x0E, 0x86, 0xF8, 0x22, 0x0E, 0x80, 0xF8, 0x1F, 0x0E, 0x7B, 0xF8, 0x1C, 0x0E, 0x75, 0xF8 .byte 0x19, 0x0E, 0x70, 0xF8, 0x16, 0x0E, 0x6A, 0xF8, 0x13, 0x0E, 0x65, 0xF8, 0x10, 0x0E, 0x5F, 0xF8 .byte 0x0D, 0x0E, 0x5A, 0xF8, 0x0A, 0x0E, 0x54, 0xF8, 0x07, 0x0E, 0x4E, 0xF8, 0x04, 0x0E, 0x49, 0xF8 .byte 0x01, 0x0E, 0x43, 0xF8, 0xFE, 0x0D, 0x3E, 0xF8, 0xFB, 0x0D, 0x38, 0xF8, 0xF8, 0x0D, 0x33, 0xF8 .byte 0xF5, 0x0D, 0x2E, 0xF8, 0xF2, 0x0D, 0x28, 0xF8, 0xEF, 0x0D, 0x23, 0xF8, 0xEC, 0x0D, 0x1D, 0xF8 .byte 0xE9, 0x0D, 0x18, 0xF8, 0xE6, 0x0D, 0x12, 0xF8, 0xE3, 0x0D, 0x0D, 0xF8, 0xDF, 0x0D, 0x07, 0xF8 .byte 0xDC, 0x0D, 0x02, 0xF8, 0xD9, 0x0D, 0xFC, 0xF7, 0xD6, 0x0D, 0xF7, 0xF7, 0xD3, 0x0D, 0xF2, 0xF7 .byte 0xD0, 0x0D, 0xEC, 0xF7, 0xCC, 0x0D, 0xE7, 0xF7, 0xC9, 0x0D, 0xE1, 0xF7, 0xC6, 0x0D, 0xDC, 0xF7 .byte 0xC3, 0x0D, 0xD6, 0xF7, 0xC0, 0x0D, 0xD1, 0xF7, 0xBC, 0x0D, 0xCC, 0xF7, 0xB9, 0x0D, 0xC6, 0xF7 .byte 0xB6, 0x0D, 0xC1, 0xF7, 0xB3, 0x0D, 0xBB, 0xF7, 0xB0, 0x0D, 0xB6, 0xF7, 0xAC, 0x0D, 0xB1, 0xF7 .byte 0xA9, 0x0D, 0xAB, 0xF7, 0xA6, 0x0D, 0xA6, 0xF7, 0xA2, 0x0D, 0xA1, 0xF7, 0x9F, 0x0D, 0x9B, 0xF7 .byte 0x9C, 0x0D, 0x96, 0xF7, 0x99, 0x0D, 0x91, 0xF7, 0x95, 0x0D, 0x8B, 0xF7, 0x92, 0x0D, 0x86, 0xF7 .byte 0x8F, 0x0D, 0x81, 0xF7, 0x8B, 0x0D, 0x7B, 0xF7, 0x88, 0x0D, 0x76, 0xF7, 0x85, 0x0D, 0x71, 0xF7 .byte 0x81, 0x0D, 0x6B, 0xF7, 0x7E, 0x0D, 0x66, 0xF7, 0x7A, 0x0D, 0x61, 0xF7, 0x77, 0x0D, 0x5B, 0xF7 .byte 0x74, 0x0D, 0x56, 0xF7, 0x70, 0x0D, 0x51, 0xF7, 0x6D, 0x0D, 0x4C, 0xF7, 0x69, 0x0D, 0x46, 0xF7 .byte 0x66, 0x0D, 0x41, 0xF7, 0x62, 0x0D, 0x3C, 0xF7, 0x5F, 0x0D, 0x37, 0xF7, 0x5C, 0x0D, 0x31, 0xF7 .byte 0x58, 0x0D, 0x2C, 0xF7, 0x55, 0x0D, 0x27, 0xF7, 0x51, 0x0D, 0x22, 0xF7, 0x4E, 0x0D, 0x1C, 0xF7 .byte 0x4A, 0x0D, 0x17, 0xF7, 0x47, 0x0D, 0x12, 0xF7, 0x43, 0x0D, 0x0D, 0xF7, 0x40, 0x0D, 0x08, 0xF7 .byte 0x3C, 0x0D, 0x02, 0xF7, 0x39, 0x0D, 0xFD, 0xF6, 0x35, 0x0D, 0xF8, 0xF6, 0x32, 0x0D, 0xF3, 0xF6 .byte 0x2E, 0x0D, 0xEE, 0xF6, 0x2A, 0x0D, 0xE8, 0xF6, 0x27, 0x0D, 0xE3, 0xF6, 0x23, 0x0D, 0xDE, 0xF6 .byte 0x20, 0x0D, 0xD9, 0xF6, 0x1C, 0x0D, 0xD4, 0xF6, 0x18, 0x0D, 0xCF, 0xF6, 0x15, 0x0D, 0xC9, 0xF6 .byte 0x11, 0x0D, 0xC4, 0xF6, 0x0E, 0x0D, 0xBF, 0xF6, 0x0A, 0x0D, 0xBA, 0xF6, 0x06, 0x0D, 0xB5, 0xF6 .byte 0x03, 0x0D, 0xB0, 0xF6, 0xFF, 0x0C, 0xAB, 0xF6, 0xFB, 0x0C, 0xA6, 0xF6, 0xF8, 0x0C, 0xA1, 0xF6 .byte 0xF4, 0x0C, 0x9B, 0xF6, 0xF0, 0x0C, 0x96, 0xF6, 0xED, 0x0C, 0x91, 0xF6, 0xE9, 0x0C, 0x8C, 0xF6 .byte 0xE5, 0x0C, 0x87, 0xF6, 0xE1, 0x0C, 0x82, 0xF6, 0xDE, 0x0C, 0x7D, 0xF6, 0xDA, 0x0C, 0x78, 0xF6 .byte 0xD6, 0x0C, 0x73, 0xF6, 0xD2, 0x0C, 0x6E, 0xF6, 0xCF, 0x0C, 0x69, 0xF6, 0xCB, 0x0C, 0x64, 0xF6 .byte 0xC7, 0x0C, 0x5F, 0xF6, 0xC3, 0x0C, 0x5A, 0xF6, 0xC0, 0x0C, 0x55, 0xF6, 0xBC, 0x0C, 0x50, 0xF6 .byte 0xB8, 0x0C, 0x4B, 0xF6, 0xB4, 0x0C, 0x46, 0xF6, 0xB0, 0x0C, 0x41, 0xF6, 0xAC, 0x0C, 0x3C, 0xF6 .byte 0xA9, 0x0C, 0x37, 0xF6, 0xA5, 0x0C, 0x32, 0xF6, 0xA1, 0x0C, 0x2D, 0xF6, 0x9D, 0x0C, 0x28, 0xF6 .byte 0x99, 0x0C, 0x23, 0xF6, 0x95, 0x0C, 0x1E, 0xF6, 0x91, 0x0C, 0x19, 0xF6, 0x8E, 0x0C, 0x14, 0xF6 .byte 0x8A, 0x0C, 0x0F, 0xF6, 0x86, 0x0C, 0x0A, 0xF6, 0x82, 0x0C, 0x05, 0xF6, 0x7E, 0x0C, 0x01, 0xF6 .byte 0x7A, 0x0C, 0xFC, 0xF5, 0x76, 0x0C, 0xF7, 0xF5, 0x72, 0x0C, 0xF2, 0xF5, 0x6E, 0x0C, 0xED, 0xF5 .byte 0x6A, 0x0C, 0xE8, 0xF5, 0x66, 0x0C, 0xE3, 0xF5, 0x62, 0x0C, 0xDE, 0xF5, 0x5E, 0x0C, 0xDA, 0xF5 .byte 0x5A, 0x0C, 0xD5, 0xF5, 0x56, 0x0C, 0xD0, 0xF5, 0x52, 0x0C, 0xCB, 0xF5, 0x4E, 0x0C, 0xC6, 0xF5 .byte 0x4A, 0x0C, 0xC1, 0xF5, 0x46, 0x0C, 0xBC, 0xF5, 0x42, 0x0C, 0xB8, 0xF5, 0x3E, 0x0C, 0xB3, 0xF5 .byte 0x3A, 0x0C, 0xAE, 0xF5, 0x36, 0x0C, 0xA9, 0xF5, 0x32, 0x0C, 0xA4, 0xF5, 0x2E, 0x0C, 0xA0, 0xF5 .byte 0x2A, 0x0C, 0x9B, 0xF5, 0x26, 0x0C, 0x96, 0xF5, 0x22, 0x0C, 0x91, 0xF5, 0x1E, 0x0C, 0x8D, 0xF5 .byte 0x19, 0x0C, 0x88, 0xF5, 0x15, 0x0C, 0x83, 0xF5, 0x11, 0x0C, 0x7E, 0xF5, 0x0D, 0x0C, 0x7A, 0xF5 .byte 0x09, 0x0C, 0x75, 0xF5, 0x05, 0x0C, 0x70, 0xF5, 0x01, 0x0C, 0x6B, 0xF5, 0xFC, 0x0B, 0x67, 0xF5 .byte 0xF8, 0x0B, 0x62, 0xF5, 0xF4, 0x0B, 0x5D, 0xF5, 0xF0, 0x0B, 0x59, 0xF5, 0xEC, 0x0B, 0x54, 0xF5 .byte 0xE8, 0x0B, 0x4F, 0xF5, 0xE3, 0x0B, 0x4B, 0xF5, 0xDF, 0x0B, 0x46, 0xF5, 0xDB, 0x0B, 0x41, 0xF5 .byte 0xD7, 0x0B, 0x3D, 0xF5, 0xD2, 0x0B, 0x38, 0xF5, 0xCE, 0x0B, 0x33, 0xF5, 0xCA, 0x0B, 0x2F, 0xF5 .byte 0xC6, 0x0B, 0x2A, 0xF5, 0xC1, 0x0B, 0x25, 0xF5, 0xBD, 0x0B, 0x21, 0xF5, 0xB9, 0x0B, 0x1C, 0xF5 .byte 0xB5, 0x0B, 0x18, 0xF5, 0xB0, 0x0B, 0x13, 0xF5, 0xAC, 0x0B, 0x0E, 0xF5, 0xA8, 0x0B, 0x0A, 0xF5 .byte 0xA3, 0x0B, 0x05, 0xF5, 0x9F, 0x0B, 0x01, 0xF5, 0x9B, 0x0B, 0xFC, 0xF4, 0x97, 0x0B, 0xF8, 0xF4 .byte 0x92, 0x0B, 0xF3, 0xF4, 0x8E, 0x0B, 0xEF, 0xF4, 0x89, 0x0B, 0xEA, 0xF4, 0x85, 0x0B, 0xE5, 0xF4 .byte 0x81, 0x0B, 0xE1, 0xF4, 0x7C, 0x0B, 0xDC, 0xF4, 0x78, 0x0B, 0xD8, 0xF4, 0x74, 0x0B, 0xD3, 0xF4 .byte 0x6F, 0x0B, 0xCF, 0xF4, 0x6B, 0x0B, 0xCA, 0xF4, 0x66, 0x0B, 0xC6, 0xF4, 0x62, 0x0B, 0xC2, 0xF4 .byte 0x5E, 0x0B, 0xBD, 0xF4, 0x59, 0x0B, 0xB9, 0xF4, 0x55, 0x0B, 0xB4, 0xF4, 0x50, 0x0B, 0xB0, 0xF4 .byte 0x4C, 0x0B, 0xAB, 0xF4, 0x47, 0x0B, 0xA7, 0xF4, 0x43, 0x0B, 0xA2, 0xF4, 0x3E, 0x0B, 0x9E, 0xF4 .byte 0x3A, 0x0B, 0x9A, 0xF4, 0x36, 0x0B, 0x95, 0xF4, 0x31, 0x0B, 0x91, 0xF4, 0x2D, 0x0B, 0x8C, 0xF4 .byte 0x28, 0x0B, 0x88, 0xF4, 0x24, 0x0B, 0x84, 0xF4, 0x1F, 0x0B, 0x7F, 0xF4, 0x1B, 0x0B, 0x7B, 0xF4 .byte 0x16, 0x0B, 0x77, 0xF4, 0x11, 0x0B, 0x72, 0xF4, 0x0D, 0x0B, 0x6E, 0xF4, 0x08, 0x0B, 0x69, 0xF4 .byte 0x04, 0x0B, 0x65, 0xF4, 0xFF, 0x0A, 0x61, 0xF4, 0xFB, 0x0A, 0x5D, 0xF4, 0xF6, 0x0A, 0x58, 0xF4 .byte 0xF2, 0x0A, 0x54, 0xF4, 0xED, 0x0A, 0x50, 0xF4, 0xE8, 0x0A, 0x4B, 0xF4, 0xE4, 0x0A, 0x47, 0xF4 .byte 0xDF, 0x0A, 0x43, 0xF4, 0xDB, 0x0A, 0x3F, 0xF4, 0xD6, 0x0A, 0x3A, 0xF4, 0xD1, 0x0A, 0x36, 0xF4 .byte 0xCD, 0x0A, 0x32, 0xF4, 0xC8, 0x0A, 0x2E, 0xF4, 0xC3, 0x0A, 0x29, 0xF4, 0xBF, 0x0A, 0x25, 0xF4 .byte 0xBA, 0x0A, 0x21, 0xF4, 0xB5, 0x0A, 0x1D, 0xF4, 0xB1, 0x0A, 0x18, 0xF4, 0xAC, 0x0A, 0x14, 0xF4 .byte 0xA7, 0x0A, 0x10, 0xF4, 0xA3, 0x0A, 0x0C, 0xF4, 0x9E, 0x0A, 0x08, 0xF4, 0x99, 0x0A, 0x04, 0xF4 .byte 0x95, 0x0A, 0xFF, 0xF3, 0x90, 0x0A, 0xFB, 0xF3, 0x8B, 0x0A, 0xF7, 0xF3, 0x86, 0x0A, 0xF3, 0xF3 .byte 0x82, 0x0A, 0xEF, 0xF3, 0x7D, 0x0A, 0xEB, 0xF3, 0x78, 0x0A, 0xE7, 0xF3, 0x73, 0x0A, 0xE2, 0xF3 .byte 0x6F, 0x0A, 0xDE, 0xF3, 0x6A, 0x0A, 0xDA, 0xF3, 0x65, 0x0A, 0xD6, 0xF3, 0x60, 0x0A, 0xD2, 0xF3 .byte 0x5C, 0x0A, 0xCE, 0xF3, 0x57, 0x0A, 0xCA, 0xF3, 0x52, 0x0A, 0xC6, 0xF3, 0x4D, 0x0A, 0xC2, 0xF3 .byte 0x48, 0x0A, 0xBE, 0xF3, 0x44, 0x0A, 0xBA, 0xF3, 0x3F, 0x0A, 0xB6, 0xF3, 0x3A, 0x0A, 0xB2, 0xF3 .byte 0x35, 0x0A, 0xAE, 0xF3, 0x30, 0x0A, 0xAA, 0xF3, 0x2B, 0x0A, 0xA6, 0xF3, 0x26, 0x0A, 0xA2, 0xF3 .byte 0x22, 0x0A, 0x9E, 0xF3, 0x1D, 0x0A, 0x9A, 0xF3, 0x18, 0x0A, 0x96, 0xF3, 0x13, 0x0A, 0x92, 0xF3 .byte 0x0E, 0x0A, 0x8E, 0xF3, 0x09, 0x0A, 0x8A, 0xF3, 0x04, 0x0A, 0x86, 0xF3, 0xFF, 0x09, 0x82, 0xF3 .byte 0xFB, 0x09, 0x7E, 0xF3, 0xF6, 0x09, 0x7A, 0xF3, 0xF1, 0x09, 0x76, 0xF3, 0xEC, 0x09, 0x72, 0xF3 .byte 0xE7, 0x09, 0x6F, 0xF3, 0xE2, 0x09, 0x6B, 0xF3, 0xDD, 0x09, 0x67, 0xF3, 0xD8, 0x09, 0x63, 0xF3 .byte 0xD3, 0x09, 0x5F, 0xF3, 0xCE, 0x09, 0x5B, 0xF3, 0xC9, 0x09, 0x57, 0xF3, 0xC4, 0x09, 0x54, 0xF3 .byte 0xBF, 0x09, 0x50, 0xF3, 0xBA, 0x09, 0x4C, 0xF3, 0xB5, 0x09, 0x48, 0xF3, 0xB0, 0x09, 0x44, 0xF3 .byte 0xAB, 0x09, 0x40, 0xF3, 0xA6, 0x09, 0x3D, 0xF3, 0xA1, 0x09, 0x39, 0xF3, 0x9C, 0x09, 0x35, 0xF3 .byte 0x97, 0x09, 0x31, 0xF3, 0x92, 0x09, 0x2E, 0xF3, 0x8D, 0x09, 0x2A, 0xF3, 0x88, 0x09, 0x26, 0xF3 .byte 0x83, 0x09, 0x22, 0xF3, 0x7E, 0x09, 0x1F, 0xF3, 0x79, 0x09, 0x1B, 0xF3, 0x74, 0x09, 0x17, 0xF3 .byte 0x6F, 0x09, 0x13, 0xF3, 0x6A, 0x09, 0x10, 0xF3, 0x65, 0x09, 0x0C, 0xF3, 0x5F, 0x09, 0x08, 0xF3 .byte 0x5A, 0x09, 0x05, 0xF3, 0x55, 0x09, 0x01, 0xF3, 0x50, 0x09, 0xFD, 0xF2, 0x4B, 0x09, 0xFA, 0xF2 .byte 0x46, 0x09, 0xF6, 0xF2, 0x41, 0x09, 0xF2, 0xF2, 0x3C, 0x09, 0xEF, 0xF2, 0x37, 0x09, 0xEB, 0xF2 .byte 0x31, 0x09, 0xE8, 0xF2, 0x2C, 0x09, 0xE4, 0xF2, 0x27, 0x09, 0xE0, 0xF2, 0x22, 0x09, 0xDD, 0xF2 .byte 0x1D, 0x09, 0xD9, 0xF2, 0x18, 0x09, 0xD6, 0xF2, 0x12, 0x09, 0xD2, 0xF2, 0x0D, 0x09, 0xCE, 0xF2 .byte 0x08, 0x09, 0xCB, 0xF2, 0x03, 0x09, 0xC7, 0xF2, 0xFE, 0x08, 0xC4, 0xF2, 0xF8, 0x08, 0xC0, 0xF2 .byte 0xF3, 0x08, 0xBD, 0xF2, 0xEE, 0x08, 0xB9, 0xF2, 0xE9, 0x08, 0xB6, 0xF2, 0xE4, 0x08, 0xB2, 0xF2 .byte 0xDE, 0x08, 0xAF, 0xF2, 0xD9, 0x08, 0xAB, 0xF2, 0xD4, 0x08, 0xA8, 0xF2, 0xCF, 0x08, 0xA4, 0xF2 .byte 0xC9, 0x08, 0xA1, 0xF2, 0xC4, 0x08, 0x9E, 0xF2, 0xBF, 0x08, 0x9A, 0xF2, 0xBA, 0x08, 0x97, 0xF2 .byte 0xB4, 0x08, 0x93, 0xF2, 0xAF, 0x08, 0x90, 0xF2, 0xAA, 0x08, 0x8C, 0xF2, 0xA5, 0x08, 0x89, 0xF2 .byte 0x9F, 0x08, 0x86, 0xF2, 0x9A, 0x08, 0x82, 0xF2, 0x95, 0x08, 0x7F, 0xF2, 0x8F, 0x08, 0x7B, 0xF2 .byte 0x8A, 0x08, 0x78, 0xF2, 0x85, 0x08, 0x75, 0xF2, 0x7F, 0x08, 0x71, 0xF2, 0x7A, 0x08, 0x6E, 0xF2 .byte 0x75, 0x08, 0x6B, 0xF2, 0x6F, 0x08, 0x67, 0xF2, 0x6A, 0x08, 0x64, 0xF2, 0x65, 0x08, 0x61, 0xF2 .byte 0x5F, 0x08, 0x5E, 0xF2, 0x5A, 0x08, 0x5A, 0xF2, 0x55, 0x08, 0x57, 0xF2, 0x4F, 0x08, 0x54, 0xF2 .byte 0x4A, 0x08, 0x50, 0xF2, 0x45, 0x08, 0x4D, 0xF2, 0x3F, 0x08, 0x4A, 0xF2, 0x3A, 0x08, 0x47, 0xF2 .byte 0x34, 0x08, 0x44, 0xF2, 0x2F, 0x08, 0x40, 0xF2, 0x2A, 0x08, 0x3D, 0xF2, 0x24, 0x08, 0x3A, 0xF2 .byte 0x1F, 0x08, 0x37, 0xF2, 0x19, 0x08, 0x34, 0xF2, 0x14, 0x08, 0x30, 0xF2, 0x0E, 0x08, 0x2D, 0xF2 .byte 0x09, 0x08, 0x2A, 0xF2, 0x04, 0x08, 0x27, 0xF2, 0xFE, 0x07, 0x24, 0xF2, 0xF9, 0x07, 0x21, 0xF2 .byte 0xF3, 0x07, 0x1D, 0xF2, 0xEE, 0x07, 0x1A, 0xF2, 0xE8, 0x07, 0x17, 0xF2, 0xE3, 0x07, 0x14, 0xF2 .byte 0xDD, 0x07, 0x11, 0xF2, 0xD8, 0x07, 0x0E, 0xF2, 0xD2, 0x07, 0x0B, 0xF2, 0xCD, 0x07, 0x08, 0xF2 .byte 0xC8, 0x07, 0x05, 0xF2, 0xC2, 0x07, 0x02, 0xF2, 0xBD, 0x07, 0xFF, 0xF1, 0xB7, 0x07, 0xFC, 0xF1 .byte 0xB2, 0x07, 0xF9, 0xF1, 0xAC, 0x07, 0xF6, 0xF1, 0xA6, 0x07, 0xF3, 0xF1, 0xA1, 0x07, 0xF0, 0xF1 .byte 0x9B, 0x07, 0xED, 0xF1, 0x96, 0x07, 0xEA, 0xF1, 0x90, 0x07, 0xE7, 0xF1, 0x8B, 0x07, 0xE4, 0xF1 .byte 0x85, 0x07, 0xE1, 0xF1, 0x80, 0x07, 0xDE, 0xF1, 0x7A, 0x07, 0xDB, 0xF1, 0x75, 0x07, 0xD8, 0xF1 .byte 0x6F, 0x07, 0xD5, 0xF1, 0x6A, 0x07, 0xD2, 0xF1, 0x64, 0x07, 0xCF, 0xF1, 0x5E, 0x07, 0xCC, 0xF1 .byte 0x59, 0x07, 0xC9, 0xF1, 0x53, 0x07, 0xC6, 0xF1, 0x4E, 0x07, 0xC4, 0xF1, 0x48, 0x07, 0xC1, 0xF1 .byte 0x42, 0x07, 0xBE, 0xF1, 0x3D, 0x07, 0xBB, 0xF1, 0x37, 0x07, 0xB8, 0xF1, 0x32, 0x07, 0xB5, 0xF1 .byte 0x2C, 0x07, 0xB3, 0xF1, 0x26, 0x07, 0xB0, 0xF1, 0x21, 0x07, 0xAD, 0xF1, 0x1B, 0x07, 0xAA, 0xF1 .byte 0x15, 0x07, 0xA7, 0xF1, 0x10, 0x07, 0xA5, 0xF1, 0x0A, 0x07, 0xA2, 0xF1, 0x05, 0x07, 0x9F, 0xF1 .byte 0xFF, 0x06, 0x9C, 0xF1, 0xF9, 0x06, 0x9A, 0xF1, 0xF4, 0x06, 0x97, 0xF1, 0xEE, 0x06, 0x94, 0xF1 .byte 0xE8, 0x06, 0x91, 0xF1, 0xE3, 0x06, 0x8F, 0xF1, 0xDD, 0x06, 0x8C, 0xF1, 0xD7, 0x06, 0x89, 0xF1 .byte 0xD2, 0x06, 0x87, 0xF1, 0xCC, 0x06, 0x84, 0xF1, 0xC6, 0x06, 0x81, 0xF1, 0xC1, 0x06, 0x7F, 0xF1 .byte 0xBB, 0x06, 0x7C, 0xF1, 0xB5, 0x06, 0x79, 0xF1, 0xAF, 0x06, 0x77, 0xF1, 0xAA, 0x06, 0x74, 0xF1 .byte 0xA4, 0x06, 0x71, 0xF1, 0x9E, 0x06, 0x6F, 0xF1, 0x99, 0x06, 0x6C, 0xF1, 0x93, 0x06, 0x6A, 0xF1 .byte 0x8D, 0x06, 0x67, 0xF1, 0x87, 0x06, 0x65, 0xF1, 0x82, 0x06, 0x62, 0xF1, 0x7C, 0x06, 0x5F, 0xF1 .byte 0x76, 0x06, 0x5D, 0xF1, 0x70, 0x06, 0x5A, 0xF1, 0x6B, 0x06, 0x58, 0xF1, 0x65, 0x06, 0x55, 0xF1 .byte 0x5F, 0x06, 0x53, 0xF1, 0x59, 0x06, 0x50, 0xF1, 0x54, 0x06, 0x4E, 0xF1, 0x4E, 0x06, 0x4B, 0xF1 .byte 0x48, 0x06, 0x49, 0xF1, 0x42, 0x06, 0x46, 0xF1, 0x3C, 0x06, 0x44, 0xF1, 0x37, 0x06, 0x41, 0xF1 .byte 0x31, 0x06, 0x3F, 0xF1, 0x2B, 0x06, 0x3D, 0xF1, 0x25, 0x06, 0x3A, 0xF1, 0x1F, 0x06, 0x38, 0xF1 .byte 0x1A, 0x06, 0x35, 0xF1, 0x14, 0x06, 0x33, 0xF1, 0x0E, 0x06, 0x31, 0xF1, 0x08, 0x06, 0x2E, 0xF1 .byte 0x02, 0x06, 0x2C, 0xF1, 0xFD, 0x05, 0x2A, 0xF1, 0xF7, 0x05, 0x27, 0xF1, 0xF1, 0x05, 0x25, 0xF1 .byte 0xEB, 0x05, 0x23, 0xF1, 0xE5, 0x05, 0x20, 0xF1, 0xDF, 0x05, 0x1E, 0xF1, 0xDA, 0x05, 0x1C, 0xF1 .byte 0xD4, 0x05, 0x19, 0xF1, 0xCE, 0x05, 0x17, 0xF1, 0xC8, 0x05, 0x15, 0xF1, 0xC2, 0x05, 0x12, 0xF1 .byte 0xBC, 0x05, 0x10, 0xF1, 0xB6, 0x05, 0x0E, 0xF1, 0xB1, 0x05, 0x0C, 0xF1, 0xAB, 0x05, 0x09, 0xF1 .byte 0xA5, 0x05, 0x07, 0xF1, 0x9F, 0x05, 0x05, 0xF1, 0x99, 0x05, 0x03, 0xF1, 0x93, 0x05, 0x01, 0xF1 .byte 0x8D, 0x05, 0xFE, 0xF0, 0x87, 0x05, 0xFC, 0xF0, 0x81, 0x05, 0xFA, 0xF0, 0x7C, 0x05, 0xF8, 0xF0 .byte 0x76, 0x05, 0xF6, 0xF0, 0x70, 0x05, 0xF4, 0xF0, 0x6A, 0x05, 0xF2, 0xF0, 0x64, 0x05, 0xEF, 0xF0 .byte 0x5E, 0x05, 0xED, 0xF0, 0x58, 0x05, 0xEB, 0xF0, 0x52, 0x05, 0xE9, 0xF0, 0x4C, 0x05, 0xE7, 0xF0 .byte 0x46, 0x05, 0xE5, 0xF0, 0x40, 0x05, 0xE3, 0xF0, 0x3A, 0x05, 0xE1, 0xF0, 0x34, 0x05, 0xDF, 0xF0 .byte 0x2F, 0x05, 0xDD, 0xF0, 0x29, 0x05, 0xDB, 0xF0, 0x23, 0x05, 0xD9, 0xF0, 0x1D, 0x05, 0xD7, 0xF0 .byte 0x17, 0x05, 0xD5, 0xF0, 0x11, 0x05, 0xD3, 0xF0, 0x0B, 0x05, 0xD1, 0xF0, 0x05, 0x05, 0xCF, 0xF0 .byte 0xFF, 0x04, 0xCD, 0xF0, 0xF9, 0x04, 0xCB, 0xF0, 0xF3, 0x04, 0xC9, 0xF0, 0xED, 0x04, 0xC7, 0xF0 .byte 0xE7, 0x04, 0xC5, 0xF0, 0xE1, 0x04, 0xC3, 0xF0, 0xDB, 0x04, 0xC1, 0xF0, 0xD5, 0x04, 0xBF, 0xF0 .byte 0xCF, 0x04, 0xBD, 0xF0, 0xC9, 0x04, 0xBB, 0xF0, 0xC3, 0x04, 0xBA, 0xF0, 0xBD, 0x04, 0xB8, 0xF0 .byte 0xB7, 0x04, 0xB6, 0xF0, 0xB1, 0x04, 0xB4, 0xF0, 0xAB, 0x04, 0xB2, 0xF0, 0xA5, 0x04, 0xB0, 0xF0 .byte 0x9F, 0x04, 0xAF, 0xF0, 0x99, 0x04, 0xAD, 0xF0, 0x93, 0x04, 0xAB, 0xF0, 0x8D, 0x04, 0xA9, 0xF0 .byte 0x87, 0x04, 0xA7, 0xF0, 0x81, 0x04, 0xA6, 0xF0, 0x7B, 0x04, 0xA4, 0xF0, 0x75, 0x04, 0xA2, 0xF0 .byte 0x6F, 0x04, 0xA0, 0xF0, 0x69, 0x04, 0x9F, 0xF0, 0x63, 0x04, 0x9D, 0xF0, 0x5D, 0x04, 0x9B, 0xF0 .byte 0x57, 0x04, 0x99, 0xF0, 0x51, 0x04, 0x98, 0xF0, 0x4B, 0x04, 0x96, 0xF0, 0x44, 0x04, 0x94, 0xF0 .byte 0x3E, 0x04, 0x93, 0xF0, 0x38, 0x04, 0x91, 0xF0, 0x32, 0x04, 0x8F, 0xF0, 0x2C, 0x04, 0x8E, 0xF0 .byte 0x26, 0x04, 0x8C, 0xF0, 0x20, 0x04, 0x8A, 0xF0, 0x1A, 0x04, 0x89, 0xF0, 0x14, 0x04, 0x87, 0xF0 .byte 0x0E, 0x04, 0x86, 0xF0, 0x08, 0x04, 0x84, 0xF0, 0x02, 0x04, 0x83, 0xF0, 0xFC, 0x03, 0x81, 0xF0 .byte 0xF6, 0x03, 0x7F, 0xF0, 0xEF, 0x03, 0x7E, 0xF0, 0xE9, 0x03, 0x7C, 0xF0, 0xE3, 0x03, 0x7B, 0xF0 .byte 0xDD, 0x03, 0x79, 0xF0, 0xD7, 0x03, 0x78, 0xF0, 0xD1, 0x03, 0x76, 0xF0, 0xCB, 0x03, 0x75, 0xF0 .byte 0xC5, 0x03, 0x73, 0xF0, 0xBF, 0x03, 0x72, 0xF0, 0xB9, 0x03, 0x70, 0xF0, 0xB2, 0x03, 0x6F, 0xF0 .byte 0xAC, 0x03, 0x6D, 0xF0, 0xA6, 0x03, 0x6C, 0xF0, 0xA0, 0x03, 0x6B, 0xF0, 0x9A, 0x03, 0x69, 0xF0 .byte 0x94, 0x03, 0x68, 0xF0, 0x8E, 0x03, 0x66, 0xF0, 0x88, 0x03, 0x65, 0xF0, 0x81, 0x03, 0x64, 0xF0 .byte 0x7B, 0x03, 0x62, 0xF0, 0x75, 0x03, 0x61, 0xF0, 0x6F, 0x03, 0x5F, 0xF0, 0x69, 0x03, 0x5E, 0xF0 .byte 0x63, 0x03, 0x5D, 0xF0, 0x5D, 0x03, 0x5B, 0xF0, 0x56, 0x03, 0x5A, 0xF0, 0x50, 0x03, 0x59, 0xF0 .byte 0x4A, 0x03, 0x58, 0xF0, 0x44, 0x03, 0x56, 0xF0, 0x3E, 0x03, 0x55, 0xF0, 0x38, 0x03, 0x54, 0xF0 .byte 0x32, 0x03, 0x52, 0xF0, 0x2B, 0x03, 0x51, 0xF0, 0x25, 0x03, 0x50, 0xF0, 0x1F, 0x03, 0x4F, 0xF0 .byte 0x19, 0x03, 0x4D, 0xF0, 0x13, 0x03, 0x4C, 0xF0, 0x0D, 0x03, 0x4B, 0xF0, 0x06, 0x03, 0x4A, 0xF0 .byte 0x00, 0x03, 0x49, 0xF0, 0xFA, 0x02, 0x48, 0xF0, 0xF4, 0x02, 0x46, 0xF0, 0xEE, 0x02, 0x45, 0xF0 .byte 0xE8, 0x02, 0x44, 0xF0, 0xE1, 0x02, 0x43, 0xF0, 0xDB, 0x02, 0x42, 0xF0, 0xD5, 0x02, 0x41, 0xF0 .byte 0xCF, 0x02, 0x40, 0xF0, 0xC9, 0x02, 0x3E, 0xF0, 0xC2, 0x02, 0x3D, 0xF0, 0xBC, 0x02, 0x3C, 0xF0 .byte 0xB6, 0x02, 0x3B, 0xF0, 0xB0, 0x02, 0x3A, 0xF0, 0xAA, 0x02, 0x39, 0xF0, 0xA3, 0x02, 0x38, 0xF0 .byte 0x9D, 0x02, 0x37, 0xF0, 0x97, 0x02, 0x36, 0xF0, 0x91, 0x02, 0x35, 0xF0, 0x8B, 0x02, 0x34, 0xF0 .byte 0x84, 0x02, 0x33, 0xF0, 0x7E, 0x02, 0x32, 0xF0, 0x78, 0x02, 0x31, 0xF0, 0x72, 0x02, 0x30, 0xF0 .byte 0x6C, 0x02, 0x2F, 0xF0, 0x65, 0x02, 0x2E, 0xF0, 0x5F, 0x02, 0x2D, 0xF0, 0x59, 0x02, 0x2C, 0xF0 .byte 0x53, 0x02, 0x2B, 0xF0, 0x4D, 0x02, 0x2B, 0xF0, 0x46, 0x02, 0x2A, 0xF0, 0x40, 0x02, 0x29, 0xF0 .byte 0x3A, 0x02, 0x28, 0xF0, 0x34, 0x02, 0x27, 0xF0, 0x2D, 0x02, 0x26, 0xF0, 0x27, 0x02, 0x25, 0xF0 .byte 0x21, 0x02, 0x24, 0xF0, 0x1B, 0x02, 0x24, 0xF0, 0x15, 0x02, 0x23, 0xF0, 0x0E, 0x02, 0x22, 0xF0 .byte 0x08, 0x02, 0x21, 0xF0, 0x02, 0x02, 0x20, 0xF0, 0xFC, 0x01, 0x20, 0xF0, 0xF5, 0x01, 0x1F, 0xF0 .byte 0xEF, 0x01, 0x1E, 0xF0, 0xE9, 0x01, 0x1D, 0xF0, 0xE3, 0x01, 0x1D, 0xF0, 0xDC, 0x01, 0x1C, 0xF0 .byte 0xD6, 0x01, 0x1B, 0xF0, 0xD0, 0x01, 0x1A, 0xF0, 0xCA, 0x01, 0x1A, 0xF0, 0xC3, 0x01, 0x19, 0xF0 .byte 0xBD, 0x01, 0x18, 0xF0, 0xB7, 0x01, 0x18, 0xF0, 0xB1, 0x01, 0x17, 0xF0, 0xAA, 0x01, 0x16, 0xF0 .byte 0xA4, 0x01, 0x16, 0xF0, 0x9E, 0x01, 0x15, 0xF0, 0x98, 0x01, 0x14, 0xF0, 0x91, 0x01, 0x14, 0xF0 .byte 0x8B, 0x01, 0x13, 0xF0, 0x85, 0x01, 0x13, 0xF0, 0x7F, 0x01, 0x12, 0xF0, 0x78, 0x01, 0x11, 0xF0 .byte 0x72, 0x01, 0x11, 0xF0, 0x6C, 0x01, 0x10, 0xF0, 0x66, 0x01, 0x10, 0xF0, 0x5F, 0x01, 0x0F, 0xF0 .byte 0x59, 0x01, 0x0F, 0xF0, 0x53, 0x01, 0x0E, 0xF0, 0x4D, 0x01, 0x0E, 0xF0, 0x46, 0x01, 0x0D, 0xF0 .byte 0x40, 0x01, 0x0D, 0xF0, 0x3A, 0x01, 0x0C, 0xF0, 0x34, 0x01, 0x0C, 0xF0, 0x2D, 0x01, 0x0B, 0xF0 .byte 0x27, 0x01, 0x0B, 0xF0, 0x21, 0x01, 0x0A, 0xF0, 0x1B, 0x01, 0x0A, 0xF0, 0x14, 0x01, 0x09, 0xF0 .byte 0x0E, 0x01, 0x09, 0xF0, 0x08, 0x01, 0x08, 0xF0, 0x01, 0x01, 0x08, 0xF0, 0xFB, 0x00, 0x08, 0xF0 .byte 0xF5, 0x00, 0x07, 0xF0, 0xEF, 0x00, 0x07, 0xF0, 0xE8, 0x00, 0x07, 0xF0, 0xE2, 0x00, 0x06, 0xF0 .byte 0xDC, 0x00, 0x06, 0xF0, 0xD6, 0x00, 0x06, 0xF0, 0xCF, 0x00, 0x05, 0xF0, 0xC9, 0x00, 0x05, 0xF0 .byte 0xC3, 0x00, 0x05, 0xF0, 0xBC, 0x00, 0x04, 0xF0, 0xB6, 0x00, 0x04, 0xF0, 0xB0, 0x00, 0x04, 0xF0 .byte 0xAA, 0x00, 0x04, 0xF0, 0xA3, 0x00, 0x03, 0xF0, 0x9D, 0x00, 0x03, 0xF0, 0x97, 0x00, 0x03, 0xF0 .byte 0x90, 0x00, 0x03, 0xF0, 0x8A, 0x00, 0x02, 0xF0, 0x84, 0x00, 0x02, 0xF0, 0x7E, 0x00, 0x02, 0xF0 .byte 0x77, 0x00, 0x02, 0xF0, 0x71, 0x00, 0x02, 0xF0, 0x6B, 0x00, 0x01, 0xF0, 0x65, 0x00, 0x01, 0xF0 .byte 0x5E, 0x00, 0x01, 0xF0, 0x58, 0x00, 0x01, 0xF0, 0x52, 0x00, 0x01, 0xF0, 0x4B, 0x00, 0x01, 0xF0 .byte 0x45, 0x00, 0x01, 0xF0, 0x3F, 0x00, 0x00, 0xF0, 0x39, 0x00, 0x00, 0xF0, 0x32, 0x00, 0x00, 0xF0 .byte 0x2C, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x19, 0x00, 0x00, 0xF0 .byte 0x13, 0x00, 0x00, 0xF0, 0x0D, 0x00, 0x00, 0xF0, 0x06, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0 .byte 0xFA, 0xFF, 0x00, 0xF0, 0xF3, 0xFF, 0x00, 0xF0, 0xED, 0xFF, 0x00, 0xF0, 0xE7, 0xFF, 0x00, 0xF0 .byte 0xE1, 0xFF, 0x00, 0xF0, 0xDA, 0xFF, 0x00, 0xF0, 0xD4, 0xFF, 0x00, 0xF0, 0xCE, 0xFF, 0x00, 0xF0 .byte 0xC7, 0xFF, 0x00, 0xF0, 0xC1, 0xFF, 0x00, 0xF0, 0xBB, 0xFF, 0x01, 0xF0, 0xB5, 0xFF, 0x01, 0xF0 .byte 0xAE, 0xFF, 0x01, 0xF0, 0xA8, 0xFF, 0x01, 0xF0, 0xA2, 0xFF, 0x01, 0xF0, 0x9B, 0xFF, 0x01, 0xF0 .byte 0x95, 0xFF, 0x01, 0xF0, 0x8F, 0xFF, 0x02, 0xF0, 0x89, 0xFF, 0x02, 0xF0, 0x82, 0xFF, 0x02, 0xF0 .byte 0x7C, 0xFF, 0x02, 0xF0, 0x76, 0xFF, 0x02, 0xF0, 0x70, 0xFF, 0x03, 0xF0, 0x69, 0xFF, 0x03, 0xF0 .byte 0x63, 0xFF, 0x03, 0xF0, 0x5D, 0xFF, 0x03, 0xF0, 0x56, 0xFF, 0x04, 0xF0, 0x50, 0xFF, 0x04, 0xF0 .byte 0x4A, 0xFF, 0x04, 0xF0, 0x44, 0xFF, 0x04, 0xF0, 0x3D, 0xFF, 0x05, 0xF0, 0x37, 0xFF, 0x05, 0xF0 .byte 0x31, 0xFF, 0x05, 0xF0, 0x2A, 0xFF, 0x06, 0xF0, 0x24, 0xFF, 0x06, 0xF0, 0x1E, 0xFF, 0x06, 0xF0 .byte 0x18, 0xFF, 0x07, 0xF0, 0x11, 0xFF, 0x07, 0xF0, 0x0B, 0xFF, 0x07, 0xF0, 0x05, 0xFF, 0x08, 0xF0 .byte 0xFF, 0xFE, 0x08, 0xF0, 0xF8, 0xFE, 0x08, 0xF0, 0xF2, 0xFE, 0x09, 0xF0, 0xEC, 0xFE, 0x09, 0xF0 .byte 0xE5, 0xFE, 0x0A, 0xF0, 0xDF, 0xFE, 0x0A, 0xF0, 0xD9, 0xFE, 0x0B, 0xF0, 0xD3, 0xFE, 0x0B, 0xF0 .byte 0xCC, 0xFE, 0x0C, 0xF0, 0xC6, 0xFE, 0x0C, 0xF0, 0xC0, 0xFE, 0x0D, 0xF0, 0xBA, 0xFE, 0x0D, 0xF0 .byte 0xB3, 0xFE, 0x0E, 0xF0, 0xAD, 0xFE, 0x0E, 0xF0, 0xA7, 0xFE, 0x0F, 0xF0, 0xA1, 0xFE, 0x0F, 0xF0 .byte 0x9A, 0xFE, 0x10, 0xF0, 0x94, 0xFE, 0x10, 0xF0, 0x8E, 0xFE, 0x11, 0xF0, 0x88, 0xFE, 0x11, 0xF0 .byte 0x81, 0xFE, 0x12, 0xF0, 0x7B, 0xFE, 0x13, 0xF0, 0x75, 0xFE, 0x13, 0xF0, 0x6F, 0xFE, 0x14, 0xF0 .byte 0x68, 0xFE, 0x14, 0xF0, 0x62, 0xFE, 0x15, 0xF0, 0x5C, 0xFE, 0x16, 0xF0, 0x56, 0xFE, 0x16, 0xF0 .byte 0x4F, 0xFE, 0x17, 0xF0, 0x49, 0xFE, 0x18, 0xF0, 0x43, 0xFE, 0x18, 0xF0, 0x3D, 0xFE, 0x19, 0xF0 .byte 0x36, 0xFE, 0x1A, 0xF0, 0x30, 0xFE, 0x1A, 0xF0, 0x2A, 0xFE, 0x1B, 0xF0, 0x24, 0xFE, 0x1C, 0xF0 .byte 0x1D, 0xFE, 0x1D, 0xF0, 0x17, 0xFE, 0x1D, 0xF0, 0x11, 0xFE, 0x1E, 0xF0, 0x0B, 0xFE, 0x1F, 0xF0 .byte 0x04, 0xFE, 0x20, 0xF0, 0xFE, 0xFD, 0x20, 0xF0, 0xF8, 0xFD, 0x21, 0xF0, 0xF2, 0xFD, 0x22, 0xF0 .byte 0xEB, 0xFD, 0x23, 0xF0, 0xE5, 0xFD, 0x24, 0xF0, 0xDF, 0xFD, 0x24, 0xF0, 0xD9, 0xFD, 0x25, 0xF0 .byte 0xD3, 0xFD, 0x26, 0xF0, 0xCC, 0xFD, 0x27, 0xF0, 0xC6, 0xFD, 0x28, 0xF0, 0xC0, 0xFD, 0x29, 0xF0 .byte 0xBA, 0xFD, 0x2A, 0xF0, 0xB3, 0xFD, 0x2B, 0xF0, 0xAD, 0xFD, 0x2B, 0xF0, 0xA7, 0xFD, 0x2C, 0xF0 .byte 0xA1, 0xFD, 0x2D, 0xF0, 0x9B, 0xFD, 0x2E, 0xF0, 0x94, 0xFD, 0x2F, 0xF0, 0x8E, 0xFD, 0x30, 0xF0 .byte 0x88, 0xFD, 0x31, 0xF0, 0x82, 0xFD, 0x32, 0xF0, 0x7C, 0xFD, 0x33, 0xF0, 0x75, 0xFD, 0x34, 0xF0 .byte 0x6F, 0xFD, 0x35, 0xF0, 0x69, 0xFD, 0x36, 0xF0, 0x63, 0xFD, 0x37, 0xF0, 0x5D, 0xFD, 0x38, 0xF0 .byte 0x56, 0xFD, 0x39, 0xF0, 0x50, 0xFD, 0x3A, 0xF0, 0x4A, 0xFD, 0x3B, 0xF0, 0x44, 0xFD, 0x3C, 0xF0 .byte 0x3E, 0xFD, 0x3D, 0xF0, 0x37, 0xFD, 0x3E, 0xF0, 0x31, 0xFD, 0x40, 0xF0, 0x2B, 0xFD, 0x41, 0xF0 .byte 0x25, 0xFD, 0x42, 0xF0, 0x1F, 0xFD, 0x43, 0xF0, 0x18, 0xFD, 0x44, 0xF0, 0x12, 0xFD, 0x45, 0xF0 .byte 0x0C, 0xFD, 0x46, 0xF0, 0x06, 0xFD, 0x48, 0xF0, 0x00, 0xFD, 0x49, 0xF0, 0xFA, 0xFC, 0x4A, 0xF0 .byte 0xF3, 0xFC, 0x4B, 0xF0, 0xED, 0xFC, 0x4C, 0xF0, 0xE7, 0xFC, 0x4D, 0xF0, 0xE1, 0xFC, 0x4F, 0xF0 .byte 0xDB, 0xFC, 0x50, 0xF0, 0xD5, 0xFC, 0x51, 0xF0, 0xCE, 0xFC, 0x52, 0xF0, 0xC8, 0xFC, 0x54, 0xF0 .byte 0xC2, 0xFC, 0x55, 0xF0, 0xBC, 0xFC, 0x56, 0xF0, 0xB6, 0xFC, 0x58, 0xF0, 0xB0, 0xFC, 0x59, 0xF0 .byte 0xAA, 0xFC, 0x5A, 0xF0, 0xA3, 0xFC, 0x5B, 0xF0, 0x9D, 0xFC, 0x5D, 0xF0, 0x97, 0xFC, 0x5E, 0xF0 .byte 0x91, 0xFC, 0x5F, 0xF0, 0x8B, 0xFC, 0x61, 0xF0, 0x85, 0xFC, 0x62, 0xF0, 0x7F, 0xFC, 0x64, 0xF0 .byte 0x78, 0xFC, 0x65, 0xF0, 0x72, 0xFC, 0x66, 0xF0, 0x6C, 0xFC, 0x68, 0xF0, 0x66, 0xFC, 0x69, 0xF0 .byte 0x60, 0xFC, 0x6B, 0xF0, 0x5A, 0xFC, 0x6C, 0xF0, 0x54, 0xFC, 0x6D, 0xF0, 0x4E, 0xFC, 0x6F, 0xF0 .byte 0x47, 0xFC, 0x70, 0xF0, 0x41, 0xFC, 0x72, 0xF0, 0x3B, 0xFC, 0x73, 0xF0, 0x35, 0xFC, 0x75, 0xF0 .byte 0x2F, 0xFC, 0x76, 0xF0, 0x29, 0xFC, 0x78, 0xF0, 0x23, 0xFC, 0x79, 0xF0, 0x1D, 0xFC, 0x7B, 0xF0 .byte 0x17, 0xFC, 0x7C, 0xF0, 0x11, 0xFC, 0x7E, 0xF0, 0x0A, 0xFC, 0x7F, 0xF0, 0x04, 0xFC, 0x81, 0xF0 .byte 0xFE, 0xFB, 0x83, 0xF0, 0xF8, 0xFB, 0x84, 0xF0, 0xF2, 0xFB, 0x86, 0xF0, 0xEC, 0xFB, 0x87, 0xF0 .byte 0xE6, 0xFB, 0x89, 0xF0, 0xE0, 0xFB, 0x8A, 0xF0, 0xDA, 0xFB, 0x8C, 0xF0, 0xD4, 0xFB, 0x8E, 0xF0 .byte 0xCE, 0xFB, 0x8F, 0xF0, 0xC8, 0xFB, 0x91, 0xF0, 0xC2, 0xFB, 0x93, 0xF0, 0xBC, 0xFB, 0x94, 0xF0 .byte 0xB5, 0xFB, 0x96, 0xF0, 0xAF, 0xFB, 0x98, 0xF0, 0xA9, 0xFB, 0x99, 0xF0, 0xA3, 0xFB, 0x9B, 0xF0 .byte 0x9D, 0xFB, 0x9D, 0xF0, 0x97, 0xFB, 0x9F, 0xF0, 0x91, 0xFB, 0xA0, 0xF0, 0x8B, 0xFB, 0xA2, 0xF0 .byte 0x85, 0xFB, 0xA4, 0xF0, 0x7F, 0xFB, 0xA6, 0xF0, 0x79, 0xFB, 0xA7, 0xF0, 0x73, 0xFB, 0xA9, 0xF0 .byte 0x6D, 0xFB, 0xAB, 0xF0, 0x67, 0xFB, 0xAD, 0xF0, 0x61, 0xFB, 0xAF, 0xF0, 0x5B, 0xFB, 0xB0, 0xF0 .byte 0x55, 0xFB, 0xB2, 0xF0, 0x4F, 0xFB, 0xB4, 0xF0, 0x49, 0xFB, 0xB6, 0xF0, 0x43, 0xFB, 0xB8, 0xF0 .byte 0x3D, 0xFB, 0xBA, 0xF0, 0x37, 0xFB, 0xBB, 0xF0, 0x31, 0xFB, 0xBD, 0xF0, 0x2B, 0xFB, 0xBF, 0xF0 .byte 0x25, 0xFB, 0xC1, 0xF0, 0x1F, 0xFB, 0xC3, 0xF0, 0x19, 0xFB, 0xC5, 0xF0, 0x13, 0xFB, 0xC7, 0xF0 .byte 0x0D, 0xFB, 0xC9, 0xF0, 0x07, 0xFB, 0xCB, 0xF0, 0x01, 0xFB, 0xCD, 0xF0, 0xFB, 0xFA, 0xCF, 0xF0 .byte 0xF5, 0xFA, 0xD1, 0xF0, 0xEF, 0xFA, 0xD3, 0xF0, 0xE9, 0xFA, 0xD5, 0xF0, 0xE3, 0xFA, 0xD7, 0xF0 .byte 0xDD, 0xFA, 0xD9, 0xF0, 0xD7, 0xFA, 0xDB, 0xF0, 0xD1, 0xFA, 0xDD, 0xF0, 0xCC, 0xFA, 0xDF, 0xF0 .byte 0xC6, 0xFA, 0xE1, 0xF0, 0xC0, 0xFA, 0xE3, 0xF0, 0xBA, 0xFA, 0xE5, 0xF0, 0xB4, 0xFA, 0xE7, 0xF0 .byte 0xAE, 0xFA, 0xE9, 0xF0, 0xA8, 0xFA, 0xEB, 0xF0, 0xA2, 0xFA, 0xED, 0xF0, 0x9C, 0xFA, 0xEF, 0xF0 .byte 0x96, 0xFA, 0xF2, 0xF0, 0x90, 0xFA, 0xF4, 0xF0, 0x8A, 0xFA, 0xF6, 0xF0, 0x84, 0xFA, 0xF8, 0xF0 .byte 0x7F, 0xFA, 0xFA, 0xF0, 0x79, 0xFA, 0xFC, 0xF0, 0x73, 0xFA, 0xFE, 0xF0, 0x6D, 0xFA, 0x01, 0xF1 .byte 0x67, 0xFA, 0x03, 0xF1, 0x61, 0xFA, 0x05, 0xF1, 0x5B, 0xFA, 0x07, 0xF1, 0x55, 0xFA, 0x09, 0xF1 .byte 0x4F, 0xFA, 0x0C, 0xF1, 0x4A, 0xFA, 0x0E, 0xF1, 0x44, 0xFA, 0x10, 0xF1, 0x3E, 0xFA, 0x12, 0xF1 .byte 0x38, 0xFA, 0x15, 0xF1, 0x32, 0xFA, 0x17, 0xF1, 0x2C, 0xFA, 0x19, 0xF1, 0x26, 0xFA, 0x1C, 0xF1 .byte 0x21, 0xFA, 0x1E, 0xF1, 0x1B, 0xFA, 0x20, 0xF1, 0x15, 0xFA, 0x23, 0xF1, 0x0F, 0xFA, 0x25, 0xF1 .byte 0x09, 0xFA, 0x27, 0xF1, 0x03, 0xFA, 0x2A, 0xF1, 0xFE, 0xF9, 0x2C, 0xF1, 0xF8, 0xF9, 0x2E, 0xF1 .byte 0xF2, 0xF9, 0x31, 0xF1, 0xEC, 0xF9, 0x33, 0xF1, 0xE6, 0xF9, 0x35, 0xF1, 0xE1, 0xF9, 0x38, 0xF1 .byte 0xDB, 0xF9, 0x3A, 0xF1, 0xD5, 0xF9, 0x3D, 0xF1, 0xCF, 0xF9, 0x3F, 0xF1, 0xC9, 0xF9, 0x41, 0xF1 .byte 0xC4, 0xF9, 0x44, 0xF1, 0xBE, 0xF9, 0x46, 0xF1, 0xB8, 0xF9, 0x49, 0xF1, 0xB2, 0xF9, 0x4B, 0xF1 .byte 0xAC, 0xF9, 0x4E, 0xF1, 0xA7, 0xF9, 0x50, 0xF1, 0xA1, 0xF9, 0x53, 0xF1, 0x9B, 0xF9, 0x55, 0xF1 .byte 0x95, 0xF9, 0x58, 0xF1, 0x90, 0xF9, 0x5A, 0xF1, 0x8A, 0xF9, 0x5D, 0xF1, 0x84, 0xF9, 0x5F, 0xF1 .byte 0x7E, 0xF9, 0x62, 0xF1, 0x79, 0xF9, 0x65, 0xF1, 0x73, 0xF9, 0x67, 0xF1, 0x6D, 0xF9, 0x6A, 0xF1 .byte 0x67, 0xF9, 0x6C, 0xF1, 0x62, 0xF9, 0x6F, 0xF1, 0x5C, 0xF9, 0x71, 0xF1, 0x56, 0xF9, 0x74, 0xF1 .byte 0x51, 0xF9, 0x77, 0xF1, 0x4B, 0xF9, 0x79, 0xF1, 0x45, 0xF9, 0x7C, 0xF1, 0x3F, 0xF9, 0x7F, 0xF1 .byte 0x3A, 0xF9, 0x81, 0xF1, 0x34, 0xF9, 0x84, 0xF1, 0x2E, 0xF9, 0x87, 0xF1, 0x29, 0xF9, 0x89, 0xF1 .byte 0x23, 0xF9, 0x8C, 0xF1, 0x1D, 0xF9, 0x8F, 0xF1, 0x18, 0xF9, 0x91, 0xF1, 0x12, 0xF9, 0x94, 0xF1 .byte 0x0C, 0xF9, 0x97, 0xF1, 0x07, 0xF9, 0x9A, 0xF1, 0x01, 0xF9, 0x9C, 0xF1, 0xFB, 0xF8, 0x9F, 0xF1 .byte 0xF6, 0xF8, 0xA2, 0xF1, 0xF0, 0xF8, 0xA5, 0xF1, 0xEB, 0xF8, 0xA7, 0xF1, 0xE5, 0xF8, 0xAA, 0xF1 .byte 0xDF, 0xF8, 0xAD, 0xF1, 0xDA, 0xF8, 0xB0, 0xF1, 0xD4, 0xF8, 0xB3, 0xF1, 0xCE, 0xF8, 0xB5, 0xF1 .byte 0xC9, 0xF8, 0xB8, 0xF1, 0xC3, 0xF8, 0xBB, 0xF1, 0xBE, 0xF8, 0xBE, 0xF1, 0xB8, 0xF8, 0xC1, 0xF1 .byte 0xB2, 0xF8, 0xC4, 0xF1, 0xAD, 0xF8, 0xC6, 0xF1, 0xA7, 0xF8, 0xC9, 0xF1, 0xA2, 0xF8, 0xCC, 0xF1 .byte 0x9C, 0xF8, 0xCF, 0xF1, 0x96, 0xF8, 0xD2, 0xF1, 0x91, 0xF8, 0xD5, 0xF1, 0x8B, 0xF8, 0xD8, 0xF1 .byte 0x86, 0xF8, 0xDB, 0xF1, 0x80, 0xF8, 0xDE, 0xF1, 0x7B, 0xF8, 0xE1, 0xF1, 0x75, 0xF8, 0xE4, 0xF1 .byte 0x70, 0xF8, 0xE7, 0xF1, 0x6A, 0xF8, 0xEA, 0xF1, 0x65, 0xF8, 0xED, 0xF1, 0x5F, 0xF8, 0xF0, 0xF1 .byte 0x5A, 0xF8, 0xF3, 0xF1, 0x54, 0xF8, 0xF6, 0xF1, 0x4E, 0xF8, 0xF9, 0xF1, 0x49, 0xF8, 0xFC, 0xF1 .byte 0x43, 0xF8, 0xFF, 0xF1, 0x3E, 0xF8, 0x02, 0xF2, 0x38, 0xF8, 0x05, 0xF2, 0x33, 0xF8, 0x08, 0xF2 .byte 0x2E, 0xF8, 0x0B, 0xF2, 0x28, 0xF8, 0x0E, 0xF2, 0x23, 0xF8, 0x11, 0xF2, 0x1D, 0xF8, 0x14, 0xF2 .byte 0x18, 0xF8, 0x17, 0xF2, 0x12, 0xF8, 0x1A, 0xF2, 0x0D, 0xF8, 0x1D, 0xF2, 0x07, 0xF8, 0x21, 0xF2 .byte 0x02, 0xF8, 0x24, 0xF2, 0xFC, 0xF7, 0x27, 0xF2, 0xF7, 0xF7, 0x2A, 0xF2, 0xF2, 0xF7, 0x2D, 0xF2 .byte 0xEC, 0xF7, 0x30, 0xF2, 0xE7, 0xF7, 0x34, 0xF2, 0xE1, 0xF7, 0x37, 0xF2, 0xDC, 0xF7, 0x3A, 0xF2 .byte 0xD6, 0xF7, 0x3D, 0xF2, 0xD1, 0xF7, 0x40, 0xF2, 0xCC, 0xF7, 0x44, 0xF2, 0xC6, 0xF7, 0x47, 0xF2 .byte 0xC1, 0xF7, 0x4A, 0xF2, 0xBB, 0xF7, 0x4D, 0xF2, 0xB6, 0xF7, 0x50, 0xF2, 0xB1, 0xF7, 0x54, 0xF2 .byte 0xAB, 0xF7, 0x57, 0xF2, 0xA6, 0xF7, 0x5A, 0xF2, 0xA1, 0xF7, 0x5E, 0xF2, 0x9B, 0xF7, 0x61, 0xF2 .byte 0x96, 0xF7, 0x64, 0xF2, 0x91, 0xF7, 0x67, 0xF2, 0x8B, 0xF7, 0x6B, 0xF2, 0x86, 0xF7, 0x6E, 0xF2 .byte 0x81, 0xF7, 0x71, 0xF2, 0x7B, 0xF7, 0x75, 0xF2, 0x76, 0xF7, 0x78, 0xF2, 0x71, 0xF7, 0x7B, 0xF2 .byte 0x6B, 0xF7, 0x7F, 0xF2, 0x66, 0xF7, 0x82, 0xF2, 0x61, 0xF7, 0x86, 0xF2, 0x5B, 0xF7, 0x89, 0xF2 .byte 0x56, 0xF7, 0x8C, 0xF2, 0x51, 0xF7, 0x90, 0xF2, 0x4C, 0xF7, 0x93, 0xF2, 0x46, 0xF7, 0x97, 0xF2 .byte 0x41, 0xF7, 0x9A, 0xF2, 0x3C, 0xF7, 0x9E, 0xF2, 0x37, 0xF7, 0xA1, 0xF2, 0x31, 0xF7, 0xA4, 0xF2 .byte 0x2C, 0xF7, 0xA8, 0xF2, 0x27, 0xF7, 0xAB, 0xF2, 0x22, 0xF7, 0xAF, 0xF2, 0x1C, 0xF7, 0xB2, 0xF2 .byte 0x17, 0xF7, 0xB6, 0xF2, 0x12, 0xF7, 0xB9, 0xF2, 0x0D, 0xF7, 0xBD, 0xF2, 0x08, 0xF7, 0xC0, 0xF2 .byte 0x02, 0xF7, 0xC4, 0xF2, 0xFD, 0xF6, 0xC7, 0xF2, 0xF8, 0xF6, 0xCB, 0xF2, 0xF3, 0xF6, 0xCE, 0xF2 .byte 0xEE, 0xF6, 0xD2, 0xF2, 0xE8, 0xF6, 0xD6, 0xF2, 0xE3, 0xF6, 0xD9, 0xF2, 0xDE, 0xF6, 0xDD, 0xF2 .byte 0xD9, 0xF6, 0xE0, 0xF2, 0xD4, 0xF6, 0xE4, 0xF2, 0xCF, 0xF6, 0xE8, 0xF2, 0xC9, 0xF6, 0xEB, 0xF2 .byte 0xC4, 0xF6, 0xEF, 0xF2, 0xBF, 0xF6, 0xF2, 0xF2, 0xBA, 0xF6, 0xF6, 0xF2, 0xB5, 0xF6, 0xFA, 0xF2 .byte 0xB0, 0xF6, 0xFD, 0xF2, 0xAB, 0xF6, 0x01, 0xF3, 0xA6, 0xF6, 0x05, 0xF3, 0xA1, 0xF6, 0x08, 0xF3 .byte 0x9B, 0xF6, 0x0C, 0xF3, 0x96, 0xF6, 0x10, 0xF3, 0x91, 0xF6, 0x13, 0xF3, 0x8C, 0xF6, 0x17, 0xF3 .byte 0x87, 0xF6, 0x1B, 0xF3, 0x82, 0xF6, 0x1F, 0xF3, 0x7D, 0xF6, 0x22, 0xF3, 0x78, 0xF6, 0x26, 0xF3 .byte 0x73, 0xF6, 0x2A, 0xF3, 0x6E, 0xF6, 0x2E, 0xF3, 0x69, 0xF6, 0x31, 0xF3, 0x64, 0xF6, 0x35, 0xF3 .byte 0x5F, 0xF6, 0x39, 0xF3, 0x5A, 0xF6, 0x3D, 0xF3, 0x55, 0xF6, 0x40, 0xF3, 0x50, 0xF6, 0x44, 0xF3 .byte 0x4B, 0xF6, 0x48, 0xF3, 0x46, 0xF6, 0x4C, 0xF3, 0x41, 0xF6, 0x50, 0xF3, 0x3C, 0xF6, 0x54, 0xF3 .byte 0x37, 0xF6, 0x57, 0xF3, 0x32, 0xF6, 0x5B, 0xF3, 0x2D, 0xF6, 0x5F, 0xF3, 0x28, 0xF6, 0x63, 0xF3 .byte 0x23, 0xF6, 0x67, 0xF3, 0x1E, 0xF6, 0x6B, 0xF3, 0x19, 0xF6, 0x6F, 0xF3, 0x14, 0xF6, 0x72, 0xF3 .byte 0x0F, 0xF6, 0x76, 0xF3, 0x0A, 0xF6, 0x7A, 0xF3, 0x05, 0xF6, 0x7E, 0xF3, 0x01, 0xF6, 0x82, 0xF3 .byte 0xFC, 0xF5, 0x86, 0xF3, 0xF7, 0xF5, 0x8A, 0xF3, 0xF2, 0xF5, 0x8E, 0xF3, 0xED, 0xF5, 0x92, 0xF3 .byte 0xE8, 0xF5, 0x96, 0xF3, 0xE3, 0xF5, 0x9A, 0xF3, 0xDE, 0xF5, 0x9E, 0xF3, 0xDA, 0xF5, 0xA2, 0xF3 .byte 0xD5, 0xF5, 0xA6, 0xF3, 0xD0, 0xF5, 0xAA, 0xF3, 0xCB, 0xF5, 0xAE, 0xF3, 0xC6, 0xF5, 0xB2, 0xF3 .byte 0xC1, 0xF5, 0xB6, 0xF3, 0xBC, 0xF5, 0xBA, 0xF3, 0xB8, 0xF5, 0xBE, 0xF3, 0xB3, 0xF5, 0xC2, 0xF3 .byte 0xAE, 0xF5, 0xC6, 0xF3, 0xA9, 0xF5, 0xCA, 0xF3, 0xA4, 0xF5, 0xCE, 0xF3, 0xA0, 0xF5, 0xD2, 0xF3 .byte 0x9B, 0xF5, 0xD6, 0xF3, 0x96, 0xF5, 0xDA, 0xF3, 0x91, 0xF5, 0xDE, 0xF3, 0x8D, 0xF5, 0xE2, 0xF3 .byte 0x88, 0xF5, 0xE7, 0xF3, 0x83, 0xF5, 0xEB, 0xF3, 0x7E, 0xF5, 0xEF, 0xF3, 0x7A, 0xF5, 0xF3, 0xF3 .byte 0x75, 0xF5, 0xF7, 0xF3, 0x70, 0xF5, 0xFB, 0xF3, 0x6B, 0xF5, 0xFF, 0xF3, 0x67, 0xF5, 0x04, 0xF4 .byte 0x62, 0xF5, 0x08, 0xF4, 0x5D, 0xF5, 0x0C, 0xF4, 0x59, 0xF5, 0x10, 0xF4, 0x54, 0xF5, 0x14, 0xF4 .byte 0x4F, 0xF5, 0x18, 0xF4, 0x4B, 0xF5, 0x1D, 0xF4, 0x46, 0xF5, 0x21, 0xF4, 0x41, 0xF5, 0x25, 0xF4 .byte 0x3D, 0xF5, 0x29, 0xF4, 0x38, 0xF5, 0x2E, 0xF4, 0x33, 0xF5, 0x32, 0xF4, 0x2F, 0xF5, 0x36, 0xF4 .byte 0x2A, 0xF5, 0x3A, 0xF4, 0x25, 0xF5, 0x3F, 0xF4, 0x21, 0xF5, 0x43, 0xF4, 0x1C, 0xF5, 0x47, 0xF4 .byte 0x18, 0xF5, 0x4B, 0xF4, 0x13, 0xF5, 0x50, 0xF4, 0x0E, 0xF5, 0x54, 0xF4, 0x0A, 0xF5, 0x58, 0xF4 .byte 0x05, 0xF5, 0x5D, 0xF4, 0x01, 0xF5, 0x61, 0xF4, 0xFC, 0xF4, 0x65, 0xF4, 0xF8, 0xF4, 0x69, 0xF4 .byte 0xF3, 0xF4, 0x6E, 0xF4, 0xEF, 0xF4, 0x72, 0xF4, 0xEA, 0xF4, 0x77, 0xF4, 0xE5, 0xF4, 0x7B, 0xF4 .byte 0xE1, 0xF4, 0x7F, 0xF4, 0xDC, 0xF4, 0x84, 0xF4, 0xD8, 0xF4, 0x88, 0xF4, 0xD3, 0xF4, 0x8C, 0xF4 .byte 0xCF, 0xF4, 0x91, 0xF4, 0xCA, 0xF4, 0x95, 0xF4, 0xC6, 0xF4, 0x9A, 0xF4, 0xC2, 0xF4, 0x9E, 0xF4 .byte 0xBD, 0xF4, 0xA2, 0xF4, 0xB9, 0xF4, 0xA7, 0xF4, 0xB4, 0xF4, 0xAB, 0xF4, 0xB0, 0xF4, 0xB0, 0xF4 .byte 0xAB, 0xF4, 0xB4, 0xF4, 0xA7, 0xF4, 0xB9, 0xF4, 0xA2, 0xF4, 0xBD, 0xF4, 0x9E, 0xF4, 0xC2, 0xF4 .byte 0x9A, 0xF4, 0xC6, 0xF4, 0x95, 0xF4, 0xCA, 0xF4, 0x91, 0xF4, 0xCF, 0xF4, 0x8C, 0xF4, 0xD3, 0xF4 .byte 0x88, 0xF4, 0xD8, 0xF4, 0x84, 0xF4, 0xDC, 0xF4, 0x7F, 0xF4, 0xE1, 0xF4, 0x7B, 0xF4, 0xE5, 0xF4 .byte 0x77, 0xF4, 0xEA, 0xF4, 0x72, 0xF4, 0xEF, 0xF4, 0x6E, 0xF4, 0xF3, 0xF4, 0x69, 0xF4, 0xF8, 0xF4 .byte 0x65, 0xF4, 0xFC, 0xF4, 0x61, 0xF4, 0x01, 0xF5, 0x5D, 0xF4, 0x05, 0xF5, 0x58, 0xF4, 0x0A, 0xF5 .byte 0x54, 0xF4, 0x0E, 0xF5, 0x50, 0xF4, 0x13, 0xF5, 0x4B, 0xF4, 0x18, 0xF5, 0x47, 0xF4, 0x1C, 0xF5 .byte 0x43, 0xF4, 0x21, 0xF5, 0x3F, 0xF4, 0x25, 0xF5, 0x3A, 0xF4, 0x2A, 0xF5, 0x36, 0xF4, 0x2F, 0xF5 .byte 0x32, 0xF4, 0x33, 0xF5, 0x2E, 0xF4, 0x38, 0xF5, 0x29, 0xF4, 0x3D, 0xF5, 0x25, 0xF4, 0x41, 0xF5 .byte 0x21, 0xF4, 0x46, 0xF5, 0x1D, 0xF4, 0x4B, 0xF5, 0x18, 0xF4, 0x4F, 0xF5, 0x14, 0xF4, 0x54, 0xF5 .byte 0x10, 0xF4, 0x59, 0xF5, 0x0C, 0xF4, 0x5D, 0xF5, 0x08, 0xF4, 0x62, 0xF5, 0x04, 0xF4, 0x67, 0xF5 .byte 0xFF, 0xF3, 0x6B, 0xF5, 0xFB, 0xF3, 0x70, 0xF5, 0xF7, 0xF3, 0x75, 0xF5, 0xF3, 0xF3, 0x7A, 0xF5 .byte 0xEF, 0xF3, 0x7E, 0xF5, 0xEB, 0xF3, 0x83, 0xF5, 0xE7, 0xF3, 0x88, 0xF5, 0xE2, 0xF3, 0x8D, 0xF5 .byte 0xDE, 0xF3, 0x91, 0xF5, 0xDA, 0xF3, 0x96, 0xF5, 0xD6, 0xF3, 0x9B, 0xF5, 0xD2, 0xF3, 0xA0, 0xF5 .byte 0xCE, 0xF3, 0xA4, 0xF5, 0xCA, 0xF3, 0xA9, 0xF5, 0xC6, 0xF3, 0xAE, 0xF5, 0xC2, 0xF3, 0xB3, 0xF5 .byte 0xBE, 0xF3, 0xB8, 0xF5, 0xBA, 0xF3, 0xBC, 0xF5, 0xB6, 0xF3, 0xC1, 0xF5, 0xB2, 0xF3, 0xC6, 0xF5 .byte 0xAE, 0xF3, 0xCB, 0xF5, 0xAA, 0xF3, 0xD0, 0xF5, 0xA6, 0xF3, 0xD5, 0xF5, 0xA2, 0xF3, 0xDA, 0xF5 .byte 0x9E, 0xF3, 0xDE, 0xF5, 0x9A, 0xF3, 0xE3, 0xF5, 0x96, 0xF3, 0xE8, 0xF5, 0x92, 0xF3, 0xED, 0xF5 .byte 0x8E, 0xF3, 0xF2, 0xF5, 0x8A, 0xF3, 0xF7, 0xF5, 0x86, 0xF3, 0xFC, 0xF5, 0x82, 0xF3, 0x01, 0xF6 .byte 0x7E, 0xF3, 0x05, 0xF6, 0x7A, 0xF3, 0x0A, 0xF6, 0x76, 0xF3, 0x0F, 0xF6, 0x72, 0xF3, 0x14, 0xF6 .byte 0x6F, 0xF3, 0x19, 0xF6, 0x6B, 0xF3, 0x1E, 0xF6, 0x67, 0xF3, 0x23, 0xF6, 0x63, 0xF3, 0x28, 0xF6 .byte 0x5F, 0xF3, 0x2D, 0xF6, 0x5B, 0xF3, 0x32, 0xF6, 0x57, 0xF3, 0x37, 0xF6, 0x54, 0xF3, 0x3C, 0xF6 .byte 0x50, 0xF3, 0x41, 0xF6, 0x4C, 0xF3, 0x46, 0xF6, 0x48, 0xF3, 0x4B, 0xF6, 0x44, 0xF3, 0x50, 0xF6 .byte 0x40, 0xF3, 0x55, 0xF6, 0x3D, 0xF3, 0x5A, 0xF6, 0x39, 0xF3, 0x5F, 0xF6, 0x35, 0xF3, 0x64, 0xF6 .byte 0x31, 0xF3, 0x69, 0xF6, 0x2E, 0xF3, 0x6E, 0xF6, 0x2A, 0xF3, 0x73, 0xF6, 0x26, 0xF3, 0x78, 0xF6 .byte 0x22, 0xF3, 0x7D, 0xF6, 0x1F, 0xF3, 0x82, 0xF6, 0x1B, 0xF3, 0x87, 0xF6, 0x17, 0xF3, 0x8C, 0xF6 .byte 0x13, 0xF3, 0x91, 0xF6, 0x10, 0xF3, 0x96, 0xF6, 0x0C, 0xF3, 0x9B, 0xF6, 0x08, 0xF3, 0xA1, 0xF6 .byte 0x05, 0xF3, 0xA6, 0xF6, 0x01, 0xF3, 0xAB, 0xF6, 0xFD, 0xF2, 0xB0, 0xF6, 0xFA, 0xF2, 0xB5, 0xF6 .byte 0xF6, 0xF2, 0xBA, 0xF6, 0xF2, 0xF2, 0xBF, 0xF6, 0xEF, 0xF2, 0xC4, 0xF6, 0xEB, 0xF2, 0xC9, 0xF6 .byte 0xE8, 0xF2, 0xCF, 0xF6, 0xE4, 0xF2, 0xD4, 0xF6, 0xE0, 0xF2, 0xD9, 0xF6, 0xDD, 0xF2, 0xDE, 0xF6 .byte 0xD9, 0xF2, 0xE3, 0xF6, 0xD6, 0xF2, 0xE8, 0xF6, 0xD2, 0xF2, 0xEE, 0xF6, 0xCE, 0xF2, 0xF3, 0xF6 .byte 0xCB, 0xF2, 0xF8, 0xF6, 0xC7, 0xF2, 0xFD, 0xF6, 0xC4, 0xF2, 0x02, 0xF7, 0xC0, 0xF2, 0x08, 0xF7 .byte 0xBD, 0xF2, 0x0D, 0xF7, 0xB9, 0xF2, 0x12, 0xF7, 0xB6, 0xF2, 0x17, 0xF7, 0xB2, 0xF2, 0x1C, 0xF7 .byte 0xAF, 0xF2, 0x22, 0xF7, 0xAB, 0xF2, 0x27, 0xF7, 0xA8, 0xF2, 0x2C, 0xF7, 0xA4, 0xF2, 0x31, 0xF7 .byte 0xA1, 0xF2, 0x37, 0xF7, 0x9E, 0xF2, 0x3C, 0xF7, 0x9A, 0xF2, 0x41, 0xF7, 0x97, 0xF2, 0x46, 0xF7 .byte 0x93, 0xF2, 0x4C, 0xF7, 0x90, 0xF2, 0x51, 0xF7, 0x8C, 0xF2, 0x56, 0xF7, 0x89, 0xF2, 0x5B, 0xF7 .byte 0x86, 0xF2, 0x61, 0xF7, 0x82, 0xF2, 0x66, 0xF7, 0x7F, 0xF2, 0x6B, 0xF7, 0x7B, 0xF2, 0x71, 0xF7 .byte 0x78, 0xF2, 0x76, 0xF7, 0x75, 0xF2, 0x7B, 0xF7, 0x71, 0xF2, 0x81, 0xF7, 0x6E, 0xF2, 0x86, 0xF7 .byte 0x6B, 0xF2, 0x8B, 0xF7, 0x67, 0xF2, 0x91, 0xF7, 0x64, 0xF2, 0x96, 0xF7, 0x61, 0xF2, 0x9B, 0xF7 .byte 0x5E, 0xF2, 0xA1, 0xF7, 0x5A, 0xF2, 0xA6, 0xF7, 0x57, 0xF2, 0xAB, 0xF7, 0x54, 0xF2, 0xB1, 0xF7 .byte 0x50, 0xF2, 0xB6, 0xF7, 0x4D, 0xF2, 0xBB, 0xF7, 0x4A, 0xF2, 0xC1, 0xF7, 0x47, 0xF2, 0xC6, 0xF7 .byte 0x44, 0xF2, 0xCC, 0xF7, 0x40, 0xF2, 0xD1, 0xF7, 0x3D, 0xF2, 0xD6, 0xF7, 0x3A, 0xF2, 0xDC, 0xF7 .byte 0x37, 0xF2, 0xE1, 0xF7, 0x34, 0xF2, 0xE7, 0xF7, 0x30, 0xF2, 0xEC, 0xF7, 0x2D, 0xF2, 0xF2, 0xF7 .byte 0x2A, 0xF2, 0xF7, 0xF7, 0x27, 0xF2, 0xFC, 0xF7, 0x24, 0xF2, 0x02, 0xF8, 0x21, 0xF2, 0x07, 0xF8 .byte 0x1D, 0xF2, 0x0D, 0xF8, 0x1A, 0xF2, 0x12, 0xF8, 0x17, 0xF2, 0x18, 0xF8, 0x14, 0xF2, 0x1D, 0xF8 .byte 0x11, 0xF2, 0x23, 0xF8, 0x0E, 0xF2, 0x28, 0xF8, 0x0B, 0xF2, 0x2E, 0xF8, 0x08, 0xF2, 0x33, 0xF8 .byte 0x05, 0xF2, 0x38, 0xF8, 0x02, 0xF2, 0x3E, 0xF8, 0xFF, 0xF1, 0x43, 0xF8, 0xFC, 0xF1, 0x49, 0xF8 .byte 0xF9, 0xF1, 0x4E, 0xF8, 0xF6, 0xF1, 0x54, 0xF8, 0xF3, 0xF1, 0x5A, 0xF8, 0xF0, 0xF1, 0x5F, 0xF8 .byte 0xED, 0xF1, 0x65, 0xF8, 0xEA, 0xF1, 0x6A, 0xF8, 0xE7, 0xF1, 0x70, 0xF8, 0xE4, 0xF1, 0x75, 0xF8 .byte 0xE1, 0xF1, 0x7B, 0xF8, 0xDE, 0xF1, 0x80, 0xF8, 0xDB, 0xF1, 0x86, 0xF8, 0xD8, 0xF1, 0x8B, 0xF8 .byte 0xD5, 0xF1, 0x91, 0xF8, 0xD2, 0xF1, 0x96, 0xF8, 0xCF, 0xF1, 0x9C, 0xF8, 0xCC, 0xF1, 0xA2, 0xF8 .byte 0xC9, 0xF1, 0xA7, 0xF8, 0xC6, 0xF1, 0xAD, 0xF8, 0xC4, 0xF1, 0xB2, 0xF8, 0xC1, 0xF1, 0xB8, 0xF8 .byte 0xBE, 0xF1, 0xBE, 0xF8, 0xBB, 0xF1, 0xC3, 0xF8, 0xB8, 0xF1, 0xC9, 0xF8, 0xB5, 0xF1, 0xCE, 0xF8 .byte 0xB3, 0xF1, 0xD4, 0xF8, 0xB0, 0xF1, 0xDA, 0xF8, 0xAD, 0xF1, 0xDF, 0xF8, 0xAA, 0xF1, 0xE5, 0xF8 .byte 0xA7, 0xF1, 0xEB, 0xF8, 0xA5, 0xF1, 0xF0, 0xF8, 0xA2, 0xF1, 0xF6, 0xF8, 0x9F, 0xF1, 0xFB, 0xF8 .byte 0x9C, 0xF1, 0x01, 0xF9, 0x9A, 0xF1, 0x07, 0xF9, 0x97, 0xF1, 0x0C, 0xF9, 0x94, 0xF1, 0x12, 0xF9 .byte 0x91, 0xF1, 0x18, 0xF9, 0x8F, 0xF1, 0x1D, 0xF9, 0x8C, 0xF1, 0x23, 0xF9, 0x89, 0xF1, 0x29, 0xF9 .byte 0x87, 0xF1, 0x2E, 0xF9, 0x84, 0xF1, 0x34, 0xF9, 0x81, 0xF1, 0x3A, 0xF9, 0x7F, 0xF1, 0x3F, 0xF9 .byte 0x7C, 0xF1, 0x45, 0xF9, 0x79, 0xF1, 0x4B, 0xF9, 0x77, 0xF1, 0x51, 0xF9, 0x74, 0xF1, 0x56, 0xF9 .byte 0x71, 0xF1, 0x5C, 0xF9, 0x6F, 0xF1, 0x62, 0xF9, 0x6C, 0xF1, 0x67, 0xF9, 0x6A, 0xF1, 0x6D, 0xF9 .byte 0x67, 0xF1, 0x73, 0xF9, 0x65, 0xF1, 0x79, 0xF9, 0x62, 0xF1, 0x7E, 0xF9, 0x5F, 0xF1, 0x84, 0xF9 .byte 0x5D, 0xF1, 0x8A, 0xF9, 0x5A, 0xF1, 0x90, 0xF9, 0x58, 0xF1, 0x95, 0xF9, 0x55, 0xF1, 0x9B, 0xF9 .byte 0x53, 0xF1, 0xA1, 0xF9, 0x50, 0xF1, 0xA7, 0xF9, 0x4E, 0xF1, 0xAC, 0xF9, 0x4B, 0xF1, 0xB2, 0xF9 .byte 0x49, 0xF1, 0xB8, 0xF9, 0x46, 0xF1, 0xBE, 0xF9, 0x44, 0xF1, 0xC4, 0xF9, 0x41, 0xF1, 0xC9, 0xF9 .byte 0x3F, 0xF1, 0xCF, 0xF9, 0x3D, 0xF1, 0xD5, 0xF9, 0x3A, 0xF1, 0xDB, 0xF9, 0x38, 0xF1, 0xE1, 0xF9 .byte 0x35, 0xF1, 0xE6, 0xF9, 0x33, 0xF1, 0xEC, 0xF9, 0x31, 0xF1, 0xF2, 0xF9, 0x2E, 0xF1, 0xF8, 0xF9 .byte 0x2C, 0xF1, 0xFE, 0xF9, 0x2A, 0xF1, 0x03, 0xFA, 0x27, 0xF1, 0x09, 0xFA, 0x25, 0xF1, 0x0F, 0xFA .byte 0x23, 0xF1, 0x15, 0xFA, 0x20, 0xF1, 0x1B, 0xFA, 0x1E, 0xF1, 0x21, 0xFA, 0x1C, 0xF1, 0x26, 0xFA .byte 0x19, 0xF1, 0x2C, 0xFA, 0x17, 0xF1, 0x32, 0xFA, 0x15, 0xF1, 0x38, 0xFA, 0x12, 0xF1, 0x3E, 0xFA .byte 0x10, 0xF1, 0x44, 0xFA, 0x0E, 0xF1, 0x4A, 0xFA, 0x0C, 0xF1, 0x4F, 0xFA, 0x09, 0xF1, 0x55, 0xFA .byte 0x07, 0xF1, 0x5B, 0xFA, 0x05, 0xF1, 0x61, 0xFA, 0x03, 0xF1, 0x67, 0xFA, 0x01, 0xF1, 0x6D, 0xFA .byte 0xFE, 0xF0, 0x73, 0xFA, 0xFC, 0xF0, 0x79, 0xFA, 0xFA, 0xF0, 0x7F, 0xFA, 0xF8, 0xF0, 0x84, 0xFA .byte 0xF6, 0xF0, 0x8A, 0xFA, 0xF4, 0xF0, 0x90, 0xFA, 0xF2, 0xF0, 0x96, 0xFA, 0xEF, 0xF0, 0x9C, 0xFA .byte 0xED, 0xF0, 0xA2, 0xFA, 0xEB, 0xF0, 0xA8, 0xFA, 0xE9, 0xF0, 0xAE, 0xFA, 0xE7, 0xF0, 0xB4, 0xFA .byte 0xE5, 0xF0, 0xBA, 0xFA, 0xE3, 0xF0, 0xC0, 0xFA, 0xE1, 0xF0, 0xC6, 0xFA, 0xDF, 0xF0, 0xCC, 0xFA .byte 0xDD, 0xF0, 0xD1, 0xFA, 0xDB, 0xF0, 0xD7, 0xFA, 0xD9, 0xF0, 0xDD, 0xFA, 0xD7, 0xF0, 0xE3, 0xFA .byte 0xD5, 0xF0, 0xE9, 0xFA, 0xD3, 0xF0, 0xEF, 0xFA, 0xD1, 0xF0, 0xF5, 0xFA, 0xCF, 0xF0, 0xFB, 0xFA .byte 0xCD, 0xF0, 0x01, 0xFB, 0xCB, 0xF0, 0x07, 0xFB, 0xC9, 0xF0, 0x0D, 0xFB, 0xC7, 0xF0, 0x13, 0xFB .byte 0xC5, 0xF0, 0x19, 0xFB, 0xC3, 0xF0, 0x1F, 0xFB, 0xC1, 0xF0, 0x25, 0xFB, 0xBF, 0xF0, 0x2B, 0xFB .byte 0xBD, 0xF0, 0x31, 0xFB, 0xBB, 0xF0, 0x37, 0xFB, 0xBA, 0xF0, 0x3D, 0xFB, 0xB8, 0xF0, 0x43, 0xFB .byte 0xB6, 0xF0, 0x49, 0xFB, 0xB4, 0xF0, 0x4F, 0xFB, 0xB2, 0xF0, 0x55, 0xFB, 0xB0, 0xF0, 0x5B, 0xFB .byte 0xAF, 0xF0, 0x61, 0xFB, 0xAD, 0xF0, 0x67, 0xFB, 0xAB, 0xF0, 0x6D, 0xFB, 0xA9, 0xF0, 0x73, 0xFB .byte 0xA7, 0xF0, 0x79, 0xFB, 0xA6, 0xF0, 0x7F, 0xFB, 0xA4, 0xF0, 0x85, 0xFB, 0xA2, 0xF0, 0x8B, 0xFB .byte 0xA0, 0xF0, 0x91, 0xFB, 0x9F, 0xF0, 0x97, 0xFB, 0x9D, 0xF0, 0x9D, 0xFB, 0x9B, 0xF0, 0xA3, 0xFB .byte 0x99, 0xF0, 0xA9, 0xFB, 0x98, 0xF0, 0xAF, 0xFB, 0x96, 0xF0, 0xB5, 0xFB, 0x94, 0xF0, 0xBC, 0xFB .byte 0x93, 0xF0, 0xC2, 0xFB, 0x91, 0xF0, 0xC8, 0xFB, 0x8F, 0xF0, 0xCE, 0xFB, 0x8E, 0xF0, 0xD4, 0xFB .byte 0x8C, 0xF0, 0xDA, 0xFB, 0x8A, 0xF0, 0xE0, 0xFB, 0x89, 0xF0, 0xE6, 0xFB, 0x87, 0xF0, 0xEC, 0xFB .byte 0x86, 0xF0, 0xF2, 0xFB, 0x84, 0xF0, 0xF8, 0xFB, 0x83, 0xF0, 0xFE, 0xFB, 0x81, 0xF0, 0x04, 0xFC .byte 0x7F, 0xF0, 0x0A, 0xFC, 0x7E, 0xF0, 0x11, 0xFC, 0x7C, 0xF0, 0x17, 0xFC, 0x7B, 0xF0, 0x1D, 0xFC .byte 0x79, 0xF0, 0x23, 0xFC, 0x78, 0xF0, 0x29, 0xFC, 0x76, 0xF0, 0x2F, 0xFC, 0x75, 0xF0, 0x35, 0xFC .byte 0x73, 0xF0, 0x3B, 0xFC, 0x72, 0xF0, 0x41, 0xFC, 0x70, 0xF0, 0x47, 0xFC, 0x6F, 0xF0, 0x4E, 0xFC .byte 0x6D, 0xF0, 0x54, 0xFC, 0x6C, 0xF0, 0x5A, 0xFC, 0x6B, 0xF0, 0x60, 0xFC, 0x69, 0xF0, 0x66, 0xFC .byte 0x68, 0xF0, 0x6C, 0xFC, 0x66, 0xF0, 0x72, 0xFC, 0x65, 0xF0, 0x78, 0xFC, 0x64, 0xF0, 0x7F, 0xFC .byte 0x62, 0xF0, 0x85, 0xFC, 0x61, 0xF0, 0x8B, 0xFC, 0x5F, 0xF0, 0x91, 0xFC, 0x5E, 0xF0, 0x97, 0xFC .byte 0x5D, 0xF0, 0x9D, 0xFC, 0x5B, 0xF0, 0xA3, 0xFC, 0x5A, 0xF0, 0xAA, 0xFC, 0x59, 0xF0, 0xB0, 0xFC .byte 0x58, 0xF0, 0xB6, 0xFC, 0x56, 0xF0, 0xBC, 0xFC, 0x55, 0xF0, 0xC2, 0xFC, 0x54, 0xF0, 0xC8, 0xFC .byte 0x52, 0xF0, 0xCE, 0xFC, 0x51, 0xF0, 0xD5, 0xFC, 0x50, 0xF0, 0xDB, 0xFC, 0x4F, 0xF0, 0xE1, 0xFC .byte 0x4D, 0xF0, 0xE7, 0xFC, 0x4C, 0xF0, 0xED, 0xFC, 0x4B, 0xF0, 0xF3, 0xFC, 0x4A, 0xF0, 0xFA, 0xFC .byte 0x49, 0xF0, 0x00, 0xFD, 0x48, 0xF0, 0x06, 0xFD, 0x46, 0xF0, 0x0C, 0xFD, 0x45, 0xF0, 0x12, 0xFD .byte 0x44, 0xF0, 0x18, 0xFD, 0x43, 0xF0, 0x1F, 0xFD, 0x42, 0xF0, 0x25, 0xFD, 0x41, 0xF0, 0x2B, 0xFD .byte 0x40, 0xF0, 0x31, 0xFD, 0x3E, 0xF0, 0x37, 0xFD, 0x3D, 0xF0, 0x3E, 0xFD, 0x3C, 0xF0, 0x44, 0xFD .byte 0x3B, 0xF0, 0x4A, 0xFD, 0x3A, 0xF0, 0x50, 0xFD, 0x39, 0xF0, 0x56, 0xFD, 0x38, 0xF0, 0x5D, 0xFD .byte 0x37, 0xF0, 0x63, 0xFD, 0x36, 0xF0, 0x69, 0xFD, 0x35, 0xF0, 0x6F, 0xFD, 0x34, 0xF0, 0x75, 0xFD .byte 0x33, 0xF0, 0x7C, 0xFD, 0x32, 0xF0, 0x82, 0xFD, 0x31, 0xF0, 0x88, 0xFD, 0x30, 0xF0, 0x8E, 0xFD .byte 0x2F, 0xF0, 0x94, 0xFD, 0x2E, 0xF0, 0x9B, 0xFD, 0x2D, 0xF0, 0xA1, 0xFD, 0x2C, 0xF0, 0xA7, 0xFD .byte 0x2B, 0xF0, 0xAD, 0xFD, 0x2B, 0xF0, 0xB3, 0xFD, 0x2A, 0xF0, 0xBA, 0xFD, 0x29, 0xF0, 0xC0, 0xFD .byte 0x28, 0xF0, 0xC6, 0xFD, 0x27, 0xF0, 0xCC, 0xFD, 0x26, 0xF0, 0xD3, 0xFD, 0x25, 0xF0, 0xD9, 0xFD .byte 0x24, 0xF0, 0xDF, 0xFD, 0x24, 0xF0, 0xE5, 0xFD, 0x23, 0xF0, 0xEB, 0xFD, 0x22, 0xF0, 0xF2, 0xFD .byte 0x21, 0xF0, 0xF8, 0xFD, 0x20, 0xF0, 0xFE, 0xFD, 0x20, 0xF0, 0x04, 0xFE, 0x1F, 0xF0, 0x0B, 0xFE .byte 0x1E, 0xF0, 0x11, 0xFE, 0x1D, 0xF0, 0x17, 0xFE, 0x1D, 0xF0, 0x1D, 0xFE, 0x1C, 0xF0, 0x24, 0xFE .byte 0x1B, 0xF0, 0x2A, 0xFE, 0x1A, 0xF0, 0x30, 0xFE, 0x1A, 0xF0, 0x36, 0xFE, 0x19, 0xF0, 0x3D, 0xFE .byte 0x18, 0xF0, 0x43, 0xFE, 0x18, 0xF0, 0x49, 0xFE, 0x17, 0xF0, 0x4F, 0xFE, 0x16, 0xF0, 0x56, 0xFE .byte 0x16, 0xF0, 0x5C, 0xFE, 0x15, 0xF0, 0x62, 0xFE, 0x14, 0xF0, 0x68, 0xFE, 0x14, 0xF0, 0x6F, 0xFE .byte 0x13, 0xF0, 0x75, 0xFE, 0x13, 0xF0, 0x7B, 0xFE, 0x12, 0xF0, 0x81, 0xFE, 0x11, 0xF0, 0x88, 0xFE .byte 0x11, 0xF0, 0x8E, 0xFE, 0x10, 0xF0, 0x94, 0xFE, 0x10, 0xF0, 0x9A, 0xFE, 0x0F, 0xF0, 0xA1, 0xFE .byte 0x0F, 0xF0, 0xA7, 0xFE, 0x0E, 0xF0, 0xAD, 0xFE, 0x0E, 0xF0, 0xB3, 0xFE, 0x0D, 0xF0, 0xBA, 0xFE .byte 0x0D, 0xF0, 0xC0, 0xFE, 0x0C, 0xF0, 0xC6, 0xFE, 0x0C, 0xF0, 0xCC, 0xFE, 0x0B, 0xF0, 0xD3, 0xFE .byte 0x0B, 0xF0, 0xD9, 0xFE, 0x0A, 0xF0, 0xDF, 0xFE, 0x0A, 0xF0, 0xE5, 0xFE, 0x09, 0xF0, 0xEC, 0xFE .byte 0x09, 0xF0, 0xF2, 0xFE, 0x08, 0xF0, 0xF8, 0xFE, 0x08, 0xF0, 0xFF, 0xFE, 0x08, 0xF0, 0x05, 0xFF .byte 0x07, 0xF0, 0x0B, 0xFF, 0x07, 0xF0, 0x11, 0xFF, 0x07, 0xF0, 0x18, 0xFF, 0x06, 0xF0, 0x1E, 0xFF .byte 0x06, 0xF0, 0x24, 0xFF, 0x06, 0xF0, 0x2A, 0xFF, 0x05, 0xF0, 0x31, 0xFF, 0x05, 0xF0, 0x37, 0xFF .byte 0x05, 0xF0, 0x3D, 0xFF, 0x04, 0xF0, 0x44, 0xFF, 0x04, 0xF0, 0x4A, 0xFF, 0x04, 0xF0, 0x50, 0xFF .byte 0x04, 0xF0, 0x56, 0xFF, 0x03, 0xF0, 0x5D, 0xFF, 0x03, 0xF0, 0x63, 0xFF, 0x03, 0xF0, 0x69, 0xFF .byte 0x03, 0xF0, 0x70, 0xFF, 0x02, 0xF0, 0x76, 0xFF, 0x02, 0xF0, 0x7C, 0xFF, 0x02, 0xF0, 0x82, 0xFF .byte 0x02, 0xF0, 0x89, 0xFF, 0x02, 0xF0, 0x8F, 0xFF, 0x01, 0xF0, 0x95, 0xFF, 0x01, 0xF0, 0x9B, 0xFF .byte 0x01, 0xF0, 0xA2, 0xFF, 0x01, 0xF0, 0xA8, 0xFF, 0x01, 0xF0, 0xAE, 0xFF, 0x01, 0xF0, 0xB5, 0xFF .byte 0x01, 0xF0, 0xBB, 0xFF, 0x00, 0xF0, 0xC1, 0xFF, 0x00, 0xF0, 0xC7, 0xFF, 0x00, 0xF0, 0xCE, 0xFF .byte 0x00, 0xF0, 0xD4, 0xFF, 0x00, 0xF0, 0xDA, 0xFF, 0x00, 0xF0, 0xE1, 0xFF, 0x00, 0xF0, 0xE7, 0xFF .byte 0x00, 0xF0, 0xED, 0xFF, 0x00, 0xF0, 0xF3, 0xFF, 0x00, 0xF0, 0xFA, 0xFF, 0x00, 0xF0, 0x00, 0x00 .byte 0x00, 0xF0, 0x06, 0x00, 0x00, 0xF0, 0x0D, 0x00, 0x00, 0xF0, 0x13, 0x00, 0x00, 0xF0, 0x19, 0x00 .byte 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, 0xF0, 0x2C, 0x00, 0x00, 0xF0, 0x32, 0x00 .byte 0x00, 0xF0, 0x39, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x01, 0xF0, 0x45, 0x00, 0x01, 0xF0, 0x4B, 0x00 .byte 0x01, 0xF0, 0x52, 0x00, 0x01, 0xF0, 0x58, 0x00, 0x01, 0xF0, 0x5E, 0x00, 0x01, 0xF0, 0x65, 0x00 .byte 0x01, 0xF0, 0x6B, 0x00, 0x02, 0xF0, 0x71, 0x00, 0x02, 0xF0, 0x77, 0x00, 0x02, 0xF0, 0x7E, 0x00 .byte 0x02, 0xF0, 0x84, 0x00, 0x02, 0xF0, 0x8A, 0x00, 0x03, 0xF0, 0x90, 0x00, 0x03, 0xF0, 0x97, 0x00 .byte 0x03, 0xF0, 0x9D, 0x00, 0x03, 0xF0, 0xA3, 0x00, 0x04, 0xF0, 0xAA, 0x00, 0x04, 0xF0, 0xB0, 0x00 .byte 0x04, 0xF0, 0xB6, 0x00, 0x04, 0xF0, 0xBC, 0x00, 0x05, 0xF0, 0xC3, 0x00, 0x05, 0xF0, 0xC9, 0x00 .byte 0x05, 0xF0, 0xCF, 0x00, 0x06, 0xF0, 0xD6, 0x00, 0x06, 0xF0, 0xDC, 0x00, 0x06, 0xF0, 0xE2, 0x00 .byte 0x07, 0xF0, 0xE8, 0x00, 0x07, 0xF0, 0xEF, 0x00, 0x07, 0xF0, 0xF5, 0x00, 0x08, 0xF0, 0xFB, 0x00 .byte 0x08, 0xF0, 0x01, 0x01, 0x08, 0xF0, 0x08, 0x01, 0x09, 0xF0, 0x0E, 0x01, 0x09, 0xF0, 0x14, 0x01 .byte 0x0A, 0xF0, 0x1B, 0x01, 0x0A, 0xF0, 0x21, 0x01, 0x0B, 0xF0, 0x27, 0x01, 0x0B, 0xF0, 0x2D, 0x01 .byte 0x0C, 0xF0, 0x34, 0x01, 0x0C, 0xF0, 0x3A, 0x01, 0x0D, 0xF0, 0x40, 0x01, 0x0D, 0xF0, 0x46, 0x01 .byte 0x0E, 0xF0, 0x4D, 0x01, 0x0E, 0xF0, 0x53, 0x01, 0x0F, 0xF0, 0x59, 0x01, 0x0F, 0xF0, 0x5F, 0x01 .byte 0x10, 0xF0, 0x66, 0x01, 0x10, 0xF0, 0x6C, 0x01, 0x11, 0xF0, 0x72, 0x01, 0x11, 0xF0, 0x78, 0x01 .byte 0x12, 0xF0, 0x7F, 0x01, 0x13, 0xF0, 0x85, 0x01, 0x13, 0xF0, 0x8B, 0x01, 0x14, 0xF0, 0x91, 0x01 .byte 0x14, 0xF0, 0x98, 0x01, 0x15, 0xF0, 0x9E, 0x01, 0x16, 0xF0, 0xA4, 0x01, 0x16, 0xF0, 0xAA, 0x01 .byte 0x17, 0xF0, 0xB1, 0x01, 0x18, 0xF0, 0xB7, 0x01, 0x18, 0xF0, 0xBD, 0x01, 0x19, 0xF0, 0xC3, 0x01 .byte 0x1A, 0xF0, 0xCA, 0x01, 0x1A, 0xF0, 0xD0, 0x01, 0x1B, 0xF0, 0xD6, 0x01, 0x1C, 0xF0, 0xDC, 0x01 .byte 0x1D, 0xF0, 0xE3, 0x01, 0x1D, 0xF0, 0xE9, 0x01, 0x1E, 0xF0, 0xEF, 0x01, 0x1F, 0xF0, 0xF5, 0x01 .byte 0x20, 0xF0, 0xFC, 0x01, 0x20, 0xF0, 0x02, 0x02, 0x21, 0xF0, 0x08, 0x02, 0x22, 0xF0, 0x0E, 0x02 .byte 0x23, 0xF0, 0x15, 0x02 .word _021BF024 .word _0221F024 .byte 0x25, 0xF0, 0x27, 0x02 .byte 0x26, 0xF0, 0x2D, 0x02, 0x27, 0xF0, 0x34, 0x02, 0x28, 0xF0, 0x3A, 0x02, 0x29, 0xF0, 0x40, 0x02 .byte 0x2A, 0xF0, 0x46, 0x02, 0x2B, 0xF0, 0x4D, 0x02, 0x2B, 0xF0, 0x53, 0x02, 0x2C, 0xF0, 0x59, 0x02 .byte 0x2D, 0xF0, 0x5F, 0x02, 0x2E, 0xF0, 0x65, 0x02, 0x2F, 0xF0, 0x6C, 0x02, 0x30, 0xF0, 0x72, 0x02 .byte 0x31, 0xF0, 0x78, 0x02, 0x32, 0xF0, 0x7E, 0x02, 0x33, 0xF0, 0x84, 0x02, 0x34, 0xF0, 0x8B, 0x02 .byte 0x35, 0xF0, 0x91, 0x02, 0x36, 0xF0, 0x97, 0x02, 0x37, 0xF0, 0x9D, 0x02, 0x38, 0xF0, 0xA3, 0x02 .byte 0x39, 0xF0, 0xAA, 0x02, 0x3A, 0xF0, 0xB0, 0x02, 0x3B, 0xF0, 0xB6, 0x02, 0x3C, 0xF0, 0xBC, 0x02 .byte 0x3D, 0xF0, 0xC2, 0x02, 0x3E, 0xF0, 0xC9, 0x02, 0x40, 0xF0, 0xCF, 0x02, 0x41, 0xF0, 0xD5, 0x02 .byte 0x42, 0xF0, 0xDB, 0x02, 0x43, 0xF0, 0xE1, 0x02, 0x44, 0xF0, 0xE8, 0x02, 0x45, 0xF0, 0xEE, 0x02 .byte 0x46, 0xF0, 0xF4, 0x02, 0x48, 0xF0, 0xFA, 0x02, 0x49, 0xF0, 0x00, 0x03, 0x4A, 0xF0, 0x06, 0x03 .byte 0x4B, 0xF0, 0x0D, 0x03, 0x4C, 0xF0, 0x13, 0x03, 0x4D, 0xF0, 0x19, 0x03, 0x4F, 0xF0, 0x1F, 0x03 .byte 0x50, 0xF0, 0x25, 0x03, 0x51, 0xF0, 0x2B, 0x03, 0x52, 0xF0, 0x32, 0x03, 0x54, 0xF0, 0x38, 0x03 .byte 0x55, 0xF0, 0x3E, 0x03, 0x56, 0xF0, 0x44, 0x03, 0x58, 0xF0, 0x4A, 0x03, 0x59, 0xF0, 0x50, 0x03 .byte 0x5A, 0xF0, 0x56, 0x03, 0x5B, 0xF0, 0x5D, 0x03, 0x5D, 0xF0, 0x63, 0x03, 0x5E, 0xF0, 0x69, 0x03 .byte 0x5F, 0xF0, 0x6F, 0x03, 0x61, 0xF0, 0x75, 0x03, 0x62, 0xF0, 0x7B, 0x03, 0x64, 0xF0, 0x81, 0x03 .byte 0x65, 0xF0, 0x88, 0x03, 0x66, 0xF0, 0x8E, 0x03, 0x68, 0xF0, 0x94, 0x03, 0x69, 0xF0, 0x9A, 0x03 .byte 0x6B, 0xF0, 0xA0, 0x03, 0x6C, 0xF0, 0xA6, 0x03, 0x6D, 0xF0, 0xAC, 0x03, 0x6F, 0xF0, 0xB2, 0x03 .byte 0x70, 0xF0, 0xB9, 0x03, 0x72, 0xF0, 0xBF, 0x03, 0x73, 0xF0, 0xC5, 0x03, 0x75, 0xF0, 0xCB, 0x03 .byte 0x76, 0xF0, 0xD1, 0x03, 0x78, 0xF0, 0xD7, 0x03, 0x79, 0xF0, 0xDD, 0x03, 0x7B, 0xF0, 0xE3, 0x03 .byte 0x7C, 0xF0, 0xE9, 0x03, 0x7E, 0xF0, 0xEF, 0x03, 0x7F, 0xF0, 0xF6, 0x03, 0x81, 0xF0, 0xFC, 0x03 .byte 0x83, 0xF0, 0x02, 0x04, 0x84, 0xF0, 0x08, 0x04, 0x86, 0xF0, 0x0E, 0x04, 0x87, 0xF0, 0x14, 0x04 .byte 0x89, 0xF0, 0x1A, 0x04, 0x8A, 0xF0, 0x20, 0x04, 0x8C, 0xF0, 0x26, 0x04, 0x8E, 0xF0, 0x2C, 0x04 .byte 0x8F, 0xF0, 0x32, 0x04, 0x91, 0xF0, 0x38, 0x04, 0x93, 0xF0, 0x3E, 0x04, 0x94, 0xF0, 0x44, 0x04 .byte 0x96, 0xF0, 0x4B, 0x04, 0x98, 0xF0, 0x51, 0x04, 0x99, 0xF0, 0x57, 0x04, 0x9B, 0xF0, 0x5D, 0x04 .byte 0x9D, 0xF0, 0x63, 0x04, 0x9F, 0xF0, 0x69, 0x04, 0xA0, 0xF0, 0x6F, 0x04, 0xA2, 0xF0, 0x75, 0x04 .byte 0xA4, 0xF0, 0x7B, 0x04, 0xA6, 0xF0, 0x81, 0x04, 0xA7, 0xF0, 0x87, 0x04, 0xA9, 0xF0, 0x8D, 0x04 .byte 0xAB, 0xF0, 0x93, 0x04, 0xAD, 0xF0, 0x99, 0x04, 0xAF, 0xF0, 0x9F, 0x04, 0xB0, 0xF0, 0xA5, 0x04 .byte 0xB2, 0xF0, 0xAB, 0x04, 0xB4, 0xF0, 0xB1, 0x04, 0xB6, 0xF0, 0xB7, 0x04, 0xB8, 0xF0, 0xBD, 0x04 .byte 0xBA, 0xF0, 0xC3, 0x04, 0xBB, 0xF0, 0xC9, 0x04, 0xBD, 0xF0, 0xCF, 0x04, 0xBF, 0xF0, 0xD5, 0x04 .byte 0xC1, 0xF0, 0xDB, 0x04, 0xC3, 0xF0, 0xE1, 0x04, 0xC5, 0xF0, 0xE7, 0x04, 0xC7, 0xF0, 0xED, 0x04 .byte 0xC9, 0xF0, 0xF3, 0x04, 0xCB, 0xF0, 0xF9, 0x04, 0xCD, 0xF0, 0xFF, 0x04, 0xCF, 0xF0, 0x05, 0x05 .byte 0xD1, 0xF0, 0x0B, 0x05, 0xD3, 0xF0, 0x11, 0x05, 0xD5, 0xF0, 0x17, 0x05, 0xD7, 0xF0, 0x1D, 0x05 .byte 0xD9, 0xF0, 0x23, 0x05, 0xDB, 0xF0, 0x29, 0x05, 0xDD, 0xF0, 0x2F, 0x05, 0xDF, 0xF0, 0x34, 0x05 .byte 0xE1, 0xF0, 0x3A, 0x05, 0xE3, 0xF0, 0x40, 0x05, 0xE5, 0xF0, 0x46, 0x05, 0xE7, 0xF0, 0x4C, 0x05 .byte 0xE9, 0xF0, 0x52, 0x05, 0xEB, 0xF0, 0x58, 0x05, 0xED, 0xF0, 0x5E, 0x05, 0xEF, 0xF0, 0x64, 0x05 .byte 0xF2, 0xF0, 0x6A, 0x05, 0xF4, 0xF0, 0x70, 0x05, 0xF6, 0xF0, 0x76, 0x05, 0xF8, 0xF0, 0x7C, 0x05 .byte 0xFA, 0xF0, 0x81, 0x05, 0xFC, 0xF0, 0x87, 0x05, 0xFE, 0xF0, 0x8D, 0x05, 0x01, 0xF1, 0x93, 0x05 .byte 0x03, 0xF1, 0x99, 0x05, 0x05, 0xF1, 0x9F, 0x05, 0x07, 0xF1, 0xA5, 0x05, 0x09, 0xF1, 0xAB, 0x05 .byte 0x0C, 0xF1, 0xB1, 0x05, 0x0E, 0xF1, 0xB6, 0x05, 0x10, 0xF1, 0xBC, 0x05, 0x12, 0xF1, 0xC2, 0x05 .byte 0x15, 0xF1, 0xC8, 0x05, 0x17, 0xF1, 0xCE, 0x05, 0x19, 0xF1, 0xD4, 0x05, 0x1C, 0xF1, 0xDA, 0x05 .byte 0x1E, 0xF1, 0xDF, 0x05, 0x20, 0xF1, 0xE5, 0x05, 0x23, 0xF1, 0xEB, 0x05, 0x25, 0xF1, 0xF1, 0x05 .byte 0x27, 0xF1, 0xF7, 0x05, 0x2A, 0xF1, 0xFD, 0x05, 0x2C, 0xF1, 0x02, 0x06, 0x2E, 0xF1, 0x08, 0x06 .byte 0x31, 0xF1, 0x0E, 0x06, 0x33, 0xF1, 0x14, 0x06, 0x35, 0xF1, 0x1A, 0x06, 0x38, 0xF1, 0x1F, 0x06 .byte 0x3A, 0xF1, 0x25, 0x06, 0x3D, 0xF1, 0x2B, 0x06, 0x3F, 0xF1, 0x31, 0x06, 0x41, 0xF1, 0x37, 0x06 .byte 0x44, 0xF1, 0x3C, 0x06, 0x46, 0xF1, 0x42, 0x06, 0x49, 0xF1, 0x48, 0x06, 0x4B, 0xF1, 0x4E, 0x06 .byte 0x4E, 0xF1, 0x54, 0x06, 0x50, 0xF1, 0x59, 0x06, 0x53, 0xF1, 0x5F, 0x06, 0x55, 0xF1, 0x65, 0x06 .byte 0x58, 0xF1, 0x6B, 0x06, 0x5A, 0xF1, 0x70, 0x06, 0x5D, 0xF1, 0x76, 0x06, 0x5F, 0xF1, 0x7C, 0x06 .byte 0x62, 0xF1, 0x82, 0x06, 0x65, 0xF1, 0x87, 0x06, 0x67, 0xF1, 0x8D, 0x06, 0x6A, 0xF1, 0x93, 0x06 .byte 0x6C, 0xF1, 0x99, 0x06, 0x6F, 0xF1, 0x9E, 0x06, 0x71, 0xF1, 0xA4, 0x06, 0x74, 0xF1, 0xAA, 0x06 .byte 0x77, 0xF1, 0xAF, 0x06, 0x79, 0xF1, 0xB5, 0x06, 0x7C, 0xF1, 0xBB, 0x06, 0x7F, 0xF1, 0xC1, 0x06 .byte 0x81, 0xF1, 0xC6, 0x06, 0x84, 0xF1, 0xCC, 0x06, 0x87, 0xF1, 0xD2, 0x06, 0x89, 0xF1, 0xD7, 0x06 .byte 0x8C, 0xF1, 0xDD, 0x06, 0x8F, 0xF1, 0xE3, 0x06, 0x91, 0xF1, 0xE8, 0x06, 0x94, 0xF1, 0xEE, 0x06 .byte 0x97, 0xF1, 0xF4, 0x06, 0x9A, 0xF1, 0xF9, 0x06, 0x9C, 0xF1, 0xFF, 0x06, 0x9F, 0xF1, 0x05, 0x07 .byte 0xA2, 0xF1, 0x0A, 0x07, 0xA5, 0xF1, 0x10, 0x07, 0xA7, 0xF1, 0x15, 0x07, 0xAA, 0xF1, 0x1B, 0x07 .byte 0xAD, 0xF1, 0x21, 0x07, 0xB0, 0xF1, 0x26, 0x07, 0xB3, 0xF1, 0x2C, 0x07, 0xB5, 0xF1, 0x32, 0x07 .byte 0xB8, 0xF1, 0x37, 0x07, 0xBB, 0xF1, 0x3D, 0x07, 0xBE, 0xF1, 0x42, 0x07, 0xC1, 0xF1, 0x48, 0x07 .byte 0xC4, 0xF1, 0x4E, 0x07, 0xC6, 0xF1, 0x53, 0x07, 0xC9, 0xF1, 0x59, 0x07, 0xCC, 0xF1, 0x5E, 0x07 .byte 0xCF, 0xF1, 0x64, 0x07, 0xD2, 0xF1, 0x6A, 0x07, 0xD5, 0xF1, 0x6F, 0x07, 0xD8, 0xF1, 0x75, 0x07 .byte 0xDB, 0xF1, 0x7A, 0x07, 0xDE, 0xF1, 0x80, 0x07, 0xE1, 0xF1, 0x85, 0x07, 0xE4, 0xF1, 0x8B, 0x07 .byte 0xE7, 0xF1, 0x90, 0x07, 0xEA, 0xF1, 0x96, 0x07, 0xED, 0xF1, 0x9B, 0x07, 0xF0, 0xF1, 0xA1, 0x07 .byte 0xF3, 0xF1, 0xA6, 0x07, 0xF6, 0xF1, 0xAC, 0x07, 0xF9, 0xF1, 0xB2, 0x07, 0xFC, 0xF1, 0xB7, 0x07 .byte 0xFF, 0xF1, 0xBD, 0x07, 0x02, 0xF2, 0xC2, 0x07, 0x05, 0xF2, 0xC8, 0x07, 0x08, 0xF2, 0xCD, 0x07 .byte 0x0B, 0xF2, 0xD2, 0x07, 0x0E, 0xF2, 0xD8, 0x07, 0x11, 0xF2, 0xDD, 0x07, 0x14, 0xF2, 0xE3, 0x07 .byte 0x17, 0xF2, 0xE8, 0x07, 0x1A, 0xF2, 0xEE, 0x07, 0x1D, 0xF2, 0xF3, 0x07, 0x21, 0xF2, 0xF9, 0x07 .byte 0x24, 0xF2, 0xFE, 0x07, 0x27, 0xF2, 0x04, 0x08, 0x2A, 0xF2, 0x09, 0x08, 0x2D, 0xF2, 0x0E, 0x08 .byte 0x30, 0xF2, 0x14, 0x08, 0x34, 0xF2, 0x19, 0x08, 0x37, 0xF2, 0x1F, 0x08, 0x3A, 0xF2, 0x24, 0x08 .byte 0x3D, 0xF2, 0x2A, 0x08, 0x40, 0xF2, 0x2F, 0x08, 0x44, 0xF2, 0x34, 0x08, 0x47, 0xF2, 0x3A, 0x08 .byte 0x4A, 0xF2, 0x3F, 0x08, 0x4D, 0xF2, 0x45, 0x08, 0x50, 0xF2, 0x4A, 0x08, 0x54, 0xF2, 0x4F, 0x08 .byte 0x57, 0xF2, 0x55, 0x08, 0x5A, 0xF2, 0x5A, 0x08, 0x5E, 0xF2, 0x5F, 0x08, 0x61, 0xF2, 0x65, 0x08 .byte 0x64, 0xF2, 0x6A, 0x08, 0x67, 0xF2, 0x6F, 0x08, 0x6B, 0xF2, 0x75, 0x08, 0x6E, 0xF2, 0x7A, 0x08 .byte 0x71, 0xF2, 0x7F, 0x08, 0x75, 0xF2, 0x85, 0x08, 0x78, 0xF2, 0x8A, 0x08, 0x7B, 0xF2, 0x8F, 0x08 .byte 0x7F, 0xF2, 0x95, 0x08, 0x82, 0xF2, 0x9A, 0x08, 0x86, 0xF2, 0x9F, 0x08, 0x89, 0xF2, 0xA5, 0x08 .byte 0x8C, 0xF2, 0xAA, 0x08, 0x90, 0xF2, 0xAF, 0x08, 0x93, 0xF2, 0xB4, 0x08, 0x97, 0xF2, 0xBA, 0x08 .byte 0x9A, 0xF2, 0xBF, 0x08, 0x9E, 0xF2, 0xC4, 0x08, 0xA1, 0xF2, 0xC9, 0x08, 0xA4, 0xF2, 0xCF, 0x08 .byte 0xA8, 0xF2, 0xD4, 0x08, 0xAB, 0xF2, 0xD9, 0x08, 0xAF, 0xF2, 0xDE, 0x08, 0xB2, 0xF2, 0xE4, 0x08 .byte 0xB6, 0xF2, 0xE9, 0x08, 0xB9, 0xF2, 0xEE, 0x08, 0xBD, 0xF2, 0xF3, 0x08, 0xC0, 0xF2, 0xF8, 0x08 .byte 0xC4, 0xF2, 0xFE, 0x08, 0xC7, 0xF2, 0x03, 0x09, 0xCB, 0xF2, 0x08, 0x09, 0xCE, 0xF2, 0x0D, 0x09 .byte 0xD2, 0xF2, 0x12, 0x09, 0xD6, 0xF2, 0x18, 0x09, 0xD9, 0xF2, 0x1D, 0x09, 0xDD, 0xF2, 0x22, 0x09 .byte 0xE0, 0xF2, 0x27, 0x09, 0xE4, 0xF2, 0x2C, 0x09, 0xE8, 0xF2, 0x31, 0x09, 0xEB, 0xF2, 0x37, 0x09 .byte 0xEF, 0xF2, 0x3C, 0x09, 0xF2, 0xF2, 0x41, 0x09, 0xF6, 0xF2, 0x46, 0x09, 0xFA, 0xF2, 0x4B, 0x09 .byte 0xFD, 0xF2, 0x50, 0x09, 0x01, 0xF3, 0x55, 0x09, 0x05, 0xF3, 0x5A, 0x09, 0x08, 0xF3, 0x5F, 0x09 .byte 0x0C, 0xF3, 0x65, 0x09, 0x10, 0xF3, 0x6A, 0x09, 0x13, 0xF3, 0x6F, 0x09, 0x17, 0xF3, 0x74, 0x09 .byte 0x1B, 0xF3, 0x79, 0x09, 0x1F, 0xF3, 0x7E, 0x09, 0x22, 0xF3, 0x83, 0x09, 0x26, 0xF3, 0x88, 0x09 .byte 0x2A, 0xF3, 0x8D, 0x09, 0x2E, 0xF3, 0x92, 0x09, 0x31, 0xF3, 0x97, 0x09, 0x35, 0xF3, 0x9C, 0x09 .byte 0x39, 0xF3, 0xA1, 0x09, 0x3D, 0xF3, 0xA6, 0x09, 0x40, 0xF3, 0xAB, 0x09, 0x44, 0xF3, 0xB0, 0x09 .byte 0x48, 0xF3, 0xB5, 0x09, 0x4C, 0xF3, 0xBA, 0x09, 0x50, 0xF3, 0xBF, 0x09, 0x54, 0xF3, 0xC4, 0x09 .byte 0x57, 0xF3, 0xC9, 0x09, 0x5B, 0xF3, 0xCE, 0x09, 0x5F, 0xF3, 0xD3, 0x09, 0x63, 0xF3, 0xD8, 0x09 .byte 0x67, 0xF3, 0xDD, 0x09, 0x6B, 0xF3, 0xE2, 0x09, 0x6F, 0xF3, 0xE7, 0x09, 0x72, 0xF3, 0xEC, 0x09 .byte 0x76, 0xF3, 0xF1, 0x09, 0x7A, 0xF3, 0xF6, 0x09, 0x7E, 0xF3, 0xFB, 0x09, 0x82, 0xF3, 0xFF, 0x09 .byte 0x86, 0xF3, 0x04, 0x0A, 0x8A, 0xF3, 0x09, 0x0A, 0x8E, 0xF3, 0x0E, 0x0A, 0x92, 0xF3, 0x13, 0x0A .byte 0x96, 0xF3, 0x18, 0x0A, 0x9A, 0xF3, 0x1D, 0x0A, 0x9E, 0xF3, 0x22, 0x0A, 0xA2, 0xF3, 0x26, 0x0A .byte 0xA6, 0xF3, 0x2B, 0x0A, 0xAA, 0xF3, 0x30, 0x0A, 0xAE, 0xF3, 0x35, 0x0A, 0xB2, 0xF3, 0x3A, 0x0A .byte 0xB6, 0xF3, 0x3F, 0x0A, 0xBA, 0xF3, 0x44, 0x0A, 0xBE, 0xF3, 0x48, 0x0A, 0xC2, 0xF3, 0x4D, 0x0A .byte 0xC6, 0xF3, 0x52, 0x0A, 0xCA, 0xF3, 0x57, 0x0A, 0xCE, 0xF3, 0x5C, 0x0A, 0xD2, 0xF3, 0x60, 0x0A .byte 0xD6, 0xF3, 0x65, 0x0A, 0xDA, 0xF3, 0x6A, 0x0A, 0xDE, 0xF3, 0x6F, 0x0A, 0xE2, 0xF3, 0x73, 0x0A .byte 0xE7, 0xF3, 0x78, 0x0A, 0xEB, 0xF3, 0x7D, 0x0A, 0xEF, 0xF3, 0x82, 0x0A, 0xF3, 0xF3, 0x86, 0x0A .byte 0xF7, 0xF3, 0x8B, 0x0A, 0xFB, 0xF3, 0x90, 0x0A, 0xFF, 0xF3, 0x95, 0x0A, 0x04, 0xF4, 0x99, 0x0A .byte 0x08, 0xF4, 0x9E, 0x0A, 0x0C, 0xF4, 0xA3, 0x0A, 0x10, 0xF4, 0xA7, 0x0A, 0x14, 0xF4, 0xAC, 0x0A .byte 0x18, 0xF4, 0xB1, 0x0A, 0x1D, 0xF4, 0xB5, 0x0A, 0x21, 0xF4, 0xBA, 0x0A, 0x25, 0xF4, 0xBF, 0x0A .byte 0x29, 0xF4, 0xC3, 0x0A, 0x2E, 0xF4, 0xC8, 0x0A, 0x32, 0xF4, 0xCD, 0x0A, 0x36, 0xF4, 0xD1, 0x0A .byte 0x3A, 0xF4, 0xD6, 0x0A, 0x3F, 0xF4, 0xDB, 0x0A, 0x43, 0xF4, 0xDF, 0x0A, 0x47, 0xF4, 0xE4, 0x0A .byte 0x4B, 0xF4, 0xE8, 0x0A, 0x50, 0xF4, 0xED, 0x0A, 0x54, 0xF4, 0xF2, 0x0A, 0x58, 0xF4, 0xF6, 0x0A .byte 0x5D, 0xF4, 0xFB, 0x0A, 0x61, 0xF4, 0xFF, 0x0A, 0x65, 0xF4, 0x04, 0x0B, 0x69, 0xF4, 0x08, 0x0B .byte 0x6E, 0xF4, 0x0D, 0x0B, 0x72, 0xF4, 0x11, 0x0B, 0x77, 0xF4, 0x16, 0x0B, 0x7B, 0xF4, 0x1B, 0x0B .byte 0x7F, 0xF4, 0x1F, 0x0B, 0x84, 0xF4, 0x24, 0x0B, 0x88, 0xF4, 0x28, 0x0B, 0x8C, 0xF4, 0x2D, 0x0B .byte 0x91, 0xF4, 0x31, 0x0B, 0x95, 0xF4, 0x36, 0x0B, 0x9A, 0xF4, 0x3A, 0x0B, 0x9E, 0xF4, 0x3E, 0x0B .byte 0xA2, 0xF4, 0x43, 0x0B, 0xA7, 0xF4, 0x47, 0x0B, 0xAB, 0xF4, 0x4C, 0x0B, 0xB0, 0xF4, 0x50, 0x0B .byte 0xB4, 0xF4, 0x55, 0x0B, 0xB9, 0xF4, 0x59, 0x0B, 0xBD, 0xF4, 0x5E, 0x0B, 0xC2, 0xF4, 0x62, 0x0B .byte 0xC6, 0xF4, 0x66, 0x0B, 0xCA, 0xF4, 0x6B, 0x0B, 0xCF, 0xF4, 0x6F, 0x0B, 0xD3, 0xF4, 0x74, 0x0B .byte 0xD8, 0xF4, 0x78, 0x0B, 0xDC, 0xF4, 0x7C, 0x0B, 0xE1, 0xF4, 0x81, 0x0B, 0xE5, 0xF4, 0x85, 0x0B .byte 0xEA, 0xF4, 0x89, 0x0B, 0xEF, 0xF4, 0x8E, 0x0B, 0xF3, 0xF4, 0x92, 0x0B, 0xF8, 0xF4, 0x97, 0x0B .byte 0xFC, 0xF4, 0x9B, 0x0B, 0x01, 0xF5, 0x9F, 0x0B, 0x05, 0xF5, 0xA3, 0x0B, 0x0A, 0xF5, 0xA8, 0x0B .byte 0x0E, 0xF5, 0xAC, 0x0B, 0x13, 0xF5, 0xB0, 0x0B, 0x18, 0xF5, 0xB5, 0x0B, 0x1C, 0xF5, 0xB9, 0x0B .byte 0x21, 0xF5, 0xBD, 0x0B, 0x25, 0xF5, 0xC1, 0x0B, 0x2A, 0xF5, 0xC6, 0x0B, 0x2F, 0xF5, 0xCA, 0x0B .byte 0x33, 0xF5, 0xCE, 0x0B, 0x38, 0xF5, 0xD2, 0x0B, 0x3D, 0xF5, 0xD7, 0x0B, 0x41, 0xF5, 0xDB, 0x0B .byte 0x46, 0xF5, 0xDF, 0x0B, 0x4B, 0xF5, 0xE3, 0x0B, 0x4F, 0xF5, 0xE8, 0x0B, 0x54, 0xF5, 0xEC, 0x0B .byte 0x59, 0xF5, 0xF0, 0x0B, 0x5D, 0xF5, 0xF4, 0x0B, 0x62, 0xF5, 0xF8, 0x0B, 0x67, 0xF5, 0xFC, 0x0B .byte 0x6B, 0xF5, 0x01, 0x0C, 0x70, 0xF5, 0x05, 0x0C, 0x75, 0xF5, 0x09, 0x0C, 0x7A, 0xF5, 0x0D, 0x0C .byte 0x7E, 0xF5, 0x11, 0x0C, 0x83, 0xF5, 0x15, 0x0C, 0x88, 0xF5, 0x19, 0x0C, 0x8D, 0xF5, 0x1E, 0x0C .byte 0x91, 0xF5, 0x22, 0x0C, 0x96, 0xF5, 0x26, 0x0C, 0x9B, 0xF5, 0x2A, 0x0C, 0xA0, 0xF5, 0x2E, 0x0C .byte 0xA4, 0xF5, 0x32, 0x0C, 0xA9, 0xF5, 0x36, 0x0C, 0xAE, 0xF5, 0x3A, 0x0C, 0xB3, 0xF5, 0x3E, 0x0C .byte 0xB8, 0xF5, 0x42, 0x0C, 0xBC, 0xF5, 0x46, 0x0C, 0xC1, 0xF5, 0x4A, 0x0C, 0xC6, 0xF5, 0x4E, 0x0C .byte 0xCB, 0xF5, 0x52, 0x0C, 0xD0, 0xF5, 0x56, 0x0C, 0xD5, 0xF5, 0x5A, 0x0C, 0xDA, 0xF5, 0x5E, 0x0C .byte 0xDE, 0xF5, 0x62, 0x0C, 0xE3, 0xF5, 0x66, 0x0C, 0xE8, 0xF5, 0x6A, 0x0C, 0xED, 0xF5, 0x6E, 0x0C .byte 0xF2, 0xF5, 0x72, 0x0C, 0xF7, 0xF5, 0x76, 0x0C, 0xFC, 0xF5, 0x7A, 0x0C, 0x01, 0xF6, 0x7E, 0x0C .byte 0x05, 0xF6, 0x82, 0x0C, 0x0A, 0xF6, 0x86, 0x0C, 0x0F, 0xF6, 0x8A, 0x0C, 0x14, 0xF6, 0x8E, 0x0C .byte 0x19, 0xF6, 0x91, 0x0C, 0x1E, 0xF6, 0x95, 0x0C, 0x23, 0xF6, 0x99, 0x0C, 0x28, 0xF6, 0x9D, 0x0C .byte 0x2D, 0xF6, 0xA1, 0x0C, 0x32, 0xF6, 0xA5, 0x0C, 0x37, 0xF6, 0xA9, 0x0C, 0x3C, 0xF6, 0xAC, 0x0C .byte 0x41, 0xF6, 0xB0, 0x0C, 0x46, 0xF6, 0xB4, 0x0C, 0x4B, 0xF6, 0xB8, 0x0C, 0x50, 0xF6, 0xBC, 0x0C .byte 0x55, 0xF6, 0xC0, 0x0C, 0x5A, 0xF6, 0xC3, 0x0C, 0x5F, 0xF6, 0xC7, 0x0C, 0x64, 0xF6, 0xCB, 0x0C .byte 0x69, 0xF6, 0xCF, 0x0C, 0x6E, 0xF6, 0xD2, 0x0C, 0x73, 0xF6, 0xD6, 0x0C, 0x78, 0xF6, 0xDA, 0x0C .byte 0x7D, 0xF6, 0xDE, 0x0C, 0x82, 0xF6, 0xE1, 0x0C, 0x87, 0xF6, 0xE5, 0x0C, 0x8C, 0xF6, 0xE9, 0x0C .byte 0x91, 0xF6, 0xED, 0x0C, 0x96, 0xF6, 0xF0, 0x0C, 0x9B, 0xF6, 0xF4, 0x0C, 0xA1, 0xF6, 0xF8, 0x0C .byte 0xA6, 0xF6, 0xFB, 0x0C, 0xAB, 0xF6, 0xFF, 0x0C, 0xB0, 0xF6, 0x03, 0x0D, 0xB5, 0xF6, 0x06, 0x0D .byte 0xBA, 0xF6, 0x0A, 0x0D, 0xBF, 0xF6, 0x0E, 0x0D, 0xC4, 0xF6, 0x11, 0x0D, 0xC9, 0xF6, 0x15, 0x0D .byte 0xCF, 0xF6, 0x18, 0x0D, 0xD4, 0xF6, 0x1C, 0x0D, 0xD9, 0xF6, 0x20, 0x0D, 0xDE, 0xF6, 0x23, 0x0D .byte 0xE3, 0xF6, 0x27, 0x0D, 0xE8, 0xF6, 0x2A, 0x0D, 0xEE, 0xF6, 0x2E, 0x0D, 0xF3, 0xF6, 0x32, 0x0D .byte 0xF8, 0xF6, 0x35, 0x0D, 0xFD, 0xF6, 0x39, 0x0D, 0x02, 0xF7, 0x3C, 0x0D, 0x08, 0xF7, 0x40, 0x0D .byte 0x0D, 0xF7, 0x43, 0x0D, 0x12, 0xF7, 0x47, 0x0D, 0x17, 0xF7, 0x4A, 0x0D, 0x1C, 0xF7, 0x4E, 0x0D .byte 0x22, 0xF7, 0x51, 0x0D, 0x27, 0xF7, 0x55, 0x0D, 0x2C, 0xF7, 0x58, 0x0D, 0x31, 0xF7, 0x5C, 0x0D .byte 0x37, 0xF7, 0x5F, 0x0D, 0x3C, 0xF7, 0x62, 0x0D, 0x41, 0xF7, 0x66, 0x0D, 0x46, 0xF7, 0x69, 0x0D .byte 0x4C, 0xF7, 0x6D, 0x0D, 0x51, 0xF7, 0x70, 0x0D, 0x56, 0xF7, 0x74, 0x0D, 0x5B, 0xF7, 0x77, 0x0D .byte 0x61, 0xF7, 0x7A, 0x0D, 0x66, 0xF7, 0x7E, 0x0D, 0x6B, 0xF7, 0x81, 0x0D, 0x71, 0xF7, 0x85, 0x0D .byte 0x76, 0xF7, 0x88, 0x0D, 0x7B, 0xF7, 0x8B, 0x0D, 0x81, 0xF7, 0x8F, 0x0D, 0x86, 0xF7, 0x92, 0x0D .byte 0x8B, 0xF7, 0x95, 0x0D, 0x91, 0xF7, 0x99, 0x0D, 0x96, 0xF7, 0x9C, 0x0D, 0x9B, 0xF7, 0x9F, 0x0D .byte 0xA1, 0xF7, 0xA2, 0x0D, 0xA6, 0xF7, 0xA6, 0x0D, 0xAB, 0xF7, 0xA9, 0x0D, 0xB1, 0xF7, 0xAC, 0x0D .byte 0xB6, 0xF7, 0xB0, 0x0D, 0xBB, 0xF7, 0xB3, 0x0D, 0xC1, 0xF7, 0xB6, 0x0D, 0xC6, 0xF7, 0xB9, 0x0D .byte 0xCC, 0xF7, 0xBC, 0x0D, 0xD1, 0xF7, 0xC0, 0x0D, 0xD6, 0xF7, 0xC3, 0x0D, 0xDC, 0xF7, 0xC6, 0x0D .byte 0xE1, 0xF7, 0xC9, 0x0D, 0xE7, 0xF7, 0xCC, 0x0D, 0xEC, 0xF7, 0xD0, 0x0D, 0xF2, 0xF7, 0xD3, 0x0D .byte 0xF7, 0xF7, 0xD6, 0x0D, 0xFC, 0xF7, 0xD9, 0x0D, 0x02, 0xF8, 0xDC, 0x0D, 0x07, 0xF8, 0xDF, 0x0D .byte 0x0D, 0xF8, 0xE3, 0x0D, 0x12, 0xF8, 0xE6, 0x0D, 0x18, 0xF8, 0xE9, 0x0D, 0x1D, 0xF8, 0xEC, 0x0D .byte 0x23, 0xF8, 0xEF, 0x0D, 0x28, 0xF8, 0xF2, 0x0D, 0x2E, 0xF8, 0xF5, 0x0D, 0x33, 0xF8, 0xF8, 0x0D .byte 0x38, 0xF8, 0xFB, 0x0D, 0x3E, 0xF8, 0xFE, 0x0D, 0x43, 0xF8, 0x01, 0x0E, 0x49, 0xF8, 0x04, 0x0E .byte 0x4E, 0xF8, 0x07, 0x0E, 0x54, 0xF8, 0x0A, 0x0E, 0x5A, 0xF8, 0x0D, 0x0E, 0x5F, 0xF8, 0x10, 0x0E .byte 0x65, 0xF8, 0x13, 0x0E, 0x6A, 0xF8, 0x16, 0x0E, 0x70, 0xF8, 0x19, 0x0E, 0x75, 0xF8, 0x1C, 0x0E .byte 0x7B, 0xF8, 0x1F, 0x0E, 0x80, 0xF8, 0x22, 0x0E, 0x86, 0xF8, 0x25, 0x0E, 0x8B, 0xF8, 0x28, 0x0E .byte 0x91, 0xF8, 0x2B, 0x0E, 0x96, 0xF8, 0x2E, 0x0E, 0x9C, 0xF8, 0x31, 0x0E, 0xA2, 0xF8, 0x34, 0x0E .byte 0xA7, 0xF8, 0x37, 0x0E, 0xAD, 0xF8, 0x3A, 0x0E, 0xB2, 0xF8, 0x3C, 0x0E, 0xB8, 0xF8, 0x3F, 0x0E .byte 0xBE, 0xF8, 0x42, 0x0E, 0xC3, 0xF8, 0x45, 0x0E, 0xC9, 0xF8, 0x48, 0x0E, 0xCE, 0xF8, 0x4B, 0x0E .byte 0xD4, 0xF8, 0x4D, 0x0E, 0xDA, 0xF8, 0x50, 0x0E, 0xDF, 0xF8, 0x53, 0x0E, 0xE5, 0xF8, 0x56, 0x0E .byte 0xEB, 0xF8, 0x59, 0x0E, 0xF0, 0xF8, 0x5B, 0x0E, 0xF6, 0xF8, 0x5E, 0x0E, 0xFB, 0xF8, 0x61, 0x0E .byte 0x01, 0xF9, 0x64, 0x0E, 0x07, 0xF9, 0x66, 0x0E, 0x0C, 0xF9, 0x69, 0x0E, 0x12, 0xF9, 0x6C, 0x0E .byte 0x18, 0xF9, 0x6F, 0x0E, 0x1D, 0xF9, 0x71, 0x0E, 0x23, 0xF9, 0x74, 0x0E, 0x29, 0xF9, 0x77, 0x0E .byte 0x2E, 0xF9, 0x79, 0x0E, 0x34, 0xF9, 0x7C, 0x0E, 0x3A, 0xF9, 0x7F, 0x0E, 0x3F, 0xF9, 0x81, 0x0E .byte 0x45, 0xF9, 0x84, 0x0E, 0x4B, 0xF9, 0x87, 0x0E, 0x51, 0xF9, 0x89, 0x0E, 0x56, 0xF9, 0x8C, 0x0E .byte 0x5C, 0xF9, 0x8F, 0x0E, 0x62, 0xF9, 0x91, 0x0E, 0x67, 0xF9, 0x94, 0x0E, 0x6D, 0xF9, 0x96, 0x0E .byte 0x73, 0xF9, 0x99, 0x0E, 0x79, 0xF9, 0x9B, 0x0E, 0x7E, 0xF9, 0x9E, 0x0E, 0x84, 0xF9, 0xA1, 0x0E .byte 0x8A, 0xF9, 0xA3, 0x0E, 0x90, 0xF9, 0xA6, 0x0E, 0x95, 0xF9, 0xA8, 0x0E, 0x9B, 0xF9, 0xAB, 0x0E .byte 0xA1, 0xF9, 0xAD, 0x0E, 0xA7, 0xF9, 0xB0, 0x0E, 0xAC, 0xF9, 0xB2, 0x0E, 0xB2, 0xF9, 0xB5, 0x0E .byte 0xB8, 0xF9, 0xB7, 0x0E, 0xBE, 0xF9, 0xBA, 0x0E, 0xC4, 0xF9, 0xBC, 0x0E, 0xC9, 0xF9, 0xBF, 0x0E .byte 0xCF, 0xF9, 0xC1, 0x0E, 0xD5, 0xF9, 0xC3, 0x0E, 0xDB, 0xF9, 0xC6, 0x0E, 0xE1, 0xF9, 0xC8, 0x0E .byte 0xE6, 0xF9, 0xCB, 0x0E, 0xEC, 0xF9, 0xCD, 0x0E, 0xF2, 0xF9, 0xCF, 0x0E, 0xF8, 0xF9, 0xD2, 0x0E .byte 0xFE, 0xF9, 0xD4, 0x0E, 0x03, 0xFA, 0xD6, 0x0E, 0x09, 0xFA, 0xD9, 0x0E, 0x0F, 0xFA, 0xDB, 0x0E .byte 0x15, 0xFA, 0xDD, 0x0E, 0x1B, 0xFA, 0xE0, 0x0E, 0x21, 0xFA, 0xE2, 0x0E, 0x26, 0xFA, 0xE4, 0x0E .byte 0x2C, 0xFA, 0xE7, 0x0E, 0x32, 0xFA, 0xE9, 0x0E, 0x38, 0xFA, 0xEB, 0x0E, 0x3E, 0xFA, 0xEE, 0x0E .byte 0x44, 0xFA, 0xF0, 0x0E, 0x4A, 0xFA, 0xF2, 0x0E, 0x4F, 0xFA, 0xF4, 0x0E, 0x55, 0xFA, 0xF7, 0x0E .byte 0x5B, 0xFA, 0xF9, 0x0E, 0x61, 0xFA, 0xFB, 0x0E, 0x67, 0xFA, 0xFD, 0x0E, 0x6D, 0xFA, 0xFF, 0x0E .byte 0x73, 0xFA, 0x02, 0x0F, 0x79, 0xFA, 0x04, 0x0F, 0x7F, 0xFA, 0x06, 0x0F, 0x84, 0xFA, 0x08, 0x0F .byte 0x8A, 0xFA, 0x0A, 0x0F, 0x90, 0xFA, 0x0C, 0x0F, 0x96, 0xFA, 0x0E, 0x0F, 0x9C, 0xFA, 0x11, 0x0F .byte 0xA2, 0xFA, 0x13, 0x0F, 0xA8, 0xFA, 0x15, 0x0F, 0xAE, 0xFA, 0x17, 0x0F, 0xB4, 0xFA, 0x19, 0x0F .byte 0xBA, 0xFA, 0x1B, 0x0F, 0xC0, 0xFA, 0x1D, 0x0F, 0xC6, 0xFA, 0x1F, 0x0F, 0xCC, 0xFA, 0x21, 0x0F .byte 0xD1, 0xFA, 0x23, 0x0F, 0xD7, 0xFA, 0x25, 0x0F, 0xDD, 0xFA, 0x27, 0x0F, 0xE3, 0xFA, 0x29, 0x0F .byte 0xE9, 0xFA, 0x2B, 0x0F, 0xEF, 0xFA, 0x2D, 0x0F, 0xF5, 0xFA, 0x2F, 0x0F, 0xFB, 0xFA, 0x31, 0x0F .byte 0x01, 0xFB, 0x33, 0x0F, 0x07, 0xFB, 0x35, 0x0F, 0x0D, 0xFB, 0x37, 0x0F, 0x13, 0xFB, 0x39, 0x0F .byte 0x19, 0xFB, 0x3B, 0x0F, 0x1F, 0xFB, 0x3D, 0x0F, 0x25, 0xFB, 0x3F, 0x0F, 0x2B, 0xFB, 0x41, 0x0F .byte 0x31, 0xFB, 0x43, 0x0F, 0x37, 0xFB, 0x45, 0x0F, 0x3D, 0xFB, 0x46, 0x0F, 0x43, 0xFB, 0x48, 0x0F .byte 0x49, 0xFB, 0x4A, 0x0F, 0x4F, 0xFB, 0x4C, 0x0F, 0x55, 0xFB, 0x4E, 0x0F, 0x5B, 0xFB, 0x50, 0x0F .byte 0x61, 0xFB, 0x51, 0x0F, 0x67, 0xFB, 0x53, 0x0F, 0x6D, 0xFB, 0x55, 0x0F, 0x73, 0xFB, 0x57, 0x0F .byte 0x79, 0xFB, 0x59, 0x0F, 0x7F, 0xFB, 0x5A, 0x0F, 0x85, 0xFB, 0x5C, 0x0F, 0x8B, 0xFB, 0x5E, 0x0F .byte 0x91, 0xFB, 0x60, 0x0F, 0x97, 0xFB, 0x61, 0x0F, 0x9D, 0xFB, 0x63, 0x0F, 0xA3, 0xFB, 0x65, 0x0F .byte 0xA9, 0xFB, 0x67, 0x0F, 0xAF, 0xFB, 0x68, 0x0F, 0xB5, 0xFB, 0x6A, 0x0F, 0xBC, 0xFB, 0x6C, 0x0F .byte 0xC2, 0xFB, 0x6D, 0x0F, 0xC8, 0xFB, 0x6F, 0x0F, 0xCE, 0xFB, 0x71, 0x0F, 0xD4, 0xFB, 0x72, 0x0F .byte 0xDA, 0xFB, 0x74, 0x0F, 0xE0, 0xFB, 0x76, 0x0F, 0xE6, 0xFB, 0x77, 0x0F, 0xEC, 0xFB, 0x79, 0x0F .byte 0xF2, 0xFB, 0x7A, 0x0F, 0xF8, 0xFB, 0x7C, 0x0F, 0xFE, 0xFB, 0x7D, 0x0F, 0x04, 0xFC, 0x7F, 0x0F .byte 0x0A, 0xFC, 0x81, 0x0F, 0x11, 0xFC, 0x82, 0x0F, 0x17, 0xFC, 0x84, 0x0F, 0x1D, 0xFC, 0x85, 0x0F .byte 0x23, 0xFC, 0x87, 0x0F, 0x29, 0xFC, 0x88, 0x0F, 0x2F, 0xFC, 0x8A, 0x0F, 0x35, 0xFC, 0x8B, 0x0F .byte 0x3B, 0xFC, 0x8D, 0x0F, 0x41, 0xFC, 0x8E, 0x0F, 0x47, 0xFC, 0x90, 0x0F, 0x4E, 0xFC, 0x91, 0x0F .byte 0x54, 0xFC, 0x93, 0x0F, 0x5A, 0xFC, 0x94, 0x0F, 0x60, 0xFC, 0x95, 0x0F, 0x66, 0xFC, 0x97, 0x0F .byte 0x6C, 0xFC, 0x98, 0x0F, 0x72, 0xFC, 0x9A, 0x0F, 0x78, 0xFC, 0x9B, 0x0F, 0x7F, 0xFC, 0x9C, 0x0F .byte 0x85, 0xFC, 0x9E, 0x0F, 0x8B, 0xFC, 0x9F, 0x0F, 0x91, 0xFC, 0xA1, 0x0F, 0x97, 0xFC, 0xA2, 0x0F .byte 0x9D, 0xFC, 0xA3, 0x0F, 0xA3, 0xFC, 0xA5, 0x0F, 0xAA, 0xFC, 0xA6, 0x0F, 0xB0, 0xFC, 0xA7, 0x0F .byte 0xB6, 0xFC, 0xA8, 0x0F, 0xBC, 0xFC, 0xAA, 0x0F, 0xC2, 0xFC, 0xAB, 0x0F, 0xC8, 0xFC, 0xAC, 0x0F .byte 0xCE, 0xFC, 0xAE, 0x0F, 0xD5, 0xFC, 0xAF, 0x0F, 0xDB, 0xFC, 0xB0, 0x0F, 0xE1, 0xFC, 0xB1, 0x0F .byte 0xE7, 0xFC, 0xB3, 0x0F, 0xED, 0xFC, 0xB4, 0x0F, 0xF3, 0xFC, 0xB5, 0x0F, 0xFA, 0xFC, 0xB6, 0x0F .byte 0x00, 0xFD, 0xB7, 0x0F, 0x06, 0xFD, 0xB8, 0x0F, 0x0C, 0xFD, 0xBA, 0x0F, 0x12, 0xFD, 0xBB, 0x0F .byte 0x18, 0xFD, 0xBC, 0x0F, 0x1F, 0xFD, 0xBD, 0x0F, 0x25, 0xFD, 0xBE, 0x0F, 0x2B, 0xFD, 0xBF, 0x0F .byte 0x31, 0xFD, 0xC0, 0x0F, 0x37, 0xFD, 0xC2, 0x0F, 0x3E, 0xFD, 0xC3, 0x0F, 0x44, 0xFD, 0xC4, 0x0F .byte 0x4A, 0xFD, 0xC5, 0x0F, 0x50, 0xFD, 0xC6, 0x0F, 0x56, 0xFD, 0xC7, 0x0F, 0x5D, 0xFD, 0xC8, 0x0F .byte 0x63, 0xFD, 0xC9, 0x0F, 0x69, 0xFD, 0xCA, 0x0F, 0x6F, 0xFD, 0xCB, 0x0F, 0x75, 0xFD, 0xCC, 0x0F .byte 0x7C, 0xFD, 0xCD, 0x0F, 0x82, 0xFD, 0xCE, 0x0F, 0x88, 0xFD, 0xCF, 0x0F, 0x8E, 0xFD, 0xD0, 0x0F .byte 0x94, 0xFD, 0xD1, 0x0F, 0x9B, 0xFD, 0xD2, 0x0F, 0xA1, 0xFD, 0xD3, 0x0F, 0xA7, 0xFD, 0xD4, 0x0F .byte 0xAD, 0xFD, 0xD5, 0x0F, 0xB3, 0xFD, 0xD5, 0x0F, 0xBA, 0xFD, 0xD6, 0x0F, 0xC0, 0xFD, 0xD7, 0x0F .byte 0xC6, 0xFD, 0xD8, 0x0F, 0xCC, 0xFD, 0xD9, 0x0F, 0xD3, 0xFD, 0xDA, 0x0F, 0xD9, 0xFD, 0xDB, 0x0F .byte 0xDF, 0xFD, 0xDC, 0x0F, 0xE5, 0xFD, 0xDC, 0x0F, 0xEB, 0xFD, 0xDD, 0x0F, 0xF2, 0xFD, 0xDE, 0x0F .byte 0xF8, 0xFD, 0xDF, 0x0F, 0xFE, 0xFD, 0xE0, 0x0F, 0x04, 0xFE, 0xE0, 0x0F, 0x0B, 0xFE, 0xE1, 0x0F .byte 0x11, 0xFE, 0xE2, 0x0F, 0x17, 0xFE, 0xE3, 0x0F, 0x1D, 0xFE, 0xE3, 0x0F, 0x24, 0xFE, 0xE4, 0x0F .byte 0x2A, 0xFE, 0xE5, 0x0F, 0x30, 0xFE, 0xE6, 0x0F, 0x36, 0xFE, 0xE6, 0x0F, 0x3D, 0xFE, 0xE7, 0x0F .byte 0x43, 0xFE, 0xE8, 0x0F, 0x49, 0xFE, 0xE8, 0x0F, 0x4F, 0xFE, 0xE9, 0x0F, 0x56, 0xFE, 0xEA, 0x0F .byte 0x5C, 0xFE, 0xEA, 0x0F, 0x62, 0xFE, 0xEB, 0x0F, 0x68, 0xFE, 0xEC, 0x0F, 0x6F, 0xFE, 0xEC, 0x0F .byte 0x75, 0xFE, 0xED, 0x0F, 0x7B, 0xFE, 0xED, 0x0F, 0x81, 0xFE, 0xEE, 0x0F, 0x88, 0xFE, 0xEF, 0x0F .byte 0x8E, 0xFE, 0xEF, 0x0F, 0x94, 0xFE, 0xF0, 0x0F, 0x9A, 0xFE, 0xF0, 0x0F, 0xA1, 0xFE, 0xF1, 0x0F .byte 0xA7, 0xFE, 0xF1, 0x0F, 0xAD, 0xFE, 0xF2, 0x0F, 0xB3, 0xFE, 0xF2, 0x0F, 0xBA, 0xFE, 0xF3, 0x0F .byte 0xC0, 0xFE, 0xF3, 0x0F, 0xC6, 0xFE, 0xF4, 0x0F, 0xCC, 0xFE, 0xF4, 0x0F, 0xD3, 0xFE, 0xF5, 0x0F .byte 0xD9, 0xFE, 0xF5, 0x0F, 0xDF, 0xFE, 0xF6, 0x0F, 0xE5, 0xFE, 0xF6, 0x0F, 0xEC, 0xFE, 0xF7, 0x0F .byte 0xF2, 0xFE, 0xF7, 0x0F, 0xF8, 0xFE, 0xF8, 0x0F, 0xFF, 0xFE, 0xF8, 0x0F, 0x05, 0xFF, 0xF8, 0x0F .byte 0x0B, 0xFF, 0xF9, 0x0F, 0x11, 0xFF, 0xF9, 0x0F, 0x18, 0xFF, 0xF9, 0x0F, 0x1E, 0xFF, 0xFA, 0x0F .byte 0x24, 0xFF, 0xFA, 0x0F, 0x2A, 0xFF, 0xFA, 0x0F, 0x31, 0xFF, 0xFB, 0x0F, 0x37, 0xFF, 0xFB, 0x0F .byte 0x3D, 0xFF, 0xFB, 0x0F, 0x44, 0xFF, 0xFC, 0x0F, 0x4A, 0xFF, 0xFC, 0x0F, 0x50, 0xFF, 0xFC, 0x0F .byte 0x56, 0xFF, 0xFC, 0x0F, 0x5D, 0xFF, 0xFD, 0x0F, 0x63, 0xFF, 0xFD, 0x0F, 0x69, 0xFF, 0xFD, 0x0F .byte 0x70, 0xFF, 0xFD, 0x0F, 0x76, 0xFF, 0xFE, 0x0F, 0x7C, 0xFF, 0xFE, 0x0F, 0x82, 0xFF, 0xFE, 0x0F .byte 0x89, 0xFF, 0xFE, 0x0F, 0x8F, 0xFF, 0xFE, 0x0F, 0x95, 0xFF, 0xFF, 0x0F, 0x9B, 0xFF, 0xFF, 0x0F .byte 0xA2, 0xFF, 0xFF, 0x0F, 0xA8, 0xFF, 0xFF, 0x0F, 0xAE, 0xFF, 0xFF, 0x0F, 0xB5, 0xFF, 0xFF, 0x0F .byte 0xBB, 0xFF, 0xFF, 0x0F, 0xC1, 0xFF, 0x00, 0x10, 0xC7, 0xFF, 0x00, 0x10, 0xCE, 0xFF, 0x00, 0x10 .byte 0xD4, 0xFF, 0x00, 0x10, 0xDA, 0xFF, 0x00, 0x10, 0xE1, 0xFF, 0x00, 0x10, 0xE7, 0xFF, 0x00, 0x10 .byte 0xED, 0xFF, 0x00, 0x10, 0xF3, 0xFF, 0x00, 0x10, 0xFA, 0xFF, 0x00, 0x10 .global ARM9_UNKNOWN_TABLE__NA_20ADFB0 ARM9_UNKNOWN_TABLE__NA_20ADFB0: .byte 0x00, 0x00, 0x51, 0x00 .byte 0xA3, 0x00, 0xF4, 0x00, 0x46, 0x01, 0x97, 0x01, 0xE9, 0x01, 0x3A, 0x02, 0x8B, 0x02, 0xDC, 0x02 .byte 0x2D, 0x03, 0x7E, 0x03, 0xCF, 0x03, 0x20, 0x04, 0x70, 0x04, 0xC1, 0x04, 0x11, 0x05, 0x61, 0x05 .byte 0xB1, 0x05, 0x01, 0x06, 0x51, 0x06, 0xA0, 0x06, 0xEF, 0x06, 0x3E, 0x07, 0x8D, 0x07, 0xDC, 0x07 .byte 0x2A, 0x08, 0x78, 0x08, 0xC6, 0x08, 0x14, 0x09, 0x61, 0x09, 0xAE, 0x09, 0xFB, 0x09, 0x48, 0x0A .byte 0x94, 0x0A, 0xE0, 0x0A, 0x2C, 0x0B, 0x77, 0x0B, 0xC2, 0x0B, 0x0D, 0x0C, 0x57, 0x0C, 0xA1, 0x0C .byte 0xEB, 0x0C, 0x34, 0x0D, 0x7D, 0x0D, 0xC6, 0x0D, 0x0F, 0x0E, 0x56, 0x0E, 0x9E, 0x0E, 0xE5, 0x0E .byte 0x2C, 0x0F, 0x73, 0x0F, 0xB9, 0x0F, 0xFF, 0x0F, 0x44, 0x10, 0x89, 0x10, 0xCE, 0x10, 0x12, 0x11 .byte 0x56, 0x11, 0x99, 0x11, 0xDC, 0x11, 0x1F, 0x12, 0x61, 0x12, 0xA3, 0x12, 0xE4, 0x12, 0x25, 0x13 .byte 0x66, 0x13, 0xA6, 0x13, 0xE6, 0x13, 0x25, 0x14, 0x64, 0x14, 0xA2, 0x14, 0xE0, 0x14, 0x1E, 0x15 .byte 0x5B, 0x15, 0x98, 0x15, 0xD5, 0x15, 0x11, 0x16, 0x4C, 0x16, 0x88, 0x16, 0xC2, 0x16, 0xFD, 0x16 .byte 0x37, 0x17, 0x70, 0x17, 0xAA, 0x17, 0xE2, 0x17, 0x1B, 0x18, 0x53, 0x18, 0x8A, 0x18, 0xC1, 0x18 .byte 0xF8, 0x18, 0x2E, 0x19, 0x64, 0x19, 0x9A, 0x19, 0xCF, 0x19, 0x04, 0x1A, 0x38, 0x1A, 0x6C, 0x1A .byte 0x9F, 0x1A, 0xD3, 0x1A, 0x05, 0x1B, 0x38, 0x1B, 0x6A, 0x1B, 0x9C, 0x1B, 0xCD, 0x1B, 0xFE, 0x1B .byte 0x2E, 0x1C, 0x5E, 0x1C, 0x8E, 0x1C, 0xBE, 0x1C, 0xED, 0x1C, 0x1B, 0x1D, 0x4A, 0x1D, 0x78, 0x1D .byte 0xA5, 0x1D, 0xD3, 0x1D, 0xFF, 0x1D, 0x2C, 0x1E, 0x58, 0x1E, 0x84, 0x1E, 0xB0, 0x1E, 0xDB, 0x1E .byte 0x06, 0x1F, 0x30, 0x1F, 0x5A, 0x1F, 0x84, 0x1F, 0xAE, 0x1F, 0xD7, 0x1F, 0x00, 0x20, 0x00, 0x00 .global _020AE0B4 _020AE0B4: .byte 0x00, 0x00, 0x80, 0x68, 0x90, 0x68, 0x80, 0x68, 0x94, 0x68, 0x00, 0x00, 0x90, 0x68, 0x80, 0x68 .global _020AE0C4 _020AE0C4: .byte 0x00, 0x00 .global _020AE0C6 _020AE0C6: .byte 0x00, 0x00 .global _020AE0C8 _020AE0C8: .byte 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x20, 0x68, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68 .byte 0x40, 0x68, 0x20, 0x00, 0x20, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00 .byte 0x60, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x60, 0x68, 0x20, 0x00, 0x20, 0x68, 0x60, 0x68 .byte 0x20, 0x00, 0x00, 0x68, 0x60, 0x68, 0x40, 0x00, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68 .byte 0x40, 0x68, 0x20, 0x00, 0x20, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x80, 0x2E, 0xFD, 0x2F, 0xFD, 0x75, 0xFD, 0xA7, 0xFD, 0xCE, 0xFD, 0xEE, 0xFD, 0x09, 0xFE .byte 0x20, 0xFE, 0x34, 0xFE, 0x46, 0xFE, 0x57, 0xFE, 0x66, 0xFE, 0x74, 0xFE, 0x81, 0xFE, 0x8D, 0xFE .byte 0x98, 0xFE, 0xA3, 0xFE, 0xAD, 0xFE, 0xB6, 0xFE, 0xBF, 0xFE, 0xC7, 0xFE, 0xCF, 0xFE, 0xD7, 0xFE .byte 0xDF, 0xFE, 0xE6, 0xFE, 0xEC, 0xFE, 0xF3, 0xFE, 0xF9, 0xFE, 0xFF, 0xFE, 0x05, 0xFF, 0x0B, 0xFF .byte 0x11, 0xFF, 0x16, 0xFF, 0x1B, 0xFF, 0x20, 0xFF, 0x25, 0xFF, 0x2A, 0xFF, 0x2E, 0xFF, 0x33, 0xFF .byte 0x37, 0xFF, 0x3C, 0xFF, 0x40, 0xFF, 0x44, 0xFF, 0x48, 0xFF, 0x4C, 0xFF, 0x50, 0xFF, 0x53, 0xFF .byte 0x57, 0xFF, 0x5B, 0xFF, 0x5E, 0xFF, 0x62, 0xFF, 0x65, 0xFF, 0x68, 0xFF, 0x6B, 0xFF, 0x6F, 0xFF .byte 0x72, 0xFF, 0x75, 0xFF, 0x78, 0xFF, 0x7B, 0xFF, 0x7E, 0xFF, 0x81, 0xFF, 0x83, 0xFF, 0x86, 0xFF .byte 0x89, 0xFF, 0x8C, 0xFF, 0x8E, 0xFF, 0x91, 0xFF, 0x93, 0xFF, 0x96, 0xFF, 0x99, 0xFF, 0x9B, 0xFF .byte 0x9D, 0xFF, 0xA0, 0xFF, 0xA2, 0xFF, 0xA5, 0xFF, 0xA7, 0xFF, 0xA9, 0xFF, 0xAB, 0xFF, 0xAE, 0xFF .byte 0xB0, 0xFF, 0xB2, 0xFF, 0xB4, 0xFF, 0xB6, 0xFF, 0xB8, 0xFF, 0xBA, 0xFF, 0xBC, 0xFF, 0xBE, 0xFF .byte 0xC0, 0xFF, 0xC2, 0xFF, 0xC4, 0xFF, 0xC6, 0xFF, 0xC8, 0xFF, 0xCA, 0xFF, 0xCC, 0xFF, 0xCE, 0xFF .byte 0xCF, 0xFF, 0xD1, 0xFF, 0xD3, 0xFF, 0xD5, 0xFF, 0xD6, 0xFF, 0xD8, 0xFF, 0xDA, 0xFF, 0xDC, 0xFF .byte 0xDD, 0xFF, 0xDF, 0xFF, 0xE1, 0xFF, 0xE2, 0xFF, 0xE4, 0xFF, 0xE5, 0xFF, 0xE7, 0xFF, 0xE9, 0xFF .byte 0xEA, 0xFF, 0xEC, 0xFF, 0xED, 0xFF, 0xEF, 0xFF, 0xF0, 0xFF, 0xF2, 0xFF, 0xF3, 0xFF, 0xF5, 0xFF .byte 0xF6, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFC, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x00, 0x00 .global _020AE224 _020AE224: .byte 0x00, 0x80, 0x5B, 0xFE, 0x97, 0xFE, 0xBB, 0xFE, 0xD4, 0xFE, 0xE7, 0xFE, 0xF7, 0xFE, 0x04, 0xFF .byte 0x10, 0xFF, 0x1A, 0xFF, 0x23, 0xFF, 0x2C, 0xFF, 0x33, 0xFF, 0x3A, 0xFF, 0x40, 0xFF, 0x46, 0xFF .byte 0x4C, 0xFF, 0x51, 0xFF, 0x56, 0xFF, 0x5B, 0xFF, 0x5F, 0xFF, 0x64, 0xFF, 0x68, 0xFF, 0x6C, 0xFF .byte 0x6F, 0xFF, 0x73, 0xFF, 0x76, 0xFF, 0x7A, 0xFF, 0x7D, 0xFF, 0x80, 0xFF, 0x83, 0xFF, 0x86, 0xFF .byte 0x88, 0xFF, 0x8B, 0xFF, 0x8E, 0xFF, 0x90, 0xFF, 0x92, 0xFF, 0x95, 0xFF, 0x97, 0xFF, 0x99, 0xFF .byte 0x9C, 0xFF, 0x9E, 0xFF, 0xA0, 0xFF, 0xA2, 0xFF, 0xA4, 0xFF, 0xA6, 0xFF, 0xA8, 0xFF, 0xAA, 0xFF .byte 0xAB, 0xFF, 0xAD, 0xFF, 0xAF, 0xFF, 0xB1, 0xFF, 0xB2, 0xFF, 0xB4, 0xFF, 0xB6, 0xFF, 0xB7, 0xFF .byte 0xB9, 0xFF, 0xBA, 0xFF, 0xBC, 0xFF, 0xBD, 0xFF, 0xBF, 0xFF, 0xC0, 0xFF, 0xC2, 0xFF, 0xC3, 0xFF .byte 0xC4, 0xFF, 0xC6, 0xFF, 0xC7, 0xFF, 0xC8, 0xFF, 0xCA, 0xFF, 0xCB, 0xFF, 0xCC, 0xFF, 0xCD, 0xFF .byte 0xCF, 0xFF, 0xD0, 0xFF, 0xD1, 0xFF, 0xD2, 0xFF, 0xD3, 0xFF, 0xD5, 0xFF, 0xD6, 0xFF, 0xD7, 0xFF .byte 0xD8, 0xFF, 0xD9, 0xFF, 0xDA, 0xFF, 0xDB, 0xFF, 0xDC, 0xFF, 0xDD, 0xFF, 0xDE, 0xFF, 0xDF, 0xFF .byte 0xE0, 0xFF, 0xE1, 0xFF, 0xE2, 0xFF, 0xE3, 0xFF, 0xE4, 0xFF, 0xE5, 0xFF, 0xE6, 0xFF, 0xE7, 0xFF .byte 0xE8, 0xFF, 0xE9, 0xFF, 0xE9, 0xFF, 0xEA, 0xFF, 0xEB, 0xFF, 0xEC, 0xFF, 0xED, 0xFF, 0xEE, 0xFF .byte 0xEF, 0xFF, 0xEF, 0xFF, 0xF0, 0xFF, 0xF1, 0xFF, 0xF2, 0xFF, 0xF3, 0xFF, 0xF4, 0xFF, 0xF4, 0xFF .byte 0xF5, 0xFF, 0xF6, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFA, 0xFF .byte 0xFB, 0xFF, 0xFC, 0xFF, 0xFD, 0xFF, 0xFD, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x3B, 0x00, 0x76, 0x00, 0xB2, 0x00, 0xED, 0x00, 0x28, 0x01, 0x64, 0x01, 0x9F, 0x01 .byte 0xDB, 0x01, 0x17, 0x02, 0x52, 0x02, 0x8E, 0x02, 0xCA, 0x02, 0x05, 0x03, 0x41, 0x03, 0x7D, 0x03 .byte 0xB9, 0x03, 0xF5, 0x03, 0x31, 0x04, 0x6E, 0x04, 0xAA, 0x04, 0xE6, 0x04, 0x22, 0x05, 0x5F, 0x05 .byte 0x9B, 0x05, 0xD8, 0x05, 0x14, 0x06, 0x51, 0x06, 0x8D, 0x06, 0xCA, 0x06, 0x07, 0x07, 0x43, 0x07 .byte 0x80, 0x07, 0xBD, 0x07, 0xFA, 0x07, 0x37, 0x08, 0x74, 0x08, 0xB1, 0x08, 0xEF, 0x08, 0x2C, 0x09 .byte 0x69, 0x09, 0xA7, 0x09, 0xE4, 0x09, 0x21, 0x0A, 0x5F, 0x0A, 0x9C, 0x0A, 0xDA, 0x0A, 0x18, 0x0B .byte 0x56, 0x0B, 0x93, 0x0B, 0xD1, 0x0B, 0x0F, 0x0C, 0x4D, 0x0C, 0x8B, 0x0C, 0xC9, 0x0C, 0x07, 0x0D .byte 0x45, 0x0D, 0x84, 0x0D, 0xC2, 0x0D, 0x00, 0x0E, 0x3F, 0x0E, 0x7D, 0x0E, 0xBC, 0x0E, 0xFA, 0x0E .byte 0x39, 0x0F, 0x78, 0x0F, 0xB6, 0x0F, 0xF5, 0x0F, 0x34, 0x10, 0x73, 0x10, 0xB2, 0x10, 0xF1, 0x10 .byte 0x30, 0x11, 0x6F, 0x11, 0xAE, 0x11, 0xEE, 0x11, 0x2D, 0x12, 0x6C, 0x12, 0xAC, 0x12, 0xEB, 0x12 .byte 0x2B, 0x13, 0x6B, 0x13, 0xAA, 0x13, 0xEA, 0x13, 0x2A, 0x14, 0x6A, 0x14, 0xA9, 0x14, 0xE9, 0x14 .byte 0x29, 0x15, 0x69, 0x15, 0xAA, 0x15, 0xEA, 0x15, 0x2A, 0x16, 0x6A, 0x16, 0xAB, 0x16, 0xEB, 0x16 .byte 0x2C, 0x17, 0x6C, 0x17, 0xAD, 0x17, 0xED, 0x17, 0x2E, 0x18, 0x6F, 0x18, 0xB0, 0x18, 0xF0, 0x18 .byte 0x31, 0x19, 0x72, 0x19, 0xB3, 0x19, 0xF5, 0x19, 0x36, 0x1A, 0x77, 0x1A, 0xB8, 0x1A, 0xFA, 0x1A .byte 0x3B, 0x1B, 0x7D, 0x1B, 0xBE, 0x1B, 0x00, 0x1C, 0x41, 0x1C, 0x83, 0x1C, 0xC5, 0x1C, 0x07, 0x1D .byte 0x48, 0x1D, 0x8A, 0x1D, 0xCC, 0x1D, 0x0E, 0x1E, 0x51, 0x1E, 0x93, 0x1E, 0xD5, 0x1E, 0x17, 0x1F .byte 0x5A, 0x1F, 0x9C, 0x1F, 0xDF, 0x1F, 0x21, 0x20, 0x64, 0x20, 0xA6, 0x20, 0xE9, 0x20, 0x2C, 0x21 .byte 0x6F, 0x21, 0xB2, 0x21, 0xF5, 0x21, 0x38, 0x22, 0x7B, 0x22, 0xBE, 0x22, 0x01, 0x23, 0x44, 0x23 .byte 0x88, 0x23, 0xCB, 0x23, 0x0E, 0x24, 0x52, 0x24, 0x96, 0x24, 0xD9, 0x24, 0x1D, 0x25, 0x61, 0x25 .byte 0xA4, 0x25, 0xE8, 0x25, 0x2C, 0x26, 0x70, 0x26, 0xB4, 0x26, 0xF8, 0x26, 0x3D, 0x27, 0x81, 0x27 .byte 0xC5, 0x27, 0x0A, 0x28, 0x4E, 0x28, 0x92, 0x28, 0xD7, 0x28, 0x1C, 0x29, 0x60, 0x29, 0xA5, 0x29 .byte 0xEA, 0x29, 0x2F, 0x2A, 0x74, 0x2A, 0xB9, 0x2A, 0xFE, 0x2A, 0x43, 0x2B, 0x88, 0x2B, 0xCD, 0x2B .byte 0x13, 0x2C, 0x58, 0x2C, 0x9D, 0x2C, 0xE3, 0x2C, 0x28, 0x2D, 0x6E, 0x2D, 0xB4, 0x2D, 0xF9, 0x2D .byte 0x3F, 0x2E, 0x85, 0x2E, 0xCB, 0x2E, 0x11, 0x2F, 0x57, 0x2F, 0x9D, 0x2F, 0xE3, 0x2F, 0x2A, 0x30 .byte 0x70, 0x30, 0xB6, 0x30, 0xFD, 0x30, 0x43, 0x31, 0x8A, 0x31, 0xD0, 0x31, 0x17, 0x32, 0x5E, 0x32 .byte 0xA5, 0x32, 0xEC, 0x32, 0x32, 0x33, 0x79, 0x33, 0xC1, 0x33, 0x08, 0x34, 0x4F, 0x34, 0x96, 0x34 .byte 0xDD, 0x34, 0x25, 0x35, 0x6C, 0x35, 0xB4, 0x35, 0xFB, 0x35, 0x43, 0x36, 0x8B, 0x36, 0xD3, 0x36 .byte 0x1A, 0x37, 0x62, 0x37, 0xAA, 0x37, 0xF2, 0x37, 0x3A, 0x38, 0x83, 0x38, 0xCB, 0x38, 0x13, 0x39 .byte 0x5C, 0x39, 0xA4, 0x39, 0xED, 0x39, 0x35, 0x3A, 0x7E, 0x3A, 0xC6, 0x3A, 0x0F, 0x3B, 0x58, 0x3B .byte 0xA1, 0x3B, 0xEA, 0x3B, 0x33, 0x3C, 0x7C, 0x3C, 0xC5, 0x3C, 0x0E, 0x3D, 0x58, 0x3D, 0xA1, 0x3D .byte 0xEA, 0x3D, 0x34, 0x3E, 0x7D, 0x3E, 0xC7, 0x3E, 0x11, 0x3F, 0x5A, 0x3F, 0xA4, 0x3F, 0xEE, 0x3F .byte 0x38, 0x40, 0x82, 0x40, 0xCC, 0x40, 0x16, 0x41, 0x61, 0x41, 0xAB, 0x41, 0xF5, 0x41, 0x40, 0x42 .byte 0x8A, 0x42, 0xD5, 0x42, 0x1F, 0x43, 0x6A, 0x43, 0xB5, 0x43, 0x00, 0x44, 0x4B, 0x44, 0x95, 0x44 .byte 0xE1, 0x44, 0x2C, 0x45, 0x77, 0x45, 0xC2, 0x45, 0x0D, 0x46, 0x59, 0x46, 0xA4, 0x46, 0xF0, 0x46 .byte 0x3B, 0x47, 0x87, 0x47, 0xD3, 0x47, 0x1E, 0x48, 0x6A, 0x48, 0xB6, 0x48, 0x02, 0x49, 0x4E, 0x49 .byte 0x9A, 0x49, 0xE6, 0x49, 0x33, 0x4A, 0x7F, 0x4A, 0xCB, 0x4A, 0x18, 0x4B, 0x64, 0x4B, 0xB1, 0x4B .byte 0xFE, 0x4B, 0x4A, 0x4C, 0x97, 0x4C, 0xE4, 0x4C, 0x31, 0x4D, 0x7E, 0x4D, 0xCB, 0x4D, 0x18, 0x4E .byte 0x66, 0x4E, 0xB3, 0x4E, 0x00, 0x4F, 0x4E, 0x4F, 0x9B, 0x4F, 0xE9, 0x4F, 0x36, 0x50, 0x84, 0x50 .byte 0xD2, 0x50, 0x20, 0x51, 0x6E, 0x51, 0xBC, 0x51, 0x0A, 0x52, 0x58, 0x52, 0xA6, 0x52, 0xF4, 0x52 .byte 0x43, 0x53, 0x91, 0x53, 0xE0, 0x53, 0x2E, 0x54, 0x7D, 0x54, 0xCC, 0x54, 0x1A, 0x55, 0x69, 0x55 .byte 0xB8, 0x55, 0x07, 0x56, 0x56, 0x56, 0xA5, 0x56, 0xF4, 0x56, 0x44, 0x57, 0x93, 0x57, 0xE2, 0x57 .byte 0x32, 0x58, 0x82, 0x58, 0xD1, 0x58, 0x21, 0x59, 0x71, 0x59, 0xC1, 0x59, 0x10, 0x5A, 0x60, 0x5A .byte 0xB0, 0x5A, 0x01, 0x5B, 0x51, 0x5B, 0xA1, 0x5B, 0xF1, 0x5B, 0x42, 0x5C, 0x92, 0x5C, 0xE3, 0x5C .byte 0x34, 0x5D, 0x84, 0x5D, 0xD5, 0x5D, 0x26, 0x5E, 0x77, 0x5E, 0xC8, 0x5E, 0x19, 0x5F, 0x6A, 0x5F .byte 0xBB, 0x5F, 0x0D, 0x60, 0x5E, 0x60, 0xB0, 0x60, 0x01, 0x61, 0x53, 0x61, 0xA4, 0x61, 0xF6, 0x61 .byte 0x48, 0x62, 0x9A, 0x62, 0xEC, 0x62, 0x3E, 0x63, 0x90, 0x63, 0xE2, 0x63, 0x34, 0x64, 0x87, 0x64 .byte 0xD9, 0x64, 0x2C, 0x65, 0x7E, 0x65, 0xD1, 0x65, 0x24, 0x66, 0x76, 0x66, 0xC9, 0x66, 0x1C, 0x67 .byte 0x6F, 0x67, 0xC2, 0x67, 0x15, 0x68, 0x69, 0x68, 0xBC, 0x68, 0x0F, 0x69, 0x63, 0x69, 0xB6, 0x69 .byte 0x0A, 0x6A, 0x5E, 0x6A, 0xB1, 0x6A, 0x05, 0x6B, 0x59, 0x6B, 0xAD, 0x6B, 0x01, 0x6C, 0x55, 0x6C .byte 0xAA, 0x6C, 0xFE, 0x6C, 0x52, 0x6D, 0xA7, 0x6D, 0xFB, 0x6D, 0x50, 0x6E, 0xA4, 0x6E, 0xF9, 0x6E .byte 0x4E, 0x6F, 0xA3, 0x6F, 0xF8, 0x6F, 0x4D, 0x70, 0xA2, 0x70, 0xF7, 0x70, 0x4D, 0x71, 0xA2, 0x71 .byte 0xF7, 0x71, 0x4D, 0x72, 0xA2, 0x72, 0xF8, 0x72, 0x4E, 0x73, 0xA4, 0x73, 0xFA, 0x73, 0x50, 0x74 .byte 0xA6, 0x74, 0xFC, 0x74, 0x52, 0x75, 0xA8, 0x75, 0xFF, 0x75, 0x55, 0x76, 0xAC, 0x76, 0x02, 0x77 .byte 0x59, 0x77, 0xB0, 0x77, 0x07, 0x78, 0x5E, 0x78, 0xB4, 0x78, 0x0C, 0x79, 0x63, 0x79, 0xBA, 0x79 .byte 0x11, 0x7A, 0x69, 0x7A, 0xC0, 0x7A, 0x18, 0x7B, 0x6F, 0x7B, 0xC7, 0x7B, 0x1F, 0x7C, 0x77, 0x7C .byte 0xCF, 0x7C, 0x27, 0x7D, 0x7F, 0x7D, 0xD7, 0x7D, 0x2F, 0x7E, 0x88, 0x7E, 0xE0, 0x7E, 0x38, 0x7F .byte 0x91, 0x7F, 0xEA, 0x7F, 0x42, 0x80, 0x9B, 0x80, 0xF4, 0x80, 0x4D, 0x81, 0xA6, 0x81, 0xFF, 0x81 .byte 0x59, 0x82, 0xB2, 0x82, 0x0B, 0x83, 0x65, 0x83, 0xBE, 0x83, 0x18, 0x84, 0x72, 0x84, 0xCB, 0x84 .byte 0x25, 0x85, 0x7F, 0x85, 0xD9, 0x85, 0x33, 0x86, 0x8E, 0x86, 0xE8, 0x86, 0x42, 0x87, 0x9D, 0x87 .byte 0xF7, 0x87, 0x52, 0x88, 0xAC, 0x88, 0x07, 0x89, 0x62, 0x89, 0xBD, 0x89, 0x18, 0x8A, 0x73, 0x8A .byte 0xCE, 0x8A, 0x2A, 0x8B, 0x85, 0x8B, 0xE0, 0x8B, 0x3C, 0x8C, 0x97, 0x8C, 0xF3, 0x8C, 0x4F, 0x8D .byte 0xAB, 0x8D, 0x07, 0x8E, 0x63, 0x8E, 0xBF, 0x8E, 0x1B, 0x8F, 0x77, 0x8F, 0xD4, 0x8F, 0x30, 0x90 .byte 0x8C, 0x90, 0xE9, 0x90, 0x46, 0x91, 0xA2, 0x91, 0xFF, 0x91, 0x5C, 0x92, 0xB9, 0x92, 0x16, 0x93 .byte 0x73, 0x93, 0xD1, 0x93, 0x2E, 0x94, 0x8C, 0x94, 0xE9, 0x94, 0x47, 0x95, 0xA4, 0x95, 0x02, 0x96 .byte 0x60, 0x96, 0xBE, 0x96, 0x1C, 0x97, 0x7A, 0x97, 0xD8, 0x97, 0x36, 0x98, 0x95, 0x98, 0xF3, 0x98 .byte 0x52, 0x99, 0xB0, 0x99, 0x0F, 0x9A, 0x6E, 0x9A, 0xCD, 0x9A, 0x2C, 0x9B, 0x8B, 0x9B, 0xEA, 0x9B .byte 0x49, 0x9C, 0xA8, 0x9C, 0x08, 0x9D, 0x67, 0x9D, 0xC7, 0x9D, 0x26, 0x9E, 0x86, 0x9E, 0xE6, 0x9E .byte 0x46, 0x9F, 0xA6, 0x9F, 0x06, 0xA0, 0x66, 0xA0, 0xC6, 0xA0, 0x27, 0xA1, 0x87, 0xA1, 0xE8, 0xA1 .byte 0x48, 0xA2, 0xA9, 0xA2, 0x0A, 0xA3, 0x6B, 0xA3, 0xCC, 0xA3, 0x2D, 0xA4, 0x8E, 0xA4, 0xEF, 0xA4 .byte 0x50, 0xA5, 0xB2, 0xA5, 0x13, 0xA6, 0x75, 0xA6, 0xD6, 0xA6, 0x38, 0xA7, 0x9A, 0xA7, 0xFC, 0xA7 .byte 0x5E, 0xA8, 0xC0, 0xA8, 0x22, 0xA9, 0x84, 0xA9, 0xE7, 0xA9, 0x49, 0xAA, 0xAC, 0xAA, 0x0E, 0xAB .byte 0x71, 0xAB, 0xD4, 0xAB, 0x37, 0xAC, 0x9A, 0xAC, 0xFD, 0xAC, 0x60, 0xAD, 0xC3, 0xAD, 0x27, 0xAE .byte 0x8A, 0xAE, 0xED, 0xAE, 0x51, 0xAF, 0xB5, 0xAF, 0x19, 0xB0, 0x7C, 0xB0, 0xE0, 0xB0, 0x45, 0xB1 .byte 0xA9, 0xB1, 0x0D, 0xB2, 0x71, 0xB2, 0xD6, 0xB2, 0x3A, 0xB3, 0x9F, 0xB3, 0x03, 0xB4, 0x68, 0xB4 .byte 0xCD, 0xB4, 0x32, 0xB5, 0x97, 0xB5, 0xFC, 0xB5, 0x62, 0xB6, 0xC7, 0xB6, 0x2C, 0xB7, 0x92, 0xB7 .byte 0xF7, 0xB7, 0x5D, 0xB8, 0xC3, 0xB8, 0x29, 0xB9, 0x8F, 0xB9, 0xF5, 0xB9, 0x5B, 0xBA, 0xC1, 0xBA .byte 0x28, 0xBB, 0x8E, 0xBB, 0xF5, 0xBB, 0x5B, 0xBC, 0xC2, 0xBC, 0x29, 0xBD, 0x90, 0xBD, 0xF7, 0xBD .byte 0x5E, 0xBE, 0xC5, 0xBE, 0x2C, 0xBF, 0x94, 0xBF, 0xFB, 0xBF, 0x63, 0xC0, 0xCA, 0xC0, 0x32, 0xC1 .byte 0x9A, 0xC1, 0x02, 0xC2, 0x6A, 0xC2, 0xD2, 0xC2, 0x3A, 0xC3, 0xA2, 0xC3, 0x0B, 0xC4, 0x73, 0xC4 .byte 0xDC, 0xC4, 0x44, 0xC5, 0xAD, 0xC5, 0x16, 0xC6, 0x7F, 0xC6, 0xE8, 0xC6, 0x51, 0xC7, 0xBB, 0xC7 .byte 0x24, 0xC8, 0x8D, 0xC8, 0xF7, 0xC8, 0x60, 0xC9, 0xCA, 0xC9, 0x34, 0xCA, 0x9E, 0xCA, 0x08, 0xCB .byte 0x72, 0xCB, 0xDC, 0xCB, 0x47, 0xCC, 0xB1, 0xCC, 0x1B, 0xCD, 0x86, 0xCD, 0xF1, 0xCD, 0x5B, 0xCE .byte 0xC6, 0xCE, 0x31, 0xCF, 0x9C, 0xCF, 0x08, 0xD0, 0x73, 0xD0, 0xDE, 0xD0, 0x4A, 0xD1, 0xB5, 0xD1 .byte 0x21, 0xD2, 0x8D, 0xD2, 0xF8, 0xD2, 0x64, 0xD3, 0xD0, 0xD3, 0x3D, 0xD4, 0xA9, 0xD4, 0x15, 0xD5 .byte 0x82, 0xD5, 0xEE, 0xD5, 0x5B, 0xD6, 0xC7, 0xD6, 0x34, 0xD7, 0xA1, 0xD7, 0x0E, 0xD8, 0x7B, 0xD8 .byte 0xE9, 0xD8, 0x56, 0xD9, 0xC3, 0xD9, 0x31, 0xDA, 0x9E, 0xDA, 0x0C, 0xDB, 0x7A, 0xDB, 0xE8, 0xDB .byte 0x56, 0xDC, 0xC4, 0xDC, 0x32, 0xDD, 0xA0, 0xDD, 0x0F, 0xDE, 0x7D, 0xDE, 0xEC, 0xDE, 0x5B, 0xDF .byte 0xC9, 0xDF, 0x38, 0xE0, 0xA7, 0xE0, 0x16, 0xE1, 0x86, 0xE1, 0xF5, 0xE1, 0x64, 0xE2, 0xD4, 0xE2 .byte 0x43, 0xE3, 0xB3, 0xE3, 0x23, 0xE4, 0x93, 0xE4, 0x03, 0xE5, 0x73, 0xE5, 0xE3, 0xE5, 0x54, 0xE6 .byte 0xC4, 0xE6, 0x35, 0xE7, 0xA5, 0xE7, 0x16, 0xE8, 0x87, 0xE8, 0xF8, 0xE8, 0x69, 0xE9, 0xDA, 0xE9 .byte 0x4B, 0xEA, 0xBC, 0xEA, 0x2E, 0xEB, 0x9F, 0xEB, 0x11, 0xEC, 0x83, 0xEC, 0xF5, 0xEC, 0x66, 0xED .byte 0xD9, 0xED, 0x4B, 0xEE, 0xBD, 0xEE, 0x2F, 0xEF, 0xA2, 0xEF, 0x14, 0xF0, 0x87, 0xF0, 0xFA, 0xF0 .byte 0x6D, 0xF1, 0xE0, 0xF1, 0x53, 0xF2, 0xC6, 0xF2, 0x39, 0xF3, 0xAD, 0xF3, 0x20, 0xF4, 0x94, 0xF4 .byte 0x07, 0xF5, 0x7B, 0xF5, 0xEF, 0xF5, 0x63, 0xF6, 0xD7, 0xF6, 0x4C, 0xF7, 0xC0, 0xF7, 0x34, 0xF8 .byte 0xA9, 0xF8, 0x1E, 0xF9, 0x92, 0xF9, 0x07, 0xFA, 0x7C, 0xFA, 0xF1, 0xFA, 0x66, 0xFB, 0xDC, 0xFB .byte 0x51, 0xFC, 0xC7, 0xFC, 0x3C, 0xFD, 0xB2, 0xFD, 0x28, 0xFE, 0x9E, 0xFE, 0x14, 0xFF, 0x8A, 0xFF .global ARM9_UNKNOWN_TABLE__NA_20AE924 ARM9_UNKNOWN_TABLE__NA_20AE924: .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03 .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 .byte 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 .byte 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08 .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 .byte 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B .byte 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E .byte 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x10, 0x10, 0x10, 0x10, 0x10 .byte 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x14 .byte 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x18 .byte 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C .byte 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x21, 0x21, 0x22, 0x22 .byte 0x22, 0x23, 0x23, 0x24, 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x27, 0x28, 0x28, 0x29 .byte 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, 0x2D, 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 0x30, 0x31, 0x31 .byte 0x32, 0x32, 0x33, 0x33, 0x34, 0x35, 0x35, 0x36, 0x36, 0x37, 0x38, 0x38, 0x39, 0x3A, 0x3A, 0x3B .byte 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x43, 0x44, 0x45, 0x45, 0x46, 0x47 .byte 0x48, 0x49, 0x4A, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x52, 0x53, 0x54, 0x55 .byte 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x67 .byte 0x68, 0x69, 0x6A, 0x6B, 0x6D, 0x6E, 0x6F, 0x71, 0x72, 0x73, 0x75, 0x76, 0x77, 0x79, 0x7A, 0x7B .byte 0x7D, 0x7E, 0x7F, 0x20, 0x21, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25 .byte 0x26, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, 0x2D .byte 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 0x30, 0x30, 0x31, 0x31, 0x32, 0x33, 0x33, 0x34, 0x34, 0x35, 0x36 .byte 0x36, 0x37, 0x37, 0x38, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3C, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x40 .byte 0x41, 0x42, 0x43, 0x43, 0x44, 0x45, 0x46, 0x47, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4D .byte 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D .byte 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6F, 0x70 .byte 0x71, 0x73, 0x74, 0x75, 0x77, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7E, 0x40, 0x41, 0x42, 0x43, 0x43 .byte 0x44, 0x45, 0x46, 0x47, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51 .byte 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61 .byte 0x62, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6B, 0x6C, 0x6D, 0x6E, 0x70, 0x71, 0x72, 0x74, 0x75 .byte 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7D, 0x7E, 0x40, 0x41, 0x42, 0x42, 0x43, 0x44, 0x45, 0x46, 0x46 .byte 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55 .byte 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x65, 0x66 .byte 0x67, 0x68, 0x69, 0x6A, 0x6C, 0x6D, 0x6E, 0x6F, 0x71, 0x72, 0x73, 0x75, 0x76, 0x77, 0x79, 0x7A .byte 0x7C, 0x7D, 0x7E, 0x7F .global _020AEBF8 _020AEBF8: .word sub_0207DFF0 .word sub_0207E01C .word sub_0207E048 .word sub_0207E0E0 .word sub_0207E20C .word sub_0207E3F0 .word sub_0207E79C .word sub_0207E81C .word sub_0207E844 .global _020AEC1C _020AEC1C: .byte 0x21, 0x06, 0xC0, 0xDE, 0xBA, 0x98, 0xCE, 0x3F .byte 0xA6, 0x92, 0xE3, 0x9D, 0x46, 0xF2, 0xED, 0x01, 0x76, 0xE3, 0xCC, 0x08, 0x56, 0x23, 0x63, 0xFA .byte 0xCA, 0xD4, 0xEC, 0xDF, 0x9A, 0x62, 0x78, 0x34, 0x8F, 0x6D, 0x63, 0x3C, 0xFE, 0x22, 0xCA, 0x92 .byte 0x20, 0x88, 0x97, 0x23, 0xD2, 0xCF, 0xAE, 0xC2, 0x32, 0x67, 0x8D, 0xFE, 0xCA, 0x83, 0x64, 0x98 .byte 0xAC, 0xFD, 0x3E, 0x37, 0x87, 0x46, 0x58, 0x24 .global _020AEC5C _020AEC5C: .byte 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AECB0 _020AECB0: .byte 0x00, 0x01, 0x02, 0x03 .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13 .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23 .byte 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33 .byte 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x61, 0x62, 0x63 .byte 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73 .byte 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63 .byte 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73 .byte 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F .global _020AED30 _020AED30: .byte 0x00, 0x01, 0x02, 0x03 .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13 .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23 .byte 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33 .byte 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43 .byte 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53 .byte 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43 .byte 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53 .byte 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F .global _020AEDB0 _020AEDB0: .byte 0x04, 0x00, 0x04, 0x00 .byte 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x06, 0x01 .byte 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00 .byte 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00 .byte 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x42, 0x01, 0xD0, 0x00 .byte 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00 .byte 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0x58, 0x04, 0x58, 0x04 .byte 0x58, 0x04, 0x58, 0x04, 0x58, 0x04, 0x58, 0x04, 0x58, 0x04, 0x58, 0x04, 0x58, 0x04, 0x58, 0x04 .byte 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0x51, 0x06 .byte 0x51, 0x06, 0x51, 0x06, 0x51, 0x06, 0x51, 0x06, 0x51, 0x06, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02 .byte 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02 .byte 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02, 0x51, 0x02 .byte 0x51, 0x02, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0x71, 0x04 .byte 0x71, 0x04, 0x71, 0x04, 0x71, 0x04, 0x71, 0x04, 0x71, 0x04, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00 .byte 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00 .byte 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00, 0x71, 0x00 .byte 0x71, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0x04, 0x00 .global _020AEEB0 _020AEEB0: .byte 0x4E, 0x41, 0x4E, 0x28 .byte 0x00 .global _020AEEB5 _020AEEB5: .byte 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, 0x00, 0x00, 0x00 .global _020AEEC0 _020AEEC0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x03, 0xB8, 0xE2, 0x3F .global _020AEED0 _020AEED0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F .global _020AEEE0 _020AEEE0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0xD0, 0xCF, 0x43, 0xEB, 0xFD, 0x4C, 0x3E .global _020AEEF0 _020AEEF0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MEMORY_ALLOCATION_ARENA_GETTERS MEMORY_ALLOCATION_ARENA_GETTERS: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AEF08 _020AEF08: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global PRNG_SEQUENCE_NUM PRNG_SEQUENCE_NUM: .byte 0x8C, 0x34, 0x00, 0x00 .global _020AEF30 _020AEF30: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word _0209248C .word _02092474 .word _0209247C .word _02092494 .word _020924C4 .word _020924B4 .word _020924A4 .word _02092484 .global _020AEF58 _020AEF58: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AEF7C _020AEF7C: .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AEFB4 _020AEFB4: .word sub_02003620 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AEFC8 _020AEFC8: .word sub_02003780 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global _020AEFDC _020AEFDC: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF000 _020AF000: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF028 _020AF028: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF050 _020AF050: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF078 _020AF078: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF154 _020AF154: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global LOADED_OVERLAY_GROUP_0 LOADED_OVERLAY_GROUP_0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF23C _020AF23C: .byte 0x00, 0x00, 0x00, 0x00 .global _020AF240 _020AF240: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF264 _020AF264: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF288 _020AF288: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF2AC _020AF2AC: .byte 0x00, 0x00, 0x00, 0x00 .word _0209276C .word _02092774 .global _020AF2B8 _020AF2B8: .byte 0x72, 0x6F, 0x6D, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF2C4 _020AF2C4: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF344 _020AF344: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _020927F4 .word _020927F0 .global _020AF354 _020AF354: .word _0209286C .word _020AF38C .byte 0x00, 0x00, 0x00, 0x00 .global _020AF360 _020AF360: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF368 _020AF368: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF38C _020AF38C: .byte 0x01, 0x00, 0x00, 0x00 .word _020928B4 .word _020928B0 .word sub_02007EC0 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02007EDC .word sub_02007F0C .word sub_02007FCC .word sub_02008080 .word sub_020080B0 .word sub_020080B8 .word sub_020080C0 .word sub_02008138 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF3D0 _020AF3D0: .word sub_02008490 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF3E4 _020AF3E4: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF408 _020AF408: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF42C _020AF42C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF454 _020AF454: .word _020928D8 .word _020928E8 .word _020928C0 .word _020928C8 .word _02092940 .word _0209296C .word _02092948 .word _02092954 .word _02092938 .word _02092960 .word _020928D0 .word _02092930 .word _020928E0 .word _020928F0 .word _020928F8 .global _020AF490 _020AF490: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF53C _020AF53C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF5E8 _020AF5E8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF694 _020AF694: .byte 0xFF, 0x00, 0x00, 0x00 ; debug related .global DEBUG_IS_INITIALIZED ; 020af698 DEBUG_IS_INITIALIZED: .word 0x0 ; pack file related .global PACK_FILES_OPENED ; 0x20af69c PACK_FILES_OPENED: ; [Runtime] A pointer to the 6 opened Pack files (listed at PACK_FILE_PATHS_TABLE) .word 0x0 ; List of pointers to path strings to all known pack files. ; The game uses this table to load its resources when launching dungeon mode. .global PACK_FILE_PATHS_TABLE ; 0x020af6a0 PACK_FILE_PATHS_TABLE: .word STRING_MONSTER_MONSTER_BIN .word STRING_MONSTER_M_ATTACK_BIN .word STRING_MONSTER_M_GROUND_BIN .word STRING_EFFECT_EFFECT_BIN .word STRING_DUNGEON_DUNGEON_BIN .word STRING_BALANCE_M_LEVEL_BIN ; 0x020af6b8 .global BAG_ITEMS_PTR_MIRROR BAG_ITEMS_PTR_MIRROR: .byte 0x00, 0x00, 0x00, 0x00 .word _02094D00 .global ITEM_DATA_TABLE_PTRS ITEM_DATA_TABLE_PTRS: .byte 0x00, 0x00, 0x00, 0x00 .global _020AF6C4 _020AF6C4: .byte 0x00, 0x00, 0x00, 0x00 .global _020AF6C8 _020AF6C8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF6D0 _020AF6D0: .byte 0x00, 0x00, 0x00, 0x00 .global _020AF6D4 _020AF6D4: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global DUNGEON_MOVE_TABLES DUNGEON_MOVE_TABLES: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF6E8 _020AF6E8: .word _02098DAC .word _02098DC8 .global _020AF6F0 _020AF6F0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AF6F8 _020AF6F8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF700 _020AF700: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF710 _020AF710: .byte 0x00, 0x00, 0x00, 0x00 .global _020AF714 _020AF714: .word _02098EB0 .word _02098EB0 .word _02098EC8 .global _020AF720 _020AF720: .byte 0x00 .global _020AF721 _020AF721: .byte 0x00 .global _020AF722 _020AF722: .byte 0x00, 0xFF .byte 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xC0, 0x00, 0xFF, 0x40, 0x40, 0x40, 0xFF .byte 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF .byte 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF .byte 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF .global _020AF760 _020AF760: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF76C _020AF76C: .word _02099144 .word _02099148 .word _02099154 .word _0209914C .global _020AF77C _020AF77C: .byte 0x00, 0x00, 0x00, 0x00 .global _020AF780 _020AF780: .byte 0x01, 0x00, 0x00, 0x00 .global _020AF784 _020AF784: .word sub_0201862C .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00 .global _020AF798 _020AF798: .word sub_02018804 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .global _020AF7AC _020AF7AC: .word sub_02018600 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x40, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .global _020AF7C0 _020AF7C0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF7E4 _020AF7E4: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF890 _020AF890: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AF96C _020AF96C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFA48 _020AFA48: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFB24 _020AFB24: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFB28 _020AFB28: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFB4C _020AFB4C: .byte 0x53, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x42, 0x47 .byte 0x4D, 0x2F, 0x62, 0x67, 0x6D, 0x2E, 0x73, 0x77, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFB6C _020AFB6C: .word _02099254 .word _02099254 .word _02099288 .word _02099258 .word _020992A0 .word _02099278 .word _020992A8 .word _020992B0 .word _02099298 .word _02099270 .word _02099290 .word _02099268 .word _02099260 .word _02099340 .word _02099350 .word _02099358 .word _02099368 .word _02099370 .word _02099320 .word _02099390 .word _02099280 .word _02099254 .word _02099254 .word _02099254 .word _02099254 .word _020992C0 .word _02099300 .word _020992F8 .word _020992D8 .word _020992E0 .word _020992F0 .word _02099308 .word _02099318 .word _02099328 .word _02099338 .word _02099380 .word _02099360 .word _02099378 .word _020992B8 .word _020992C8 .word _020992D0 .word _020992E8 .word _02099310 .word _02099330 .word _02099348 .word _02099388 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFC28 _020AFC28: .byte 0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x01 .global _020AFC30 _020AFC30: .byte 0x00, 0x00, 0x01, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFC3C _020AFC3C: .byte 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .global _020AFC4C _020AFC4C: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFC50 _020AFC50: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFC64 _020AFC64: .byte 0x20, 0x00, 0x10, 0x00 .global WAN_TABLE WAN_TABLE: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFC6C _020AFC6C: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFC70 _020AFC70: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global RENDER_3D RENDER_3D: .byte 0x00, 0x00, 0x80, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global RENDER_3D_FUNCTIONS_64 RENDER_3D_FUNCTIONS_64: .word Render3d64Texture .word Render3d64Nothing .word Render3d64Rectangle .word Render3d64RectangleMulticolor .word Render3d64Quadrilateral .word Render3d64Tiling .word Render3d64Border .word Render3d64Texture0x7 .global _020AFCE4 _020AFCE4: .byte 0x00, 0x00, 0x00, 0x00 .global LANGUAGE_INFO_DATA LANGUAGE_INFO_DATA: .byte 0x00, 0x08, 0x00, 0x00 .global _020AFCEC _020AFCEC: .byte 0xFF, 0x00, 0x00, 0x00 .global _020AFCF0 _020AFCF0: .word _0209AAB0 .word _0209AAC4 .global TBL_TALK_GROUP_STRING_ID_START TBL_TALK_GROUP_STRING_ID_START: .byte 0x15, 0x12, 0x6B, 0x16, 0xC4, 0x17, 0x63, 0x0F, 0xBC, 0x10, 0x1D, 0x19 .global _020AFD04 _020AFD04: .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFD14 _020AFD14: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFD1C _020AFD1C: .word _0209AB7C .word _0209AB7C .word _0209AB7C .word _0209AB7C .word _0209AB7C .word _0209AB7C .global _020AFD34 _020AFD34: .word _0209AB8C .word _0209AB8C .word _0209AB8C .word _0209AB8C .word _0209AB8C .word _0209AB8C .global _020AFD4C _020AFD4C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFD58 _020AFD58: .word _0209ACD0 .global _020AFD5C _020AFD5C: .word _0209ADB4 .global _020AFD60 _020AFD60: .word _0209AD50 .word _0209ACE0 .word _0209AD64 .word _0209AD78 .word _0209ACF0 .word _0209AD8C .word _0209ADA0 .word _0209ACB0 .word _0209AD00 .word _0209AD14 .word _0209ACC0 .word _0209AD28 .word _0209AD3C .global _020AFD94 _020AFD94: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFD98 _020AFD98: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFD9C _020AFD9C: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFDA0 _020AFDA0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFDA8 _020AFDA8: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFDAC _020AFDAC: .word _0209AE54 .word _0209AE68 .word _0209AE7C .global _020AFDB8 _020AFDB8: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFDBC _020AFDBC: .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFDD0 _020AFDD0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFDD8 _020AFDD8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFDE0 _020AFDE0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFDE8 _020AFDE8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFDF0 _020AFDF0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word _020AFE44 .global KEYBOARD_STRING_IDS KEYBOARD_STRING_IDS: .byte 0x00, 0x01, 0x28, 0x01, 0x28, 0x01, 0x01, 0x01 .byte 0x2A, 0x01, 0x2A, 0x01, 0x02, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x03, 0x01, 0x2E, 0x01, 0x2F, 0x01 .byte 0x04, 0x01, 0x30, 0x01, 0x31, 0x01, 0x05, 0x01, 0x32, 0x01, 0x33, 0x01, 0x06, 0x01, 0x34, 0x01 .byte 0x35, 0x01, 0x07, 0x01, 0x36, 0x01, 0x36, 0x01, 0x08, 0x01, 0x37, 0x01, 0x37, 0x01, 0x09, 0x01 .byte 0x26, 0x01, 0x26, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFE40 _020AFE40: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE44 _020AFE44: .word _0209BF18 .word _0209BBC4 .word _0209B870 .word _0209B51C .word _0209C26C .global _020AFE58 _020AFE58: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE5C _020AFE5C: .byte 0xFF, 0xFF, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFE70 _020AFE70: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE74 _020AFE74: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE78 _020AFE78: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE7C _020AFE7C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .global _020AFE8C _020AFE8C: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE90 _020AFE90: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFE98 _020AFE98: .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x18, 0x13, 0x00, 0xFF, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFEA8 _020AFEA8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFEB4 _020AFEB4: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00 .global _020AFEC8 _020AFEC8: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFECC _020AFECC: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFED0 _020AFED0: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFED4 _020AFED4: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFED8 _020AFED8: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFEDC _020AFEDC: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFEE0 _020AFEE0: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFEE4 _020AFEE4: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFEE8 _020AFEE8: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFEEC _020AFEEC: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFEF4 _020AFEF4: .byte 0x00, 0x00, 0x00, 0x00 .global NOTIFY_NOTE NOTIFY_NOTE: .byte 0x00, 0x00, 0x00, 0x00 .global DEFAULT_HERO_ID DEFAULT_HERO_ID: .byte 0x04, 0x00, 0x01, 0x00 .global _020AFF00 _020AFF00: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFF14 _020AFF14: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020AFF38 _020AFF38: .word _0209CD3C .byte 0x00, 0x00, 0x00, 0x00 .global _020AFF40 _020AFF40: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global _020AFF4C _020AFF4C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFF54 _020AFF54: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFF5C _020AFF5C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020AFF64 _020AFF64: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFF68 _020AFF68: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFF6C _020AFF6C: .byte 0x00, 0x00, 0x00, 0x00 .global GAME_MODE GAME_MODE: .byte 0x00, 0x00, 0x00, 0x00 .global GLOBAL_PROGRESS_PTR GLOBAL_PROGRESS_PTR: .byte 0x00, 0x00, 0x00, 0x00 .global ADVENTURE_LOG_PTR ADVENTURE_LOG_PTR: .byte 0x00, 0x00, 0x00, 0x00 .global _020AFF7C _020AFF7C: .byte 0x71, 0x02, 0x00, 0x00 .global _020AFF80 _020AFF80: .byte 0x00, 0x00, 0x00, 0x00 .byte 0xDF, 0xB0, 0x08, 0x99 .global _020AFF88 _020AFF88: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global ITEM_TABLES_PTRS_1 ITEM_TABLES_PTRS_1: .word _0209F194 .word _0209F220 .word _0209FB58 .word _0209FA68 .word _0209F5B0 .word _0209FD44 .word _0209FE50 .word _0209FF68 .word _020A0810 .word _020A01B4 .word _020A0430 .word _020A06C4 .word _020A0578 .word _020A02F0 .word _020A0080 .word _0209F2D0 .word MISSION_FLOOR_RANKS_AND_ITEM_LISTS_2 .word _0209F45C .word _0209F8B4 .word _0209F4CC .word _0209F98C .word _0209F53C .word _0209FC4C .word _0209F658 .word _020A0964 .word _0209F270 .global _020B09B0 _020B09B0: .byte 0x00, 0x00, 0x00, 0x00 .global _020B09B4 _020B09B4: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B09C0 _020B09C0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _020B09C8 _020B09C8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B09D0 _020B09D0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE UNOWN_SPECIES_ADDITIONAL_CHAR_PTR_TABLE: .word _020A2C90 .word UNOWN_SPECIES_ADDITIONAL_CHARS .word _020A2CF4 .word _020A2CF0 .word _020A2CEC .word _020A2CE8 .word _020A2CE4 .word _020A2CE0 .word _020A2CDC .word _020A2CD8 .word _020A2CD4 .word _020A2CD0 .word _020A2C8C .word _020A2CC8 .word _020A2CA4 .word _020A2CA0 .word _020A2CBC .word _020A2CB8 .word _020A2CB4 .word _020A2CB0 .word _020A2CAC .word _020A2CA8 .word _020A2CCC .word _020A2CC0 .word _020A2C9C .word _020A2C98 .word _020A2C94 .word _020A2CC4 .global TEAM_MEMBER_TABLE_PTR TEAM_MEMBER_TABLE_PTR: .byte 0x00, 0x00, 0x00, 0x00 .global _020B0A4C _020B0A4C: .word sub_020560A4 .word BaseFormsEqual .global _020B0A54 _020B0A54: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B0A5C _020B0A5C: .byte 0x00, 0x00, 0x00, 0x00 .global _020B0A60 _020B0A60: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global REMOTE_STRING_PTR_TABLE REMOTE_STRING_PTR_TABLE: .word REMOTE_STRINGS .word _020A3B4C .word _020A3B64 .word _020A3B44 .word _020A3B5C .word _020A3B54 .word _020A3B64 .global RANK_STRING_PTR_TABLE RANK_STRING_PTR_TABLE: .word RANK_STRINGS_2 .word RANK_STRINGS_2 .word _020A3BBC .word _020A3BCC .word RANK_STRINGS_1 .word _020A3B7C .word _020A3B8C .word _020A3C28 .word _020A3C3C .word _020A3C64 .word _020A3C8C .word RANK_STRINGS_3 .word _020A3C00 .word _020A3C50 .word _020A3C78 .word _020A3C14 .global _020B0AD8 _020B0AD8: .byte 0xAD, 0x68, 0xC1, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B0AFC _020B0AFC: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B0B04 _020B0B04: .byte 0x00, 0x00, 0x00, 0x00 .global _020B0B08 _020B0B08: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x00, 0x00 .global _020B0B24 _020B0B24: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B0B2C _020B0B2C: .byte 0x00 .global _020B0B2D _020B0B2D: .byte 0x00 .global _020B0B2E _020B0B2E: .byte 0x00 .global _020B0B2F _020B0B2F: .byte 0x00 .global _020B0B30 _020B0B30: .byte 0x00 .global _020B0B31 _020B0B31: .byte 0x00 .global _020B0B32 _020B0B32: .byte 0x00 .global _020B0B33 _020B0B33: .byte 0x00 .global _020B0B34 _020B0B34: .byte 0x00 .global _020B0B35 _020B0B35: .byte 0x00 .global _020B0B36 _020B0B36: .byte 0x00 .global _020B0B37 _020B0B37: .byte 0x00 .global _020B0B38 _020B0B38: .byte 0x00 .global _020B0B39 _020B0B39: .byte 0x00 .global _020B0B3A _020B0B3A: .byte 0x00 .global _020B0B3B _020B0B3B: .byte 0x00 .global _020B0B3C _020B0B3C: .byte 0x00 .global _020B0B3D _020B0B3D: .byte 0x00 .global _020B0B3E _020B0B3E: .byte 0x00 .global _020B0B3F _020B0B3F: .byte 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B0B44 _020B0B44: .byte 0x00, 0x00, 0x00, 0x00 .global _020B0B48 _020B0B48: .byte 0x00, 0x00, 0x00, 0x00 .global _020B0B4C _020B0B4C: .byte 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 .global _020B0B5C _020B0B5C: .word _020A9E90 .global _020B0B60 _020B0B60: .word _020A9EA4 .word _020A9ECC .word _020A9EB8 .global _020B0B6C _020B0B6C: .byte 0xFF, 0xFF, 0x00, 0x00 .global _020B0B70 _020B0B70: .byte 0xFF, 0xFF, 0xFF, 0xFF .global _020B0B74 _020B0B74: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global _020B0B7C _020B0B7C: .byte 0x60, 0x48, 0x40, 0x30, 0x24, 0x20, 0x18, 0x12 .byte 0x10, 0x0C, 0x09, 0x08, 0x06, 0x04, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 .global SMD_EVENTS_FUN_TABLE SMD_EVENTS_FUN_TABLE: .word sub_02071928 .word sub_02071934 .word sub_0207194C .word sub_0207195C .word sub_02071978 .word sub_0207199C .word sub_0207191C .word sub_0207191C .word sub_020719C8 .word sub_02071A14 .word sub_0207191C .word sub_0207191C .word sub_02071A1C .word sub_02071A5C .word sub_02071A98 .word sub_0207191C .word sub_02071AC0 .word sub_02071ACC .word sub_0207191C .word sub_0207191C .word sub_02071AE0 .word sub_02071B20 .word sub_0207191C .word sub_0207191C .word sub_02071B60 .word sub_02071B8C .word sub_02071BBC .word sub_02071BEC .word sub_02071BF4 .word sub_0207191C .word sub_0207191C .word sub_02071C3C .word sub_02071CC8 .word sub_02071CE0 .word sub_02071D00 .word sub_02071D20 .word sub_02071D40 .word sub_02071D70 .word sub_02071D90 .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_02071DB0 .word sub_0207191C .word sub_02071DBC .word sub_02071DD8 .word sub_02071E10 .word sub_0207191C .word sub_0207191C .word sub_02071E20 .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_02071E2C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_02071E34 .word sub_02071EB4 .word sub_02071F3C .word sub_02071FC4 .word sub_02072054 .word sub_02072144 .word sub_0207216C .word sub_02072184 .word sub_020721B0 .word sub_0207191C .word sub_0207191C .word sub_020721C8 .word sub_020721D4 .word sub_0207222C .word sub_0207191C .word sub_02072254 .word sub_0207227C .word sub_02072310 .word sub_020723C0 .word sub_0207241C .word sub_020724A8 .word sub_02072504 .word sub_0207191C .word sub_0207252C .word sub_02072554 .word sub_020725D4 .word sub_02072668 .word sub_0207191C .word sub_020726C4 .word sub_02072720 .word sub_0207191C .word sub_02072748 .word sub_02072770 .word sub_020727C8 .word sub_020727FC .word sub_02072938 .word sub_0207191C .word sub_0207191C .word sub_0207296C .word sub_0207191C .word sub_0207299C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .word sub_0207191C .global _020B0D50 _020B0D50: .word sub_02072D9C .word sub_02072DDC .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02072DF4 .word sub_02072FA4 .word sub_02072E04 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02072E90 .word sub_02072EE8 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_020731F4 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_020731FC .word sub_02073200 .word sub_02073204 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02072DBC .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02072F3C .word sub_02072F64 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02073094 .word sub_020730A8 .byte 0x00, 0x00, 0x00, 0x00 .word sub_020730BC .word sub_020730E4 .word sub_0207312C .word sub_020731C4 .word sub_020730F8 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02072F68 .word sub_020730A8 .word sub_020730BC .word sub_020730D0 .word sub_02073094 .word sub_020731DC .word sub_0207311C .word sub_02072F6C .byte 0x00, 0x00, 0x00, 0x00 .word sub_02072F70 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02072F84 .word sub_02072F94 .word sub_02072F74 .word sub_02072F74 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02072F34 .word sub_02072FA8 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_02072FAC .word sub_02072FD8 .byte 0x00, 0x00, 0x00, 0x00 .word sub_02072FFC .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word sub_0207307C .word sub_02073088 .global MUSIC_DURATION_LOOKUP_TABLE_1 MUSIC_DURATION_LOOKUP_TABLE_1: .byte 0x00, 0x00, 0x01, 0x00 .byte 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00 .byte 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, 0x00 .byte 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00 .byte 0x1A, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x23, 0x00 .byte 0x28, 0x00, 0x2D, 0x00, 0x33, 0x00, 0x39, 0x00, 0x40, 0x00, 0x48, 0x00, 0x50, 0x00, 0x58, 0x00 .byte 0x62, 0x00, 0x6D, 0x00, 0x78, 0x00, 0x83, 0x00, 0x90, 0x00, 0x9E, 0x00, 0xAC, 0x00, 0xBC, 0x00 .byte 0xCC, 0x00, 0xDE, 0x00, 0xF0, 0x00, 0x04, 0x01, 0x19, 0x01, 0x2F, 0x01, 0x47, 0x01, 0x60, 0x01 .byte 0x7A, 0x01, 0x96, 0x01, 0xB3, 0x01, 0xD2, 0x01, 0xF2, 0x01, 0x14, 0x02, 0x38, 0x02, 0x5E, 0x02 .byte 0x85, 0x02, 0xAE, 0x02, 0xD9, 0x02, 0x07, 0x03, 0x36, 0x03, 0x67, 0x03, 0x9B, 0x03, 0xD1, 0x03 .byte 0x06, 0x04, 0x42, 0x04, 0x7E, 0x04, 0xC4, 0x04, 0x00, 0x05, 0x46, 0x05, 0x8C, 0x05, 0x22, 0x06 .byte 0x72, 0x06, 0xCC, 0x06, 0x1C, 0x07, 0x76, 0x07, 0xDA, 0x07, 0x34, 0x08, 0x98, 0x08, 0x06, 0x09 .byte 0x6A, 0x09, 0xD8, 0x09, 0x50, 0x0A, 0xBE, 0x0A, 0x40, 0x0B, 0xB8, 0x0B, 0x3A, 0x0C, 0xBC, 0x0C .byte 0x48, 0x0D, 0xDE, 0x0D, 0x6A, 0x0E, 0x00, 0x0F, 0xA0, 0x0F, 0x40, 0x10, 0xEA, 0x10, 0x94, 0x11 .byte 0x3E, 0x12, 0xF2, 0x12, 0xB0, 0x13, 0x6E, 0x14, 0x36, 0x15, 0xFE, 0x15, 0xD0, 0x16, 0xA2, 0x17 .byte 0x7E, 0x18, 0x5A, 0x19, 0x40, 0x1A, 0x30, 0x1B, 0x20, 0x1C, 0x1A, 0x1D, 0x1E, 0x1E, 0x22, 0x1F .byte 0x30, 0x20, 0x48, 0x21, 0x60, 0x22, 0x82, 0x23, 0x10, 0x27, 0xFF, 0x7F .global MUSIC_DURATION_LOOKUP_TABLE_2 MUSIC_DURATION_LOOKUP_TABLE_2: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x3A, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0x7B, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x85, 0x01, 0x00, 0x00 .byte 0xBE, 0x01, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x3F, 0x02, 0x00, 0x00, 0x88, 0x02, 0x00, 0x00 .byte 0xD6, 0x02, 0x00, 0x00, 0x2A, 0x03, 0x00, 0x00, 0x85, 0x03, 0x00, 0x00, 0xE5, 0x03, 0x00, 0x00 .byte 0x4C, 0x04, 0x00, 0x00, 0xBA, 0x04, 0x00, 0x00, 0x2E, 0x05, 0x00, 0x00, 0xA9, 0x05, 0x00, 0x00 .byte 0x2C, 0x06, 0x00, 0x00, 0xB5, 0x06, 0x00, 0x00, 0x46, 0x07, 0x00, 0x00, 0xCF, 0x0B, 0x00, 0x00 .byte 0xC0, 0x0C, 0x00, 0x00, 0xBD, 0x0D, 0x00, 0x00, 0xC6, 0x0E, 0x00, 0x00, 0xDC, 0x0F, 0x00, 0x00 .byte 0xFF, 0x10, 0x00, 0x00, 0x2F, 0x12, 0x00, 0x00, 0x6C, 0x13, 0x00, 0x00, 0xB6, 0x14, 0x00, 0x00 .byte 0x0F, 0x16, 0x00, 0x00, 0x75, 0x17, 0x00, 0x00, 0xEA, 0x18, 0x00, 0x00, 0x6D, 0x1A, 0x00, 0x00 .byte 0xFF, 0x1B, 0x00, 0x00, 0xA0, 0x1D, 0x00, 0x00, 0x51, 0x1F, 0x00, 0x00, 0x16, 0x2C, 0x00, 0x00 .byte 0x80, 0x2E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x95, 0x33, 0x00, 0x00, 0x41, 0x36, 0x00, 0x00 .byte 0x02, 0x39, 0x00, 0x00, 0xDB, 0x3B, 0x00, 0x00, 0xCA, 0x3E, 0x00, 0x00, 0xD0, 0x41, 0x00, 0x00 .byte 0xEE, 0x44, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x73, 0x4B, 0x00, 0x00, 0xD9, 0x4E, 0x00, 0x00 .byte 0x59, 0x52, 0x00, 0x00, 0xF2, 0x55, 0x00, 0x00, 0xA4, 0x59, 0x00, 0x00, 0xCC, 0x74, 0x00, 0x00 .byte 0xAB, 0x79, 0x00, 0x00, 0xAC, 0x7E, 0x00, 0x00, 0xCE, 0x83, 0x00, 0x00, 0x11, 0x89, 0x00, 0x00 .byte 0x77, 0x8E, 0x00, 0x00, 0xFF, 0x93, 0x00, 0x00, 0xAA, 0x99, 0x00, 0x00, 0x78, 0x9F, 0x00, 0x00 .byte 0x6A, 0xA5, 0x00, 0x00, 0x80, 0xAB, 0x00, 0x00, 0xBB, 0xB1, 0x00, 0x00, 0x1A, 0xB8, 0x00, 0x00 .byte 0x9E, 0xBE, 0x00, 0x00, 0x47, 0xC5, 0x00, 0x00, 0x17, 0xCC, 0x00, 0x00, 0x42, 0xFD, 0x00, 0x00 .byte 0xCB, 0x05, 0x01, 0x00, 0x82, 0x0E, 0x01, 0x00, 0x68, 0x17, 0x01, 0x00, 0x7E, 0x20, 0x01, 0x00 .byte 0xC4, 0x29, 0x01, 0x00, 0x3B, 0x33, 0x01, 0x00, 0xE2, 0x3C, 0x01, 0x00, 0xBB, 0x46, 0x01, 0x00 .byte 0xC5, 0x50, 0x01, 0x00, 0x02, 0x5B, 0x01, 0x00, 0x72, 0x65, 0x01, 0x00, 0x15, 0x70, 0x01, 0x00 .byte 0xEB, 0x7A, 0x01, 0x00, 0xF5, 0x85, 0x01, 0x00, 0x33, 0x91, 0x01, 0x00, 0x6D, 0xE1, 0x01, 0x00 .byte 0x07, 0xEF, 0x01, 0x00, 0xE0, 0xFC, 0x01, 0x00, 0xF7, 0x0A, 0x02, 0x00, 0x4F, 0x19, 0x02, 0x00 .byte 0xE6, 0x27, 0x02, 0x00, 0xBE, 0x36, 0x02, 0x00, 0xD7, 0x45, 0x02, 0x00, 0x32, 0x55, 0x02, 0x00 .byte 0xCF, 0x64, 0x02, 0x00, 0xAE, 0x74, 0x02, 0x00, 0xD0, 0x84, 0x02, 0x00, 0x36, 0x95, 0x02, 0x00 .byte 0xE0, 0xA5, 0x02, 0x00, 0xCE, 0xB6, 0x02, 0x00, 0x02, 0xC8, 0x02, 0x00, 0xB0, 0x41, 0x03, 0x00 .byte 0xF8, 0x55, 0x03, 0x00, 0x90, 0x6A, 0x03, 0x00, 0x79, 0x7F, 0x03, 0x00, 0xB4, 0x94, 0x03, 0x00 .byte 0x41, 0xAA, 0x03, 0x00, 0x21, 0xC0, 0x03, 0x00, 0x54, 0xD6, 0x03, 0x00, 0xDA, 0xEC, 0x03, 0x00 .byte 0xB5, 0x03, 0x04, 0x00, 0xE5, 0x1A, 0x04, 0x00, 0x6A, 0x32, 0x04, 0x00, 0x45, 0x4A, 0x04, 0x00 .byte 0x77, 0x62, 0x04, 0x00, 0x00, 0x7B, 0x04, 0x00, 0xFF, 0xFF, 0xFF, 0x7F .global _020B1250 _020B1250: .word sub_020753C0 .word sub_020753FC .word sub_02075444 .word sub_02075498 .word sub_020754FC .word sub_02075538 .word sub_02075574 .word sub_020755B8 .word sub_020753AC .word sub_020753AC .word sub_020753AC .word sub_020753AC .word sub_020753AC .word sub_020753AC .word sub_020753AC .word sub_020753AC .global _020B1290 _020B1290: .byte 0x00, 0x01, 0x02, 0x03 .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13 .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23 .byte 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33 .byte 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43 .byte 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53 .byte 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63 .byte 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73 .byte 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F .global _020B1310 _020B1310: .byte 0x00, 0x01, 0x02, 0x03 .byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 .byte 0x18, 0x19, 0x1A, 0x1B, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B .byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x40, 0x41, 0x42, 0x43 .byte 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57 .byte 0x58, 0x59, 0x5A, 0x5B, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B .byte 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x80, 0x81, 0x82, 0x83 .byte 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97 .byte 0x98, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00 .global _020B1394 _020B1394: .byte 0xEC, 0x3F, 0xF0, 0x3F, 0xF3, 0x3F, 0xF7, 0x3F, 0xFB, 0x3F, 0xFE, 0x3F, 0x02, 0x40, 0x06, 0x40 .byte 0x0A, 0x40, 0x0D, 0x40, 0x11, 0x40, 0x15, 0x40, 0x18, 0x40, 0x1C, 0x40, 0x20, 0x40, 0x23, 0x40 .byte 0x27, 0x40, 0x2B, 0x40, 0x2F, 0x40, 0x32, 0x40, 0x36, 0x40, 0x3A, 0x40, 0x3D, 0x40, 0x41, 0x40 .byte 0x45, 0x40, 0x49, 0x40, 0x4C, 0x40, 0x50, 0x40, 0x54, 0x40, 0x57, 0x40, 0x5B, 0x40, 0x5F, 0x40 .byte 0x63, 0x40, 0x66, 0x40, 0x6A, 0x40, 0x6E, 0x40, 0x71, 0x40, 0x75, 0x40, 0x79, 0x40, 0x7D, 0x40 .byte 0x80, 0x40, 0x84, 0x40, 0x88, 0x40, 0x8C, 0x40, 0x8F, 0x40, 0x93, 0x40, 0x97, 0x40, 0x9A, 0x40 .byte 0x9E, 0x40, 0xA2, 0x40, 0xA6, 0x40, 0xA9, 0x40, 0xAD, 0x40, 0xB1, 0x40, 0xB5, 0x40, 0xB8, 0x40 .byte 0xBC, 0x40, 0xC0, 0x40, 0xC4, 0x40, 0xC7, 0x40, 0xCB, 0x40, 0xCF, 0x40, 0xD3, 0x40, 0xD6, 0x40 .byte 0xDA, 0x40, 0xDE, 0x40, 0xE2, 0x40, 0xE5, 0x40, 0xE9, 0x40, 0xED, 0x40, 0xF1, 0x40, 0xF4, 0x40 .byte 0xF8, 0x40, 0xFC, 0x40, 0x00, 0x41, 0x03, 0x41, 0x07, 0x41, 0x0B, 0x41, 0x0F, 0x41, 0x12, 0x41 .byte 0x16, 0x41, 0x1A, 0x41, 0x1E, 0x41, 0x21, 0x41, 0x25, 0x41, 0x29, 0x41, 0x2D, 0x41, 0x30, 0x41 .byte 0x34, 0x41, 0x38, 0x41, 0x3C, 0x41, 0x3F, 0x41, 0x43, 0x41, 0x47, 0x41, 0x4B, 0x41, 0x4F, 0x41 .byte 0x52, 0x41, 0x56, 0x41, 0x5A, 0x41, 0x5E, 0x41, 0x61, 0x41, 0x65, 0x41, 0x69, 0x41, 0x6D, 0x41 .byte 0x71, 0x41, 0x74, 0x41, 0x78, 0x41, 0x7C, 0x41, 0x80, 0x41, 0x83, 0x41, 0x87, 0x41, 0x8B, 0x41 .byte 0x8F, 0x41, 0x93, 0x41, 0x96, 0x41, 0x9A, 0x41, 0x9E, 0x41, 0xA2, 0x41, 0xA6, 0x41, 0xA9, 0x41 .byte 0xAD, 0x41, 0xB1, 0x41, 0xB5, 0x41, 0xB9, 0x41, 0xBC, 0x41, 0xC0, 0x41, 0xC4, 0x41, 0xC8, 0x41 .byte 0xCC, 0x41, 0xCF, 0x41, 0xD3, 0x41, 0xD7, 0x41, 0xDB, 0x41, 0xDF, 0x41, 0xE2, 0x41, 0xE6, 0x41 .byte 0xEA, 0x41, 0xEE, 0x41, 0xF2, 0x41, 0xF5, 0x41, 0xF9, 0x41, 0xFD, 0x41, 0x01, 0x42, 0x05, 0x42 .byte 0x08, 0x42, 0x0C, 0x42, 0x10, 0x42, 0x14, 0x42, 0x18, 0x42, 0x1C, 0x42, 0x1F, 0x42, 0x23, 0x42 .byte 0x27, 0x42, 0x2B, 0x42, 0x2F, 0x42, 0x32, 0x42, 0x36, 0x42, 0x3A, 0x42, 0x3E, 0x42, 0x42, 0x42 .byte 0x46, 0x42, 0x49, 0x42, 0x4D, 0x42, 0x51, 0x42, 0x55, 0x42, 0x59, 0x42, 0x5D, 0x42, 0x60, 0x42 .byte 0x64, 0x42, 0x68, 0x42, 0x6C, 0x42, 0x70, 0x42, 0x74, 0x42, 0x77, 0x42, 0x7B, 0x42, 0x7F, 0x42 .byte 0x83, 0x42, 0x87, 0x42, 0x8B, 0x42, 0x8E, 0x42, 0x92, 0x42, 0x96, 0x42, 0x9A, 0x42, 0x9E, 0x42 .byte 0xA2, 0x42, 0xA6, 0x42, 0xA9, 0x42, 0xAD, 0x42, 0xB1, 0x42, 0xB5, 0x42, 0xB9, 0x42, 0xBD, 0x42 .byte 0xC0, 0x42, 0xC4, 0x42, 0xC8, 0x42, 0xCC, 0x42, 0xD0, 0x42, 0xD4, 0x42, 0xD8, 0x42, 0xDC, 0x42 .byte 0xDF, 0x42, 0xE3, 0x42, 0xE7, 0x42, 0xEB, 0x42, 0xEF, 0x42, 0xF3, 0x42, 0xF7, 0x42, 0xFA, 0x42 .byte 0xFE, 0x42, 0x02, 0x43, 0x06, 0x43, 0x0A, 0x43, 0x0E, 0x43, 0x12, 0x43, 0x16, 0x43, 0x19, 0x43 .byte 0x1D, 0x43, 0x21, 0x43, 0x25, 0x43, 0x29, 0x43, 0x2D, 0x43, 0x31, 0x43, 0x35, 0x43, 0x38, 0x43 .byte 0x3C, 0x43, 0x40, 0x43, 0x44, 0x43, 0x48, 0x43, 0x4C, 0x43, 0x50, 0x43, 0x54, 0x43, 0x58, 0x43 .byte 0x5B, 0x43, 0x5F, 0x43, 0x63, 0x43, 0x67, 0x43, 0x6B, 0x43, 0x6F, 0x43, 0x73, 0x43, 0x77, 0x43 .byte 0x7B, 0x43, 0x7E, 0x43, 0x82, 0x43, 0x86, 0x43, 0x8A, 0x43, 0x8E, 0x43, 0x92, 0x43, 0x96, 0x43 .byte 0x9A, 0x43, 0x9E, 0x43, 0xA2, 0x43, 0xA6, 0x43, 0xA9, 0x43, 0xAD, 0x43, 0xB1, 0x43, 0xB5, 0x43 .byte 0xB9, 0x43, 0xBD, 0x43, 0xC1, 0x43, 0xC5, 0x43, 0xC9, 0x43, 0xCD, 0x43, 0xD1, 0x43, 0xD4, 0x43 .byte 0xD8, 0x43, 0xDC, 0x43, 0xE0, 0x43, 0xE4, 0x43, 0xE8, 0x43, 0xEC, 0x43, 0xF0, 0x43, 0xF4, 0x43 .byte 0xF8, 0x43, 0xFC, 0x43, 0x00, 0x44, 0x04, 0x44, 0x07, 0x44, 0x0B, 0x44, 0x0F, 0x44, 0x13, 0x44 .byte 0x17, 0x44, 0x1B, 0x44, 0x1F, 0x44, 0x23, 0x44, 0x27, 0x44, 0x2B, 0x44, 0x2F, 0x44, 0x33, 0x44 .byte 0x37, 0x44, 0x3B, 0x44, 0x3F, 0x44, 0x43, 0x44, 0x46, 0x44, 0x4A, 0x44, 0x4E, 0x44, 0x52, 0x44 .byte 0x56, 0x44, 0x5A, 0x44, 0x5E, 0x44, 0x62, 0x44, 0x66, 0x44, 0x6A, 0x44, 0x6E, 0x44, 0x72, 0x44 .byte 0x76, 0x44, 0x7A, 0x44, 0x7E, 0x44, 0x82, 0x44, 0x86, 0x44, 0x8A, 0x44, 0x8E, 0x44, 0x92, 0x44 .byte 0x96, 0x44, 0x99, 0x44, 0x9D, 0x44, 0xA1, 0x44, 0xA5, 0x44, 0xA9, 0x44, 0xAD, 0x44, 0xB1, 0x44 .byte 0xB5, 0x44, 0xB9, 0x44, 0xBD, 0x44, 0xC1, 0x44, 0xC5, 0x44, 0xC9, 0x44, 0xCD, 0x44, 0xD1, 0x44 .byte 0xD5, 0x44, 0xD9, 0x44, 0xDD, 0x44, 0xE1, 0x44, 0xE5, 0x44, 0xE9, 0x44, 0xED, 0x44, 0xF1, 0x44 .byte 0xF5, 0x44, 0xF9, 0x44, 0xFD, 0x44, 0x01, 0x45, 0x05, 0x45, 0x09, 0x45, 0x0D, 0x45, 0x11, 0x45 .byte 0x15, 0x45, 0x19, 0x45, 0x1D, 0x45, 0x21, 0x45, 0x25, 0x45, 0x29, 0x45, 0x2D, 0x45, 0x31, 0x45 .byte 0x35, 0x45, 0x39, 0x45, 0x3D, 0x45, 0x41, 0x45, 0x45, 0x45, 0x49, 0x45, 0x4D, 0x45, 0x51, 0x45 .byte 0x55, 0x45, 0x59, 0x45, 0x5D, 0x45, 0x61, 0x45, 0x65, 0x45, 0x69, 0x45, 0x6D, 0x45, 0x71, 0x45 .byte 0x75, 0x45, 0x79, 0x45, 0x7D, 0x45, 0x81, 0x45, 0x85, 0x45, 0x89, 0x45, 0x8D, 0x45, 0x91, 0x45 .byte 0x95, 0x45, 0x99, 0x45, 0x9D, 0x45, 0xA1, 0x45, 0xA5, 0x45, 0xA9, 0x45, 0xAD, 0x45, 0xB1, 0x45 .byte 0xB5, 0x45, 0xB9, 0x45, 0xBD, 0x45, 0xC1, 0x45, 0xC5, 0x45, 0xC9, 0x45, 0xCD, 0x45, 0xD1, 0x45 .byte 0xD5, 0x45, 0xD9, 0x45, 0xDD, 0x45, 0xE1, 0x45, 0xE5, 0x45, 0xE9, 0x45, 0xEE, 0x45, 0xF2, 0x45 .byte 0xF6, 0x45, 0xFA, 0x45, 0xFE, 0x45, 0x02, 0x46, 0x06, 0x46, 0x0A, 0x46, 0x0E, 0x46, 0x12, 0x46 .byte 0x16, 0x46, 0x1A, 0x46, 0x1E, 0x46, 0x22, 0x46, 0x26, 0x46, 0x2A, 0x46, 0x2E, 0x46, 0x32, 0x46 .byte 0x36, 0x46, 0x3A, 0x46, 0x3E, 0x46, 0x43, 0x46, 0x47, 0x46, 0x4B, 0x46, 0x4F, 0x46, 0x53, 0x46 .byte 0x57, 0x46, 0x5B, 0x46, 0x5F, 0x46, 0x63, 0x46, 0x67, 0x46, 0x6B, 0x46, 0x6F, 0x46, 0x73, 0x46 .byte 0x77, 0x46, 0x7B, 0x46, 0x80, 0x46, 0x84, 0x46, 0x88, 0x46, 0x8C, 0x46, 0x90, 0x46, 0x94, 0x46 .byte 0x98, 0x46, 0x9C, 0x46, 0xA0, 0x46, 0xA4, 0x46, 0xA8, 0x46, 0xAC, 0x46, 0xB0, 0x46, 0xB5, 0x46 .byte 0xB9, 0x46, 0xBD, 0x46, 0xC1, 0x46, 0xC5, 0x46, 0xC9, 0x46, 0xCD, 0x46, 0xD1, 0x46, 0xD5, 0x46 .byte 0xD9, 0x46, 0xDD, 0x46, 0xE2, 0x46, 0xE6, 0x46, 0xEA, 0x46, 0xEE, 0x46, 0xF2, 0x46, 0xF6, 0x46 .byte 0xFA, 0x46, 0xFE, 0x46, 0x02, 0x47, 0x06, 0x47, 0x0B, 0x47, 0x0F, 0x47, 0x13, 0x47, 0x17, 0x47 .byte 0x1B, 0x47, 0x1F, 0x47, 0x23, 0x47, 0x27, 0x47, 0x2B, 0x47, 0x2F, 0x47, 0x34, 0x47, 0x38, 0x47 .byte 0x3C, 0x47, 0x40, 0x47, 0x44, 0x47, 0x48, 0x47, 0x4C, 0x47, 0x50, 0x47, 0x55, 0x47, 0x59, 0x47 .byte 0x5D, 0x47, 0x61, 0x47, 0x65, 0x47, 0x69, 0x47, 0x6D, 0x47, 0x71, 0x47, 0x76, 0x47, 0x7A, 0x47 .byte 0x7E, 0x47, 0x82, 0x47, 0x86, 0x47, 0x8A, 0x47, 0x8E, 0x47, 0x92, 0x47, 0x97, 0x47, 0x9B, 0x47 .byte 0x9F, 0x47, 0xA3, 0x47, 0xA7, 0x47, 0xAB, 0x47, 0xAF, 0x47, 0xB4, 0x47, 0xB8, 0x47, 0xBC, 0x47 .byte 0xC0, 0x47, 0xC4, 0x47, 0xC8, 0x47, 0xCC, 0x47, 0xD1, 0x47, 0xD5, 0x47, 0xD9, 0x47, 0xDD, 0x47 .byte 0xE1, 0x47, 0xE5, 0x47, 0xE9, 0x47, 0xEE, 0x47, 0xF2, 0x47, 0xF6, 0x47, 0xFA, 0x47, 0xFE, 0x47 .byte 0x02, 0x48, 0x07, 0x48, 0x0B, 0x48, 0x0F, 0x48, 0x13, 0x48, 0x17, 0x48, 0x1B, 0x48, 0x20, 0x48 .byte 0x24, 0x48, 0x28, 0x48, 0x2C, 0x48, 0x30, 0x48, 0x34, 0x48, 0x39, 0x48, 0x3D, 0x48, 0x41, 0x48 .byte 0x45, 0x48, 0x49, 0x48, 0x4D, 0x48, 0x52, 0x48, 0x56, 0x48, 0x5A, 0x48, 0x5E, 0x48, 0x62, 0x48 .byte 0x66, 0x48, 0x6B, 0x48, 0x6F, 0x48, 0x73, 0x48, 0x77, 0x48, 0x7B, 0x48, 0x80, 0x48, 0x84, 0x48 .byte 0x88, 0x48, 0x8C, 0x48, 0x90, 0x48, 0x95, 0x48, 0x99, 0x48, 0x9D, 0x48, 0xA1, 0x48, 0xA5, 0x48 .byte 0xAA, 0x48, 0xAE, 0x48, 0xB2, 0x48, 0xB6, 0x48, 0xBA, 0x48, 0xBF, 0x48, 0xC3, 0x48, 0xC7, 0x48 .byte 0xCB, 0x48, 0xCF, 0x48, 0xD4, 0x48, 0xD8, 0x48, 0xDC, 0x48, 0xE0, 0x48, 0xE4, 0x48, 0xE9, 0x48 .byte 0xED, 0x48, 0xF1, 0x48, 0xF5, 0x48, 0xF9, 0x48, 0xFE, 0x48, 0x02, 0x49, 0x06, 0x49, 0x0A, 0x49 .byte 0x0F, 0x49, 0x13, 0x49, 0x17, 0x49, 0x1B, 0x49, 0x1F, 0x49, 0x24, 0x49, 0x28, 0x49, 0x2C, 0x49 .byte 0x30, 0x49, 0x35, 0x49, 0x39, 0x49, 0x3D, 0x49, 0x41, 0x49, 0x45, 0x49, 0x4A, 0x49, 0x4E, 0x49 .byte 0x52, 0x49, 0x56, 0x49, 0x5B, 0x49, 0x5F, 0x49, 0x63, 0x49, 0x67, 0x49, 0x6C, 0x49, 0x70, 0x49 .byte 0x74, 0x49, 0x78, 0x49, 0x7D, 0x49, 0x81, 0x49, 0x85, 0x49, 0x89, 0x49, 0x8E, 0x49, 0x92, 0x49 .byte 0x96, 0x49, 0x9A, 0x49, 0x9F, 0x49, 0xA3, 0x49, 0xA7, 0x49, 0xAB, 0x49, 0xB0, 0x49, 0xB4, 0x49 .byte 0xB8, 0x49, 0xBC, 0x49, 0xC1, 0x49, 0xC5, 0x49, 0xC9, 0x49, 0xCD, 0x49, 0xD2, 0x49, 0xD6, 0x49 .byte 0xDA, 0x49, 0xDE, 0x49, 0xE3, 0x49, 0xE7, 0x49, 0xEB, 0x49, 0xF0, 0x49, 0xF4, 0x49, 0xF8, 0x49 .byte 0xFC, 0x49, 0x01, 0x4A, 0x05, 0x4A, 0x09, 0x4A, 0x0D, 0x4A, 0x12, 0x4A, 0x16, 0x4A, 0x1A, 0x4A .byte 0x1F, 0x4A, 0x23, 0x4A, 0x27, 0x4A, 0x2B, 0x4A, 0x30, 0x4A, 0x34, 0x4A, 0x38, 0x4A, 0x3D, 0x4A .byte 0x41, 0x4A, 0x45, 0x4A, 0x49, 0x4A, 0x4E, 0x4A, 0x52, 0x4A, 0x56, 0x4A, 0x5B, 0x4A, 0x5F, 0x4A .byte 0x63, 0x4A, 0x67, 0x4A, 0x6C, 0x4A, 0x70, 0x4A, 0x74, 0x4A, 0x79, 0x4A, 0x7D, 0x4A, 0x81, 0x4A .byte 0x86, 0x4A, 0x8A, 0x4A, 0x8E, 0x4A, 0x93, 0x4A, 0x97, 0x4A, 0x9B, 0x4A, 0x9F, 0x4A, 0xA4, 0x4A .byte 0xA8, 0x4A, 0xAC, 0x4A, 0xB1, 0x4A, 0xB5, 0x4A, 0xB9, 0x4A, 0xBE, 0x4A, 0xC2, 0x4A, 0xC6, 0x4A .byte 0xCB, 0x4A, 0xCF, 0x4A, 0xD3, 0x4A, 0xD8, 0x4A, 0xDC, 0x4A, 0xE0, 0x4A, 0xE5, 0x4A, 0xE9, 0x4A .byte 0xED, 0x4A, 0xF2, 0x4A, 0xF6, 0x4A, 0xFA, 0x4A, 0xFF, 0x4A, 0x03, 0x4B, 0x07, 0x4B, 0x0C, 0x4B .byte 0x10, 0x4B, 0x14, 0x4B, 0x19, 0x4B, 0x1D, 0x4B, 0x21, 0x4B, 0x26, 0x4B, 0x2A, 0x4B, 0x2E, 0x4B .byte 0x33, 0x4B, 0x37, 0x4B, 0x3B, 0x4B, 0x40, 0x4B, 0x44, 0x4B, 0x48, 0x4B, 0x4D, 0x4B, 0x51, 0x4B .byte 0x55, 0x4B, 0x5A, 0x4B, 0x5E, 0x4B, 0x62, 0x4B, 0x67, 0x4B, 0x6B, 0x4B, 0x6F, 0x4B, 0x74, 0x4B .byte 0x78, 0x4B, 0x7D, 0x4B, 0x81, 0x4B, 0x85, 0x4B, 0x8A, 0x4B, 0x8E, 0x4B, 0x92, 0x4B, 0x97, 0x4B .byte 0x9B, 0x4B, 0x9F, 0x4B, 0xA4, 0x4B, 0xA8, 0x4B, 0xAD, 0x4B, 0xB1, 0x4B, 0xB5, 0x4B, 0xBA, 0x4B .byte 0xBE, 0x4B, 0xC2, 0x4B, 0xC7, 0x4B, 0xCB, 0x4B, 0xD0, 0x4B, 0xD4, 0x4B, 0xD8, 0x4B, 0xDD, 0x4B .byte 0xE1, 0x4B, 0xE5, 0x4B, 0xEA, 0x4B, 0xEE, 0x4B, 0xF3, 0x4B, 0xF7, 0x4B, 0xFB, 0x4B, 0x00, 0x4C .byte 0x04, 0x4C, 0x09, 0x4C, 0x0D, 0x4C, 0x11, 0x4C, 0x16, 0x4C, 0x1A, 0x4C, 0x1F, 0x4C, 0x23, 0x4C .byte 0x27, 0x4C, 0x2C, 0x4C, 0x30, 0x4C, 0x35, 0x4C, 0x39, 0x4C, 0x3D, 0x4C, 0x42, 0x4C, 0x46, 0x4C .byte 0x4B, 0x4C, 0x4F, 0x4C, 0x53, 0x4C, 0x58, 0x4C, 0x5C, 0x4C, 0x61, 0x4C, 0x65, 0x4C, 0x69, 0x4C .byte 0x6E, 0x4C, 0x72, 0x4C, 0x77, 0x4C, 0x7B, 0x4C, 0x80, 0x4C, 0x84, 0x4C, 0x88, 0x4C, 0x8D, 0x4C .byte 0x91, 0x4C, 0x96, 0x4C, 0x9A, 0x4C, 0x9E, 0x4C, 0xA3, 0x4C, 0xA7, 0x4C, 0xAC, 0x4C, 0xB0, 0x4C .byte 0xB5, 0x4C, 0xB9, 0x4C, 0xBD, 0x4C, 0xC2, 0x4C, 0xC6, 0x4C, 0xCB, 0x4C, 0xCF, 0x4C, 0xD4, 0x4C .byte 0xD8, 0x4C, 0xDD, 0x4C, 0xE1, 0x4C, 0xE5, 0x4C, 0xEA, 0x4C, 0xEE, 0x4C, 0xF3, 0x4C, 0xF7, 0x4C .byte 0xFC, 0x4C, 0x00, 0x4D, 0x05, 0x4D, 0x09, 0x4D, 0x0D, 0x4D, 0x12, 0x4D, 0x16, 0x4D, 0x1B, 0x4D .byte 0x1F, 0x4D, 0x24, 0x4D, 0x28, 0x4D, 0x2D, 0x4D, 0x31, 0x4D, 0x36, 0x4D, 0x3A, 0x4D, 0x3E, 0x4D .byte 0x43, 0x4D, 0x47, 0x4D, 0x4C, 0x4D, 0x50, 0x4D, 0x55, 0x4D, 0x59, 0x4D, 0x5E, 0x4D, 0x62, 0x4D .byte 0x67, 0x4D, 0x6B, 0x4D, 0x70, 0x4D, 0x74, 0x4D, 0x79, 0x4D, 0x7D, 0x4D, 0x81, 0x4D, 0x86, 0x4D .byte 0x8A, 0x4D, 0x8F, 0x4D, 0x93, 0x4D, 0x98, 0x4D, 0x9C, 0x4D, 0xA1, 0x4D, 0xA5, 0x4D, 0xAA, 0x4D .byte 0xAE, 0x4D, 0xB3, 0x4D, 0xB7, 0x4D, 0xBC, 0x4D, 0xC0, 0x4D, 0xC5, 0x4D, 0xC9, 0x4D, 0xCE, 0x4D .byte 0xD2, 0x4D, 0xD7, 0x4D, 0xDB, 0x4D, 0xE0, 0x4D, 0xE4, 0x4D, 0xE9, 0x4D, 0xED, 0x4D, 0xF2, 0x4D .byte 0xF6, 0x4D, 0xFB, 0x4D, 0xFF, 0x4D, 0x04, 0x4E, 0x08, 0x4E, 0x0D, 0x4E, 0x11, 0x4E, 0x16, 0x4E .byte 0x1A, 0x4E, 0x1F, 0x4E, 0x23, 0x4E, 0x28, 0x4E, 0x2C, 0x4E, 0x31, 0x4E, 0x35, 0x4E, 0x3A, 0x4E .byte 0x3E, 0x4E, 0x43, 0x4E, 0x47, 0x4E, 0x4C, 0x4E, 0x50, 0x4E, 0x55, 0x4E, 0x5A, 0x4E, 0x5E, 0x4E .byte 0x63, 0x4E, 0x67, 0x4E, 0x6C, 0x4E, 0x70, 0x4E, 0x75, 0x4E, 0x79, 0x4E, 0x7E, 0x4E, 0x82, 0x4E .byte 0x87, 0x4E, 0x8B, 0x4E, 0x90, 0x4E, 0x94, 0x4E, 0x99, 0x4E, 0x9E, 0x4E, 0xA2, 0x4E, 0xA7, 0x4E .byte 0xAB, 0x4E, 0xB0, 0x4E, 0xB4, 0x4E, 0xB9, 0x4E, 0xBD, 0x4E, 0xC2, 0x4E, 0xC6, 0x4E, 0xCB, 0x4E .byte 0xD0, 0x4E, 0xD4, 0x4E, 0xD9, 0x4E, 0xDD, 0x4E, 0xE2, 0x4E, 0xE6, 0x4E, 0xEB, 0x4E, 0xEF, 0x4E .byte 0xF4, 0x4E, 0xF9, 0x4E, 0xFD, 0x4E, 0x02, 0x4F, 0x06, 0x4F, 0x0B, 0x4F, 0x0F, 0x4F, 0x14, 0x4F .byte 0x19, 0x4F, 0x1D, 0x4F, 0x22, 0x4F, 0x26, 0x4F, 0x2B, 0x4F, 0x2F, 0x4F, 0x34, 0x4F, 0x39, 0x4F .byte 0x3D, 0x4F, 0x42, 0x4F, 0x46, 0x4F, 0x4B, 0x4F, 0x4F, 0x4F, 0x54, 0x4F, 0x59, 0x4F, 0x5D, 0x4F .byte 0x62, 0x4F, 0x66, 0x4F, 0x6B, 0x4F, 0x70, 0x4F, 0x74, 0x4F, 0x79, 0x4F, 0x7D, 0x4F, 0x82, 0x4F .byte 0x86, 0x4F, 0x8B, 0x4F, 0x90, 0x4F, 0x94, 0x4F, 0x99, 0x4F, 0x9D, 0x4F, 0xA2, 0x4F, 0xA7, 0x4F .byte 0xAB, 0x4F, 0xB0, 0x4F, 0xB4, 0x4F, 0xB9, 0x4F, 0xBE, 0x4F, 0xC2, 0x4F, 0xC7, 0x4F, 0xCB, 0x4F .byte 0xD0, 0x4F, 0xD5, 0x4F, 0xD9, 0x4F, 0xDE, 0x4F, 0xE3, 0x4F, 0xE7, 0x4F, 0xEC, 0x4F, 0xF0, 0x4F .byte 0xF5, 0x4F, 0xFA, 0x4F, 0xFE, 0x4F, 0x03, 0x50, 0x08, 0x50, 0x0C, 0x50, 0x11, 0x50, 0x15, 0x50 .byte 0x1A, 0x50, 0x1F, 0x50, 0x23, 0x50, 0x28, 0x50, 0x2D, 0x50, 0x31, 0x50, 0x36, 0x50, 0x3A, 0x50 .byte 0x3F, 0x50, 0x44, 0x50, 0x48, 0x50, 0x4D, 0x50, 0x52, 0x50, 0x56, 0x50, 0x5B, 0x50, 0x60, 0x50 .byte 0x64, 0x50, 0x69, 0x50, 0x6D, 0x50, 0x72, 0x50, 0x77, 0x50, 0x7B, 0x50, 0x80, 0x50, 0x85, 0x50 .byte 0x89, 0x50, 0x8E, 0x50, 0x93, 0x50, 0x97, 0x50, 0x9C, 0x50, 0xA1, 0x50, 0xA5, 0x50, 0xAA, 0x50 .byte 0xAF, 0x50, 0xB3, 0x50, 0xB8, 0x50, 0xBD, 0x50, 0xC1, 0x50, 0xC6, 0x50, 0xCB, 0x50, 0xCF, 0x50 .byte 0xD4, 0x50, 0xD9, 0x50, 0xDD, 0x50, 0xE2, 0x50, 0xE7, 0x50, 0xEB, 0x50, 0xF0, 0x50, 0xF5, 0x50 .byte 0xF9, 0x50, 0xFE, 0x50, 0x03, 0x51, 0x07, 0x51, 0x0C, 0x51, 0x11, 0x51, 0x15, 0x51, 0x1A, 0x51 .byte 0x1F, 0x51, 0x23, 0x51, 0x28, 0x51, 0x2D, 0x51, 0x32, 0x51, 0x36, 0x51, 0x3B, 0x51, 0x40, 0x51 .byte 0x44, 0x51, 0x49, 0x51, 0x4E, 0x51, 0x52, 0x51, 0x57, 0x51, 0x5C, 0x51, 0x60, 0x51, 0x65, 0x51 .byte 0x6A, 0x51, 0x6F, 0x51, 0x73, 0x51, 0x78, 0x51, 0x7D, 0x51, 0x81, 0x51, 0x86, 0x51, 0x8B, 0x51 .byte 0x90, 0x51, 0x94, 0x51, 0x99, 0x51, 0x9E, 0x51, 0xA2, 0x51, 0xA7, 0x51, 0xAC, 0x51, 0xB1, 0x51 .byte 0xB5, 0x51, 0xBA, 0x51, 0xBF, 0x51, 0xC3, 0x51, 0xC8, 0x51, 0xCD, 0x51, 0xD2, 0x51, 0xD6, 0x51 .byte 0xDB, 0x51, 0xE0, 0x51, 0xE4, 0x51, 0xE9, 0x51, 0xEE, 0x51, 0xF3, 0x51, 0xF7, 0x51, 0xFC, 0x51 .byte 0x01, 0x52, 0x06, 0x52, 0x0A, 0x52, 0x0F, 0x52, 0x14, 0x52, 0x19, 0x52, 0x1D, 0x52, 0x22, 0x52 .byte 0x27, 0x52, 0x2C, 0x52, 0x30, 0x52, 0x35, 0x52, 0x3A, 0x52, 0x3F, 0x52, 0x43, 0x52, 0x48, 0x52 .byte 0x4D, 0x52, 0x52, 0x52, 0x56, 0x52, 0x5B, 0x52, 0x60, 0x52, 0x65, 0x52, 0x69, 0x52, 0x6E, 0x52 .byte 0x73, 0x52, 0x78, 0x52, 0x7C, 0x52, 0x81, 0x52, 0x86, 0x52, 0x8B, 0x52, 0x8F, 0x52, 0x94, 0x52 .byte 0x99, 0x52, 0x9E, 0x52, 0xA3, 0x52, 0xA7, 0x52, 0xAC, 0x52, 0xB1, 0x52, 0xB6, 0x52, 0xBA, 0x52 .byte 0xBF, 0x52, 0xC4, 0x52, 0xC9, 0x52, 0xCE, 0x52, 0xD2, 0x52, 0xD7, 0x52, 0xDC, 0x52, 0xE1, 0x52 .byte 0xE5, 0x52, 0xEA, 0x52, 0xEF, 0x52, 0xF4, 0x52, 0xF9, 0x52, 0xFD, 0x52, 0x02, 0x53, 0x07, 0x53 .byte 0x0C, 0x53, 0x11, 0x53, 0x15, 0x53, 0x1A, 0x53, 0x1F, 0x53, 0x24, 0x53, 0x29, 0x53, 0x2D, 0x53 .byte 0x32, 0x53, 0x37, 0x53, 0x3C, 0x53, 0x41, 0x53, 0x45, 0x53, 0x4A, 0x53, 0x4F, 0x53, 0x54, 0x53 .byte 0x59, 0x53, 0x5E, 0x53, 0x62, 0x53, 0x67, 0x53, 0x6C, 0x53, 0x71, 0x53, 0x76, 0x53, 0x7A, 0x53 .byte 0x7F, 0x53, 0x84, 0x53, 0x89, 0x53, 0x8E, 0x53, 0x93, 0x53, 0x97, 0x53, 0x9C, 0x53, 0xA1, 0x53 .byte 0xA6, 0x53, 0xAB, 0x53, 0xB0, 0x53, 0xB4, 0x53, 0xB9, 0x53, 0xBE, 0x53, 0xC3, 0x53, 0xC8, 0x53 .byte 0xCD, 0x53, 0xD1, 0x53, 0xD6, 0x53, 0xDB, 0x53, 0xE0, 0x53, 0xE5, 0x53, 0xEA, 0x53, 0xEE, 0x53 .byte 0xF3, 0x53, 0xF8, 0x53, 0xFD, 0x53, 0x02, 0x54, 0x07, 0x54, 0x0C, 0x54, 0x10, 0x54, 0x15, 0x54 .byte 0x1A, 0x54, 0x1F, 0x54, 0x24, 0x54, 0x29, 0x54, 0x2E, 0x54, 0x32, 0x54, 0x37, 0x54, 0x3C, 0x54 .byte 0x41, 0x54, 0x46, 0x54, 0x4B, 0x54, 0x50, 0x54, 0x55, 0x54, 0x59, 0x54, 0x5E, 0x54, 0x63, 0x54 .byte 0x68, 0x54, 0x6D, 0x54, 0x72, 0x54, 0x77, 0x54, 0x7C, 0x54, 0x80, 0x54, 0x85, 0x54, 0x8A, 0x54 .byte 0x8F, 0x54, 0x94, 0x54, 0x99, 0x54, 0x9E, 0x54, 0xA3, 0x54, 0xA7, 0x54, 0xAC, 0x54, 0xB1, 0x54 .byte 0xB6, 0x54, 0xBB, 0x54, 0xC0, 0x54, 0xC5, 0x54, 0xCA, 0x54, 0xCF, 0x54, 0xD4, 0x54, 0xD8, 0x54 .byte 0xDD, 0x54, 0xE2, 0x54, 0xE7, 0x54, 0xEC, 0x54, 0xF1, 0x54, 0xF6, 0x54, 0xFB, 0x54, 0x00, 0x55 .byte 0x05, 0x55, 0x0A, 0x55, 0x0E, 0x55, 0x13, 0x55, 0x18, 0x55, 0x1D, 0x55, 0x22, 0x55, 0x27, 0x55 .byte 0x2C, 0x55, 0x31, 0x55, 0x36, 0x55, 0x3B, 0x55, 0x40, 0x55, 0x45, 0x55, 0x49, 0x55, 0x4E, 0x55 .byte 0x53, 0x55, 0x58, 0x55, 0x5D, 0x55, 0x62, 0x55, 0x67, 0x55, 0x6C, 0x55, 0x71, 0x55, 0x76, 0x55 .byte 0x7B, 0x55, 0x80, 0x55, 0x85, 0x55, 0x8A, 0x55, 0x8F, 0x55, 0x93, 0x55, 0x98, 0x55, 0x9D, 0x55 .byte 0xA2, 0x55, 0xA7, 0x55, 0xAC, 0x55, 0xB1, 0x55, 0xB6, 0x55, 0xBB, 0x55, 0xC0, 0x55, 0xC5, 0x55 .byte 0xCA, 0x55, 0xCF, 0x55, 0xD4, 0x55, 0xD9, 0x55, 0xDE, 0x55, 0xE3, 0x55, 0xE8, 0x55, 0xED, 0x55 .byte 0xF2, 0x55, 0xF7, 0x55, 0xFC, 0x55, 0x01, 0x56, 0x05, 0x56, 0x0A, 0x56, 0x0F, 0x56, 0x14, 0x56 .byte 0x19, 0x56, 0x1E, 0x56, 0x23, 0x56, 0x28, 0x56, 0x2D, 0x56, 0x32, 0x56, 0x37, 0x56, 0x3C, 0x56 .byte 0x41, 0x56, 0x46, 0x56, 0x4B, 0x56, 0x50, 0x56, 0x55, 0x56, 0x5A, 0x56, 0x5F, 0x56, 0x64, 0x56 .byte 0x69, 0x56, 0x6E, 0x56, 0x73, 0x56, 0x78, 0x56, 0x7D, 0x56, 0x82, 0x56, 0x87, 0x56, 0x8C, 0x56 .byte 0x91, 0x56, 0x96, 0x56, 0x9B, 0x56, 0xA0, 0x56, 0xA5, 0x56, 0xAA, 0x56, 0xAF, 0x56, 0xB4, 0x56 .byte 0xB9, 0x56, 0xBE, 0x56, 0xC3, 0x56, 0xC8, 0x56, 0xCD, 0x56, 0xD2, 0x56, 0xD7, 0x56, 0xDC, 0x56 .byte 0xE1, 0x56, 0xE6, 0x56, 0xEB, 0x56, 0xF0, 0x56, 0xF5, 0x56, 0xFA, 0x56, 0xFF, 0x56, 0x04, 0x57 .byte 0x09, 0x57, 0x0E, 0x57, 0x13, 0x57, 0x18, 0x57, 0x1D, 0x57, 0x23, 0x57, 0x28, 0x57, 0x2D, 0x57 .byte 0x32, 0x57, 0x37, 0x57, 0x3C, 0x57, 0x41, 0x57, 0x46, 0x57, 0x4B, 0x57, 0x50, 0x57, 0x55, 0x57 .byte 0x5A, 0x57, 0x5F, 0x57, 0x64, 0x57, 0x69, 0x57, 0x6E, 0x57, 0x73, 0x57, 0x78, 0x57, 0x7D, 0x57 .byte 0x82, 0x57, 0x87, 0x57, 0x8C, 0x57, 0x92, 0x57, 0x97, 0x57, 0x9C, 0x57, 0xA1, 0x57, 0xA6, 0x57 .byte 0xAB, 0x57, 0xB0, 0x57, 0xB5, 0x57, 0xBA, 0x57, 0xBF, 0x57, 0xC4, 0x57, 0xC9, 0x57, 0xCE, 0x57 .byte 0xD3, 0x57, 0xD8, 0x57, 0xDE, 0x57, 0xE3, 0x57, 0xE8, 0x57, 0xED, 0x57, 0xF2, 0x57, 0xF7, 0x57 .byte 0xFC, 0x57, 0x01, 0x58, 0x06, 0x58, 0x0B, 0x58, 0x10, 0x58, 0x15, 0x58, 0x1B, 0x58, 0x20, 0x58 .byte 0x25, 0x58, 0x2A, 0x58, 0x2F, 0x58, 0x34, 0x58, 0x39, 0x58, 0x3E, 0x58, 0x43, 0x58, 0x48, 0x58 .byte 0x4D, 0x58, 0x53, 0x58, 0x58, 0x58, 0x5D, 0x58, 0x62, 0x58, 0x67, 0x58, 0x6C, 0x58, 0x71, 0x58 .byte 0x76, 0x58, 0x7B, 0x58, 0x81, 0x58, 0x86, 0x58, 0x8B, 0x58, 0x90, 0x58, 0x95, 0x58, 0x9A, 0x58 .byte 0x9F, 0x58, 0xA4, 0x58, 0xA9, 0x58, 0xAF, 0x58, 0xB4, 0x58, 0xB9, 0x58, 0xBE, 0x58, 0xC3, 0x58 .byte 0xC8, 0x58, 0xCD, 0x58, 0xD2, 0x58, 0xD8, 0x58, 0xDD, 0x58, 0xE2, 0x58, 0xE7, 0x58, 0xEC, 0x58 .byte 0xF1, 0x58, 0xF6, 0x58, 0xFC, 0x58, 0x01, 0x59, 0x06, 0x59, 0x0B, 0x59, 0x10, 0x59, 0x15, 0x59 .byte 0x1A, 0x59, 0x20, 0x59, 0x25, 0x59, 0x2A, 0x59, 0x2F, 0x59, 0x34, 0x59, 0x39, 0x59, 0x3E, 0x59 .byte 0x44, 0x59, 0x49, 0x59, 0x4E, 0x59, 0x53, 0x59, 0x58, 0x59, 0x5D, 0x59, 0x63, 0x59, 0x68, 0x59 .byte 0x6D, 0x59, 0x72, 0x59, 0x77, 0x59, 0x7C, 0x59, 0x82, 0x59, 0x87, 0x59, 0x8C, 0x59, 0x91, 0x59 .byte 0x96, 0x59, 0x9B, 0x59, 0xA1, 0x59, 0xA6, 0x59, 0xAB, 0x59, 0xB0, 0x59, 0xB5, 0x59, 0xBB, 0x59 .byte 0xC0, 0x59, 0xC5, 0x59, 0xCA, 0x59, 0xCF, 0x59, 0xD4, 0x59, 0xDA, 0x59, 0xDF, 0x59, 0xE4, 0x59 .byte 0xE9, 0x59, 0xEE, 0x59, 0xF4, 0x59, 0xF9, 0x59, 0xFE, 0x59, 0x03, 0x5A, 0x08, 0x5A, 0x0E, 0x5A .byte 0x13, 0x5A, 0x18, 0x5A, 0x1D, 0x5A, 0x22, 0x5A, 0x28, 0x5A, 0x2D, 0x5A, 0x32, 0x5A, 0x37, 0x5A .byte 0x3C, 0x5A, 0x42, 0x5A, 0x47, 0x5A, 0x4C, 0x5A, 0x51, 0x5A, 0x57, 0x5A, 0x5C, 0x5A, 0x61, 0x5A .byte 0x66, 0x5A, 0x6B, 0x5A, 0x71, 0x5A, 0x76, 0x5A, 0x7B, 0x5A, 0x80, 0x5A, 0x86, 0x5A, 0x8B, 0x5A .byte 0x90, 0x5A, 0x95, 0x5A, 0x9A, 0x5A, 0xA0, 0x5A, 0xA5, 0x5A, 0xAA, 0x5A, 0xAF, 0x5A, 0xB5, 0x5A .byte 0xBA, 0x5A, 0xBF, 0x5A, 0xC4, 0x5A, 0xCA, 0x5A, 0xCF, 0x5A, 0xD4, 0x5A, 0xD9, 0x5A, 0xDF, 0x5A .byte 0xE4, 0x5A, 0xE9, 0x5A, 0xEE, 0x5A, 0xF4, 0x5A, 0xF9, 0x5A, 0xFE, 0x5A, 0x03, 0x5B, 0x09, 0x5B .byte 0x0E, 0x5B, 0x13, 0x5B, 0x18, 0x5B, 0x1E, 0x5B, 0x23, 0x5B, 0x28, 0x5B, 0x2D, 0x5B, 0x33, 0x5B .byte 0x38, 0x5B, 0x3D, 0x5B, 0x43, 0x5B, 0x48, 0x5B, 0x4D, 0x5B, 0x52, 0x5B, 0x58, 0x5B, 0x5D, 0x5B .byte 0x62, 0x5B, 0x67, 0x5B, 0x6D, 0x5B, 0x72, 0x5B, 0x77, 0x5B, 0x7D, 0x5B, 0x82, 0x5B, 0x87, 0x5B .byte 0x8C, 0x5B, 0x92, 0x5B, 0x97, 0x5B, 0x9C, 0x5B, 0xA2, 0x5B, 0xA7, 0x5B, 0xAC, 0x5B, 0xB2, 0x5B .byte 0xB7, 0x5B, 0xBC, 0x5B, 0xC1, 0x5B, 0xC7, 0x5B, 0xCC, 0x5B, 0xD1, 0x5B, 0xD7, 0x5B, 0xDC, 0x5B .byte 0xE1, 0x5B, 0xE7, 0x5B, 0xEC, 0x5B, 0xF1, 0x5B, 0xF6, 0x5B, 0xFC, 0x5B, 0x01, 0x5C, 0x06, 0x5C .byte 0x0C, 0x5C, 0x11, 0x5C, 0x16, 0x5C, 0x1C, 0x5C, 0x21, 0x5C, 0x26, 0x5C, 0x2C, 0x5C, 0x31, 0x5C .byte 0x36, 0x5C, 0x3C, 0x5C, 0x41, 0x5C, 0x46, 0x5C, 0x4C, 0x5C, 0x51, 0x5C, 0x56, 0x5C, 0x5C, 0x5C .byte 0x61, 0x5C, 0x66, 0x5C, 0x6C, 0x5C, 0x71, 0x5C, 0x76, 0x5C, 0x7C, 0x5C, 0x81, 0x5C, 0x86, 0x5C .byte 0x8C, 0x5C, 0x91, 0x5C, 0x96, 0x5C, 0x9C, 0x5C, 0xA1, 0x5C, 0xA6, 0x5C, 0xAC, 0x5C, 0xB1, 0x5C .byte 0xB6, 0x5C, 0xBC, 0x5C, 0xC1, 0x5C, 0xC7, 0x5C, 0xCC, 0x5C, 0xD1, 0x5C, 0xD7, 0x5C, 0xDC, 0x5C .byte 0xE1, 0x5C, 0xE7, 0x5C, 0xEC, 0x5C, 0xF1, 0x5C, 0xF7, 0x5C, 0xFC, 0x5C, 0x02, 0x5D, 0x07, 0x5D .byte 0x0C, 0x5D, 0x12, 0x5D, 0x17, 0x5D, 0x1C, 0x5D, 0x22, 0x5D, 0x27, 0x5D, 0x2D, 0x5D, 0x32, 0x5D .byte 0x37, 0x5D, 0x3D, 0x5D, 0x42, 0x5D, 0x48, 0x5D, 0x4D, 0x5D, 0x52, 0x5D, 0x58, 0x5D, 0x5D, 0x5D .byte 0x62, 0x5D, 0x68, 0x5D, 0x6D, 0x5D, 0x73, 0x5D, 0x78, 0x5D, 0x7D, 0x5D, 0x83, 0x5D, 0x88, 0x5D .byte 0x8E, 0x5D, 0x93, 0x5D, 0x98, 0x5D, 0x9E, 0x5D, 0xA3, 0x5D, 0xA9, 0x5D, 0xAE, 0x5D, 0xB4, 0x5D .byte 0xB9, 0x5D, 0xBE, 0x5D, 0xC4, 0x5D, 0xC9, 0x5D, 0xCF, 0x5D, 0xD4, 0x5D, 0xD9, 0x5D, 0xDF, 0x5D .byte 0xE4, 0x5D, 0xEA, 0x5D, 0xEF, 0x5D, 0xF5, 0x5D, 0xFA, 0x5D, 0xFF, 0x5D, 0x05, 0x5E, 0x0A, 0x5E .byte 0x10, 0x5E, 0x15, 0x5E, 0x1B, 0x5E, 0x20, 0x5E, 0x25, 0x5E, 0x2B, 0x5E, 0x30, 0x5E, 0x36, 0x5E .byte 0x3B, 0x5E, 0x41, 0x5E, 0x46, 0x5E, 0x4C, 0x5E, 0x51, 0x5E, 0x56, 0x5E, 0x5C, 0x5E, 0x61, 0x5E .byte 0x67, 0x5E, 0x6C, 0x5E, 0x72, 0x5E, 0x77, 0x5E, 0x7D, 0x5E, 0x82, 0x5E, 0x88, 0x5E, 0x8D, 0x5E .byte 0x92, 0x5E, 0x98, 0x5E, 0x9D, 0x5E, 0xA3, 0x5E, 0xA8, 0x5E, 0xAE, 0x5E, 0xB3, 0x5E, 0xB9, 0x5E .byte 0xBE, 0x5E, 0xC4, 0x5E, 0xC9, 0x5E, 0xCF, 0x5E, 0xD4, 0x5E, 0xDA, 0x5E, 0xDF, 0x5E, 0xE5, 0x5E .byte 0xEA, 0x5E, 0xEF, 0x5E, 0xF5, 0x5E, 0xFA, 0x5E, 0x00, 0x5F, 0x05, 0x5F, 0x0B, 0x5F, 0x10, 0x5F .byte 0x16, 0x5F, 0x1B, 0x5F, 0x21, 0x5F, 0x26, 0x5F, 0x2C, 0x5F, 0x31, 0x5F, 0x37, 0x5F, 0x3C, 0x5F .byte 0x42, 0x5F, 0x47, 0x5F, 0x4D, 0x5F, 0x52, 0x5F, 0x58, 0x5F, 0x5D, 0x5F, 0x63, 0x5F, 0x68, 0x5F .byte 0x6E, 0x5F, 0x73, 0x5F, 0x79, 0x5F, 0x7E, 0x5F, 0x84, 0x5F, 0x8A, 0x5F, 0x8F, 0x5F, 0x95, 0x5F .byte 0x9A, 0x5F, 0xA0, 0x5F, 0xA5, 0x5F, 0xAB, 0x5F, 0xB0, 0x5F, 0xB6, 0x5F, 0xBB, 0x5F, 0xC1, 0x5F .byte 0xC6, 0x5F, 0xCC, 0x5F, 0xD1, 0x5F, 0xD7, 0x5F, 0xDC, 0x5F, 0xE2, 0x5F, 0xE8, 0x5F, 0xED, 0x5F .byte 0xF3, 0x5F, 0xF8, 0x5F, 0xFE, 0x5F, 0x03, 0x60, 0x09, 0x60, 0x0E, 0x60, 0x14, 0x60, 0x19, 0x60 .byte 0x1F, 0x60, 0x25, 0x60, 0x2A, 0x60, 0x30, 0x60, 0x35, 0x60, 0x3B, 0x60, 0x40, 0x60, 0x46, 0x60 .byte 0x4B, 0x60, 0x51, 0x60, 0x57, 0x60, 0x5C, 0x60, 0x62, 0x60, 0x67, 0x60, 0x6D, 0x60, 0x72, 0x60 .byte 0x78, 0x60, 0x7E, 0x60, 0x83, 0x60, 0x89, 0x60, 0x8E, 0x60, 0x94, 0x60, 0x99, 0x60, 0x9F, 0x60 .byte 0xA5, 0x60, 0xAA, 0x60, 0xB0, 0x60, 0xB5, 0x60, 0xBB, 0x60, 0xC1, 0x60, 0xC6, 0x60, 0xCC, 0x60 .byte 0xD1, 0x60, 0xD7, 0x60, 0xDC, 0x60, 0xE2, 0x60, 0xE8, 0x60, 0xED, 0x60, 0xF3, 0x60, 0xF8, 0x60 .byte 0xFE, 0x60, 0x04, 0x61, 0x09, 0x61, 0x0F, 0x61, 0x14, 0x61, 0x1A, 0x61, 0x20, 0x61, 0x25, 0x61 .byte 0x2B, 0x61, 0x31, 0x61, 0x36, 0x61, 0x3C, 0x61, 0x41, 0x61, 0x47, 0x61, 0x4D, 0x61, 0x52, 0x61 .byte 0x58, 0x61, 0x5D, 0x61, 0x63, 0x61, 0x69, 0x61, 0x6E, 0x61, 0x74, 0x61, 0x7A, 0x61, 0x7F, 0x61 .byte 0x85, 0x61, 0x8B, 0x61, 0x90, 0x61, 0x96, 0x61, 0x9B, 0x61, 0xA1, 0x61, 0xA7, 0x61, 0xAC, 0x61 .byte 0xB2, 0x61, 0xB8, 0x61, 0xBD, 0x61, 0xC3, 0x61, 0xC9, 0x61, 0xCE, 0x61, 0xD4, 0x61, 0xDA, 0x61 .byte 0xDF, 0x61, 0xE5, 0x61, 0xEA, 0x61, 0xF0, 0x61, 0xF6, 0x61, 0xFB, 0x61, 0x01, 0x62, 0x07, 0x62 .byte 0x0C, 0x62, 0x12, 0x62, 0x18, 0x62, 0x1D, 0x62, 0x23, 0x62, 0x29, 0x62, 0x2E, 0x62, 0x34, 0x62 .byte 0x3A, 0x62, 0x3F, 0x62, 0x45, 0x62, 0x4B, 0x62, 0x50, 0x62, 0x56, 0x62, 0x5C, 0x62, 0x62, 0x62 .byte 0x67, 0x62, 0x6D, 0x62, 0x73, 0x62, 0x78, 0x62, 0x7E, 0x62, 0x84, 0x62, 0x89, 0x62, 0x8F, 0x62 .byte 0x95, 0x62, 0x9A, 0x62, 0xA0, 0x62, 0xA6, 0x62, 0xAC, 0x62, 0xB1, 0x62, 0xB7, 0x62, 0xBD, 0x62 .byte 0xC2, 0x62, 0xC8, 0x62, 0xCE, 0x62, 0xD3, 0x62, 0xD9, 0x62, 0xDF, 0x62, 0xE5, 0x62, 0xEA, 0x62 .byte 0xF0, 0x62, 0xF6, 0x62, 0xFB, 0x62, 0x01, 0x63, 0x07, 0x63, 0x0D, 0x63, 0x12, 0x63, 0x18, 0x63 .byte 0x1E, 0x63, 0x23, 0x63, 0x29, 0x63, 0x2F, 0x63, 0x35, 0x63, 0x3A, 0x63, 0x40, 0x63, 0x46, 0x63 .byte 0x4C, 0x63, 0x51, 0x63, 0x57, 0x63, 0x5D, 0x63, 0x63, 0x63, 0x68, 0x63, 0x6E, 0x63, 0x74, 0x63 .byte 0x7A, 0x63, 0x7F, 0x63, 0x85, 0x63, 0x8B, 0x63, 0x91, 0x63, 0x96, 0x63, 0x9C, 0x63, 0xA2, 0x63 .byte 0xA8, 0x63, 0xAD, 0x63, 0xB3, 0x63, 0xB9, 0x63, 0xBF, 0x63, 0xC4, 0x63, 0xCA, 0x63, 0xD0, 0x63 .byte 0xD6, 0x63, 0xDB, 0x63, 0xE1, 0x63, 0xE7, 0x63, 0xED, 0x63, 0xF2, 0x63, 0xF8, 0x63, 0xFE, 0x63 .byte 0x04, 0x64, 0x0A, 0x64, 0x0F, 0x64, 0x15, 0x64, 0x1B, 0x64, 0x21, 0x64, 0x27, 0x64, 0x2C, 0x64 .byte 0x32, 0x64, 0x38, 0x64, 0x3E, 0x64, 0x43, 0x64, 0x49, 0x64, 0x4F, 0x64, 0x55, 0x64, 0x5B, 0x64 .byte 0x60, 0x64, 0x66, 0x64, 0x6C, 0x64, 0x72, 0x64, 0x78, 0x64, 0x7D, 0x64, 0x83, 0x64, 0x89, 0x64 .byte 0x8F, 0x64, 0x95, 0x64, 0x9A, 0x64, 0xA0, 0x64, 0xA6, 0x64, 0xAC, 0x64, 0xB2, 0x64, 0xB8, 0x64 .byte 0xBD, 0x64, 0xC3, 0x64, 0xC9, 0x64, 0xCF, 0x64, 0xD5, 0x64, 0xDA, 0x64, 0xE0, 0x64, 0xE6, 0x64 .byte 0xEC, 0x64, 0xF2, 0x64, 0xF8, 0x64, 0xFD, 0x64, 0x03, 0x65, 0x09, 0x65, 0x0F, 0x65, 0x15, 0x65 .byte 0x1B, 0x65, 0x20, 0x65, 0x26, 0x65, 0x2C, 0x65, 0x32, 0x65, 0x38, 0x65, 0x3E, 0x65, 0x44, 0x65 .byte 0x49, 0x65, 0x4F, 0x65, 0x55, 0x65, 0x5B, 0x65, 0x61, 0x65, 0x67, 0x65, 0x6D, 0x65, 0x72, 0x65 .byte 0x78, 0x65, 0x7E, 0x65, 0x84, 0x65, 0x8A, 0x65, 0x90, 0x65, 0x96, 0x65, 0x9B, 0x65, 0xA1, 0x65 .byte 0xA7, 0x65, 0xAD, 0x65, 0xB3, 0x65, 0xB9, 0x65, 0xBF, 0x65, 0xC5, 0x65, 0xCA, 0x65, 0xD0, 0x65 .byte 0xD6, 0x65, 0xDC, 0x65, 0xE2, 0x65, 0xE8, 0x65, 0xEE, 0x65, 0xF4, 0x65, 0xF9, 0x65, 0xFF, 0x65 .byte 0x05, 0x66, 0x0B, 0x66, 0x11, 0x66, 0x17, 0x66, 0x1D, 0x66, 0x23, 0x66, 0x29, 0x66, 0x2F, 0x66 .byte 0x34, 0x66, 0x3A, 0x66, 0x40, 0x66, 0x46, 0x66, 0x4C, 0x66, 0x52, 0x66, 0x58, 0x66, 0x5E, 0x66 .byte 0x64, 0x66, 0x6A, 0x66, 0x70, 0x66, 0x75, 0x66, 0x7B, 0x66, 0x81, 0x66, 0x87, 0x66, 0x8D, 0x66 .byte 0x93, 0x66, 0x99, 0x66, 0x9F, 0x66, 0xA5, 0x66, 0xAB, 0x66, 0xB1, 0x66, 0xB7, 0x66, 0xBD, 0x66 .byte 0xC3, 0x66, 0xC8, 0x66, 0xCE, 0x66, 0xD4, 0x66, 0xDA, 0x66, 0xE0, 0x66, 0xE6, 0x66, 0xEC, 0x66 .byte 0xF2, 0x66, 0xF8, 0x66, 0xFE, 0x66, 0x04, 0x67, 0x0A, 0x67, 0x10, 0x67, 0x16, 0x67, 0x1C, 0x67 .byte 0x22, 0x67, 0x28, 0x67, 0x2E, 0x67, 0x34, 0x67, 0x3A, 0x67, 0x3F, 0x67, 0x45, 0x67, 0x4B, 0x67 .byte 0x51, 0x67, 0x57, 0x67, 0x5D, 0x67, 0x63, 0x67, 0x69, 0x67, 0x6F, 0x67, 0x75, 0x67, 0x7B, 0x67 .byte 0x81, 0x67, 0x87, 0x67, 0x8D, 0x67, 0x93, 0x67, 0x99, 0x67, 0x9F, 0x67, 0xA5, 0x67, 0xAB, 0x67 .byte 0xB1, 0x67, 0xB7, 0x67, 0xBD, 0x67, 0xC3, 0x67, 0xC9, 0x67, 0xCF, 0x67, 0xD5, 0x67, 0xDB, 0x67 .byte 0xE1, 0x67, 0xE7, 0x67, 0xED, 0x67, 0xF3, 0x67, 0xF9, 0x67, 0xFF, 0x67, 0x05, 0x68, 0x0B, 0x68 .byte 0x11, 0x68, 0x17, 0x68, 0x1D, 0x68, 0x23, 0x68, 0x29, 0x68, 0x2F, 0x68, 0x35, 0x68, 0x3B, 0x68 .byte 0x41, 0x68, 0x47, 0x68, 0x4D, 0x68, 0x53, 0x68, 0x59, 0x68, 0x5F, 0x68, 0x65, 0x68, 0x6B, 0x68 .byte 0x71, 0x68, 0x77, 0x68, 0x7D, 0x68, 0x83, 0x68, 0x8A, 0x68, 0x90, 0x68, 0x96, 0x68, 0x9C, 0x68 .byte 0xA2, 0x68, 0xA8, 0x68, 0xAE, 0x68, 0xB4, 0x68, 0xBA, 0x68, 0xC0, 0x68, 0xC6, 0x68, 0xCC, 0x68 .byte 0xD2, 0x68, 0xD8, 0x68, 0xDE, 0x68, 0xE4, 0x68, 0xEA, 0x68, 0xF0, 0x68, 0xF6, 0x68, 0xFD, 0x68 .byte 0x03, 0x69, 0x09, 0x69, 0x0F, 0x69, 0x15, 0x69, 0x1B, 0x69, 0x21, 0x69, 0x27, 0x69, 0x2D, 0x69 .byte 0x33, 0x69, 0x39, 0x69, 0x3F, 0x69, 0x45, 0x69, 0x4B, 0x69, 0x52, 0x69, 0x58, 0x69, 0x5E, 0x69 .byte 0x64, 0x69, 0x6A, 0x69, 0x70, 0x69, 0x76, 0x69, 0x7C, 0x69, 0x82, 0x69, 0x88, 0x69, 0x8E, 0x69 .byte 0x95, 0x69, 0x9B, 0x69, 0xA1, 0x69, 0xA7, 0x69, 0xAD, 0x69, 0xB3, 0x69, 0xB9, 0x69, 0xBF, 0x69 .byte 0xC5, 0x69, 0xCB, 0x69, 0xD2, 0x69, 0xD8, 0x69, 0xDE, 0x69, 0xE4, 0x69, 0xEA, 0x69, 0xF0, 0x69 .byte 0xF6, 0x69, 0xFC, 0x69, 0x03, 0x6A, 0x09, 0x6A, 0x0F, 0x6A, 0x15, 0x6A, 0x1B, 0x6A, 0x21, 0x6A .byte 0x27, 0x6A, 0x2D, 0x6A, 0x34, 0x6A, 0x3A, 0x6A, 0x40, 0x6A, 0x46, 0x6A, 0x4C, 0x6A, 0x52, 0x6A .byte 0x58, 0x6A, 0x5F, 0x6A, 0x65, 0x6A, 0x6B, 0x6A, 0x71, 0x6A, 0x77, 0x6A, 0x7D, 0x6A, 0x83, 0x6A .byte 0x8A, 0x6A, 0x90, 0x6A, 0x96, 0x6A, 0x9C, 0x6A, 0xA2, 0x6A, 0xA8, 0x6A, 0xAF, 0x6A, 0xB5, 0x6A .byte 0xBB, 0x6A, 0xC1, 0x6A, 0xC7, 0x6A, 0xCD, 0x6A, 0xD4, 0x6A, 0xDA, 0x6A, 0xE0, 0x6A, 0xE6, 0x6A .byte 0xEC, 0x6A, 0xF2, 0x6A, 0xF9, 0x6A, 0xFF, 0x6A, 0x05, 0x6B, 0x0B, 0x6B, 0x11, 0x6B, 0x17, 0x6B .byte 0x1E, 0x6B, 0x24, 0x6B, 0x2A, 0x6B, 0x30, 0x6B, 0x36, 0x6B, 0x3D, 0x6B, 0x43, 0x6B, 0x49, 0x6B .byte 0x4F, 0x6B, 0x55, 0x6B, 0x5C, 0x6B, 0x62, 0x6B, 0x68, 0x6B, 0x6E, 0x6B, 0x74, 0x6B, 0x7B, 0x6B .byte 0x81, 0x6B, 0x87, 0x6B, 0x8D, 0x6B, 0x93, 0x6B, 0x9A, 0x6B, 0xA0, 0x6B, 0xA6, 0x6B, 0xAC, 0x6B .byte 0xB3, 0x6B, 0xB9, 0x6B, 0xBF, 0x6B, 0xC5, 0x6B, 0xCB, 0x6B, 0xD2, 0x6B, 0xD8, 0x6B, 0xDE, 0x6B .byte 0xE4, 0x6B, 0xEB, 0x6B, 0xF1, 0x6B, 0xF7, 0x6B, 0xFD, 0x6B, 0x04, 0x6C, 0x0A, 0x6C, 0x10, 0x6C .byte 0x16, 0x6C, 0x1D, 0x6C, 0x23, 0x6C, 0x29, 0x6C, 0x2F, 0x6C, 0x36, 0x6C, 0x3C, 0x6C, 0x42, 0x6C .byte 0x48, 0x6C, 0x4F, 0x6C, 0x55, 0x6C, 0x5B, 0x6C, 0x61, 0x6C, 0x68, 0x6C, 0x6E, 0x6C, 0x74, 0x6C .byte 0x7A, 0x6C, 0x81, 0x6C, 0x87, 0x6C, 0x8D, 0x6C, 0x93, 0x6C, 0x9A, 0x6C, 0xA0, 0x6C, 0xA6, 0x6C .byte 0xAD, 0x6C, 0xB3, 0x6C, 0xB9, 0x6C, 0xBF, 0x6C, 0xC6, 0x6C, 0xCC, 0x6C, 0xD2, 0x6C, 0xD9, 0x6C .byte 0xDF, 0x6C, 0xE5, 0x6C, 0xEB, 0x6C, 0xF2, 0x6C, 0xF8, 0x6C, 0xFE, 0x6C, 0x05, 0x6D, 0x0B, 0x6D .byte 0x11, 0x6D, 0x17, 0x6D, 0x1E, 0x6D, 0x24, 0x6D, 0x2A, 0x6D, 0x31, 0x6D, 0x37, 0x6D, 0x3D, 0x6D .byte 0x44, 0x6D, 0x4A, 0x6D, 0x50, 0x6D, 0x57, 0x6D, 0x5D, 0x6D, 0x63, 0x6D, 0x69, 0x6D, 0x70, 0x6D .byte 0x76, 0x6D, 0x7C, 0x6D, 0x83, 0x6D, 0x89, 0x6D, 0x8F, 0x6D, 0x96, 0x6D, 0x9C, 0x6D, 0xA2, 0x6D .byte 0xA9, 0x6D, 0xAF, 0x6D, 0xB5, 0x6D, 0xBC, 0x6D, 0xC2, 0x6D, 0xC8, 0x6D, 0xCF, 0x6D, 0xD5, 0x6D .byte 0xDB, 0x6D, 0xE2, 0x6D, 0xE8, 0x6D, 0xEF, 0x6D, 0xF5, 0x6D, 0xFB, 0x6D, 0x02, 0x6E, 0x08, 0x6E .byte 0x0E, 0x6E, 0x15, 0x6E, 0x1B, 0x6E, 0x21, 0x6E, 0x28, 0x6E, 0x2E, 0x6E, 0x34, 0x6E, 0x3B, 0x6E .byte 0x41, 0x6E, 0x48, 0x6E, 0x4E, 0x6E, 0x54, 0x6E, 0x5B, 0x6E, 0x61, 0x6E, 0x67, 0x6E, 0x6E, 0x6E .byte 0x74, 0x6E, 0x7B, 0x6E, 0x81, 0x6E, 0x87, 0x6E, 0x8E, 0x6E, 0x94, 0x6E, 0x9B, 0x6E, 0xA1, 0x6E .byte 0xA7, 0x6E, 0xAE, 0x6E, 0xB4, 0x6E, 0xBA, 0x6E, 0xC1, 0x6E, 0xC7, 0x6E, 0xCE, 0x6E, 0xD4, 0x6E .byte 0xDA, 0x6E, 0xE1, 0x6E, 0xE7, 0x6E, 0xEE, 0x6E, 0xF4, 0x6E, 0xFA, 0x6E, 0x01, 0x6F, 0x07, 0x6F .byte 0x0E, 0x6F, 0x14, 0x6F, 0x1B, 0x6F, 0x21, 0x6F, 0x27, 0x6F, 0x2E, 0x6F, 0x34, 0x6F, 0x3B, 0x6F .byte 0x41, 0x6F, 0x48, 0x6F, 0x4E, 0x6F, 0x54, 0x6F, 0x5B, 0x6F, 0x61, 0x6F, 0x68, 0x6F, 0x6E, 0x6F .byte 0x75, 0x6F, 0x7B, 0x6F, 0x81, 0x6F, 0x88, 0x6F, 0x8E, 0x6F, 0x95, 0x6F, 0x9B, 0x6F, 0xA2, 0x6F .byte 0xA8, 0x6F, 0xAF, 0x6F, 0xB5, 0x6F, 0xBB, 0x6F, 0xC2, 0x6F, 0xC8, 0x6F, 0xCF, 0x6F, 0xD5, 0x6F .byte 0xDC, 0x6F, 0xE2, 0x6F, 0xE9, 0x6F, 0xEF, 0x6F, 0xF6, 0x6F, 0xFC, 0x6F, 0x03, 0x70, 0x09, 0x70 .byte 0x0F, 0x70, 0x16, 0x70, 0x1C, 0x70, 0x23, 0x70, 0x29, 0x70, 0x30, 0x70, 0x36, 0x70, 0x3D, 0x70 .byte 0x43, 0x70, 0x4A, 0x70, 0x50, 0x70, 0x57, 0x70, 0x5D, 0x70, 0x64, 0x70, 0x6A, 0x70, 0x71, 0x70 .byte 0x77, 0x70, 0x7E, 0x70, 0x84, 0x70, 0x8B, 0x70, 0x91, 0x70, 0x98, 0x70, 0x9E, 0x70, 0xA5, 0x70 .byte 0xAB, 0x70, 0xB2, 0x70, 0xB8, 0x70, 0xBF, 0x70, 0xC5, 0x70, 0xCC, 0x70, 0xD2, 0x70, 0xD9, 0x70 .byte 0xDF, 0x70, 0xE6, 0x70, 0xEC, 0x70, 0xF3, 0x70, 0xF9, 0x70, 0x00, 0x71, 0x07, 0x71, 0x0D, 0x71 .byte 0x14, 0x71, 0x1A, 0x71, 0x21, 0x71, 0x27, 0x71, 0x2E, 0x71, 0x34, 0x71, 0x3B, 0x71, 0x41, 0x71 .byte 0x48, 0x71, 0x4E, 0x71, 0x55, 0x71, 0x5C, 0x71, 0x62, 0x71, 0x69, 0x71, 0x6F, 0x71, 0x76, 0x71 .byte 0x7C, 0x71, 0x83, 0x71, 0x89, 0x71, 0x90, 0x71, 0x96, 0x71, 0x9D, 0x71, 0xA4, 0x71, 0xAA, 0x71 .byte 0xB1, 0x71, 0xB7, 0x71, 0xBE, 0x71, 0xC4, 0x71, 0xCB, 0x71, 0xD2, 0x71, 0xD8, 0x71, 0xDF, 0x71 .byte 0xE5, 0x71, 0xEC, 0x71, 0xF2, 0x71, 0xF9, 0x71, 0x00, 0x72, 0x06, 0x72, 0x0D, 0x72, 0x13, 0x72 .byte 0x1A, 0x72, 0x21, 0x72, 0x27, 0x72, 0x2E, 0x72, 0x34, 0x72, 0x3B, 0x72, 0x42, 0x72, 0x48, 0x72 .byte 0x4F, 0x72, 0x55, 0x72, 0x5C, 0x72, 0x63, 0x72, 0x69, 0x72, 0x70, 0x72, 0x76, 0x72, 0x7D, 0x72 .byte 0x84, 0x72, 0x8A, 0x72, 0x91, 0x72, 0x98, 0x72, 0x9E, 0x72, 0xA5, 0x72, 0xAB, 0x72, 0xB2, 0x72 .byte 0xB9, 0x72, 0xBF, 0x72, 0xC6, 0x72, 0xCD, 0x72, 0xD3, 0x72, 0xDA, 0x72, 0xE0, 0x72, 0xE7, 0x72 .byte 0xEE, 0x72, 0xF4, 0x72, 0xFB, 0x72, 0x02, 0x73, 0x08, 0x73, 0x0F, 0x73, 0x16, 0x73, 0x1C, 0x73 .byte 0x23, 0x73, 0x29, 0x73, 0x30, 0x73, 0x37, 0x73, 0x3D, 0x73, 0x44, 0x73, 0x4B, 0x73, 0x51, 0x73 .byte 0x58, 0x73, 0x5F, 0x73, 0x65, 0x73, 0x6C, 0x73, 0x73, 0x73, 0x79, 0x73, 0x80, 0x73, 0x87, 0x73 .byte 0x8D, 0x73, 0x94, 0x73, 0x9B, 0x73, 0xA1, 0x73, 0xA8, 0x73, 0xAF, 0x73, 0xB6, 0x73, 0xBC, 0x73 .byte 0xC3, 0x73, 0xCA, 0x73, 0xD0, 0x73, 0xD7, 0x73, 0xDE, 0x73, 0xE4, 0x73, 0xEB, 0x73, 0xF2, 0x73 .byte 0xF8, 0x73, 0xFF, 0x73, 0x06, 0x74, 0x0D, 0x74, 0x13, 0x74, 0x1A, 0x74, 0x21, 0x74, 0x27, 0x74 .byte 0x2E, 0x74, 0x35, 0x74, 0x3B, 0x74, 0x42, 0x74, 0x49, 0x74, 0x50, 0x74, 0x56, 0x74, 0x5D, 0x74 .byte 0x64, 0x74, 0x6B, 0x74, 0x71, 0x74, 0x78, 0x74, 0x7F, 0x74, 0x85, 0x74, 0x8C, 0x74, 0x93, 0x74 .byte 0x9A, 0x74, 0xA0, 0x74, 0xA7, 0x74, 0xAE, 0x74, 0xB5, 0x74, 0xBB, 0x74, 0xC2, 0x74, 0xC9, 0x74 .byte 0xD0, 0x74, 0xD6, 0x74, 0xDD, 0x74, 0xE4, 0x74, 0xEB, 0x74, 0xF1, 0x74, 0xF8, 0x74, 0xFF, 0x74 .byte 0x06, 0x75, 0x0C, 0x75, 0x13, 0x75, 0x1A, 0x75, 0x21, 0x75, 0x27, 0x75, 0x2E, 0x75, 0x35, 0x75 .byte 0x3C, 0x75, 0x42, 0x75, 0x49, 0x75, 0x50, 0x75, 0x57, 0x75, 0x5E, 0x75, 0x64, 0x75, 0x6B, 0x75 .byte 0x72, 0x75, 0x79, 0x75, 0x80, 0x75, 0x86, 0x75, 0x8D, 0x75, 0x94, 0x75, 0x9B, 0x75, 0xA1, 0x75 .byte 0xA8, 0x75, 0xAF, 0x75, 0xB6, 0x75, 0xBD, 0x75, 0xC3, 0x75, 0xCA, 0x75, 0xD1, 0x75, 0xD8, 0x75 .byte 0xDF, 0x75, 0xE5, 0x75, 0xEC, 0x75, 0xF3, 0x75, 0xFA, 0x75, 0x01, 0x76, 0x08, 0x76, 0x0E, 0x76 .byte 0x15, 0x76, 0x1C, 0x76, 0x23, 0x76, 0x2A, 0x76, 0x30, 0x76, 0x37, 0x76, 0x3E, 0x76, 0x45, 0x76 .byte 0x4C, 0x76, 0x53, 0x76, 0x59, 0x76, 0x60, 0x76, 0x67, 0x76, 0x6E, 0x76, 0x75, 0x76, 0x7C, 0x76 .byte 0x83, 0x76, 0x89, 0x76, 0x90, 0x76, 0x97, 0x76, 0x9E, 0x76, 0xA5, 0x76, 0xAC, 0x76, 0xB2, 0x76 .byte 0xB9, 0x76, 0xC0, 0x76, 0xC7, 0x76, 0xCE, 0x76, 0xD5, 0x76, 0xDC, 0x76, 0xE3, 0x76, 0xE9, 0x76 .byte 0xF0, 0x76, 0xF7, 0x76, 0xFE, 0x76, 0x05, 0x77, 0x0C, 0x77, 0x13, 0x77, 0x19, 0x77, 0x20, 0x77 .byte 0x27, 0x77, 0x2E, 0x77, 0x35, 0x77, 0x3C, 0x77, 0x43, 0x77, 0x4A, 0x77, 0x51, 0x77, 0x57, 0x77 .byte 0x5E, 0x77, 0x65, 0x77, 0x6C, 0x77, 0x73, 0x77, 0x7A, 0x77, 0x81, 0x77, 0x88, 0x77, 0x8F, 0x77 .byte 0x96, 0x77, 0x9C, 0x77, 0xA3, 0x77, 0xAA, 0x77, 0xB1, 0x77, 0xB8, 0x77, 0xBF, 0x77, 0xC6, 0x77 .byte 0xCD, 0x77, 0xD4, 0x77, 0xDB, 0x77, 0xE2, 0x77, 0xE9, 0x77, 0xEF, 0x77, 0xF6, 0x77, 0xFD, 0x77 .byte 0x04, 0x78, 0x0B, 0x78, 0x12, 0x78, 0x19, 0x78, 0x20, 0x78, 0x27, 0x78, 0x2E, 0x78, 0x35, 0x78 .byte 0x3C, 0x78, 0x43, 0x78, 0x4A, 0x78, 0x51, 0x78, 0x58, 0x78, 0x5F, 0x78, 0x65, 0x78, 0x6C, 0x78 .byte 0x73, 0x78, 0x7A, 0x78, 0x81, 0x78, 0x88, 0x78, 0x8F, 0x78, 0x96, 0x78, 0x9D, 0x78, 0xA4, 0x78 .byte 0xAB, 0x78, 0xB2, 0x78, 0xB9, 0x78, 0xC0, 0x78, 0xC7, 0x78, 0xCE, 0x78, 0xD5, 0x78, 0xDC, 0x78 .byte 0xE3, 0x78, 0xEA, 0x78, 0xF1, 0x78, 0xF8, 0x78, 0xFF, 0x78, 0x06, 0x79, 0x0D, 0x79, 0x14, 0x79 .byte 0x1B, 0x79, 0x22, 0x79, 0x29, 0x79, 0x30, 0x79, 0x37, 0x79, 0x3E, 0x79, 0x45, 0x79, 0x4C, 0x79 .byte 0x53, 0x79, 0x5A, 0x79, 0x61, 0x79, 0x68, 0x79, 0x6F, 0x79, 0x76, 0x79, 0x7D, 0x79, 0x84, 0x79 .byte 0x8B, 0x79, 0x92, 0x79, 0x99, 0x79, 0xA0, 0x79, 0xA7, 0x79, 0xAE, 0x79, 0xB5, 0x79, 0xBC, 0x79 .byte 0xC3, 0x79, 0xCA, 0x79, 0xD1, 0x79, 0xD8, 0x79, 0xDF, 0x79, 0xE6, 0x79, 0xED, 0x79, 0xF4, 0x79 .byte 0xFC, 0x79, 0x03, 0x7A, 0x0A, 0x7A, 0x11, 0x7A, 0x18, 0x7A, 0x1F, 0x7A, 0x26, 0x7A, 0x2D, 0x7A .byte 0x34, 0x7A, 0x3B, 0x7A, 0x42, 0x7A, 0x49, 0x7A, 0x50, 0x7A, 0x57, 0x7A, 0x5E, 0x7A, 0x65, 0x7A .byte 0x6C, 0x7A, 0x74, 0x7A, 0x7B, 0x7A, 0x82, 0x7A, 0x89, 0x7A, 0x90, 0x7A, 0x97, 0x7A, 0x9E, 0x7A .byte 0xA5, 0x7A, 0xAC, 0x7A, 0xB3, 0x7A, 0xBA, 0x7A, 0xC1, 0x7A, 0xC9, 0x7A, 0xD0, 0x7A, 0xD7, 0x7A .byte 0xDE, 0x7A, 0xE5, 0x7A, 0xEC, 0x7A, 0xF3, 0x7A, 0xFA, 0x7A, 0x01, 0x7B, 0x08, 0x7B, 0x10, 0x7B .byte 0x17, 0x7B, 0x1E, 0x7B, 0x25, 0x7B, 0x2C, 0x7B, 0x33, 0x7B, 0x3A, 0x7B, 0x41, 0x7B, 0x48, 0x7B .byte 0x50, 0x7B, 0x57, 0x7B, 0x5E, 0x7B, 0x65, 0x7B, 0x6C, 0x7B, 0x73, 0x7B, 0x7A, 0x7B, 0x81, 0x7B .byte 0x89, 0x7B, 0x90, 0x7B, 0x97, 0x7B, 0x9E, 0x7B, 0xA5, 0x7B, 0xAC, 0x7B, 0xB3, 0x7B, 0xBB, 0x7B .byte 0xC2, 0x7B, 0xC9, 0x7B, 0xD0, 0x7B, 0xD7, 0x7B, 0xDE, 0x7B, 0xE5, 0x7B, 0xED, 0x7B, 0xF4, 0x7B .byte 0xFB, 0x7B, 0x02, 0x7C, 0x09, 0x7C, 0x10, 0x7C, 0x18, 0x7C, 0x1F, 0x7C, 0x26, 0x7C, 0x2D, 0x7C .byte 0x34, 0x7C, 0x3B, 0x7C, 0x43, 0x7C, 0x4A, 0x7C, 0x51, 0x7C, 0x58, 0x7C, 0x5F, 0x7C, 0x67, 0x7C .byte 0x6E, 0x7C, 0x75, 0x7C, 0x7C, 0x7C, 0x83, 0x7C, 0x8B, 0x7C, 0x92, 0x7C, 0x99, 0x7C, 0xA0, 0x7C .byte 0xA7, 0x7C, 0xAE, 0x7C, 0xB6, 0x7C, 0xBD, 0x7C, 0xC4, 0x7C, 0xCB, 0x7C, 0xD3, 0x7C, 0xDA, 0x7C .byte 0xE1, 0x7C, 0xE8, 0x7C, 0xEF, 0x7C, 0xF7, 0x7C, 0xFE, 0x7C, 0x05, 0x7D, 0x0C, 0x7D, 0x13, 0x7D .byte 0x1B, 0x7D, 0x22, 0x7D, 0x29, 0x7D, 0x30, 0x7D, 0x38, 0x7D, 0x3F, 0x7D, 0x46, 0x7D, 0x4D, 0x7D .byte 0x55, 0x7D, 0x5C, 0x7D, 0x63, 0x7D, 0x6A, 0x7D, 0x72, 0x7D, 0x79, 0x7D, 0x80, 0x7D, 0x87, 0x7D .byte 0x8F, 0x7D, 0x96, 0x7D, 0x9D, 0x7D, 0xA4, 0x7D, 0xAC, 0x7D, 0xB3, 0x7D, 0xBA, 0x7D, 0xC1, 0x7D .byte 0xC9, 0x7D, 0xD0, 0x7D, 0xD7, 0x7D, 0xDE, 0x7D, 0xE6, 0x7D, 0xED, 0x7D, 0xF4, 0x7D, 0xFC, 0x7D .byte 0x03, 0x7E, 0x0A, 0x7E, 0x11, 0x7E, 0x19, 0x7E, 0x20, 0x7E, 0x27, 0x7E, 0x2E, 0x7E, 0x36, 0x7E .byte 0x3D, 0x7E, 0x44, 0x7E, 0x4C, 0x7E, 0x53, 0x7E, 0x5A, 0x7E, 0x62, 0x7E, 0x69, 0x7E, 0x70, 0x7E .byte 0x77, 0x7E, 0x7F, 0x7E, 0x86, 0x7E, 0x8D, 0x7E, 0x95, 0x7E, 0x9C, 0x7E, 0xA3, 0x7E, 0xAB, 0x7E .byte 0xB2, 0x7E, 0xB9, 0x7E, 0xC1, 0x7E, 0xC8, 0x7E, 0xCF, 0x7E, 0xD7, 0x7E, 0xDE, 0x7E, 0xE5, 0x7E .byte 0xED, 0x7E, 0xF4, 0x7E, 0xFB, 0x7E, 0x03, 0x7F, 0x0A, 0x7F, 0x11, 0x7F, 0x19, 0x7F, 0x20, 0x7F .byte 0x27, 0x7F, 0x2F, 0x7F, 0x36, 0x7F, 0x3D, 0x7F, 0x45, 0x7F, 0x4C, 0x7F, 0x53, 0x7F, 0x5B, 0x7F .byte 0x62, 0x7F, 0x69, 0x7F, 0x71, 0x7F, 0x78, 0x7F, 0x80, 0x7F, 0x87, 0x7F, 0x8E, 0x7F, 0x96, 0x7F .byte 0x9D, 0x7F, 0xA4, 0x7F, 0xAC, 0x7F, 0xB3, 0x7F, 0xBA, 0x7F, 0xC2, 0x7F, 0xC9, 0x7F, 0xD1, 0x7F .global _020B2B94 _020B2B94: .byte 0x01, 0x00, 0x00, 0x00 .global _020B2B98 _020B2B98: .byte 0x03, 0x00, 0x00, 0x00 .global _020B2B9C _020B2B9C: .byte 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00 .byte 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00 .global _020B2BAC _020B2BAC: .byte 0xFF, 0xFF, 0xFF, 0xFF .global _020B2BB0 _020B2BB0: .byte 0x3A, 0x2F, 0x00, 0x00 .global _020B2BB4 _020B2BB4: .byte 0x72, 0x6F, 0x6D, 0x00 .global _020B2BB8 _020B2BB8: .word _020AEC1C .byte 0x40, 0x00, 0x00, 0x00 .global _020B2BC0 _020B2BC0: .byte 0x80, 0x00, 0x00, 0x00 .global _020B2BC4 _020B2BC4: .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .global _020B2C84 _020B2C84: .byte 0x78, 0xA4, 0x6A, 0xD7, 0x56, 0xB7, 0xC7, 0xE8, 0xDB, 0x70, 0x20, 0x24, 0xEE, 0xCE, 0xBD, 0xC1 .byte 0xAF, 0x0F, 0x7C, 0xF5, 0x2A, 0xC6, 0x87, 0x47, 0x13, 0x46, 0x30, 0xA8, 0x01, 0x95, 0x46, 0xFD .byte 0xD8, 0x98, 0x80, 0x69, 0xAF, 0xF7, 0x44, 0x8B, 0xB1, 0x5B, 0xFF, 0xFF, 0xBE, 0xD7, 0x5C, 0x89 .byte 0x22, 0x11, 0x90, 0x6B, 0x93, 0x71, 0x98, 0xFD, 0x8E, 0x43, 0x79, 0xA6, 0x21, 0x08, 0xB4, 0x49 .byte 0x62, 0x25, 0x1E, 0xF6, 0x40, 0xB3, 0x40, 0xC0, 0x51, 0x5A, 0x5E, 0x26, 0xAA, 0xC7, 0xB6, 0xE9 .byte 0x5D, 0x10, 0x2F, 0xD6, 0x53, 0x14, 0x44, 0x02, 0x81, 0xE6, 0xA1, 0xD8, 0xC8, 0xFB, 0xD3, 0xE7 .byte 0xE6, 0xCD, 0xE1, 0x21, 0xD6, 0x07, 0x37, 0xC3, 0x87, 0x0D, 0xD5, 0xF4, 0xED, 0x14, 0x5A, 0x45 .byte 0x05, 0xE9, 0xE3, 0xA9, 0xF8, 0xA3, 0xEF, 0xFC, 0xD9, 0x02, 0x6F, 0x67, 0x8A, 0x4C, 0x2A, 0x8D .byte 0x42, 0x39, 0xFA, 0xFF, 0x81, 0xF6, 0x71, 0x87, 0x22, 0x61, 0x9D, 0x6D, 0x0C, 0x38, 0xE5, 0xFD .byte 0x44, 0xEA, 0xBE, 0xA4, 0xA9, 0xCF, 0xDE, 0x4B, 0x60, 0x4B, 0xBB, 0xF6, 0x70, 0xBC, 0xBF, 0xBE .byte 0xC6, 0x7E, 0x9B, 0x28, 0xFA, 0x27, 0xA1, 0xEA, 0x85, 0x30, 0xEF, 0xD4, 0x05, 0x1D, 0x88, 0x04 .byte 0x39, 0xD0, 0xD4, 0xD9, 0xE5, 0x99, 0xDB, 0xE6, 0xF8, 0x7C, 0xA2, 0x1F, 0x65, 0x56, 0xAC, 0xC4 .byte 0x44, 0x22, 0x29, 0xF4, 0x97, 0xFF, 0x2A, 0x43, 0xA7, 0x23, 0x94, 0xAB, 0x39, 0xA0, 0x93, 0xFC .byte 0xC3, 0x59, 0x5B, 0x65, 0x92, 0xCC, 0x0C, 0x8F, 0x7D, 0xF4, 0xEF, 0xFF, 0xD1, 0x5D, 0x84, 0x85 .byte 0x4F, 0x7E, 0xA8, 0x6F, 0xE0, 0xE6, 0x2C, 0xFE, 0x14, 0x43, 0x01, 0xA3, 0xA1, 0x11, 0x08, 0x4E .byte 0x82, 0x7E, 0x53, 0xF7, 0x35, 0xF2, 0x3A, 0xBD, 0xBB, 0xD2, 0xD7, 0x2A, 0x91, 0xD3, 0x86, 0xEB .global _020B2D84 _020B2D84: .byte 0x61, 0x00, 0x00, 0x00 .global _020B2D88 _020B2D88: .word sub_02080C70 .word _020B2DF0 .word _020B2E08 .word _020B2DC0 .word _020B2DD8 .word _020B2DBC .word _020B2E20 .word _020B2D84 .word _020B2E5C .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x40, 0x42, 0x0F, 0x00, 0x0A, 0x00, 0x00, 0x00 .global _020B2DBC _020B2DBC: .byte 0x61, 0x62, 0x63, 0x00 .global _020B2DC0 _020B2DC0: .byte 0x34, 0xAA, 0x97, 0x3C .byte 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E, 0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F .byte 0x00, 0x00, 0x00, 0x00 .global _020B2DD8 _020B2DD8: .byte 0xDE, 0xA3, 0x56, 0xA2, 0xCD, 0xDD, 0x90, 0xC7, 0xA7, 0xEC, 0xED, 0xC5 .byte 0xEB, 0xB5, 0x63, 0x93, 0x4F, 0x46, 0x04, 0x52, 0x00, 0x00, 0x00, 0x00 .global _020B2DF0 _020B2DF0: .byte 0xA9, 0x99, 0x3E, 0x36 .byte 0x47, 0x06, 0x81, 0x6A, 0xBA, 0x3E, 0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C, 0x9C, 0xD0, 0xD8, 0x9D .byte 0x00, 0x00, 0x00, 0x00 .global _020B2E08 _020B2E08: .byte 0x84, 0x98, 0x3E, 0x44, 0x1C, 0x3B, 0xD2, 0x6E, 0xBA, 0xAE, 0x4A, 0xA1 .byte 0xF9, 0x51, 0x29, 0xE5, 0xE5, 0x46, 0x70, 0xF1, 0x00, 0x00, 0x00, 0x00 .global _020B2E20 _020B2E20: .byte 0x61, 0x62, 0x63, 0x64 .byte 0x62, 0x63, 0x64, 0x65, 0x63, 0x64, 0x65, 0x66, 0x64, 0x65, 0x66, 0x67, 0x65, 0x66, 0x67, 0x68 .byte 0x66, 0x67, 0x68, 0x69, 0x67, 0x68, 0x69, 0x6A, 0x68, 0x69, 0x6A, 0x6B, 0x69, 0x6A, 0x6B, 0x6C .byte 0x6A, 0x6B, 0x6C, 0x6D, 0x6B, 0x6C, 0x6D, 0x6E, 0x6C, 0x6D, 0x6E, 0x6F, 0x6D, 0x6E, 0x6F, 0x70 .byte 0x6E, 0x6F, 0x70, 0x71, 0x00, 0x00, 0x00, 0x00 .global _020B2E5C _020B2E5C: .byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37 .byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37 .byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37 .byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37 .byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37 .global _020B2E9C _020B2E9C: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00 .byte 0x97, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00 .byte 0x11, 0x01, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00, 0x4E, 0x01, 0x00, 0x00 .global _020B2ED0 _020B2ED0: .byte 0x00, 0xFE, 0x7F, 0x02 .global _020B2ED4 _020B2ED4: .byte 0x00, 0x00, 0x00, 0x00, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _022BC970 .byte 0x00, 0x01, 0x00, 0x00 .word _022BC970 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_0209081C .word sub_0209086C .word sub_020908A0 .byte 0x00, 0x00, 0x00, 0x00 .global _020B2F20 _020B2F20: .byte 0x01, 0x00, 0x00, 0x00 .byte 0x28, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _022BC870 .byte 0x00, 0x01, 0x00, 0x00 .word _022BC870 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word sub_0209081C .word sub_0209086C .word sub_020908A0 .byte 0x00, 0x00, 0x00, 0x00 .global _020B2F6C _020B2F6C: .byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word _022BC770 .byte 0x00, 0x01, 0x00, 0x00 .word _022BC770 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word sub_0209081C .word sub_0209086C .word sub_020908A0 .byte 0x00, 0x00, 0x00, 0x00 .global _020B2FB8 _020B2FB8: .byte 0x00, 0x00, 0x80, 0x7F .global _020B2FBC _020B2FBC: .byte 0xFF, 0xFF, 0xFF, 0x7F .global _020B2FC0 _020B2FC0: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0xF0, 0x7F .global _020B2FC8 _020B2FC8: .byte 0x00, 0x00, 0x00, 0x00 .global _020B2FCC _020B2FCC: .byte 0x25, 0x54, 0x00, 0x00 .global _020B2FD0 _020B2FD0: .byte 0x41, 0x4D, 0x7C, 0x50 .byte 0x4D, 0x00, 0x00, 0x00 .global _020B2FD8 _020B2FD8: .word mbtowc .word TryAssignByte .global _020B2FE0 _020B2FE0: .byte 0x20, 0x00, 0x00, 0x00 .byte 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word _020B3124 .global _020B2FF0 _020B2FF0: .word _020B2FD0 .word _020B3034 .word _020B3028 .word _020B3010 .word _020B2FCC .word _020B3044 .word _020B309C .word _020B2FC8 .global _020B3010 _020B3010: .byte 0x25, 0x6D, 0x2F, 0x25 .byte 0x64, 0x2F, 0x25, 0x79, 0x00, 0x00, 0x00, 0x00 .global _020B301C _020B301C: .word _020B2FF0 .word _020B2FE0 .word _020B2FD8 .global _020B3028 _020B3028: .byte 0x25, 0x49, 0x3A, 0x25, 0x4D, 0x3A, 0x25, 0x53, 0x20, 0x25, 0x70, 0x00 .global _020B3034 _020B3034: .byte 0x25, 0x61, 0x20, 0x25, 0x62, 0x20, 0x25, 0x65, 0x20, 0x25, 0x54, 0x20, 0x25, 0x59, 0x00, 0x00 .global _020B3044 _020B3044: .byte 0x53, 0x75, 0x6E, 0x7C, 0x53, 0x75, 0x6E, 0x64, 0x61, 0x79, 0x7C, 0x4D, 0x6F, 0x6E, 0x7C, 0x4D .byte 0x6F, 0x6E, 0x64, 0x61, 0x79, 0x7C, 0x54, 0x75, 0x65, 0x7C, 0x54, 0x75, 0x65, 0x73, 0x64, 0x61 .byte 0x79, 0x7C, 0x57, 0x65, 0x64, 0x7C, 0x57, 0x65, 0x64, 0x6E, 0x65, 0x73, 0x64, 0x61, 0x79, 0x7C .byte 0x54, 0x68, 0x75, 0x7C, 0x54, 0x68, 0x75, 0x72, 0x73, 0x64, 0x61, 0x79, 0x7C, 0x46, 0x72, 0x69 .byte 0x7C, 0x46, 0x72, 0x69, 0x64, 0x61, 0x79, 0x7C, 0x53, 0x61, 0x74, 0x7C, 0x53, 0x61, 0x74, 0x75 .byte 0x72, 0x64, 0x61, 0x79, 0x00, 0x00, 0x00, 0x00 .global _020B309C _020B309C: .byte 0x4A, 0x61, 0x6E, 0x7C, 0x4A, 0x61, 0x6E, 0x75 .byte 0x61, 0x72, 0x79, 0x7C, 0x46, 0x65, 0x62, 0x7C, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x79 .byte 0x7C, 0x4D, 0x61, 0x72, 0x7C, 0x4D, 0x61, 0x72, 0x63, 0x68, 0x7C, 0x41, 0x70, 0x72, 0x7C, 0x41 .byte 0x70, 0x72, 0x69, 0x6C, 0x7C, 0x4D, 0x61, 0x79, 0x7C, 0x4D, 0x61, 0x79, 0x7C, 0x4A, 0x75, 0x6E .byte 0x7C, 0x4A, 0x75, 0x6E, 0x65, 0x7C, 0x4A, 0x75, 0x6C, 0x7C, 0x4A, 0x75, 0x6C, 0x79, 0x7C, 0x41 .byte 0x75, 0x67, 0x7C, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x7C, 0x53, 0x65, 0x70, 0x7C, 0x53, 0x65 .byte 0x70, 0x74, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x7C, 0x4F, 0x63, 0x74, 0x7C, 0x4F, 0x63, 0x74, 0x6F .byte 0x62, 0x65, 0x72, 0x7C, 0x4E, 0x6F, 0x76, 0x7C, 0x4E, 0x6F, 0x76, 0x65, 0x6D, 0x62, 0x65, 0x72 .byte 0x7C, 0x44, 0x65, 0x63, 0x7C, 0x44, 0x65, 0x63, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x00, 0x00, 0x00 .global _020B3124 _020B3124: .byte 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00 .byte 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00 .byte 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00 .byte 0x29, 0x00, 0x2A, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00 .byte 0x17, 0x00, 0x2B, 0x00, 0x2D, 0x00, 0x2F, 0x00, 0x31, 0x00, 0x33, 0x00, 0x35, 0x00, 0x37, 0x00 .byte 0x39, 0x00, 0x3B, 0x00, 0x3D, 0x00, 0x3F, 0x00, 0x41, 0x00, 0x43, 0x00, 0x45, 0x00, 0x47, 0x00 .byte 0x49, 0x00, 0x4B, 0x00, 0x4D, 0x00, 0x4F, 0x00, 0x51, 0x00, 0x53, 0x00, 0x55, 0x00, 0x57, 0x00 .byte 0x59, 0x00, 0x5B, 0x00, 0x5D, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x1C, 0x00 .byte 0x00, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x32, 0x00, 0x34, 0x00, 0x36, 0x00, 0x38, 0x00 .byte 0x3A, 0x00, 0x3C, 0x00, 0x3E, 0x00, 0x40, 0x00, 0x42, 0x00, 0x44, 0x00, 0x46, 0x00, 0x48, 0x00 .byte 0x4A, 0x00, 0x4C, 0x00, 0x4E, 0x00, 0x50, 0x00, 0x52, 0x00, 0x54, 0x00, 0x56, 0x00, 0x58, 0x00 .byte 0x5A, 0x00, 0x5C, 0x00, 0x5E, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x00, 0x00 .global _020B31E4 _020B31E4: .byte 0x30, 0x78, 0x30, 0x70, 0x30, 0x00, 0x00, 0x00 .global _020B31EC _020B31EC: .byte 0x2D, 0x49, 0x4E, 0x46, 0x00, 0x00, 0x00, 0x00 .global _020B31F4 _020B31F4: .byte 0x2D, 0x69, 0x6E, 0x66, 0x00, 0x00, 0x00, 0x00 .global _020B31FC _020B31FC: .byte 0x49, 0x4E, 0x46, 0x00 .global _020B3200 _020B3200: .byte 0x69, 0x6E, 0x66, 0x00 .global _020B3204 _020B3204: .byte 0x2D, 0x4E, 0x41, 0x4E, 0x00, 0x00, 0x00, 0x00 .global _020B320C _020B320C: .byte 0x2D, 0x6E, 0x61, 0x6E, 0x00, 0x00, 0x00, 0x00 .global _020B3214 _020B3214: .byte 0x4E, 0x41, 0x4E, 0x00 .global _020B3218 _020B3218: .byte 0x6E, 0x61, 0x6E, 0x00 .global _020B321C _020B321C: .byte 0x00, 0x00, 0x00, 0x00 .global _020B3220 _020B3220: .byte 0x00, 0x00, 0x00, 0x00 .global _020B3224 _020B3224: .byte 0x01, 0x00, 0x00, 0x00 .global _020B3228 _020B3228: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x59, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8F, 0x40, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x88, 0xC3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xF8, 0x40, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x84, 0x2E, 0x41, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x12, 0x63, 0x41, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0xD7, 0x97, 0x41 .global _020B3268 _020B3268: .byte 0x35, 0x34, 0x32, 0x31, 0x30, 0x31, 0x30, 0x38, 0x36, 0x32, 0x34, 0x32 .byte 0x37, 0x35, 0x32, 0x32, 0x31, 0x37, 0x30, 0x30, 0x33, 0x37, 0x32, 0x36, 0x34, 0x30, 0x30, 0x34 .byte 0x33, 0x34, 0x39, 0x37, 0x30, 0x38, 0x35, 0x35, 0x37, 0x31, 0x32, 0x38, 0x39, 0x30, 0x36, 0x32 .byte 0x35, 0x00, 0x00, 0x00 .global _020B3298 _020B3298: .byte 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32 .byte 0x35, 0x31, 0x35, 0x36, 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38 .byte 0x30, 0x39, 0x30, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00 .global _020B32C0 _020B32C0: .byte 0x32, 0x33, 0x32, 0x38 .byte 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, 0x32, 0x38, 0x39, 0x30 .byte 0x36, 0x32, 0x35, 0x00 .global _020B32D8 _020B32D8: .byte 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35 .byte 0x00, 0x00, 0x00, 0x00 .global _020B32E8 _020B32E8: .byte 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00 .global _020B32F0 _020B32F0: .byte 0x37, 0x38, 0x31, 0x32 .byte 0x35, 0x00, 0x00, 0x00 .global _020B32F8 _020B32F8: .byte 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00 .global _020B3300 _020B3300: .byte 0x33, 0x31, 0x32, 0x35 .byte 0x00, 0x00, 0x00, 0x00 .global _020B3308 _020B3308: .byte 0x36, 0x32, 0x35, 0x00 .global _020B330C _020B330C: .byte 0x31, 0x32, 0x35, 0x00 .global _020B3310 _020B3310: .byte 0x32, 0x35, 0x00, 0x00 .global _020B3314 _020B3314: .byte 0x35, 0x00, 0x00, 0x00 .global _020B3318 _020B3318: .byte 0x31, 0x00, 0x00, 0x00 .global _020B331C _020B331C: .byte 0x32, 0x00, 0x00, 0x00 .global _020B3320 _020B3320: .byte 0x34, 0x00, 0x00, 0x00 .global _020B3324 _020B3324: .byte 0x38, 0x00, 0x00, 0x00 .global _020B3328 _020B3328: .byte 0x31, 0x36, 0x00, 0x00 .global _020B332C _020B332C: .byte 0x33, 0x32, 0x00, 0x00 .global _020B3330 _020B3330: .byte 0x36, 0x34, 0x00, 0x00 .global _020B3334 _020B3334: .byte 0x31, 0x32, 0x38, 0x00 .global _020B3338 _020B3338: .byte 0x32, 0x35, 0x36, 0x00 .global _020B333C _020B333C: .byte 0x31, 0x37, 0x39, 0x37, 0x36, 0x39, 0x33, 0x31 .byte 0x33, 0x34, 0x38, 0x36, 0x32, 0x33, 0x31, 0x35, 0x38, 0x30, 0x37, 0x39, 0x33, 0x37, 0x32, 0x38 .byte 0x37, 0x31, 0x34, 0x30, 0x35, 0x33, 0x30, 0x33, 0x34, 0x31, 0x35, 0x31, 0x00, 0x00, 0x00, 0x00 .global _020B3364 _020B3364: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .bss .global _020B3380 _020B3380: .space 0x4 .global _020B3384 _020B3384: .space 0x1C .global _020B33A0 _020B33A0: .space 0x20 .global _020B33C0 _020B33C0: .space 0x1800 .global _020B4BC0 _020B4BC0: .space 0x1B64C .global _020D020C _020D020C: .space 0x1FE84 .global _020F0090 _020F0090: .space 0x178 .global _020F0208 _020F0208: .space 0x20008 .global _02110210 _02110210: .space 0x20004 .global _02130214 _02130214: .space 0x20000 .global _02150214 _02150214: .space 0x40004 .global _02190218 _02190218: .space 0x6840 .global _02196A58 _02196A58: .space 0x15D9C .global _021AC7F4 _021AC7F4: .space 0x47E8 .global _021B0FDC _021B0FDC: .space 0xE048 .global _021BF024 _021BF024: .space 0x111F8 .global _021D021C _021D021C: .space 0x19E68 .global _021EA084 _021EA084: .space 0x2619C .global _02210220 _02210220: .space 0xDBC .global _02210FDC _02210FDC: .space 0xE048 .global _0221F024 _0221F024: .space 0x31200 .global _02250224 _02250224: .space 0x4EDB .global _022550FF _022550FF: .space 0x3B129 .global _02290228 _02290228: .space 0xAD98 .global _0229AFC0 _0229AFC0: .space 0xC .global _0229AFCC _0229AFCC: .space 0x18 .global _0229AFE4 _0229AFE4: .space 0x20 .global _0229B004 _0229B004: .space 0xDC .global _0229B0E0 _0229B0E0: .space 0x8 .global _0229B0E8 _0229B0E8: .space 0x8 .global _0229B0F0 _0229B0F0: .space 0x8 .global _0229B0F8 _0229B0F8: .space 0x18 .global _0229B110 _0229B110: .space 0x4 .global _0229B114 _0229B114: .space 0x108 .global _0229B21C _0229B21C: .space 0x4 .global _0229B220 _0229B220: .space 0x28 .global _0229B248 _0229B248: .space 0x4000 .global _0229F248 _0229F248: .space 0x4000 .global _022A3248 _022A3248: .space 0x2F0 .global _022A3538 _022A3538: .space 0x4 .global _022A353C _022A353C: .space 0x18 .global _022A3554 _022A3554: .space 0x88 .global _022A35DC _022A35DC: .space 0xC .global _022A35E8 _022A35E8: .space 0x2C .global _022A3614 _022A3614: .space 0xC .global _022A3620 _022A3620: .space 0xC .global _022A362C _022A362C: .space 0x18 .global _022A3644 _022A3644: .space 0x14 .global _022A3658 _022A3658: .space 0x18 .global _022A3670 _022A3670: .space 0x28 .global _022A3698 _022A3698: .space 0x4 .global _022A369C _022A369C: .space 0x28 .global _022A36C4 _022A36C4: .space 0xDC .global _022A37A0 _022A37A0: .space 0x4 .global _022A37A4 _022A37A4: .space 0x8 .global _022A37AC _022A37AC: .space 0x1 .global _022A37AD _022A37AD: .space 0x1 .global _022A37AE _022A37AE: .space 0x1 .global _022A37AF _022A37AF: .space 0x1 .global _022A37B0 _022A37B0: .space 0x6 .global _022A37B6 _022A37B6: .space 0x1 .global _022A37B7 _022A37B7: .space 0x1 .global _022A37B8 _022A37B8: .space 0x1 .global _022A37B9 _022A37B9: .space 0x1 .global _022A37BA _022A37BA: .space 0x2 .global _022A37BC _022A37BC: .space 0x2 .global _022A37BE _022A37BE: .space 0xE .global _022A37CC _022A37CC: .space 0x4 .global _022A37D0 _022A37D0: .space 0x4 .global _022A37D4 _022A37D4: .space 0x4 .global _022A37D8 _022A37D8: .space 0x14 .global _022A37EC _022A37EC: .space 0x1 .global _022A37ED _022A37ED: .space 0x1 .global _022A37EE _022A37EE: .space 0x1 .global _022A37EF _022A37EF: .space 0x1 .global _022A37F0 _022A37F0: .space 0x1 .global _022A37F1 _022A37F1: .space 0x1 .global _022A37F2 _022A37F2: .space 0x1 .global _022A37F3 _022A37F3: .space 0x1 .global _022A37F4 _022A37F4: .space 0x1 .global _022A37F5 _022A37F5: .space 0x1 .global _022A37F6 _022A37F6: .space 0x1 .global _022A37F7 _022A37F7: .space 0x1 .global _022A37F8 _022A37F8: .space 0x1 .global _022A37F9 _022A37F9: .space 0x1 .global _022A37FA _022A37FA: .space 0x1 .global _022A37FB _022A37FB: .space 0x1 .global _022A37FC _022A37FC: .space 0x1 .global _022A37FD _022A37FD: .space 0x1 .global _022A37FE _022A37FE: .space 0x1 .global _022A37FF _022A37FF: .space 0x1 .global _022A3800 _022A3800: .space 0x1 .global _022A3801 _022A3801: .space 0x1 .global _022A3802 _022A3802: .space 0x1 .global _022A3803 _022A3803: .space 0x1 .global _022A3804 _022A3804: .space 0x1 .global _022A3805 _022A3805: .space 0x1 .global _022A3806 _022A3806: .space 0x1E .global _022A3824 _022A3824: .space 0x13B4 .global _022A4BD8 _022A4BD8: .space 0x10 .global _022A4BE8 _022A4BE8: .space 0x4 .global _022A4BEC _022A4BEC: .space 0x14 .global _022A4C00 _022A4C00: .space 0x28 .global _022A4C28 _022A4C28: .space 0x28 .global _022A4C50 _022A4C50: .space 0x200 .global _022A4E50 _022A4E50: .space 0x8 .global _022A4E58 _022A4E58: .space 0x24 .global _022A4E7C _022A4E7C: .space 0x8 .global _022A4E84 _022A4E84: .space 0x8 .global _022A4E8C _022A4E8C: .space 0x18 .global _022A4EA4 _022A4EA4: .space 0x8 .global _022A4EAC _022A4EAC: .space 0x8 .global _022A4EB4 _022A4EB4: .space 0x10 .global _022A4EC4 _022A4EC4: .space 0x8 .global _022A4ECC _022A4ECC: .space 0x28 .global _022A4EF4 _022A4EF4: .space 0x8 .global _022A4EFC _022A4EFC: .space 0x3C .global _022A4F38 _022A4F38: .space 0x100 .global _022A5038 _022A5038: .space 0x10 .global _022A5048 _022A5048: .space 0x4 .global _022A504C _022A504C: .space 0x1C .global _022A5068 _022A5068: .space 0x200 .global _022A5268 _022A5268: .space 0x200 .global _022A5468 _022A5468: .space 0x501 .global _022A5969 _022A5969: .space 0x1 .global _022A596A _022A596A: .space 0x6 .global _022A5970 _022A5970: .space 0x48 .global _022A59B8 _022A59B8: .space 0x8 .global _022A59C0 _022A59C0: .space 0x48 .global _022A5A08 _022A5A08: .space 0x2000 .global _022A7A08 _022A7A08: .space 0x4 .global _022A7A0C _022A7A0C: .space 0x48 .global _022A7A54 _022A7A54: .space 0x8 .global _022A7A5C _022A7A5C: .space 0x8 .global _022A7A64 _022A7A64: .space 0x8 .global _022A7A6C _022A7A6C: .space 0x8 .global _022A7A74 _022A7A74: .space 0x4 .global _022A7A78 _022A7A78: .space 0x14 .global _022A7A8C _022A7A8C: .space 0x14 .global _022A7AA0 _022A7AA0: .space 0x14 .global _022A7AB4 _022A7AB4: .space 0x2 .global _022A7AB6 _022A7AB6: .space 0x12 .global _022A7AC8 _022A7AC8: .space 0x1C .global _022A7AE4 _022A7AE4: .space 0x1C .global _022A7B00 _022A7B00: .space 0x1C .global _022A7B1C _022A7B1C: .space 0x3C0 .global _022A7EDC _022A7EDC: .space 0xA00 .global _022A88DC _022A88DC: .space 0x8 .global _022A88E4 _022A88E4: .space 0xC .global _022A88F0 _022A88F0: .space 0x8 .global _022A88F8 _022A88F8: .space 0x4 .global _022A88FC _022A88FC: .space 0xC .global _022A8908 _022A8908: .space 0x88 .global _022A8990 _022A8990: .space 0x1 .global _022A8991 _022A8991: .space 0x1 .global _022A8992 _022A8992: .space 0x2 .global _022A8994 _022A8994: .space 0x10C8 .global _022A9A5C _022A9A5C: .space 0x900 .global _022AA35C _022AA35C: .space 0x908 .global _022AAC64 _022AAC64: .space 0x4 .global _022AAC68 _022AAC68: .space 0x18 .global _022AAC80 _022AAC80: .space 0x7C .global _022AACFC _022AACFC: .space 0x7C .global _022AAD78 _022AAD78: .space 0x4 .global _022AAD7C _022AAD7C: .space 0x7C .global _022AADF8 _022AADF8: .space 0x4 .global _022AADFC _022AADFC: .space 0x4 .global _022AAE00 _022AAE00: .space 0x2A .global _022AAE2A _022AAE2A: .space 0x4 .global _022AAE2E _022AAE2E: .space 0x1E .global _022AAE4C _022AAE4C: .space 0xC .global _022AAE58 _022AAE58: .space 0xC .global _022AAE64 _022AAE64: .space 0x4 .global _022AAE68 _022AAE68: .space 0x8 .global _022AAE70 _022AAE70: .space 0x4 .global _022AAE74 _022AAE74: .space 0x4 .global _022AAE78 _022AAE78: .space 0x2C .global _022AAEA4 _022AAEA4: .space 0x4 .global _022AAEA8 _022AAEA8: .space 0x4 .global _022AAEAC _022AAEAC: .space 0x1F0 .global _022AB09C _022AB09C: .space 0x4 .global _022AB0A0 _022AB0A0: .space 0x1 .global _022AB0A1 _022AB0A1: .space 0x1 .global _022AB0A2 _022AB0A2: .space 0x7 .global _022AB0A9 _022AB0A9: .space 0x3 .global _022AB0AC _022AB0AC: .space 0x400 .global _022AB4AC _022AB4AC: .space 0x4 .global _022AB4B0 _022AB4B0: .space 0x48 .global _022AB4F8 _022AB4F8: .space 0x4 .global _022AB4FC _022AB4FC: .space 0x14 .global _022AB510 _022AB510: .space 0x8 .global _022AB518 _022AB518: .space 0x90 .global _022AB5A8 _022AB5A8: .space 0x4 .global _022AB5AC _022AB5AC: .space 0xE8 .global _022AB694 _022AB694: .space 0x8 .global _022AB69C _022AB69C: .space 0x27C .global _022AB918 _022AB918: .space 0xC .global _022AB924 _022AB924: .space 0x8 .global _022AB92C _022AB92C: .space 0x4 .global _022AB930 _022AB930: .space 0x4B0 .global _022ABDE0 _022ABDE0: .space 0x99A8 .global _022B5788 _022B5788: .space 0x4 .global _022B578C _022B578C: .space 0x30 .global _022B57BC _022B57BC: .space 0x4 .global _022B57C0 _022B57C0: .space 0x4C .global _022B580C _022B580C: .space 0x104 .global _022B5910 _022B5910: .space 0x1600 .global _022B6F10 _022B6F10: .space 0x400 .global _022B7310 _022B7310: .space 0x10 .global _022B7320 _022B7320: .space 0x10 .global _022B7330 _022B7330: .space 0x1 .global _022B7331 _022B7331: .space 0x3 .global _022B7334 _022B7334: .space 0xC .global _022B7340 _022B7340: .space 0xC .global _022B734C _022B734C: .space 0x24 .global _022B7370 _022B7370: .space 0x10 .global _022B7380 _022B7380: .space 0x8 .global _022B7388 _022B7388: .space 0x600 .global _022B7988 _022B7988: .space 0x8 .global _022B7990 _022B7990: .space 0x4 .global _022B7994 _022B7994: .space 0x4 .global _022B7998 _022B7998: .space 0x4 .global _022B799C _022B799C: .space 0x94 .global _022B7A30 _022B7A30: .space 0xE .global _022B7A3E _022B7A3E: .space 0x2E .global _022B7A6C _022B7A6C: .space 0x8C4 .global _022B8330 _022B8330: .space 0xD14 .global _022B9044 _022B9044: .space 0xC8 .global _022B910C _022B910C: .space 0x14 .global _022B9120 _022B9120: .space 0x10 .global _022B9130 _022B9130: .space 0xD8 .global _022B9208 _022B9208: .space 0x2C .global _022B9234 _022B9234: .space 0xCC .global _022B9300 _022B9300: .space 0x184 .global _022B9484 _022B9484: .space 0x38 .global _022B94BC _022B94BC: .space 0xC8 .global _022B9584 _022B9584: .space 0x4 .global _022B9588 _022B9588: .space 0x2 .global _022B958A _022B958A: .space 0x2 .global _022B958C _022B958C: .space 0x2 .global _022B958E _022B958E: .space 0x2 .global _022B9590 _022B9590: .space 0x2 .global _022B9592 _022B9592: .space 0x2 .global _022B9594 _022B9594: .space 0x2 .global _022B9596 _022B9596: .space 0x2 .global _022B9598 _022B9598: .space 0x2 .global _022B959A _022B959A: .space 0x2 .global _022B959C _022B959C: .space 0x2 .global _022B959E _022B959E: .space 0x2 .global _022B95A0 _022B95A0: .space 0x2 .global _022B95A2 _022B95A2: .space 0x2 .global _022B95A4 _022B95A4: .space 0x4 .global _022B95A8 _022B95A8: .space 0x1C .global _022B95C4 _022B95C4: .space 0x20 .global _022B95E4 _022B95E4: .space 0x4 .global _022B95E8 _022B95E8: .space 0x4 .global _022B95EC _022B95EC: .space 0x28 .global _022B9614 _022B9614: .space 0x4 .global _022B9618 _022B9618: .space 0x4 .global _022B961C _022B961C: .space 0x28 .global _022B9644 _022B9644: .space 0x4 .global _022B9648 _022B9648: .space 0xC .global _022B9654 _022B9654: .space 0x18 .global _022B966C _022B966C: .space 0x4 .global _022B9670 _022B9670: .space 0xC .global _022B967C _022B967C: .space 0xC0 .global _022B973C _022B973C: .space 0x188 .global _022B98C4 _022B98C4: .space 0x8 .global _022B98CC _022B98CC: .space 0x24 .global _022B98F0 _022B98F0: .space 0x4 .global _022B98F4 _022B98F4: .space 0x4 .global _022B98F8 _022B98F8: .space 0x24 .global _022B991C _022B991C: .space 0x80 .global _022B999C _022B999C: .space 0x4 .global _022B99A0 _022B99A0: .space 0x8 .global _022B99A8 _022B99A8: .space 0x8 .global _022B99B0 _022B99B0: .space 0xC .global _022B99BC _022B99BC: .space 0x14 .global _022B99D0 _022B99D0: .space 0x4 .global _022B99D4 _022B99D4: .space 0x4 .global _022B99D8 _022B99D8: .space 0x14 .global _022B99EC _022B99EC: .space 0x4 .global _022B99F0 _022B99F0: .space 0x30 .global _022B9A20 _022B9A20: .space 0x24 .global _022B9A44 _022B9A44: .space 0x3C .global _022B9A80 _022B9A80: .space 0x280 .global _022B9D00 _022B9D00: .space 0xD20 .global _022BAA20 _022BAA20: .space 0xAC8 .global _022BB4E8 _022BB4E8: .space 0x18 .global _022BB500 _022BB500: .space 0x60 .global _022BB560 _022BB560: .space 0x4 .global _022BB564 _022BB564: .space 0x4 .global _022BB568 _022BB568: .space 0x80 .global _022BB5E8 _022BB5E8: .space 0x4 .global _022BB5EC _022BB5EC: .space 0xC .global _022BB5F8 _022BB5F8: .space 0x4 .global _022BB5FC _022BB5FC: .space 0x8 .global _022BB604 _022BB604: .space 0x8 .global _022BB60C _022BB60C: .space 0x8 .global _022BB614 _022BB614: .space 0x5C .global _022BB670 _022BB670: .space 0x1C .global _022BB68C _022BB68C: .space 0x20 .global _022BB6AC _022BB6AC: .space 0xC .global _022BB6B8 _022BB6B8: .space 0xC .global _022BB6C4 _022BB6C4: .space 0x4 .global _022BB6C8 _022BB6C8: .space 0x10 .global _022BB6D8 _022BB6D8: .space 0x18 .global _022BB6F0 _022BB6F0: .space 0x4 .global _022BB6F4 _022BB6F4: .space 0x24 .global _022BB718 _022BB718: .space 0xC .global _022BB724 _022BB724: .space 0x3C .global _022BB760 _022BB760: .space 0x20 .global _022BB780 _022BB780: .space 0x60 .global _022BB7E0 _022BB7E0: .space 0x620 .global _022BBE00 _022BBE00: .space 0x20 .global _022BBE20 _022BBE20: .space 0x220 .global _022BC040 _022BC040: .space 0x8 .global _022BC048 _022BC048: .space 0x4 .global _022BC04C _022BC04C: .space 0x14 .global _022BC060 _022BC060: .space 0x20 .global _022BC080 _022BC080: .space 0x4 .global _022BC084 _022BC084: .space 0xBC .global _022BC140 _022BC140: .space 0xE8 .global _022BC228 _022BC228: .space 0x4 .global _022BC22C _022BC22C: .space 0x424 .global _022BC650 _022BC650: .space 0x24 .global _022BC674 _022BC674: .space 0x24 .global _022BC698 _022BC698: .space 0xD8 .global _022BC770 _022BC770: .space 0x100 .global _022BC870 _022BC870: .space 0x100 .global _022BC970 _022BC970: .space 0x100 .global _022BCA70 _022BCA70: .space 0x4 .global _022BCA74 _022BCA74: .space 0xC