pokediamond/arm9/asm/unk_02026CD0.s

2487 lines
42 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.extern gGameLanguage
.text
thumb_func_start sub_02026CD0
sub_02026CD0: ; 0x02026CD0
push {r3-r7, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
add r0, r4, #0x0
mov r1, #0x5
mov r2, #0x0
add r7, r3, #0x0
bl GetMonData
add r2, r5, #0x0
strh r0, [r5, #0x8]
add r0, r4, #0x0
mov r1, #0x74
add r2, #0xa
bl GetMonData
mov r1, #0x0
add r0, r4, #0x0
add r2, r1, #0x0
bl GetMonData
str r0, [r5, #0x0]
add r0, r4, #0x0
mov r1, #0x7
mov r2, #0x0
bl GetMonData
str r0, [r5, #0x4]
add r0, r4, #0x0
mov r1, #0x70
mov r2, #0x0
bl GetMonData
add r1, r5, #0x0
add r1, #0x33
strb r0, [r1, #0x0]
add r0, r5, #0x0
add r0, #0x31
strb r6, [r0, #0x0]
add r0, r5, #0x0
add r0, #0x32
strb r7, [r0, #0x0]
add r1, sp, #0x8
mov r0, #0x10
ldrsb r0, [r1, r0]
add r5, #0x30
strb r0, [r5, #0x0]
pop {r3-r7, pc}
.balign 4
thumb_func_start sub_02026D34
sub_02026D34: ; 0x02026D34
push {r3-r6, lr}
sub sp, #0xc
add r4, r2, #0x0
add r5, r0, #0x0
add r6, r1, #0x0
add r0, r4, #0x0
add r1, sp, #0x4
add r2, sp, #0x8
bl ov17_021DB858
add r0, r4, #0x0
bl ov17_021DB7E8
add r4, r0, #0x0
mov r0, #0x1
ldr r1, [sp, #0x4]
lsl r0, r0, #0x8
cmp r1, r0
blt _02026D5E
bl GF_AssertFail
_02026D5E:
mov r0, #0x1
ldr r1, [sp, #0x8]
lsl r0, r0, #0x8
cmp r1, r0
blt _02026D6C
bl GF_AssertFail
_02026D6C:
mov r0, #0x7f
mvn r0, r0
cmp r4, r0
bgt _02026D78
bl GF_AssertFail
_02026D78:
lsl r0, r4, #0x18
asr r0, r0, #0x18
str r0, [sp, #0x0]
ldr r2, [sp, #0x4]
ldr r3, [sp, #0x8]
lsl r2, r2, #0x18
lsl r3, r3, #0x18
add r0, r5, #0x0
add r1, r6, #0x0
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_02026CD0
add sp, #0xc
pop {r3-r6, pc}
.balign 4
thumb_func_start sub_02026D98
sub_02026D98: ; 0x02026D98
push {r3-r5, lr}
add r5, r0, #0x0
add r0, r1, #0x0
add r1, r5, #0x0
add r4, r2, #0x0
add r1, #0x20
mov r2, #0x8
bl CopyStringToU16Array
add r5, #0x34
strb r4, [r5, #0x0]
pop {r3-r5, pc}
thumb_func_start sub_02026DB0
sub_02026DB0: ; 0x02026DB0
strb r1, [r0, #0x0]
ldr r1, _02026DC0 ; =0xFFFFFFF0
strb r2, [r0, #0x1]
strb r3, [r0, #0x2]
add r1, sp
ldrb r1, [r1, #0x10]
strb r1, [r0, #0x3]
bx lr
.balign 4
_02026DC0: .word 0xFFFFFFF0
thumb_func_start sub_02026DC4
sub_02026DC4: ; 0x02026DC4
push {r4-r6, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r6, r1, #0x0
cmp r4, #0x3d
blo _02026DD4
bl GF_AssertFail
_02026DD4:
lsr r2, r4, #0x1f
lsl r1, r4, #0x1d
sub r1, r1, r2
mov r0, #0x1d
ror r1, r0
add r0, r2, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1a
lsr r1, r0, #0x18
lsr r0, r4, #0x3
lsl r0, r0, #0x18
mov r2, #0xf
lsr r0, r0, #0x16
lsl r2, r1
ldr r3, [r5, r0]
mvn r2, r2
and r2, r3
str r2, [r5, r0]
add r2, r6, #0x0
ldr r3, [r5, r0]
lsl r2, r1
add r1, r3, #0x0
orr r1, r2
str r1, [r5, r0]
pop {r4-r6, pc}
thumb_func_start sub_02026E08
sub_02026E08: ; 0x02026E08
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x3d
blo _02026E16
bl GF_AssertFail
_02026E16:
lsr r3, r4, #0x1f
lsl r2, r4, #0x1d
lsr r0, r4, #0x3
lsl r0, r0, #0x18
lsr r0, r0, #0x16
sub r2, r2, r3
mov r1, #0x1d
ror r2, r1
add r1, r3, r2
lsl r1, r1, #0x18
ldr r0, [r5, r0]
lsr r1, r1, #0x18
lsl r1, r1, #0x1a
add r2, r0, #0x0
lsr r1, r1, #0x18
lsr r2, r1
mov r0, #0xf
and r0, r2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0x9
bls _02026E44
mov r0, #0x9
_02026E44:
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02026E48
sub_02026E48: ; 0x02026E48
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
cmp r4, #0x2
blo _02026E58
bl GF_AssertFail
_02026E58:
lsr r2, r6, #0x1f
lsl r1, r6, #0x1b
sub r1, r1, r2
mov r0, #0x1b
ror r1, r0
add r0, r2, r1
lsl r0, r0, #0x18
lsr r1, r0, #0x18
lsr r0, r6, #0x5
lsl r0, r0, #0x18
mov r2, #0x1
lsr r0, r0, #0x16
lsl r2, r1
ldr r3, [r5, r0]
mvn r2, r2
and r2, r3
str r2, [r5, r0]
add r2, r4, #0x0
ldr r3, [r5, r0]
lsl r2, r1
add r1, r3, #0x0
orr r1, r2
str r1, [r5, r0]
pop {r4-r6, pc}
thumb_func_start sub_02026E88
sub_02026E88: ; 0x02026E88
lsr r2, r1, #0x5
lsl r2, r2, #0x18
lsr r2, r2, #0x16
ldr r3, [r0, r2]
lsr r2, r1, #0x1f
lsl r1, r1, #0x1b
sub r1, r1, r2
mov r0, #0x1b
ror r1, r0
add r0, r2, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r3, #0x0
lsr r1, r0
mov r0, #0x1
and r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bx lr
.balign 4
thumb_func_start sub_02026EB0
sub_02026EB0: ; 0x02026EB0
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
cmp r4, #0x12
bls _02026EC0
bl GF_AssertFail
_02026EC0:
lsr r2, r6, #0x1f
lsl r1, r6, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1b
lsr r1, r0, #0x18
lsr r0, r6, #0x2
lsl r0, r0, #0x18
mov r2, #0xff
lsr r0, r0, #0x16
lsl r2, r1
ldr r3, [r5, r0]
mvn r2, r2
and r2, r3
str r2, [r5, r0]
add r2, r4, #0x0
ldr r3, [r5, r0]
lsl r2, r1
add r1, r3, #0x0
orr r1, r2
str r1, [r5, r0]
pop {r4-r6, pc}
thumb_func_start sub_02026EF4
sub_02026EF4: ; 0x02026EF4
lsr r2, r1, #0x2
lsl r2, r2, #0x18
lsr r2, r2, #0x16
ldr r0, [r0, r2]
lsr r3, r1, #0x1f
lsl r2, r1, #0x1e
sub r2, r2, r3
mov r1, #0x1e
ror r2, r1
add r1, r3, r2
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsl r1, r1, #0x1b
lsr r1, r1, #0x18
lsr r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bx lr
thumb_func_start sub_02026F18
sub_02026F18: ; 0x02026F18
push {r4-r6, lr}
mov r5, #0x0
add r6, r0, #0x0
add r4, r5, #0x0
_02026F20:
lsl r1, r4, #0x18
add r0, r6, #0x0
lsr r1, r1, #0x18
bl sub_02026EF4
cmp r0, #0x12
beq _02026F30
add r5, r5, #0x1
_02026F30:
add r4, r4, #0x1
cmp r4, #0x12
blt _02026F20
lsl r0, r5, #0x18
lsr r0, r0, #0x18
pop {r4-r6, pc}
thumb_func_start sub_02026F3C
sub_02026F3C: ; 0x02026F3C
push {r3-r5, lr}
add r5, r1, #0x0
mov r1, #0x2
add r4, r2, #0x0
bl sub_02068E14
mov r1, #0x80
strb r1, [r5, #0x0]
mov r1, #0x28
sub r1, r1, r0
mov r0, #0x8d
sub r0, r0, r1
strb r0, [r4, #0x0]
ldrb r0, [r4, #0x0]
add r0, #0x28
strb r0, [r4, #0x0]
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02026F60
sub_02026F60: ; 0x02026F60
push {r3-r7, lr}
add r7, r0, #0x0
ldr r6, _02026FC8 ; =0x00001234
mov r4, #0x0
add r5, r7, #0x0
_02026F6A:
add r0, r5, #0x0
mov r1, #0x0
mov r2, #0x74
bl memset
str r6, [r5, #0x0]
add r4, r4, #0x1
add r5, #0x74
cmp r4, #0xb
blt _02026F6A
ldr r0, _02026FCC ; =0x000004FC
mov r6, #0x0
add r4, r7, r0
add r5, r7, #0x0
_02026F86:
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x98
bl memset
ldr r1, _02026FC8 ; =0x00001234
ldr r0, _02026FCC ; =0x000004FC
add r6, r6, #0x1
str r1, [r5, r0]
add r4, #0x98
add r5, #0x98
cmp r6, #0x5
blt _02026F86
ldr r0, _02026FD0 ; =0x000007F4
mov r1, #0x0
add r0, r7, r0
mov r2, #0x40
bl memset
ldr r5, _02026FD4 ; =0x0000081C
mov r4, #0x0
mov r6, #0x12
_02026FB2:
lsl r2, r4, #0x18
add r0, r7, r5
add r1, r6, #0x0
lsr r2, r2, #0x18
bl sub_02026EB0
add r4, r4, #0x1
cmp r4, #0x12
blt _02026FB2
pop {r3-r7, pc}
nop
_02026FC8: .word 0x00001234
_02026FCC: .word 0x000004FC
_02026FD0: .word 0x000007F4
_02026FD4: .word 0x0000081C
thumb_func_start sub_02026FD8
sub_02026FD8: ; 0x02026FD8
ldr r0, _02026FDC ; =0x00000834
bx lr
.balign 4
_02026FDC: .word 0x00000834
thumb_func_start sub_02026FE0
sub_02026FE0: ; 0x02026FE0
mov r0, #0x74
bx lr
thumb_func_start sub_02026FE4
sub_02026FE4: ; 0x02026FE4
mov r0, #0x98
bx lr
thumb_func_start sub_02026FE8
sub_02026FE8: ; 0x02026FE8
push {r4, lr}
mov r1, #0x98
bl Heap_Alloc
mov r1, #0x0
mov r2, #0x98
add r4, r0, #0x0
bl memset
ldr r0, _02027004 ; =0x00001234
str r0, [r4, #0x0]
add r0, r4, #0x0
pop {r4, pc}
nop
_02027004: .word 0x00001234
thumb_func_start sub_02027008
sub_02027008: ; 0x02027008
push {r4-r6, lr}
add r6, r1, #0x0
add r5, r0, #0x0
cmp r6, #0xb
blt _02027016
bl GF_AssertFail
_02027016:
mov r0, #0x74
add r4, r6, #0x0
mul r4, r0
ldr r1, [r5, r4]
ldr r0, _0202703C ; =0x00001234
cmp r1, r0
beq _0202702A
ldr r0, _02027040 ; =0x00002345
cmp r1, r0
bne _0202702E
_0202702A:
mov r0, #0x1
b _02027030
_0202702E:
mov r0, #0x0
_02027030:
cmp r0, #0x0
bne _02027038
bl GF_AssertFail
_02027038:
add r0, r5, r4
pop {r4-r6, pc}
.balign 4
_0202703C: .word 0x00001234
_02027040: .word 0x00002345
thumb_func_start sub_02027044
sub_02027044: ; 0x02027044
push {r4-r6, lr}
add r6, r1, #0x0
add r5, r0, #0x0
cmp r6, #0x5
blt _02027052
bl GF_AssertFail
_02027052:
mov r0, #0x98
add r4, r6, #0x0
mul r4, r0
ldr r0, _02027080 ; =0x000004FC
add r1, r5, r4
ldr r1, [r1, r0]
ldr r0, _02027084 ; =0x00001234
cmp r1, r0
beq _0202706A
ldr r0, _02027088 ; =0x00002345
cmp r1, r0
bne _0202706E
_0202706A:
mov r0, #0x1
b _02027070
_0202706E:
mov r0, #0x0
_02027070:
cmp r0, #0x0
bne _02027078
bl GF_AssertFail
_02027078:
ldr r0, _02027080 ; =0x000004FC
add r0, r5, r0
add r0, r0, r4
pop {r4-r6, pc}
.balign 4
_02027080: .word 0x000004FC
_02027084: .word 0x00001234
_02027088: .word 0x00002345
thumb_func_start Save_FashionData_GetFashionCase
Save_FashionData_GetFashionCase: ; 0x0202708C
ldr r1, _02027094 ; =0x000007F4
add r0, r0, r1
bx lr
nop
_02027094: .word 0x000007F4
thumb_func_start CheckPortraitSlotFull
CheckPortraitSlotFull: ; 0x02027098
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0xb
blt _020270A6
bl GF_AssertFail
_020270A6:
mov r0, #0x74
mul r0, r4
add r0, r5, r0
bl sub_0202729C
pop {r3-r5, pc}
.balign 4
thumb_func_start CheckContestPortraitSlotFull
CheckContestPortraitSlotFull: ; 0x020270B4
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x5
blt _020270C2
bl GF_AssertFail
_020270C2:
ldr r0, _020270D4 ; =0x000004FC
add r1, r5, r0
mov r0, #0x98
mul r0, r4
add r0, r1, r0
bl sub_020276D8
pop {r3-r5, pc}
nop
_020270D4: .word 0x000004FC
thumb_func_start sub_020270D8
sub_020270D8: ; 0x020270D8
push {r4-r6, lr}
add r6, r1, #0x0
add r5, r2, #0x0
mov r4, #0x1
bl sub_02027114
cmp r6, #0x3d
bhs _020270F2
add r0, r0, r5
cmp r0, #0x9
bls _020270FA
mov r4, #0x0
b _020270FA
_020270F2:
add r0, r0, r5
cmp r0, #0x1
bls _020270FA
mov r4, #0x0
_020270FA:
add r0, r4, #0x0
pop {r4-r6, pc}
.balign 4
thumb_func_start sub_02027100
sub_02027100: ; 0x02027100
push {r3, lr}
bl sub_0202714C
cmp r0, #0x12
beq _0202710E
mov r0, #0x1
pop {r3, pc}
_0202710E:
mov r0, #0x0
pop {r3, pc}
.balign 4
thumb_func_start sub_02027114
sub_02027114: ; 0x02027114
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
cmp r5, #0x64
blo _02027122
bl GF_AssertFail
_02027122:
cmp r5, #0x3d
bhs _02027132
lsl r1, r5, #0x18
add r0, r4, #0x0
lsr r1, r1, #0x18
bl sub_02026E08
pop {r3-r5, pc}
_02027132:
bhs _02027138
bl GF_AssertFail
_02027138:
sub r5, #0x3d
lsl r0, r5, #0x18
lsr r1, r0, #0x18
add r4, #0x20
lsl r1, r1, #0x18
add r0, r4, #0x0
lsr r1, r1, #0x18
bl sub_02026E88
pop {r3-r5, pc}
thumb_func_start sub_0202714C
sub_0202714C: ; 0x0202714C
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x12
blo _0202715A
bl GF_AssertFail
_0202715A:
add r5, #0x28
lsl r1, r4, #0x18
add r0, r5, #0x0
lsr r1, r1, #0x18
bl sub_02026EF4
pop {r3-r5, pc}
thumb_func_start FashionCase_CountAccessories
FashionCase_CountAccessories: ; 0x02027168
push {r4-r6, lr}
mov r5, #0x0
add r6, r0, #0x0
add r4, r5, #0x0
_02027170:
add r0, r6, #0x0
add r1, r4, #0x0
bl sub_02027114
add r4, r4, #0x1
add r5, r5, r0
cmp r4, #0x64
blt _02027170
add r0, r5, #0x0
pop {r4-r6, pc}
thumb_func_start FashionCase_CountWallpapers
FashionCase_CountWallpapers: ; 0x02027184
push {r4-r6, lr}
mov r5, #0x0
add r6, r0, #0x0
add r4, r5, #0x0
_0202718C:
add r0, r6, #0x0
add r1, r4, #0x0
bl sub_0202714C
cmp r0, #0x12
beq _0202719A
add r5, r5, #0x1
_0202719A:
add r4, r4, #0x1
cmp r4, #0x12
blt _0202718C
add r0, r5, #0x0
pop {r4-r6, pc}
thumb_func_start sub_020271A4
sub_020271A4: ; 0x020271A4
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
cmp r4, #0x64
blo _020271B4
bl GF_AssertFail
_020271B4:
cmp r4, #0x3d
bhs _020271DA
lsl r1, r4, #0x18
add r0, r5, #0x0
lsr r1, r1, #0x18
bl sub_02026E08
add r0, r0, r6
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r1, #0x9
bls _020271CE
mov r1, #0x9
_020271CE:
lsl r2, r4, #0x18
add r0, r5, #0x0
lsr r2, r2, #0x18
bl sub_02026DC4
pop {r4-r6, pc}
_020271DA:
add r0, r5, #0x0
lsl r1, r4, #0x18
add r0, #0x20
lsr r1, r1, #0x18
bl sub_02026E88
add r0, r0, r6
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #0x1
bls _020271F2
mov r6, #0x1
_020271F2:
cmp r4, #0x3d
bhs _020271FA
bl GF_AssertFail
_020271FA:
sub r4, #0x3d
lsl r0, r4, #0x18
lsr r2, r0, #0x18
add r5, #0x20
lsl r2, r2, #0x18
add r0, r5, #0x0
add r1, r6, #0x0
lsr r2, r2, #0x18
bl sub_02026E48
pop {r4-r6, pc}
thumb_func_start sub_02027210
sub_02027210: ; 0x02027210
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
cmp r4, #0x64
blo _02027220
bl GF_AssertFail
_02027220:
cmp r4, #0x3d
bhs _02027248
lsl r1, r4, #0x18
add r0, r5, #0x0
lsr r1, r1, #0x18
bl sub_02026E08
cmp r0, r6
bls _0202723A
sub r0, r0, r6
lsl r0, r0, #0x18
lsr r1, r0, #0x18
b _0202723C
_0202723A:
mov r1, #0x0
_0202723C:
lsl r2, r4, #0x18
add r0, r5, #0x0
lsr r2, r2, #0x18
bl sub_02026DC4
pop {r4-r6, pc}
_02027248:
bhs _0202724E
bl GF_AssertFail
_0202724E:
sub r4, #0x3d
lsl r0, r4, #0x18
lsr r2, r0, #0x18
add r5, #0x20
lsl r2, r2, #0x18
add r0, r5, #0x0
mov r1, #0x0
lsr r2, r2, #0x18
bl sub_02026E48
pop {r4-r6, pc}
thumb_func_start sub_02027264
sub_02027264: ; 0x02027264
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x12
blo _02027272
bl GF_AssertFail
_02027272:
add r0, r5, #0x0
lsl r1, r4, #0x18
add r0, #0x28
lsr r1, r1, #0x18
bl sub_02026EF4
cmp r0, #0x12
bne _02027298
add r0, r5, #0x0
add r0, #0x28
bl sub_02026F18
lsl r2, r4, #0x18
add r5, #0x28
add r1, r0, #0x0
add r0, r5, #0x0
lsr r2, r2, #0x18
bl sub_02026EB0
_02027298:
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0202729C
sub_0202729C: ; 0x0202729C
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _020272CC ; =0x00001234
cmp r1, r0
beq _020272AE
ldr r0, _020272D0 ; =0x00002345
cmp r1, r0
bne _020272B2
_020272AE:
mov r0, #0x1
b _020272B4
_020272B2:
mov r0, #0x0
_020272B4:
cmp r0, #0x0
bne _020272BC
bl GF_AssertFail
_020272BC:
ldr r1, [r4, #0x0]
ldr r0, _020272D0 ; =0x00002345
cmp r1, r0
bne _020272C8
mov r0, #0x1
pop {r4, pc}
_020272C8:
mov r0, #0x0
pop {r4, pc}
.balign 4
_020272CC: .word 0x00001234
_020272D0: .word 0x00002345
thumb_func_start sub_020272D4
sub_020272D4: ; 0x020272D4
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027304 ; =0x00001234
cmp r1, r0
beq _020272E6
ldr r0, _02027308 ; =0x00002345
cmp r1, r0
bne _020272EA
_020272E6:
mov r0, #0x1
b _020272EC
_020272EA:
mov r0, #0x0
_020272EC:
cmp r0, #0x0
bne _020272F4
bl GF_AssertFail
_020272F4:
ldr r0, _02027308 ; =0x00002345
str r0, [r4, #0x0]
ldr r0, _0202730C ; =gGameLanguage
add r4, #0x71
ldrb r0, [r0, #0x0]
strb r0, [r4, #0x0]
pop {r4, pc}
nop
_02027304: .word 0x00001234
_02027308: .word 0x00002345
_0202730C: .word gGameLanguage
thumb_func_start sub_02027310
sub_02027310: ; 0x02027310
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027340 ; =0x00001234
cmp r1, r0
beq _02027322
ldr r0, _02027344 ; =0x00002345
cmp r1, r0
bne _02027326
_02027322:
mov r0, #0x1
b _02027328
_02027326:
mov r0, #0x0
_02027328:
cmp r0, #0x0
bne _02027330
bl GF_AssertFail
_02027330:
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x74
bl memset
ldr r0, _02027340 ; =0x00001234
str r0, [r4, #0x0]
pop {r4, pc}
.balign 4
_02027340: .word 0x00001234
_02027344: .word 0x00002345
thumb_func_start sub_02027348
sub_02027348: ; 0x02027348
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027378 ; =0x00001234
add r6, r2, #0x0
cmp r1, r0
beq _0202735E
ldr r0, _0202737C ; =0x00002345
cmp r1, r0
bne _02027362
_0202735E:
mov r0, #0x1
b _02027364
_02027362:
mov r0, #0x0
_02027364:
cmp r0, #0x0
bne _0202736C
bl GF_AssertFail
_0202736C:
add r0, r5, #0x4
add r1, r4, #0x0
add r2, r6, #0x0
bl sub_02026D34
pop {r4-r6, pc}
.balign 4
_02027378: .word 0x00001234
_0202737C: .word 0x00002345
thumb_func_start sub_02027380
sub_02027380: ; 0x02027380
push {r4-r7, lr}
sub sp, #0x14
add r4, r1, #0x0
add r5, r0, #0x0
ldr r0, [r4, #0x4]
add r6, r2, #0x0
bl sub_02013ECC
add r1, sp, #0xc
strh r0, [r1, #0x0]
lsr r0, r0, #0x10
strh r0, [r1, #0x2]
ldrh r0, [r1, #0x0]
strh r0, [r1, #0x4]
ldrh r0, [r1, #0x2]
strh r0, [r1, #0x6]
ldr r0, [r4, #0x4]
bl sub_02013F00
str r0, [sp, #0x8]
cmp r6, #0xa
blt _020273B0
bl GF_AssertFail
_020273B0:
add r1, sp, #0xc
mov r0, #0x4
ldrsh r1, [r1, r0]
add r0, #0xfc
cmp r1, r0
blt _020273C0
bl GF_AssertFail
_020273C0:
add r1, sp, #0xc
mov r0, #0x6
ldrsh r7, [r1, r0]
add r0, #0xfa
cmp r7, r0
blt _020273D0
bl GF_AssertFail
_020273D0:
mov r1, #0x7f
ldr r0, [sp, #0x8]
mvn r1, r1
cmp r0, r1
bgt _020273DE
bl GF_AssertFail
_020273DE:
mov r0, #0x1
lsl r0, r6
ldr r1, [r5, #0x3c]
str r0, [sp, #0x4]
tst r0, r1
beq _020273EE
bl GF_AssertFail
_020273EE:
ldr r1, [r5, #0x0]
ldr r0, _02027440 ; =0x00001234
cmp r1, r0
beq _020273FC
ldr r0, _02027444 ; =0x00002345
cmp r1, r0
bne _02027400
_020273FC:
mov r0, #0x1
b _02027402
_02027400:
mov r0, #0x0
_02027402:
cmp r0, #0x0
bne _0202740A
bl GF_AssertFail
_0202740A:
ldr r0, [sp, #0x8]
add r1, r5, #0x0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
add r3, sp, #0xc
mov r2, #0x4
ldrsh r2, [r3, r2]
lsl r3, r7, #0x18
add r1, #0x48
lsl r0, r6, #0x2
add r0, r1, r0
ldr r1, [r4, #0x0]
lsl r2, r2, #0x18
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_02026DB0
ldr r1, [r5, #0x3c]
ldr r0, [sp, #0x4]
orr r0, r1
str r0, [r5, #0x3c]
add sp, #0x14
pop {r4-r7, pc}
nop
_02027440: .word 0x00001234
_02027444: .word 0x00002345
thumb_func_start sub_02027448
sub_02027448: ; 0x02027448
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027470 ; =0x00001234
cmp r1, r0
beq _0202745C
ldr r0, _02027474 ; =0x00002345
cmp r1, r0
bne _02027460
_0202745C:
mov r0, #0x1
b _02027462
_02027460:
mov r0, #0x0
_02027462:
cmp r0, #0x0
bne _0202746A
bl GF_AssertFail
_0202746A:
add r5, #0x70
strb r4, [r5, #0x0]
pop {r3-r5, pc}
.balign 4
_02027470: .word 0x00001234
_02027474: .word 0x00002345
thumb_func_start sub_02027478
sub_02027478: ; 0x02027478
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _020274B0 ; =0x00001234
cmp r1, r0
beq _0202748C
ldr r0, _020274B4 ; =0x00002345
cmp r1, r0
bne _02027490
_0202748C:
mov r0, #0x1
b _02027492
_02027490:
mov r0, #0x0
_02027492:
cmp r0, #0x0
bne _0202749A
bl GF_AssertFail
_0202749A:
add r0, r5, #0x0
add r0, #0x40
bl MailMsg_Init
add r5, #0x40
add r0, r5, #0x0
mov r1, #0x0
add r2, r4, #0x0
bl MailMsg_SetFieldI
pop {r3-r5, pc}
.balign 4
_020274B0: .word 0x00001234
_020274B4: .word 0x00002345
thumb_func_start sub_020274B8
sub_020274B8: ; 0x020274B8
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _020274E8 ; =0x00001234
cmp r1, r0
beq _020274CC
ldr r0, _020274EC ; =0x00002345
cmp r1, r0
bne _020274D0
_020274CC:
mov r0, #0x1
b _020274D2
_020274D0:
mov r0, #0x0
_020274D2:
cmp r0, #0x0
bne _020274DA
bl GF_AssertFail
_020274DA:
add r0, r5, #0x0
add r1, r4, #0x0
mov r2, #0x74
bl memcpy
pop {r3-r5, pc}
nop
_020274E8: .word 0x00001234
_020274EC: .word 0x00002345
thumb_func_start sub_020274F0
sub_020274F0: ; 0x020274F0
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027520 ; =0x00001234
add r6, r2, #0x0
cmp r1, r0
beq _02027506
ldr r0, _02027524 ; =0x00002345
cmp r1, r0
bne _0202750A
_02027506:
mov r0, #0x1
b _0202750C
_0202750A:
mov r0, #0x0
_0202750C:
cmp r0, #0x0
bne _02027514
bl GF_AssertFail
_02027514:
add r0, r5, #0x4
add r1, r4, #0x0
add r2, r6, #0x0
bl sub_02026D98
pop {r4-r6, pc}
.balign 4
_02027520: .word 0x00001234
_02027524: .word 0x00002345
thumb_func_start sub_02027528
sub_02027528: ; 0x02027528
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0xa
blt _02027536
bl GF_AssertFail
_02027536:
ldr r1, [r5, #0x0]
ldr r0, _0202755C ; =0x00001234
cmp r1, r0
beq _02027544
ldr r0, _02027560 ; =0x00002345
cmp r1, r0
bne _02027548
_02027544:
mov r0, #0x1
b _0202754A
_02027548:
mov r0, #0x0
_0202754A:
cmp r0, #0x0
bne _02027552
bl GF_AssertFail
_02027552:
mov r0, #0x1
ldr r1, [r5, #0x3c]
lsl r0, r4
and r0, r1
pop {r3-r5, pc}
.balign 4
_0202755C: .word 0x00001234
_02027560: .word 0x00002345
thumb_func_start sub_02027564
sub_02027564: ; 0x02027564
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027588 ; =0x00001234
cmp r1, r0
beq _02027576
ldr r0, _0202758C ; =0x00002345
cmp r1, r0
bne _0202757A
_02027576:
mov r0, #0x1
b _0202757C
_0202757A:
mov r0, #0x0
_0202757C:
cmp r0, #0x0
bne _02027584
bl GF_AssertFail
_02027584:
add r0, r4, #0x4
pop {r4, pc}
.balign 4
_02027588: .word 0x00001234
_0202758C: .word 0x00002345
thumb_func_start sub_02027590
sub_02027590: ; 0x02027590
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0xa
blt _0202759E
bl GF_AssertFail
_0202759E:
mov r0, #0x1
ldr r1, [r5, #0x3c]
lsl r0, r4
tst r0, r1
bne _020275AC
bl GF_AssertFail
_020275AC:
ldr r1, [r5, #0x0]
ldr r0, _020275D0 ; =0x00001234
cmp r1, r0
beq _020275BA
ldr r0, _020275D4 ; =0x00002345
cmp r1, r0
bne _020275BE
_020275BA:
mov r0, #0x1
b _020275C0
_020275BE:
mov r0, #0x0
_020275C0:
cmp r0, #0x0
bne _020275C8
bl GF_AssertFail
_020275C8:
add r5, #0x48
lsl r0, r4, #0x2
add r0, r5, r0
pop {r3-r5, pc}
.balign 4
_020275D0: .word 0x00001234
_020275D4: .word 0x00002345
thumb_func_start sub_020275D8
sub_020275D8: ; 0x020275D8
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027600 ; =0x00001234
cmp r1, r0
beq _020275EA
ldr r0, _02027604 ; =0x00002345
cmp r1, r0
bne _020275EE
_020275EA:
mov r0, #0x1
b _020275F0
_020275EE:
mov r0, #0x0
_020275F0:
cmp r0, #0x0
bne _020275F8
bl GF_AssertFail
_020275F8:
add r0, r4, #0x4
bl sub_02027C84
pop {r4, pc}
.balign 4
_02027600: .word 0x00001234
_02027604: .word 0x00002345
thumb_func_start sub_02027608
sub_02027608: ; 0x02027608
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027634 ; =0x00001234
cmp r1, r0
beq _0202761C
ldr r0, _02027638 ; =0x00002345
cmp r1, r0
bne _02027620
_0202761C:
mov r0, #0x1
b _02027622
_02027620:
mov r0, #0x0
_02027622:
cmp r0, #0x0
bne _0202762A
bl GF_AssertFail
_0202762A:
add r0, r5, #0x4
add r1, r4, #0x0
bl sub_02027C88
pop {r3-r5, pc}
.balign 4
_02027634: .word 0x00001234
_02027638: .word 0x00002345
thumb_func_start sub_0202763C
sub_0202763C: ; 0x0202763C
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027664 ; =0x00001234
cmp r1, r0
beq _0202764E
ldr r0, _02027668 ; =0x00002345
cmp r1, r0
bne _02027652
_0202764E:
mov r0, #0x1
b _02027654
_02027652:
mov r0, #0x0
_02027654:
cmp r0, #0x0
bne _0202765C
bl GF_AssertFail
_0202765C:
add r0, r4, #0x4
bl sub_02027C98
pop {r4, pc}
.balign 4
_02027664: .word 0x00001234
_02027668: .word 0x00002345
thumb_func_start sub_0202766C
sub_0202766C: ; 0x0202766C
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027694 ; =0x00001234
cmp r1, r0
beq _0202767E
ldr r0, _02027698 ; =0x00002345
cmp r1, r0
bne _02027682
_0202767E:
mov r0, #0x1
b _02027684
_02027682:
mov r0, #0x0
_02027684:
cmp r0, #0x0
bne _0202768C
bl GF_AssertFail
_0202768C:
add r4, #0x70
ldrb r0, [r4, #0x0]
pop {r4, pc}
nop
_02027694: .word 0x00001234
_02027698: .word 0x00002345
thumb_func_start sub_0202769C
sub_0202769C: ; 0x0202769C
ldr r3, _020276A4 ; =MailMsg_GetFieldI
add r0, #0x40
mov r1, #0x0
bx r3
.balign 4
_020276A4: .word MailMsg_GetFieldI
thumb_func_start sub_020276A8
sub_020276A8: ; 0x020276A8
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _020276D0 ; =0x00001234
cmp r1, r0
beq _020276BA
ldr r0, _020276D4 ; =0x00002345
cmp r1, r0
bne _020276BE
_020276BA:
mov r0, #0x1
b _020276C0
_020276BE:
mov r0, #0x0
_020276C0:
cmp r0, #0x0
bne _020276C8
bl GF_AssertFail
_020276C8:
add r4, #0x71
ldrb r0, [r4, #0x0]
pop {r4, pc}
nop
_020276D0: .word 0x00001234
_020276D4: .word 0x00002345
thumb_func_start sub_020276D8
sub_020276D8: ; 0x020276D8
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027708 ; =0x00001234
cmp r1, r0
beq _020276EA
ldr r0, _0202770C ; =0x00002345
cmp r1, r0
bne _020276EE
_020276EA:
mov r0, #0x1
b _020276F0
_020276EE:
mov r0, #0x0
_020276F0:
cmp r0, #0x0
bne _020276F8
bl GF_AssertFail
_020276F8:
ldr r1, [r4, #0x0]
ldr r0, _0202770C ; =0x00002345
cmp r1, r0
bne _02027704
mov r0, #0x1
pop {r4, pc}
_02027704:
mov r0, #0x0
pop {r4, pc}
.balign 4
_02027708: .word 0x00001234
_0202770C: .word 0x00002345
thumb_func_start sub_02027710
sub_02027710: ; 0x02027710
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027738 ; =0x00001234
cmp r1, r0
beq _02027722
ldr r0, _0202773C ; =0x00002345
cmp r1, r0
bne _02027726
_02027722:
mov r0, #0x1
b _02027728
_02027726:
mov r0, #0x0
_02027728:
cmp r0, #0x0
bne _02027730
bl GF_AssertFail
_02027730:
ldr r0, _0202773C ; =0x00002345
str r0, [r4, #0x0]
pop {r4, pc}
nop
_02027738: .word 0x00001234
_0202773C: .word 0x00002345
thumb_func_start sub_02027740
sub_02027740: ; 0x02027740
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027770 ; =0x00001234
cmp r1, r0
beq _02027752
ldr r0, _02027774 ; =0x00002345
cmp r1, r0
bne _02027756
_02027752:
mov r0, #0x1
b _02027758
_02027756:
mov r0, #0x0
_02027758:
cmp r0, #0x0
bne _02027760
bl GF_AssertFail
_02027760:
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x98
bl memset
ldr r0, _02027770 ; =0x00001234
str r0, [r4, #0x0]
pop {r4, pc}
.balign 4
_02027770: .word 0x00001234
_02027774: .word 0x00002345
thumb_func_start sub_02027778
sub_02027778: ; 0x02027778
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _020277AC ; =0x00001234
add r6, r2, #0x0
cmp r1, r0
beq _0202778E
ldr r0, _020277B0 ; =0x00002345
cmp r1, r0
bne _02027792
_0202778E:
mov r0, #0x1
b _02027794
_02027792:
mov r0, #0x0
_02027794:
cmp r0, #0x0
bne _0202779C
bl GF_AssertFail
_0202779C:
add r5, #0x8
add r0, r5, #0x0
add r1, r4, #0x0
add r2, r6, #0x0
bl sub_02026D34
pop {r4-r6, pc}
nop
_020277AC: .word 0x00001234
_020277B0: .word 0x00002345
thumb_func_start sub_020277B4
sub_020277B4: ; 0x020277B4
push {r4-r7, lr}
sub sp, #0x14
add r4, r1, #0x0
add r5, r0, #0x0
ldr r0, [r4, #0x4]
add r6, r2, #0x0
bl sub_02013ECC
add r1, sp, #0xc
strh r0, [r1, #0x0]
lsr r0, r0, #0x10
strh r0, [r1, #0x2]
ldrh r0, [r1, #0x0]
strh r0, [r1, #0x4]
ldrh r0, [r1, #0x2]
strh r0, [r1, #0x6]
ldr r0, [r4, #0x4]
bl sub_02013F00
str r0, [sp, #0x8]
cmp r6, #0x14
blt _020277E4
bl GF_AssertFail
_020277E4:
add r1, sp, #0xc
mov r0, #0x4
ldrsh r1, [r1, r0]
add r0, #0xfc
cmp r1, r0
blt _020277F4
bl GF_AssertFail
_020277F4:
add r1, sp, #0xc
mov r0, #0x6
ldrsh r7, [r1, r0]
add r0, #0xfa
cmp r7, r0
blt _02027804
bl GF_AssertFail
_02027804:
mov r1, #0x7f
ldr r0, [sp, #0x8]
mvn r1, r1
cmp r0, r1
bgt _02027812
bl GF_AssertFail
_02027812:
mov r0, #0x1
lsl r0, r6
ldr r1, [r5, #0x40]
str r0, [sp, #0x4]
tst r0, r1
beq _02027822
bl GF_AssertFail
_02027822:
ldr r1, [r5, #0x0]
ldr r0, _02027874 ; =0x00001234
cmp r1, r0
beq _02027830
ldr r0, _02027878 ; =0x00002345
cmp r1, r0
bne _02027834
_02027830:
mov r0, #0x1
b _02027836
_02027834:
mov r0, #0x0
_02027836:
cmp r0, #0x0
bne _0202783E
bl GF_AssertFail
_0202783E:
ldr r0, [sp, #0x8]
add r1, r5, #0x0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
add r3, sp, #0xc
mov r2, #0x4
ldrsh r2, [r3, r2]
lsl r3, r7, #0x18
add r1, #0x44
lsl r0, r6, #0x2
add r0, r1, r0
ldr r1, [r4, #0x0]
lsl r2, r2, #0x18
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_02026DB0
ldr r1, [r5, #0x40]
ldr r0, [sp, #0x4]
orr r0, r1
str r0, [r5, #0x40]
add sp, #0x14
pop {r4-r7, pc}
nop
_02027874: .word 0x00001234
_02027878: .word 0x00002345
thumb_func_start sub_0202787C
sub_0202787C: ; 0x0202787C
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _020278A4 ; =0x00001234
cmp r1, r0
beq _02027890
ldr r0, _020278A8 ; =0x00002345
cmp r1, r0
bne _02027894
_02027890:
mov r0, #0x1
b _02027896
_02027894:
mov r0, #0x0
_02027896:
cmp r0, #0x0
bne _0202789E
bl GF_AssertFail
_0202789E:
add r5, #0x94
strb r4, [r5, #0x0]
pop {r3-r5, pc}
.balign 4
_020278A4: .word 0x00001234
_020278A8: .word 0x00002345
thumb_func_start sub_020278AC
sub_020278AC: ; 0x020278AC
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _020278D4 ; =0x00001234
cmp r1, r0
beq _020278C0
ldr r0, _020278D8 ; =0x00002345
cmp r1, r0
bne _020278C4
_020278C0:
mov r0, #0x1
b _020278C6
_020278C4:
mov r0, #0x0
_020278C6:
cmp r0, #0x0
bne _020278CE
bl GF_AssertFail
_020278CE:
str r4, [r5, #0x4]
pop {r3-r5, pc}
nop
_020278D4: .word 0x00001234
_020278D8: .word 0x00002345
thumb_func_start sub_020278DC
sub_020278DC: ; 0x020278DC
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _0202790C ; =0x00001234
cmp r1, r0
beq _020278F0
ldr r0, _02027910 ; =0x00002345
cmp r1, r0
bne _020278F4
_020278F0:
mov r0, #0x1
b _020278F6
_020278F4:
mov r0, #0x0
_020278F6:
cmp r0, #0x0
bne _020278FE
bl GF_AssertFail
_020278FE:
add r0, r5, #0x0
add r1, r4, #0x0
mov r2, #0x98
bl memcpy
pop {r3-r5, pc}
nop
_0202790C: .word 0x00001234
_02027910: .word 0x00002345
thumb_func_start sub_02027914
sub_02027914: ; 0x02027914
push {r4-r6, lr}
sub sp, #0x8
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _0202795C ; =0x00001234
add r6, r2, #0x0
cmp r1, r0
beq _0202792C
ldr r0, _02027960 ; =0x00002345
cmp r1, r0
bne _02027930
_0202792C:
mov r0, #0x1
b _02027932
_02027930:
mov r0, #0x0
_02027932:
cmp r0, #0x0
bne _0202793A
bl GF_AssertFail
_0202793A:
add r1, sp, #0x4
add r0, r4, #0x0
add r1, #0x1
add r2, sp, #0x4
bl sub_02026F3C
add r5, #0x8
str r6, [sp, #0x0]
add r3, sp, #0x4
ldrb r2, [r3, #0x1]
ldrb r3, [r3, #0x0]
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02026CD0
add sp, #0x8
pop {r4-r6, pc}
.balign 4
_0202795C: .word 0x00001234
_02027960: .word 0x00002345
thumb_func_start sub_02027964
sub_02027964: ; 0x02027964
push {r4-r7, lr}
sub sp, #0xc
str r3, [sp, #0x4]
add r6, r1, #0x0
add r5, r0, #0x0
add r7, r2, #0x0
ldr r4, [sp, #0x24]
cmp r6, #0x14
blo _0202797A
bl GF_AssertFail
_0202797A:
cmp r7, #0x64
blo _02027982
bl GF_AssertFail
_02027982:
mov r1, #0x1
ldr r0, [sp, #0x4]
lsl r1, r1, #0x8
cmp r0, r1
blt _02027990
bl GF_AssertFail
_02027990:
add r0, sp, #0x10
ldrb r1, [r0, #0x10]
mov r0, #0x1
lsl r0, r0, #0x8
cmp r1, r0
blt _020279A0
bl GF_AssertFail
_020279A0:
mov r0, #0x7f
mvn r0, r0
cmp r4, r0
bgt _020279AC
bl GF_AssertFail
_020279AC:
mov r0, #0x1
lsl r0, r6
ldr r1, [r5, #0x40]
str r0, [sp, #0x8]
tst r0, r1
beq _020279BC
bl GF_AssertFail
_020279BC:
ldr r1, [r5, #0x0]
ldr r0, _02027A0C ; =0x00001234
cmp r1, r0
beq _020279CA
ldr r0, _02027A10 ; =0x00002345
cmp r1, r0
bne _020279CE
_020279CA:
mov r0, #0x1
b _020279D0
_020279CE:
mov r0, #0x0
_020279D0:
cmp r0, #0x0
bne _020279D8
bl GF_AssertFail
_020279D8:
mov r0, #0x38
ldrsb r0, [r5, r0]
cmp r0, r4
blt _020279E6
add r0, r0, #0x1
lsl r0, r0, #0x18
asr r4, r0, #0x18
_020279E6:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
add r3, sp, #0x10
add r1, r5, #0x0
ldrb r3, [r3, #0x10]
add r1, #0x44
lsl r0, r6, #0x2
add r0, r1, r0
ldr r2, [sp, #0x4]
add r1, r7, #0x0
bl sub_02026DB0
ldr r1, [r5, #0x40]
ldr r0, [sp, #0x8]
orr r0, r1
str r0, [r5, #0x40]
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_02027A0C: .word 0x00001234
_02027A10: .word 0x00002345
thumb_func_start sub_02027A14
sub_02027A14: ; 0x02027A14
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x14
blt _02027A22
bl GF_AssertFail
_02027A22:
ldr r1, [r5, #0x0]
ldr r0, _02027A50 ; =0x00001234
cmp r1, r0
beq _02027A30
ldr r0, _02027A54 ; =0x00002345
cmp r1, r0
bne _02027A34
_02027A30:
mov r0, #0x1
b _02027A36
_02027A34:
mov r0, #0x0
_02027A36:
cmp r0, #0x0
bne _02027A3E
bl GF_AssertFail
_02027A3E:
mov r0, #0x1
add r1, r0, #0x0
ldr r2, [r5, #0x40]
lsl r1, r4
tst r1, r2
bne _02027A4C
mov r0, #0x0
_02027A4C:
pop {r3-r5, pc}
nop
_02027A50: .word 0x00001234
_02027A54: .word 0x00002345
thumb_func_start sub_02027A58
sub_02027A58: ; 0x02027A58
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027A8C ; =0x00001234
add r6, r2, #0x0
cmp r1, r0
beq _02027A6E
ldr r0, _02027A90 ; =0x00002345
cmp r1, r0
bne _02027A72
_02027A6E:
mov r0, #0x1
b _02027A74
_02027A72:
mov r0, #0x0
_02027A74:
cmp r0, #0x0
bne _02027A7C
bl GF_AssertFail
_02027A7C:
add r5, #0x8
add r0, r5, #0x0
add r1, r4, #0x0
add r2, r6, #0x0
bl sub_02026D98
pop {r4-r6, pc}
nop
_02027A8C: .word 0x00001234
_02027A90: .word 0x00002345
thumb_func_start sub_02027A94
sub_02027A94: ; 0x02027A94
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027ABC ; =0x00001234
cmp r1, r0
beq _02027AA6
ldr r0, _02027AC0 ; =0x00002345
cmp r1, r0
bne _02027AAA
_02027AA6:
mov r0, #0x1
b _02027AAC
_02027AAA:
mov r0, #0x0
_02027AAC:
cmp r0, #0x0
bne _02027AB4
bl GF_AssertFail
_02027AB4:
add r4, #0x8
add r0, r4, #0x0
pop {r4, pc}
nop
_02027ABC: .word 0x00001234
_02027AC0: .word 0x00002345
thumb_func_start sub_02027AC4
sub_02027AC4: ; 0x02027AC4
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x14
blt _02027AD2
bl GF_AssertFail
_02027AD2:
mov r0, #0x1
ldr r1, [r5, #0x40]
lsl r0, r4
tst r0, r1
bne _02027AE0
bl GF_AssertFail
_02027AE0:
ldr r1, [r5, #0x0]
ldr r0, _02027B04 ; =0x00001234
cmp r1, r0
beq _02027AEE
ldr r0, _02027B08 ; =0x00002345
cmp r1, r0
bne _02027AF2
_02027AEE:
mov r0, #0x1
b _02027AF4
_02027AF2:
mov r0, #0x0
_02027AF4:
cmp r0, #0x0
bne _02027AFC
bl GF_AssertFail
_02027AFC:
add r5, #0x44
lsl r0, r4, #0x2
add r0, r5, r0
pop {r3-r5, pc}
.balign 4
_02027B04: .word 0x00001234
_02027B08: .word 0x00002345
thumb_func_start sub_02027B0C
sub_02027B0C: ; 0x02027B0C
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027B3C ; =0x00001234
cmp r1, r0
beq _02027B20
ldr r0, _02027B40 ; =0x00002345
cmp r1, r0
bne _02027B24
_02027B20:
mov r0, #0x1
b _02027B26
_02027B24:
mov r0, #0x0
_02027B26:
cmp r0, #0x0
bne _02027B2E
bl GF_AssertFail
_02027B2E:
add r5, #0x8
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02027C88
pop {r3-r5, pc}
nop
_02027B3C: .word 0x00001234
_02027B40: .word 0x00002345
thumb_func_start sub_02027B44
sub_02027B44: ; 0x02027B44
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027B70 ; =0x00001234
cmp r1, r0
beq _02027B56
ldr r0, _02027B74 ; =0x00002345
cmp r1, r0
bne _02027B5A
_02027B56:
mov r0, #0x1
b _02027B5C
_02027B5A:
mov r0, #0x0
_02027B5C:
cmp r0, #0x0
bne _02027B64
bl GF_AssertFail
_02027B64:
add r4, #0x8
add r0, r4, #0x0
bl sub_02027C98
pop {r4, pc}
nop
_02027B70: .word 0x00001234
_02027B74: .word 0x00002345
thumb_func_start sub_02027B78
sub_02027B78: ; 0x02027B78
push {r3-r5, lr}
sub sp, #0x10
add r5, r0, #0x0
add r4, r1, #0x0
ldr r1, [r5, #0x0]
ldr r0, _02027BD4 ; =0x00001234
cmp r1, r0
beq _02027B8E
ldr r0, _02027BD8 ; =0x00002345
cmp r1, r0
bne _02027B92
_02027B8E:
mov r0, #0x1
b _02027B94
_02027B92:
mov r0, #0x0
_02027B94:
cmp r0, #0x0
bne _02027B9C
bl GF_AssertFail
_02027B9C:
mov r1, #0x1
str r1, [sp, #0x0]
ldr r0, [r5, #0x8]
mov r2, #0x0
str r0, [sp, #0x4]
str r1, [sp, #0x8]
ldr r0, [r5, #0xc]
add r3, r2, #0x0
str r0, [sp, #0xc]
ldrh r1, [r5, #0x10]
add r0, r4, #0x0
bl CreateMon
add r2, r5, #0x0
add r0, r4, #0x0
mov r1, #0x74
add r2, #0x12
bl SetMonData
add r5, #0x3b
add r0, r4, #0x0
mov r1, #0x70
add r2, r5, #0x0
bl SetMonData
add sp, #0x10
pop {r3-r5, pc}
nop
_02027BD4: .word 0x00001234
_02027BD8: .word 0x00002345
thumb_func_start sub_02027BDC
sub_02027BDC: ; 0x02027BDC
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x14
blt _02027BEA
bl GF_AssertFail
_02027BEA:
mov r0, #0x1
ldr r1, [r5, #0x40]
lsl r0, r4
tst r0, r1
bne _02027BF8
bl GF_AssertFail
_02027BF8:
ldr r1, [r5, #0x0]
ldr r0, _02027C20 ; =0x00001234
cmp r1, r0
beq _02027C06
ldr r0, _02027C24 ; =0x00002345
cmp r1, r0
bne _02027C0A
_02027C06:
mov r0, #0x1
b _02027C0C
_02027C0A:
mov r0, #0x0
_02027C0C:
cmp r0, #0x0
bne _02027C14
bl GF_AssertFail
_02027C14:
add r5, #0x44
lsl r0, r4, #0x2
add r0, r5, r0
bl sub_02027CF8
pop {r3-r5, pc}
.balign 4
_02027C20: .word 0x00001234
_02027C24: .word 0x00002345
thumb_func_start sub_02027C28
sub_02027C28: ; 0x02027C28
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027C50 ; =0x00001234
cmp r1, r0
beq _02027C3A
ldr r0, _02027C54 ; =0x00002345
cmp r1, r0
bne _02027C3E
_02027C3A:
mov r0, #0x1
b _02027C40
_02027C3E:
mov r0, #0x0
_02027C40:
cmp r0, #0x0
bne _02027C48
bl GF_AssertFail
_02027C48:
add r4, #0x94
ldrb r0, [r4, #0x0]
pop {r4, pc}
nop
_02027C50: .word 0x00001234
_02027C54: .word 0x00002345
thumb_func_start sub_02027C58
sub_02027C58: ; 0x02027C58
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, _02027C7C ; =0x00001234
cmp r1, r0
beq _02027C6A
ldr r0, _02027C80 ; =0x00002345
cmp r1, r0
bne _02027C6E
_02027C6A:
mov r0, #0x1
b _02027C70
_02027C6E:
mov r0, #0x0
_02027C70:
cmp r0, #0x0
bne _02027C78
bl GF_AssertFail
_02027C78:
ldr r0, [r4, #0x4]
pop {r4, pc}
.balign 4
_02027C7C: .word 0x00001234
_02027C80: .word 0x00002345
thumb_func_start sub_02027C84
sub_02027C84: ; 0x02027C84
ldrh r0, [r0, #0x8]
bx lr
thumb_func_start sub_02027C88
sub_02027C88: ; 0x02027C88
add r2, r0, #0x0
ldr r3, _02027C94 ; =CopyU16ArrayToString
add r2, #0x20
add r0, r1, #0x0
add r1, r2, #0x0
bx r3
.balign 4
_02027C94: .word CopyU16ArrayToString
thumb_func_start sub_02027C98
sub_02027C98: ; 0x02027C98
add r0, #0x34
ldrb r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02027CA0
sub_02027CA0: ; 0x02027CA0
mov r1, #0x30
ldrsb r0, [r0, r1]
bx lr
.balign 4
thumb_func_start sub_02027CA8
sub_02027CA8: ; 0x02027CA8
add r0, #0x31
ldrb r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02027CB0
sub_02027CB0: ; 0x02027CB0
add r0, #0x32
ldrb r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start sub_02027CB8
sub_02027CB8: ; 0x02027CB8
push {r3-r5, lr}
sub sp, #0x10
add r4, r1, #0x0
mov r1, #0x1
add r5, r0, #0x0
str r1, [sp, #0x0]
ldr r0, [r5, #0x0]
mov r2, #0x0
str r0, [sp, #0x4]
str r1, [sp, #0x8]
ldr r0, [r5, #0x4]
add r3, r2, #0x0
str r0, [sp, #0xc]
ldrh r1, [r5, #0x8]
add r0, r4, #0x0
bl CreateMon
add r2, r5, #0x0
add r0, r4, #0x0
mov r1, #0x74
add r2, #0xa
bl SetMonData
add r5, #0x33
add r0, r4, #0x0
mov r1, #0x70
add r2, r5, #0x0
bl SetMonData
add sp, #0x10
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_02027CF8
sub_02027CF8: ; 0x02027CF8
ldrb r0, [r0, #0x0]
bx lr
thumb_func_start sub_02027CFC
sub_02027CFC: ; 0x02027CFC
ldrb r0, [r0, #0x1]
bx lr
thumb_func_start sub_02027D00
sub_02027D00: ; 0x02027D00
ldrb r0, [r0, #0x2]
bx lr
thumb_func_start sub_02027D04
sub_02027D04: ; 0x02027D04
mov r1, #0x3
ldrsb r0, [r0, r1]
bx lr
.balign 4
thumb_func_start sub_02027D0C
sub_02027D0C: ; 0x02027D0C
push {r4-r7, lr}
sub sp, #0x1fc
sub sp, #0x1fc
sub sp, #0xc
add r7, r0, #0x0
mov r0, #0x1
add r4, r1, #0x0
str r0, [sp, #0x0]
add r0, r4, #0x0
bl sub_0202729C
cmp r0, #0x1
bne _02027D6A
ldr r1, _02027D78 ; =0xEDB88320
add r0, sp, #0x4
bl MATHi_CRC32InitTableRev
add r0, sp, #0x4
add r1, r4, #0x0
mov r2, #0x74
bl MATH_CalcCRC32
add r6, r0, #0x0
mov r5, #0x0
_02027D3C:
add r0, r7, #0x0
add r1, r5, #0x0
bl sub_02027008
add r4, r0, #0x0
ldr r1, _02027D78 ; =0xEDB88320
add r0, sp, #0x4
bl MATHi_CRC32InitTableRev
add r0, sp, #0x4
add r1, r4, #0x0
mov r2, #0x74
bl MATH_CalcCRC32
cmp r0, r6
bne _02027D62
mov r0, #0x0
str r0, [sp, #0x0]
b _02027D6E
_02027D62:
add r5, r5, #0x1
cmp r5, #0xb
blt _02027D3C
b _02027D6E
_02027D6A:
mov r0, #0x0
str r0, [sp, #0x0]
_02027D6E:
ldr r0, [sp, #0x0]
add sp, #0x1fc
add sp, #0x1fc
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_02027D78: .word 0xEDB88320
thumb_func_start sub_02027D7C
sub_02027D7C: ; 0x02027D7C
push {r4-r7, lr}
sub sp, #0xc
str r0, [sp, #0x0]
mov r7, #0x0
ldr r0, [sp, #0x0]
str r1, [sp, #0x4]
add r5, r2, #0x0
add r6, r7, #0x0
str r3, [sp, #0x8]
cmp r0, #0x0
ble _02027DB6
add r4, r3, #0x0
_02027D94:
ldr r0, [sp, #0x4]
cmp r6, r0
beq _02027DAC
ldr r1, [r4, #0x0]
cmp r1, #0x0
beq _02027DAC
add r0, r5, #0x0
bl sub_02027D0C
cmp r0, #0x1
bne _02027DAC
add r7, r7, #0x1
_02027DAC:
ldr r0, [sp, #0x0]
add r6, r6, #0x1
add r4, r4, #0x4
cmp r6, r0
blt _02027D94
_02027DB6:
mov r4, #0xa
_02027DB8:
add r1, r4, r7
cmp r1, #0xb
bge _02027DD6
add r0, r5, #0x0
bl sub_02027008
add r6, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02027008
add r1, r0, #0x0
add r0, r6, #0x0
bl sub_020274B8
_02027DD6:
sub r4, r4, #0x1
cmp r4, #0x1
bge _02027DB8
ldr r0, [sp, #0x0]
mov r6, #0x1
mov r4, #0x0
cmp r0, #0x0
ble _02027E1E
_02027DE6:
ldr r0, [sp, #0x4]
cmp r4, r0
beq _02027E10
ldr r0, [sp, #0x8]
ldr r7, [r0, #0x0]
cmp r7, #0x0
beq _02027E10
add r0, r5, #0x0
add r1, r7, #0x0
bl sub_02027D0C
cmp r0, #0x1
bne _02027E10
add r0, r5, #0x0
add r1, r6, #0x0
bl sub_02027008
add r1, r7, #0x0
add r6, r6, #0x1
bl sub_020274B8
_02027E10:
ldr r0, [sp, #0x8]
add r4, r4, #0x1
add r0, r0, #0x4
str r0, [sp, #0x8]
ldr r0, [sp, #0x0]
cmp r4, r0
blt _02027DE6
_02027E1E:
add sp, #0xc
pop {r4-r7, pc}
.balign 4
thumb_func_start Save_FashionData_Get
Save_FashionData_Get: ; 0x02027E24
ldr r3, _02027E2C ; =SaveArray_Get
mov r1, #0xe
bx r3
nop
_02027E2C: .word SaveArray_Get