pokediamond/arm9/asm/unk_02025954.s

2916 lines
49 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.extern gSystem
.section .rodata
.global UNK_020EE958
UNK_020EE958: ; 0x020EE958
.byte 0x00, 0x02, 0x02, 0x04, 0x04, 0x05, 0x00, 0x01, 0x01, 0x03, 0x03, 0x05
.section .data
.global UNK_02105C74
UNK_02105C74: ; 0x02105C74
.byte 0x6E, 0x00, 0x6F, 0x00, 0x50, 0x00, 0x5B, 0x00, 0x51, 0x00, 0xEE, 0x00, 0x53, 0x00, 0xE5, 0x00
.byte 0x52, 0x00, 0x54, 0x00, 0x55, 0x00, 0x5C, 0x00, 0x65, 0x00, 0x66, 0x00, 0x64, 0x00, 0x63, 0x00
.byte 0x67, 0x00, 0x6A, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00
.byte 0x5D, 0x00, 0x68, 0x00, 0x69, 0x00, 0x0D, 0x01, 0x16, 0x01, 0x1A, 0x01, 0x1B, 0x01, 0x1C, 0x01
.byte 0x1D, 0x01, 0x2A, 0x01, 0x2B, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x2F, 0x01, 0x30, 0x01
.byte 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01
.byte 0x39, 0x01, 0x00, 0x00
.text
thumb_func_start sub_02025954
sub_02025954: ; 0x02025954
ldr r0, _02025958 ; =0x000009B4
bx lr
.balign 4
_02025958: .word 0x000009B4
thumb_func_start sub_0202595C
sub_0202595C: ; 0x0202595C
mov r0, #0x94
bx lr
thumb_func_start sub_02025960
sub_02025960: ; 0x02025960
mov r0, #0x3c
bx lr
thumb_func_start sub_02025964
sub_02025964: ; 0x02025964
push {r4, lr}
mov r1, #0x3c
bl Heap_Alloc
mov r1, #0x0
mov r2, #0x3c
add r4, r0, #0x0
bl MI_CpuFill8
add r0, r4, #0x0
pop {r4, pc}
.balign 4
thumb_func_start sub_0202597C
sub_0202597C: ; 0x0202597C
push {r4-r7, lr}
sub sp, #0x1c
add r4, r0, #0x0
add r0, sp, #0xc
add r1, sp, #0x0
bl GF_RTC_CopyDateTime
ldr r0, _020259D8 ; =gSystem
ldr r6, [sp, #0xc]
ldr r1, [sp, #0x8]
ldr r0, [r0, #0x2c]
lsl r6, r6, #0x5
add r5, r1, r0
ldr r0, [sp, #0x10]
ldr r1, [sp, #0x14]
add r0, r0, r6
lsl r0, r0, #0x5
add r0, r1, r0
mov r7, #0x0
ldr r2, [sp, #0x0]
lsl r0, r0, #0x5
add r0, r2, r0
ldr r3, [sp, #0x4]
lsl r0, r0, #0x5
add r0, r3, r0
lsl r0, r0, #0x5
add r5, r5, r0
ldr r2, _020259DC ; =0x000009B4
add r0, r4, #0x0
add r1, r7, #0x0
bl MI_CpuFill8
add r0, r4, #0x0
add r0, #0x94
mov r1, #0x9b
str r5, [r0, #0x0]
lsl r1, r1, #0x4
ldrb r2, [r4, r1]
mov r0, #0xf
bic r2, r0
mov r0, #0x1
orr r0, r2
strb r0, [r4, r1]
add sp, #0x1c
pop {r4-r7, pc}
nop
_020259D8: .word gSystem
_020259DC: .word 0x000009B4
thumb_func_start sub_020259E0
sub_020259E0: ; 0x020259E0
mov r1, #0x9
mov r3, #0x0
lsl r1, r1, #0x8
_020259E6:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
bne _020259F2
add r0, r3, #0x0
bx lr
_020259F2:
add r3, r3, #0x1
cmp r3, #0x28
blt _020259E6
mov r0, #0x0
mvn r0, r0
bx lr
.balign 4
thumb_func_start sub_02025A00
sub_02025A00: ; 0x02025A00
mov r1, #0x95
mov r3, #0x0
lsl r1, r1, #0x4
_02025A06:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
bne _02025A12
add r0, r3, #0x0
bx lr
_02025A12:
add r3, r3, #0x1
cmp r3, #0x28
blt _02025A06
mov r0, #0x0
mvn r0, r0
bx lr
.balign 4
thumb_func_start sub_02025A20
sub_02025A20: ; 0x02025A20
ldr r1, _02025A3C ; =0x00000928
mov r3, #0x0
_02025A24:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
bne _02025A30
add r0, r3, #0x0
bx lr
_02025A30:
add r3, r3, #0x1
cmp r3, #0x28
blt _02025A24
mov r0, #0x0
mvn r0, r0
bx lr
.balign 4
_02025A3C: .word 0x00000928
thumb_func_start sub_02025A40
sub_02025A40: ; 0x02025A40
ldr r1, _02025A5C ; =0x000008D8
mov r3, #0x0
_02025A44:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
bne _02025A50
add r0, r3, #0x0
bx lr
_02025A50:
add r3, r3, #0x1
cmp r3, #0x28
blt _02025A44
mov r0, #0x0
mvn r0, r0
bx lr
.balign 4
_02025A5C: .word 0x000008D8
thumb_func_start sub_02025A60
sub_02025A60: ; 0x02025A60
push {r4-r7, lr}
sub sp, #0x14
str r1, [sp, #0x0]
bl sub_02026CC4
ldr r1, _02025B50 ; =UNK_020EE958
add r6, r0, #0x0
ldrb r2, [r1, #0x0]
add r0, sp, #0x8
strb r2, [r0, #0x6]
ldrb r2, [r1, #0x1]
strb r2, [r0, #0x7]
ldrb r2, [r1, #0x2]
strb r2, [r0, #0x8]
ldrb r2, [r1, #0x3]
strb r2, [r0, #0x9]
ldrb r2, [r1, #0x4]
strb r2, [r0, #0xa]
ldrb r2, [r1, #0x5]
strb r2, [r0, #0xb]
ldrb r2, [r1, #0x6]
strb r2, [r0, #0x0]
ldrb r2, [r1, #0x7]
strb r2, [r0, #0x1]
ldrb r2, [r1, #0x8]
strb r2, [r0, #0x2]
ldrb r2, [r1, #0x9]
strb r2, [r0, #0x3]
ldrb r2, [r1, #0xa]
strb r2, [r0, #0x4]
ldrb r1, [r1, #0xb]
strb r1, [r0, #0x5]
ldr r0, [sp, #0x0]
cmp r0, #0x0
ble _02025B4C
str r0, [sp, #0x4]
cmp r0, #0x63
ble _02025AB0
mov r0, #0x63
str r0, [sp, #0x4]
_02025AB0:
add r0, r6, #0x0
add r0, #0x94
ldr r3, [r0, #0x0]
mov r0, #0x0
mov r12, r0
ldr r0, [sp, #0x4]
cmp r0, #0x0
ble _02025B28
add r7, sp, #0xc
add r7, #0x2
_02025AC4:
mov r2, #0x0
_02025AC6:
ldr r0, _02025B54 ; =0x0000055C
add r4, r6, r2
ldrb r5, [r4, r0]
cmp r5, #0x0
beq _02025B16
ldr r0, _02025B58 ; =0x5D588B65
ldrb r1, [r7, r5]
mul r0, r3
ldr r3, _02025B5C ; =0x00269EC3
add r3, r0, r3
cmp r1, #0x0
bne _02025AE2
lsr r0, r3, #0x10
b _02025AE8
_02025AE2:
lsr r0, r3, #0x10
mul r1, r0
lsr r0, r1, #0x10
_02025AE8:
lsl r0, r0, #0x10
lsr r1, r0, #0x10
add r0, sp, #0x8
ldrb r0, [r0, r5]
add r0, r0, r1
mov r1, #0x17
lsl r1, r1, #0x6
ldrb r1, [r4, r1]
add r1, r0, r1
cmp r1, #0x63
bge _02025B0E
mov r1, #0x17
lsl r1, r1, #0x6
ldrb r1, [r4, r1]
add r1, r1, r0
mov r0, #0x17
lsl r0, r0, #0x6
strb r1, [r4, r0]
b _02025B16
_02025B0E:
mov r0, #0x17
mov r1, #0x63
lsl r0, r0, #0x6
strb r1, [r4, r0]
_02025B16:
add r2, r2, #0x1
cmp r2, #0x64
blt _02025AC6
mov r0, r12
add r1, r0, #0x1
ldr r0, [sp, #0x4]
mov r12, r1
cmp r1, r0
blt _02025AC4
_02025B28:
add r0, r6, #0x0
add r0, #0x94
ldr r1, [r0, #0x0]
ldr r0, [sp, #0x0]
add r0, r1, r0
bl PRandom
add r1, r6, #0x0
add r1, #0x94
str r0, [r1, #0x0]
mov r1, #0x9b
lsl r1, r1, #0x4
ldrb r2, [r6, r1]
mov r0, #0xf
bic r2, r0
mov r0, #0x1
orr r0, r2
strb r0, [r6, r1]
_02025B4C:
add sp, #0x14
pop {r4-r7, pc}
.balign 4
_02025B50: .word UNK_020EE958
_02025B54: .word 0x0000055C
_02025B58: .word 0x5D588B65
_02025B5C: .word 0x00269EC3
thumb_func_start sub_02025B60
sub_02025B60: ; 0x02025B60
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r2, #0x0
bl sub_02026CC4
cmp r4, #0x0
blt _02025B90
cmp r5, #0x0
bne _02025B90
add r1, r0, #0x0
add r1, #0x98
ldr r1, [r1, #0x0]
cmp r1, r4
bge _02025B84
mov r1, #0x0
add r0, #0x98
str r1, [r0, #0x0]
pop {r3-r5, pc}
_02025B84:
add r1, r0, #0x0
add r1, #0x98
ldr r1, [r1, #0x0]
add r0, #0x98
sub r1, r1, r4
str r1, [r0, #0x0]
_02025B90:
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02025B94
sub_02025B94: ; 0x02025B94
push {r3, lr}
bl sub_02026CC4
add r1, r0, #0x0
add r1, #0x98
ldr r1, [r1, #0x0]
cmp r1, #0x0
bne _02025BB6
add r1, r0, #0x0
add r1, #0x9c
ldrb r1, [r1, #0x0]
cmp r1, #0x2
bne _02025BB6
add r1, r0, #0x0
mov r2, #0x0
add r1, #0x9c
strb r2, [r1, #0x0]
_02025BB6:
add r1, r0, #0x0
add r1, #0x98
ldr r1, [r1, #0x0]
cmp r1, #0x0
bne _02025BD4
add r1, r0, #0x0
add r1, #0x9c
ldrb r1, [r1, #0x0]
cmp r1, #0x1
bne _02025BD4
mov r2, #0x5a
add r1, r0, #0x0
lsl r2, r2, #0x4
add r1, #0x98
str r2, [r1, #0x0]
_02025BD4:
add r1, r0, #0x0
add r1, #0x9c
ldrb r1, [r1, #0x0]
cmp r1, #0x1
bne _02025BE4
mov r1, #0x2
add r0, #0x9c
strb r1, [r0, #0x0]
_02025BE4:
pop {r3, pc}
.balign 4
thumb_func_start sub_02025BE8
sub_02025BE8: ; 0x02025BE8
push {r3, lr}
bl sub_02026CC4
add r1, r0, #0x0
add r1, #0x9c
ldrb r1, [r1, #0x0]
cmp r1, #0x0
bne _02025BFE
mov r1, #0x1
add r0, #0x9c
strb r1, [r0, #0x0]
_02025BFE:
pop {r3, pc}
thumb_func_start sub_02025C00
sub_02025C00: ; 0x02025C00
push {r3, lr}
bl sub_02026CC4
add r1, r0, #0x0
add r1, #0x9c
ldrb r1, [r1, #0x0]
cmp r1, #0x1
bne _02025C16
mov r1, #0x0
add r0, #0x9c
strb r1, [r0, #0x0]
_02025C16:
pop {r3, pc}
thumb_func_start sub_02025C18
sub_02025C18: ; 0x02025C18
push {r3, lr}
bl sub_02026CC4
add r0, #0x9c
ldrb r0, [r0, #0x0]
cmp r0, #0x2
beq _02025C2A
mov r0, #0x1
pop {r3, pc}
_02025C2A:
mov r0, #0x0
pop {r3, pc}
.balign 4
thumb_func_start sub_02025C30
sub_02025C30: ; 0x02025C30
mov r1, #0x1
add r0, #0x9d
strb r1, [r0, #0x0]
bx lr
thumb_func_start sub_02025C38
sub_02025C38: ; 0x02025C38
add r0, #0x9d
ldrb r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02025C40
sub_02025C40: ; 0x02025C40
push {r3-r7, lr}
add r7, r0, #0x0
ldr r0, _02025CD0 ; =0x0000010E
add r6, r1, #0x0
ldrb r0, [r7, r0]
mov r4, #0x0
add r5, r7, #0x0
str r0, [sp, #0x0]
_02025C50:
add r0, r6, #0x0
bl PlayerProfile_GetTrainerID
add r1, r5, #0x0
add r1, #0xa0
ldr r1, [r1, #0x0]
cmp r1, r0
beq _02025CCC
add r4, r4, #0x1
add r5, r5, #0x4
cmp r4, #0x5
blt _02025C50
ldr r0, [sp, #0x0]
cmp r0, #0x5
blt _02025C72
bl GF_AssertFail
_02025C72:
add r0, r6, #0x0
bl PlayerProfile_GetNamePtr
ldr r1, [sp, #0x0]
add r2, r7, #0x0
add r2, #0xb4
lsl r1, r1, #0x4
add r1, r2, r1
mov r2, #0x10
bl MI_CpuCopy8
add r0, r6, #0x0
bl PlayerProfile_GetTrainerID
ldr r1, [sp, #0x0]
lsl r1, r1, #0x2
add r1, r7, r1
add r1, #0xa0
str r0, [r1, #0x0]
add r0, r6, #0x0
bl PlayerProfile_GetLanguage
ldr r1, [sp, #0x0]
add r2, r7, r1
mov r1, #0x41
lsl r1, r1, #0x2
strb r0, [r2, r1]
add r0, r6, #0x0
bl PlayerProfile_GetVersion
ldr r1, [sp, #0x0]
add r2, r7, r1
ldr r1, _02025CD4 ; =0x00000109
strb r0, [r2, r1]
add r0, r1, #0x5
ldrb r0, [r7, r0]
add r2, r0, #0x1
add r0, r1, #0x5
strb r2, [r7, r0]
ldrb r0, [r7, r0]
cmp r0, #0x5
blo _02025CCC
mov r2, #0x0
add r0, r1, #0x5
strb r2, [r7, r0]
_02025CCC:
pop {r3-r7, pc}
nop
_02025CD0: .word 0x0000010E
_02025CD4: .word 0x00000109
thumb_func_start sub_02025CD8
sub_02025CD8: ; 0x02025CD8
push {r3-r7, lr}
add r5, r0, #0x0
ldr r0, _02025D38 ; =0x0000010E
ldrb r0, [r5, r0]
sub r0, r0, r2
sub r4, r0, #0x1
bpl _02025CE8
add r4, r4, #0x5
_02025CE8:
add r7, r5, #0x0
lsl r0, r4, #0x4
add r7, #0xb4
str r0, [sp, #0x0]
ldrh r0, [r7, r0]
cmp r0, #0x0
beq _02025D32
add r0, r1, #0x0
bl PlayerProfile_New
ldr r1, [sp, #0x0]
add r6, r0, #0x0
add r1, r7, r1
bl CopyPlayerName
ldr r1, _02025D3C ; =0x00000109
add r2, r5, r4
ldrb r1, [r2, r1]
add r0, r6, #0x0
bl PlayerProfile_SetVersion
mov r1, #0x41
add r2, r5, r4
lsl r1, r1, #0x2
ldrb r1, [r2, r1]
add r0, r6, #0x0
bl PlayerProfile_SetLanguage
lsl r1, r4, #0x2
add r1, r5, r1
add r1, #0xa0
ldr r1, [r1, #0x0]
add r0, r6, #0x0
bl PlayerProfile_SetTrainerID
add r0, r6, #0x0
pop {r3-r7, pc}
_02025D32:
mov r0, #0x0
pop {r3-r7, pc}
nop
_02025D38: .word 0x0000010E
_02025D3C: .word 0x00000109
thumb_func_start sub_02025D40
sub_02025D40: ; 0x02025D40
add r0, #0x94
ldr r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02025D48
sub_02025D48: ; 0x02025D48
push {r4, lr}
add r4, r0, #0x0
cmp r4, #0xb
bge _02025D54
bl GF_AssertFail
_02025D54:
cmp r4, #0x3c
blt _02025D5C
bl GF_AssertFail
_02025D5C:
sub r4, #0xb
ldr r0, _02025D68 ; =UNK_02105C74
lsl r1, r4, #0x1
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_02025D68: .word UNK_02105C74
thumb_func_start sub_02025D6C
sub_02025D6C: ; 0x02025D6C
push {r4-r5}
mov r2, #0x81
mov r5, #0x0
lsl r2, r2, #0x4
_02025D74:
add r4, r0, r5
ldrb r3, [r4, r2]
cmp r3, #0x0
bne _02025D88
mov r0, #0x81
lsl r0, r0, #0x4
strb r1, [r4, r0]
mov r0, #0x1
pop {r4-r5}
bx lr
_02025D88:
add r5, r5, #0x1
cmp r5, #0xc8
blt _02025D74
mov r0, #0x0
pop {r4-r5}
bx lr
thumb_func_start sub_02025D94
sub_02025D94: ; 0x02025D94
mov r1, #0x81
mov r3, #0x0
lsl r1, r1, #0x4
_02025D9A:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
bne _02025DA6
mov r0, #0x1
bx lr
_02025DA6:
add r3, r3, #0x1
cmp r3, #0xc8
blt _02025D9A
mov r0, #0x0
bx lr
thumb_func_start sub_02025DB0
sub_02025DB0: ; 0x02025DB0
mov r1, #0x81
mov r3, #0x0
lsl r1, r1, #0x4
_02025DB6:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
beq _02025DC4
add r3, r3, #0x1
cmp r3, #0xc8
blt _02025DB6
_02025DC4:
add r0, r3, #0x0
bx lr
thumb_func_start sub_02025DC8
sub_02025DC8: ; 0x02025DC8
add r1, r0, r1
mov r0, #0x81
lsl r0, r0, #0x4
ldrb r0, [r1, r0]
bx lr
.balign 4
thumb_func_start sub_02025DD4
sub_02025DD4: ; 0x02025DD4
push {r3-r7, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl sub_02025F0C
cmp r0, #0x0
beq _02025DE6
bl GF_AssertFail
_02025DE6:
mov r0, #0x81
add r1, r5, r4
lsl r0, r0, #0x4
add r6, r4, #0x0
ldrb r7, [r1, r0]
cmp r4, #0xc7
bge _02025E06
mov r1, #0x81
add r0, r0, #0x1
lsl r1, r1, #0x4
_02025DFA:
add r3, r5, r6
ldrb r2, [r3, r0]
add r6, r6, #0x1
cmp r6, #0xc7
strb r2, [r3, r1]
blt _02025DFA
_02025E06:
ldr r0, _02025E1C ; =0x000008D7
mov r2, #0x0
strb r2, [r5, r0]
add r0, r5, #0x0
add r1, r4, #0x0
sub r2, r2, #0x1
bl sub_02025F58
add r0, r7, #0x0
pop {r3-r7, pc}
nop
_02025E1C: .word 0x000008D7
thumb_func_start sub_02025E20
sub_02025E20: ; 0x02025E20
push {r4-r7, lr}
sub sp, #0xd4
mov r4, #0x0
add r5, r0, #0x0
sub r0, r4, #0x1
str r0, [sp, #0x4]
mov r0, #0x81
lsl r0, r0, #0x4
str r1, [sp, #0x8]
str r2, [sp, #0x0]
add r0, r5, r0
add r1, sp, #0xc
mov r2, #0xc8
bl MI_CpuCopy8
ldr r2, [sp, #0x8]
add r1, sp, #0xc
add r0, r4, #0x0
add r7, r1, r2
_02025E46:
ldr r2, [sp, #0x8]
cmp r0, r2
beq _02025E58
ldrb r6, [r1, #0x0]
mov r2, #0x81
add r3, r5, r4
lsl r2, r2, #0x4
strb r6, [r3, r2]
add r4, r4, #0x1
_02025E58:
ldr r2, [sp, #0x0]
cmp r0, r2
bne _02025E6A
ldrb r6, [r7, #0x0]
mov r2, #0x81
add r3, r5, r4
lsl r2, r2, #0x4
strb r6, [r3, r2]
add r4, r4, #0x1
_02025E6A:
add r0, r0, #0x1
add r1, r1, #0x1
cmp r0, #0xc8
blt _02025E46
ldr r0, [sp, #0x8]
mov r3, #0x0
add r2, r0, #0x1
mov r0, #0x9a
lsl r0, r0, #0x4
_02025E7C:
add r1, r5, r3
ldrb r1, [r1, r0]
cmp r2, r1
bne _02025E88
str r3, [sp, #0x4]
b _02025E8E
_02025E88:
add r3, r3, #0x1
cmp r3, #0xf
blt _02025E7C
_02025E8E:
ldr r1, [sp, #0x0]
add r0, r5, #0x0
mov r2, #0x1
bl sub_02025F58
mov r2, #0x0
ldr r1, [sp, #0x8]
add r0, r5, #0x0
mvn r2, r2
bl sub_02025F58
mov r1, #0x0
ldr r0, [sp, #0x4]
mvn r1, r1
cmp r0, r1
beq _02025ED6
ldr r1, [sp, #0x0]
ldr r0, [sp, #0x8]
cmp r0, r1
bge _02025EC8
add r0, r1, #0x0
add r2, r0, #0x1
ldr r0, [sp, #0x4]
add sp, #0xd4
add r1, r5, r0
mov r0, #0x9a
lsl r0, r0, #0x4
strb r2, [r1, r0]
pop {r4-r7, pc}
_02025EC8:
add r0, r1, #0x0
add r2, r0, #0x2
ldr r0, [sp, #0x4]
add r1, r5, r0
mov r0, #0x9a
lsl r0, r0, #0x4
strb r2, [r1, r0]
_02025ED6:
add sp, #0xd4
pop {r4-r7, pc}
.balign 4
thumb_func_start sub_02025EDC
sub_02025EDC: ; 0x02025EDC
push {r4-r6, lr}
add r6, r2, #0x0
add r5, r0, #0x0
add r4, r1, #0x0
cmp r6, #0x1
bge _02025EEC
bl GF_AssertFail
_02025EEC:
cmp r6, #0xf
ble _02025EF4
bl GF_AssertFail
_02025EF4:
sub r0, r6, #0x1
add r1, r5, r0
mov r0, #0x9a
add r2, r4, #0x1
lsl r0, r0, #0x4
strb r2, [r1, r0]
mov r0, #0x81
add r1, r5, r4
lsl r0, r0, #0x4
ldrb r0, [r1, r0]
pop {r4-r6, pc}
.balign 4
thumb_func_start sub_02025F0C
sub_02025F0C: ; 0x02025F0C
push {r3-r4}
add r3, r1, #0x1
mov r1, #0x9a
mov r4, #0x0
lsl r1, r1, #0x4
_02025F16:
add r2, r0, r4
ldrb r2, [r2, r1]
cmp r3, r2
bne _02025F24
mov r0, #0x1
pop {r3-r4}
bx lr
_02025F24:
add r4, r4, #0x1
cmp r4, #0xf
blt _02025F16
mov r0, #0x0
pop {r3-r4}
bx lr
thumb_func_start sub_02025F30
sub_02025F30: ; 0x02025F30
sub r1, r1, #0x1
cmp r1, #0xf
bge _02025F40
add r1, r0, r1
mov r0, #0x9a
mov r2, #0x0
lsl r0, r0, #0x4
strb r2, [r1, r0]
_02025F40:
bx lr
.balign 4
thumb_func_start sub_02025F44
sub_02025F44: ; 0x02025F44
mov r1, #0x9a
lsl r1, r1, #0x4
add r0, r0, r1
ldr r3, _02025F54 ; =MI_CpuFill8
mov r1, #0x0
mov r2, #0xf
bx r3
nop
_02025F54: .word MI_CpuFill8
thumb_func_start sub_02025F58
sub_02025F58: ; 0x02025F58
push {r4-r7}
mov r6, #0x9a
lsl r6, r6, #0x4
mov r4, #0x0
add r1, r1, #0x1
add r7, r6, #0x0
_02025F64:
add r3, r0, r4
ldrb r5, [r3, r7]
cmp r5, r1
ble _02025F76
mov r5, #0x9a
lsl r5, r5, #0x4
ldrb r5, [r3, r5]
add r5, r5, r2
strb r5, [r3, r6]
_02025F76:
add r4, r4, #0x1
cmp r4, #0xf
blt _02025F64
pop {r4-r7}
bx lr
thumb_func_start sub_02025F80
sub_02025F80: ; 0x02025F80
mov r1, #0x9
mov r3, #0x0
lsl r1, r1, #0x8
_02025F86:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
beq _02025F94
add r3, r3, #0x1
cmp r3, #0x28
blt _02025F86
_02025F94:
add r0, r3, #0x0
bx lr
thumb_func_start sub_02025F98
sub_02025F98: ; 0x02025F98
add r1, r0, r1
mov r0, #0x9
lsl r0, r0, #0x8
ldrb r0, [r1, r0]
bx lr
.balign 4
thumb_func_start sub_02025FA4
sub_02025FA4: ; 0x02025FA4
push {r3-r6}
mov r2, #0x9
add r3, r0, r1
lsl r2, r2, #0x8
ldrb r2, [r3, r2]
cmp r1, #0x27
bge _02025FC2
ldr r3, _02025FD0 ; =0x00000901
sub r4, r3, #0x1
_02025FB6:
add r6, r0, r1
ldrb r5, [r6, r3]
add r1, r1, #0x1
cmp r1, #0x27
strb r5, [r6, r4]
blt _02025FB6
_02025FC2:
ldr r1, _02025FD4 ; =0x00000927
mov r3, #0x0
strb r3, [r0, r1]
add r0, r2, #0x0
pop {r3-r6}
bx lr
nop
_02025FD0: .word 0x00000901
_02025FD4: .word 0x00000927
thumb_func_start sub_02025FD8
sub_02025FD8: ; 0x02025FD8
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl sub_020259E0
mov r1, #0x0
mvn r1, r1
cmp r0, r1
beq _02025FF6
add r1, r5, r0
mov r0, #0x9
lsl r0, r0, #0x8
strb r4, [r1, r0]
mov r0, #0x1
pop {r3-r5, pc}
_02025FF6:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02025FFC
sub_02025FFC: ; 0x02025FFC
push {r3-r7, lr}
sub sp, #0x30
add r5, r0, #0x0
mov r0, #0x9
lsl r0, r0, #0x8
str r1, [sp, #0x4]
str r2, [sp, #0x0]
add r0, r5, r0
add r1, sp, #0x8
mov r2, #0x28
mov r4, #0x0
bl MI_CpuCopy8
ldr r2, [sp, #0x4]
add r1, sp, #0x8
add r0, r4, #0x0
add r7, r1, r2
_0202601E:
ldr r2, [sp, #0x4]
cmp r0, r2
beq _02026030
ldrb r6, [r1, #0x0]
mov r2, #0x9
add r3, r5, r4
lsl r2, r2, #0x8
strb r6, [r3, r2]
add r4, r4, #0x1
_02026030:
ldr r2, [sp, #0x0]
cmp r0, r2
bne _02026042
ldrb r6, [r7, #0x0]
mov r2, #0x9
add r3, r5, r4
lsl r2, r2, #0x8
strb r6, [r3, r2]
add r4, r4, #0x1
_02026042:
add r0, r0, #0x1
add r1, r1, #0x1
cmp r0, #0x28
blt _0202601E
add sp, #0x30
pop {r3-r7, pc}
.balign 4
thumb_func_start sub_02026050
sub_02026050: ; 0x02026050
mov r1, #0x95
mov r3, #0x0
lsl r1, r1, #0x4
_02026056:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
beq _02026064
add r3, r3, #0x1
cmp r3, #0x28
blt _02026056
_02026064:
add r0, r3, #0x0
bx lr
thumb_func_start sub_02026068
sub_02026068: ; 0x02026068
add r1, r0, r1
mov r0, #0x95
lsl r0, r0, #0x4
ldrb r0, [r1, r0]
bx lr
.balign 4
thumb_func_start sub_02026074
sub_02026074: ; 0x02026074
add r1, r0, r1
ldr r0, _0202607C ; =0x00000978
ldrb r0, [r1, r0]
bx lr
.balign 4
_0202607C: .word 0x00000978
thumb_func_start sub_02026080
sub_02026080: ; 0x02026080
push {r4-r7}
add r2, r0, #0x0
mov r0, #0x95
add r3, r2, r1
lsl r0, r0, #0x4
ldrb r0, [r3, r0]
cmp r1, #0x27
mov r12, r0
bge _020260AE
ldr r7, _020260BC ; =0x00000951
add r4, r7, #0x0
add r5, r7, #0x0
sub r3, r7, #0x1
add r4, #0x28
add r5, #0x27
_0202609E:
add r0, r2, r1
ldrb r6, [r0, r7]
add r1, r1, #0x1
cmp r1, #0x27
strb r6, [r0, r3]
ldrb r6, [r0, r4]
strb r6, [r0, r5]
blt _0202609E
_020260AE:
ldr r0, _020260C0 ; =0x00000977
mov r1, #0x0
strb r1, [r2, r0]
mov r0, r12
pop {r4-r7}
bx lr
nop
_020260BC: .word 0x00000951
_020260C0: .word 0x00000977
thumb_func_start sub_020260C4
sub_020260C4: ; 0x020260C4
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
add r6, r2, #0x0
bl sub_02025A00
mov r1, #0x0
mvn r1, r1
cmp r0, r1
beq _020260E8
add r1, r5, r0
mov r0, #0x95
lsl r0, r0, #0x4
strb r4, [r1, r0]
add r0, #0x28
strb r6, [r1, r0]
mov r0, #0x1
pop {r4-r6, pc}
_020260E8:
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start sub_020260EC
sub_020260EC: ; 0x020260EC
push {r4-r7, lr}
sub sp, #0x5c
add r7, r0, #0x0
mov r0, #0x95
lsl r0, r0, #0x4
str r1, [sp, #0x0]
str r2, [sp, #0x4]
add r0, r7, r0
add r1, sp, #0x34
mov r2, #0x28
mov r4, #0x0
bl MI_CpuCopy8
ldr r0, _02026168 ; =0x00000978
add r1, sp, #0xc
add r0, r7, r0
mov r2, #0x28
bl MI_CpuCopy8
ldr r3, [sp, #0x0]
add r1, sp, #0x34
add r3, r1, r3
mov r12, r3
ldr r3, [sp, #0x0]
add r2, sp, #0xc
add r3, r2, r3
add r0, r4, #0x0
str r3, [sp, #0x8]
_02026124:
ldr r3, [sp, #0x0]
cmp r0, r3
beq _0202613C
ldrb r5, [r1, #0x0]
mov r3, #0x95
add r6, r7, r4
lsl r3, r3, #0x4
strb r5, [r6, r3]
ldrb r5, [r2, #0x0]
add r3, #0x28
add r4, r4, #0x1
strb r5, [r6, r3]
_0202613C:
ldr r3, [sp, #0x4]
cmp r0, r3
bne _02026158
mov r3, r12
ldrb r5, [r3, #0x0]
mov r3, #0x95
add r6, r7, r4
lsl r3, r3, #0x4
strb r5, [r6, r3]
ldr r3, [sp, #0x8]
add r4, r4, #0x1
ldrb r5, [r3, #0x0]
ldr r3, _02026168 ; =0x00000978
strb r5, [r6, r3]
_02026158:
add r0, r0, #0x1
add r1, r1, #0x1
add r2, r2, #0x1
cmp r0, #0x28
blt _02026124
add sp, #0x5c
pop {r4-r7, pc}
nop
_02026168: .word 0x00000978
thumb_func_start sub_0202616C
sub_0202616C: ; 0x0202616C
ldr r1, _02026184 ; =0x00000928
mov r3, #0x0
_02026170:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
beq _0202617E
add r3, r3, #0x1
cmp r3, #0x28
blt _02026170
_0202617E:
add r0, r3, #0x0
bx lr
nop
_02026184: .word 0x00000928
thumb_func_start sub_02026188
sub_02026188: ; 0x02026188
add r1, r0, r1
ldr r0, _02026190 ; =0x00000928
ldrb r0, [r1, r0]
bx lr
.balign 4
_02026190: .word 0x00000928
thumb_func_start sub_02026194
sub_02026194: ; 0x02026194
push {r3-r6}
ldr r2, _020261BC ; =0x00000928
add r3, r0, r1
ldrb r2, [r3, r2]
cmp r1, #0x27
bge _020261B0
ldr r3, _020261C0 ; =0x00000929
sub r4, r3, #0x1
_020261A4:
add r6, r0, r1
ldrb r5, [r6, r3]
add r1, r1, #0x1
cmp r1, #0x27
strb r5, [r6, r4]
blt _020261A4
_020261B0:
ldr r1, _020261C4 ; =0x0000094F
mov r3, #0x0
strb r3, [r0, r1]
add r0, r2, #0x0
pop {r3-r6}
bx lr
.balign 4
_020261BC: .word 0x00000928
_020261C0: .word 0x00000929
_020261C4: .word 0x0000094F
thumb_func_start sub_020261C8
sub_020261C8: ; 0x020261C8
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl sub_02025A20
mov r1, #0x0
mvn r1, r1
cmp r0, r1
beq _020261E4
add r1, r5, r0
ldr r0, _020261E8 ; =0x00000928
strb r4, [r1, r0]
mov r0, #0x1
pop {r3-r5, pc}
_020261E4:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
_020261E8: .word 0x00000928
thumb_func_start sub_020261EC
sub_020261EC: ; 0x020261EC
push {r3-r7, lr}
sub sp, #0x30
add r5, r0, #0x0
ldr r0, _02026238 ; =0x00000928
str r1, [sp, #0x4]
str r2, [sp, #0x0]
add r0, r5, r0
add r1, sp, #0x8
mov r2, #0x28
mov r4, #0x0
bl MI_CpuCopy8
ldr r2, [sp, #0x4]
add r1, sp, #0x8
add r0, r4, #0x0
add r7, r1, r2
_0202620C:
ldr r2, [sp, #0x4]
cmp r0, r2
beq _0202621C
ldrb r6, [r1, #0x0]
ldr r2, _02026238 ; =0x00000928
add r3, r5, r4
strb r6, [r3, r2]
add r4, r4, #0x1
_0202621C:
ldr r2, [sp, #0x0]
cmp r0, r2
bne _0202622C
ldrb r6, [r7, #0x0]
ldr r2, _02026238 ; =0x00000928
add r3, r5, r4
strb r6, [r3, r2]
add r4, r4, #0x1
_0202622C:
add r0, r0, #0x1
add r1, r1, #0x1
cmp r0, #0x28
blt _0202620C
add sp, #0x30
pop {r3-r7, pc}
.balign 4
_02026238: .word 0x00000928
thumb_func_start sub_0202623C
sub_0202623C: ; 0x0202623C
ldr r1, _02026254 ; =0x000008D8
mov r3, #0x0
_02026240:
add r2, r0, r3
ldrb r2, [r2, r1]
cmp r2, #0x0
beq _0202624E
add r3, r3, #0x1
cmp r3, #0x28
blt _02026240
_0202624E:
add r0, r3, #0x0
bx lr
nop
_02026254: .word 0x000008D8
thumb_func_start sub_02026258
sub_02026258: ; 0x02026258
add r1, r0, r1
ldr r0, _02026260 ; =0x000008D8
ldrb r0, [r1, r0]
bx lr
.balign 4
_02026260: .word 0x000008D8
thumb_func_start sub_02026264
sub_02026264: ; 0x02026264
push {r3-r6}
ldr r2, _0202628C ; =0x000008D8
add r3, r0, r1
ldrb r2, [r3, r2]
cmp r1, #0x27
bge _02026280
ldr r3, _02026290 ; =0x000008D9
sub r4, r3, #0x1
_02026274:
add r6, r0, r1
ldrb r5, [r6, r3]
add r1, r1, #0x1
cmp r1, #0x27
strb r5, [r6, r4]
blt _02026274
_02026280:
ldr r1, _02026294 ; =0x000008FF
mov r3, #0x0
strb r3, [r0, r1]
add r0, r2, #0x0
pop {r3-r6}
bx lr
.balign 4
_0202628C: .word 0x000008D8
_02026290: .word 0x000008D9
_02026294: .word 0x000008FF
thumb_func_start sub_02026298
sub_02026298: ; 0x02026298
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl sub_02025A40
mov r1, #0x0
mvn r1, r1
cmp r0, r1
beq _020262B4
add r1, r5, r0
ldr r0, _020262B8 ; =0x000008D8
strb r4, [r1, r0]
mov r0, #0x1
pop {r3-r5, pc}
_020262B4:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
_020262B8: .word 0x000008D8
thumb_func_start sub_020262BC
sub_020262BC: ; 0x020262BC
push {r3-r7, lr}
sub sp, #0x30
add r5, r0, #0x0
ldr r0, _02026308 ; =0x000008D8
str r1, [sp, #0x4]
str r2, [sp, #0x0]
add r0, r5, r0
add r1, sp, #0x8
mov r2, #0x28
mov r4, #0x0
bl MI_CpuCopy8
ldr r2, [sp, #0x4]
add r1, sp, #0x8
add r0, r4, #0x0
add r7, r1, r2
_020262DC:
ldr r2, [sp, #0x4]
cmp r0, r2
beq _020262EC
ldrb r6, [r1, #0x0]
ldr r2, _02026308 ; =0x000008D8
add r3, r5, r4
strb r6, [r3, r2]
add r4, r4, #0x1
_020262EC:
ldr r2, [sp, #0x0]
cmp r0, r2
bne _020262FC
ldrb r6, [r7, #0x0]
ldr r2, _02026308 ; =0x000008D8
add r3, r5, r4
strb r6, [r3, r2]
add r4, r4, #0x1
_020262FC:
add r0, r0, #0x1
add r1, r1, #0x1
cmp r0, #0x28
blt _020262DC
add sp, #0x30
pop {r3-r7, pc}
.balign 4
_02026308: .word 0x000008D8
thumb_func_start sub_0202630C
sub_0202630C: ; 0x0202630C
push {r3-r7, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r7, r1, #0x0
add r6, r3, #0x0
cmp r4, #0x40
blt _0202631E
bl GF_AssertFail
_0202631E:
ldr r0, _02026350 ; =0x0000010F
add r1, r5, r4
strb r7, [r1, r0]
lsl r1, r4, #0x1
add r1, r4, r1
add r2, r0, #0x0
add r1, r5, r1
add r2, #0x40
strb r6, [r1, r2]
mov r2, #0xf
lsl r2, r2, #0x8
add r3, r6, #0x0
and r3, r2
asr r4, r3, #0x8
ldr r3, [sp, #0x18]
and r2, r3
asr r2, r2, #0x4
add r4, r4, r2
add r2, r0, #0x0
add r2, #0x41
strb r4, [r1, r2]
add r0, #0x42
strb r3, [r1, r0]
pop {r3-r7, pc}
nop
_02026350: .word 0x0000010F
thumb_func_start sub_02026354
sub_02026354: ; 0x02026354
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x40
blt _02026362
bl GF_AssertFail
_02026362:
ldr r0, _0202636C ; =0x0000010F
add r1, r5, r4
ldrb r0, [r1, r0]
pop {r3-r5, pc}
nop
_0202636C: .word 0x0000010F
thumb_func_start sub_02026370
sub_02026370: ; 0x02026370
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x40
blt _0202637E
bl GF_AssertFail
_0202637E:
lsl r0, r4, #0x1
add r0, r4, r0
add r1, r5, r0
ldr r0, _02026398 ; =0x0000014F
ldrb r2, [r1, r0]
add r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x8
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
pop {r3-r5, pc}
.balign 4
_02026398: .word 0x0000014F
thumb_func_start sub_0202639C
sub_0202639C: ; 0x0202639C
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x40
blt _020263AA
bl GF_AssertFail
_020263AA:
lsl r0, r4, #0x1
add r0, r4, r0
add r1, r5, r0
ldr r0, _020263C4 ; =0x00000151
ldrb r2, [r1, r0]
sub r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x4
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
pop {r3-r5, pc}
.balign 4
_020263C4: .word 0x00000151
thumb_func_start sub_020263C8
sub_020263C8: ; 0x020263C8
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x40
blt _020263D6
bl GF_AssertFail
_020263D6:
ldr r0, _020263F0 ; =0x0000010F
mov r1, #0x0
add r2, r5, r4
strb r1, [r2, r0]
add r0, #0x40
add r2, r5, r0
lsl r0, r4, #0x1
add r0, r4, r0
add r0, r2, r0
mov r2, #0x3
bl MI_CpuFill8
pop {r3-r5, pc}
.balign 4
_020263F0: .word 0x0000010F
thumb_func_start sub_020263F4
sub_020263F4: ; 0x020263F4
push {r3-r7, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r7, r1, #0x0
add r6, r3, #0x0
cmp r4, #0x10
blt _02026406
bl GF_AssertFail
_02026406:
lsl r2, r4, #0x1
ldr r1, _02026440 ; =0x0000050C
add r0, r5, r4
add r2, r4, r2
add r4, r5, r2
add r2, r1, #0x0
mov r5, #0xf
strb r7, [r0, r1]
add r2, #0x10
strb r6, [r4, r2]
lsl r5, r5, #0x8
add r2, r6, #0x0
and r2, r5
asr r3, r2, #0x8
ldr r2, [sp, #0x18]
and r5, r2
asr r5, r5, #0x4
add r5, r3, r5
add r3, r1, #0x0
add r3, #0x11
strb r5, [r4, r3]
add r3, r1, #0x0
add r3, #0x12
strb r2, [r4, r3]
ldr r2, [sp, #0x1c]
add r1, #0x40
strb r2, [r0, r1]
pop {r3-r7, pc}
nop
_02026440: .word 0x0000050C
thumb_func_start sub_02026444
sub_02026444: ; 0x02026444
add r1, r0, r1
ldr r0, _0202644C ; =0x0000050C
ldrb r0, [r1, r0]
bx lr
.balign 4
_0202644C: .word 0x0000050C
thumb_func_start sub_02026450
sub_02026450: ; 0x02026450
lsl r2, r1, #0x1
add r1, r1, r2
add r1, r0, r1
ldr r0, _0202646C ; =0x0000051C
ldrb r2, [r1, r0]
add r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x8
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
bx lr
nop
_0202646C: .word 0x0000051C
thumb_func_start sub_02026470
sub_02026470: ; 0x02026470
lsl r2, r1, #0x1
add r1, r1, r2
add r1, r0, r1
ldr r0, _0202648C ; =0x0000051E
ldrb r2, [r1, r0]
sub r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x4
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
bx lr
nop
_0202648C: .word 0x0000051E
thumb_func_start sub_02026490
sub_02026490: ; 0x02026490
add r1, r0, r1
ldr r0, _02026498 ; =0x0000054C
ldrb r0, [r1, r0]
bx lr
.balign 4
_02026498: .word 0x0000054C
thumb_func_start sub_0202649C
sub_0202649C: ; 0x0202649C
push {r3-r7, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r6, r1, #0x0
add r7, r3, #0x0
cmp r4, #0x64
blt _020264AE
bl GF_AssertFail
_020264AE:
ldr r1, _020264E8 ; =0x0000055C
add r0, r5, r4
strb r6, [r0, r1]
lsl r1, r4, #0x1
add r1, r4, r1
add r4, r5, r1
mov r5, #0xf
lsl r5, r5, #0x8
add r2, r7, #0x0
and r2, r5
asr r3, r2, #0x8
ldr r2, [sp, #0x18]
ldr r1, _020264EC ; =0x00000688
and r5, r2
asr r5, r5, #0x4
add r5, r3, r5
strb r7, [r4, r1]
add r3, r1, #0x1
strb r5, [r4, r3]
add r3, r1, #0x2
strb r2, [r4, r3]
add r2, r1, #0x0
ldr r3, [sp, #0x1c]
sub r2, #0x64
strb r3, [r0, r2]
ldr r2, [sp, #0x20]
sub r1, #0xc8
strb r2, [r0, r1]
pop {r3-r7, pc}
.balign 4
_020264E8: .word 0x0000055C
_020264EC: .word 0x00000688
thumb_func_start sub_020264F0
sub_020264F0: ; 0x020264F0
add r1, r0, r1
ldr r0, _020264F8 ; =0x0000055C
ldrb r0, [r1, r0]
bx lr
.balign 4
_020264F8: .word 0x0000055C
thumb_func_start sub_020264FC
sub_020264FC: ; 0x020264FC
lsl r2, r1, #0x1
add r1, r1, r2
add r1, r0, r1
ldr r0, _02026518 ; =0x00000688
ldrb r2, [r1, r0]
add r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x8
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
bx lr
nop
_02026518: .word 0x00000688
thumb_func_start sub_0202651C
sub_0202651C: ; 0x0202651C
lsl r2, r1, #0x1
add r1, r1, r2
add r1, r0, r1
ldr r0, _02026538 ; =0x0000068A
ldrb r2, [r1, r0]
sub r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x4
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
bx lr
nop
_02026538: .word 0x0000068A
thumb_func_start sub_0202653C
sub_0202653C: ; 0x0202653C
add r1, r0, r1
ldr r0, _02026544 ; =0x00000624
ldrb r0, [r1, r0]
bx lr
.balign 4
_02026544: .word 0x00000624
thumb_func_start sub_02026548
sub_02026548: ; 0x02026548
add r1, r0, r1
mov r0, #0x17
lsl r0, r0, #0x6
ldrb r0, [r1, r0]
bx lr
.balign 4
thumb_func_start sub_02026554
sub_02026554: ; 0x02026554
push {r4-r7}
ldr r3, _020265B0 ; =0x00000211
add r7, r0, #0x0
mov r12, r1
mov r0, #0x0
add r1, r7, #0x0
sub r4, r3, #0x1
sub r5, r3, #0x2
_02026564:
ldrb r6, [r1, r5]
cmp r6, #0x0
bne _020265A0
ldrb r6, [r1, r4]
cmp r6, #0x0
bne _020265A0
ldrb r6, [r1, r3]
cmp r6, #0x0
bne _020265A0
lsl r1, r0, #0x1
add r1, r0, r1
mov r5, #0xf
ldr r4, _020265B4 ; =0x0000020F
add r1, r7, r1
mov r3, r12
strb r3, [r1, r4]
lsl r5, r5, #0x8
mov r3, r12
and r3, r5
asr r6, r3, #0x8
add r3, r2, #0x0
and r3, r5
asr r3, r3, #0x4
add r5, r6, r3
add r3, r4, #0x1
strb r5, [r1, r3]
add r3, r4, #0x2
strb r2, [r1, r3]
pop {r4-r7}
bx lr
_020265A0:
add r0, r0, #0x1
add r1, r1, #0x3
cmp r0, #0xff
blt _02026564
mov r0, #0x0
pop {r4-r7}
bx lr
nop
_020265B0: .word 0x00000211
_020265B4: .word 0x0000020F
thumb_func_start sub_020265B8
sub_020265B8: ; 0x020265B8
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0xff
blt _020265C6
bl GF_AssertFail
_020265C6:
ldr r0, _020265DC ; =0x0000020F
mov r2, #0x3
add r1, r5, r0
lsl r0, r4, #0x1
add r0, r4, r0
add r0, r1, r0
mov r1, #0x0
bl MI_CpuFill8
pop {r3-r5, pc}
nop
_020265DC: .word 0x0000020F
thumb_func_start sub_020265E0
sub_020265E0: ; 0x020265E0
lsl r2, r1, #0x1
add r1, r1, r2
add r1, r0, r1
ldr r0, _020265FC ; =0x0000020F
ldrb r2, [r1, r0]
add r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x8
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
bx lr
nop
_020265FC: .word 0x0000020F
thumb_func_start sub_02026600
sub_02026600: ; 0x02026600
lsl r2, r1, #0x1
add r1, r1, r2
add r1, r0, r1
ldr r0, _0202661C ; =0x00000211
ldrb r2, [r1, r0]
sub r0, r0, #0x1
ldrb r0, [r1, r0]
lsl r1, r0, #0x4
mov r0, #0xf
lsl r0, r0, #0x8
and r0, r1
add r0, r2, r0
bx lr
nop
_0202661C: .word 0x00000211
thumb_func_start sub_02026620
sub_02026620: ; 0x02026620
mov r1, #0x9b
lsl r1, r1, #0x4
ldrb r0, [r0, r1]
lsl r0, r0, #0x18
lsr r0, r0, #0x1c
bne _02026630
mov r0, #0x1
bx lr
_02026630:
mov r0, #0x0
bx lr
thumb_func_start sub_02026634
sub_02026634: ; 0x02026634
mov r2, #0x9b
lsl r2, r2, #0x4
ldrb r3, [r0, r2]
mov r1, #0xf0
bic r3, r1
mov r1, #0x10
orr r1, r3
strb r1, [r0, r2]
bx lr
.balign 4
thumb_func_start sub_02026648
sub_02026648: ; 0x02026648
mov r1, #0x9b
lsl r1, r1, #0x4
ldrb r0, [r0, r1]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1c
bx lr
thumb_func_start sub_02026654
sub_02026654: ; 0x02026654
mov r2, #0x9b
lsl r2, r2, #0x4
ldrb r3, [r0, r2]
mov r1, #0xf
bic r3, r1
strb r3, [r0, r2]
bx lr
.balign 4
thumb_func_start sub_02026664
sub_02026664: ; 0x02026664
push {r3-r4}
cmp r1, #0x2c
blt _0202667E
cmp r1, #0x3b
bgt _0202667E
ldr r2, _02026684 ; =0x0000080C
mov r3, #0x1
sub r1, #0x2c
ldr r4, [r0, r2]
lsl r3, r1
add r1, r4, #0x0
orr r1, r3
str r1, [r0, r2]
_0202667E:
pop {r3-r4}
bx lr
nop
_02026684: .word 0x0000080C
thumb_func_start sub_02026688
sub_02026688: ; 0x02026688
cmp r1, #0x2c
blt _02026690
cmp r1, #0x3b
ble _02026694
_02026690:
mov r0, #0x1
bx lr
_02026694:
ldr r2, _020266AC ; =0x0000080C
sub r1, #0x2c
ldr r3, [r0, r2]
mov r0, #0x1
add r2, r0, #0x0
lsl r2, r1
add r1, r3, #0x0
tst r1, r2
beq _020266A8
mov r0, #0x0
_020266A8:
bx lr
nop
_020266AC: .word 0x0000080C
thumb_func_start sub_020266B0
sub_020266B0: ; 0x020266B0
ldr r1, _020266C4 ; =0x000009AF
ldrb r2, [r0, r1]
cmp r2, #0x63
blo _020266BE
mov r2, #0x0
strb r2, [r0, r1]
bx lr
_020266BE:
add r2, r2, #0x1
strb r2, [r0, r1]
bx lr
.balign 4
_020266C4: .word 0x000009AF
thumb_func_start sub_020266C8
sub_020266C8: ; 0x020266C8
ldr r1, _020266D0 ; =0x000009AF
ldrb r0, [r0, r1]
bx lr
nop
_020266D0: .word 0x000009AF
thumb_func_start sub_020266D4
sub_020266D4: ; 0x020266D4
ldr r3, _020266DC ; =MI_CpuFill8
mov r1, #0x0
mov r2, #0x94
bx r3
.balign 4
_020266DC: .word MI_CpuFill8
thumb_func_start sub_020266E0
sub_020266E0: ; 0x020266E0
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x2d
bl MI_CpuFill8
add r0, r4, #0x0
add r0, #0x2d
mov r1, #0x0
mov r2, #0x20
bl MI_CpuFill8
add r0, r4, #0x0
mov r1, #0x0
add r0, #0x8c
strh r1, [r0, #0x0]
add r0, r4, #0x0
add r0, #0x8e
strh r1, [r0, #0x0]
add r0, r4, #0x0
add r0, #0x90
strb r1, [r0, #0x0]
add r4, #0x91
strb r1, [r4, #0x0]
pop {r4, pc}
.balign 4
thumb_func_start sub_02026714
sub_02026714: ; 0x02026714
mov r1, #0x0
add r0, #0x91
strb r1, [r0, #0x0]
bx lr
thumb_func_start sub_0202671C
sub_0202671C: ; 0x0202671C
push {r3-r7, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r7, r2, #0x0
add r6, r3, #0x0
cmp r4, #0x20
blt _0202672E
bl GF_AssertFail
_0202672E:
cmp r6, #0x20
blt _02026736
bl GF_AssertFail
_02026736:
ldr r0, [sp, #0x18]
cmp r0, #0x20
blt _02026740
bl GF_AssertFail
_02026740:
cmp r5, #0x0
bne _02026748
bl GF_AssertFail
_02026748:
cmp r4, #0x0
beq _02026774
cmp r4, #0x10
bge _02026762
sub r1, r4, #0x1
lsl r0, r1, #0x1
add r0, r1, r0
strb r6, [r5, r0]
ldr r1, [sp, #0x18]
add r0, r5, r0
strb r1, [r0, #0x1]
strb r7, [r0, #0x2]
pop {r3-r7, pc}
_02026762:
sub r4, #0x10
lsl r2, r4, #0x1
add r0, r5, r2
add r0, #0x2d
strb r6, [r0, #0x0]
add r0, r5, r2
ldr r1, [sp, #0x18]
add r0, #0x2e
strb r1, [r0, #0x0]
_02026774:
pop {r3-r7, pc}
.balign 4
thumb_func_start sub_02026778
sub_02026778: ; 0x02026778
push {r3-r7, lr}
add r5, r0, #0x0
add r6, r1, #0x0
add r7, r2, #0x0
add r4, r3, #0x0
bl sub_020267C4
add r2, r0, #0x0
add r0, r5, #0x0
add r1, r6, #0x0
add r3, r7, #0x0
str r4, [sp, #0x0]
bl sub_0202671C
pop {r3-r7, pc}
.balign 4
thumb_func_start sub_02026798
sub_02026798: ; 0x02026798
add r0, #0x88
ldr r0, [r0, #0x0]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
cmp r0, #0x32
blt _020267A8
mov r0, #0x5
bx lr
_020267A8:
cmp r0, #0xa
blt _020267B0
mov r0, #0x4
bx lr
_020267B0:
cmp r0, #0x3
blt _020267B8
mov r0, #0x3
bx lr
_020267B8:
cmp r0, #0x1
blt _020267C0
mov r0, #0x2
bx lr
_020267C0:
mov r0, #0x1
bx lr
thumb_func_start sub_020267C4
sub_020267C4: ; 0x020267C4
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
cmp r5, #0x20
blt _020267D2
bl GF_AssertFail
_020267D2:
cmp r5, #0x0
bne _020267DE
add r0, r4, #0x0
bl sub_02026798
pop {r3-r5, pc}
_020267DE:
cmp r5, #0x10
bge _020267EE
sub r1, r5, #0x1
lsl r0, r1, #0x1
add r0, r1, r0
add r0, r4, r0
ldrb r0, [r0, #0x2]
pop {r3-r5, pc}
_020267EE:
sub r5, #0x10
lsl r1, r5, #0x1
add r0, r4, r1
add r0, #0x2d
ldrb r0, [r0, #0x0]
cmp r0, #0x0
beq _0202680A
add r0, r4, r1
add r0, #0x2e
ldrb r0, [r0, #0x0]
cmp r0, #0x0
beq _0202680A
mov r0, #0x6
pop {r3-r5, pc}
_0202680A:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02026810
sub_02026810: ; 0x02026810
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
cmp r5, #0x20
blt _0202681E
bl GF_AssertFail
_0202681E:
cmp r5, #0x0
bne _02026826
mov r0, #0xf
pop {r3-r5, pc}
_02026826:
cmp r5, #0x10
bge _02026834
sub r1, r5, #0x1
lsl r0, r1, #0x1
add r0, r1, r0
ldrb r0, [r4, r0]
pop {r3-r5, pc}
_02026834:
sub r5, #0x10
lsl r0, r5, #0x1
add r0, r4, r0
add r0, #0x2d
ldrb r0, [r0, #0x0]
pop {r3-r5, pc}
thumb_func_start sub_02026840
sub_02026840: ; 0x02026840
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
cmp r5, #0x20
blt _0202684E
bl GF_AssertFail
_0202684E:
cmp r5, #0x0
bne _02026856
mov r0, #0xc
pop {r3-r5, pc}
_02026856:
cmp r5, #0x10
bge _02026866
sub r1, r5, #0x1
lsl r0, r1, #0x1
add r0, r1, r0
add r0, r4, r0
ldrb r0, [r0, #0x1]
pop {r3-r5, pc}
_02026866:
sub r5, #0x10
lsl r0, r5, #0x1
add r0, r4, r0
add r0, #0x2e
ldrb r0, [r0, #0x0]
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02026874
sub_02026874: ; 0x02026874
add r0, #0x88
ldr r0, [r0, #0x0]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
cmp r0, #0x32
blo _02026884
mov r0, #0x0
bx lr
_02026884:
cmp r0, #0xa
blo _0202688C
mov r0, #0x6
bx lr
_0202688C:
cmp r0, #0x3
blo _02026894
mov r0, #0xb
bx lr
_02026894:
cmp r0, #0x1
blo _0202689C
mov r0, #0xf
bx lr
_0202689C:
mov r0, #0x10
bx lr
thumb_func_start sub_020268A0
sub_020268A0: ; 0x020268A0
add r0, #0x88
ldr r0, [r0, #0x0]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
cmp r0, #0x32
blo _020268B0
mov r0, #0xf
bx lr
_020268B0:
cmp r0, #0xa
blo _020268B8
mov r0, #0xf
bx lr
_020268B8:
cmp r0, #0x3
blo _020268C0
mov r0, #0xf
bx lr
_020268C0:
cmp r0, #0x1
blo _020268C8
mov r0, #0xc
bx lr
_020268C8:
mov r0, #0xa
bx lr
thumb_func_start sub_020268CC
sub_020268CC: ; 0x020268CC
ldr r0, [r0, #0x0]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_020268D4
sub_020268D4: ; 0x020268D4
push {r3, lr}
bl sub_020269A0
cmp r0, #0x4
bne _020268E2
mov r0, #0x1
pop {r3, pc}
_020268E2:
mov r0, #0x0
pop {r3, pc}
.balign 4
thumb_func_start sub_020268E8
sub_020268E8: ; 0x020268E8
ldr r3, [r0, #0x0]
ldr r2, _020268F8 ; =0xFFF00000
and r3, r2
ldr r2, _020268FC ; =0x000FFFFF
and r1, r2
orr r1, r3
str r1, [r0, #0x0]
bx lr
.balign 4
_020268F8: .word 0xFFF00000
_020268FC: .word 0x000FFFFF
thumb_func_start sub_02026900
sub_02026900: ; 0x02026900
ldr r0, [r0, #0x4]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026908
sub_02026908: ; 0x02026908
push {r3-r4}
ldr r2, [r0, #0x4]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _0202692C ; =0x000F423F
cmp r4, r1
bhs _02026926
ldr r1, _02026930 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026934 ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x4]
_02026926:
pop {r3-r4}
bx lr
nop
_0202692C: .word 0x000F423F
_02026930: .word 0xFFF00000
_02026934: .word 0x000FFFFF
thumb_func_start sub_02026938
sub_02026938: ; 0x02026938
ldr r0, [r0, #0x8]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026940
sub_02026940: ; 0x02026940
push {r3-r4}
ldr r2, [r0, #0x8]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026964 ; =0x000F423F
cmp r4, r1
bhs _0202695E
ldr r1, _02026968 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _0202696C ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x8]
_0202695E:
pop {r3-r4}
bx lr
nop
_02026964: .word 0x000F423F
_02026968: .word 0xFFF00000
_0202696C: .word 0x000FFFFF
thumb_func_start sub_02026970
sub_02026970: ; 0x02026970
push {r3-r4}
ldr r2, [r0, #0xc]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026994 ; =0x000F423F
cmp r4, r1
bhs _0202698E
ldr r1, _02026998 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _0202699C ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0xc]
_0202698E:
pop {r3-r4}
bx lr
nop
_02026994: .word 0x000F423F
_02026998: .word 0xFFF00000
_0202699C: .word 0x000FFFFF
thumb_func_start sub_020269A0
sub_020269A0: ; 0x020269A0
ldr r0, [r0, #0x38]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
cmp r0, #0x32
blt _020269AE
mov r0, #0x4
bx lr
_020269AE:
cmp r0, #0xa
blt _020269B6
mov r0, #0x3
bx lr
_020269B6:
cmp r0, #0x3
blt _020269BE
mov r0, #0x2
bx lr
_020269BE:
cmp r0, #0x1
blt _020269C6
mov r0, #0x1
bx lr
_020269C6:
mov r0, #0x0
bx lr
.balign 4
thumb_func_start sub_020269CC
sub_020269CC: ; 0x020269CC
ldr r0, [r0, #0x38]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_020269D4
sub_020269D4: ; 0x020269D4
push {r3-r4}
ldr r2, [r0, #0x38]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _020269F8 ; =0x000F423F
cmp r4, r1
bhs _020269F2
ldr r1, _020269FC ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026A00 ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x38]
_020269F2:
pop {r3-r4}
bx lr
nop
_020269F8: .word 0x000F423F
_020269FC: .word 0xFFF00000
_02026A00: .word 0x000FFFFF
thumb_func_start sub_02026A04
sub_02026A04: ; 0x02026A04
ldr r0, [r0, #0x10]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026A0C
sub_02026A0C: ; 0x02026A0C
push {r4-r5}
cmp r1, #0x0
ble _02026A2C
ldr r4, [r0, #0x10]
lsl r2, r4, #0xc
lsr r5, r2, #0xc
ldr r2, _02026A44 ; =0x000F423F
sub r3, r2, r1
cmp r5, r3
bls _02026A2C
ldr r1, _02026A48 ; =0xFFF00000
and r1, r4
orr r1, r2
str r1, [r0, #0x10]
pop {r4-r5}
bx lr
_02026A2C:
ldr r3, [r0, #0x10]
ldr r2, _02026A48 ; =0xFFF00000
and r2, r3
lsl r3, r3, #0xc
lsr r3, r3, #0xc
add r3, r3, r1
ldr r1, _02026A4C ; =0x000FFFFF
and r1, r3
orr r1, r2
str r1, [r0, #0x10]
pop {r4-r5}
bx lr
.balign 4
_02026A44: .word 0x000F423F
_02026A48: .word 0xFFF00000
_02026A4C: .word 0x000FFFFF
thumb_func_start sub_02026A50
sub_02026A50: ; 0x02026A50
ldr r0, [r0, #0x14]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026A58
sub_02026A58: ; 0x02026A58
push {r4-r5}
cmp r1, #0x0
ble _02026A78
ldr r4, [r0, #0x14]
lsl r2, r4, #0xc
lsr r5, r2, #0xc
ldr r2, _02026A90 ; =0x000F423F
sub r3, r2, r1
cmp r5, r3
bls _02026A78
ldr r1, _02026A94 ; =0xFFF00000
and r1, r4
orr r1, r2
str r1, [r0, #0x14]
pop {r4-r5}
bx lr
_02026A78:
ldr r3, [r0, #0x14]
ldr r2, _02026A94 ; =0xFFF00000
and r2, r3
lsl r3, r3, #0xc
lsr r3, r3, #0xc
add r3, r3, r1
ldr r1, _02026A98 ; =0x000FFFFF
and r1, r3
orr r1, r2
str r1, [r0, #0x14]
pop {r4-r5}
bx lr
.balign 4
_02026A90: .word 0x000F423F
_02026A94: .word 0xFFF00000
_02026A98: .word 0x000FFFFF
thumb_func_start sub_02026A9C
sub_02026A9C: ; 0x02026A9C
push {r4-r5}
cmp r1, #0x0
ble _02026ABC
ldr r4, [r0, #0x18]
lsl r2, r4, #0xc
lsr r5, r2, #0xc
ldr r2, _02026AD4 ; =0x000F423F
sub r3, r2, r1
cmp r5, r3
bls _02026ABC
ldr r1, _02026AD8 ; =0xFFF00000
and r1, r4
orr r1, r2
str r1, [r0, #0x18]
pop {r4-r5}
bx lr
_02026ABC:
ldr r3, [r0, #0x18]
ldr r2, _02026AD8 ; =0xFFF00000
and r2, r3
lsl r3, r3, #0xc
lsr r3, r3, #0xc
add r3, r3, r1
ldr r1, _02026ADC ; =0x000FFFFF
and r1, r3
orr r1, r2
str r1, [r0, #0x18]
pop {r4-r5}
bx lr
.balign 4
_02026AD4: .word 0x000F423F
_02026AD8: .word 0xFFF00000
_02026ADC: .word 0x000FFFFF
thumb_func_start sub_02026AE0
sub_02026AE0: ; 0x02026AE0
ldr r0, [r0, #0x1c]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026AE8
sub_02026AE8: ; 0x02026AE8
push {r3-r4}
ldr r2, [r0, #0x1c]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026B0C ; =0x000F423F
cmp r4, r1
bhs _02026B06
ldr r1, _02026B10 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026B14 ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x1c]
_02026B06:
pop {r3-r4}
bx lr
nop
_02026B0C: .word 0x000F423F
_02026B10: .word 0xFFF00000
_02026B14: .word 0x000FFFFF
thumb_func_start sub_02026B18
sub_02026B18: ; 0x02026B18
ldr r0, [r0, #0x20]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026B20
sub_02026B20: ; 0x02026B20
push {r3-r4}
ldr r2, [r0, #0x20]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026B44 ; =0x000F423F
cmp r4, r1
bhs _02026B3E
ldr r1, _02026B48 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026B4C ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x20]
_02026B3E:
pop {r3-r4}
bx lr
nop
_02026B44: .word 0x000F423F
_02026B48: .word 0xFFF00000
_02026B4C: .word 0x000FFFFF
thumb_func_start sub_02026B50
sub_02026B50: ; 0x02026B50
ldr r0, [r0, #0x24]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026B58
sub_02026B58: ; 0x02026B58
push {r3-r4}
ldr r2, [r0, #0x24]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026B7C ; =0x000F423F
cmp r4, r1
bhs _02026B76
ldr r1, _02026B80 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026B84 ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x24]
_02026B76:
pop {r3-r4}
bx lr
nop
_02026B7C: .word 0x000F423F
_02026B80: .word 0xFFF00000
_02026B84: .word 0x000FFFFF
thumb_func_start sub_02026B88
sub_02026B88: ; 0x02026B88
ldr r0, [r0, #0x28]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026B90
sub_02026B90: ; 0x02026B90
push {r3-r4}
ldr r2, [r0, #0x28]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026BB4 ; =0x000F423F
cmp r4, r1
bhs _02026BAE
ldr r1, _02026BB8 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026BBC ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x28]
_02026BAE:
pop {r3-r4}
bx lr
nop
_02026BB4: .word 0x000F423F
_02026BB8: .word 0xFFF00000
_02026BBC: .word 0x000FFFFF
thumb_func_start sub_02026BC0
sub_02026BC0: ; 0x02026BC0
ldr r0, [r0, #0x2c]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026BC8
sub_02026BC8: ; 0x02026BC8
push {r3-r4}
ldr r2, [r0, #0x2c]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026BEC ; =0x000F423F
cmp r4, r1
bhs _02026BE6
ldr r1, _02026BF0 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026BF4 ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x2c]
_02026BE6:
pop {r3-r4}
bx lr
nop
_02026BEC: .word 0x000F423F
_02026BF0: .word 0xFFF00000
_02026BF4: .word 0x000FFFFF
thumb_func_start sub_02026BF8
sub_02026BF8: ; 0x02026BF8
ldr r0, [r0, #0x30]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026C00
sub_02026C00: ; 0x02026C00
push {r3-r4}
ldr r2, [r0, #0x30]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026C24 ; =0x000F423F
cmp r4, r1
bhs _02026C1E
ldr r1, _02026C28 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026C2C ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x30]
_02026C1E:
pop {r3-r4}
bx lr
nop
_02026C24: .word 0x000F423F
_02026C28: .word 0xFFF00000
_02026C2C: .word 0x000FFFFF
thumb_func_start sub_02026C30
sub_02026C30: ; 0x02026C30
ldr r0, [r0, #0x34]
lsl r0, r0, #0xc
lsr r0, r0, #0xc
bx lr
thumb_func_start sub_02026C38
sub_02026C38: ; 0x02026C38
push {r3-r4}
ldr r2, [r0, #0x34]
lsl r1, r2, #0xc
lsr r4, r1, #0xc
ldr r1, _02026C5C ; =0x000F423F
cmp r4, r1
bhs _02026C56
ldr r1, _02026C60 ; =0xFFF00000
add r3, r2, #0x0
and r3, r1
ldr r1, _02026C64 ; =0x000FFFFF
add r2, r4, #0x1
and r1, r2
orr r1, r3
str r1, [r0, #0x34]
_02026C56:
pop {r3-r4}
bx lr
nop
_02026C5C: .word 0x000F423F
_02026C60: .word 0xFFF00000
_02026C64: .word 0x000FFFFF
thumb_func_start sub_02026C68
sub_02026C68: ; 0x02026C68
push {r3-r4}
add r4, r0, #0x0
add r4, #0x8c
strh r1, [r4, #0x0]
add r1, r0, #0x0
add r1, #0x8e
strh r2, [r1, #0x0]
add r1, r0, #0x0
add r1, #0x90
strb r3, [r1, #0x0]
mov r1, #0x1
add r0, #0x91
strb r1, [r0, #0x0]
pop {r3-r4}
bx lr
.balign 4
thumb_func_start sub_02026C88
sub_02026C88: ; 0x02026C88
add r0, #0x8c
ldrh r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02026C90
sub_02026C90: ; 0x02026C90
add r0, #0x8e
ldrh r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02026C98
sub_02026C98: ; 0x02026C98
add r0, #0x90
ldrb r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02026CA0
sub_02026CA0: ; 0x02026CA0
add r0, #0x91
ldrb r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02026CA8
sub_02026CA8: ; 0x02026CA8
ldr r3, _02026CB0 ; =SaveArray_Get
mov r1, #0xc
bx r3
nop
_02026CB0: .word SaveArray_Get
thumb_func_start sub_02026CB4
sub_02026CB4: ; 0x02026CB4
push {r3, lr}
mov r1, #0xc
bl SaveArray_Get
add r0, #0x50
pop {r3, pc}
thumb_func_start sub_02026CC0
sub_02026CC0: ; 0x02026CC0
add r0, #0x50
bx lr
thumb_func_start sub_02026CC4
sub_02026CC4: ; 0x02026CC4
ldr r3, _02026CCC ; =SaveArray_Get
mov r1, #0xc
bx r3
nop
_02026CCC: .word SaveArray_Get